--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicsdeviceinterface/bitgdi/tbit/TClip.h Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,182 @@
+// Copyright (c) 2003-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:
+//
+
+#ifndef __TCLIP_H__
+#define __TCLIP_H__
+
+#include "TGraphicsHarness.h"
+
+#define testtext _L("Test text")
+#define largetesttext _L("W")
+
+class CTClipStep;
+
+class CTClip : public CTGraphicsBase
+ {
+public:
+ enum TGraphicsOps
+ {
+ EFirstGop,
+ EPlot,
+ EDrawLine,
+ EDottedLine,
+ EDashedLine,
+ EWideLine,
+ EDrawArc,
+ EDottedArc,
+ EDrawRect,
+ EVerticalHatchRect,
+ EForwardDiagonalHatchRect,
+ EHorizontalHatchRect,
+ ERearwardDiagonalHatchRect,
+ ESquareCrossHatchRect,
+ EDiamondCrossHatchRect,
+ EVerticalHatchEllipse,
+ EForwardDiagonalHatchEllipse,
+ EHorizontalHatchEllipse,
+ ERearwardDiagonalHatchEllipse,
+ ESquareCrossHatchEllipse,
+ EDiamondCrossHatchEllipse,
+ EDottedRect,
+ ECopyRect,
+ EDrawEllipse,
+ EDottedEllipse,
+ EDrawRoundRect,
+ EDottedRoundRect,
+ EDrawPie,
+ EDottedPie,
+ EDrawPolygon,
+ EDrawText,
+ EBoxText,
+ EDrawTextVertical,
+ ELargeText,
+ ELargeBoxText,
+ ELargeTextVertical,
+ EPaintRect,
+ EBitBltContext,
+ EBitBltBitmap,
+ EBitBltMasked,
+ EDrawBitmap,
+ EBitmapLarge,
+ EBitmapSmall,
+ EBitBltMaskedBinary,
+ EBitBltMaskedBinary64K,
+ EBitBltMaskedBinary16MU,
+ EBitBltMaskedAlpha,
+ EBitBltMaskedAlpha64K,
+ EBitBltMaskedAlpha16MU,
+ EBitBltMaskedAlpha16MA,
+ EBitBltMaskedBinary16MA,
+ EGraphicsOps,
+ ETerminator
+ };
+ enum TTestConsts
+ {
+ ERegions=10
+ };
+ enum TColors
+ {
+ EForeground=0,
+ EBackground=0xff
+ };
+public:
+ CTClip(CTestStep* aStep,
+ TInt aTestAppNo,
+ CFbsScreenDevice* aDev,
+ CFbsBitGc* aCon,
+ CFbsBitmap* aBmp,
+ CFbsFont* aFont,
+ CFbsFont* aLargeFont);
+ ~CTClip();
+ void TestRectRgn();
+ void TestHoriRgn();
+ void TestVertRgn();
+ void TestSimpleRgn();
+ void TestComplexRgn();
+ void ScanArea(TInt,TInt,TInt,TInt);
+ void CheckInside(const TRect&,const TRect&);
+ void Clear();
+protected:
+//from CTGraphicsStep
+ virtual void RunTestCaseL(TInt aCurTestCase);
+ void ConstructL();
+private:
+ void DrawToScreen(TRegion& aClipReg,TRect aRect);
+ void DrawToScreen(const TRect& aClipRect,TRect aRect);
+ void DoDraw(TRect aRect,TBool aClipped);
+ void Message(const TDesC& aMessage);
+ TBool SetUpTest(TInt &aTestMode);
+ inline CTClipStep* Step();
+private:
+ TInt iTestAppNo;
+ CFbsScreenDevice* iDev;
+ CFbsBitGc* iCon;
+ TRect iClientRect;
+ TInt iGopNum;
+ TRect* iClipList;
+ TInt iTestSection;
+ CFbsBitmap* iBitmap;
+ CFbsBitmap* iBitmap64K;
+ CFbsBitmap* iBitmap16MU;
+ CFbsBitmap* iBitmap16MA;
+ CFbsBitmap* iBitmapMask;
+ CFbsBitmap* iBitmapAlpha;
+ CFbsFont* iFont;
+ CFbsFont* iLargeFont;
+ TSize iBmpSize;
+ };
+
+GLREF_C void CreateTestEnvironment(CFbsScreenDevice*& aDev, CFbsBitGc*& aGc,
+ CFbsFont*& aFont, CFbsFont*& aLargeFont);
+GLREF_C void DestroyTestEnvironment(CFbsScreenDevice* aDev, CFbsBitGc* aGc,
+ CFbsFont* aFont, CFbsFont* aLargeFont);
+
+
+class CTClipStep : public CTGraphicsStep
+ {
+public:
+ CTClipStep();
+ ~CTClipStep();
+ inline TBool IgnoreDiffs();
+protected:
+ //from CTGraphicsStep
+ virtual CTGraphicsBase* CreateTestL();
+ virtual void TestSetupL();
+ virtual void TestClose();
+private:
+ TInt CreateScreenDevice(TDisplayMode aMode);
+ void CreateTestEnvironment();
+ void DestroyTestEnvironment();
+protected:
+ TInt iTestAppNo;
+private:
+ CFbsScreenDevice* iDev;
+ CFbsBitGc* iGc;
+ CFbsFont* iFont;
+ CFbsFont* iLargeFont;
+ CFbsBitmap* iBmp;
+ TBool iIgnoreDiffs;
+ };
+
+class CTClip2Step : public CTClipStep
+ {
+public:
+ CTClip2Step();
+ };
+
+_LIT(KTClipStep,"TClip");
+_LIT(KTClip2Step,"TClip2");
+
+#endif//__TCLIP_H_