A draggable UI slider component.
More...
#include <Slider.h>
|
| Slider ()=default |
| Default constructor.
|
|
| Slider (const Slider &)=delete |
|
Slider & | operator= (const Slider &)=delete |
|
| Slider (std::string sliderKnobKey, std::string sliderBarKey) |
| Constructs a Slider with specified knob and bar texture keys.
|
|
void | SetOrigin (float x, float y) |
| Sets the origin of the slider (for transformations).
|
|
void | SetPosition (float x, float y) |
| Sets the position of the slider.
|
|
void | SetAngleRadians (float rad) |
| Sets the angle of the slider in radians.
|
|
void | SetAngleDegrees (float deg) |
| Sets the angle of the slider in degrees.
|
|
void | SetScaleFactor (float x, float y) |
| Sets the scale factor of the slider.
|
|
void | SetScalePixel (float x, float y) |
| Sets the scale of the slider in pixels.
|
|
float | GetWidth () const |
| Gets the width of the slider (bar) in pixels.
|
|
float | GetHeight () const |
| Gets the height of the slider (bar) in pixels.
|
|
float | GetAngle () const |
| Gets the angle of the slider in radians.
|
|
float | GetScaleX () const |
| Gets the x-scale factor of the slider.
|
|
float | GetScaleY () const |
| Gets the y-scale factor of the slider.
|
|
void | SetLayer (int layer) override |
| Sets the rendering layer of the slider.
|
|
void | SetOnPressCommand (UICommand *cmd) |
| Sets the command to be executed when the slider is pressed.
|
|
void | SetValue (float value) |
| Sets the value of the slider (0.0 to 1.0).
|
|
float | GetValue () const |
| Gets the current value of the slider (0.0 to 1.0).
|
|
virtual | ~UIComponent ()=default |
| Virtual destructor.
|
|
int | GetLayer () const |
| Gets the rendering layer of the component.
|
|
UIComponentType | GetType () const |
| Gets the type of the UI component.
|
|
bool | IsEnabled () const |
| Returns whether the component is enabled or not.
|
|
void | SetEnabled (bool enabled) |
| Sets the enabled state of the component.
|
|
void | SetOwningCanvas (Canvas *canvas) |
| Gets the owning canvas of the component.
|
|
|
void | Render () override |
| Renders the slider (bar and knob).
|
|
void | OnPress () override |
| Handles press events (mouse interaction) for the slider.
|
|
bool | IsMouseOver (float xPos, float yPos) override |
| Checks if the mouse is over the slider.
|
|
void | UpdateWorld () |
| Updates the world matrix of the slider.
|
|
|
SUNENGINESprite * | pKnobSprite |
| Sprite for the slider knob.
|
|
SUNENGINESprite * | pBarSprite |
| Sprite for the slider bar.
|
|
Matrix | trans |
| Transformation matrix.
|
|
Matrix | rot |
| Rotation matrix.
|
|
Matrix | scale |
| Scale matrix.
|
|
float | posX |
| X position of the slider center.
|
|
float | posY |
| Y position of the slider center.
|
|
float | angle |
| Angle of the slider in radians.
|
|
float | scaleX |
| X scale factor.
|
|
float | scaleY |
| Y scale factor.
|
|
float | value |
| Current value of the slider (0.0 to 1.0).
|
|
UICommand * | pOnPressCommand |
| Command to execute when the slider is pressed.
|
|
|
bool | Enabled = true |
| Indicates if the component is enabled or not.
|
|
int | Layer = 0 |
| Rendering layer in.
|
|
UIComponentType | Type = UIComponentType::None |
| Type of the UI component.
|
|
Canvas * | pOwningCanvas = nullptr |
| Pointer to the owning canvas, if any.
|
|
A draggable UI slider component.
The Slider class represents a UI slider that allows users to select a value by dragging a knob along a bar. It supports custom sprites for the knob and bar, and can be positioned, rotated, and scaled. The slider can execute a command when pressed, and its value can be set or queried programmatically.
Example usage:
Slider* slider =
new Slider(
"KnobTextureKey",
"BarTextureKey");
canvas->AddComponent(slider);
void SetOrigin(float x, float y)
Sets the origin of the slider (for transformations).
Definition Slider.cpp:35
void SetPosition(float x, float y)
Sets the position of the slider.
Definition Slider.cpp:42
void SetOnPressCommand(UICommand *cmd)
Sets the command to be executed when the slider is pressed.
Definition Slider.cpp:146
void SetScaleFactor(float x, float y)
Sets the scale factor of the slider.
Definition Slider.cpp:58
Slider()=default
Default constructor.
- See also
- Canvas, UICommand, SUNENGINESprite
◆ Slider()
Slider::Slider |
( |
std::string | sliderKnobKey, |
|
|
std::string | sliderBarKey ) |
Constructs a Slider with specified knob and bar texture keys.
- Parameters
-
sliderKnobKey | The texture key for the slider knob. |
sliderBarKey | The texture key for the slider bar. |
◆ GetAngle()
float Slider::GetAngle |
( |
| ) |
const |
Gets the angle of the slider in radians.
- Returns
- The angle in radians.
◆ GetHeight()
float Slider::GetHeight |
( |
| ) |
const |
Gets the height of the slider (bar) in pixels.
- Returns
- The height of the slider.
◆ GetScaleX()
float Slider::GetScaleX |
( |
| ) |
const |
Gets the x-scale factor of the slider.
- Returns
- The x-scale factor.
◆ GetScaleY()
float Slider::GetScaleY |
( |
| ) |
const |
Gets the y-scale factor of the slider.
- Returns
- The y-scale factor.
◆ GetValue()
float Slider::GetValue |
( |
| ) |
const |
Gets the current value of the slider (0.0 to 1.0).
- Returns
- The current slider value.
◆ GetWidth()
float Slider::GetWidth |
( |
| ) |
const |
Gets the width of the slider (bar) in pixels.
- Returns
- The width of the slider.
◆ IsMouseOver()
bool Slider::IsMouseOver |
( |
float | xPos, |
|
|
float | yPos ) |
|
overrideprivatevirtual |
Checks if the mouse is over the slider.
- Parameters
-
xPos | The x-coordinate of the mouse position. |
yPos | The y-coordinate of the mouse position. |
- Returns
- True if the mouse is over the slider, false otherwise.
Implements UIComponent.
◆ OnPress()
Handles press events (mouse interaction) for the slider.
Implements UIComponent.
◆ Render()
Renders the slider (bar and knob).
Implements UIComponent.
◆ SetAngleDegrees()
void Slider::SetAngleDegrees |
( |
float | deg | ) |
|
Sets the angle of the slider in degrees.
- Parameters
-
◆ SetAngleRadians()
void Slider::SetAngleRadians |
( |
float | rad | ) |
|
Sets the angle of the slider in radians.
- Parameters
-
◆ SetLayer()
void Slider::SetLayer |
( |
int | layer | ) |
|
|
overridevirtual |
Sets the rendering layer of the slider.
- Parameters
-
Reimplemented from UIComponent.
◆ SetOnPressCommand()
void Slider::SetOnPressCommand |
( |
UICommand * | cmd | ) |
|
Sets the command to be executed when the slider is pressed.
- Parameters
-
cmd | The command to execute. |
◆ SetOrigin()
void Slider::SetOrigin |
( |
float | x, |
|
|
float | y ) |
Sets the origin of the slider (for transformations).
- Parameters
-
x | The x-coordinate of the origin (0.0 to 1.0). |
y | The y-coordinate of the origin (0.0 to 1.0). |
◆ SetPosition()
void Slider::SetPosition |
( |
float | x, |
|
|
float | y ) |
Sets the position of the slider.
- Parameters
-
x | The x-coordinate of the slider's center. |
y | The y-coordinate of the slider's center. |
◆ SetScaleFactor()
void Slider::SetScaleFactor |
( |
float | x, |
|
|
float | y ) |
Sets the scale factor of the slider.
- Parameters
-
x | The x-scale factor. |
y | The y-scale factor. |
◆ SetScalePixel()
void Slider::SetScalePixel |
( |
float | x, |
|
|
float | y ) |
Sets the scale of the slider in pixels.
- Parameters
-
x | The width in pixels. |
y | The height in pixels. |
◆ SetValue()
void Slider::SetValue |
( |
float | value | ) |
|
Sets the value of the slider (0.0 to 1.0).
- Parameters
-
value | The new value for the slider. |
The documentation for this class was generated from the following files: