lafagnosticuifoundation/cone/tef/TConeTransition.h
changeset 0 2f259fa3e83a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lafagnosticuifoundation/cone/tef/TConeTransition.h	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,191 @@
+// 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(__TCONETRANSITION_H__)
+#define __TCONETRANSITION_H__
+
+#include <coecntrl.h>
+#include "TConeTestServer.h"
+#include "appfwk_test_AppUi.h"
+//! A CCoeControl Derived Class.\n
+/** 
+  Class is used to instantiate simple controls.\n 
+  Also serves as base class for CTestControlGcTriangle Class.\n
+*/
+class CTestControlGc : public CCoeControl
+    {
+friend class CTestControlBackground;
+public:
+    void virtual ConstructL(TPoint, TSize, TRgb aPenColor, TRgb aBrushColor, const TDesC &aControlName);
+    ~CTestControlGc();
+    void Draw(const TRect& aRect) const;
+    void SupressOutput(TBool aSupressOutput) 
+    	{
+    	iSupressOutput = aSupressOutput;
+    	}
+protected: 
+	// framework
+	void HandlePointerEventL(const TPointerEvent& aPointerEvent);
+private: // framework
+	void FocusChanged(TDrawNow aDrawNow);
+protected:	
+	//! Colour combination for Pen.\n
+	TRgb	iPenColor;
+	//! Colour combination for Brush.\n
+	TRgb	iBrushColor;
+	//! Boolean to indicate whether the control should be drawn or not.\n
+	TBool 	iSupressOutput;
+	//! Name of the control.\n
+	TBuf<128>	iControlName;
+    };
+//! A Class derived from CTestControlGc and MCoeControlHitTest interface.\n
+/**
+  Implements the MCoeControlHitTest interface.\n
+*/
+class CTestControlGcTriangle : public CTestControlGc
+			, public MCoeControlHitTest
+    {
+public:
+    void virtual ConstructL(TPoint, TSize, TBool aTop, TRgb aPenColor, TRgb aBrushColor, const TDesC &aControlName);
+    ~CTestControlGcTriangle();
+    void Draw(const TRect& aRect) const;
+protected:    
+	TBool HitRegionContains(const TPoint& aPoint, const CCoeControl& aControl) const;
+	TBool IsInside(const TPoint& pt) const;
+protected:
+	CArrayFix<TPoint>* iPoints;
+    };
+//! A Class derived from CTestControlGc.\n
+/**
+  Class used to test offscreen bitmap drawing.\n
+*/
+class CTestControlImageGc : public CTestControlGc
+    {
+public:
+    ~CTestControlImageGc()
+    	{
+    	};
+    void Draw(const TRect& aRect) const;
+    void SetBitmap(CFbsBitmap* aBmp) 
+    	{
+    	iBmp = aBmp;
+    	}
+protected:
+	//!A bitmap managed by the font and bitmap server.\n  
+	CFbsBitmap* iBmp;
+    };
+
+//! A Class derived from CCoeControl and MCoeControlBackground interface.\n
+/**
+  A Class implementing background drawing interface.\n
+*/
+class CTestControlBackground : public CCoeControl
+								, public MCoeControlBackground
+    {
+public:
+    void ConstructL();
+    ~CTestControlBackground();
+    TInt SetChildGc();
+	void RestoreChildGc();
+	void ClearOffScreenBitmap();
+	void SetControlParent();
+	void SupressOutput(TInt aNumControl, TBool aSupress);
+	void GeneratePointerEventsOnControl1L();
+	void GeneratePointerEventsOnControl2L();
+	void GeneratePointerEventsOnControl3L();
+	TInt OffScreenDrawing();
+	TInt DirectScreenDrawing();
+	
+protected:
+	// MCoeControlBackground
+	void Draw(CWindowGc& aGc, const CCoeControl& aControl, const TRect& aRect) const;
+private: // framework
+	void FocusChanged(TDrawNow aDrawNow);
+    void Draw(const TRect& aRect) const;
+private: // new functions
+    void DrawBorder() const;
+	
+	TInt CountComponentControls() const;
+	CCoeControl* ComponentControl(TInt aIndex) const;
+private:
+	//! Simple control.\n 
+    CTestControlGc*	iControl;
+    //! Control implementing MCoeControlHitTest interface.\n
+    CTestControlGcTriangle*	iControl2;
+    //! Control implementing MCoeControlHitTest interface.\n
+    CTestControlGcTriangle*	iControl3;
+    //! Control with an bitmap.\n
+    CTestControlImageGc*	iControlImage;
+	//! Window graphics context.\n
+    CWindowGc* iGraphContext;
+    //! Font and Bitmap server Graphic Context.\n
+    CFbsBitGc* iMainFbsBitGc;
+	//! A graphics device to which a bitmap managed by the font and bitmap server can be drawn.\n
+    CFbsBitmapDevice* iBitmapDevice2;
+    //! Window server bitmap.\n
+	CWsBitmap *iBitmapView;
+	//!A bitmap managed by the font and bitmap server.\n
+	CFbsBitmap* iBmpBackground;
+    };
+
+
+//! A CTestStep Derived Class.\n
+/**
+  Incorporates the tests on direct screen and offscrreen bitmap drawing.\n
+*/
+class CTConeTransitionStep : public CTmsTestStep
+	{
+public:
+	CTConeTransitionStep();
+	~CTConeTransitionStep();
+	virtual TVerdict doTestStepL();
+	void ConstructAppL(CCoeEnv* aCoe);
+
+private:
+	};
+//! A CTestCoeAppUi derived class.\n
+/**
+  AppUi Class for TConeTransition test step.\n
+*/	
+class CTConeTransitionAppUi : public CTestCoeAppUi
+    {
+friend class CTestControlBackground;
+friend class CTestControlGc;
+public:
+	CTConeTransitionAppUi(CTmsTestStep* aStep);
+	~CTConeTransitionAppUi();
+	void ConstructL();
+private: // from CCoeAppUi
+    TKeyResponse HandleKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
+private: // utility
+	void RunTestStepL(TInt aStepNum);
+public:
+	TBuf<128>	iExpectedControlName;
+protected:
+	//! Control which supports background drawing.\n
+	CTestControlBackground* iViewControl;
+    };
+
+//! TConeTransition Test Step Name.\n
+_LIT(KTConeTransitionStep,"TConeTransition");
+
+#endif
+
+