Guiliani  Version 2.4 revision 5970 (build 3)
CGUIBaseSlider Class Reference

Slider base class. More...

#include <GUIBaseSlider.h>

Inheritance diagram for CGUIBaseSlider:

Public Types

enum  SliderMode_t { SM_NONE = 0, SM_JUMPTOCLICK, SM_SCROLLTOCLICK }
 Defines Behaviour of slider when clicking beneath knob. More...
 
- Public Types inherited from CGUIObject
enum  FourWayFocus_t { FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUS_DOWN }
 

Public Member Functions

 CGUIBaseSlider (CGUICompositeObject *const pParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const eC_Int &iValue, const eC_Int &iMin, const eC_Int &iMax, const eC_UInt &uiStepSize, const CGUIRange::Base_t &eBase=CGUIRange::BASE_AT_MINIMUM, const CGUICommonEnums::Orientation_t &eStyle=CGUICommonEnums::OR_HORIZONTAL, const ObjectHandle_t &eID=NO_HANDLE)
 
 CGUIBaseSlider (CGUICompositeObject *const pParent, const CGUIRect &kRect, const eC_Int &iValue, const eC_Int &iMin, const eC_Int &iMax, const eC_UInt &uiStepSize, const CGUIRange::Base_t &eBase=CGUIRange::BASE_AT_MINIMUM, const CGUICommonEnums::Orientation_t &eStyle=CGUICommonEnums::OR_HORIZONTAL, const ObjectHandle_t &eID=NO_HANDLE)
 
 CGUIBaseSlider (const CGUIBaseSlider &kSource)
 
 CGUIBaseSlider ()
 
virtual ~CGUIBaseSlider ()
 
virtual CGUIRect CalculateKnobRect ()
 
virtual eC_Bool DoButtonDown (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoClick (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoDrag (const eC_Value &vDeltaX, const eC_Value &vDeltaY, const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoDragEnd (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoDraw ()
 
eC_Value GetKnobSizeHorizontal () const
 
eC_Value GetKnobSizeVertical () const
 
CGUICommonEnums::Orientation_t GetOrientation () const
 
eC_UInt GetScrollDistance () const
 
SliderMode_t GetSliderMode () const
 
eC_Value GetSliderTrackLength () const
 
CGUIBaseSlideroperator= (const CGUIBaseSlider &kSource)
 
virtual void ReadFromStream ()
 
virtual void SetHeight (const eC_Value &vY)
 
void SetKnobSize (const eC_Value &vKnobSize)
 
void SetKnobSizeHorizontal (const eC_Value &vKnobSize)
 
void SetKnobSizeVertical (const eC_Value &vKnobSize)
 
void SetMinimumKnobSize (const eC_Value vMinimumKnobSize)
 
void SetScrollDistance (const eC_UInt &uiDistance)
 
void SetSliderMaxPos (const eC_Value vSliderMaxPos)
 
void SetSliderMinPos (const eC_Value vSliderMinPos)
 
void SetSliderMode (const SliderMode_t &eMode)
 
void SetSliderTrackDistance (const eC_Value vPixel)
 
virtual void SetWidth (const eC_Value &vX)
 
virtual void WriteToStream (const eC_Bool bWriteClassID=false)
 
- Public Member Functions inherited from CGUIAbstractBar
void AnimateToValue (const eC_Int iTargetValue)
 
eC_Bool Decrease ()
 
virtual void DoAnimate (const eC_Value &vTimes=eC_FromInt(1))
 
eC_UInt GetAnimationInterval () const
 
eC_UInt GetAnimationSpeed () const
 
const CGUIRangeGetRange () const
 
eC_Bool Increase ()
 
virtual eC_Bool OnValueChange ()
 
void SetAnimationInterval (const eC_UInt &ruiAnimationInterval)
 
void SetAnimationSpeed (const eC_UInt &ruiAnimationSpeed)
 
void SetBase (CGUIRange::Base_t eBase)
 
void SetLevel (eC_Value vPercent)
 
void SetLevelPercentage (eC_UInt uiPercentage)
 
void SetMaximumLevelIsAlwaysValid (eC_Bool bNotOnlyMultiplesOfStepSize)
 
void SetMaxValue (eC_Int iMaxValue)
 
void SetMinValue (eC_Int iMinValue)
 
void SetRange (eC_Int iMinValue, eC_Int iMaxValue)
 
void SetStepSize (eC_UInt uiIntValues)
 
void SetStepSizeLevel (eC_Value vPercent)
 
void SetStepSizeLevelPercentage (eC_UInt uiPercentage)
 
virtual eC_Bool SetValue (const CGUIValue &rkValue)
 
- Public Member Functions inherited from CGUIObject
 CGUIObject (CGUICompositeObject *const pParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const ObjectHandle_t &eID=NO_HANDLE)
 
 CGUIObject (CGUICompositeObject *const pParent, const CGUIRect &kRect, const ObjectHandle_t &eID=NO_HANDLE)
 
 CGUIObject ()
 
 CGUIObject (const CGUIObject &kSource)
 
virtual ~CGUIObject ()
 
void AddValueObserver (CGUIObserver *pObserver)
 
eC_Bool CalculateInvalidatedRect (CGUIRect &rRect) const
 
virtual eC_Bool ClaimFocus ()
 
virtual void CreateSnapshot (eC_UInt uiBackColor=0x00)
 
eC_Bool DataPoolConnectorExists () const
 
void DeleteSnapshot ()
 
virtual void DisableSnapshotDrawing (eC_Bool bDeleteSnapshot=true)
 
virtual eC_Bool DoDrawSnapshot ()
 
virtual void EnableSnapshotDrawing ()
 
virtual CGUIObjectFindObject (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool FocusAny ()
 
virtual eC_Bool FocusNext (CGUIObject *const pRefObj=NULL, const eC_Bool &bSubTreeOfRefObjDone=false)
 
virtual eC_Bool FocusPrevious (CGUIObject *const pRefObj=NULL, const eC_Bool &bSubTreeOfRefObjDone=false)
 
CGUIRect GetAbsRect () const
 
eC_Value GetAbsXPos () const
 
eC_Value GetAbsXPosCenter () const
 
eC_Value GetAbsXPosREdge () const
 
eC_Value GetAbsYPos () const
 
eC_Value GetAbsYPosBEdge () const
 
eC_Value GetAbsYPosCenter () const
 
eC_UByte GetAlpha () const
 
CGUIBehaviourDecoratorGetBehaviour ()
 
const CGUIBehaviourDecoratorGetBehaviour () const
 
GUIBitmapPlaneID_t GetBitmapID () const
 
CGUIBitmapPlaneGetBitmapPlane () const
 
CGUIRect GetCurrentAbsRect () const
 
eC_Value GetCurrentAbsXPos () const
 
eC_Value GetCurrentAbsXPosCenter () const
 
eC_Value GetCurrentAbsXPosREdge () const
 
eC_Value GetCurrentAbsYPos () const
 
eC_Value GetCurrentAbsYPosBEdge () const
 
eC_Value GetCurrentAbsYPosCenter () const
 
CDataPoolConnectorGetDataPoolConnector ()
 
eC_Value GetDistanceBottom () const
 
eC_Value GetDistanceRight () const
 
eC_Value GetHalfHeight () const
 
eC_Value GetHalfWidth () const
 
eC_Value GetHeight () const
 
ObjectHandle_t GetID () const
 
CGUILayouterGetLayouter ()
 
const CGUILayouterGetLayouter () const
 
ObjectHandle_t GetNeighborBottomID () const
 
ObjectHandle_t GetNeighborLeftID () const
 
ObjectHandle_t GetNeighborRightID () const
 
ObjectHandle_t GetNeighborTopID () const
 
CGUIObjectGetObjectByID (const ObjectHandle_t &eID, const eC_Bool &bOnlyVisible=false)
 
const CGUIObjectGetObjectByID (const ObjectHandle_t &eID, const eC_Bool &bOnlyVisible=false) const
 
CGUIRect GetOriginRect () const
 
CGUICompositeObjectGetParent ()
 
const CGUICompositeObjectGetParent () const
 
CGUIRect GetRelRect () const
 
eC_Value GetRelXPos () const
 
eC_Value GetRelXPosCenter () const
 
eC_Value GetRelXPosREdge () const
 
eC_Value GetRelYPos () const
 
eC_Value GetRelYPosBEdge () const
 
eC_Value GetRelYPosCenter () const
 
eC_Value GetWidth () const
 
void InvalidateArea ()
 
eC_Bool IsClickable () const
 
eC_Bool IsClickThrough () const
 
virtual eC_Bool IsCompositeObject () const
 
eC_Bool IsDescendantOf (const CGUIObject *const pAncestor) const
 
eC_Bool IsDisabled () const
 
eC_Bool IsDragable () const
 
eC_Bool IsDragged () const
 
eC_Bool IsDrawingSnapshot () const
 
eC_Bool IsFocussable () const
 
eC_Bool IsFocussed () const
 
eC_Bool IsGrayedOut () const
 
virtual eC_Bool IsHighlightable () const
 
eC_Bool IsHighlighted () const
 
eC_Bool IsInvisible () const
 
eC_Bool IsPressed () const
 
eC_Bool IsStopFocus () const
 
void NotifyValueObservers (const CGUIValue &kValue, const eC_UInt uiX=0, const eC_UInt uiY=0)
 
CGUIObjectoperator= (const CGUIObject &kSource)
 
virtual void RefreshLayout (CGUILayouter::eMovedEdges_t eMovedEdges) const
 
void RemoveValueObserver (CGUIObserver *pObserver)
 
void RenderToBitmap (eC_UInt uiBitmapID, eC_Value vXOffset=eC_FromInt(0), eC_Value vYOffset=eC_FromInt(0))
 
eC_Bool RequestFocus ()
 
void SetAlpha (eC_UByte ubAlpha)
 
void SetBehaviour (CGUIBehaviourDecorator *pBehaviour)
 
void SetClickThrough (const eC_Bool &bClickThrough)
 
virtual void SetDisabled (const eC_Bool &bDisabled)
 
virtual void SetFocussable (const eC_Bool &bFocussable)
 
virtual void SetGrayedOut (const eC_Bool &bGrayOut)
 
void SetID (const ObjectHandle_t &eID)
 
virtual void SetInvisible (const eC_Bool &bInvisible)
 
void SetLayouter (CGUILayouter *pLayouter)
 
void SetNeighborBottomID (const ObjectHandle_t eNewNeighborBottomID)
 
void SetNeighborIDs (const ObjectHandle_t eNewNeighborLeftID, const ObjectHandle_t eNewNeighborRightID, const ObjectHandle_t eNewNeighborTopID, const ObjectHandle_t eNewNeighborBottomID)
 
void SetNeighborLeftID (const ObjectHandle_t eNewNeighborLeftID)
 
void SetNeighborRightID (const ObjectHandle_t eNewNeighborRightID)
 
void SetNeighborTopID (const ObjectHandle_t eNewNeighborTopID)
 
virtual void SetParent (CGUICompositeObject *const pParent)
 
void SetRelRect (const CGUIRect &kNewRect)
 
virtual void SetRelXPos (const eC_Value &vX)
 
void SetRelXPosCenter (const eC_Value &vXCenter)
 
void SetRelXPosREdge (const eC_Value &vX)
 
virtual void SetRelYPos (const eC_Value &vY)
 
void SetRelYPosBEdge (const eC_Value &vY)
 
void SetRelYPosCenter (const eC_Value &vYCenter)
 
void SetStopFocus (const eC_Bool &bDontFocusToParent)
 
virtual eC_Bool SetValue (CDataPoolEntry &rkValue)
 
- Public Member Functions inherited from CGUIBehaviour
virtual eC_Bool DoUserEvent (CGUIEvent *const pEvent)
 
virtual void OnCreate ()
 
virtual void OnDelete ()
 
virtual void OnHide ()
 
virtual void OnShow ()
 
virtual eC_Bool DoLongClick (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
 
virtual eC_Bool DoDoubleClick (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
 
virtual eC_Bool DoButtonUp (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
 
virtual eC_Bool DoMouseEnter (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
 
virtual eC_Bool DoMouseLeave (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
 
virtual eC_Bool DoMouseMove (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
 
virtual void GetFocus ()
 
virtual void LoseFocus ()
 
virtual eC_Bool DoKeyDown (const GUIKeyIdentifier_t &eKeyIdentifier, const eC_UInt &uiModifiers)
 
virtual eC_Bool DoKeyUp (const GUIKeyIdentifier_t &eKeyIdentifier, const eC_UInt &uiModifiers)
 
virtual eC_Bool DoChar (const eC_UInt &uiKey, const GUIKeyIdentifier_t &eKeyIdentifier, const eC_UInt &uiModifiers)
 
virtual eC_Bool DoScrollUp (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoScrollDown (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoScrollLeft (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoScrollRight (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
- Public Member Functions inherited from CGUIStreamableObject
const eC_String & GetXMLTag () const
 
void SetXMLTag (const eC_String &kXMLTag)
 
- Public Member Functions inherited from CGUIAnimatable
virtual ~CGUIAnimatable ()
 Destructor. Removes all existing animation callbacks.
 
virtual eC_Bool IsAnimating () const
 
virtual void StartAnimation ()
 
virtual void StopAnimation ()
 

Protected Member Functions

void ClipToPixelBounds (eC_Value &vPos) const
 
void CopyAttributes (const CGUIBaseSlider &kSource)
 
eC_Int GetSliderValue (const eC_Value &vAbsX, const eC_Value &vAbsY) const
 
void Init (const eC_Int &iValue, const eC_Int &iMin, const eC_Int &iMax, const eC_UInt &uiStepSize, const CGUIRange::Base_t &eBase)
 
void SetSliderPos (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
- Protected Member Functions inherited from CGUIAbstractBar
 CGUIAbstractBar ()
 
 CGUIAbstractBar (CGUICompositeObject *const pParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const ObjectHandle_t &eID=NO_HANDLE)
 
 CGUIAbstractBar (CGUICompositeObject *const pParent, const CGUIRect &kRect, const ObjectHandle_t &eID=NO_HANDLE)
 
 CGUIAbstractBar (const CGUIAbstractBar &kSource)
 
CGUIAbstractBaroperator= (const CGUIAbstractBar &kSource)
 
- Protected Member Functions inherited from CGUIObject
virtual eC_Bool CreateBitmapPlane ()
 
virtual eC_Bool FourWayNext (FourWayFocus_t eFocusDirection)
 
- Protected Member Functions inherited from CGUIStreamableObject
eC_UInt ReadStreamingHeader (const eC_UInt &uiClassVersion, const eC_UInt &uiClassMinVersion=0) const
 
void WriteStreamingFooter (const eC_Bool &bWriteClassID) const
 
void WriteStreamingHeader (const eC_Bool &bWriteClassID, const eC_Char *const pkClassIDTag, const eC_Int &iClassID, const eC_UInt &uiClassVersion) const
 

Protected Attributes

eC_Bool m_bDraggingMode
 Still holding the mouse button while dragging?
 
eC_Bool m_bStartOnKnob
 Click started on knob.
 
SliderMode_t m_eSliderMode
 Define mode of slider operation.
 
CGUICommonEnums::Orientation_t m_eStyle
 
eC_Int m_iScrollDistance
 Specifies scroll distance in scroll mode.
 
CGUIRect m_kKnobAbsRect
 
CGUIPoint m_kRelDraggingPoint
 Relative point that is beeing dragged.
 
eC_Value m_vDiffKnobMouse
 
eC_Value m_vKnobSizeHorizontal
 
eC_Value m_vKnobSizeVertical
 
eC_Value m_vMinimumKnobSize
 Minimum allowed knob size (in direction of slider orientation) in pixels (Defaults to 10)
 
eC_Value m_vSliderTrackDistance
 
eC_Value m_vSliderMaxPos
 
eC_Value m_vSliderMinPos
 

Friends

class CGUIScrollBar
 

Additional Inherited Members

- Static Public Attributes inherited from CGUIObject
static const eC_Char XMLTAG_ALPHA [] = "Alpha"
 XML tag to be used writing alpha-value into a stream.
 
static const eC_Char XMLTAG_CLICKTHROUGH [] = "ClickThrough"
 XML tag to be used writing clickthrough-state into a stream.
 
static const eC_Char XMLTAG_CONTROLCLASSID [] = "ControlClassID"
 XML tag to be used when writing a control class ID into a stream.
 
static const eC_Char XMLTAG_DISABLED [] = "Disabled"
 XML tag to be used writing disabled-state into a stream.
 
static const eC_Char XMLTAG_FOCUSSABLE [] = "Focussable"
 XML tag to be used writing focussable-state into a stream.
 
static const eC_Char XMLTAG_GRAYEDOUT [] = "GrayedOut"
 XML tag to be used writing grayedout-state into a stream.
 
static const eC_Char XMLTAG_HEIGHT [] = "Height"
 XML tag to be used writing height into a stream.
 
static const eC_Char XMLTAG_INVISIBLE [] = "Invisible"
 XML tag to be used writing invisible-state into a stream.
 
static const eC_Char XMLTAG_OBJECTID [] = "ObjectID"
 XML tag to be used writing object id into a stream.
 
static const eC_Char XMLTAG_OVERRIDDENNEIGHBORS [] = "OverriddenNeighbors"
 XML tag to be used writing overridden neighbors into a stream.
 
static const eC_Char XMLTAG_WIDTH [] = "Width"
 XML tag to be used writing width into a stream.
 
static const eC_Char XMLTAG_XPOS [] = "XPos"
 XML tag to be used writing x-position into a stream.
 
static const eC_Char XMLTAG_YPOS [] = "YPos"
 XML tag to be used writing y-position into a stream.
 
- Static Public Attributes inherited from CGUIBehaviour
static const eC_Char XMLTAG_BEHAVIOURCLASSID [] = "BehaviourClassID"
 XML tag to be used when writing a behaviour class ID into a stream.
 
- Static Public Attributes inherited from CGUIStreamableObject
static const eC_Char XMLTAG_CLASSVERSION [] = "ClassVersion"
 

Detailed Description

Slider base class.

Like all the "BaseXXXXX"-Classes, this serves primarily as base-class, from which you can derive your own customized objects. For a slider implementation which uses images to visualize itself, please refer to CGUISlider.

This class implements vector graphics based sliders and serves as a base class for other types of sliders. Vertically orientated sliders represent their maximum when the knob is at the topmost valid position. Horizontally ones represent their maximum when the knob is to the rightmost valid position. The same applies to the level of the associated range, for example, when the knob is at the topmost valid position of a vertical slider then the level is the highest valid one.

Base sliders have an area where the knob slides over when it is dragged, called slider track. The size of the slider track can be adjusted by calling SetSliderTrackDistance(). For base sliders the track distance influences the background graphics look, which is not true for image based GUISliders for example.

The knob is drawn by filled circles and the background graphics looks like the character H (a combination of 3 lines) that is stretched in the middle part. The left and right line on both sides of the character H lies under the middle of the knob at the slider knob's minimum and maximum positions respectively.

Example:

// Create horizontal slider.
CGUIBaseSlider* pkBaseSliderHor = new CGUIBaseSlider(this,
eC_FromInt(0), eC_FromInt(0),
eC_FromInt(500), eC_FromInt(30),
50, 0, 100, 1,
CGUIRange::BASE_AT_MINIMUM,
CGUIBaseSlider::SLD_HORIZONTAL,
OBJ_HORIZONTALSLIDER);
// Get the length of the slider track in pixel
eC_Value vTrackLength = pkBaseSliderHor->GetSliderTrackLength();
// Set the value of the slider.
pkBaseSliderHor->SetValue((eC_Int)100);

Member Enumeration Documentation

◆ SliderMode_t

Defines Behaviour of slider when clicking beneath knob.

Enumerator
SM_JUMPTOCLICK 

undefined

SM_SCROLLTOCLICK 

jump to click-position

scroll to click-position

Constructor & Destructor Documentation

◆ CGUIBaseSlider() [1/4]

CGUIBaseSlider::CGUIBaseSlider ( CGUICompositeObject *const  pParent,
const eC_Value &  vX,
const eC_Value &  vY,
const eC_Value &  vWidth,
const eC_Value &  vHeight,
const eC_Int &  iValue,
const eC_Int &  iMin,
const eC_Int &  iMax,
const eC_UInt &  uiStepSize,
const CGUIRange::Base_t eBase = CGUIRange::BASE_AT_MINIMUM,
const CGUICommonEnums::Orientation_t eStyle = CGUICommonEnums::OR_HORIZONTAL,
const ObjectHandle_t eID = NO_HANDLE 
)

Constructor

Parameters
pParentPointer to the designated parent object
vXX-position relative to its parent object
vYY-position relative to its parent object
vWidthWidth of the slider
vHeightHeight of the slider
iValueCurrent value of the slider
iMinMinimum setting of the slider
iMaxMaximum setting of the slider
uiStepSizeThe step size in units of the range
eBaseSteps are based at minimum or maximum.
eStyleStyle descriptor. Valid values are defined in CGUIBaseSlider::SliderStyles_t
eIDObject identifier

◆ CGUIBaseSlider() [2/4]

CGUIBaseSlider::CGUIBaseSlider ( CGUICompositeObject *const  pParent,
const CGUIRect kRect,
const eC_Int &  iValue,
const eC_Int &  iMin,
const eC_Int &  iMax,
const eC_UInt &  uiStepSize,
const CGUIRange::Base_t eBase = CGUIRange::BASE_AT_MINIMUM,
const CGUICommonEnums::Orientation_t eStyle = CGUICommonEnums::OR_HORIZONTAL,
const ObjectHandle_t eID = NO_HANDLE 
)

Constructor

Parameters
pParentPointer to the designated parent object
kRectA CGUIRect describing the slider
iValueCurrent value of the slider
iMinMinimum setting of the slider
iMaxMaximum setting of the slider
uiStepSizeThe step size in units of the range
eBaseSteps are based at minimum or maximum.
eStyleStyle descriptor. Valid values are defined in CGUIBaseSlider::SliderStyles_t
eIDObject identifier

◆ CGUIBaseSlider() [3/4]

CGUIBaseSlider::CGUIBaseSlider ( const CGUIBaseSlider kSource)

Copy-constructor of the CGUIBaseSlider class.

Parameters
kSourceSource object to be copied to a newly created object.

◆ CGUIBaseSlider() [4/4]

CGUIBaseSlider::CGUIBaseSlider ( )

Standard constructor. Only to be called by factory. No user code should call this constructor, not even in streaming mode (that is, when GUILIANI_STREAM_GUI is defined)!

See also
CGUIAbstractBar()

◆ ~CGUIBaseSlider()

CGUIBaseSlider::~CGUIBaseSlider ( void  )
virtual

Destructor

Member Function Documentation

◆ CalculateKnobRect()

CGUIRect CGUIBaseSlider::CalculateKnobRect ( )
virtual

Calculates the area covered by the slider knob in coordinates relative to the slider.

Returns
Rectangle covered by slider knob in relative coordinates

◆ ClipToPixelBounds()

void CGUIBaseSlider::ClipToPixelBounds ( eC_Value &  vPos) const
inlineprotected

Clips the passed value to the pixel bounds to which the range is associated. The value is given in pixel units not as a value of the range.

Parameters
vPosvalue to be clipped at min/max pos

◆ CopyAttributes()

void CGUIBaseSlider::CopyAttributes ( const CGUIBaseSlider kSource)
protected

Copy attributes method of the CGUIBaseSlider class.

Parameters
kSourceSource object to be copied.

◆ DoButtonDown()

eC_Bool CGUIBaseSlider::DoButtonDown ( const eC_Value &  vAbsX,
const eC_Value &  vAbsY 
)
virtual

Keeps the difference between real click point and middle of knob.

Parameters
vAbsXX-position in screen coordinates where the click occurred
vAbsYY-position in screen coordinates where the click occurred
Returns
True The event has been handled.
False The event has not been handled.

Reimplemented from CGUIBehaviour.

◆ DoClick()

eC_Bool CGUIBaseSlider::DoClick ( const eC_Value &  vAbsX,
const eC_Value &  vAbsY 
)
virtual

Called when the object receives a click event. A click can e.g., be the result of a mouse click, a finger press/release sequence on touchscreens, or be triggered by a GK_ACTION keyboard event.

Note
DoClick() should work on the absolute positions of this object, that were set at the time of the passed redraw, as the user expects to click on what he sees and not to click on an object in a newer and probably intermediate state that he currently does not see. Thus, to calculate the relative position (where the mouse button was pressed and released at the same position for in a certain time span, relative to the origin of this object) from the vAbsY argument you must do it like this: vMyRelYPos = vAbsY - GetAbsYPos().
Parameters
vAbsXX-position in screen coordinates where the click occurred
vAbsYY-position in screen coordinates where the click occurred
Returns
True The event has been handled.
False The event has not been handled. In this base implementation it always returns False.

Reimplemented from CGUIBehaviour.

◆ DoDrag()

eC_Bool CGUIBaseSlider::DoDrag ( const eC_Value &  vDeltaX,
const eC_Value &  vDeltaY,
const eC_Value &  vAbsX,
const eC_Value &  vAbsY 
)
virtual

Called when the object receives a Drag event. Drags are typically created if the mouse is being used while a mouse-button is being pressed, or if the user moves his finger over a touchscreen.

Parameters
vDeltaXrelative movement in x-direction since the last call of DoDrag/ButtonDown
vDeltaYrelative movement in y-direction since the last call of DoDrag/ButtonDown
vAbsXcurrent X-position in screen coordinates of the mouse
vAbsYcurrent Y-position in screen coordinates of the mouse
Returns
True If the event has been handled.
false Else.

Reimplemented from CGUIBehaviour.

◆ DoDragEnd()

eC_Bool CGUIBaseSlider::DoDragEnd ( const eC_Value &  vAbsX,
const eC_Value &  vAbsY 
)
virtual

Called on the dragged object (=the object on which the initial ButtonDown-event occurred) when the mouse button is released after a drag event.

Parameters
vAbsXcurrent X-position in screen coordinates of the mouse
vAbsYcurrent Y-position in screen coordinates of the mouse
Returns
True If the event has been handled.
false Else.

Reimplemented from CGUIBehaviour.

◆ DoDraw()

eC_Bool CGUIBaseSlider::DoDraw ( )
virtual

Visualizes the object. It is forbidden to call SetRelXPos, SetRelYPos, SetWidth or SetHeight in DoDraw, i.e., it is not allowed to change the layout.

Returns
True if anything was drawn, False otherwise

Reimplemented from CGUIObject.

Reimplemented in CGUISlider.

◆ GetKnobSizeHorizontal()

eC_Value CGUIBaseSlider::GetKnobSizeHorizontal ( ) const
inline
Returns
The horizontal size of the knob

◆ GetKnobSizeVertical()

eC_Value CGUIBaseSlider::GetKnobSizeVertical ( ) const
inline
Returns
The vertical size of the knob

◆ GetOrientation()

CGUICommonEnums::Orientation_t CGUIBaseSlider::GetOrientation ( ) const
inline
Returns
the vertical or horizontal orientation

◆ GetScrollDistance()

eC_UInt CGUIBaseSlider::GetScrollDistance ( ) const
inline
Returns
the current scroll distance

◆ GetSliderMode()

SliderMode_t CGUIBaseSlider::GetSliderMode ( ) const
inline
Returns
the current slider mode

◆ GetSliderTrackLength()

eC_Value CGUIBaseSlider::GetSliderTrackLength ( ) const
inline

Returns the length of the slider's track. This value is determined by the slider track distance and the size of the slider control.

Returns
the length of the slider track in pixel
See also
SetSliderTrackDistance()

◆ GetSliderValue()

eC_Int CGUIBaseSlider::GetSliderValue ( const eC_Value &  vAbsX,
const eC_Value &  vAbsY 
) const
inlineprotected

Gets the value of the associated range of the control corresponding to the given position. Attention: This method may only be called at times when absolute positions are available (DoDraw, DoClick, DoDrag etc.)

Parameters
vAbsXX-position in screen coordinates
vAbsYY-position in screen coordinates
Returns
The slider value

◆ Init()

void CGUIBaseSlider::Init ( const eC_Int &  iValue,
const eC_Int &  iMin,
const eC_Int &  iMax,
const eC_UInt &  uiStepSize,
const CGUIRange::Base_t eBase 
)
protected

Helper function for constructors.

Parameters
iValueSlider value
iMinMin slider value
iMaxMax slider value
uiStepSizeStep size
eBaseSlider style

◆ operator=()

CGUIBaseSlider & CGUIBaseSlider::operator= ( const CGUIBaseSlider kSource)

Assignment operator of the CGUIBaseSlider class.

Parameters
kSourceSource object to be copied to an already existing object.
Returns
Copied object.

◆ ReadFromStream()

void CGUIBaseSlider::ReadFromStream ( )
virtual

Reads all object attributes from streaming file. Only for use with GUIFactory. GUIStreamingFileReader has to be set in CGUI::Init().

See also
CGUIFactory

Reimplemented from CGUIAbstractBar.

Reimplemented in CGUISlider.

◆ SetHeight()

void CGUIBaseSlider::SetHeight ( const eC_Value &  vY)
virtual

Overridden to automatically update the slider's look.

Parameters
vYthe new height

Reimplemented from CGUIObject.

◆ SetKnobSize()

void CGUIBaseSlider::SetKnobSize ( const eC_Value &  vKnobSize)
inline

Sets the knob size in pixels. (Sets identical size for width and height)

Note
The knob size and the slider track distance determine the size of the slider track.
Parameters
vKnobSizeKnob size in pixels

◆ SetKnobSizeHorizontal()

void CGUIBaseSlider::SetKnobSizeHorizontal ( const eC_Value &  vKnobSize)

Sets the horizontal knob size in pixels.

Parameters
vKnobSizeKnob size in pixels

◆ SetKnobSizeVertical()

void CGUIBaseSlider::SetKnobSizeVertical ( const eC_Value &  vKnobSize)

Sets the vertical knob size in pixels.

Parameters
vKnobSizeKnob size in pixels

◆ SetMinimumKnobSize()

void CGUIBaseSlider::SetMinimumKnobSize ( const eC_Value  vMinimumKnobSize)
inline

Sets the minimum allowed knob size (in direction of slider orientation) in pixels.

Parameters
vMinimumKnobSizeMinimum knob size in pixels

◆ SetScrollDistance()

void CGUIBaseSlider::SetScrollDistance ( const eC_UInt &  uiDistance)

Sets scroll distance

Parameters
uiDistanceto scroll

◆ SetSliderMaxPos()

void CGUIBaseSlider::SetSliderMaxPos ( const eC_Value  vSliderMaxPos)

Sets the slider's knob position when it represents the maximum value.

Parameters
vSliderMaxPosRelative pixel offset within the slider

◆ SetSliderMinPos()

void CGUIBaseSlider::SetSliderMinPos ( const eC_Value  vSliderMinPos)

Sets the slider's knob position when it represents the minimum value.

Parameters
vSliderMinPosRelative pixel offset within the slider

◆ SetSliderMode()

void CGUIBaseSlider::SetSliderMode ( const SliderMode_t eMode)

Sets the operation mode of the Slider

Parameters
eModeslider mode

◆ SetSliderPos()

void CGUIBaseSlider::SetSliderPos ( const eC_Value &  vAbsX,
const eC_Value &  vAbsY 
)
protected

DoDrag() checks if the slider graphics is dragged or the rest of the control is dragged and calls this function or not, which does the real work. Thus, CGUISlider need not implement this function again but may do and really does a different check in the current implementation.

Parameters
vAbsXX-position of the dragging point in screen coordinates
vAbsYY-position of the dragging point in screen coordinates

◆ SetSliderTrackDistance()

void CGUIBaseSlider::SetSliderTrackDistance ( const eC_Value  vPixel)

Sets the pixel distance between the slider's border and the slider track (=sliding area) This automatically updates the slider's knob mininmum and maximum positions.

Parameters
vPixelThe distance in pixel between the slider track and the control's borders in the direction of the orientation (horizontal or vertical). The same distance applies to both borders. Positive values shrink down the sliding area of the slider, also called slider track, but do not alter the background graphics of image based GUISliders. Background graphics of base sliders are altered by the track distance.

◆ SetWidth()

void CGUIBaseSlider::SetWidth ( const eC_Value &  vX)
virtual

Overridden to automatically update the slider's look.

Parameters
vXthe new width

Reimplemented from CGUIObject.

◆ WriteToStream()

void CGUIBaseSlider::WriteToStream ( const eC_Bool  bWriteClassID = false)
virtual

Writes all object attributes to the streaming file. StreamWriter has to be initialized. Only for use with GUIStreamWriter.

Parameters
bWriteClassIDThis flag is used to select if writing of ControlID, leading and trailing tags is performed. Only GUIStreamWriter and GUICompositeObject have to set this flag true.
See also
CGUIStreamWriter

Reimplemented from CGUIAbstractBar.

Reimplemented in CGUISlider.

Friends And Related Function Documentation

◆ CGUIScrollBar

friend class CGUIScrollBar
friend

Member Data Documentation

◆ m_eStyle

CGUICommonEnums::Orientation_t CGUIBaseSlider::m_eStyle
protected

Orientation of this slider object Attention: it can only be changed in the constructor and the ReadFromStream() method in this class.

◆ m_kKnobAbsRect

CGUIRect CGUIBaseSlider::m_kKnobAbsRect
protected

Absolute rectangle of knob. This is used to communicate the absolute rectangle of the knob from DoDraw() to DoClick() and DoDrag().

◆ m_vDiffKnobMouse

eC_Value CGUIBaseSlider::m_vDiffKnobMouse
protected

Keeps the difference between knob middle and mouse position. Used in DoDrag() and DoButtonDown()

◆ m_vKnobSizeHorizontal

eC_Value CGUIBaseSlider::m_vKnobSizeHorizontal
protected

Size of knob in horizontal direction of the control in pixel. This value is set via SetKnobSizeHorizontal() in GUISlider and GUIScrollBar for example.

◆ m_vKnobSizeVertical

eC_Value CGUIBaseSlider::m_vKnobSizeVertical
protected

Size of knob in vertical direction of the control in pixel. This value is set via SetKnobSizeVertical() in GUISlider and GUIScrollBar for example.

◆ m_vSliderMaxPos

eC_Value CGUIBaseSlider::m_vSliderMaxPos
protected

Bounds for slider track, to gain some space to the min and max borders of the control. These values are relative to the control and fall in the range of [0 .. GetWidth() or GetHeight()]. These variables shall only be altered by SetSliderTrackDistance(), that is they should be treated read-only in derived classes.

◆ m_vSliderMinPos

eC_Value CGUIBaseSlider::m_vSliderMinPos
protected

Bounds for slider track, to gain some space to the min and max borders of the control. These values are relative to the control and fall in the range of [0 .. GetWidth() or GetHeight()]. These variables shall only be altered by SetSliderTrackDistance(), that is they should be treated read-only in derived classes.

◆ m_vSliderTrackDistance

eC_Value CGUIBaseSlider::m_vSliderTrackDistance
protected
See also
SetSliderTrackDistance This variable shall only be altered by SetSliderTrackDistance().

The documentation for this class was generated from the following files: