windowing/windowserver/test/t_integ/inc/t_pseudoappwindow.h
changeset 0 5d03bc08d59c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/windowing/windowserver/test/t_integ/inc/t_pseudoappwindow.h	Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,187 @@
+// Copyright (c) 2007-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
+*/
+
+#ifndef __T_PSEUDOAPPWINDOW_H__
+#define __T_PSEUDOAPPWINDOW_H__
+
+#include <w32std.h>		//RWsSession, CWsScreenDevice etc
+
+#include "t_pseudoapptestresults.h"
+
+enum TWindowChange
+	{
+	ENoChange = 0,
+	EIncremental,
+	ECyclic
+	};
+
+enum TWindowChangeType
+	{
+	ENoChanges,
+	EWindowSize,
+	EWindowPosition,
+	EWindowPositionAndSize,
+	EWindowPositionAndSizeWithOpacity
+	};
+
+typedef enum TPixelFormat
+	{
+	EFormatRgb,
+	EFormatYuv
+	}TPixelFormat;
+
+typedef enum TParamChange
+	{
+	ENoParamChange,
+	EFirstFrame,
+	EBitmapScale,
+	ESizeChange,
+	EPositionChange,
+	EExtentChange,
+	EOpacityChange
+	} TParamChange;
+
+class TDrawParameters
+	{
+public:
+	TDrawParameters();
+	~TDrawParameters();
+	TBool operator==(const TDrawParameters& x) const;
+
+public:
+	TBool iRedraw;
+	TInt iBitmapScale;
+	TInt iBitmapAlpha;
+	TSize iWindowSize;
+	TPoint iWindowPos;
+	};
+
+class CTestWindow : public CBase
+	{
+public:
+	inline RWindow* Window() {return &iWindow;};
+	IMPORT_C virtual void Rotate(TSize aScreenSize);
+	IMPORT_C virtual void DrawL();
+	~CTestWindow();
+
+	void SetPosition();
+	void SetSize();
+	void SetExtent();
+
+protected:
+	IMPORT_C CTestWindow(TInt aScreenNo, TDisplayMode aMode);
+
+private:
+	void ConstructL(TInt aScreenNo, TDisplayMode aMode);
+
+protected:
+	RWsSession        iSession;
+	CWsScreenDevice*  iScreen;
+	CWindowGc*        iWindowGc;
+	RWindow           iWindow;
+	RWindowGroup      iGroup;
+	TDisplayMode      iMode;
+	CArrayFixFlat<TDrawParameters>* iLoadsaParameters;
+	TGceTestResults* iGceTestResults;
+	TInt iFrameCounter;
+	};
+
+class CTestEmptyWindow : public CTestWindow
+	{
+public:
+	IMPORT_C static CTestEmptyWindow* NewL(TInt aScreen, TDisplayMode aMode, const TSize& aScreenSize);
+	IMPORT_C virtual void Rotate(TSize aScreenSize);
+	IMPORT_C virtual void DrawL();
+	~CTestEmptyWindow();
+
+protected:
+	IMPORT_C CTestEmptyWindow(TInt aScreenNo, TDisplayMode aMode);
+
+private:
+	void ConstructL(const TSize& aScreenSize);
+
+private:
+	TInt iWindowDrawn;
+	};
+
+class CTestEcomWindow : public CTestWindow
+	{
+public:
+	IMPORT_C static CTestEcomWindow* NewL(TInt aScreenNo, TDisplayMode aMode, const TPtrC& aMultiBitmapEcomFile,
+	                                      TInt aMultiBitmapEcomFileSize, TGceTestResults* aGceTestResults,
+	                                      CArrayFixFlat<TDrawParameters>* aLoadsaParameters);
+	~CTestEcomWindow();
+	IMPORT_C virtual void Rotate(TSize aScreenSize);
+	IMPORT_C virtual void DrawL();
+
+
+protected:
+	IMPORT_C CTestEcomWindow(TInt aScreenNo, TDisplayMode aMode);
+
+private:
+	void ConstructL(const TPtrC& aMultiBitmapEcomFile, TInt aMultiBitmapEcomFileSize, TGceTestResults* aGceTestResults,
+	                CArrayFixFlat<TDrawParameters>* aLoadsaParameters);
+	TParamChange Redraw();
+
+private:
+	TPtrC iMultiBitmapEcomFile;
+	TInt iMultiBitmapEcomFileSize;
+	TInt iBitmapCounter;
+	};
+
+class CTestUiWindow : public CTestWindow
+	{
+public:
+	IMPORT_C static CTestUiWindow* NewL(TInt aScreenNo, TDisplayMode aMode, const TPtrC& aMultiBitmapUiFile, TInt aMultiBitmapUiFileSize,
+	                             CArrayFixFlat<TRect>* aRectArray, TInt aFrameDuration, TInt aMultiBitmapUiFileTransparency,
+	                             TGceTestResults* aGceTestResults,
+	                             CArrayFixFlat<TDrawParameters>* aLoadsaParameters);
+
+	IMPORT_C virtual void Rotate(const TSize& aScreenSize);
+	IMPORT_C virtual void DrawL();
+	~CTestUiWindow();
+
+protected:
+	IMPORT_C CTestUiWindow(TInt aScreenNo, TDisplayMode aMode);
+
+private:
+	void ConstructL(const TPtrC& aMultiBitmapUiFile, TInt aMultiBitmapUiFileSize, CArrayFixFlat<TRect>* aRectArray,
+	                TInt aFrameDuration, TInt aMultiBitmapUiFileTransparency, TGceTestResults* aGceTestResults,
+	                CArrayFixFlat<TDrawParameters>* aLoadsaParameters);
+	TParamChange Redraw();
+	void CalcNewWindowExtent(TSize aScreenSize, TInt aIncrement, TInt aDirection);
+	void SetBitmapTransparency(CFbsBitmap* aBitmap, TUint8 aAlphaValue, TInt aAlphaByteLocation);
+
+	void ParamChangeCyclicPositionAndSize(TDrawParameters& aDrawParams, TInt aFrameCounter);
+	void ParamChangeCyclicPosition(TDrawParameters& aDrawParams, TInt aFrameCounter);
+	void CalcNewWindowLocation(TSize aScreensize, TInt aIncrement, TInt aDirection,TDrawParameters& aDrawParams);
+	void SetBitmapAlpha(CFbsBitmap* aBitmap);
+
+protected:
+	TBool iSimUiDrawn;
+	TPtrC iMultiBitmapUiFile;
+	TInt iMultiBitmapUiFileSize;
+	CArrayFixFlat<TRect>* iRectArray;
+	TInt iMultiBitmapUiFileTransparency;
+	TInt iFrameDuration;
+	};
+
+#endif //__T_PSEUDOAPPWINDOW_H__