CRM64Pro GDK v0.18.0
A free cross-platform game development kit built on top of SDL 3.0
Loading...
Searching...
No Matches
CRM64Pro::WidgetProgressfinal

Progress widget for value display. More...

Detailed Description

Progress widget for value display.

Displays a value within a configured range. It is render-only and uses the standard numeric value/range API.

Inheritance diagram for CRM64Pro::WidgetProgress:

Public Member Functions

bool info (Sint32 iMode=0) override
 Request Progress widget information.
Sint32 setSize (Sint32 iWidth, Sint32 iHeight) override
 Set the progress widget size.
Sint32 setValue (Sint32 iValue)
 Set the current progress value.
Sint32 getValue () const
 Get the current progress value.
Sint32 setRange (Sint32 iMin, Sint32 iMax)
 Set the progress range.
Sint32 getRange (Sint32 *iMin, Sint32 *iMax) const
 Get the progress range.
bool setMargin (Sint32 iTop, Sint32 iRight, Sint32 iBottom, Sint32 iLeft) override
 Set progress content margins.
Public Member Functions inherited from CRM64Pro::Widget
const string & getName () const
 Get the widget name.
Sint32 getID () const
 Get the widget ID.
eWidgetType getType () const
 Get the widget type.
bool disable ()
 Disable a widget.
bool enable ()
 Enable a widget.
bool show ()
 Show a widget.
bool hide ()
 Hide a widget.
eGeneralStatus status () const
 Get the widget status.
bool setFeatures (eWidgetFeature eWF, bool bEnable)
 Set widget feature flags.
eWidgetFeature getFeatures () const
 Get widget feature flags.
Sint32 getWidth () const
 Get the widget width.
Sint32 getHeight () const
 Get the widget height.
Sint32 setPosition (const Position &rPosX=Position(PH_CENTER), const Position &rPosY=Position(PH_CENTER))
 Set the position.
const PositiongetPositionX () const
 Get the widget X position.
const PositiongetPositionY () const
 Get the widget Y position.
bool getMargin (Sint32 *iTop, Sint32 *iRight, Sint32 *iBottom, Sint32 *iLeft)
 Get the margins.
bool setAlphaMod (Uint8 iAlpha)
 Set alpha modulation used for rendering this widget.
Uint8 getAlphaMod () const
 Get alpha modulation used for rendering this widget.
eWidgetState getState () const
 Get the widget state.
virtual Sint32 setFont (Sint32 idFont, eWidgetState eWS=WS_DEFAULT)
 Set the font.
Sint32 getFont (eWidgetState eWS=WS_NORMAL) const
 Get the font.
Sint32 setBorderWidth (Sint32 iWidth, eWidgetState eWS=WS_DEFAULT)
 Set the border width.
Sint32 getBorderWidth (eWidgetState eWS=WS_NORMAL) const
 Get the border width.
Sint32 setBorderCorner (Sint32 iRad, eWidgetState eWS=WS_DEFAULT)
 Set the border corner radius.
Sint32 getBorderCorner (eWidgetState eWS=WS_NORMAL) const
 Get the border corner radius.
Sint32 setBorderColor (Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA, eWidgetState eWS=WS_DEFAULT)
 Set the border color.
Sint32 getBorderColor (Uint8 *iR, Uint8 *iG, Uint8 *iB, Uint8 *iA, eWidgetState eWS=WS_NORMAL) const
 Get the effective border color.
Sint32 setBackgroundColor (Uint8 iR, Uint8 iG, Uint8 iB, eWidgetState eWS=WS_DEFAULT)
 Set the background color.
Sint32 getBackgroundColor (Uint8 *iR, Uint8 *iG, Uint8 *iB, eWidgetState eWS=WS_NORMAL) const
 Get the effective background color.
Sint32 setSelectionColor (Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA, eWidgetState eWS=WS_DEFAULT)
 Set the selection highlight color.
Sint32 getSelectionColor (Uint8 *iR, Uint8 *iG, Uint8 *iB, Uint8 *iA, eWidgetState eWS=WS_NORMAL) const
 Get the effective selection highlight color.
Sint32 resetSkin (eWidgetState eWS=WS_DEFAULT)
 Clear custom skin overrides and custom background resources.
Uint32 getSkinOverrideMask (eWidgetState eWS=WS_NORMAL) const
 Get the custom skin override mask for one state.
Sint32 clearBackground (eWidgetState eWS=WS_DEFAULT)
 Clear custom background resources for one state.
Sint32 setBackgroundImage (const string &sCDCFile, const string &sName, eWidgetState eWS=WS_NORMAL)
 Set the background image.
Sint32 setBackgroundImage (Sint32 idCDC, const string &sName, eWidgetState eWS=WS_NORMAL)
 Set the background image.
Sint32 setBackgroundImage (Sint32 idImage, eWidgetState eWS=WS_NORMAL)
 Set the background image.
Sint32 getBackgroundImage (eWidgetState eWS=WS_NORMAL) const
 Get the background image.
Sint32 setBackgroundSprite (const string &sCDCFile, const string &sName, eWidgetState eWS=WS_DEFAULT, Sint32 iAnim=0)
 Set the background sprite.
Sint32 setBackgroundSprite (Sint32 idCDC, const string &sName, eWidgetState eWS=WS_DEFAULT, Sint32 iAnim=0)
 Set the background sprite.
Sint32 setBackgroundSprite (Sint32 idSprite, eWidgetState eWS=WS_DEFAULT, Sint32 iAnim=0)
 Set the background sprite.
Sint32 getBackgroundSprite (eWidgetState eWS=WS_NORMAL, Sint32 *iAnim=nullptr) const
 Get the background sprite.
bool setOnAction (function< void(Widget &)> fnCallback)
 Set a callback fired when the widget triggers an action.
bool setOnHoverEnter (function< void(Widget &)> fnCallback)
 Set a callback fired when the widget starts being hovered.
bool setOnHoverExit (function< void(Widget &)> fnCallback)
 Set a callback fired when mouse hover exits the widget.
bool setOnPressed (function< void(Widget &)> fnCallback)
 Set a callback fired when the widget is pressed.
bool setOnFocusLost (function< void(Widget &)> fnCallback)
 Set a callback fired when the widget loses focus.
bool setOnValueCommitted (function< void(Widget &)> fnCallback)
 Set a callback fired when an edit widget commits a changed value.
bool setOnSelectionChanged (function< void(Widget &)> fnCallback)
 Set a callback fired when a selection widget changes selection.
bool setOnValueChanged (function< void(Widget &)> fnCallback)
 Set a callback fired when a live value widget changes value.
bool setOnToggled (function< void(Widget &)> fnCallback)
 Set a callback fired when a toggle widget changes state.
Sint32 setTooltip (const string &sText)
 Set the tooltip text.
const string & getTooltip () const
 Get the tooltip text.
Sint32 setTooltipTTL (Sint32 iMS)
 Set the tooltip auto-hide time.
Sint32 getTooltipTTL () const
 Get the tooltip auto-hide time.
Sint32 setTooltipFollowCursor (bool bEnable=true)
 Set whether the tooltip follows the cursor.
bool isTooltipFollowingCursor () const
 Check whether the tooltip follows the cursor.
bool setTooltipBackgroundColor (Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA)
 Set the widget-local tooltip background color override.
bool getTooltipBackgroundColor (Uint8 *iR, Uint8 *iG, Uint8 *iB, Uint8 *iA) const
 Get the effective tooltip background color.
bool setTooltipBorderColor (Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA)
 Set the widget-local tooltip border color override.
bool getTooltipBorderColor (Uint8 *iR, Uint8 *iG, Uint8 *iB, Uint8 *iA) const
 Get the effective tooltip border color.
Sint32 setTooltipFontName (const string &sFontName)
 Set the widget-local tooltip font name override.
Sint32 setTooltipFont (Sint32 idFont)
 Set the widget-local runtime tooltip font id override.
Sint32 getTooltipFont () const
 Get the effective tooltip font id.
Uint32 getTooltipOverrideMask () const
 Get the widget-local tooltip style override mask.
Sint32 resetTooltipStyle ()
 Reset widget-local tooltip style overrides.

Member Function Documentation

◆ info()

bool CRM64Pro::WidgetProgress::info ( Sint32 iMode = 0)
overridevirtual

Request Progress widget information.

Writes information to the default log.

Parameters
iModecurrently forwarded to the common widget info path.
Returns
true on success, or false on failure.

Reimplemented from CRM64Pro::Widget.

◆ setSize()

Sint32 CRM64Pro::WidgetProgress::setSize ( Sint32 iWidth,
Sint32 iHeight )
overridevirtual

Set the progress widget size.

Parameters
iWidthWidget width in pixels.
iHeightWidget height in pixels.
Returns
0 on success, or a negative error code on failure.

Reimplemented from CRM64Pro::Widget.

◆ setValue()

Sint32 CRM64Pro::WidgetProgress::setValue ( Sint32 iValue)

Set the current progress value.

Parameters
iValueValue to assign. Values outside [iMin,iMax] are clamped.
Returns
0 on success, or a negative error code on failure.
Note
Current value and range are persisted in CDC widget blocks.

◆ getValue()

Sint32 CRM64Pro::WidgetProgress::getValue ( ) const

Get the current progress value.

Returns
Current value in [iMin,iMax].

◆ setRange()

Sint32 CRM64Pro::WidgetProgress::setRange ( Sint32 iMin,
Sint32 iMax )

Set the progress range.

Parameters
iMinMinimum value.
iMaxMaximum value. Must be greater than or equal to iMin.
Returns
0 on success, or a negative error code on failure.
Note
If the current value is outside the new range, it is clamped to the new range.
For progress bars without image/sprite, call setSize() before setRange().

◆ getRange()

Sint32 CRM64Pro::WidgetProgress::getRange ( Sint32 * iMin,
Sint32 * iMax ) const

Get the progress range.

Parameters
iMinPointer to receive the minimum value, or nullptr to skip.
iMaxPointer to receive the maximum value, or nullptr to skip.
Returns
0 on success, or a negative error code on failure.

◆ setMargin()

bool CRM64Pro::WidgetProgress::setMargin ( Sint32 iTop,
Sint32 iRight,
Sint32 iBottom,
Sint32 iLeft )
overridevirtual

Set progress content margins.

Parameters
iTopTop margin.
iRightRight margin.
iBottomBottom margin.
iLeftLeft margin.
Returns
true on success, or false on failure.

Reimplemented from CRM64Pro::Widget.