diff -r 000000000000 -r 951a5db380a0 videditor/VideoEditorUiComponents/inc/VeiTextDisplay.h --- /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 +#include + + +/** + * 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