Skip to content

Latest commit

 

History

History
135 lines (92 loc) · 2.83 KB

slider_api.md

File metadata and controls

135 lines (92 loc) · 2.83 KB

druid.slider API

at /druid/extended/slider.lua

Basic Druid slider component. Creates a draggable node over a line with progress reporting.

Setup

Create slider component with druid: slider = druid:new_slider(node_name, end_pos, callback)

Notes

  • Pin node should be placed in initial position at zero progress
  • It will be available to move Pin node between start pos and end pos
  • You can setup points of interests on slider via slider:set_steps. If steps exist, slider values will be only from these steps (notched slider)
  • Start pos and end pos should be on vertical or horizontal line (their x or y value should be equal)
  • To catch input across all slider, you can setup input node via slider:set_input_node

Functions

Fields

init


slider:init(node, end_pos, [callback])

The Slider constructor

  • Parameters:
    • node (node): GUI node to drag as a slider
    • end_pos (vector3): The end position of slider, should be on the same axis as the node
    • [callback] (function|nil): On slider change callback

set


slider:set(value, [is_silent])

Set value for slider

  • Parameters:

    • value (number): Value from 0 to 1
    • [is_silent] (boolean|nil): Don't trigger event if true
  • Returns:

    • self (druid.slider): Current slider instance

set_steps


slider:set_steps(steps)

Set slider steps. Pin node will apply closest step position

  • Parameters:

    • steps (number[]): Array of steps
  • Returns:

    • self (druid.slider): Current slider instance

set_input_node


slider:set_input_node([input_node])

Set input zone for slider. User can touch any place of node, pin instantly will move at this position and node drag will start. This function require the Defold version 1.3.0+

  • Parameters:

    • [input_node] (string|node|nil):
  • Returns:

    • self (druid.slider): Current slider instance

set_enabled


slider:set_enabled(is_enabled)

Set Slider input enabled or disabled

  • Parameters:

    • is_enabled (boolean): True if slider is enabled
  • Returns:

    • self (druid.slider): Current slider instance

is_enabled


slider:is_enabled()

Check if Slider component is enabled

  • Returns:
    • is_enabled (boolean): True if slider is enabled

Fields

  • node (node): The node to manage the slider

  • on_change_value (event): fun(self: druid.slider, value: number) The event triggered when the slider value changes

  • style (table): The style of the slider