Module: ui.widgets.slider
Source: ./ui/widgets/slider.reef
Overview
ui/widgets/slider.reef - Value slider control Part of reef-stdlib UI module
The Slider widget allows users to select a value from a range by dragging a thumb along a track.
Sliders support:
- Horizontal and vertical orientations
- Configurable min/max range
- Step values for discrete selections
- Custom colors
- Keyboard control
Types
SliderOrientation (enum)
Variants:
HorizontalVertical
SliderEventResultKind (enum)
Variants:
IgnoredHandledChanged
SliderEventResult
Fields:
| Name | Type |
|---|---|
kind |
SliderEventResultKind |
slider |
Slider |
Objects
Slider
Extends: widget.Widget
Fields:
| Name | Type |
|---|---|
value |
float |
min_value |
float |
max_value |
float |
step_value |
float |
orientation |
SliderOrientation |
focused |
bool |
dragging |
bool |
custom_track_color |
core.Color |
use_custom_track |
bool |
custom_thumb_color |
core.Color |
use_custom_thumb |
bool |
track_height |
float |
thumb_size |
float |
proc init(id: widget.WidgetId, min: float, max: float)
Methods:
override shared fn kind(): string
override exclusive proc paint(surf: surface.Surface, th: theme.Theme)
Functions
fn orientation_horizontal(): SliderOrientation
fn orientation_vertical(): SliderOrientation
fn is_orientation_horizontal(o: SliderOrientation): bool
fn is_orientation_vertical(o: SliderOrientation): bool
fn slider(min: float, max: float): Slider
fn slider_with_value(min: float, max: float, value: float): Slider
fn slider_value(s: Slider): float
fn slider_min(s: Slider): float
fn slider_max(s: Slider): float
fn slider_step(s: Slider): float
fn slider_orientation(s: Slider): SliderOrientation
fn slider_is_focused(s: Slider): bool
fn slider_is_enabled(s: Slider): bool
fn slider_set_value(s: Slider, value: float): Slider
fn slider_set_range(s: Slider, min: float, max: float): Slider
fn slider_set_step(s: Slider, step_value: float): Slider
fn slider_set_orientation(s: Slider, orientation: SliderOrientation): Slider
fn slider_set_enabled(s: Slider, enabled: bool): Slider
fn slider_set_track_color(s: Slider, color: core.Color): Slider
fn slider_set_thumb_color(s: Slider, color: core.Color): Slider
fn slider_with_dragging(s: Slider, dragging: bool): Slider
fn slider_with_focus(s: Slider, focused: bool): Slider
fn slider_get_id(s: Slider): widget.WidgetId
fn slider_get_state(s: Slider): widget.WidgetState
fn slider_get_bounds(s: Slider): core.Rect
fn slider_preferred_size(s: Slider, th: theme.Theme): core.Size
fn slider_layout(s: Slider, constraints: layout.Constraints, th: theme.Theme): Slider
fn slider_handle_event(s: Slider, e: event.Event): SliderEventResult
fn slider_result_ignored(): SliderEventResult
fn slider_result_handled(s: Slider): SliderEventResult
fn slider_result_changed(s: Slider): SliderEventResult
fn is_slider_changed(r: SliderEventResult): bool
fn slider_result_slider(r: SliderEventResult): Slider
fn slider_result_to_widget_result(r: SliderEventResult): widget.EventResult
fn handle_mouse_event(s: Slider, me: event.MouseEvent, bounds: core.Rect): SliderEventResult
fn update_value_from_position(s: Slider, x: float, y: float, bounds: core.Rect): Slider
fn handle_key_event(s: Slider, ke: event.KeyEvent): SliderEventResult
fn handle_focus_event(s: Slider, fe: event.FocusEvent): SliderEventResult
fn get_track_color(s: Slider, colors: theme.ThemeColors): core.Color
fn get_thumb_color(s: Slider, colors: theme.ThemeColors): core.Color
fn get_step_amount(s: Slider): float
fn point_in_rect(px: float, py: float, r: core.Rect): bool
Procedures
proc slider_paint(s: Slider, surf: surface.Surface, th: theme.Theme)
proc paint_horizontal_slider(s: Slider, surf: surface.Surface, bounds: core.Rect, track_color: core.Color, filled_color: core.Color, thumb_color: core.Color, colors: theme.ThemeColors)
proc paint_vertical_slider(s: Slider, surf: surface.Surface, bounds: core.Rect, track_color: core.Color, filled_color: core.Color, thumb_color: core.Color, colors: theme.ThemeColors)
proc draw_rect_border(surf: surface.Surface, x: float, y: float, w: float, h: float, color: core.Color, width: float)
Generated by reefc doc