Applied patch 1, to provide a syborg specific minigui oby file.
Need to compare this with the "stripped" version currently in the tree.
This supplied version applies for Nokia builds, but need to repeat the
test for SF builds to see if pruning is needed, or if the file needs to
be device-specific.
// 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 <e32std.h>
#include <w32std.h>
#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