diff -r 000000000000 -r 951a5db380a0 videditor/VideoEditorUiComponents/inc/VeiSlider.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videditor/VideoEditorUiComponents/inc/VeiSlider.h Fri Jan 29 14:08:33 2010 +0200 @@ -0,0 +1,346 @@ +/* +* 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: +* +*/ + + +/* +* File: VeiSlider.h +* Created: 30-10-2004 +* Author: +* +*/ + +#ifndef __VEISLIDER_H__ +#define __VEISLIDER_H__ + +#include + +class CFbsBitmap; + +/*! + @class CVeiSlider + @discussion Simple slider control base class. + */ + +class CVeiSlider : public CCoeControl + { + public: + + /*! + @function ~CVeiSlider + @discussion Destroy the object and release all memory objects + */ + IMPORT_C ~CVeiSlider(); + + public: // new functions + + /*! + @function SetMinimum + @param aValue the new minimum value + @discussion Sets the minimum value of the slider + */ + IMPORT_C void SetMinimum(TInt aValue); + + /*! + @function SetMaximum + @param aValue the new maximum value + @discussion Sets the maximum value of the slider + */ + IMPORT_C void SetMaximum(TInt aValue); + + /*! + @function SetStepL + @param aValue the new step value + @discussion Sets the step of the slider + */ + IMPORT_C void SetStep(TUint aValue); + + /*! + @function SetStepAmount + @param aValue the new step amount + @discussion Sets the number of steps in the slider + */ + IMPORT_C void SetStepAmount(TUint8 aValue); + + /*! + @function SetPosition + @discussion Sets the position of the slider. Panics if the position is out of bounds. + */ + IMPORT_C void SetPosition(TInt aValue); + + /*! + @function Minimum + @discussion Gets the minimum value of the slider + @return minimum value + */ + IMPORT_C TInt Minimum() const; + + /*! + @function Maximum + @discussion Gets the maximum value of the slider + @return maximum value + */ + IMPORT_C TInt Maximum() const; + + /*! + @function Step + @discussion Gets the step of the slider + @return current step + */ + IMPORT_C TInt Step() const; + + /*! + @function SliderPosition + @discussion Gets the position of the slider + @return current position + */ + IMPORT_C TInt SliderPosition() const; + + /*! + @function Increment + @discussion Increments the slider + */ + IMPORT_C void Increment(); + + /*! + @function Decrement + @discussion Decrements the slider + */ + IMPORT_C void Decrement(); + + /*! + @function MinimumSize + @discussion Gets the minimum size of this component + @return a minimum size of the control + */ + virtual TSize MinimumSize() = 0; + + protected: + + /*! + @function CVeiSlider + @discussion Constructs this object + */ + CVeiSlider(); + + /*! + @function LoadBitmapL + @discussion Loads one bitmap and its mask + */ + void LoadBitmapL( + CFbsBitmap*& aBitmap, + CFbsBitmap*& aMask, + TInt aBitmapIndex, + TInt aMaskIndex + ) const; + + public: // from CoeControl + + /*! + @function CountComponentControls + @return Number of component controls + */ + virtual TInt CountComponentControls() const; + + /*! + @function ComponentControl. + @param aIndex index of the component control + @return Pointer to component control + */ + virtual CCoeControl* ComponentControl(TInt aIndex) const; + + + protected: // data + + /// bitmap holding the slider background + CFbsBitmap* iSliderBg; + + /// mask for the slider background + CFbsBitmap* iSliderBgMask; + + /// bitmap holding the slider tab that moves + CFbsBitmap* iSliderTab; + + /// mask for the slider tab + CFbsBitmap* iSliderTabMask; + + private: // data + + /// minimum value of the slider + TInt iMinimumValue; + + /// maximum value of the slider + TInt iMaximumValue; + + /// step value + TUint iStep; + + /// number of steps + TUint8 iNumberOfSteps; + + /// current position + TInt iPosition; + + }; + + + +/*! + @class CVeiVerticalSlider + @discussion Vertical slider control + */ + +NONSHARABLE_CLASS( CVeiVerticalSlider ) : public CVeiSlider + { + public: + + /*! + @function NewL + @discussion Create a CVeiVerticalSlider object, which will draw itself to aRect + @param aRect the rectangle this view will be drawn to + @return a pointer to the created instance of CVeiVerticalSlider + */ + IMPORT_C static CVeiVerticalSlider* NewL(const TRect& aRect, const CCoeControl& aControl); + + /*! + @function NewLC + @discussion Create a CVeiSlider object, which will draw itself to aRect + @param aRect the rectangle this view will be drawn to + @return a pointer to the created instance of CVeiSlider + */ + IMPORT_C static CVeiVerticalSlider* NewLC(const TRect& aRect, const CCoeControl& aControl); + + /*! + @function ~CVeiSlider + @discussion Destroy the object and release all memory objects + */ + IMPORT_C ~CVeiVerticalSlider(); + + /*! + @function MinimumSize + @discussion Gets the minimum size of this component + @return a minimum size of the control + */ + IMPORT_C TSize MinimumSize(); + + private: + + /*! + @fuction ConstructL + @discussion Perform the second phase construction of a CVeiVerticalSlider object + @param aRect Frame rectangle for container. + */ + void ConstructL(const TRect& aRect, const CCoeControl& aControl); + + /*! + @function CVeiVerticalSlider + @discussion Constructs this object + */ + CVeiVerticalSlider(); + + public: // from CoeControl + + /*! + @function Draw + @discussion Draw this CVeiVerticalSlider to the screen + @param aRect the rectangle of this view that needs updating + */ + virtual void Draw(const TRect& aRect) const; + + /*! + @function SizeChanged + @discussion Responds to changes to the size and position of the contents of this control. + */ + virtual void SizeChanged(); + + }; + + + +/*! + @class CVeiHorizontalSlider + @discussion Horizontal slider control + */ + +NONSHARABLE_CLASS( CVeiHorizontalSlider ) : public CVeiSlider + { + public: + + /*! + @function NewL + @discussion Create a CVeiHorizontalSlider object, which will draw itself to aRect + @param aRect the rectangle this view will be drawn to + @return a pointer to the created instance of CVeiHorizontalSlider + */ + IMPORT_C static CVeiHorizontalSlider* NewL(const TRect& aRect, const CCoeControl& aControl); + + /*! + @function NewLC + @discussion Create a CVeiSlider object, which will draw itself to aRect + @param aRect the rectangle this view will be drawn to + @return a pointer to the created instance of CVeiSlider + */ + IMPORT_C static CVeiHorizontalSlider* NewLC(const TRect& aRect, const CCoeControl& aControl); + + /*! + @function ~CVeiSlider + @discussion Destroy the object and release all memory objects + */ + IMPORT_C ~CVeiHorizontalSlider(); + + /*! + @function MinimumSize + @discussion Gets the minimum size of this component + @return a minimum size of the control + */ + IMPORT_C TSize MinimumSize(); + + private: + + /*! + @fuction ConstructL + @discussion Perform the second phase construction of a CVeiHorizontalSlider object + @param aRect Frame rectangle for container. + */ + void ConstructL(const TRect& aRect, const CCoeControl& aControl); + + /*! + @function CVeiHorizontalSlider + @discussion Constructs this object + */ + CVeiHorizontalSlider(); + + public: // from CoeControl + + /*! + @function Draw + @discussion Draw this CVeiHorizontalSlider to the screen + @param aRect the rectangle of this view that needs updating + */ + virtual void Draw(const TRect& aRect) const; + + /*! + @function SizeChanged + @discussion Responds to changes to the size and position of the contents of this control. + */ + virtual void SizeChanged(); + + }; + +#endif // __VEISLIDER_H__ + +// End of File