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:

  • Horizontal
  • Vertical

SliderEventResultKind (enum)

Variants:

  • Ignored
  • Handled
  • Changed

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