graphicstest/uibench/s60/src/tests_fonts/tcomplexfonts.h
changeset 0 5d03bc08d59c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicstest/uibench/s60/src/tests_fonts/tcomplexfonts.h	Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,112 @@
+ // Copyright (c) 2006-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 - Internal Symbian test code
+
+This file specifies the interface to the test of having a full
+ 	   screen of text within a CONE control.  
+*/
+
+
+#ifndef __TCOMPLEXFONTS_H__
+#define __TCOMPLEXFONTS_H__
+
+
+#include "te_conestepbase.h"
+
+#include <coecntrl.h> 
+#include <coeaui.h>
+#include <txtrich.h>
+#include <frmtlay.h> 
+#include <frmtview.h> 
+#include <txtfrmat.h> 
+
+
+_LIT(KTComplexFonts,"tcomplexfonts");
+
+
+/**
+ * Cone control that contains formatted text. If the control receives
+ * a pointer event it redraws itself and signals a Semaphore once it
+ * has finished with formatting and redrawing the text.
+ */
+class CComplexFontsControl : public CCoeControl
+	{
+public:
+    static CComplexFontsControl* NewL(const CCoeControl* aParent=NULL);
+    static CComplexFontsControl* NewLC(const CCoeControl* aParent=NULL);
+    ~CComplexFontsControl();
+
+private:
+    // From CCoeControl
+    void Draw(const TRect& aRect) const;
+    void HandlePointerEventL(const TPointerEvent& aPointerEvent);
+
+	CComplexFontsControl();
+    void ConstructL(const CCoeControl* aParent = NULL);
+    
+private:
+    RSemaphore iSemaphore; // handle to a Semaphore which is owned by the test step
+    
+	CRichText* iRichText; // text
+	
+	CParaFormatLayer* iParaFormatLayer;
+	CCharFormatLayer* iCharFormatLayer;
+	
+	CTextLayout* iLayout; // text layout
+	CTextView* iTextView; // text view which covers the whole screen
+
+	CParaFormat iParaFormat;
+	CWsScreenDevice* iScreen;	
+	RWsSession& iWsSession;
+	};
+
+class CComplexFontsAppUi : public CEikAppUi
+    {
+public:
+    CComplexFontsAppUi();
+    virtual ~CComplexFontsAppUi();
+    void ConstructL();
+    
+private:   
+    CComplexFontsControl* iComplexFontsControl;
+    };
+
+class CTComplexFonts : public CTe_ConeStepBase
+	{
+public:
+	CTComplexFonts();
+
+private:
+	// From CTestStep
+    virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+	
+	// from CTe_ConeStepBase
+	virtual void InitUIL(CCoeEnv* aCoeEnv);
+	
+	void DrawComplexFontsL();
+	void GenerateEventL(TRawEvent::TType aEventType);
+	
+private:
+    RSemaphore iSemaphore; // used to wait for font control to finish drawing
+	};
+
+
+#endif