📄 ctextdrawer.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 + -