diff -r 000000000000 -r bde4ae8d615e os/graphics/graphicsdeviceinterface/bitgdi/tbit/TClip.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/graphics/graphicsdeviceinterface/bitgdi/tbit/TClip.h Fri Jun 15 03:10:57 2012 +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_