First public contribution.
1 // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
19 #include "TGraphicsHarness.h"
21 #define testtext _L("Test text")
22 #define largetesttext _L("W")
26 class CTClip : public CTGraphicsBase
41 EForwardDiagonalHatchRect,
43 ERearwardDiagonalHatchRect,
44 ESquareCrossHatchRect,
45 EDiamondCrossHatchRect,
46 EVerticalHatchEllipse,
47 EForwardDiagonalHatchEllipse,
48 EHorizontalHatchEllipse,
49 ERearwardDiagonalHatchEllipse,
50 ESquareCrossHatchEllipse,
51 EDiamondCrossHatchEllipse,
75 EBitBltMaskedBinary64K,
76 EBitBltMaskedBinary16MU,
78 EBitBltMaskedAlpha64K,
79 EBitBltMaskedAlpha16MU,
80 EBitBltMaskedAlpha16MA,
81 EBitBltMaskedBinary16MA,
95 CTClip(CTestStep* aStep,
97 CFbsScreenDevice* aDev,
101 CFbsFont* aLargeFont);
106 void TestSimpleRgn();
107 void TestComplexRgn();
108 void ScanArea(TInt,TInt,TInt,TInt);
109 void CheckInside(const TRect&,const TRect&);
112 //from CTGraphicsStep
113 virtual void RunTestCaseL(TInt aCurTestCase);
116 void DrawToScreen(TRegion& aClipReg,TRect aRect);
117 void DrawToScreen(const TRect& aClipRect,TRect aRect);
118 void DoDraw(TRect aRect,TBool aClipped);
119 void Message(const TDesC& aMessage);
120 TBool SetUpTest(TInt &aTestMode);
121 inline CTClipStep* Step();
124 CFbsScreenDevice* iDev;
131 CFbsBitmap* iBitmap64K;
132 CFbsBitmap* iBitmap16MU;
133 CFbsBitmap* iBitmap16MA;
134 CFbsBitmap* iBitmapMask;
135 CFbsBitmap* iBitmapAlpha;
137 CFbsFont* iLargeFont;
141 GLREF_C void CreateTestEnvironment(CFbsScreenDevice*& aDev, CFbsBitGc*& aGc,
142 CFbsFont*& aFont, CFbsFont*& aLargeFont);
143 GLREF_C void DestroyTestEnvironment(CFbsScreenDevice* aDev, CFbsBitGc* aGc,
144 CFbsFont* aFont, CFbsFont* aLargeFont);
147 class CTClipStep : public CTGraphicsStep
152 inline TBool IgnoreDiffs();
154 //from CTGraphicsStep
155 virtual CTGraphicsBase* CreateTestL();
156 virtual void TestSetupL();
157 virtual void TestClose();
159 TInt CreateScreenDevice(TDisplayMode aMode);
160 void CreateTestEnvironment();
161 void DestroyTestEnvironment();
165 CFbsScreenDevice* iDev;
168 CFbsFont* iLargeFont;
173 class CTClip2Step : public CTClipStep
179 _LIT(KTClipStep,"TClip");
180 _LIT(KTClip2Step,"TClip2");