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