diff -r 000000000000 -r 15bf7259bb7c uiacceltk/hitchcock/Client/src/alftransformationsubsession.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiacceltk/hitchcock/Client/src/alftransformationsubsession.cpp Tue Feb 02 07:56:43 2010 +0200 @@ -0,0 +1,236 @@ +/* +* Copyright (c) 2006 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: Sub-session for transformation +* +*/ + + + +#include "alftransformationsubsession.h" +#include "alf/alfconstants.h" +#include "alflogger.h" + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// Opens subsession +// --------------------------------------------------------------------------- +// +TInt RAlfTransformationSubSession::Open( RAlfClient& aSession ) + { + TAlfImplementationInformation info(EAlfTransformationSubSessionOpen); + TPckgC infoBuf(info); + + + return CreateSubSession( + aSession, + EAlfCreateSubSession, + TIpcArgs(&infoBuf) ); + } + +// --------------------------------------------------------------------------- +// Closes subsession +// --------------------------------------------------------------------------- +// +void RAlfTransformationSubSession::Close() + { + CloseSubSession( EAlfCloseSubSession ); + } + +// --------------------------------------------------------------------------- +// Loads identity matrix i.e. resets. +// --------------------------------------------------------------------------- +// +void RAlfTransformationSubSession::LoadIdentity() + { + Send/*Receive*/( + EAlfDoSubSessionCmd, + TIpcArgs( EAlfTransformationLoadIdentity ) ); + __ALFLOGSTRING( "RAlfTransformationSubSession::LoadIdentity sent" ) + } + +// --------------------------------------------------------------------------- +// 2D translate. +// --------------------------------------------------------------------------- +// +void RAlfTransformationSubSession::Translate( + TReal32 aX, + TReal32 aY ) + { + TPckg xRealPckg(aX); + TPckg yRealPckg(aY); + TInt err = SendReceive( + EAlfDoSubSessionCmd, + TIpcArgs( EAlfTransformationTranslate, &xRealPckg, &yRealPckg ) ); + + if ( err ) + { + __ALFLOGSTRING1( "RAlfTransformationSubSession::Translate ignore error %d", err ) + } + } + +// --------------------------------------------------------------------------- +// 2D rotation. +// --------------------------------------------------------------------------- +// +void RAlfTransformationSubSession::Rotate( const TAlfTimedValue& aAngle ) + { + TPckgC anglePckg(aAngle); + TInt err = SendReceive( + EAlfDoSubSessionCmd, + TIpcArgs(EAlfTransformationRotate, &anglePckg ) ); + if ( err ) + { + __ALFLOGSTRING1( "RAlfTransformationSubSession::Rotate ignore error %d", err ) + } + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +TInt RAlfTransformationSubSession::Count() const + { + TInt retVal = 0; + TPckg retValPckg(retVal); + TInt err = SendReceive( + EAlfDoSubSessionCmd, + TIpcArgs(EAlfTransformationCount, &retValPckg ) ); + if ( err ) + { + __ALFLOGSTRING1( "RAlfTransformationSubSession::Count ignore error %d", err ) + } + return retVal; + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +TInt RAlfTransformationSubSession::NonIdentityCount() const + { + TInt retVal = 0; + TPckg retValPckg(retVal); + TInt err = SendReceive( + EAlfDoSubSessionCmd, + TIpcArgs(EAlfTransformationNonIdentityCount, &retValPckg ) ); + if ( err ) + { + __ALFLOGSTRING1( "RAlfTransformationSubSession::NonIdentityCount ignore error %d", err ) + } + return retVal; + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +CAlfTransformation::TTransform RAlfTransformationSubSession::Step(TInt aIndex) + { + CAlfTransformation::TTransform retVal; + TPckg retValPckg(retVal); + TInt err = SendReceive( + EAlfDoSubSessionCmd, + TIpcArgs(EAlfTransformationStep, aIndex, &retValPckg) ); + if ( err ) + { + __ALFLOGSTRING1( "RAlfTransformationSubSession::Step ignore error %d", err ) + } + return retVal; + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void RAlfTransformationSubSession::ReplaceStep(TInt aIndex, + CAlfTransformation::TTransform aTransformationStep) + { + TPckg inputValPckg(aTransformationStep); + TInt err = SendReceive( + EAlfDoSubSessionCmd, + TIpcArgs(EAlfTransformationReplaceStep, aIndex, &inputValPckg ) ); + if ( err ) + { + __ALFLOGSTRING1( "RAlfTransformationSubSession::ReplaceStep ignore error %d", err ) + } + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void RAlfTransformationSubSession::Rotate(const TAlfTimedValue& aAngle, + TReal32 aAxisX, TReal32 aAxisY, TReal32 aAxisZ) + { + TAlfTransformationRotateParams params; + params.iAngle = aAngle; + params.iAxisX = aAxisX; + params.iAxisY = aAxisY; + params.iAxisZ = aAxisZ; + + TPckg inputValPckg(params); + TInt err = SendReceive( + EAlfDoSubSessionCmd, + TIpcArgs(EAlfTransformationRotate3D, &inputValPckg ) ); + if ( err ) + { + __ALFLOGSTRING1( "RAlfTransformationSubSession::Rotate ignore error %d", err ) + } + + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void RAlfTransformationSubSession::Translate(const TAlfTimedValue& aX, + const TAlfTimedValue& aY) + { + TAlfTransformationTimedParams params; + params.iX = aX; + params.iY = aY; + + TPckg inputValPckg(params); + TInt err = SendReceive( + EAlfDoSubSessionCmd, + TIpcArgs(EAlfTransformationTranslate2D, &inputValPckg ) ); + if ( err ) + { + __ALFLOGSTRING1( "RAlfTransformationSubSession::Translate ignore error %d", err ) + } + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void RAlfTransformationSubSession::Scale(const TAlfTimedValue& aX, + const TAlfTimedValue& aY, const TAlfTimedValue& aZ) + { + TAlfTransformationTimedParams params; + params.iX = aX; + params.iY = aY; + params.iZ = aZ; + + TPckg inputValPckg(params); + TInt err = SendReceive( + EAlfDoSubSessionCmd, + TIpcArgs(EAlfTransformationScale, &inputValPckg ) ); + if ( err ) + { + __ALFLOGSTRING1( "RAlfTransformationSubSession::Scale ignore error %d", err ) + } + + }