fbs/fontandbitmapserver/tfbs/TBitmap.h
changeset 0 5d03bc08d59c
child 11 fed1595b188e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fbs/fontandbitmapserver/tfbs/TBitmap.h	Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,155 @@
+// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// This file contains test bitmap file names for TBitmap test app.
+// 
+//
+
+#ifndef __TBITMAP_H__
+#define __TBITMAP_H__
+
+#include <gdi.h>
+#include "TFBS.H"
+#include "TGraphicsHarness.h"
+#include "../sfbs/fbsbitmapasyncstreamer.h"
+
+//The main test class. Add your test methods here.
+class CTBitmap : public CTGraphicsBase
+	{
+public:
+	CTBitmap(CTestStep* aStep);
+	~CTBitmap();
+	void DeleteScanLineBuffer();
+protected:
+//from 	CTGraphicsStep
+	virtual void RunTestCaseL(TInt aCurTestCase);
+
+private:
+	void CheckScanlineL();
+	void StreamBitmap();
+	void StreamRectangle();
+	void GetScanline();
+	void SetScanline();
+	void StretchScanline();
+	void LoadInSegments();
+	void SaveInSegments();
+	void MonoDetect();
+	void ChunkPileL();
+	void LargeBitmaps();
+	void HugeBitmaps();
+	void Resize();
+	void BitmapUtil();
+	void BitmapTiming();
+	void InvalidBitmap();
+	void SaveAndLoad();
+	void SaveAndLoadFast();
+	void Color256BitmapUtil();
+	void HardwareBitmaps();
+	void Compress();
+	void INC036062L();
+	void PerformanceTest_INC036062L();
+	void INC037474L();
+	void DEF038286L();
+	void DEF038286_2L();
+	void MonohromeL();
+	void GetVerticalScanLineL();
+	void GetVerticalScanLinePerformanceL();
+	void TwoComprLines();
+	void DEF071843_16MAL();
+	void DEF071843_16MUL();
+	void DEF071843_16ML();
+	void DEF074623_16MAL();
+#ifdef _DEBUG
+	void DEF095361_16MAL();
+#endif	
+	void TestPaletteCompressionL() ;
+	void TestSynchronousBackgroundPaletteCompressionL() ;
+	void TestAsynchronousBackgroundPaletteCompressionL() ;
+	void CompareColourLikeness(const TRgb& aSrc, const TRgb& aDest, TInt aDifference=0);
+	void GetAllBitmapsIdsL();
+	void CheckBadBmp();
+	void CheckSetDisplayModeL();
+	void MultiThreadedTestsL();
+	void MultiThreadedResizeTestL();
+	void MultiThreadedCompressTestL();
+	void DoMultiThreadedTestL(const TDesC& aThreadName, TInt (*aBitmapFunction)(CFbsBitmap*), TBool (*aCheckFunction)(const CFbsBitmap*));
+#ifdef SYMBIAN_DEBUG_FBS_LOCKHEAP
+	void MultiThreadedLockHeapTestL();
+#endif
+	void TestBgCompressL();
+	void TestBgCompressInUseL();
+	void TestDisconnectWithBitmapL();
+	void TestTouchedAndVolatileL();
+	void TestBitmapWhiteFillL();
+private:
+	void DoStreamBitmapSizes(TDisplayMode aDispMode);
+	void DoStreamBitmap(const TSize& aSize,TDisplayMode aDispMode,TBool aBlank);
+	void DoStreamRectangle(TDisplayMode aDispMode,TBool aBlank);
+	void DoGetScanline(const TSize& aSize,TDisplayMode aDispMode);
+	void DoGetScanlineCheck1(CFbsBitmap& aBitmap,CFbsBitmap& aReference,const TSize& aSize,TDisplayMode aDispMode);
+	void DoGetScanlineCheck2(CFbsBitmap& aBitmap,CFbsBitmap& aReference,const TSize& aSize,TDisplayMode aDispMode);
+	void DoGetScanlineCheck3(CFbsBitmap& aBitmap,TDisplayMode aDispMode);
+	void DoGetScanlineAlt(TDisplayMode aDispMode);
+	void DoSetScanline(TDisplayMode aDispMode);
+	void DoStretchScanline(const TSize& aSize,TDisplayMode aDispMode);
+	void DoMonoDetect(TDisplayMode aDisplayMode);
+	void DoLargeBitmaps(const TSize& aSize,TDisplayMode aDisplayMode);
+	void DoHugeBitmaps(const TSize& aSize,TDisplayMode aDisplayMode);
+	void DoResize(TDisplayMode aDispMode);
+	void DoBitmapUtil(const TSize& aSize,TDisplayMode aDispMode);
+	void DoSaveAndLoad(const TSize& aSize,TDisplayMode aDispMode,TBool aBlank);
+	void FuzzyCompareBitmapsColor256(CFbsBitmapEx& aBmp1,CFbsBitmapEx& aBmp2,TUint aDifLimit=7);
+	void CheckScanLine(CFbsBitmapEx& aBitmap,CFbsBitmapEx& aReference,TDisplayMode aDispMode);
+	void CheckWhite(TUint8* aData,TInt aDataLength,TDisplayMode aDispMode);
+	void CompareBitmaps(CFbsBitmapEx& aBmp1,CFbsBitmapEx& aBmp2,TDisplayMode aDispMode);
+	void DoCompareBitmaps(CFbsBitmapEx& aBmp1,CFbsBitmapEx& aBmp2,TDisplayMode aDispMode, TPoint aLineOrigin, TSize aBmpSize);
+	void CopyBitmap(CFbsBitmapEx& aBmp1,const CFbsBitmapEx& aBmp2);
+	void BlankBitmap(CFbsBitmapEx& aBitmap);
+	void FillBitmap(CFbsBitmapEx& aBitmap);
+	void StripeBitmap(CFbsBitmapEx& aBitmap);
+	TRgb ExtractRgb(TUint8* aBuffer,TInt aPixelOffset,TDisplayMode aDispMode);
+
+	static TInt BmpLoadCallBack(TAny* aPtr);
+	static TInt BmpSaveCallBack(TAny* aPtr);
+	CFbsBitmap* CreateBitmapLC(const TSize& aSize, TDisplayMode aMode);
+	CFbsBitmap* CreateBitmapLC(const TSize& aSize, TDisplayMode aMode, const CFbsBitmap* aSrcBmp);
+	CFbsBitmap* LoadBitmapLC(const TDesC& aFileName);
+	void LoadAndCompressBitmapLC(CFbsBitmap*& aBmp, const TDesC& aBmpFile);
+	void LoadAndNotCompressBitmapLC(CFbsBitmap*& aBmp, const TDesC& aBmpFile);
+	void TestAssortedBPPandColourDepthL(const TDesC& aFilename, RFbsSession* aFbs);
+	void DoStretchScanline(const TSize& aSize,TDisplayMode aSrcMode, TDisplayMode aDstMode, TBool aUseCompareLikeness);
+	TInt ColorDifference(TDisplayMode aMode,TInt aAlpha=0xff);
+private:
+	CFbsBitmapAsyncStreamer* iBmpHandler;
+	CFbsBitmap* iBitmap;
+	CActiveScheduler* iAs;
+	RFs iFs;
+	TFileName iTestBitmapName;
+	TBool iSkipRomBitmapTests;
+	};
+
+
+class CTBitmapStep : public CTGraphicsStep
+	{
+public:
+	CTBitmapStep();
+protected:	
+	//from CTGraphicsStep
+	virtual CTGraphicsBase* CreateTestL();
+	virtual void TestSetupL();
+	virtual void TestClose();
+	};
+
+_LIT(KTBitmapStep,"TBitmap");
+
+#endif//__TBITMAP_H__