예제 #1
0
result JMChattControl::OnDraw(void)
{
	result r = E_SUCCESS;


	if( __pCanvasMain == null )
		__pCanvasMain = GetCanvasN();


	__stScreenInfo.rtScreenNow = this->GetBounds();

	if( __stScreenInfo.nSlideDistance != 0 ) {

		__stScreenInfo.nViewAreaBottom += __stScreenInfo.nSlideDistance;

		FilteringViewAreaValue();
	}


	__stScreenInfo.nViewAreaTop = __stScreenInfo.nViewAreaBottom - __stScreenInfo.rtScreenNow.height;
	if( __stScreenInfo.nViewAreaTop < 0 )
		__stScreenInfo.nViewAreaTop = 0;

	if( __pCanvasBack ) {
		__pCanvasMain->Copy(Point(__stScreenInfo.rtScreen.x,__stScreenInfo.rtScreen.y), *__pCanvasBack, __stScreenInfo.rtScreen);
	}


	DrawChattData(__pCanvasMain);

	if( __stScreenInfo.nSlideDistance != 0 ) {

		__stScreenInfo.nSlideDistance = 0;
	}

	return r;
}
예제 #2
0
result BaseWordForm::OnDraw(void)
{
	result r = Form::OnDraw();
	Rectangle bound = GetBounds();
	Canvas * canvas = GetCanvasN(bound);

	if (!__pBGLogo)
		__pBGLogo = Utils::GetBitmapN("bg_logo.png");

	int x = bound.width / 2 - (__pBGLogo->GetWidth() / 2);
	int y = bound.height - __pBGLogo->GetHeight() - 15;

	Footer * footer = GetFooter();
	if (footer)
	{
		y -= footer->GetHeight();
	}

	canvas->DrawBitmap(Point(x, y), *__pBGLogo);

	delete canvas;

	return r;
}