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; 
	}