diff -r 000000000000 -r 15bf7259bb7c uiacceltk/hitchcock/AlfHintPlugin/src/alfhintplugindrawer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiacceltk/hitchcock/AlfHintPlugin/src/alfhintplugindrawer.cpp Tue Feb 02 07:56:43 2010 +0200 @@ -0,0 +1,133 @@ +/* +* Copyright (c) 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 +#include // for RDesReadStream +#include "alfhintplugindrawer.h" +#include + +LOCAL_C const TImplementationProxy KImplementationTable[] = + { + // TODO: CHANGE ID + IMPLEMENTATION_PROXY_ENTRY(CAlfHintGraphicDrawer::EImplUid, CAlfHintGraphicDrawer::CreateL), + }; + +// --------------------------------------------------------------------------- +// ImplementationGroupProxy +// --------------------------------------------------------------------------- +// +EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount) + { + aTableCount = (sizeof(KImplementationTable) / sizeof(TImplementationProxy)); + return KImplementationTable; + } + +// --------------------------------------------------------------------------- +// CreateL +// --------------------------------------------------------------------------- +// +CAlfHintGraphicDrawer* CAlfHintGraphicDrawer::CreateL() + { + return new(ELeave) CAlfHintGraphicDrawer; + } + +// --------------------------------------------------------------------------- +// CAlfHintGraphicDrawer +// --------------------------------------------------------------------------- +// +CAlfHintGraphicDrawer::CAlfHintGraphicDrawer() + { + } + +// --------------------------------------------------------------------------- +// ~CAlfHintGraphicDrawer +// --------------------------------------------------------------------------- +// +CAlfHintGraphicDrawer::~CAlfHintGraphicDrawer() + { + } + +// --------------------------------------------------------------------------- +// ConstructL +// --------------------------------------------------------------------------- +// +void CAlfHintGraphicDrawer::ConstructL(MWsGraphicDrawerEnvironment& aEnv, const TGraphicDrawerId& aId, + MWsClient& aOwner, const TDesC8& aData) + { + iEnv = &aEnv; + BaseConstructL(aEnv, aId, aOwner); + iHintApi = static_cast(aEnv.Screen(0)->ResolveObjectInterface( KAlfHintObjectInterface ) ); + /*RDesReadStream in(aData); + TInt windowHandle = in.ReadInt32L(); +*/ + User::LeaveIfError(ShareGlobally()); + } + +// --------------------------------------------------------------------------- +// ResolveObjectInterface +// --------------------------------------------------------------------------- +// +TAny* CAlfHintGraphicDrawer::ResolveObjectInterface(TUint aTypeId) + { + switch(aTypeId) + { + default: + return CWsGraphicDrawer::ResolveObjectInterface(aTypeId); + } + } + +// --------------------------------------------------------------------------- +// DoDraw +// --------------------------------------------------------------------------- +// +void CAlfHintGraphicDrawer::DoDraw(MWsGc& aGc, const TRect& aRect, const TDesC8& aData) const + { + // read data + TInt err = 0; + TInt tag = KErrNotFound; + TRect boundingRectangle(0,0,360,240); + TInt layerId = 0; + TInt extraParameters = 0; + TRAP( err, + RDesReadStream in(aData); + tag = in.ReadInt8L(); + extraParameters = in.ReadInt8L(); + in.ReadL((TUint8*)&boundingRectangle,sizeof(TRect)); + layerId = in.ReadInt32L(); + ); + + if (iHintApi) + { + if (!extraParameters) + { + iHintApi->InsertTagL( tag ); + } + else + { + iHintApi->InsertTagL( tag, boundingRectangle, layerId ); + } + } + } + +// --------------------------------------------------------------------------- +// HandleMessage +// --------------------------------------------------------------------------- +// +void CAlfHintGraphicDrawer::HandleMessage(const TDesC8& aData) + { + } +