diff -r 2717213c588a -r 171fae344dd4 windowing/windowserver/tauto/TREDRSTR.H --- a/windowing/windowserver/tauto/TREDRSTR.H Tue Jun 22 15:21:29 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,363 +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 __TREDRSTR_H__ -#define __TREDRSTR_H__ - -#include -#include -#include "../../tlib/testbase.h" -#include "AUTO.H" -#include "TGraphicsHarness.h" -#include "TScreenModeScaling.h" - - -class CRedrawStoreWin; -class CNoDrawWin; -class CBitmapMaskedWin; -class CResetRedrawStoreWin; - - -class CTRedrawStoring : public CTWsGraphicsBase - { -public: - CTRedrawStoring(CTestStep* aStep); - ~CTRedrawStoring(); - void ConstructL(); - - void CheckWindowsMatch(); - void CheckWindowsMatchLossy(); - void CheckWindowsNotMatch(); - void HideRevealTest(); - void MultipleHideReveal(TInt aX,TInt aY); - void RedrawWindows(); - void DoDrawingL(CWindowGc* aWinGc); - void DoDrawingL(TInt aDraw,CBitmapContext* aGc,TBool aWinGc); - void ScrollTest(); - void FadeWindowTest(); - void FadeWindowTest2L(); - void DoDrawTest(); - void DoScrollTest(); - void SetScrolling(TPoint aScrollSource, TRect aScrollTarget); - //Pure Virtual Function from CTestBase - void DoNothingInRedrawTest(); - void DoDisableRedrawStoreTest(); - void DoBitBltAndMaskedNegTestsL(); - void DoResizeTest(); - void DoTestDrawBitmapMaskedL(TBool aWsBitmap=EFalse); - void DrawBitmapAndCheckL(const TSize aSize,TDisplayMode aDisplayMode,CFbsBitmap* aSrceBitmap,CFbsBitmap* aMaskBitmap,TBool aInvertMask); - void DoFontCacheOverflowTestL(); - void FontCacheOverflowDrawingTestL(TBool aDiffGc, RWindow& aWindow); - void DoInvisibleRedrawStoreTestL( TBool aUseTransparency ); - void DoBrushDrawTestL(); - void DoPartialDrawNowTestL( TBool aUseTransparency ); - void DoBeginEndRedraw(); - void DoRedrawStoreAlphaChannelTransTest(); - - void DoExposeTestL(TInt aIteration); - void DoExposeTest2L(TInt aIteration); - void DoEmptyDrawTestL(TInt aTestMode); - void DoPolygonRedrawTestSetL(); - void DoPolygonRedrawTestL(TInt aWindowMode, TInt aTestMode); - void DoRedrawOOMTestL(); - void RedrawStoreWithBadRectL(); -protected: - virtual void RunTestCaseL(TInt aCurTestCase); - void DoAutoResetRedrawStoreTestL(TBool aTwoWins, TBool aAnimateBothWins, TBool aKeepGcActive, TBool aUpdateInRedraw); - void AutoResetRedrawStoreTestsL(); - void RedrawStoreWithSetExtentL(); - void PartialRedrawWithEmptyRedrawStoreL(); - void DoPartialRedrawWithEmptyRedrawStoreL(TInt aNumWins, TBool aDoWinOnTop, TBool aRedrawWindow, TBool aChildWindows); - CResetRedrawStoreWin* CreatePartialRedrawWinLC(const TPoint& aPos, const TSize& aSize, CTWin* aParent=NULL); - CNoDrawWin* CreateNoDrawWinLC(const TPoint &aPos, const TSize &aSize); - void GetTestWinSizeAndPos(TInt aWinIndex, TPoint &aPos, TSize &aSize) const; - void ScrollWinTest(); -public: - TInt iDrawOrder; - TBool iQueueTest; - -private: - enum TDrawingMode - { - EServerRedraw, - EClientRedrawsNormal, - EClientRedrawsScrolled, - }; - TPoint ComputeTextPosition(TPoint aPoint); - CTBackedUpWin* iCheckWin; - CFbsBitmap* iCheckBitmap; - CFbsBitmapDevice* iCheckDevice; - CFbsBitGc* iCheckGc; - CRedrawStoreWin* iTestWin; - TSize iWinSize; - TPoint iWinPos; - TDrawingMode iDrawMode; - RBlankWindow iBlankWin; - RRegion iRegion; - RWindow iWinTestGc; - TBool iWindowsFaded; - TRect iScrollTarget; - TPoint iScrollSource; - TBool iDoScrollTest; - CNoDrawWin* iNoDrawWin; - TBool iClientDidDraw; - CWsBitmap* iAlphaBitmap[3]; - TBool iAlphaSupported; - CBitmapMaskedWin* iBitmapMaskedWin; - CBitmap* iTestBitmap; - CBitMapWin* iTestBitmapWin; - TRect iWinRect; - TPoint iTestWinPoint; - TBool iXPlus; - TBool iYPlus; - TInt iState; - TInt iYPoz; - TDisplayMode iTestDisplayMode; - CFbsBitmap *iTestWinCopy; - CFbsBitmap *iCheckWinCopy; - }; - -class CRedrawStoreWin : public CTWin - { -public: - inline CRedrawStoreWin(CTRedrawStoring* aTest) : iDrawOrder(0), iTest(aTest){} - //Virtual Function from CTBaseWin - void Draw(); -public: - TInt iDrawOrder; -private: - CTRedrawStoring *iTest; - }; - -class CNoDrawWin : public CTWin - { -public: - void Draw(); - }; - -class CBrushDrawWin : public CTWin - { -public: - CBrushDrawWin(); - void Draw(); - void Redraw(); - -private: - }; - -class CBitmapMaskedWin : public CTWin - { -public: - static CBitmapMaskedWin* NewL(CFbsBitmap* aFbsBitmap,CFbsBitmap* aFbsMaskBitmap, - CWsBitmap* aWsBitmap,CWsBitmap* aWsMaskBitmap, - TRgb aBackground,TRect aRect,TBool aInvertMask,TBool aWsFbs); - ~CBitmapMaskedWin(); - //Virtual Function from CTBaseWin - void Draw(); - void SetDestRectSize(const TSize aSize); - inline void SetInvertMask(TBool aInvertMask){iInvertMask=aInvertMask;} -private: - inline CBitmapMaskedWin(CFbsBitmap* aFbsBitmap,CFbsBitmap* aFbsMaskBitmap,CWsBitmap* aWsBitmap,CWsBitmap* aWsMaskBitmap, - TRect aRect,TBool aInvertMask,TBool aWsFbs): - iFbsBitmap(aFbsBitmap),iFbsMaskBitmap(aFbsMaskBitmap), - iWsBitmap(aWsBitmap),iWsMaskBitmap(aWsMaskBitmap), - iRect(aRect),iInvertMask(aInvertMask),iWsFbs(aWsFbs) {} -private: - CFbsBitmap* iFbsBitmap; - CFbsBitmap* iFbsMaskBitmap; - CWsBitmap* iWsBitmap; - CWsBitmap* iWsMaskBitmap; - TRect iRect; - TBool iInvertMask; - TBool iWsFbs; - }; - -class CPartialRedrawWin : public CTWin - { -public: - void Init(); - virtual void Draw(); - void DrawToBmp(CGraphicsContext& aGc); - void DrawPartial(TPartialRedrawType aPartialRedrawType); - static void DrawRects(CGraphicsContext& aGc, TSize aSize, TPoint aPosition, - TBool aIsFullRedraw, TPartialRedrawType aPartialRedrawType); - void RedrawSubRectWithBitmapL(TRgb aBitmapColour); -public: - TBool iClientDrawn; - TBool iClientCanDraw; -private: - void DoDraw(CGraphicsContext& aGc); -private: - }; - -class CPartialRedrawBottomWin : public CTWin - { -public: - void Init(); - virtual void Draw(); - void DrawPartial(TRect aRect); - void DrawFullWindowRect(); -private: - void DoDraw(); - }; - -class CPartialRedrawTopWin : public CTWin - { -public: - void Init(); - virtual void Draw(); - void DrawPartial(TRect aRect); - void DrawFullWindowRect(); -private: - void DoDraw(); - }; - -class CPartialRedrawTiledWin : public CTWin - { -public: - void Init(TRgb aColour,TBool aTransparent); - virtual void Draw(); - void DrawPartial(TRect aRect); - void DrawFullWindowRect(); -private: - void DoDraw(); -private: - TRgb iColour; - }; - -class CInvisibleRedrawWin: public CTWin - { -public: - CInvisibleRedrawWin(); - TInt MakeTransparent(); - void MakeVisible( TBool aVisible ); - virtual void Redraw(); - virtual void Redraw( const TRect &aRect ); - -private: - void DrawIfVisible(); - -private: - TBool iVisible; - TBool iTransparent; - }; - -class CPartialDrawNowWin: public CTWin - { -public: - CPartialDrawNowWin(); - TInt MakeTransparent(); - void SetLodger( const TRect &aLodger ); - virtual void Redraw(); - virtual void Redraw( const TRect &aRect ); - -private: - void DrawWindowAndLodger(); - -private: - TRect iLodger; - TBool iTransparent; - }; - -class CPartialRedrawEmptyWin : public CTWin - { -public: - void Init(TRgb aColor); - virtual void Draw(); - void DrawPartial(TRect aRect); - void DrawFullWindowRect(); - inline TInt ReturnCount(); -private: - void DoDraw(); - TInt iCount; - }; - -class CPartialRedrawPolygonWin : public CTWin - { -public: - void Init(TInt aWindowMode, TRgb aColor); - virtual void Draw(); - void DrawPartial(); - void DrawFullWindowPolygonL(); - inline TInt ReturnCount(); -private: - void DoDraw(); - TInt iCount; - }; - -class CRedrawRectWin : public CTWin - { -public: - void Init(); - void DrawNow(); - void DrawFullWindowRect(); - inline TInt RedrawCount(); - void ResetWindow(TRgb aColour); - inline void SetLogging(CTWsGraphicsBase* aTest); - //Virtual function from CTBaseWin - void Draw(); - //Virtual function from CTWin - void Redraw(const TRect& aRect); -private: - void DoDraw(); -private: - TInt iRedrawCount; - TRgb iRectColour; - CTWsGraphicsBase* iLog; - }; - -class CTRedrawStoringStep : public CTGraphicsStep - { -public: - CTRedrawStoringStep(); -protected: - //from CTGraphicsStep - virtual CTGraphicsBase* CreateTestL(); - }; - -class CResetRedrawStoreWin : public CPartialRedrawWin - { -public: - ~CResetRedrawStoreWin(); - void SetUpdateInRedraw(TBool aUpdateInRedraw); - void SetKeepGcActive(TBool aState); - void UpdateAnim(TInt aSteps); - void PreSetSize(const TSize &aSize); - TBool Failed() const; -private: - virtual void Draw(); - void DoDraw(CGraphicsContext& aGc) const; - void DoDrawAnim(CGraphicsContext& aGc) const; - TRect AnimRect() const; -private: - TInt iAnimState; - TBool iKeepGcActive; - TBool iUpdateInRedraw; - TBool iFailed; - CWindowGc* iExtraGc; - }; - -const TInt KEmptyLoopThreshold = 3; - -_LIT(KTRedrawStoringStep,"TRedrawStoring"); - - -#endif