81 lines
2.1 KiB
Markdown
81 lines
2.1 KiB
Markdown
# Slider : VisualElement
|
|
This is the slider class. It provides a draggable slider control that can be either horizontal or vertical,
|
|
with customizable colors and value ranges.
|
|
|
|
## Properties
|
|
|
|
|Property|Type|Default|Description|
|
|
|---|---|---|---|
|
|
|step|number|1|Current position of the slider handle (1 to width/height)
|
|
|max|number|100|Maximum value for value conversion (maps slider position to this range)
|
|
|horizontal|boolean|true|Whether the slider is horizontal (false for vertical)
|
|
|barColor|color|gray|Color of the slider track
|
|
|sliderColor|color|blue|Color of the slider handle
|
|
|
|
## Events
|
|
|
|
|Event|Parameters|Description|
|
|
|---|---|---|
|
|
|onChange|`value number`|Fired when the slider value changes|
|
|
|
|
## Functions
|
|
|
|
|Method|Returns|Description|
|
|
|---|---|---|
|
|
|[Slider.new](#Slider.new)|Slider|Creates a new Slider instance
|
|
|[Slider:getValue](#Slider:getValue)|number|Gets the current value mapped to the max range
|
|
|[Slider:init](#Slider:init)|Slider|Initializes the Slider instance
|
|
|[Slider:mouse_click](#Slider:mouse_click)|boolean|Updates slider position on mouse click
|
|
|[Slider:mouse_scroll](#Slider:mouse_scroll)|-|
|
|
|[Slider:render](#Slider:render)|-|Renders the slider with track and handle
|
|
|
|
## Slider.new()
|
|
Creates a new Slider instance
|
|
|
|
### Returns
|
|
* `Slider` `self` The newly created Slider instance
|
|
|
|
### Usage
|
|
```lua
|
|
local slider = Slider.new()
|
|
```
|
|
|
|
## Slider:getValue()
|
|
Gets the current value of the slider
|
|
|
|
### Returns
|
|
* `number` `value` The current value (0 to max)
|
|
|
|
### Usage
|
|
```lua
|
|
local value = slider:getValue()
|
|
```
|
|
|
|
## Slider:init(props, basalt)
|
|
Initializes the Slider instance
|
|
|
|
### Parameters
|
|
* `props` `table` The properties to initialize the element with
|
|
* `basalt` `table` The basalt instance
|
|
|
|
### Returns
|
|
* `Slider` `self` The initialized instance
|
|
|
|
## Slider:mouse_click(button, x, y)
|
|
Handles mouse click events
|
|
|
|
### Parameters
|
|
* `button` `number` The mouse button that was clicked
|
|
* `x` `number` The x position of the click
|
|
* `y` `number` The y position of the click
|
|
|
|
### Returns
|
|
* `boolean` `handled` Whether the event was handled
|
|
|
|
## Slider:mouse_scroll()
|
|
|
|
## Slider:render()
|
|
Renders the slider
|
|
|
|
|