用户控件
插件中的用户控件以可由最终用户修改的全局变量形式存在。它们都通过 ControllableParameters() 从插件中导出,该函数返回如下所示的设置对象数组。
export function ControllableParameters(){ return [ {"property":"LightingMode", "label":"Lighting Mode", "type":"combobox", "values":["Canvas","Forced"], "default":"Canvas"}, {"property":"forcedColor", "label":"Forced Color","min":"0","max":"360","type":"color","default":"#009bde"}, {"property":"SettingControl", "label":"Enable Setting Control","type":"boolean","default":"false"}, {"property":"dpi1", "label":"DPI","step":"50", "type":"number","min":"200", "max":"18000","default":"800"} ];}这些设置对象始终具有一些基本参数。这些参数对所有插件用户控件均有效。
| 参数 | 值 | 类型 |
|---|---|---|
| property | 您希望分配给控件的变量名称。 | String |
| label | 向用户显示的标签。 | String |
| type | 控件类型。目前以下选项有效:boolean、number、hue、color、combobox 和 textfield | String |
| default | 控件的默认值。 | 不定 |
数值控件允许用户使用滑块选择数字的值。
{"property":"dpi1", "label":"DPI","step":"50", "type":"number","min":"200", "max":"18000","default":"800"},
此控件支持以下属性:
| 参数 | 值 | 类型 |
|---|---|---|
| property | 您希望分配给控件的变量名称。 | String |
| label | 向用户显示的标签。 | String |
| type | ”number” | String |
| default | 控件的默认值。 | String, Int |
| min | 滑块的最小可选值。此属性支持负值。 | String, Int |
| max | 滑块的最大可选值。 | String, Int |
| step | 滑块递增和递减的步进值 | String, Int |
布尔控件允许用户使用切换控件选择布尔变量的值。
{"property":"AngleSnap", "label":"Angle Snapping", "type":"boolean", "default":"0"},
此控件支持以下属性:
| 参数 | 值 | 类型 |
|---|---|---|
| property | 您希望分配给控件的变量名称。 | String |
| label | 向用户显示的标签。 | String |
| type | ”boolean” | String |
| default | 切换开关的默认值。设置为 1 使”开”成为默认状态。 | String, Int |
色调选择器控件允许用户使用滑块控件选择颜色的色调分量。

此控件支持以下属性:
| 参数 | 值 | 类型 |
|---|---|---|
| property | 您希望分配给控件的变量名称。 | String |
| label | 向用户显示的标签。 | String |
| type | ”hue” | String, Int |
| default | 色调滑块的默认值。 | String |
| min | 最小可选色调值。此值必须在 0 到 359 之间。 | String, Int |
| max | 最大可选色调值。此值必须在 1 到 360 之间。 | String, Int |
颜色控件允许用户使用色调轮、饱和度滑块和亮度滑块选择颜色。扳手图标将打开更高级的颜色调色板供选择。
{"property":"forcedColor", "label":"Forced Color","min":"0","max":"360","type":"color","default":"#009bde"},
此控件支持以下属性:
| 参数 | 值 | 类型 |
|---|---|---|
| property | 您希望分配给控件的变量名称。 | String |
| label | 向用户显示的标签。 | String |
| type | ”color” | String |
| default | 颜色选择器的默认值。必须以 #RRGGBB 形式的十六进制值指定 | String |
| min | 最小可选色调值。此值必须在 0 到 359 之间。 | Int |
| max | 最大可选色调值。此值必须在 1 到 360 之间。 | Int |
下拉列表控件允许用户从预设值的下拉菜单中选择。
{"property":"SleepModeTime", "label":"Sleep After x Minutes", "type":"combobox", "values":[5,10,15,30,60], "default":10},
此控件支持以下属性:
| 参数 | 值 | 类型 |
|---|---|---|
| property | 您希望分配给控件的变量名称。 | String |
| label | 向用户显示的标签。 | String |
| type | ”combobox” | String |
| default | 下拉列表的默认值。此值必须在 values 数组中 | String, Int |
| values | 下拉菜单的值数组。有效类型为字符串和整数。 | [String, Int] |
文本输入框控件允许用户使用可选的正则表达式过滤器自由输入文本。
{"property":"textBox", "label":"Text Field", "type":"textfield", "default":"3"},
此控件支持以下属性:
| 参数 | 值 | 类型 |
|---|---|---|
| property | 您希望分配给控件的变量名称。 | String |
| label | 向用户显示的标签。 | String |
| type | ”textfield” | String |
| default | 文本输入框的默认值。 | String, Int |
| filter | 可选的正则表达式过滤器以限制用户输入 | RegEx String |
on*Changed 回调
Section titled “on*Changed 回调”每当用户更改控件时,SignalRGB 会在下一次 Render() 调用之前调用相应的 on[property]Changed() 函数。函数名称必须与 ControllableParameters() 中的属性名称完全匹配,前缀为 on,后缀为 Changed。这区分大小写。
// ControllableParameters 条目:{"property":"dpi1", "label":"DPI", "step":"50", "type":"number", "min":"200", "max":"18000", "default":"800"},
// 对应的回调:export function ondpi1Changed() { setDpi(dpi1);}这些回调无需对应的 ControllableParameters 条目即可使用:
| 函数 | 描述 |
|---|---|
onBrightnessChanged() | 当用户移动设备的主亮度滑块时调用。 |