使用者控制項
外掛程式中的使用者控制項採用可由終端使用者修改的全域變數形式。它們都透過 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] |
文字欄位控制項允許使用者自由輸入文字,帶有可選的 RegEx 篩選器。
{"property":"textBox", "label":"Text Field", "type":"textfield", "default":"3"},
此控制項支援以下屬性:
| 參數 | 值 | 類型 |
|---|---|---|
| property | 您希望分配給控制項的變數名稱。 | String |
| label | 顯示給使用者的標籤。 | String |
| type | ”textfield” | String |
| default | 文字欄位的預設值。 | String、Int |
| filter | 可選的 RegEx 篩選器以限制使用者輸入 | RegEx 字串 |
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() | 當使用者移動裝置主要亮度滑桿時呼叫。 |