lafagnosticuifoundation/cone/tef/TConeInvalidate.h
changeset 0 2f259fa3e83a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lafagnosticuifoundation/cone/tef/TConeInvalidate.h	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,198 @@
+// Copyright (c) 2005-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
+ @internalComponent - Internal Symbian test code 
+*/
+
+
+#if !defined(__TCONEINVALIDATE_H__)
+#define __TCONEINVALIDATE_H__
+
+#include <coecntrl.h>
+#include <coeccntx.h>
+#include <gulgcmap.h>
+#include "TConeTestServer.h"
+#include "appfwk_test_AppUi.h"
+#include "TTransGc.h"
+
+/** Base control drawing class
+	@test 
+*/
+class CTestRectGc : public CCoeControl
+								, public MCoeControlBackground
+    {
+  public:  
+    typedef enum
+    {
+    	EBlank,
+    	EDrawRect,
+    	EDrawEllipse
+    } TDrawType;
+    
+friend class CTestRectBackground;
+friend class CComponentControl;
+
+public:
+    void virtual ConstructL(TPoint, TSize, TRgb aPenColor, TRgb aBrushColor, CGraphicsContext::TBrushStyle aBrushStyle);
+    ~CTestRectGc();
+    void Draw(const TRect& aRect) const;
+    void SetPenColor(const TRgb &aPenColor);
+    void SetBrushColor(const TRgb &aBrushColor);
+    void SetBrushStyle(const CGraphicsContext::TBrushStyle aBrushStyle);
+    void SetDrawType(const TDrawType DrawType);
+
+	void NextFrame();
+
+	// MCoeControlBackground
+	void Draw(CWindowGc& aGc, const CCoeControl& aControl, const TRect& aRect) const;
+	
+static	CFbsBitmap* iBmpBackground;
+	
+protected:	
+	TDrawType 	iDrawType;
+	TRgb		iPenColor;
+	TRgb		iBrushColor;
+	CGraphicsContext::TBrushStyle iBrushStyle;	
+	int 		iFrameNo;
+			
+ 	};
+
+/** Image display/drawing control
+	@test
+*/
+class CTestRectImageGc : public CTestRectGc
+    {
+public:
+		
+    ~CTestRectImageGc()
+    	{
+    	};
+    void Draw(const TRect& aRect) const;
+    void SetBitmap(CFbsBitmap* aBmp) 
+	   	{
+    	iBmp = aBmp;
+	    }
+    CFbsBitmap* Bitmap() 
+	    {
+	    return iBmp;
+	    }
+    
+protected: 
+	CFbsBitmap* iBmp;
+    };
+
+/** Hierarchical animated component control class
+	@test
+*/
+class CComponentControl : public CTestRectGc
+{
+public:
+	
+	~CComponentControl();	
+    void ConstructL(TInt aChildren, TInt aOwners, TPoint aPt, TSize aSize, TRgb aPenColor, TRgb aBrushColor, CGraphicsContext::TBrushStyle aBrushStyle);
+    void CreateChildControlL(TInt aChildren, TInt aOwners, TPoint aPt, TSize aSize, TRgb aPenColor, TRgb aBrushColor, CGraphicsContext::TBrushStyle aBrushStyle);
+    
+ 	void Draw(const TRect& aRect) const;	
+ 	void AnimateComponents();
+};
+
+/** Offscreen class
+	@test
+*/
+class COffScreenBitmapGc 
+{
+public:	
+    CTransGc* iGraphContext;
+    CFbsBitGc* iMainFbsBitGc;
+
+    CFbsBitmapDevice* iBitmapDevice2;
+	CWsBitmap *iBitmapView;
+	
+	 COffScreenBitmapGc();
+public:
+	 ~COffScreenBitmapGc();
+	 static COffScreenBitmapGc* NewL(const TSize &aSize);
+	 CTransGc *OffScreenGc();
+	 CWsBitmap *GetBitmap();
+};
+
+/** Main control class
+	@test
+*/
+class CTestRectBackground : public CTestRectGc
+    {
+public:
+    void ConstructL();
+    ~CTestRectBackground();
+	
+protected:
+	
+    void Draw(const TRect& aRect) const;
+private: // new functions
+	
+
+public:
+    CComponentControl*		iControl;			//Main animated control 
+    CTestRectImageGc*		iControlImage;		//Region drawn to offscreen 
+    CTestRectImageGc*		iControlImage2;		//Region drawn to offscreen plus background
+	COffScreenBitmapGc 		*iOffScreen;		//The physical offscreen bitmap
+	COffScreenBitmapGc 		*iOffScreen2;		//The 2nd physical offscreen bitmap
+	
+public:
+	void CreateComponentControlL(TInt aNumChildren, TInt aOwnerMask);
+
+    };
+
+/** Test step class
+	@test
+*/
+class CTConeInvalidateStep : public CTmsTestStep
+	{
+public:
+	CTConeInvalidateStep();
+	~CTConeInvalidateStep();
+	virtual TVerdict doTestStepL();
+	void ConstructAppL(CCoeEnv* aCoe);
+
+private:
+	};
+	
+/** Test application
+	@test
+*/
+class CTConeInvalidateAppUi : public CTestCoeAppUi
+    {
+friend class CTestRectBackground;
+friend class CTestRectGc;
+public:
+	CTConeInvalidateAppUi(CTmsTestStep* aStep);
+	~CTConeInvalidateAppUi();
+	void ConstructL();
+private: // from CCoeAppUi
+    TKeyResponse HandleKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
+private: // utility
+	void RunTestStepL(TInt aStepNum);
+protected:
+	CTestRectBackground* iViewControl;			//The main application control
+    };
+
+
+_LIT(KTConeInvalidateStep,"TConeInvalidate");
+
+#endif
+
+