parent
2becaeccd7
commit
851d481b76
@ -20,11 +20,11 @@ local flasher = require("graphics.flasher")
|
|||||||
---@field fg_bg? cpair foreground/background colors
|
---@field fg_bg? cpair foreground/background colors
|
||||||
---@field hidden? boolean true to hide on initial draw
|
---@field hidden? boolean true to hide on initial draw
|
||||||
|
|
||||||
-- new alarm indicator light
|
-- Create a new alarm indicator light element.
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
---@param args alarm_indicator_light
|
---@param args alarm_indicator_light
|
||||||
---@return graphics_element element, element_id id
|
---@return AlarmLight element, element_id id
|
||||||
local function alarm_indicator_light(args)
|
return function (args)
|
||||||
element.assert(type(args.label) == "string", "label is a required field")
|
element.assert(type(args.label) == "string", "label is a required field")
|
||||||
element.assert(type(args.c1) == "number", "c1 is a required field")
|
element.assert(type(args.c1) == "number", "c1 is a required field")
|
||||||
element.assert(type(args.c2) == "number", "c2 is a required field")
|
element.assert(type(args.c2) == "number", "c2 is a required field")
|
||||||
@ -49,7 +49,7 @@ local function alarm_indicator_light(args)
|
|||||||
local c3 = colors.toBlit(args.c3)
|
local c3 = colors.toBlit(args.c3)
|
||||||
|
|
||||||
-- create new graphics element base object
|
-- create new graphics element base object
|
||||||
local e = element.new(args)
|
local e = element.new(args --[[@as graphics_args]])
|
||||||
|
|
||||||
e.value = 1
|
e.value = 1
|
||||||
|
|
||||||
@ -113,10 +113,8 @@ local function alarm_indicator_light(args)
|
|||||||
e.w_write(args.label)
|
e.w_write(args.label)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- initial draw
|
---@class AlarmLight:graphics_element
|
||||||
e.redraw()
|
local AlarmLight, id = e.complete(true)
|
||||||
|
|
||||||
return e.complete()
|
return AlarmLight, id
|
||||||
end
|
end
|
||||||
|
|
||||||
return alarm_indicator_light
|
|
||||||
|
|||||||
@ -13,11 +13,11 @@ local element = require("graphics.element")
|
|||||||
---@field x? integer 1 if omitted
|
---@field x? integer 1 if omitted
|
||||||
---@field y? integer auto incremented if omitted
|
---@field y? integer auto incremented if omitted
|
||||||
|
|
||||||
-- new core map box
|
-- Create a new core map box element.
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
---@param args core_map_args
|
---@param args core_map_args
|
||||||
---@return graphics_element element, element_id id
|
---@return CoreMap element, element_id id
|
||||||
local function core_map(args)
|
return function (args)
|
||||||
element.assert(util.is_int(args.reactor_l), "reactor_l is a required field")
|
element.assert(util.is_int(args.reactor_l), "reactor_l is a required field")
|
||||||
element.assert(util.is_int(args.reactor_w), "reactor_w is a required field")
|
element.assert(util.is_int(args.reactor_w), "reactor_w is a required field")
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ local function core_map(args)
|
|||||||
args.fg_bg = core.cpair(args.parent.get_fg_bg().fgd, colors.gray)
|
args.fg_bg = core.cpair(args.parent.get_fg_bg().fgd, colors.gray)
|
||||||
|
|
||||||
-- create new graphics element base object
|
-- create new graphics element base object
|
||||||
local e = element.new(args)
|
local e = element.new(args --[[@as graphics_args]])
|
||||||
|
|
||||||
e.value = 0
|
e.value = 0
|
||||||
|
|
||||||
@ -165,10 +165,8 @@ local function core_map(args)
|
|||||||
draw_core(e.value)
|
draw_core(e.value)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- initial draw
|
---@class CoreMap:graphics_element
|
||||||
e.redraw()
|
local CoreMap, id = e.complete(true)
|
||||||
|
|
||||||
return e.complete()
|
return CoreMap, id
|
||||||
end
|
end
|
||||||
|
|
||||||
return core_map
|
|
||||||
|
|||||||
@ -19,11 +19,11 @@ local element = require("graphics.element")
|
|||||||
---@field fg_bg? cpair foreground/background colors
|
---@field fg_bg? cpair foreground/background colors
|
||||||
---@field hidden? boolean true to hide on initial draw
|
---@field hidden? boolean true to hide on initial draw
|
||||||
|
|
||||||
-- new data indicator
|
-- Create new data indicator element.
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
---@param args data_indicator_args
|
---@param args data_indicator_args
|
||||||
---@return graphics_element element, element_id id
|
---@return DataIndicator element, element_id id
|
||||||
local function data(args)
|
return function (args)
|
||||||
element.assert(type(args.label) == "string", "label is a required field")
|
element.assert(type(args.label) == "string", "label is a required field")
|
||||||
element.assert(type(args.format) == "string", "format is a required field")
|
element.assert(type(args.format) == "string", "format is a required field")
|
||||||
element.assert(args.value ~= nil, "value is a required field")
|
element.assert(args.value ~= nil, "value is a required field")
|
||||||
@ -32,7 +32,7 @@ local function data(args)
|
|||||||
args.height = 1
|
args.height = 1
|
||||||
|
|
||||||
-- create new graphics element base object
|
-- create new graphics element base object
|
||||||
local e = element.new(args)
|
local e = element.new(args --[[@as graphics_args]])
|
||||||
|
|
||||||
e.value = args.value
|
e.value = args.value
|
||||||
|
|
||||||
@ -94,10 +94,8 @@ local function data(args)
|
|||||||
e.on_update(e.value)
|
e.on_update(e.value)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- initial draw
|
---@class DataIndicator:graphics_element
|
||||||
e.redraw()
|
local DataIndicator, id = e.complete(true)
|
||||||
|
|
||||||
return e.complete()
|
return DataIndicator, id
|
||||||
end
|
end
|
||||||
|
|
||||||
return data
|
|
||||||
|
|||||||
@ -17,13 +17,13 @@ local element = require("graphics.element")
|
|||||||
---@field fg_bg? cpair foreground/background colors
|
---@field fg_bg? cpair foreground/background colors
|
||||||
---@field hidden? boolean true to hide on initial draw
|
---@field hidden? boolean true to hide on initial draw
|
||||||
|
|
||||||
-- new horizontal bar
|
-- Create a new horizontal fill bar indicator element.
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
---@param args hbar_args
|
---@param args hbar_args
|
||||||
---@return graphics_element element, element_id id
|
---@return graphics_element element, element_id id
|
||||||
local function hbar(args)
|
return function (args)
|
||||||
-- create new graphics element base object
|
-- create new graphics element base object
|
||||||
local e = element.new(args)
|
local e = element.new(args --[[@as graphics_args]])
|
||||||
|
|
||||||
e.value = 0.0
|
e.value = 0.0
|
||||||
|
|
||||||
@ -119,10 +119,8 @@ local function hbar(args)
|
|||||||
e.on_update(e.value)
|
e.on_update(e.value)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- initial draw
|
---@class HorizontalBar:graphics_element
|
||||||
e.redraw()
|
local HorizontalBar, id = e.complete(true)
|
||||||
|
|
||||||
return e.complete()
|
return HorizontalBar, id
|
||||||
end
|
end
|
||||||
|
|
||||||
return hbar
|
|
||||||
|
|||||||
@ -18,11 +18,11 @@ local element = require("graphics.element")
|
|||||||
---@field fg_bg? cpair foreground/background colors
|
---@field fg_bg? cpair foreground/background colors
|
||||||
---@field hidden? boolean true to hide on initial draw
|
---@field hidden? boolean true to hide on initial draw
|
||||||
|
|
||||||
-- new icon indicator
|
-- Create a new icon indicator element.
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
---@param args icon_indicator_args
|
---@param args icon_indicator_args
|
||||||
---@return graphics_element element, element_id id
|
---@return IconIndicator element, element_id id
|
||||||
local function icon(args)
|
return function (args)
|
||||||
element.assert(type(args.label) == "string", "label is a required field")
|
element.assert(type(args.label) == "string", "label is a required field")
|
||||||
element.assert(type(args.states) == "table", "states is a required field")
|
element.assert(type(args.states) == "table", "states is a required field")
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ local function icon(args)
|
|||||||
args.width = math.max(args.min_label_width or 1, string.len(args.label)) + 4
|
args.width = math.max(args.min_label_width or 1, string.len(args.label)) + 4
|
||||||
|
|
||||||
-- create new graphics element base object
|
-- create new graphics element base object
|
||||||
local e = element.new(args)
|
local e = element.new(args --[[@as graphics_args]])
|
||||||
|
|
||||||
e.value = args.value or 1
|
e.value = args.value or 1
|
||||||
if e.value == true then e.value = 2 end
|
if e.value == true then e.value = 2 end
|
||||||
@ -71,10 +71,8 @@ local function icon(args)
|
|||||||
e.on_update(e.value)
|
e.on_update(e.value)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- initial draw
|
---@class IconIndicator:graphics_element
|
||||||
e.redraw()
|
local IconIndicator, id = e.complete(true)
|
||||||
|
|
||||||
return e.complete()
|
return IconIndicator, id
|
||||||
end
|
end
|
||||||
|
|
||||||
return icon
|
|
||||||
|
|||||||
@ -18,11 +18,11 @@ local flasher = require("graphics.flasher")
|
|||||||
---@field fg_bg? cpair foreground/background colors
|
---@field fg_bg? cpair foreground/background colors
|
||||||
---@field hidden? boolean true to hide on initial draw
|
---@field hidden? boolean true to hide on initial draw
|
||||||
|
|
||||||
-- new indicator light
|
-- Create a new indicator light element.
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
---@param args indicator_light_args
|
---@param args indicator_light_args
|
||||||
---@return graphics_element element, element_id id
|
---@return IndicatorLight element, element_id id
|
||||||
local function indicator_light(args)
|
return function (args)
|
||||||
element.assert(type(args.label) == "string", "label is a required field")
|
element.assert(type(args.label) == "string", "label is a required field")
|
||||||
element.assert(type(args.colors) == "table", "colors is a required field")
|
element.assert(type(args.colors) == "table", "colors is a required field")
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ local function indicator_light(args)
|
|||||||
local flash_on = true
|
local flash_on = true
|
||||||
|
|
||||||
-- create new graphics element base object
|
-- create new graphics element base object
|
||||||
local e = element.new(args)
|
local e = element.new(args --[[@as graphics_args]])
|
||||||
|
|
||||||
e.value = false
|
e.value = false
|
||||||
|
|
||||||
@ -93,10 +93,8 @@ local function indicator_light(args)
|
|||||||
e.w_write(args.label)
|
e.w_write(args.label)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- initial draw
|
---@class IndicatorLight:graphics_element
|
||||||
e.redraw()
|
local IndicatorLight, id = e.complete(true)
|
||||||
|
|
||||||
return e.complete()
|
return IndicatorLight, id
|
||||||
end
|
end
|
||||||
|
|
||||||
return indicator_light
|
|
||||||
|
|||||||
@ -18,11 +18,11 @@ local flasher = require("graphics.flasher")
|
|||||||
---@field fg_bg? cpair foreground/background colors
|
---@field fg_bg? cpair foreground/background colors
|
||||||
---@field hidden? boolean true to hide on initial draw
|
---@field hidden? boolean true to hide on initial draw
|
||||||
|
|
||||||
-- new indicator LED
|
-- Create a new indicator LED element.
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
---@param args indicator_led_args
|
---@param args indicator_led_args
|
||||||
---@return graphics_element element, element_id id
|
---@return LED element, element_id id
|
||||||
local function indicator_led(args)
|
return function (args)
|
||||||
element.assert(type(args.label) == "string", "label is a required field")
|
element.assert(type(args.label) == "string", "label is a required field")
|
||||||
element.assert(type(args.colors) == "table", "colors is a required field")
|
element.assert(type(args.colors) == "table", "colors is a required field")
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ local function indicator_led(args)
|
|||||||
local flash_on = true
|
local flash_on = true
|
||||||
|
|
||||||
-- create new graphics element base object
|
-- create new graphics element base object
|
||||||
local e = element.new(args)
|
local e = element.new(args --[[@as graphics_args]])
|
||||||
|
|
||||||
e.value = false
|
e.value = false
|
||||||
|
|
||||||
@ -95,10 +95,8 @@ local function indicator_led(args)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- initial draw
|
---@class LED:graphics_element
|
||||||
e.redraw()
|
local LED, id = e.complete(true)
|
||||||
|
|
||||||
return e.complete()
|
return LED, id
|
||||||
end
|
end
|
||||||
|
|
||||||
return indicator_led
|
|
||||||
|
|||||||
@ -20,11 +20,12 @@ local flasher = require("graphics.flasher")
|
|||||||
---@field fg_bg? cpair foreground/background colors
|
---@field fg_bg? cpair foreground/background colors
|
||||||
---@field hidden? boolean true to hide on initial draw
|
---@field hidden? boolean true to hide on initial draw
|
||||||
|
|
||||||
-- new dual LED indicator light
|
-- Create a new three-state LED indicator light. Two "active" states (colors c1 and c2) and an inactive state (off).<br>
|
||||||
|
-- Values: 1 = off, 2 = c1, 3 = c2
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
---@param args indicator_led_pair_args
|
---@param args indicator_led_pair_args
|
||||||
---@return graphics_element element, element_id id
|
---@return LEDPair element, element_id id
|
||||||
local function indicator_led_pair(args)
|
return function (args)
|
||||||
element.assert(type(args.label) == "string", "label is a required field")
|
element.assert(type(args.label) == "string", "label is a required field")
|
||||||
element.assert(type(args.off) == "number", "off is a required field")
|
element.assert(type(args.off) == "number", "off is a required field")
|
||||||
element.assert(type(args.c1) == "number", "c1 is a required field")
|
element.assert(type(args.c1) == "number", "c1 is a required field")
|
||||||
@ -44,7 +45,7 @@ local function indicator_led_pair(args)
|
|||||||
local c2 = colors.toBlit(args.c2)
|
local c2 = colors.toBlit(args.c2)
|
||||||
|
|
||||||
-- create new graphics element base object
|
-- create new graphics element base object
|
||||||
local e = element.new(args)
|
local e = element.new(args --[[@as graphics_args]])
|
||||||
|
|
||||||
e.value = 1
|
e.value = 1
|
||||||
|
|
||||||
@ -104,10 +105,8 @@ local function indicator_led_pair(args)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- initial draw
|
---@class LEDPair:graphics_element
|
||||||
e.redraw()
|
local LEDPair, id = e.complete(true)
|
||||||
|
|
||||||
return e.complete()
|
return LEDPair, id
|
||||||
end
|
end
|
||||||
|
|
||||||
return indicator_led_pair
|
|
||||||
|
|||||||
@ -19,11 +19,11 @@ local element = require("graphics.element")
|
|||||||
---@field fg_bg? cpair foreground/background colors
|
---@field fg_bg? cpair foreground/background colors
|
||||||
---@field hidden? boolean true to hide on initial draw
|
---@field hidden? boolean true to hide on initial draw
|
||||||
|
|
||||||
-- new power indicator
|
-- Create a new power indicator. Variant of a data indicator with dynamic energy units.
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
---@param args power_indicator_args
|
---@param args power_indicator_args
|
||||||
---@return graphics_element element, element_id id
|
---@return PowerIndicator element, element_id id
|
||||||
local function power(args)
|
return function (args)
|
||||||
element.assert(type(args.label) == "string", "label is a required field")
|
element.assert(type(args.label) == "string", "label is a required field")
|
||||||
element.assert(type(args.unit) == "string", "unit is a required field")
|
element.assert(type(args.unit) == "string", "unit is a required field")
|
||||||
element.assert(type(args.value) == "number", "value is a required field")
|
element.assert(type(args.value) == "number", "value is a required field")
|
||||||
@ -32,7 +32,7 @@ local function power(args)
|
|||||||
args.height = 1
|
args.height = 1
|
||||||
|
|
||||||
-- create new graphics element base object
|
-- create new graphics element base object
|
||||||
local e = element.new(args)
|
local e = element.new(args --[[@as graphics_args]])
|
||||||
|
|
||||||
e.value = args.value
|
e.value = args.value
|
||||||
|
|
||||||
@ -82,10 +82,8 @@ local function power(args)
|
|||||||
e.on_update(e.value)
|
e.on_update(e.value)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- initial draw
|
---@class PowerIndicator:graphics_element
|
||||||
e.redraw()
|
local PowerIndicator, id = e.complete(true)
|
||||||
|
|
||||||
return e.complete()
|
return PowerIndicator, id
|
||||||
end
|
end
|
||||||
|
|
||||||
return power
|
|
||||||
|
|||||||
@ -13,11 +13,11 @@ local element = require("graphics.element")
|
|||||||
---@field fg_bg? cpair foreground/background colors
|
---@field fg_bg? cpair foreground/background colors
|
||||||
---@field hidden? boolean true to hide on initial draw
|
---@field hidden? boolean true to hide on initial draw
|
||||||
|
|
||||||
-- new RGB LED indicator light
|
-- Create a new RGB LED indicator light element.
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
---@param args indicator_led_rgb_args
|
---@param args indicator_led_rgb_args
|
||||||
---@return graphics_element element, element_id id
|
---@return RGBLED element, element_id id
|
||||||
local function indicator_led_rgb(args)
|
return function (args)
|
||||||
element.assert(type(args.label) == "string", "label is a required field")
|
element.assert(type(args.label) == "string", "label is a required field")
|
||||||
element.assert(type(args.colors) == "table", "colors is a required field")
|
element.assert(type(args.colors) == "table", "colors is a required field")
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ local function indicator_led_rgb(args)
|
|||||||
args.width = math.max(args.min_label_width or 0, string.len(args.label)) + 2
|
args.width = math.max(args.min_label_width or 0, string.len(args.label)) + 2
|
||||||
|
|
||||||
-- create new graphics element base object
|
-- create new graphics element base object
|
||||||
local e = element.new(args)
|
local e = element.new(args --[[@as graphics_args]])
|
||||||
|
|
||||||
e.value = 1
|
e.value = 1
|
||||||
|
|
||||||
@ -52,10 +52,8 @@ local function indicator_led_rgb(args)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- initial draw
|
---@class RGBLED:graphics_element
|
||||||
e.redraw()
|
local RGBLED, id = e.complete(true)
|
||||||
|
|
||||||
return e.complete()
|
return RGBLED, id
|
||||||
end
|
end
|
||||||
|
|
||||||
return indicator_led_rgb
|
|
||||||
|
|||||||
@ -19,11 +19,11 @@ local element = require("graphics.element")
|
|||||||
---@field fg_bg? cpair foreground/background colors
|
---@field fg_bg? cpair foreground/background colors
|
||||||
---@field hidden? boolean true to hide on initial draw
|
---@field hidden? boolean true to hide on initial draw
|
||||||
|
|
||||||
-- new radiation indicator
|
-- Create a new radiation indicator element. Variant of a data indicator using dynamic Sievert unit precision.
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
---@param args rad_indicator_args
|
---@param args rad_indicator_args
|
||||||
---@return graphics_element element, element_id id
|
---@return RadIndicator element, element_id id
|
||||||
local function rad(args)
|
return function (args)
|
||||||
element.assert(type(args.label) == "string", "label is a required field")
|
element.assert(type(args.label) == "string", "label is a required field")
|
||||||
element.assert(type(args.format) == "string", "format is a required field")
|
element.assert(type(args.format) == "string", "format is a required field")
|
||||||
element.assert(util.is_int(args.width), "width is a required field")
|
element.assert(util.is_int(args.width), "width is a required field")
|
||||||
@ -31,7 +31,7 @@ local function rad(args)
|
|||||||
args.height = 1
|
args.height = 1
|
||||||
|
|
||||||
-- create new graphics element base object
|
-- create new graphics element base object
|
||||||
local e = element.new(args)
|
local e = element.new(args --[[@as graphics_args]])
|
||||||
|
|
||||||
e.value = args.value or types.new_zero_radiation_reading()
|
e.value = args.value or types.new_zero_radiation_reading()
|
||||||
|
|
||||||
@ -83,10 +83,8 @@ local function rad(args)
|
|||||||
e.on_update(e.value)
|
e.on_update(e.value)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- initial draw
|
---@class RadIndicator:graphics_element
|
||||||
e.redraw()
|
local RadIndicator, id = e.complete(true)
|
||||||
|
|
||||||
return e.complete()
|
return RadIndicator, id
|
||||||
end
|
end
|
||||||
|
|
||||||
return rad
|
|
||||||
|
|||||||
@ -15,16 +15,16 @@ local element = require("graphics.element")
|
|||||||
---@field fg_bg? cpair foreground/background colors (foreground is used for high signal quality)
|
---@field fg_bg? cpair foreground/background colors (foreground is used for high signal quality)
|
||||||
---@field hidden? boolean true to hide on initial draw
|
---@field hidden? boolean true to hide on initial draw
|
||||||
|
|
||||||
-- new signal bar
|
-- Create a new signal bar indicator element.
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
---@param args signal_bar_args
|
---@param args signal_bar_args
|
||||||
---@return graphics_element element, element_id id
|
---@return SignalBar element, element_id id
|
||||||
local function signal_bar(args)
|
return function (args)
|
||||||
args.height = 1
|
args.height = 1
|
||||||
args.width = util.trinary(args.compact, 1, 2)
|
args.width = util.trinary(args.compact, 1, 2)
|
||||||
|
|
||||||
-- create new graphics element base object
|
-- create new graphics element base object
|
||||||
local e = element.new(args)
|
local e = element.new(args --[[@as graphics_args]])
|
||||||
|
|
||||||
e.value = 0
|
e.value = 0
|
||||||
|
|
||||||
@ -76,10 +76,8 @@ local function signal_bar(args)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- initial draw
|
---@class SignalBar:graphics_element
|
||||||
e.redraw()
|
local SignalBar, id = e.complete(true)
|
||||||
|
|
||||||
return e.complete()
|
return SignalBar, id
|
||||||
end
|
end
|
||||||
|
|
||||||
return signal_bar
|
|
||||||
|
|||||||
@ -20,11 +20,11 @@ local element = require("graphics.element")
|
|||||||
---@field fg_bg? cpair foreground/background colors
|
---@field fg_bg? cpair foreground/background colors
|
||||||
---@field hidden? boolean true to hide on initial draw
|
---@field hidden? boolean true to hide on initial draw
|
||||||
|
|
||||||
-- new state indicator
|
-- Create a new state indicator element.
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
---@param args state_indicator_args
|
---@param args state_indicator_args
|
||||||
---@return graphics_element element, element_id id
|
---@return StateIndicator element, element_id id
|
||||||
local function state_indicator(args)
|
return function (args)
|
||||||
element.assert(type(args.states) == "table", "states is a required field")
|
element.assert(type(args.states) == "table", "states is a required field")
|
||||||
|
|
||||||
if util.is_int(args.height) then
|
if util.is_int(args.height) then
|
||||||
@ -52,7 +52,7 @@ local function state_indicator(args)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- create new graphics element base object
|
-- create new graphics element base object
|
||||||
local e = element.new(args)
|
local e = element.new(args --[[@as graphics_args]])
|
||||||
|
|
||||||
e.value = args.value or 1
|
e.value = args.value or 1
|
||||||
|
|
||||||
@ -74,10 +74,8 @@ local function state_indicator(args)
|
|||||||
---@param val integer indicator state
|
---@param val integer indicator state
|
||||||
function e.set_value(val) e.on_update(val) end
|
function e.set_value(val) e.on_update(val) end
|
||||||
|
|
||||||
-- initial draw
|
---@class StateIndicator:graphics_element
|
||||||
e.redraw()
|
local StateIndicator, id = e.complete(true)
|
||||||
|
|
||||||
return e.complete()
|
return StateIndicator, id
|
||||||
end
|
end
|
||||||
|
|
||||||
return state_indicator
|
|
||||||
|
|||||||
@ -20,11 +20,11 @@ local flasher = require("graphics.flasher")
|
|||||||
---@field fg_bg? cpair foreground/background colors
|
---@field fg_bg? cpair foreground/background colors
|
||||||
---@field hidden? boolean true to hide on initial draw
|
---@field hidden? boolean true to hide on initial draw
|
||||||
|
|
||||||
-- new tri-state indicator light
|
-- Create a new tri-state indicator light element.
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
---@param args tristate_indicator_light_args
|
---@param args tristate_indicator_light_args
|
||||||
---@return graphics_element element, element_id id
|
---@return TriIndicatorLight element, element_id id
|
||||||
local function tristate_indicator_light(args)
|
return function (args)
|
||||||
element.assert(type(args.label) == "string", "label is a required field")
|
element.assert(type(args.label) == "string", "label is a required field")
|
||||||
element.assert(type(args.c1) == "number", "c1 is a required field")
|
element.assert(type(args.c1) == "number", "c1 is a required field")
|
||||||
element.assert(type(args.c2) == "number", "c2 is a required field")
|
element.assert(type(args.c2) == "number", "c2 is a required field")
|
||||||
@ -38,7 +38,7 @@ local function tristate_indicator_light(args)
|
|||||||
args.width = math.max(args.min_label_width or 1, string.len(args.label)) + 2
|
args.width = math.max(args.min_label_width or 1, string.len(args.label)) + 2
|
||||||
|
|
||||||
-- create new graphics element base object
|
-- create new graphics element base object
|
||||||
local e = element.new(args)
|
local e = element.new(args --[[@as graphics_args]])
|
||||||
|
|
||||||
e.value = 1
|
e.value = 1
|
||||||
|
|
||||||
@ -102,10 +102,8 @@ local function tristate_indicator_light(args)
|
|||||||
e.w_write(args.label)
|
e.w_write(args.label)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- initial draw
|
---@class TriIndicatorLight:graphics_element
|
||||||
e.redraw()
|
local TriIndicatorLight, id = e.complete(true)
|
||||||
|
|
||||||
return e.complete()
|
return TriIndicatorLight, id
|
||||||
end
|
end
|
||||||
|
|
||||||
return tristate_indicator_light
|
|
||||||
|
|||||||
@ -15,13 +15,13 @@ local element = require("graphics.element")
|
|||||||
---@field fg_bg? cpair foreground/background colors
|
---@field fg_bg? cpair foreground/background colors
|
||||||
---@field hidden? boolean true to hide on initial draw
|
---@field hidden? boolean true to hide on initial draw
|
||||||
|
|
||||||
-- new vertical bar
|
-- Create a new vertical fill bar indicator element.
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
---@param args vbar_args
|
---@param args vbar_args
|
||||||
---@return graphics_element element, element_id id
|
---@return VerticalBar element, element_id id
|
||||||
local function vbar(args)
|
return function (args)
|
||||||
-- create new graphics element base object
|
-- create new graphics element base object
|
||||||
local e = element.new(args)
|
local e = element.new(args --[[@as graphics_args]])
|
||||||
|
|
||||||
e.value = 0.0
|
e.value = 0.0
|
||||||
|
|
||||||
@ -98,10 +98,8 @@ local function vbar(args)
|
|||||||
e.redraw()
|
e.redraw()
|
||||||
end
|
end
|
||||||
|
|
||||||
-- initial draw
|
---@class VerticalBar:graphics_element
|
||||||
e.redraw()
|
local VerticalBar, id = e.complete(true)
|
||||||
|
|
||||||
return e.complete()
|
return VerticalBar, id
|
||||||
end
|
end
|
||||||
|
|
||||||
return vbar
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user