Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
CGUITextBox Class Reference

#include <GUITextBox.h>

Inheritance diagram for CGUITextBox:
CGUIControl CGUITextLayout

Public Member Functions

 CGUITextBox (int parentID, int controlID, float posX, float posY, float width, float height, const CLabelInfo &labelInfo, int scrollTime=200, const CLabelInfo *labelInfoMono=nullptr)
 
 CGUITextBox (const CGUITextBox &from)
 
 ~CGUITextBox (void) override
 
CGUITextBoxClone () const override
 
void DoProcess (unsigned int currentTime, CDirtyRegionList &dirtyregions) override
 
void Process (unsigned int currentTime, CDirtyRegionList &dirtyregions) override
 
void Render () override
 
bool OnMessage (CGUIMessage &message) override
 
float GetHeight () const override
 
void SetMinHeight (float minHeight)
 
void SetPageControl (int pageControl)
 
bool CanFocus () const override
 
void SetInfo (const KODI::GUILIB::GUIINFO::CGUIInfoLabel &info)
 
void SetAutoScrolling (const TiXmlNode *node)
 
void SetAutoScrolling (int delay, int time, int repeatTime, const std::string &condition="")
 
void ResetAutoScrolling ()
 
void AssignDepth () override
 
bool GetCondition (int condition, int data) const override
 
virtual std::string GetLabel (int info) const
 
std::string GetDescription () const override
 
void Scroll (unsigned int offset)
 
- 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 DoRender ()
 
virtual void RenderEx ()
 
bool HasProcessed () const
 Returns whether or not we have processed.
 
virtual bool OnAction (const CAction &action)
 
virtual void OnUp ()
 
virtual void OnDown ()
 
virtual void OnLeft ()
 
virtual void OnRight ()
 
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 KODI::MOUSE::CMouseEvent &event)
 React to a mouse event.
 
virtual EVENT_RESULT OnMouseEvent (const CPoint &point, const KODI::MOUSE::CMouseEvent &event)
 Perform a mouse action.
 
virtual void UnfocusFromPoint (const CPoint &point)
 Unfocus the control if the given point on screen is not within it's boundary.
 
virtual bool HitTest (const CPoint &point) const
 Used to test whether the point is inside a control.
 
virtual int GetID (void) const
 
virtual void SetID (int id)
 
int GetParentID () const
 
virtual bool HasFocus () const
 
virtual void AllocResources ()
 
virtual void FreeResources (bool immediately=false)
 
virtual void DynamicResourceAlloc (bool bOnOff)
 
virtual bool IsDynamicallyAllocated ()
 
virtual bool IsVisible () const
 
bool IsVisibleFromSkin () const
 
virtual bool IsDisabled () const
 
virtual void SetPosition (float posX, float posY)
 
virtual void SetHitRect (const CRect &rect, const UTILS::COLOR::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 GetWidth () 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
 
virtual CRect CalcRenderRegion () const
 calculate the render region in parentcontrol coordinates of this control Called during process to update m_renderRegion
 
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.
 
CGUIAction GetAction (int actionID) const
 Get an action the control can be perform.
 
bool Navigate (int direction) const
 Start navigating in given direction.
 
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 SetInitialVisibility ()
 
virtual void SetEnabled (bool bEnable)
 
virtual void SetInvalid ()
 
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 SetPushUpdates (bool pushUpdates)
 
virtual bool IsGroup () const
 
virtual bool IsContainer () 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
 
bool IsControlRenderable ()
 Test whether the control is "drawable" (not a group or similar)
 
- Public Member Functions inherited from CGUITextLayout
 CGUITextLayout (CGUIFont *font, bool wrap, float fHeight=0.0f, CGUIFont *borderFont=NULL)
 
bool UpdateScrollinfo (CScrollInfo &scrollInfo)
 
void Render (float x, float y, float angle, UTILS::COLOR::Color color, UTILS::COLOR::Color shadowColor, uint32_t alignment, float maxWidth, bool solid=false)
 
void RenderScrolling (float x, float y, float angle, UTILS::COLOR::Color color, UTILS::COLOR::Color shadowColor, uint32_t alignment, float maxWidth, const CScrollInfo &scrollInfo)
 
void RenderOutline (float x, float y, UTILS::COLOR::Color color, UTILS::COLOR::Color outlineColor, uint32_t alignment, float maxWidth)
 
void GetTextExtent (float &width, float &height) const
 Returns the precalculated width and height of the text to be rendered (in constant time).
 
float GetTextWidth () const
 Returns the precalculated width of the text to be rendered (in constant time).
 
float GetTextWidth (const std::wstring &text) const
 
float GetTextWidth (const vecText &text) const
 
float GetTextHeight () const
 Returns the precalculated height of the text to be rendered (in constant time).
 
bool Update (const std::string &text, float maxWidth=0, bool forceUpdate=false, bool forceLTRReadingOrder=false)
 
bool UpdateW (const std::wstring &text, float maxWidth=0, bool forceUpdate=false, bool forceLTRReadingOrder=false)
 
void UpdateStyled (const vecText &text, const std::vector< UTILS::COLOR::Color > &colors, float maxWidth=0, bool forceLTRReadingOrder=false)
 Update text from a pre-styled vecText/stdvector<UTILS::COLOR::Color> combination Allows styled text to be passed directly to the text layout.
 
unsigned int GetTextLength () const
 
void GetFirstText (vecText &text) const
 
void Reset ()
 
void SetWrap (bool bWrap=true)
 
void SetMaxHeight (float fHeight)
 

Protected Member Functions

void UpdateVisibility (const CGUIListItem *item=NULL) override
 
bool UpdateColors (const CGUIListItem *item) override
 
void UpdateInfo (const CGUIListItem *item=NULL) override
 
void UpdatePageControl ()
 
void ScrollToOffset (int offset, bool autoScroll=false)
 
unsigned int GetRows () const
 
int GetCurrentPage () const
 
int GetNumPages () const
 
- 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.
 
virtual bool OnMouseOver (const CPoint &point)
 Called when the mouse is over the control. Default implementation selects the control.
 
virtual bool CanFocusFromPoint (const CPoint &point) const
 Test whether we can focus a control from a point on screen.
 
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 Member Functions inherited from CGUITextLayout
void LineBreakText (const vecText &text, std::vector< CGUIString > &lines)
 
void WrapText (const vecText &text, float maxWidth)
 
void CalcTextExtent ()
 
void UpdateCommon (const std::wstring &text, float maxWidth, bool forceLTRReadingOrder)
 
std::string GetText () const
 Returns the text, utf8 encoded.
 
void SetMonoFont (CGUIFont *font)
 Set the monospaced font to use.
 
void UseMonoFont (bool use)
 Set whether or not to use the monospace font.
 

Protected Attributes

float m_minHeight
 
float m_renderHeight
 
unsigned int m_offset
 
float m_scrollOffset
 
float m_scrollSpeed
 
int m_scrollTime
 
unsigned int m_itemsPerPage
 
float m_itemHeight
 
unsigned int m_lastRenderTime
 
CLabelInfo m_label
 
TransformMatrix m_cachedTextMatrix
 
INFO::InfoPtr m_autoScrollCondition
 
int m_autoScrollTime
 
int m_autoScrollDelay
 
unsigned int m_autoScrollDelayTime
 
CAnimationm_autoScrollRepeatAnim
 
int m_pageControl
 
KODI::GUILIB::GUIINFO::CGUIInfoLabel m_info
 
- 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::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
 
bool m_isCulled {true}
 
unsigned int m_controlDirtyState
 
CRect m_renderRegion
 
- Protected Attributes inherited from CGUITextLayout
std::vector< UTILS::COLOR::Colorm_colors
 
std::vector< CGUIStringm_lines
 
CGUIFontm_font
 
CGUIFontm_borderFont
 
CGUIFontm_monoFont = nullptr
 Mono-space font to use.
 
CGUIFontm_varFont
 Varible-space font to use.
 
bool m_wrap
 
float m_maxHeight
 
UTILS::COLOR::Color m_textColor
 
std::string m_lastUtf8Text
 
std::wstring m_lastText
 
bool m_lastUpdateW
 true if the last string we updated was the wstring version
 
float m_textWidth
 
float m_textHeight
 

Additional Inherited Members

- Public Types inherited from CGUIControl
enum  GUICONTROLTYPES {
  GUICONTROL_UNKNOWN , GUICONTAINER_EPGGRID , GUICONTAINER_FIXEDLIST , GUICONTAINER_LIST ,
  GUICONTAINER_PANEL , GUICONTAINER_WRAPLIST , GUICONTROL_BORDEREDIMAGE , GUICONTROL_BUTTON ,
  GUICONTROL_COLORBUTTON , GUICONTROL_EDIT , GUICONTROL_FADELABEL , GUICONTROL_GAME ,
  GUICONTROL_GAMECONTROLLER , GUICONTROL_GAMECONTROLLERLIST , GUICONTROL_GROUP , GUICONTROL_GROUPLIST ,
  GUICONTROL_IMAGE , GUICONTROL_LABEL , GUICONTROL_LISTGROUP , GUICONTROL_LISTLABEL ,
  GUICONTROL_MOVER , GUICONTROL_MULTI_IMAGE , GUICONTROL_PROGRESS , GUICONTROL_RADIO ,
  GUICONTROL_RANGES , GUICONTROL_RENDERADDON , GUICONTROL_RESIZE , GUICONTROL_RSS ,
  GUICONTROL_SCROLLBAR , GUICONTROL_SETTINGS_SLIDER , GUICONTROL_SLIDER , GUICONTROL_SPIN ,
  GUICONTROL_SPINEX , GUICONTROL_TEXTBOX , GUICONTROL_TOGGLEBUTTON , GUICONTROL_VIDEO ,
  GUICONTROL_VISUALISATION
}
 
enum  GUIVISIBLE { HIDDEN = 0 , DELAYED , VISIBLE }
 
enum  GUISCROLLVALUE { FOCUS = 0 , NEVER , ALWAYS }
 
typedef std::map< int, CGUIActionActionMap
 Set actions to perform on navigation.
 
- Static Public Member Functions inherited from CGUITextLayout
static void DrawText (CGUIFont *font, float x, float y, UTILS::COLOR::Color color, UTILS::COLOR::Color shadowColor, const std::string &text, uint32_t align)
 
static void Filter (std::string &text)
 
- Protected Types inherited from CGUITextLayout
typedef std::vector< CGUIString >::iterator iLine
 
- Static Protected Member Functions inherited from CGUITextLayout
static void BidiTransform (std::vector< CGUIString > &lines, bool forceLTRReadingOrder)
 
static std::wstring BidiFlip (const std::wstring &text, bool forceLTRReadingOrder, int *visualToLogicalMap=nullptr)
 
- 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

◆ CGUITextBox() [1/2]

CGUITextBox::CGUITextBox ( int parentID,
int controlID,
float posX,
float posY,
float width,
float height,
const CLabelInfo & labelInfo,
int scrollTime = 200,
const CLabelInfo * labelInfoMono = nullptr )

◆ CGUITextBox() [2/2]

CGUITextBox::CGUITextBox ( const CGUITextBox & from)

◆ ~CGUITextBox()

CGUITextBox::~CGUITextBox ( void )
override

Member Function Documentation

◆ AssignDepth()

void CGUITextBox::AssignDepth ( )
overridevirtual

Reimplemented from CGUIControl.

◆ CanFocus()

bool CGUITextBox::CanFocus ( ) const
overridevirtual

Reimplemented from CGUIControl.

◆ Clone()

CGUITextBox * CGUITextBox::Clone ( void ) const
inlineoverridevirtual

Implements CGUIControl.

◆ DoProcess()

void CGUITextBox::DoProcess ( unsigned int currentTime,
CDirtyRegionList & dirtyregions )
overridevirtual

Reimplemented from CGUIControl.

◆ GetCondition()

bool CGUITextBox::GetCondition ( int condition,
int data ) const
overridevirtual

Reimplemented from CGUIControl.

◆ GetCurrentPage()

int CGUITextBox::GetCurrentPage ( ) const
protected

◆ GetDescription()

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

Reimplemented from CGUIControl.

◆ GetHeight()

float CGUITextBox::GetHeight ( ) const
overridevirtual

Reimplemented from CGUIControl.

◆ GetLabel()

std::string CGUITextBox::GetLabel ( int info) const
virtual

◆ GetNumPages()

int CGUITextBox::GetNumPages ( ) const
protected

◆ GetRows()

unsigned int CGUITextBox::GetRows ( ) const
protected

◆ OnMessage()

bool CGUITextBox::OnMessage ( CGUIMessage & message)
overridevirtual

Reimplemented from CGUIControl.

◆ Process()

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

Reimplemented from CGUIControl.

◆ Render()

void CGUITextBox::Render ( )
overridevirtual

Reimplemented from CGUIControl.

◆ ResetAutoScrolling()

void CGUITextBox::ResetAutoScrolling ( )

◆ Scroll()

void CGUITextBox::Scroll ( unsigned int offset)

◆ ScrollToOffset()

void CGUITextBox::ScrollToOffset ( int offset,
bool autoScroll = false )
protected

◆ SetAutoScrolling() [1/2]

void CGUITextBox::SetAutoScrolling ( const TiXmlNode * node)

◆ SetAutoScrolling() [2/2]

void CGUITextBox::SetAutoScrolling ( int delay,
int time,
int repeatTime,
const std::string & condition = "" )

◆ SetInfo()

void CGUITextBox::SetInfo ( const KODI::GUILIB::GUIINFO::CGUIInfoLabel & info)

◆ SetMinHeight()

void CGUITextBox::SetMinHeight ( float minHeight)

◆ SetPageControl()

void CGUITextBox::SetPageControl ( int pageControl)

◆ UpdateColors()

bool CGUITextBox::UpdateColors ( const CGUIListItem * item)
overrideprotectedvirtual

Reimplemented from CGUIControl.

◆ UpdateInfo()

void CGUITextBox::UpdateInfo ( const CGUIListItem * item = NULL)
overrideprotectedvirtual

Reimplemented from CGUIControl.

◆ UpdatePageControl()

void CGUITextBox::UpdatePageControl ( )
protected

◆ UpdateVisibility()

void CGUITextBox::UpdateVisibility ( const CGUIListItem * item = NULL)
overrideprotectedvirtual

Reimplemented from CGUIControl.

Member Data Documentation

◆ m_autoScrollCondition

INFO::InfoPtr CGUITextBox::m_autoScrollCondition
protected

◆ m_autoScrollDelay

int CGUITextBox::m_autoScrollDelay
protected

◆ m_autoScrollDelayTime

unsigned int CGUITextBox::m_autoScrollDelayTime
protected

◆ m_autoScrollRepeatAnim

CAnimation* CGUITextBox::m_autoScrollRepeatAnim
protected

◆ m_autoScrollTime

int CGUITextBox::m_autoScrollTime
protected

◆ m_cachedTextMatrix

TransformMatrix CGUITextBox::m_cachedTextMatrix
protected

◆ m_info

KODI::GUILIB::GUIINFO::CGUIInfoLabel CGUITextBox::m_info
protected

◆ m_itemHeight

float CGUITextBox::m_itemHeight
protected

◆ m_itemsPerPage

unsigned int CGUITextBox::m_itemsPerPage
protected

◆ m_label

CLabelInfo CGUITextBox::m_label
protected

◆ m_lastRenderTime

unsigned int CGUITextBox::m_lastRenderTime
protected

◆ m_minHeight

float CGUITextBox::m_minHeight
protected

◆ m_offset

unsigned int CGUITextBox::m_offset
protected

◆ m_pageControl

int CGUITextBox::m_pageControl
protected

◆ m_renderHeight

float CGUITextBox::m_renderHeight
protected

◆ m_scrollOffset

float CGUITextBox::m_scrollOffset
protected

◆ m_scrollSpeed

float CGUITextBox::m_scrollSpeed
protected

◆ m_scrollTime

int CGUITextBox::m_scrollTime
protected

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