diff -r 000000000000 -r 2f259fa3e83a lafagnosticuifoundation/cone/tef/TConeTransition.h --- /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 +#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* 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 + +