sl@0: // Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). sl@0: // sl@0: // Permission is hereby granted, free of charge, to any person obtaining a sl@0: // copy of this software and/or associated documentation files (the sl@0: // "Materials"), to deal in the Materials without restriction, including sl@0: // without limitation the rights to use, copy, modify, merge, publish, sl@0: // distribute, sublicense, and/or sell copies of the Materials, and to sl@0: // permit persons to whom the Materials are furnished to do so, subject to sl@0: // the following conditions: sl@0: // sl@0: // The above copyright notice and this permission notice shall be included sl@0: // in all copies or substantial portions of the Materials. sl@0: // sl@0: // THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, sl@0: // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF sl@0: // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. sl@0: // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY sl@0: // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, sl@0: // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE sl@0: // MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: #ifndef TSCREENINTERFACE_H sl@0: #define TSCREENINTERFACE_H sl@0: sl@0: // INCLUDES sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include "streamutility.h" sl@0: sl@0: class CTestExecuteLogger; sl@0: class CSurfaceStream; sl@0: /** sl@0: * CTestScreenInterface sl@0: * sl@0: */ sl@0: class CTestScreenInterface : public CTestFixture sl@0: { sl@0: public: sl@0: CTestScreenInterface(); sl@0: ~CTestScreenInterface(); sl@0: sl@0: virtual void SetupL(); sl@0: virtual void TearDownL(); sl@0: void TearDown(); sl@0: static CTestSuite* CreateSuiteL(const TDesC& aName); sl@0: sl@0: enum TCacheAttribute sl@0: { sl@0: /** not CPU cached */ sl@0: ENotCached = 0, sl@0: /** CPU cached */ sl@0: ECached = 1, sl@0: /** Not listed */ sl@0: ECacheNotlisted = 2 sl@0: }; sl@0: sl@0: enum TContiguousFlag sl@0: { sl@0: ENonContiguous = 0, sl@0: EContiguous = 1, sl@0: EFlagNotListed = 2 sl@0: }; sl@0: sl@0: private: sl@0: void ReadIniData(); sl@0: TInt BaseTestContiguousFlag(TBool aContiguous); sl@0: // Private tests sl@0: void GRAPHICS_OPENWFC_SCREENINTERFACE_0100L(); sl@0: void GRAPHICS_OPENWFC_SCREENINTERFACE_0101L(); sl@0: void GRAPHICS_OPENWFC_SCREENINTERFACE_0102L(); sl@0: void GRAPHICS_OPENWFC_SCREENINTERFACE_0103L(); sl@0: void GRAPHICS_OPENWFC_SCREENINTERFACE_0104L(); sl@0: void GRAPHICS_OPENWFC_SCREENINTERFACE_0105L(); sl@0: void GRAPHICS_OPENWFC_SCREENINTERFACE_0106L(); sl@0: void GRAPHICS_OPENWFC_SCREENINTERFACE_0107L(); sl@0: void GRAPHICS_OPENWFC_SCREENINTERFACE_0108L(); sl@0: void GRAPHICS_OPENWFC_SCREENINTERFACE_0109L(); sl@0: sl@0: private: sl@0: CStreamUtility* iUtility; sl@0: TRgb iRed, iGreen, iBlue; sl@0: TInt iFastpathableWidth; sl@0: TInt iFastpathableHeight; sl@0: TInt iStride; sl@0: TContiguousFlag iContiguous; sl@0: TUidPixelFormat iFastpathablePixelFormat; sl@0: TUidPixelFormat iNonFastpathablePixelFormat; sl@0: TInt iOffsetToFirstBuffer; sl@0: TInt iAlignment; sl@0: TBool iMappable; sl@0: TInt iMaxBuffers; sl@0: TInt iMinBuffers; sl@0: TCacheAttribute iCacheAttrib; sl@0: TInt iOffsetBetweenBuffers; sl@0: sl@0: }; sl@0: sl@0: #endif // TSCREENINTERFACE_H