2.2 KiB
2.2 KiB
Scrollbar : VisualElement
A scrollbar element that can be attached to other elements to control their scroll properties
Properties
| Property | Type | Default | Description |
|---|---|---|---|
| value | number | 0 | Current scroll value |
| min | number | 0 | Minimum scroll value |
| max | number | 100 | Maximum scroll value |
| step | number | 1 | Step size for scroll operations |
| dragMultiplier | number | 1 | How fast the scrollbar moves when dragging |
| symbol | string | " | " Symbol used for the scrollbar handle |
| backgroundSymbol | string | "\127" | Symbol used for the scrollbar background |
| symbolBackgroundColor | color | black | Background color of the scrollbar handle |
| backgroundSymbol | string | "\127" | Symbol used for the scrollbar background |
| attachedElement | table? | nil | The element this scrollbar is attached to |
| attachedProperty | string? | nil | The property being controlled |
| minValue | number | function | 0 |
| maxValue | number | function | 100 |
| orientation | string | vertical | Orientation of the scrollbar ("vertical" or "horizontal") |
| handleSize | number | 2 | Size of the scrollbar handle in characters |
Functions
| Method | Returns | Description |
|---|---|---|
| Scrollbar:attach | Scrollbar | Attaches the scrollbar to an element's property |
| Scrollbar:updateAttachedElement | Scrollbar | Updates the attached element's property based on the scrollbar value |
Protected Functions
| Method | Returns | Description |
|---|---|---|
| Scrollbar:init | Scrollbar | Initializes the Scrollbar instance |
| Scrollbar:mouse_click | boolean | Handles mouse click events |
| Scrollbar:mouse_drag | boolean | Handles mouse drag events |
| Scrollbar:mouse_scroll | boolean | Handles mouse scroll events |
| Scrollbar:render | - | Renders the scrollbar |
Scrollbar:attach(element, config)
Attaches the scrollbar to an element's property
Parameters
elementBaseElementThe element to attach toconfigtableConfiguration {property = "propertyName", min = number|function, max = number|function}
Returns
ScrollbarselfThe scrollbar instance
Scrollbar:updateAttachedElement()
Updates the attached element's property based on the scrollbar value
Returns
ScrollbarselfThe scrollbar instance