www.pudn.com > 2DGameAnimS60C_v1_0.zip > ImageFactory.cpp
//////////////////////////////////////////////////////////////////////// // // ImageFactory.cpp // // Copyright (c) 2003 Nokia Mobile Phones Ltd. All rights reserved. // //////////////////////////////////////////////////////////////////////// #include "ImageFactory.h" #include#include #include CImageFactory* CImageFactory::NewL(CEikonEnv& aEikonEnv, const TDesC& aImageFile) { CImageFactory* self = new (ELeave) CImageFactory(aEikonEnv); CleanupStack::PushL(self); self->ConstructL(aImageFile); CleanupStack::Pop(); return self; } CImageFactory* CImageFactory::NewLC(CEikonEnv& aEikonEnv, const TDesC& aImageFile) { CImageFactory* self = new (ELeave) CImageFactory(aEikonEnv); CleanupStack::PushL(self); self->ConstructL(aImageFile); return self; } void CImageFactory::ConstructL(const TDesC& aImageFileName) { iMbmFile = aImageFileName.AllocL(); LoadImagesL(); } CImageFactory::CImageFactory(CEikonEnv& aEikonEnv) : iEikEnv(aEikonEnv), iMbmFile(0) { } CImageFactory::~CImageFactory() { delete iMbmFile; delete iShipAnim; delete iFireAnim; delete iTileImage; delete iTileMask; } void CImageFactory::LoadImagesL() { iShipAnim = iEikEnv.CreateBitmapL(*iMbmFile, EMbmRetroblasterShipanim ); iFireAnim = iEikEnv.CreateBitmapL(*iMbmFile, EMbmRetroblasterFireanim ); iTileImage = iEikEnv.CreateBitmapL(*iMbmFile, EMbmRetroblasterTileimage ); iTileMask = iEikEnv.CreateBitmapL(*iMbmFile, EMbmRetroblasterTilemask ); } CFbsBitmap& CImageFactory::ShipAnim() const { return *iShipAnim; } CFbsBitmap& CImageFactory::FireAnim() const { return *iFireAnim; } CFbsBitmap& CImageFactory::TileImage() const { return *iTileImage; } CFbsBitmap& CImageFactory::TileMask() const { return *iTileMask; }