--- /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
+
+