www.pudn.com > Tetris.rar > CSplash.cpp


#include  
 
#include "CSplash.h" 
#include  
 
 
// construct and destruct 
 
// NewL() 
CSplash* CSplash::NewL(CWindowGc& aGc, RWindow& aWindow) 
{ 
	CSplash* self = new (ELeave) CSplash(aGc, aWindow); 
	CleanupStack::PushL(self); 
 
	self->ConstructL(); 
 
	CleanupStack::Pop(self); 
	 
	return self; 
} 
 
CSplash::CSplash(CWindowGc&	aGc, RWindow&	aWindow)	 
	: iGc( aGc ) 
	, iWindow( aWindow ) 
{} 
 
// ~CSplash() 
CSplash::~CSplash() 
{ 
	delete ibitmap; 
	ibitmap = NULL; 
} 
 
// ConstuctL() 
void CSplash::ConstructL() 
{ 
	// load the bitmap from an .mbm file 
 
	_LIT(KPathName, "\\System\\Apps\\Tetris\\images.mbm"); 
	ibitmap = CEikonEnv::Static()->CreateBitmapL(KPathName, EMbmImagesLogo); 
 
	iCount = -11; 
} 
 
/////////////////////////////////////////////////////////////////////// 
 
// Other method 
 
// Show()	@return 1	-- keep running		else stop  
TBool CSplash::Draw() 
{ 
	if(iCount == 0) 
		User::After(1000000); 
 
	++iCount; 
 
	if(iCount < 11) 
	{ 
		iGc.Activate( iWindow ); 
		iGc.SetBrushStyle(CGraphicsContext::ESolidBrush); 
		iGc.SetBrushColor(KRgbBlack); 
		iGc.Clear(); 
		if(iCount < 0) 
			iGc.SetFadingParameters(0,  iCount*25); 
		else 
			iGc.SetFadingParameters(0, 255 - iCount*25); 
		iGc.SetFaded(ETrue); 
	 
		iGc.BitBlt(TPoint(20, 60), ibitmap); 
 
		iGc.Deactivate(); 
	} 
	else 
	{ 
		User::After(100000); 
		iGc.Activate( iWindow ); 
		iGc.SetFaded(EFalse); 
		iGc.Deactivate(); 
		iCount = -11; 
		return 0; 
	} 
 
	return 1; 
}