2023-04-07 02:10:33 +00:00
|
|
|
--
|
|
|
|
-- Graphics Style Options
|
|
|
|
--
|
|
|
|
|
2024-03-06 17:18:50 +00:00
|
|
|
local core = require("graphics.core")
|
|
|
|
local themes = require("graphics.themes")
|
2023-04-07 02:10:33 +00:00
|
|
|
|
2024-03-06 17:18:50 +00:00
|
|
|
---@class plc_style
|
2023-04-07 02:10:33 +00:00
|
|
|
local style = {}
|
|
|
|
|
2023-05-07 01:27:36 +00:00
|
|
|
local cpair = core.cpair
|
2023-04-07 02:10:33 +00:00
|
|
|
|
2024-03-07 23:00:33 +00:00
|
|
|
style.theme = themes.sandstone
|
2024-03-06 17:18:50 +00:00
|
|
|
style.fp = themes.get_fp_style(style.theme)
|
2024-03-12 16:24:32 +00:00
|
|
|
style.colorblind = false
|
2023-09-02 02:24:31 +00:00
|
|
|
|
|
|
|
style.ind_grn = cpair(colors.green, colors.green_off)
|
|
|
|
style.ind_red = cpair(colors.red, colors.red_off)
|
|
|
|
|
2024-03-07 23:00:33 +00:00
|
|
|
-- set theme per configuration
|
2024-03-12 16:24:32 +00:00
|
|
|
---@param fp FP_THEME front panel theme
|
|
|
|
---@param color_mode COLOR_MODE the color mode to use
|
|
|
|
function style.set_theme(fp, color_mode)
|
|
|
|
if fp == themes.FP_THEME.SANDSTONE then
|
2024-03-07 23:00:33 +00:00
|
|
|
style.theme = themes.sandstone
|
2024-03-12 16:24:32 +00:00
|
|
|
elseif fp == themes.FP_THEME.BASALT then
|
2024-03-07 23:00:33 +00:00
|
|
|
style.theme = themes.basalt
|
|
|
|
end
|
|
|
|
|
|
|
|
style.fp = themes.get_fp_style(style.theme)
|
2024-03-12 16:24:32 +00:00
|
|
|
|
2024-03-25 14:11:35 +00:00
|
|
|
style.colorblind = color_mode ~= themes.COLOR_MODE.STANDARD and color_mode ~= themes.COLOR_MODE.STD_ON_BLACK
|
2024-03-24 17:03:48 +00:00
|
|
|
|
2024-03-25 14:11:35 +00:00
|
|
|
if color_mode == themes.COLOR_MODE.STANDARD or color_mode == themes.COLOR_MODE.BLUE_IND then
|
|
|
|
style.ind_bkg = colors.gray
|
|
|
|
else
|
|
|
|
style.ind_bkg = colors.black
|
|
|
|
end
|
2024-03-07 23:00:33 +00:00
|
|
|
end
|
|
|
|
|
2023-04-07 02:10:33 +00:00
|
|
|
return style
|