📄 map.cpp
字号:
// Map.cpp: implementation of the CMap class.
//
//////////////////////////////////////////////////////////////////////
#include "Map.h"
#include "llk.mbg" // from EMbmLlk1
#include "aknutils.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CMap::CMap(CData* aData,TInt aW,TInt aH,TDesC& aFileName,TInt aNum,TInt aLen)
{
iData=aData;
iW=aW;
iH=aH;
iLen=aLen;
iFileName=new TBuf<30>;
iFileName->Copy(aFileName);
iMapNum=aNum;
InitMap();
UpdateGc();
}
CMap::~CMap()
{
for(int m=0;m<iMapNum;m++)
{
delete iFace[m];
}
delete iFace;
delete iMap;
delete iDevice;
delete iGc;
delete iFileName;
}
void CMap::InitMap()
{
TFileName fn(*iFileName);
CompleteWithAppPath(fn); //得到全路径。
iFace=new(ELeave) CFbsBitmap*[iMapNum];
for(int m=0;m<iMapNum;m++)
{
iFace[m]=new(ELeave)CFbsBitmap;
iFace[m]->Load(fn,EMbmLlk1+m);
}
iMap=new(ELeave)CFbsBitmap;
iMap->Create(TSize(176,208),EColor4K);
iDevice=CFbsBitmapDevice::NewL(iMap);
iDevice->CreateContext(iGc);
}
void CMap::UpdateGc()
{
iGc->SetBrushColor(TRgb(200,230,170));
iGc->SetBrushStyle(CGraphicsContext::ESolidBrush);
iGc->Clear();
for(int m=0;m<iW;m++)
{
for(int n=0;n<iH;n++)
{
int k=iData->iData[m][n];
if(k)
iGc->BitBlt(TPoint(m*iLen,n*iLen),iFace[k-1]);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -