mirror of
https://github.com/Insality/druid.git
synced 2025-09-28 02:22:18 +02:00
Update docs
This commit is contained in:
@@ -3,24 +3,25 @@ local helper = require("druid.helper")
|
||||
local const = require("druid.const")
|
||||
local component = require("druid.component")
|
||||
|
||||
---The component to make a draggable node over a line with a progress report
|
||||
---@class druid.slider: druid.component
|
||||
---@field node node
|
||||
---@field on_change_value event
|
||||
---@field style table
|
||||
---@field private start_pos vector3
|
||||
---@field private pos vector3
|
||||
---@field private target_pos vector3
|
||||
---@field private end_pos vector3
|
||||
---@field private dist vector3
|
||||
---@field private is_drag boolean
|
||||
---@field private value number
|
||||
---@field private steps number[]
|
||||
---@field node node The node to manage the slider
|
||||
---@field on_change_value event The event triggered when the slider value changes
|
||||
---@field style table The style of the slider
|
||||
---@field private start_pos vector3 The start position of the slider
|
||||
---@field private pos vector3 The current position of the slider
|
||||
---@field private target_pos vector3 The target position of the slider
|
||||
---@field private end_pos vector3 The end position of the slider
|
||||
---@field private dist vector3 The distance between the start and end positions of the slider
|
||||
---@field private is_drag boolean True if the slider is being dragged
|
||||
---@field private value number The current value of the slider
|
||||
---@field private steps number[] The steps of the slider
|
||||
local M = component.create("slider", const.PRIORITY_INPUT_HIGH)
|
||||
|
||||
|
||||
---The Slider constructor
|
||||
---@param node node Gui pin node
|
||||
---@param end_pos vector3 The end position of slider
|
||||
---@param node node GUI node to drag as a slider
|
||||
---@param end_pos vector3 The end position of slider, should be on the same axis as the node
|
||||
---@param callback function|nil On slider change callback
|
||||
function M:init(node, end_pos, callback)
|
||||
self.node = self:get_node(node)
|
||||
@@ -61,6 +62,9 @@ function M:on_window_resized()
|
||||
end
|
||||
|
||||
|
||||
---@param action_id number The action id
|
||||
---@param action action The action table
|
||||
---@return boolean is_consumed True if the input was consumed
|
||||
function M:on_input(action_id, action)
|
||||
if action_id ~= const.ACTION_TOUCH then
|
||||
return false
|
||||
@@ -148,6 +152,7 @@ end
|
||||
---Set value for slider
|
||||
---@param value number Value from 0 to 1
|
||||
---@param is_silent boolean|nil Don't trigger event if true
|
||||
---@return druid.slider self Current slider instance
|
||||
function M:set(value, is_silent)
|
||||
value = helper.clamp(value, 0, 1)
|
||||
self:_set_position(value)
|
||||
@@ -155,13 +160,15 @@ function M:set(value, is_silent)
|
||||
if not is_silent then
|
||||
self:_on_change_value()
|
||||
end
|
||||
|
||||
return self
|
||||
end
|
||||
|
||||
|
||||
---Set slider steps. Pin node will
|
||||
---apply closest step position
|
||||
---@param steps number[] Array of steps
|
||||
---@return druid.slider Slider
|
||||
---@return druid.slider self Current slider instance
|
||||
function M:set_steps(steps)
|
||||
self.steps = steps
|
||||
return self
|
||||
@@ -173,7 +180,7 @@ end
|
||||
---move at this position and node drag will start.
|
||||
---This function require the Defold version 1.3.0+
|
||||
---@param input_node node|string|nil
|
||||
---@return druid.slider Slider
|
||||
---@return druid.slider self Current slider instance
|
||||
function M:set_input_node(input_node)
|
||||
if not input_node then
|
||||
self._input_node = nil
|
||||
@@ -186,14 +193,17 @@ end
|
||||
|
||||
|
||||
---Set Slider input enabled or disabled
|
||||
---@param is_enabled boolean
|
||||
---@param is_enabled boolean True if slider is enabled
|
||||
---@return druid.slider self Current slider instance
|
||||
function M:set_enabled(is_enabled)
|
||||
self._is_enabled = is_enabled
|
||||
|
||||
return self
|
||||
end
|
||||
|
||||
|
||||
---Check if Slider component is enabled
|
||||
---@return boolean
|
||||
---@return boolean is_enabled True if slider is enabled
|
||||
function M:is_enabled()
|
||||
return self._is_enabled
|
||||
end
|
||||
|
Reference in New Issue
Block a user