⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ctextdrawer.cpp

📁 Symbian手机游戏,可运行于S60 1.x和2.x下, Carbide.C++ & Vs.Net2003下编译 游戏为吞食鱼的手机版,通过服用比自己体积小的鱼而使自己长大
💻 CPP
字号:
#include "CTextDrawer.h"
#include "CBitmap.h"
#include <eikenv.h>

CTextDrawer::CTextDrawer()
{
}

CTextDrawer::~CTextDrawer()
{
	delete iBufferImage;
	delete iBufferGc;
	delete iBufferDevice;
	iBitmap->Destroy();
	delete iBitmap;
}

void CTextDrawer::ConstructL()
{
	TDisplayMode displayMode = CEikonEnv::Static()->ScreenDevice()->DisplayMode();
    iBufferImage = new (ELeave) CFbsBitmap;
    User::LeaveIfError( iBufferImage->Create( TSize( 176, 15 ), 
											  displayMode));
    // Create bitmap device for the bitmap
    iBufferDevice = CFbsBitmapDevice::NewL(iBufferImage);
    // Create graphics context for the bitmap
    User::LeaveIfError( iBufferDevice->CreateContext( iBufferGc ) );
	iBufferGc->SetBrushColor( KRgbBlack );
	iBufferGc->SetBrushStyle( CGraphicsContext::ESolidBrush );
	iBufferGc->SetPenStyle( CGraphicsContext::ESolidPen );
	iBitmap = CBitmap::NewL( (TUint16*)iBufferImage->DataAddress(), 
										    iBufferImage->SizeInPixels(), 
										    iBufferImage->DisplayMode());
	iBitmap->SetMaskColor( 0 );
}

CTextDrawer* CTextDrawer::NewL()
{
	CTextDrawer* self = new (ELeave) CTextDrawer;
	CleanupStack::PushL( self );
	self->ConstructL();
	CleanupStack::Pop();
	return self;
}

void CTextDrawer::DrawText( const TDesC& aText, CBitmap& aTarget, TPoint aPosition )
{
//	iBufferGc->Clear();
	//iBufferGc->DrawText( aText, TPoint(0, 5) );
	iBufferGc->DrawLine(TPoint(0,0), TPoint(5,5));
	iBitmap->Draw( aTarget, aPosition );
}

void CTextDrawer::UserFont( const CFont* aFont )
{
	iBufferGc->UseFont( aFont );
}

void CTextDrawer::DiscardFont()
{
	iBufferGc->DiscardFont();
}

void CTextDrawer::SetPenColor( TRgb aColor )
{
	iBufferGc->SetPenColor( aColor );
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -