videditor/VideoEditorUiComponents/inc/VeiTextDisplay.h
changeset 0 951a5db380a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videditor/VideoEditorUiComponents/inc/VeiTextDisplay.h	Fri Jan 29 14:08:33 2010 +0200
@@ -0,0 +1,242 @@
+/*
+* Copyright (c) 2010 Ixonos Plc.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the "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:
+* Ixonos Plc
+*
+* Description:  
+*
+*/
+
+
+
+#ifndef VEITEXTDISPLAY_H
+#define VEITEXTDISPLAY_H
+
+#include <coecntrl.h>
+#include <ConeResLoader.h>
+
+
+/**
+ * CVeiTextDisplay control class.
+ */
+class CVeiTextDisplay : public CCoeControl
+    {
+    public:
+        /**
+         * Destructor.
+         */
+        IMPORT_C virtual ~CVeiTextDisplay();
+
+		/** 
+		 * Static factory method.
+		 * 
+		 * @return  the created CVeiTextDisplay object
+		 */
+		IMPORT_C static CVeiTextDisplay* NewL( const TRect& aRect, const CCoeControl* aParent );
+
+		/** 
+		 * Static factory method. Leaves the created object in the cleanup
+		 * stack.
+		 *
+		 * @return  the created CVeiCutAudioBar object
+		 */
+		IMPORT_C static CVeiTextDisplay* NewLC( const TRect& aRect, const CCoeControl* aParent );
+
+
+	public:
+
+		enum TVeiLayout
+			{
+			EOnlyName = 0x77,
+			ENameAndDuration,
+			EEverything,
+			ECutInCutOut,
+			EArrowsHorizontal,
+			EArrowsVertical,
+			ERecording,
+			ERecordingPaused,
+            EOnlyDuration
+			};
+			
+    	/**
+		 * CVeiTextDisplay components.
+		 */
+		 enum TTextDisplayComponent
+			{
+			EStartTimeText= 1,
+			EEndTimeText,
+			EStartTimeIcon,
+			EEndTimeIcon			
+			};			
+
+		IMPORT_C void SetLandscapeScreenOrientation( TBool aLandscapeScreenOrientation );
+
+		IMPORT_C void SetCutIn( const TTimeIntervalMicroSeconds& aCutInTime );
+		
+		IMPORT_C void SetCutOut( const TTimeIntervalMicroSeconds& aCutOutTime );
+
+		IMPORT_C void SetTime( const TTime& aClipTime );
+
+		IMPORT_C void SetLocation( const TDesC& aClipLocation );
+
+		IMPORT_C void SetLayout( TVeiLayout aLayout );
+
+		IMPORT_C void SetName( const TDesC& aName );
+
+		IMPORT_C void SetDuration( const TTimeIntervalMicroSeconds& aDuration );
+
+		/** 
+		 * Control Up arrow visibility.
+		 * 
+		 * @param aVisible True/False
+		 */
+		IMPORT_C void SetUpperArrowVisibility(TBool aVisible);
+
+		/** 
+		 * Control Lower arrow visibility.
+		 * 
+		 * @param aVisible True/False
+		 */
+		IMPORT_C void SetLowerArrowVisibility(TBool aVisible);
+
+		/** 
+		 * Control Right arrow visibility.
+		 * 
+		 * @param aVisible True/False
+		 */
+		IMPORT_C void SetRightArrowVisibility(TBool aVisible);
+
+		/** 
+		 * Control Left arrow visibility.
+		 * 
+		 * @param aVisible True/False
+		 */
+		IMPORT_C void SetLeftArrowVisibility(TBool aVisible);
+		
+		/** 
+		 * Set slow motion on status.
+		 * 
+		 * @param aOn True/False
+		 */
+		IMPORT_C void SetSlowMotionOn(TBool aOn);
+
+		/** 
+		 * slow motion on status.
+		 * 
+		 * @return aOn True/False
+		 */
+		IMPORT_C TBool SlowMotionOn() const;
+		
+		/** 
+		 * Set value of slow motion effect.
+		 * 
+		 * @param aPreset
+		 */
+		IMPORT_C void SetSlowMotionPreset(TInt aPreset);
+
+		/** 
+		 * Slow motion effect value.
+		 * 
+		 * @return value 
+		 */
+		IMPORT_C TInt SlowMotionPreset() const;
+
+		IMPORT_C void SetArrowSize(const TSize& aArrowSize);
+
+		void ParseTimeToMinSec( TDes& aLayoutTime, const TTimeIntervalMicroSeconds& aDuration ) const;
+		
+		/** 
+		 * Sets the rect of a component
+		 * 
+		 * @param aComponentIndex specifies the component
+		 * @param aRect the rect that the component is set
+		 *
+		 * @return  the end mark position
+		 */		
+		IMPORT_C void SetComponentRect(TTextDisplayComponent aComponentIndex, TRect aRect);
+
+    private:
+        /**
+         * Default constructor.
+		 *
+         */
+        void ConstructL( const TRect& aRect, const CCoeControl* aParent );
+
+        /**
+         * C++ default constructor.
+		 *
+         */
+		CVeiTextDisplay::CVeiTextDisplay();
+
+       /**
+        * From CCoeControl,Draw.
+		*
+		* @param aRect  rectangle to draw
+        */
+        void Draw(const TRect& aRect) const;
+
+		static TInt UpdateBlinker( TAny* aThis );
+		void DoUpdateBlinker();
+		void SizeChanged();
+
+    private:	// data
+		HBufC*		iClipName;
+		TTimeIntervalMicroSeconds iDuration;
+		TTime		iClipTime;		
+		HBufC*		iClipLocation;
+		
+		TTimeIntervalMicroSeconds	iCutInTime;
+		TTimeIntervalMicroSeconds	iCutOutTime;
+
+		TVeiLayout	iLayout;
+
+		CFbsBitmap* iUpperArrow;
+		CFbsBitmap* iLowerArrow;
+		CFbsBitmap* iRightArrow;
+		CFbsBitmap* iLeftArrow;
+		CFbsBitmap* iUpperArrowMask;
+		CFbsBitmap* iLowerArrowMask;
+		CFbsBitmap* iRightArrowMask;
+		CFbsBitmap* iLeftArrowMask;
+		CFbsBitmap* iStartMarkIcon;
+		CFbsBitmap* iStartMarkIconMask;
+		CFbsBitmap* iEndMarkIcon;
+		CFbsBitmap* iEndMarkIconMask;
+
+		TBool		iUpperArrowVisible;
+		TBool		iLowerArrowVisible;
+		TBool		iRightArrowVisible;
+		TBool		iLeftArrowVisible;
+
+		TBool		iLandscapeScreenOrientation;
+		TBool		iSlowMotionOn;
+		TInt		iPresetValue;	
+		
+		CPeriodic*	iBlinkTimer;
+		TBool		iBlinkFlag;
+
+		TSize		iDynamicArrowSize;
+		
+		TPoint 		iUpperArrowPoint;
+		TPoint 		iLowerArrowPoint;
+
+		RConeResourceLoader 	iResLoader;
+
+		TRect	iStartTimeIconRect;
+    	TRect	iEndTimeIconRect;
+       	TRect	iStartTimeTextRect;
+    	TRect	iEndTimeTextRect;
+
+    };
+#endif
+
+// End of File