Kodi Documentation 18.0
Kodi is an open source media player and entertainment hub.
CGUISpinControl Class Reference

#include <GUISpinControl.h>

Inheritance diagram for CGUISpinControl:
CGUIControl CGUISpinControlEx

Public Member Functions

 CGUISpinControl (int parentID, int controlID, float posX, float posY, float width, float height, const CTextureInfo &textureUp, const CTextureInfo &textureDown, const CTextureInfo &textureUpFocus, const CTextureInfo &textureDownFocus, const CTextureInfo &textureUpDisabled, const CTextureInfo &textureDownDisabled, const CLabelInfo &labelInfo, int iType)
 
 ~CGUISpinControl (void) override
 
CGUISpinControlClone () const override
 
void Process (unsigned int currentTime, CDirtyRegionList &dirtyregions) override
 
void Render () override
 
bool OnAction (const CAction &action) override
 
void OnLeft () override
 
void OnRight () override
 
bool HitTest (const CPoint &point) const override
 Used to test whether the point is inside a control. More...
 
bool OnMouseOver (const CPoint &point) override
 Called when the mouse is over the control. Default implementation selects the control. More...
 
bool OnMessage (CGUIMessage &message) override
 
void AllocResources () override
 
void FreeResources (bool immediately=false) override
 
void DynamicResourceAlloc (bool bOnOff) override
 
void SetInvalid () override
 
void SetPosition (float posX, float posY) override
 
float GetWidth () const override
 
void SetRange (int iStart, int iEnd)
 
void SetFloatRange (float fStart, float fEnd)
 
void SetValue (int iValue)
 
void SetValueFromLabel (const std::string &label)
 
void SetFloatValue (float fValue)
 
void SetStringValue (const std::string &strValue)
 
int GetValue () const
 
float GetFloatValue () const
 
std::string GetStringValue () const
 
void AddLabel (const std::string &strLabel, int iValue)
 
void AddLabel (const std::string &strLabel, const std::string &strValue)
 
const std::string GetLabel () const
 
void SetReverse (bool bOnOff)
 
int GetMaximum () const
 
int GetMinimum () const
 
void SetSpinAlign (uint32_t align, float offsetX)
 
void SetType (int iType)
 
float GetSpinWidth () const
 
float GetSpinHeight () const
 
void SetFloatInterval (float fInterval)
 
void SetShowRange (bool bOnoff)
 
void SetShowOnePage (bool showOnePage)
 
void Clear ()
 
std::string GetDescription () const override
 
bool IsFocusedOnUp () const
 
bool IsVisible () const override
 
- Public Member Functions inherited from CGUIControl
 CGUIControl ()
 
 CGUIControl (int parentID, int controlID, float posX, float posY, float width, float height)
 
 CGUIControl (const CGUIControl &)
 
virtual ~CGUIControl (void)
 
virtual void DoProcess (unsigned int currentTime, CDirtyRegionList &dirtyregions)
 
virtual void DoRender ()
 
virtual void RenderEx ()
 
bool HasProcessed () const
 Returns whether or not we have processed. More...
 
virtual void OnUp ()
 
virtual void OnDown ()
 
virtual bool OnBack ()
 
virtual bool OnInfo ()
 
virtual void OnNextControl ()
 
virtual void OnPrevControl ()
 
virtual void OnFocus ()
 
virtual void OnUnFocus ()
 
virtual EVENT_RESULT SendMouseEvent (const CPoint &point, const CMouseEvent &event)
 React to a mouse event. More...
 
virtual void UnfocusFromPoint (const CPoint &point)
 Unfocus the control if the given point on screen is not within it's boundary. More...
 
virtual int GetID (void) const
 
virtual void SetID (int id)
 
int GetParentID () const
 
virtual bool HasFocus () const
 
virtual bool IsDynamicallyAllocated ()
 
virtual bool CanFocus () const
 
bool IsVisibleFromSkin () const
 
virtual bool IsDisabled () const
 
virtual void SetHitRect (const CRect &rect, const UTILS::Color &color)
 
virtual void SetCamera (const CPoint &camera)
 
virtual void SetStereoFactor (const float &factor)
 
bool SetColorDiffuse (const KODI::GUILIB::GUIINFO::CGUIInfoColor &color)
 
CPoint GetRenderPosition () const
 
virtual float GetXPosition () const
 
virtual float GetYPosition () const
 
virtual float GetHeight () const
 
void MarkDirtyRegion (const unsigned int dirtyState=DIRTY_STATE_CONTROL)
 
bool IsControlDirty () const
 
const CRectGetRenderRegion () const
 return the render region in screen coordinates of this control More...
 
virtual CRect CalcRenderRegion () const
 calculate the render region in parentcontrol coordinates of this control Called during process to update m_renderRegion More...
 
void SetActions (const ActionMap &actions)
 
void SetAction (int actionID, const CGUIAction &action, bool replace=true)
 Set actions to perform on navigation Navigations are set if replace is true or if there is no previously set action. More...
 
CGUIAction GetAction (int actionID) const
 Get an action the control can be perform. More...
 
bool Navigate (int direction) const
 Start navigating in given direction. More...
 
virtual void SetFocus (bool focus)
 
virtual void SetWidth (float width)
 
virtual void SetHeight (float height)
 
virtual void SetVisible (bool bVisible, bool setVisState=false)
 
void SetVisibleCondition (const std::string &expression, const std::string &allowHiddenFocus="")
 
bool HasVisibleCondition () const
 
void SetEnableCondition (const std::string &expression)
 
virtual void UpdateVisibility (const CGUIListItem *item)
 
virtual void SetInitialVisibility ()
 
virtual void SetEnabled (bool bEnable)
 
virtual void SetPulseOnSelect (bool pulse)
 
virtual std::string GetDescriptionByIndex (int index) const
 
void SetAnimations (const std::vector< CAnimation > &animations)
 
const std::vector< CAnimation > & GetAnimations () const
 
virtual void QueueAnimation (ANIMATION_TYPE anim)
 
virtual bool IsAnimating (ANIMATION_TYPE anim)
 
virtual bool HasAnimation (ANIMATION_TYPE anim)
 
CAnimationGetAnimation (ANIMATION_TYPE type, bool checkConditions=true)
 
virtual void ResetAnimation (ANIMATION_TYPE type)
 
virtual void ResetAnimations ()
 
virtual void UpdateInfo (const CGUIListItem *item=NULL)
 
virtual void SetPushUpdates (bool pushUpdates)
 
virtual bool IsGroup () const
 
virtual bool IsContainer () const
 
virtual bool GetCondition (int condition, int data) const
 
void SetParentControl (CGUIControl *control)
 
CGUIControlGetParentControl (void) const
 
virtual void SaveStates (std::vector< CControlState > &states)
 
virtual CGUIControlGetControl (int id, std::vector< CGUIControl * > *idCollector=nullptr)
 
void SetControlStats (GUICONTROLSTATS *controlStats)
 
virtual void UpdateControlStats ()
 
GUICONTROLTYPES GetControlType () const
 

Protected Member Functions

EVENT_RESULT OnMouseEvent (const CPoint &point, const CMouseEvent &event) override
 Perform a mouse action. More...
 
bool UpdateColors () override
 
virtual void RenderText (float posX, float posY, float width, float height)
 Render the spinner text. More...
 
CGUILabel::COLOR GetTextColor () const
 
void PageUp ()
 
void PageDown ()
 
bool CanMoveDown (bool bTestReverse=true)
 
bool CanMoveUp (bool bTestReverse=true)
 
void MoveUp (bool bTestReverse=true)
 
void MoveDown (bool bTestReverse=true)
 
void ChangePage (int amount)
 
- Protected Member Functions inherited from CGUIControl
virtual CPoint GetPosition () const
 Return the coordinates of the top left of the control, in the control's parent coordinates. More...
 
virtual bool CanFocusFromPoint (const CPoint &point) const
 Test whether we can focus a control from a point on screen. More...
 
virtual bool Animate (unsigned int currentTime)
 
virtual bool CheckAnimation (ANIMATION_TYPE animType)
 
void UpdateStates (ANIMATION_TYPE type, ANIMATION_PROCESS currentProcess, ANIMATION_STATE currentState)
 
bool SendWindowMessage (CGUIMessage &message) const
 

Protected Attributes

int m_iStart
 
int m_iEnd
 
float m_fStart
 
float m_fEnd
 
int m_iValue
 
float m_fValue
 
int m_iType
 
int m_iSelect
 
bool m_bReverse
 
float m_fInterval
 
std::vector< std::string > m_vecLabels
 
std::vector< int > m_vecValues
 
std::vector< std::string > m_vecStrValues
 
CGUITexture m_imgspinUp
 
CGUITexture m_imgspinDown
 
CGUITexture m_imgspinUpFocus
 
CGUITexture m_imgspinDownFocus
 
CGUITexture m_imgspinUpDisabled
 
CGUITexture m_imgspinDownDisabled
 
CGUILabel m_label
 
bool m_bShowRange
 
char m_szTyped [10]
 
int m_iTypedPos
 
int m_currentItem
 
int m_itemsPerPage
 
int m_numItems
 
bool m_showOnePage
 
- Protected Attributes inherited from CGUIControl
ActionMap m_actions
 
float m_posX
 
float m_posY
 
float m_height
 
float m_width
 
CRect m_hitRect
 
UTILS::Color m_hitColor = 0xffffffff
 
KODI::GUILIB::GUIINFO::CGUIInfoColor m_diffuseColor
 
int m_controlID
 
int m_parentID
 
bool m_bHasFocus
 
bool m_bInvalidated
 
bool m_bAllocated
 
bool m_pulseOnSelect
 
GUICONTROLTYPES ControlType
 
GUICONTROLSTATSm_controlStats
 
CGUIControlm_parentControl
 
INFO::InfoPtr m_visibleCondition
 
GUIVISIBLE m_visible
 
bool m_visibleFromSkinCondition
 
bool m_forceHidden
 
KODI::GUILIB::GUIINFO::CGUIInfoBool m_allowHiddenFocus
 
bool m_hasProcessed
 
INFO::InfoPtr m_enableCondition
 
bool m_enabled
 
bool m_pushedUpdates
 
std::vector< CAnimationm_animations
 
CPoint m_camera
 
bool m_hasCamera
 
float m_stereo
 
TransformMatrix m_transform
 
TransformMatrix m_cachedTransform
 
unsigned int m_controlDirtyState
 
CRect m_renderRegion
 

Additional Inherited Members

- Public Types inherited from CGUIControl
enum  GUICONTROLTYPES {
  GUICONTROL_UNKNOWN , GUICONTROL_BUTTON , GUICONTROL_FADELABEL , GUICONTROL_IMAGE ,
  GUICONTROL_BORDEREDIMAGE , GUICONTROL_LABEL , GUICONTROL_LISTGROUP , GUICONTROL_PROGRESS ,
  GUICONTROL_RADIO , GUICONTROL_RSS , GUICONTROL_SLIDER , GUICONTROL_SETTINGS_SLIDER ,
  GUICONTROL_SPIN , GUICONTROL_SPINEX , GUICONTROL_TEXTBOX , GUICONTROL_TOGGLEBUTTON ,
  GUICONTROL_VIDEO , GUICONTROL_GAME , GUICONTROL_MOVER , GUICONTROL_RESIZE ,
  GUICONTROL_EDIT , GUICONTROL_VISUALISATION , GUICONTROL_RENDERADDON , GUICONTROL_MULTI_IMAGE ,
  GUICONTROL_GROUP , GUICONTROL_GROUPLIST , GUICONTROL_SCROLLBAR , GUICONTROL_LISTLABEL ,
  GUICONTROL_GAMECONTROLLER , GUICONTAINER_LIST , GUICONTAINER_WRAPLIST , GUICONTAINER_FIXEDLIST ,
  GUICONTAINER_EPGGRID , GUICONTAINER_PANEL
}
 
enum  GUIVISIBLE { HIDDEN = 0 , DELAYED , VISIBLE }
 
enum  GUISCROLLVALUE { FOCUS = 0 , NEVER , ALWAYS }
 
typedef std::map< int, CGUIActionActionMap
 Set actions to perform on navigation. More...
 
- Static Protected Attributes inherited from CGUIControl
static const unsigned int DIRTY_STATE_CONTROL = 1
 
static const unsigned int DIRTY_STATE_CHILD = 2
 

Constructor & Destructor Documentation

◆ CGUISpinControl()

CGUISpinControl::CGUISpinControl ( int  parentID,
int  controlID,
float  posX,
float  posY,
float  width,
float  height,
const CTextureInfo textureUp,
const CTextureInfo textureDown,
const CTextureInfo textureUpFocus,
const CTextureInfo textureDownFocus,
const CTextureInfo textureUpDisabled,
const CTextureInfo textureDownDisabled,
const CLabelInfo labelInfo,
int  iType 
)

◆ ~CGUISpinControl()

CGUISpinControl::~CGUISpinControl ( void  )
overridedefault

Member Function Documentation

◆ AddLabel() [1/2]

void CGUISpinControl::AddLabel ( const std::string &  strLabel,
const std::string &  strValue 
)

◆ AddLabel() [2/2]

void CGUISpinControl::AddLabel ( const std::string &  strLabel,
int  iValue 
)

◆ AllocResources()

void CGUISpinControl::AllocResources ( )
overridevirtual

Reimplemented from CGUIControl.

Reimplemented in CGUISpinControlEx.

◆ CanMoveDown()

bool CGUISpinControl::CanMoveDown ( bool  bTestReverse = true)
protected

◆ CanMoveUp()

bool CGUISpinControl::CanMoveUp ( bool  bTestReverse = true)
protected

◆ ChangePage()

void CGUISpinControl::ChangePage ( int  amount)
protected

◆ Clear()

void CGUISpinControl::Clear ( )

◆ Clone()

CGUISpinControl * CGUISpinControl::Clone ( void  ) const
inlineoverridevirtual

Implements CGUIControl.

Reimplemented in CGUISpinControlEx.

◆ DynamicResourceAlloc()

void CGUISpinControl::DynamicResourceAlloc ( bool  bOnOff)
overridevirtual

Reimplemented from CGUIControl.

Reimplemented in CGUISpinControlEx.

◆ FreeResources()

void CGUISpinControl::FreeResources ( bool  immediately = false)
overridevirtual

Reimplemented from CGUIControl.

Reimplemented in CGUISpinControlEx.

◆ GetDescription()

std::string CGUISpinControl::GetDescription ( void  ) const
overridevirtual

Reimplemented from CGUIControl.

Reimplemented in CGUISpinControlEx.

◆ GetFloatValue()

float CGUISpinControl::GetFloatValue ( ) const

◆ GetLabel()

const std::string CGUISpinControl::GetLabel ( ) const

◆ GetMaximum()

int CGUISpinControl::GetMaximum ( ) const

◆ GetMinimum()

int CGUISpinControl::GetMinimum ( ) const

◆ GetSpinHeight()

float CGUISpinControl::GetSpinHeight ( ) const
inline

◆ GetSpinWidth()

float CGUISpinControl::GetSpinWidth ( ) const
inline

◆ GetStringValue()

std::string CGUISpinControl::GetStringValue ( ) const

◆ GetTextColor()

CGUILabel::COLOR CGUISpinControl::GetTextColor ( ) const
protected

◆ GetValue()

int CGUISpinControl::GetValue ( ) const

◆ GetWidth()

float CGUISpinControl::GetWidth ( ) const
overridevirtual

Reimplemented from CGUIControl.

Reimplemented in CGUISpinControlEx.

◆ HitTest()

bool CGUISpinControl::HitTest ( const CPoint point) const
overridevirtual

Used to test whether the point is inside a control.

Parameters
pointlocation to test
Returns
true if the point is inside the bounds of this control.
See also
SetHitRect

Reimplemented from CGUIControl.

Reimplemented in CGUISpinControlEx.

◆ IsFocusedOnUp()

bool CGUISpinControl::IsFocusedOnUp ( ) const

◆ IsVisible()

bool CGUISpinControl::IsVisible ( ) const
overridevirtual

Reimplemented from CGUIControl.

◆ MoveDown()

void CGUISpinControl::MoveDown ( bool  bTestReverse = true)
protected

◆ MoveUp()

void CGUISpinControl::MoveUp ( bool  bTestReverse = true)
protected

◆ OnAction()

bool CGUISpinControl::OnAction ( const CAction action)
overridevirtual

Reimplemented from CGUIControl.

◆ OnLeft()

void CGUISpinControl::OnLeft ( )
overridevirtual

Reimplemented from CGUIControl.

◆ OnMessage()

bool CGUISpinControl::OnMessage ( CGUIMessage message)
overridevirtual

Reimplemented from CGUIControl.

◆ OnMouseEvent()

EVENT_RESULT CGUISpinControl::OnMouseEvent ( const CPoint point,
const CMouseEvent event 
)
overrideprotectedvirtual

Perform a mouse action.

Mouse actions are sent from the window to all controls, and each control can react based on the event and location of the actions.

Parameters
pointthe location in transformed skin coordinates from the upper left corner of the parent control.
eventthe mouse event to perform
Returns
EVENT_RESULT corresponding to whether the control handles this event
See also
SendMouseEvent, HitTest, CanFocusFromPoint, CMouseEvent

Reimplemented from CGUIControl.

◆ OnMouseOver()

bool CGUISpinControl::OnMouseOver ( const CPoint point)
overridevirtual

Called when the mouse is over the control. Default implementation selects the control.

Parameters
pointlocation of the mouse in transformed skin coordinates
Returns
true if handled, false otherwise.

Reimplemented from CGUIControl.

◆ OnRight()

void CGUISpinControl::OnRight ( )
overridevirtual

Reimplemented from CGUIControl.

◆ PageDown()

void CGUISpinControl::PageDown ( )
protected

◆ PageUp()

void CGUISpinControl::PageUp ( )
protected

◆ Process()

void CGUISpinControl::Process ( unsigned int  currentTime,
CDirtyRegionList dirtyregions 
)
overridevirtual

Reimplemented from CGUIControl.

Reimplemented in CGUISpinControlEx.

◆ Render()

void CGUISpinControl::Render ( void  )
overridevirtual

Reimplemented from CGUIControl.

Reimplemented in CGUISpinControlEx.

◆ RenderText()

void CGUISpinControl::RenderText ( float  posX,
float  posY,
float  width,
float  height 
)
protectedvirtual

Render the spinner text.

Parameters
posXposition of the left edge of the text
posYpositing of the top edge of the text
widthwidth of the text
heightheight of the text

Reimplemented in CGUISpinControlEx.

◆ SetFloatInterval()

void CGUISpinControl::SetFloatInterval ( float  fInterval)

◆ SetFloatRange()

void CGUISpinControl::SetFloatRange ( float  fStart,
float  fEnd 
)

◆ SetFloatValue()

void CGUISpinControl::SetFloatValue ( float  fValue)

◆ SetInvalid()

void CGUISpinControl::SetInvalid ( )
overridevirtual

Reimplemented from CGUIControl.

Reimplemented in CGUISpinControlEx.

◆ SetPosition()

void CGUISpinControl::SetPosition ( float  posX,
float  posY 
)
overridevirtual

Reimplemented from CGUIControl.

Reimplemented in CGUISpinControlEx.

◆ SetRange()

void CGUISpinControl::SetRange ( int  iStart,
int  iEnd 
)

◆ SetReverse()

void CGUISpinControl::SetReverse ( bool  bOnOff)

◆ SetShowOnePage()

void CGUISpinControl::SetShowOnePage ( bool  showOnePage)
inline

◆ SetShowRange()

void CGUISpinControl::SetShowRange ( bool  bOnoff)

◆ SetSpinAlign()

void CGUISpinControl::SetSpinAlign ( uint32_t  align,
float  offsetX 
)
inline

◆ SetStringValue()

void CGUISpinControl::SetStringValue ( const std::string &  strValue)

◆ SetType()

void CGUISpinControl::SetType ( int  iType)
inline

◆ SetValue()

void CGUISpinControl::SetValue ( int  iValue)

◆ SetValueFromLabel()

void CGUISpinControl::SetValueFromLabel ( const std::string &  label)

◆ UpdateColors()

bool CGUISpinControl::UpdateColors ( )
overrideprotectedvirtual

Reimplemented from CGUIControl.

Reimplemented in CGUISpinControlEx.

Member Data Documentation

◆ m_bReverse

bool CGUISpinControl::m_bReverse
protected

◆ m_bShowRange

bool CGUISpinControl::m_bShowRange
protected

◆ m_currentItem

int CGUISpinControl::m_currentItem
protected

◆ m_fEnd

float CGUISpinControl::m_fEnd
protected

◆ m_fInterval

float CGUISpinControl::m_fInterval
protected

◆ m_fStart

float CGUISpinControl::m_fStart
protected

◆ m_fValue

float CGUISpinControl::m_fValue
protected

◆ m_iEnd

int CGUISpinControl::m_iEnd
protected

◆ m_imgspinDown

CGUITexture CGUISpinControl::m_imgspinDown
protected

◆ m_imgspinDownDisabled

CGUITexture CGUISpinControl::m_imgspinDownDisabled
protected

◆ m_imgspinDownFocus

CGUITexture CGUISpinControl::m_imgspinDownFocus
protected

◆ m_imgspinUp

CGUITexture CGUISpinControl::m_imgspinUp
protected

◆ m_imgspinUpDisabled

CGUITexture CGUISpinControl::m_imgspinUpDisabled
protected

◆ m_imgspinUpFocus

CGUITexture CGUISpinControl::m_imgspinUpFocus
protected

◆ m_iSelect

int CGUISpinControl::m_iSelect
protected

◆ m_iStart

int CGUISpinControl::m_iStart
protected

◆ m_itemsPerPage

int CGUISpinControl::m_itemsPerPage
protected

◆ m_iType

int CGUISpinControl::m_iType
protected

◆ m_iTypedPos

int CGUISpinControl::m_iTypedPos
protected

◆ m_iValue

int CGUISpinControl::m_iValue
protected

◆ m_label

CGUILabel CGUISpinControl::m_label
protected

◆ m_numItems

int CGUISpinControl::m_numItems
protected

◆ m_showOnePage

bool CGUISpinControl::m_showOnePage
protected

◆ m_szTyped

char CGUISpinControl::m_szTyped[10]
protected

◆ m_vecLabels

std::vector<std::string> CGUISpinControl::m_vecLabels
protected

◆ m_vecStrValues

std::vector<std::string> CGUISpinControl::m_vecStrValues
protected

◆ m_vecValues

std::vector<int> CGUISpinControl::m_vecValues
protected

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