diff -r 2717213c588a -r 171fae344dd4 windowing/windowserver/tauto/TREDRAW.H --- a/windowing/windowserver/tauto/TREDRAW.H Tue Jun 22 15:21:29 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,239 +0,0 @@ -// Copyright (c) 1996-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: -// - -/** - @file - @test - @internalComponent - Internal Symbian test code -*/ - -#ifndef __TREDRAW_H__ -#define __TREDRAW_H__ - -#include -#include -#include "../tlib/testbase.h" -#include "AUTO.H" -#include "TScreenModeScaling.h" -#include "TGraphicsHarness.h" - -class CTRedrawTest; - -/** - * Abstract base class to draw a pattern into a window. - * - * This provides a default Draw() implementation which - * DOES NOT set the clipping region before drawing. - */ -class CRedrawWindow : public CTWin - { - friend class CTRedrawTest; -public: - enum TDrawPattern - { - EDrawGraphPaperlHatched = 0, - EDrawSlantingHatched, - EDrawCenteredRectangle - }; -public: - CRedrawWindow(CTRedrawTest* aTest); - ~CRedrawWindow(); -public: - /* - * Draw the window, counting the number of calls. - * @post DrawRequests() returns a value increased by 1. - */ - virtual void Reset(); - virtual void PrepareInvalidation(const TRect& aRect) = 0; - virtual void PerformInvalidation() = 0; - //Virtual function from CTBaseWin - void Draw(); -public: - void ActivateAndDraw(TInt aPattern); - void DrawPattern(TInt aPattern); - void VisibleRegion(RRegion& aRegion); - void ValidateAndClear(); - void ActivateAndDraw(TInt aPattern,TRegion* aRegion); - TInt DrawRequests() const; -protected: - void ReceivedDrawRequest(); - TPoint iOffset; - RRegion iInvalid; - CTRedrawTest *iTest; -private: - TInt iDrawRequests; - }; - -/** - * Concrete class to draw a pattern into a window. - * - */ -class CReferenceComparisonRedrawWindow : public CRedrawWindow - { -public: - CReferenceComparisonRedrawWindow(CTRedrawTest* aTest); -public: - // from CRedrawWindow - void PrepareInvalidation(const TRect& aRect); - void PerformInvalidation(); - }; - -class CRedrawWindow2 : public CRedrawWindow - { -public: - CRedrawWindow2(CTRedrawTest* aTest); -public: - //Virtual function from CTBaseWin overridden in CRedrawWindow - void Draw(); - //Virtual function from CRedrawWindow - void Reset(); - // from CRedrawWindow - void PrepareInvalidation(const TRect& aRect); - void PerformInvalidation(); -private: - TBool iClipped; - }; - -class CRedrawWindow3 : public CRedrawWindow - { -public: - CRedrawWindow3(CTRedrawTest* aTest); -public: - //Virtual function from CTBaseWin overridden in CRedrawWindow - void Draw(); - // from CRedrawWindow - void PrepareInvalidation(const TRect& aRect); - void PerformInvalidation(); -public: - void SetUp1L(TPoint pos,TSize size,CTWinBase* parent,CWindowGc& aGc); - void Activate(); - void Redraw(const TRect& aRect); -protected: - TBool isActive; - }; - -class CTRedrawOrderWindow : public CTWin - { -public: - CTRedrawOrderWindow(TInt aOrder, CTRedrawTest *aTest); - static CTRedrawOrderWindow* NewLC(TInt aOrder,CTWinBase* aParent,const TPoint& aPos,const TSize& aSize,CTRedrawTest* aTest); - inline static TInt RedrawNumber() {return iRedrawNumber;} - static void ResetRedrawNumber(); - void Redraw(const TRect& aRect); - void Draw(); -private: - CTRedrawTest* iTest; - TInt iOrder; - static TInt iRedrawNumber; - }; - -class CTCheckDefectWin : public CBasicWin - { -public: - static CTCheckDefectWin *NewL(TPoint aPos,TSize aWinSize); -private: - CTCheckDefectWin(){} - }; - -class CInvalidRegionChecker : public CBase - { -public: - CInvalidRegionChecker(const CTRedrawTest& aGraphicsTest); - ~CInvalidRegionChecker(); - - TInt CheckInvalidRegions(const CTWindowGroup* aGroup); - TBool ExcludedWindow(const CTWinBase* aTWinBase) const; - TInt AddExcludedWindow(const CTWinBase* aExcludedWindow); - void RemoveExcludedWindow(const CTWinBase* aExcludedWindow); -private: - void ProcessWindowGroup(const CTWinBase* aTWinBase); - void ProcessChildWindow(const CTWinBase* aTWinBase); - void ProcessWindow(const CTWinBase* aTWinBase); -private: - TInt iInvalidRegionCount; - RPointerArray iExcludedWindowArray; - const CTRedrawTest& iGraphicsTest; - }; - -class CTRedrawTest : public CTWsGraphicsBase - { -public: - CTRedrawTest(CTestStep* aStep); - ~CTRedrawTest(); - void doDestruct(); - void ConstructL(); - void CheckRedrawWindows(); - void ProcessBaseInvalidate(); - void SetBackground(const TRgb& aRgb); - void DumpRegion(const TRegion& aRegion); - inline TInt WinContent(); - void InvalidateTestWins(const TRect& aRect); - void MoveInvalidAreaL(); - void TestGetInvalidRegionL(const CArrayFixFlat* aRectList); - void GetInvalidRegionTestsL(); - void CompareRegionsL(const TRegion& aRegion1,const TRegion& aRegion2); - void Failed(TInt aOrder); - void CheckOrderL(); - void TestRect(); - void CheckDefectINC049554L(); - void CheckDefectPDEF099892L(); - void CheckOrdinalPositionDefectL(); - void CheckDefectPDEF117784L(); - void CheckMMSDefectL(TBool aMoveBlankWindow); - void ConstructAndSetBlankWinLC(RBlankWindow& aWindow, TSize aSize, TPoint aPoint=TPoint(), - TRgb aBackgroundColor=TRgb(0,0,0)); - void ConstructWindowLC(RWindow& aWindow, TSize aSize, TPoint aPoint=TPoint(), - TRgb aBackgroundColor=TRgb(255,255,255), TBool aTransparencyByAlpha=EFalse, - TDisplayMode aDisplayMode=EColor64K); - void ActivateAndSetGc(CWindowGc& aGc, RWindow& aWindow, CGraphicsContext::TBrushStyle aBrushStyle=CGraphicsContext::ESolidBrush, TRgb aBrushColor=TRgb(0,0,0), - CGraphicsContext::TPenStyle aPenStyle=CGraphicsContext::ENullPen, TRgb aPenColor=TRgb(0,0,0)); - void DrawWin(CWindowGc& aGc, RWindow& aWin, TSize winSize, TRgb aRectColor1, TRgb aRectColor2, TInt aNewOrdinalPos=0, RWindow* aWinToMove=NULL, TBool aDrawAllPixels=EFalse); - enum TRedrawCheckType - { - ECheckRedrawActiveObjectOnly, - ECheckRedrawActiveObjectAndInvalidRegions - }; - TInt WaitForRedrawsToFinish(TRedrawCheckType aRedrawCheckType); -protected: -//from CTGraphicsStep - virtual void RunTestCaseL(TInt aCurTestCase); -private: - void ValidateAndClear(TestWindow *aWin); -private: - TSize iWinSize; - TBool iDoCheck; - TInt iRedrawNo; - CReferenceComparisonRedrawWindow *iBaseRedrawWin; - CRedrawWindow2 *iTestRedrawWin; - CBlankWindow *iBaseChildWin; - CBlankWindow *iTestChildWin; - TInt iDrawRequestsFromTestWindow; - TInt iWinContent; - CInvalidRegionChecker *iInvalidRegionChecker; - }; - -class CTRedrawTestStep : public CTGraphicsStep - { -public: - CTRedrawTestStep(); -protected: - //from CTGraphicsStep - virtual CTGraphicsBase* CreateTestL(); - }; - -_LIT(KTRedrawTestStep,"TRedrawTest"); - - -#endif