diff -r f5050f1da672 -r 04becd199f91 javauis/amms_akn/mmacontrol/inc/cammslocationcontrol.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/javauis/amms_akn/mmacontrol/inc/cammslocationcontrol.h Tue Apr 27 16:30:29 2010 +0300 @@ -0,0 +1,109 @@ +/* +* Copyright (c) 2005 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: Manipulates the virtual location of an object. +* +*/ + + +#ifndef CAMMSLOCATIONCONTROL_H +#define CAMMSLOCATIONCONTROL_H + +// INCLUDES +#include +#include "cammscontrol.h" + +// CLASS DECLARATION + +/** +* +* Controls for the Location Control effect. +* This class delegates Location Control effect method calls to +* CSourceLocation or CListenerLocation. +* +* +* @since 3.0 +*/ +NONSHARABLE_CLASS(CAMMSLocationControl): public CAMMSControl +{ +public: // Constructors and destructor + /** + * Destructor. + */ + ~CAMMSLocationControl(); + +public: // New functions + /** + * Moves the object to the new location. + * + * Sets the location using cartesian right-handed coordinates that are + * relative to the origin. The measures are defined in units specified + * by GlobalManager.getUnitsPerMeter(). + * + * @param aX The x-coordinate of the new location. + * @param aY The y-coordinate of the new location. + * @param aZ The z-coordinate of the new location. + * + * @par Leaving: + * @li \c KErrArgument - coordinates are not correct. + */ + virtual void SetLocationCartesianL(TInt& aX, TInt& aY, TInt& aZ); + + /** + * Gets the coordinates of the current location. The measures are + * defined in units specified by GlobalManager.getUnitsPerMeter(). . + * + * @param aX The x-coordinate of the location. + * @param aY The y-coordinate of the location. + * @param aZ The z-coordinate of the location. + */ + virtual void LocationCartesian(TInt& aX, TInt& aY, TInt& aZ); + + /** + * Moves the object to the new location. + * + * Sets the new location using spherical coordinates. The negative + * z-axis is the reference. That is, a location where both azimuth and + * elevation are zero, is on the negative z-axis. Radius is defined in + * units specified by GlobalManager.getUnitsPerMeter(). + * + * @param aAzimuth The azimuth angle of the new location in degrees. The + * azimuth is measured from the negative z-axis in the direction of the + * x-axis. + * @param aElevation The elevation angle of the new location in degrees. + * The elevation is measured from the x-z-plane in the direction of the + * y-axis. + * @param aRadius The radius of the new location from the origin. + * + * @par Leaving: + * @li \c KErrArgument - \a aRadius < 0. + */ + virtual void SetLocationSphericalL(TInt& aAzimuth, TInt& aElevation, + TInt& aRadius); + +protected: + /** + * C++ default constructor, protected to allow access from derived class + * @param aPlayer Player that has this control. + */ + CAMMSLocationControl(CMMAPlayer* aPlayer); + +protected: // Data + + /* Native location effect, set from derived classes */ + CLocation* iLocationEffect; +}; + +#endif // CAMMSLOCATIONCONTROL_H + +