📄 bitmapbasiccontainer.cpp
字号:
/*
* ============================================================================
* Name : CBitmapBasicContainer from BitmapBasicContainer.h
* Part of : BitmapBasic
* Created : 30.01.2006 by ToBeReplacedByAuthor
* Implementation notes:
* Initial content was generated by Series 60 Application Wizard.
* Version :
* Copyright: ToBeReplacedByCopyright
* ============================================================================
*/
// INCLUDE FILES
#include <eikenv.h>
#include <eikappui.h>
#include <eikapp.h>
#include <BitmapBasic.mbg>
#include "BitmapBasicContainer.h"
// ================= MEMBER FUNCTIONS =======================
// ---------------------------------------------------------
// CBitmapBasicContainer::ConstructL(const TRect& aRect)
// EPOC two phased constructor
// ---------------------------------------------------------
//
void CBitmapBasicContainer::ConstructL(const TRect& aRect)
{
CreateWindowL();
CEikonEnv* eikonEnv = CEikonEnv::Static();
TFileName mbmFile = eikonEnv->EikAppUi()->Application()->BitmapStoreName();
iBitmap = new (ELeave) CFbsBitmap;
User::LeaveIfError(iBitmap->Load(mbmFile, EMbmBitmapbasicFace));
iMask = eikonEnv->CreateBitmapL(mbmFile, EMbmBitmapbasicFacemask);
iDrawMethod = EDrawBitmap;
SetRect(aRect);
ActivateL();
}
// Destructor
CBitmapBasicContainer::~CBitmapBasicContainer()
{
delete iBitmap;
delete iMask;
}
void CBitmapBasicContainer::DrawBitmap()
{
iDrawMethod = EDrawBitmap;
DrawDeferred();
}
void CBitmapBasicContainer::BitBlt()
{
iDrawMethod = EBitBlt;
DrawDeferred();
}
void CBitmapBasicContainer::SaveL()
{
_LIT(KMbmBitmapFace, "c:\\face.mbm");
User::LeaveIfError(iBitmap->Save(KMbmBitmapFace));
}
// ---------------------------------------------------------
// CBitmapBasicContainer::Draw(const TRect& aRect) const
// ---------------------------------------------------------
//
void CBitmapBasicContainer::Draw(const TRect&/* aRect*/) const
{
CWindowGc& gc = SystemGc();
gc.SetBrushColor(KRgbGray);
gc.Clear();
if(iDrawMethod==EDrawBitmap)
{
TPoint pos(8, 56);
TSize size(32, 32);
gc.DrawBitmap(TRect(pos, size), iBitmap);
pos.SetXY(48, 48);
size.SetSize(48, 48);
gc.DrawBitmap(TRect(pos, size), iBitmap);
pos.SetXY(104, 40);
size.SetSize(64, 64);
gc.DrawBitmap(TRect(pos, size), iBitmap);
}
else
{
TPoint pos(8, 48);
gc.BitBlt(pos, iBitmap);
pos.SetXY(64, 48);
gc.BitBlt(pos, iMask);
pos.SetXY(120, 48);
TRect rect(TPoint(0,0), TSize(48, 48));
gc.BitBltMasked(pos, iBitmap, rect, iMask, ETrue);
}
}
// End of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -