diff -r bf7481649c98 -r 2717213c588a graphicsapitest/graphicssvs/bitgdi/src/T_DataFbsScreenDevice.cpp --- a/graphicsapitest/graphicssvs/bitgdi/src/T_DataFbsScreenDevice.cpp Fri Jun 11 14:58:47 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,502 +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: -* -*/ - -/** -@test -@internalComponent - -This contains CT_DataFbsScreenDevice -*/ - -// User includes -#include "T_DataFbsScreenDevice.h" -#include "T_GraphicsUtil.h" - -/*@{*/ -//Commands -_LIT(KCmdNewL, "NewL"); -_LIT(KCmdDestructor, "~"); - -_LIT(KCmdChangeScreenDevice, "ChangeScreenDevice"); -_LIT(KCmdDrawSpriteBegin, "DrawSpriteBegin"); -_LIT(KCmdDrawSpriteEnd, "DrawSpriteEnd"); -_LIT(KCmdHardwareBitmap, "HardwareBitmap"); -_LIT(KCmdScreenNo, "ScreenNo"); -_LIT(KCmdSetAutoUpdate, "SetAutoUpdate"); -_LIT(KCmdUpdate, "Update"); -_LIT(KCmdCancelSprite, "CancelSprite"); -_LIT(KCmdHideSprite, "HideSprite"); -_LIT(KCmdShowSprite, "ShowSprite"); - -_LIT(KCmdDisown, "disown"); - -//Fields -_LIT(KFldExpected, "expected"); -_LIT(KLibName, "libname"); -_LIT(KScreenNumber, "screen_number"); -_LIT(KRgbColorRed, "rgb_red"); -_LIT(KRgbColorGreen, "rgb_green"); -_LIT(KRgbColorBlue, "rgb_blue"); -_LIT(KDisplayMode, "displaymode"); -_LIT(KAutoUpdate, "autoupdate"); -_LIT(KRegion, "region"); -_LIT(KFbsScreenDevice, "FbsScrDevName"); -_LIT(KFldRect, "rect"); -_LIT(KFldRegion, "region"); -_LIT(KSpriteBase, "spritebase"); - -//Logging -_LIT(KLogMissingParameter, "Missing parameter '%S'"); - -/*@}*/ -/** -* Two phase constructor -*/ -CT_DataFbsScreenDevice* CT_DataFbsScreenDevice::NewL() - { - CT_DataFbsScreenDevice* ret = new (ELeave) CT_DataFbsScreenDevice(); - CleanupStack::PushL(ret); - ret->ConstructL(); - CleanupStack::Pop(ret); - return ret; - } - -/** -* Protected constructor. First phase construction -*/ -CT_DataFbsScreenDevice::CT_DataFbsScreenDevice() -: CT_DataFbsDevice() -, iFbsScreenDevice(NULL) - { - } - -/** -* Protected second phase construction -*/ -void CT_DataFbsScreenDevice::ConstructL() - { - } - -/** - * Set the object that the data wraps - * - * @param aObject object that the wrapper is testing - * - */ -void CT_DataFbsScreenDevice::SetObjectL(TAny* aAny) - { - DestroyData(); - iFbsScreenDevice = static_cast (aAny); - } - -void CT_DataFbsScreenDevice::DisownObjectL() - { - iFbsScreenDevice = NULL; - } - -/** -* Destructor. -*/ -CT_DataFbsScreenDevice::~CT_DataFbsScreenDevice() - { - DestroyData(); - } - -void CT_DataFbsScreenDevice::DestroyData() - { - delete iFbsScreenDevice; - iFbsScreenDevice=NULL; - } - -MGraphicsDeviceMap* CT_DataFbsScreenDevice::GetGraphicsDeviceMap() const - { - return iFbsScreenDevice; - } - -CGraphicsDevice* CT_DataFbsScreenDevice::GetGraphicsDevice() const - { - return iFbsScreenDevice; - } - -CBitmapDevice* CT_DataFbsScreenDevice::GetBitmapDevice() const - { - return iFbsScreenDevice; - } - -CFbsDevice* CT_DataFbsScreenDevice::GetFbsDevice() const - { - return iFbsScreenDevice; - } - -/** -* Return a pointer to the object that the data wraps -* -* @return pointer to the object that the data wraps -*/ -TAny* CT_DataFbsScreenDevice::GetObject() - { - return iFbsScreenDevice; - } - -/** -* Process a command read from the ini file -* -* @param aDataWrapper test step requiring command to be processed -* @param aCommand the command to process -* @param aSection the entry in the ini file requiring the command to be processed -* -* @return ETrue if the command is processed -*/ -TBool CT_DataFbsScreenDevice::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex) - { - /* Another work package will complete the implement of this */ - TBool retVal = ETrue; - - if ( aCommand == KCmdNewL ) - { - DoCmdNew(aSection); - } - else if (aCommand == KCmdDestructor) - { - DoCmdDestructor(); - } - else if (aCommand == KCmdChangeScreenDevice) - { - DoCmdChangeScreenDeviceL(aSection); - } - else if (aCommand == KCmdDrawSpriteBegin) - { - DoCmdDrawSpriteBegin(); - } - else if (aCommand == KCmdDrawSpriteEnd) - { - DoCmdDrawSpriteEnd(); - } - else if (aCommand == KCmdHardwareBitmap) - { - DoCmdHardwareBitmap(); - } - else if (aCommand == KCmdScreenNo) - { - DoCmdScreenNo(aSection); - } - else if (aCommand == KCmdSetAutoUpdate) - { - DoCmdSetAutoUpdate(aSection); - } - else if (aCommand == KCmdUpdate) - { - DoCmdUpdateL(aSection); - } - else if (aCommand == KCmdCancelSprite) - { - DoCmdCancelSprite(); - } - else if (aCommand == KCmdHideSprite) - { - DoCmdHideSpriteL(aSection); - } - else if (aCommand == KCmdShowSprite) - { - DoCmdShowSpriteL(aSection); - } - else if (aCommand == KCmdDisown) - { - DisownObjectL(); - } - else - { - retVal = CT_DataFbsDevice::DoCommandL(aCommand, aSection, aAsyncErrorIndex); - } - - return retVal; - } - -void CT_DataFbsScreenDevice::DoCmdNew(const TDesC& aSection) - { - DestroyData(); - - // get display mode from parameters - TDisplayMode displayMode=ENone; - TBool hasDisplayMode=CT_GraphicsUtil::ReadDisplayMode(*this, aSection, KDisplayMode(), displayMode); - - // get lib name from parameters - - TPtrC libName; - TBool hasLibName=GetStringFromConfig(aSection, KLibName(), libName); - - TBool useRgb = EFalse; - - TInt red = 0; - if(GetIntFromConfig(aSection, KRgbColorRed(), red)) - { - useRgb=ETrue; - } - - TInt green = 0; - if(GetIntFromConfig(aSection, KRgbColorGreen(), green)) - { - useRgb=ETrue; - } - - TInt blue = 0; - if(GetIntFromConfig(aSection, KRgbColorBlue(), blue)) - { - useRgb = ETrue; - } - - // get screen number from parameters - TInt screenNumber = 0; - GetIntFromConfig(aSection, KScreenNumber(), screenNumber); - - TInt err=KErrNone; - if ( !hasDisplayMode ) - { - // Find the best display mode - for ( TDisplayMode testMode=TDisplayMode(ENone+1); testMode(GetDataObjectL(FbsScreenDevNameOld)); - INFO_PRINTF1(_L("FbsScreenDevice::ChangeScreenDevice(CFbsScreenDevice *aOldDevice) is called!")); - iFbsScreenDevice->ChangeScreenDevice(FbsScreenDevOld); - } - else - { - INFO_PRINTF2(KLogMissingParameter, &KFbsScreenDevice); - SetBlockResult(EFail); - } - } - -void CT_DataFbsScreenDevice::DoCmdDrawSpriteBegin() - { - INFO_PRINTF1(_L("FbsScreenDevice::DrawSpriteBegin() is called!")); - iFbsScreenDevice->DrawSpriteBegin(); - } - -void CT_DataFbsScreenDevice::DoCmdDrawSpriteEnd() - { - INFO_PRINTF1(_L("FbsScreenDevice::DrawSpriteEnd() is called!")); - iFbsScreenDevice->DrawSpriteEnd(); - } - -void CT_DataFbsScreenDevice::DoCmdHardwareBitmap() - { - INFO_PRINTF1(_L("FbsScreenDevice::HardwareBitmap() is called!")); - RHardwareBitmap handle = iFbsScreenDevice->HardwareBitmap(); - INFO_PRINTF2(_L("The actual handle from HardwareBitmap() is %d"), handle.iHandle); - } - -void CT_DataFbsScreenDevice::DoCmdScreenNo(const TDesC& aSection) - { - // Execute command and log parameters - INFO_PRINTF1(_L("FbsScreenDevice::ScreenNo() is called!")); - TInt actual = iFbsScreenDevice->ScreenNo(); - INFO_PRINTF2(_L("The actual result of ScreenNo() is %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_PRINTF3(_L("The expected result %d is not equal to the actual result %d!"), expected, actual); - SetBlockResult(EFail); - } - } - } - -void CT_DataFbsScreenDevice::DoCmdSetAutoUpdate(const TDesC& aSection) - { - TBool autoupdate; - if (!GetBoolFromConfig(aSection, KAutoUpdate, autoupdate)) - { - ERR_PRINTF2(KLogMissingParameter, &KAutoUpdate); - SetBlockResult(EFail); - } - else - { - iFbsScreenDevice->SetAutoUpdate(autoupdate); - INFO_PRINTF2(_L("FbsScreenDevice::SetAutoUpdate(%d) has been called."), autoupdate); - } - } - -void CT_DataFbsScreenDevice::DoCmdUpdateL(const TDesC& aSection) - { - RRegion region(1); - CleanupClosePushL(region); - - if (GetRegionFromConfig(aSection, KRegion(), region)) - { - INFO_PRINTF1(_L("FbsScreenDevice::Update(const TRegion &aRegion) has been called.")); - iFbsScreenDevice->Update(region); - } - else - { - INFO_PRINTF1(_L("FbsScreenDevice::Update() has been called.")); - iFbsScreenDevice->Update(); - } - CleanupStack::PopAndDestroy(®ion); - } - -void CT_DataFbsScreenDevice::DoCmdCancelSprite() - { - INFO_PRINTF1(_L("execute CancelSprite()!")); - iFbsScreenDevice->CancelSprite(); - } - -void CT_DataFbsScreenDevice::DoCmdHideSpriteL(const TDesC& aSection) - { - TRect datRect; - RRegion datRegion(1); - CleanupClosePushL(datRegion); - - if (GetRectFromConfig(aSection, KFldRect, datRect)) - { - if (GetRegionFromConfig(aSection, KFldRegion, datRegion)) - { - INFO_PRINTF1(_L("execute HideSprite(const TRect &aRect, const TRegion *aClippingRegion)!")); - TSpriteBase* spritebase = iFbsScreenDevice->HideSprite(datRect, &datRegion); - } - else - { - ERR_PRINTF2(KLogMissingParameter, &KFldRegion); - SetBlockResult(EFail); - } - } - else - { - INFO_PRINTF1(_L("execute HideSprite(void)!")); - TSpriteBase* spritebase = iFbsScreenDevice->HideSprite(); - } - - CleanupStack::PopAndDestroy(&datRegion); - } - - -void CT_DataFbsScreenDevice::DoCmdShowSpriteL(const TDesC& aSection) - { - TSpriteBase* spritebase = NULL; - TPtrC SpriteBase; - TRect datRect; - RRegion datRegion(1); - CleanupClosePushL(datRegion); - - if (GetStringFromConfig(aSection, KSpriteBase, SpriteBase)) - { - spritebase = static_cast(GetDataObjectL(SpriteBase)); - } - else - { - ERR_PRINTF2(KLogMissingParameter, &KSpriteBase); - SetBlockResult(EFail); - } - - if (GetRectFromConfig(aSection, KFldRect, datRect)) - { - if (GetRegionFromConfig(aSection, KFldRegion, datRegion)) - { - INFO_PRINTF1(_L("execute ShowSprite(TSpriteBase*, const TRect&, const TRegion*)!")); - iFbsScreenDevice->ShowSprite(spritebase, datRect, &datRegion); - } - else - { - ERR_PRINTF2(KLogMissingParameter, &KFldRegion); - SetBlockResult(EFail); - } - } - else - { - INFO_PRINTF1(_L("execute ShowSprite(TSpriteBase*)!")); - iFbsScreenDevice->ShowSprite(spritebase); - } - CleanupStack::PopAndDestroy(&datRegion); - }