photosgallery/viewframework/layouts/inc/glxsetvaluelayout.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 08:45:44 +0200
changeset 0 4e91876724a2
permissions -rw-r--r--
Revision: 200949 Kit: 200951

/*
* Copyright (c) 2008-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:    Set value layout
*
*/




#ifndef T_GLXSETVALUELAYOUT_H
#define T_GLXSETVALUELAYOUT_H

#include <glxlayout.h>
#include <alf/alftimedvalue.h>

/**
 *  TGlxSetValueLayout
 *  
 *  Sets value of specific layout attribute(s)
 *
 *  @lib glxlayouts.lib
 */
class TGlxSetValueLayout : public TGlxLayout
	{
	public:

		/**
		 * Constructor
		 */
		IMPORT_C TGlxSetValueLayout();

		/**
		 * Destructor
		 */
		IMPORT_C ~TGlxSetValueLayout();

		/**
		 * Set the value. This variant sets the value for opacity and rotation
		 * value is (TReal)
		 * This method can only be used for setting EOpacity or ERotation
		 * @param aTarget the value you wish the visual(s) to have
		 * @param aMilliseconds the duration for the change
		 */
		IMPORT_C void SetOpacity( TReal32 aTarget, TInt aMilliseconds );

		/**
		 * Set the value. This variant sets the value for size and position 
		 * value is (TReal, TReal)
		 * This method can only be used for setting ESize or EPosition
		 * @param aTargetX the value for x
		 * @param aTargetY the value for y
		 * @param aMilliseconds the duration for the change
		 */
		IMPORT_C void SetSize( 
			TReal32 aTargetWidth, TReal32 aTargetHeight, TInt aMilliseconds );

		/**
		 * Set the position
		 * @param aTargetX the value for x
		 * @param aTargetY the value for y
		 * @param aMilliseconds the duration for the change
		 */
		IMPORT_C void SetPosition( 
			TReal32 aTargetX, TReal32 aTargetY, TInt aMilliseconds );

	protected:	// From TGlxLayout

		/// @ref TGlxLayout::DoSetLayoutValues
		void DoSetLayoutValues( TGlxLayoutInfo& aInfo );
	
	private:

	    /// Own: the value for opacity
	    TAlfTimedValue iOpacityValue;
	    /// Own: the value for size
	    TAlfTimedPoint iSizeValue;
	    /// Own: the value for position
	    TAlfTimedPoint iPositionValue;
	    /// Own: flag to tell which layout values need to be changed
	    TInt iValuesToChange;

	};
	
#endif // T_GLXSETVALUELAYOUT_H