sl@0: // Copyright (c) 1996-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: /** sl@0: @file sl@0: @test sl@0: @internalComponent - Internal Symbian test code sl@0: */ sl@0: sl@0: #ifndef __TSCRDEV_H__ sl@0: #define __TSCRDEV_H__ sl@0: sl@0: #include sl@0: #include "w32std.h" sl@0: #include "../tlib/testbase.h" sl@0: #include "AUTO.H" sl@0: #include "TGraphicsHarness.h" sl@0: sl@0: class CTScreenDevice : public CTWsGraphicsBase sl@0: { sl@0: public: sl@0: CTScreenDevice(CTestStep* aStep); sl@0: ~CTScreenDevice(); sl@0: void ConstructL(); sl@0: void TestTwipPixelConversions(); sl@0: void TestTwipPixelOverflow(); sl@0: void TwipsCacheFlushL(); sl@0: void CheckBitmapL(CFbsBitmap *aBitmap, const TRect &aRect); sl@0: void TestScreenToBitmap(); sl@0: protected: sl@0: virtual void RunTestCaseL(TInt aCurTestCase); sl@0: private: sl@0: void doTestScreenToBitmapL(); sl@0: }; sl@0: sl@0: class CTScreenDeviceStep : public CTGraphicsStep sl@0: { sl@0: public: sl@0: CTScreenDeviceStep(); sl@0: protected: sl@0: //from CTGraphicsStep sl@0: virtual CTGraphicsBase* CreateTestL(); sl@0: }; sl@0: sl@0: class CCachePanic : public CBase sl@0: { sl@0: protected: sl@0: CCachePanic() sl@0: { sl@0: }; sl@0: ~CCachePanic(); sl@0: virtual void TestL(); sl@0: void ConstructL(TInt aScreenNumber, TInt aInt); sl@0: static TInt DoTest(CCachePanic* aTestClass); sl@0: sl@0: protected: sl@0: RWsSession iWs; sl@0: CWsScreenDevice* iWsScrDev; sl@0: TInt iScreenNumber; sl@0: TInt iInt; sl@0: }; sl@0: sl@0: class CTwipsPanic : public CCachePanic sl@0: { sl@0: public: sl@0: static TInt RunTest(TInt aInt, TAny* aPtr); sl@0: sl@0: private: sl@0: virtual void TestL(); sl@0: }; sl@0: sl@0: class CScanLinePanic : public CCachePanic sl@0: { sl@0: public: sl@0: enum ScanLineTestCases sl@0: { sl@0: TESTCASE_GRAPHICS_WSERV_0473 = 0, sl@0: TESTCASE_GRAPHICS_WSERV_0474 sl@0: }; sl@0: public: sl@0: static TInt RunTest(TInt aInt, TAny* aPtr); sl@0: sl@0: private: sl@0: virtual void TestL(); sl@0: sl@0: // Methods for test cases go here sl@0: private: sl@0: void TestLengthInvariant(); sl@0: void TestBufferInvariant(); sl@0: sl@0: }; sl@0: sl@0: _LIT(KTScreenDeviceStep,"TScreenDevice"); sl@0: sl@0: #endif