diff -r 7f25ef56562d -r 29ddb8a72f0e graphicsapitest/graphicssvs/wserv/src/T_DataWsScreenDevice.cpp --- a/graphicsapitest/graphicssvs/wserv/src/T_DataWsScreenDevice.cpp Wed Jun 23 19:41:15 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1523 +0,0 @@ -/* -* 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: -* -*/ - -#include "T_DataWsScreenDevice.h" -#include "T_GraphicsUtil.h" - -/*@{*/ -_LIT(KDataClassname, "CWsScreenDevice"); - -/// Fields -_LIT(KFldAlgStyle, "alg_style"); -_LIT(KFldBackLight, "backlight"); -_LIT(KFldBitmap, "bitmap"); -_LIT(KFldDefaultScreenNumber, "defaultscreennumber"); -_LIT(KFldExpected, "expected"); -_LIT(KFldExpectedCount, "expectedcount"); -_LIT(KFldFinish, "finish"); -_LIT(KFldFlags, "flags"); -_LIT(KFldFormatFieldNumber, "%S%d"); -_LIT(KFldFontUid, "font_uid"); -_LIT(KFldMode, "mode"); -_LIT(KFldPalette, "palette"); -_LIT(KFldPixel, "pixel"); -_LIT(KFldPixelSize, "pixelsize"); -_LIT(KFldRect, "rect"); -_LIT(KFldRect1, "rect1"); -_LIT(KFldRect2, "rect2"); -_LIT(KFldRotation, "rotation"); -_LIT(KFldStart, "start"); -_LIT(KFldTwips, "twips"); -_LIT(KFldTwipsSize, "twipssize"); -_LIT(KFldWindowGc, "windowgc"); -_LIT(KFldWs, "ws"); -_LIT(KFldFont, "font"); -_LIT(KFldContext, "context"); - -/// Commands -_LIT(KCmdnew, "new"); -_LIT(KCmddisown, "disown"); -_LIT(KCmdDestructor, "~CWsScreenDevice"); -_LIT(KCmdDestructorGeneral, "~"); -_LIT(KCmdConstruct, "Construct"); -_LIT(KCmdCopyScreenToBitmap, "CopyScreenToBitmap"); -_LIT(KCmdCreateContext, "CreateContext"); -_LIT(KCmdCurrentScreenMode, "CurrentScreenMode"); -_LIT(KCmdGetCurrentScreenModeScale, "GetCurrentScreenModeScale"); -_LIT(KCmdGetCurrentScreenModeScaledOrigin, "GetCurrentScreenModeScaledOrigin"); -_LIT(KCmdGetDefaultScreenModeOrigin, "GetDefaultScreenModeOrigin"); -_LIT(KCmdGetDefaultScreenSizeAndRotation, "GetDefaultScreenSizeAndRotation"); -_LIT(KCmdGetFontById, "GetFontById"); -_LIT(KCmdGetRotationsList, "GetRotationsList"); -_LIT(KCmdGetScreenModeDisplayMode, "GetScreenModeDisplayMode"); -_LIT(KCmdGetScreenModeOrigin, "GetScreenModeOrigin"); -_LIT(KCmdGetScreenModeScale, "GetScreenModeScale"); -_LIT(KCmdGetScreenModeScaledOrigin, "GetScreenModeScaledOrigin"); -_LIT(KCmdGetScreenModeSizeAndRotation, "GetScreenModeSizeAndRotation"); -_LIT(KCmdGetScreenNumber, "GetScreenNumber"); -_LIT(KCmdGetScreenSizeModeList, "GetScreenSizeModeList"); -_LIT(KCmdNumScreenModes, "NumScreenModes"); -_LIT(KCmdRectCompare, "RectCompare"); -_LIT(KCmdPointerRect, "PointerRect"); -_LIT(KCmdScreenModeEnforcement, "ScreenModeEnforcement"); -_LIT(KCmdSetAppScreenMode, "SetAppScreenMode"); -_LIT(KCmdSetBackLight, "SetBackLight"); -_LIT(KCmdSetCustomPalette, "SetCustomPalette"); -_LIT(KCmdSetScreenSizeAndRotation, "SetScreenSizeAndRotation"); - -_LIT(KCmdcheckPixels, "checkPixels"); -_LIT(KCmdcheckLineColor, "checkLineColor"); -_LIT(KCmdcheckRectColor, "checkRectColor"); - -_LIT(KFormatFieldNumber, "%S%d"); - -/// Logging -_LIT(KLogColor, "Color Red=%d Green=%d Blue=%d Alpha=%d"); -_LIT(KLogPoint, "Point X=%d Y=%d"); -_LIT(KLogError, "Error=%d"); -_LIT(KLogMissingParameter, "Missing parameter '%S'"); -_LIT(KLogNotExpectedValue, "Not expected value"); -/*@}*/ - -////////////////////////////////////////////////////////////////////// -// Construction/Destruction -////////////////////////////////////////////////////////////////////// - -CT_DataWsScreenDevice* CT_DataWsScreenDevice::NewL() -/** - * Two phase constructor - */ - { - CT_DataWsScreenDevice* ret=new (ELeave) CT_DataWsScreenDevice(); - CleanupStack::PushL(ret); - ret->ConstructL(); - CleanupStack::Pop(ret); - return ret; - } - -CT_DataWsScreenDevice::CT_DataWsScreenDevice() -/** - * Protected constructor. First phase construction - */ -: CT_DataBitmapDevice() -, iWsScreenDevice(NULL) - { - } - -void CT_DataWsScreenDevice::ConstructL() -/** - * Second phase construction - */ - { - } - -CT_DataWsScreenDevice::~CT_DataWsScreenDevice() -/** - * Public destructor - */ - { - DestroyData(); - } - -TAny* CT_DataWsScreenDevice::GetObject() -/** - * Return a pointer to the object that the data wraps - * - * @return pointer to the object that the data wraps - */ - { - return iWsScreenDevice; - } - -void CT_DataWsScreenDevice::SetObjectL(TAny* aAny) -/** - * Set the object that the data wraps - * - * @param aObject object that the wrapper is testing - * - */ - { - DestroyData(); - iWsScreenDevice = static_cast (aAny); - } - -void CT_DataWsScreenDevice::DisownObjectL() -/** - * The object will no longer be owned by this - * - * @leave KErrNotSupported if the the function is not supported - */ - { - iWsScreenDevice = NULL; - } - -void CT_DataWsScreenDevice::DestroyData() - { - delete iWsScreenDevice; - iWsScreenDevice=NULL; - } - -MWsClientClass* CT_DataWsScreenDevice::GetClientClass() const - { - return iWsScreenDevice; - } - -MGraphicsDeviceMap* CT_DataWsScreenDevice::GetGraphicsDeviceMap() const - { - return iWsScreenDevice; - } - -CGraphicsDevice* CT_DataWsScreenDevice::GetGraphicsDevice() const - { - return iWsScreenDevice; - } - -CBitmapDevice* CT_DataWsScreenDevice::GetBitmapDevice() const - { - return iWsScreenDevice; - } - - -/** -* Process a command read from the ini file -* -* @param aCommand the command to process -* @param aSection the entry in the ini file requiring the command to be processed -* @param aAsyncErrorIndex index of command. used for async calls -* -* @return ETrue if the command is processed -*/ -TBool CT_DataWsScreenDevice::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex) - { - TBool ret = ETrue; - - if ( aCommand==KCmdDestructor || aCommand==KCmdDestructorGeneral ) - { - DoCmdDestructor(); - } - else if ( aCommand==KCmdnew || aCommand==KDataClassname ) - { - DoCmdnewL(aSection); - } - else if ( aCommand==KCmddisown ) - { - DisownObjectL(); - } - else if ( aCommand==KCmdConstruct ) - { - DoCmdConstruct(aSection); - } - else if ( aCommand==KCmdCopyScreenToBitmap ) - { - DoCmdCopyScreenToBitmapL(aSection); - } - else if ( aCommand==KCmdCreateContext ) - { - DoCmdCreateContextL(aSection); - } - else if ( aCommand==KCmdCurrentScreenMode ) - { - DoCmdCurrentScreenMode(aSection); - } - else if ( aCommand==KCmdGetCurrentScreenModeScale ) - { - DoCmdGetCurrentScreenModeScale(aSection); - } - else if ( aCommand==KCmdGetCurrentScreenModeScaledOrigin ) - { - DoCmdGetCurrentScreenModeScaledOrigin(aSection); - } - else if ( aCommand==KCmdGetDefaultScreenModeOrigin ) - { - DoCmdGetDefaultScreenModeOrigin(aSection); - } - else if ( aCommand==KCmdGetDefaultScreenSizeAndRotation ) - { - DoCmdGetDefaultScreenSizeAndRotation(aSection); - } - else if ( aCommand==KCmdGetFontById ) - { - DoCmdGetFontByIdL(aSection); - } - else if ( aCommand==KCmdGetRotationsList ) - { - DoCmdGetRotationsListL(aSection); - } - else if ( aCommand==KCmdGetScreenModeDisplayMode ) - { - DoCmdGetScreenModeDisplayMode(aSection); - } - else if ( aCommand==KCmdGetScreenModeOrigin ) - { - DoCmdGetScreenModeOrigin(aSection); - } - else if ( aCommand==KCmdGetScreenModeScale ) - { - DoCmdGetScreenModeScale(aSection); - } - else if ( aCommand==KCmdGetScreenModeScaledOrigin ) - { - DoCmdGetScreenModeScaledOrigin(aSection); - } - else if ( aCommand==KCmdGetScreenModeSizeAndRotation ) - { - DoCmdGetScreenModeSizeAndRotation(aSection); - } - else if ( aCommand==KCmdGetScreenNumber ) - { - DoCmdGetScreenNumber(aSection); - } - else if ( aCommand==KCmdGetScreenSizeModeList ) - { - DoCmdGetScreenSizeModeListL(aSection); - } - else if ( aCommand==KCmdNumScreenModes ) - { - DoCmdNumScreenModes(aSection); - } - else if ( aCommand==KCmdPointerRect ) - { - DoCmdPointerRect(aSection); - } - else if ( aCommand==KCmdRectCompare ) - { - DoCmdRectCompare(aSection); - } - else if ( aCommand==KCmdScreenModeEnforcement ) - { - DoCmdScreenModeEnforcement(aSection); - } - else if ( aCommand==KCmdSetAppScreenMode ) - { - DoCmdSetAppScreenMode(aSection); - } - else if ( aCommand==KCmdSetBackLight ) - { - DoCmdSetBackLight(aSection); - } - else if ( aCommand==KCmdSetCustomPalette ) - { - DoCmdSetCustomPaletteL(aSection); - } - else if ( aCommand==KCmdSetScreenSizeAndRotation ) - { - DoCmdSetScreenSizeAndRotation(aSection); - } - else if ( aCommand==KCmdcheckPixels ) - { - DoCmdcheckPixels(aSection); - } - else if ( aCommand==KCmdcheckLineColor ) - { - DoCmdcheckLineColor(aSection); - } - else if ( aCommand==KCmdcheckRectColor ) - { - DoCmdcheckRectColor(aSection); - } - else if ( CT_DataBitmapDevice::DoCommandL(aCommand, aSection, aAsyncErrorIndex) ) - { - } - else - { - ret=CT_DataWsClientClass::DoCommandL(*this, aCommand, aSection, aAsyncErrorIndex); - } - - return ret; - } - -/** -Test Constructor -*/ -void CT_DataWsScreenDevice::DoCmdnewL(const TDesC& aSection) - { - DestroyData(); - - // Get test data for command input parameter(s) - RWsSession* ws=NULL; - TPtrC wsName; - if ( GetStringFromConfig(aSection, KFldWs, wsName) ) - { - ws = static_cast(GetDataObjectL(wsName)); - } - - TInt err; - if ( ws!= NULL ) - { - // Execute command and log parameters - INFO_PRINTF1(_L("execute new CWsScreenDevice(RWsSession)")); - TRAP( err, iWsScreenDevice = new (ELeave) CWsScreenDevice(*ws) ); - } - else - { - // Execute command and log parameters - INFO_PRINTF1(_L("execute new CWsScreenDevice()")); - TRAP(err, iWsScreenDevice = new (ELeave) CWsScreenDevice()); - } - - if ( err!=KErrNone ) - { - ERR_PRINTF2(KLogError, err); - SetError(err); - } - } - -/** -Test Destructor -*/ -void CT_DataWsScreenDevice::DoCmdDestructor() - { - INFO_PRINTF1(_L("execute ~CWsScreenDevice()")); - DestroyData(); - } - -/** -Test Construct() -*/ -void CT_DataWsScreenDevice::DoCmdConstruct(const TDesC& aSection) - { - // Get test data for command input parameter(s) - TInt err=KErrNone; - - TInt datDefaultScreenNumber; - if ( GetIntFromConfig(aSection, KFldDefaultScreenNumber, datDefaultScreenNumber) ) - { - // Execute command and log parameters - INFO_PRINTF1(_L("execute Construct(TInt)")); - err=iWsScreenDevice->Construct(datDefaultScreenNumber); - } - else - { - // Execute command and log parameters - INFO_PRINTF1(_L("execute Construct()")); - err=iWsScreenDevice->Construct(); - } - - // Check the command return code. - if ( err!=KErrNone ) - { - ERR_PRINTF2(KLogError, err); - SetError(err); - } - } - -/** -Test CopyScreenToBitmap() -*/ -void CT_DataWsScreenDevice::DoCmdCopyScreenToBitmapL(const TDesC& aSection) - { - // Get test data for command input parameter(s) - CFbsBitmap* bitmap=NULL; - TBool hasBitmap=CT_GraphicsUtil::GetFbsBitmapL(*this, aSection, KFldBitmap, bitmap); - if ( !hasBitmap ) - { - ERR_PRINTF2(KLogMissingParameter, &KFldBitmap); - SetBlockResult(EFail); - } - else - { - // Execute command and log parameters - TInt err=KErrNone; - - TRect datRect; - if ( GetRectFromConfig(aSection, KFldRect, datRect) ) - { - INFO_PRINTF1(_L("execute CopyScreenToBitmap(CFbsBitmap, TRect)")); - err=iWsScreenDevice->CopyScreenToBitmap(bitmap, datRect); - } - else - { - INFO_PRINTF1(_L("execute CopyScreenToBitmap(CFbsBitmap)")); - err=iWsScreenDevice->CopyScreenToBitmap(bitmap); - } - - // Check the command return code. - if ( err!=KErrNone ) - { - ERR_PRINTF2(KLogError, err); - SetError(err); - } - } - } - -/** -Test CreateContext() -*/ -void CT_DataWsScreenDevice::DoCmdCreateContextL(const TDesC& aSection) - { - // Get test data for command input parameter(s) - TPtrC datWindowGc; - if ( !GetStringFromConfig(aSection, KFldWindowGc, datWindowGc) ) - { - //CT_DataBitmapDevice::DoCommandL(aCommand, aSection, aAsyncErrorIndex); - - // get BitmapUtilData object from parameters - if ( !GetStringFromConfig(aSection, KFldContext, datWindowGc) ) - { - ERR_PRINTF2(KLogMissingParameter, &KFldContext()); - SetBlockResult(EFail); - } - else - { - CGraphicsContext* context=NULL; - INFO_PRINTF1(_L("execute CreateContext(CGraphicsContext*&)")); - TInt returnCode=GetGraphicsDevice()->CreateContext(context); - // Check the command return code. - if ( returnCode!=KErrNone ) - { - ERR_PRINTF2(KLogError, returnCode); - SetError(returnCode); - } - else - { - SetDataObjectL(datWindowGc, context); - } - } - } - else - { - // Execute command and log parameters - CWindowGc* windowGc; - - INFO_PRINTF1(_L("execute CreateContext(CWindowGc)")); - TInt returnCode = iWsScreenDevice->CreateContext(windowGc); - - // Check the command return code. - if ( returnCode!=KErrNone ) - { - ERR_PRINTF2(KLogError, returnCode); - SetError(returnCode); - } - else - { - SetDataObjectL(datWindowGc, windowGc); - } - } - } - -/** -Test CurrentScreenMode() -*/ -void CT_DataWsScreenDevice::DoCmdCurrentScreenMode(const TDesC& aSection) - { - TInt actual=iWsScreenDevice->CurrentScreenMode(); - INFO_PRINTF2(_L("CurrentScreenMode()=%d"), actual); - - TInt expected; - if ( !GetIntFromConfig(aSection, KFldExpected, expected) ) - { - ERR_PRINTF2(KLogMissingParameter, &KFldExpected); - SetBlockResult(EFail); - } - else - { - if ( actual!=expected ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - } - -/** -Test GetCurrentScreenModeScale() -*/ -void CT_DataWsScreenDevice::DoCmdGetCurrentScreenModeScale(const TDesC& aSection) - { - TSize actual=iWsScreenDevice->GetCurrentScreenModeScale(); - INFO_PRINTF3(_L("GetCurrentScreenModeScale(TInt) height=%d width=%d"), actual.iHeight, actual.iWidth); - - TSize expected; - if ( !GetSizeFromConfig(aSection, KFldExpected, expected) ) - { - ERR_PRINTF2(KLogMissingParameter, &KFldExpected); - SetBlockResult(EFail); - } - else - { - if ( actual!=expected ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - } - -/** -Test GetCurrentScreenModeScaledOrigin() -*/ -void CT_DataWsScreenDevice::DoCmdGetCurrentScreenModeScaledOrigin(const TDesC& aSection) - { - TPoint actual=iWsScreenDevice->GetCurrentScreenModeScaledOrigin(); - INFO_PRINTF3(_L("GetCurrentScreenModeScaledOrigin() x=%d y=%d"), actual.iX, actual.iY); - - TPoint expected; - if ( !GetPointFromConfig(aSection, KFldExpected, expected) ) - { - ERR_PRINTF2(KLogMissingParameter, &KFldExpected); - SetBlockResult(EFail); - } - else - { - if ( actual!=expected ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - } - -/** -Test GetDefaultScreenModeOrigin() -*/ -void CT_DataWsScreenDevice::DoCmdGetDefaultScreenModeOrigin(const TDesC& aSection) - { - TPoint actual=iWsScreenDevice->GetDefaultScreenModeOrigin(); - INFO_PRINTF3(_L("GetDefaultScreenModeOrigin() x=%d y=%d"), actual.iX, actual.iY); - - TPoint expected; - if ( !GetPointFromConfig(aSection, KFldExpected, expected) ) - { - ERR_PRINTF2(KLogMissingParameter, &KFldExpected); - SetBlockResult(EFail); - } - else - { - if ( actual!=expected ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - } - -/** -Test GetDefaultScreenSizeAndRotation() -*/ -void CT_DataWsScreenDevice::DoCmdGetDefaultScreenSizeAndRotation(const TDesC& aSection) - { - CFbsBitGc::TGraphicsOrientation rotation; - TBool checkRotation=CT_GraphicsUtil::ReadGraphicsOrientation(*this, aSection, KFldRotation, rotation); - - TSize pixelSize; - TBool checkPixelSize=GetSizeFromConfig(aSection, KFldPixelSize, pixelSize); - - TBool twips=EFalse; - GetBoolFromConfig(aSection, KFldTwips, twips); - if ( twips ) - { - TPixelsTwipsAndRotation param; - iWsScreenDevice->GetDefaultScreenSizeAndRotation(param); - INFO_PRINTF2(_L("GetDefaultScreenSizeAndRotation(TPixelsTwipsAndRotation) Rotation=%d"), param.iRotation); - INFO_PRINTF3(_L("Pixel height=%d width=%d"), param.iPixelSize.iHeight, param.iPixelSize.iWidth); - INFO_PRINTF3(_L("Twips height=%d width=%d"), param.iTwipsSize.iHeight, param.iTwipsSize.iWidth); - - if ( checkRotation ) - { - if ( rotation!=param.iRotation ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - - if ( checkPixelSize ) - { - if ( pixelSize!=param.iPixelSize ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - - TSize twipsSize; - if ( GetSizeFromConfig(aSection, KFldTwipsSize, twipsSize) ) - { - if ( twipsSize!=param.iTwipsSize ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - } - else - { - TPixelsAndRotation param; - iWsScreenDevice->GetDefaultScreenSizeAndRotation(param); - INFO_PRINTF2(_L("GetDefaultScreenSizeAndRotation(TPixelsAndRotation) Rotation=%d"), param.iRotation); - INFO_PRINTF3(_L("Pixel height=%d width=%d"), param.iPixelSize.iHeight, param.iPixelSize.iWidth); - - if ( checkRotation ) - { - if ( rotation!=param.iRotation ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - - if ( checkPixelSize ) - { - if ( pixelSize!=param.iPixelSize ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - } - } - -/** -Test GetFontById() -*/ -void CT_DataWsScreenDevice::DoCmdGetFontByIdL(const TDesC& aSection) - { - INFO_PRINTF1(_L("Call GetFontById()")); - TBool dataOk=ETrue; - - // get font uid from parameters - TInt fontUid; - if(!GetIntFromConfig(aSection, KFldFontUid(), fontUid)) - { - dataOk=EFalse; - ERR_PRINTF2(_L("No %S"), &KFldFontUid()); - SetBlockResult(EFail); - } - // get TAlgStyle from parameters - TAlgStyle* algStyle=NULL; - CT_GraphicsUtil::GetAlgStyleL(*this, aSection, KFldAlgStyle(), algStyle); - if ( algStyle==NULL ) - { - dataOk=EFalse; - ERR_PRINTF2(_L("No %S"), &KFldAlgStyle()); - SetBlockResult(EFail); - } - // get font wrapper name - TPtrC datFbsFont; - if( !GetStringFromConfig(aSection, KFldFont, datFbsFont) ) - { - ERR_PRINTF2(KLogMissingParameter, &KFldFont()); - SetBlockResult(EFail); - } - // call GetFontById() - else - { - if ( dataOk ) - { - CFont* fbsFont=NULL; - INFO_PRINTF1(_L("execute GetFontById(CFont *&aFont, TUid aUid, const TAlgStyle &aAlgStyle)")); - TInt err = iWsScreenDevice->GetFontById(fbsFont, TUid::Uid(fontUid), *algStyle); - - if ( err!=KErrNone ) - { - ERR_PRINTF2(KLogError, err); - SetError(err); - } - else - { - SetDataObjectL(datFbsFont, fbsFont); - } - } - } - } - -/** -Test GetRotationsList() -*/ -void CT_DataWsScreenDevice::DoCmdGetRotationsListL(const TDesC& aSection) - { - CArrayFixFlat* rotations=new(ELeave) CArrayFixFlat(1); - CleanupStack::PushL(rotations); - - TInt mode=0; - if ( !GetIntFromConfig(aSection, KFldMode, mode) ) - { - ERR_PRINTF2(KLogMissingParameter, &KFldMode); - SetBlockResult(EFail); - } - else - { - TInt err=iWsScreenDevice->GetRotationsList(mode, rotations); - if ( err!=KErrNone ) - { - ERR_PRINTF2(KLogError, err); - SetError(err); - } - else - { - INFO_PRINTF2(_L("GetRotationsList count=%d"), rotations->Count()); - TInt expectedCount; - if ( GetIntFromConfig(aSection, KFldExpectedCount, expectedCount) ) - { - if ( expectedCount!=rotations->Count() ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - else - { - INFO_PRINTF1(_L("Check elements in the rotations list")); - TBuf tempStore; - - TBool ok=ETrue; - for ( TInt index = 0; (index < expectedCount) && (ok); ) - { - tempStore.Format(KFormatFieldNumber, &KFldRotation, ++index); - - CFbsBitGc::TGraphicsOrientation rotation; - ok = CT_GraphicsUtil::ReadGraphicsOrientation(*this, aSection, tempStore, rotation); - if ( !ok ) - { - ERR_PRINTF2(KLogMissingParameter, &tempStore); - SetBlockResult(EFail); - } - else - { - if( rotation != (*rotations)[index-1]) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - ok = EFalse; - } - } - } - } - } - } - } - - CleanupStack::PopAndDestroy(); - } - -/** -Test GetScreenModeDisplayMode() -*/ -void CT_DataWsScreenDevice::DoCmdGetScreenModeDisplayMode(const TDesC& aSection) - { - TInt mode=0; - if ( !GetIntFromConfig(aSection, KFldMode, mode) ) - { - ERR_PRINTF2(KLogMissingParameter, &KFldMode); - SetBlockResult(EFail); - } - else - { - TDisplayMode actual=iWsScreenDevice->GetScreenModeDisplayMode(mode); - INFO_PRINTF2(_L("GetScreenModeDisplayMode(TInt)=%d"), actual); - - TDisplayMode expected; - if ( !CT_GraphicsUtil::ReadDisplayMode(*this, aSection, KFldExpected, expected) ) - { - ERR_PRINTF2(KLogMissingParameter, &KFldExpected); - SetBlockResult(EFail); - } - else - { - if ( actual!=expected ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - } - } - -/** -Test GetScreenModeOrigin() -*/ -void CT_DataWsScreenDevice::DoCmdGetScreenModeOrigin(const TDesC& aSection) - { - TInt mode=0; - if ( !GetIntFromConfig(aSection, KFldMode, mode) ) - { - ERR_PRINTF2(KLogMissingParameter, &KFldMode); - SetBlockResult(EFail); - } - else - { - TPoint actual=iWsScreenDevice->GetScreenModeOrigin(mode); - INFO_PRINTF3(_L("GetScreenModeOrigin(TInt) x=%d y=%d"), actual.iX, actual.iY); - - TPoint expected; - if ( !GetPointFromConfig(aSection, KFldExpected, expected) ) - { - ERR_PRINTF2(KLogMissingParameter, &KFldExpected); - SetBlockResult(EFail); - } - else - { - if ( actual!=expected ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - } - } - -/** -Test GetScreenModeScale() -*/ -void CT_DataWsScreenDevice::DoCmdGetScreenModeScale(const TDesC& aSection) - { - TInt mode=0; - if ( !GetIntFromConfig(aSection, KFldMode, mode) ) - { - ERR_PRINTF2(KLogMissingParameter, &KFldMode); - SetBlockResult(EFail); - } - else - { - TSize actual=iWsScreenDevice->GetScreenModeScale(mode); - INFO_PRINTF3(_L("GetScreenModeScale(TInt) height=%d width=%d"), actual.iHeight, actual.iWidth); - - TSize expected; - if ( !GetSizeFromConfig(aSection, KFldExpected, expected) ) - { - ERR_PRINTF2(KLogMissingParameter, &KFldExpected); - SetBlockResult(EFail); - } - else - { - if ( actual!=expected ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - } - } - -/** -Test GetScreenModeScaledOrigin() -*/ -void CT_DataWsScreenDevice::DoCmdGetScreenModeScaledOrigin(const TDesC& aSection) - { - TInt mode=0; - if ( !GetIntFromConfig(aSection, KFldMode, mode) ) - { - ERR_PRINTF2(KLogMissingParameter, &KFldMode); - SetBlockResult(EFail); - } - else - { - TPoint actual=iWsScreenDevice->GetScreenModeScaledOrigin(mode); - INFO_PRINTF3(_L("GetScreenModeScaledOrigin(TInt) x=%d y=%d"), actual.iX, actual.iY); - - TPoint expected; - if ( !GetPointFromConfig(aSection, KFldExpected, expected) ) - { - ERR_PRINTF2(KLogMissingParameter, &KFldExpected); - SetBlockResult(EFail); - } - else - { - if ( actual!=expected ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - } - } - -/** -Test GetScreenModeSizeAndRotation() -*/ -void CT_DataWsScreenDevice::DoCmdGetScreenModeSizeAndRotation(const TDesC& aSection) - { - TInt mode=0; - if ( !GetIntFromConfig(aSection, KFldMode, mode) ) - { - ERR_PRINTF2(KLogMissingParameter, &KFldMode); - SetBlockResult(EFail); - } - - CFbsBitGc::TGraphicsOrientation rotation; - TBool checkRotation=CT_GraphicsUtil::ReadGraphicsOrientation(*this, aSection, KFldRotation, rotation); - - TSize pixelSize; - TBool checkPixelSize=GetSizeFromConfig(aSection, KFldPixelSize, pixelSize); - - TBool twips=EFalse; - GetBoolFromConfig(aSection, KFldTwips, twips); - if ( twips ) - { - TPixelsTwipsAndRotation param; - iWsScreenDevice->GetScreenModeSizeAndRotation(mode, param); - INFO_PRINTF2(_L("GetScreenModeSizeAndRotation(TInt, TPixelsTwipsAndRotation) Rotation=%d"), param.iRotation); - INFO_PRINTF3(_L("Pixel height=%d width=%d"), param.iPixelSize.iHeight, param.iPixelSize.iWidth); - INFO_PRINTF3(_L("Twips height=%d width=%d"), param.iTwipsSize.iHeight, param.iTwipsSize.iWidth); - - if ( checkRotation ) - { - if ( rotation!=param.iRotation ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - - if ( checkPixelSize ) - { - if ( pixelSize!=param.iPixelSize ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - - TSize twipsSize; - if ( GetSizeFromConfig(aSection, KFldTwipsSize, twipsSize) ) - { - if ( twipsSize!=param.iTwipsSize ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - } - else - { - TPixelsAndRotation param; - iWsScreenDevice->GetScreenModeSizeAndRotation(mode, param); - INFO_PRINTF2(_L("GetScreenModeSizeAndRotation(TInt, TPixelsAndRotation) Rotation=%d"), param.iRotation); - INFO_PRINTF3(_L("Pixel height=%d width=%d"), param.iPixelSize.iHeight, param.iPixelSize.iWidth); - - if ( checkRotation ) - { - if ( rotation!=param.iRotation ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - - if ( checkPixelSize ) - { - if ( pixelSize!=param.iPixelSize ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - } - } - -/** -Test GetScreenNumber() -*/ -void CT_DataWsScreenDevice::DoCmdGetScreenNumber(const TDesC& aSection) - { - // Execute command and log parameters - TInt actual=iWsScreenDevice->GetScreenNumber(); - INFO_PRINTF2(_L("execute GetScreenNumber()=%d"), actual); - - // Diaplay command return value, check if it matches the expected value - TInt expected; - if ( !GetIntFromConfig(aSection, KFldExpected, expected) ) - { - ERR_PRINTF2(KLogMissingParameter, &KFldExpected); - SetBlockResult(EFail); - } - else - { - if ( actual!=expected ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - } - -/** -Test GetScreenSizeModeList() -*/ -void CT_DataWsScreenDevice::DoCmdGetScreenSizeModeListL(const TDesC& aSection) - { - RArray screenModes; - CleanupClosePushL(screenModes); - - TInt number = iWsScreenDevice->GetScreenSizeModeList(&screenModes); - - if (number < 0) - { - ERR_PRINTF2(KLogError, number); - SetError(number); - } - else - { - INFO_PRINTF2(_L("GetScreenSizeModeList count=%d"), screenModes.Count()); - TInt expectedCount; - if ( GetIntFromConfig(aSection, KFldExpectedCount, expectedCount) ) - { - if ( expectedCount!=screenModes.Count() || expectedCount != number) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - else - { - INFO_PRINTF1(_L("Check elements in the modes list")); - TBuf tempStore; - - TBool ok=ETrue; - for ( TInt index = 0; (index < number) && (ok); ) - { - tempStore.Format(KFormatFieldNumber, &KFldMode, ++index); - - TInt expectedMode = 0; - ok=GetIntFromConfig(aSection, tempStore, expectedMode); - if ( !ok ) - { - ERR_PRINTF2(KLogMissingParameter, &tempStore); - SetBlockResult(EFail); - } - else - { - if( expectedMode != screenModes[index-1]) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - ok = EFalse; - } - } - } - } - } - } - - CleanupStack::PopAndDestroy(&screenModes); - } - -/** -Test NumScreenModes() -*/ -void CT_DataWsScreenDevice::DoCmdNumScreenModes(const TDesC& aSection) - { - TInt actual=iWsScreenDevice->NumScreenModes(); - INFO_PRINTF2(_L("NumScreenModes()=%d"), actual); - - TInt expected; - if ( GetIntFromConfig(aSection, KFldExpected, expected) ) - { - if ( actual!=expected ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - } - -/** -Test PointerRect() -*/ -void CT_DataWsScreenDevice::DoCmdPointerRect(const TDesC& aSection) - { - TRect actual=iWsScreenDevice->PointerRect(); - LogRect(_L("PointerRect()"), actual); - - TRect expected; - if ( GetRectFromConfig(aSection, KFldExpected, expected) ) - { - if ( actual!=expected ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - } - -/** -Test RectCompare() -*/ -void CT_DataWsScreenDevice::DoCmdRectCompare(const TDesC& aSection) - { - TBool dataOk=ETrue; - - // Get test data for command input parameter(s) - TRect datRect1; - if ( !GetRectFromConfig(aSection, KFldRect1, datRect1) ) - { - dataOk=EFalse; - ERR_PRINTF2(KLogMissingParameter, &KFldRect1); - SetBlockResult(EFail); - } - - TRect datRect2; - if ( !GetRectFromConfig(aSection, KFldRect2, datRect2) ) - { - dataOk=EFalse; - ERR_PRINTF2(KLogMissingParameter, &KFldRect2); - SetBlockResult(EFail); - } - - if ( dataOk ) - { - TBool actual=EFalse; - - // Execute command and log parameters - TUint datFlags; - if ( CT_GraphicsUtil::ReadSpriteInCompare(*this, aSection, KFldFlags, datFlags) ) - { - actual=iWsScreenDevice->RectCompare(datRect1, datRect2, datFlags); - INFO_PRINTF2(_L("execute RectCompare(TRect, TRect, TUint)=%d"), actual); - } - else - { - actual=iWsScreenDevice->RectCompare(datRect1, datRect2); - INFO_PRINTF2(_L("execute RectCompare(TRect, TRect)=%d"), actual); - } - - // Diaplay command return value, check if it matches the expected value - TBool expected; - if ( !GetBoolFromConfig(aSection, KFldExpected, expected) ) - { - ERR_PRINTF2(KLogMissingParameter, &KFldExpected); - SetBlockResult(EFail); - } - else - { - if ( actual!=expected ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - } - } - -/** -Test ScreenModeEnforcement() -*/ -void CT_DataWsScreenDevice::DoCmdScreenModeEnforcement(const TDesC& aSection) - { - TScreenModeEnforcement actual=iWsScreenDevice->ScreenModeEnforcement(); - INFO_PRINTF2(_L("execute ScreenModeEnforcement()=%d"), actual); - - TScreenModeEnforcement expected; - if ( CT_GraphicsUtil::ReadScreenModeEnforcement(*this, aSection, KFldExpected, expected) ) - { - if ( actual!=expected ) - { - ERR_PRINTF1(KLogNotExpectedValue); - SetBlockResult(EFail); - } - } - } - -/** -Test SetAppScreenMode() -*/ -void CT_DataWsScreenDevice::DoCmdSetAppScreenMode(const TDesC& aSection) - { - TInt mode; - if ( !GetIntFromConfig(aSection, KFldMode, mode) ) - { - ERR_PRINTF2(KLogMissingParameter, &KFldRect2); - SetBlockResult(EFail); - } - else - { - INFO_PRINTF1(_L("SetAppScreenMode()")); - iWsScreenDevice->SetAppScreenMode(mode); - } - } - -/** -Test SetBackLight() -*/ -void CT_DataWsScreenDevice::DoCmdSetBackLight(const TDesC& aSection) - { - TBool backLight; - if ( !GetBoolFromConfig(aSection, KFldBackLight, backLight) ) - { - ERR_PRINTF2(KLogMissingParameter, &KFldBackLight); - SetBlockResult(EFail); - } - else - { - TInt err=iWsScreenDevice->SetBackLight(backLight); - if ( err!=KErrNone ) - { - ERR_PRINTF2(KLogError, err); - SetError(err); - } - } - } - -/** -Test SetCustomPalette() -*/ -void CT_DataWsScreenDevice::DoCmdSetCustomPaletteL(const TDesC& aSection) - { - INFO_PRINTF1(_L("Calls CWsScreenDevice::SetCustomPalette() by previously created palette")); - - // get CPalette object passed as a parameter - CPalette* palette = NULL; - - if(!CT_GraphicsUtil::GetPaletteL(*this, aSection, KFldPalette(), palette)) - { - ERR_PRINTF2(KLogMissingParameter, &KFldPalette); - SetBlockResult(EFail); - } - else - { - // call SetPalette() - TInt err = iWsScreenDevice->SetCustomPalette(palette); - if(err != KErrNone) - { - ERR_PRINTF2(KLogError, err); - SetError(err); - } - } - } - -/** -Test SetScreenSizeAndRotation() -*/ -void CT_DataWsScreenDevice::DoCmdSetScreenSizeAndRotation(const TDesC& aSection) - { - TBool dataOk=ETrue; - - CFbsBitGc::TGraphicsOrientation rotation; - if ( !CT_GraphicsUtil::ReadGraphicsOrientation(*this, aSection, KFldRotation, rotation) ) - { - dataOk=EFalse; - ERR_PRINTF2(KLogMissingParameter, &KFldRotation); - SetBlockResult(EFail); - } - - TSize pixelSize; - if ( !GetSizeFromConfig(aSection, KFldPixelSize, pixelSize) ) - { - dataOk=EFalse; - ERR_PRINTF2(KLogMissingParameter, &KFldPixelSize); - SetBlockResult(EFail); - } - - if ( dataOk ) - { - TSize twipsSize; - if ( GetSizeFromConfig(aSection, KFldTwipsSize, twipsSize) ) - { - TPixelsTwipsAndRotation param; - param.iPixelSize=pixelSize; - param.iRotation=rotation; - param.iTwipsSize=twipsSize; - INFO_PRINTF1(_L("execute SetScreenSizeAndRotation(const TPixelsTwipsAndRotation&)")); - iWsScreenDevice->SetScreenSizeAndRotation(param); - } - else - { - TPixelsAndRotation param; - param.iPixelSize=pixelSize; - param.iRotation=rotation; - INFO_PRINTF1(_L("execute SetScreenSizeAndRotation(const TPixelsAndRotation&)")); - iWsScreenDevice->SetScreenSizeAndRotation(param); - } - } - } - -/** -* The source codes hereafter are NOT simple wrapper functions of CWsScreenDevice class, -* but use combinations of CWsScreenDevice (and other) class functions to check if what -* take from the CWsScreenDevice matches with the expected value specified in TEF testdata. -* -*/ - -/** -* DoCmdcheckPixels: to check the color of specified pixels on the screen device, and compare -* with the expected color specidied in the TEF testdata. -* pixel: specify the position of the screen device to check -* expected: specify the expected color to be compared with -* -*/ -void CT_DataWsScreenDevice::DoCmdcheckPixels(const TDesC& aSection) - { - TBuf tempStore; - - TBool moreData=ETrue; - for ( TInt index=1; moreData; ++index ) - { - // get the pixel position on the screen to check/verify - tempStore.Format(KFldFormatFieldNumber, &KFldPixel, index); - TPoint point; - if ( !GetPointFromConfig(aSection, tempStore, point) ) - { - moreData=EFalse; - } - else - { - TRgb actual; - iWsScreenDevice->GetPixel(actual, point); - - tempStore.Format(KFldFormatFieldNumber, &KFldExpected, index); - TRgb expected; - if ( GetRgbFromConfig(aSection, tempStore, expected) ) - { - if ( actual!=expected ) - { - ERR_PRINTF5(KLogColor, actual.Red(), actual.Green(), actual.Blue(), actual.Alpha()); - ERR_PRINTF5(KLogColor, expected.Red(), expected.Green(), expected.Blue(), expected.Alpha()); - SetBlockResult(EFail); - } - } - } - } - } - -/** -* DoCmdcheckLineColor: to check the color of specified lines on the screen device, and compare -* with the expected color specidied in the TEF testdata. -* start: specify the starting position of the line on the screen device to check -* finish: specify the finish position of the line on the screen device to check -* expected: specify the expected color to be compared with -* Note: the straight line (from start to the finish points) is constructed by TLinearDDA -* -*/ -void CT_DataWsScreenDevice::DoCmdcheckLineColor(const TDesC& aSection) - { - TBuf tempStore; - - CPalette* palette=NULL; - iWsScreenDevice->GetPalette(palette); - - TBool moreData=ETrue; - for ( TInt index=1; moreData; ++index ) - { - // get the the start and finish points of the line to check/verify - tempStore.Format(KFldFormatFieldNumber, &KFldStart, index); - TPoint startPoint; - if ( !GetPointFromConfig(aSection, tempStore, startPoint) ) - { - moreData=EFalse; - } - - tempStore.Format(KFldFormatFieldNumber, &KFldFinish, index); - TPoint endPoint; - if ( !GetPointFromConfig(aSection, tempStore, endPoint) ) - { - moreData=EFalse; - } - - if ( moreData ) - { - // get the expected color from testdata - tempStore.Format(KFldFormatFieldNumber, &KFldExpected, index); - TRgb expected; - if ( !GetRgbFromConfig(aSection, tempStore, expected) ) - { - ERR_PRINTF2(KLogMissingParameter, &tempStore); - SetBlockResult(EFail); - } - else - { - if ( palette!=NULL ) - { - expected=palette->NearestEntry(expected); - } - - TLinearDDA lineDDA; - lineDDA.Construct(startPoint, endPoint, TLinearDDA::ECenter); - - // for each pixels on the line (from start to finish points), check if its color matches expected - TPoint point; - while ( !lineDDA.SingleStep(point) ) - { - TRgb actual; - iWsScreenDevice->GetPixel(actual, point); - - if ( actual!=expected ) - { - ERR_PRINTF5(KLogColor, actual.Red(), actual.Green(), actual.Blue(), actual.Alpha()); - ERR_PRINTF5(KLogColor, expected.Red(), expected.Green(), expected.Blue(), expected.Alpha()); - ERR_PRINTF3(KLogPoint, point.iX, point.iY); - SetBlockResult(EFail); - } - } - } - } - } - - delete palette; - } - -/** -* DoCmdcheckRectColor: to check the color of specified rectangle on the screen device, and -* compare with the expected color specidied in the TEF testdata. -* rect: specify the rectangle area on the screen device to check -* expected: specify the expected color to be compared with -* -*/ -void CT_DataWsScreenDevice::DoCmdcheckRectColor(const TDesC& aSection) - { - TBuf tempStore; - - CPalette* palette=NULL; - iWsScreenDevice->GetPalette(palette); - - TBool moreData=ETrue; - for ( TInt index=1; moreData; ++index ) - { - // get the the rectangle to check/verify - tempStore.Format(KFldFormatFieldNumber, &KFldRect, index); - TRect rect; - if ( !GetRectFromConfig(aSection, tempStore, rect) ) - { - moreData=EFalse; - } - else - { - // get the expected color from testdata - tempStore.Format(KFldFormatFieldNumber, &KFldExpected, index); - TRgb expected; - if ( !GetRgbFromConfig(aSection, tempStore, expected) ) - { - ERR_PRINTF2(KLogMissingParameter, &tempStore); - SetBlockResult(EFail); - } - else - { - if ( palette!=NULL ) - { - expected=palette->NearestEntry(expected); - } - - TPoint point; - for ( point.iX=rect.iTl.iX; point.iXGetPixel(actual, point); - - if ( actual!=expected ) - { - ERR_PRINTF5(KLogColor, actual.Red(), actual.Green(), actual.Blue(), actual.Alpha()); - ERR_PRINTF5(KLogColor, expected.Red(), expected.Green(), expected.Blue(), expected.Alpha()); - ERR_PRINTF3(KLogPoint, point.iX, point.iY); - SetBlockResult(EFail); - } - } - } - } - } - } - - delete palette; - }