User Controls
User Controls dalam plugin berbentuk variabel global yang dapat dimodifikasi oleh pengguna akhir. Semuanya diekspor dari plugin melalui ControllableParameters() yang mengembalikan array objek pengaturan seperti yang ditunjukkan di bawah ini.
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"} ];}Objek pengaturan ini selalu memiliki beberapa parameter dasar. Parameter-parameter ini berlaku untuk semua User Controls plugin.
| Parameter | Nilai | Tipe |
|---|---|---|
| property | Nama variabel yang ingin Anda tetapkan ke kontrol. | String |
| label | Label yang akan ditampilkan kepada pengguna. | String |
| type | Tipe kontrol. Saat ini, opsi berikut valid: boolean, number, hue, color, combobox, dan textfield | String |
| default | Nilai default untuk kontrol. | Bervariasi |
Number Slider
Section titled “Number Slider”Kontrol number memungkinkan pengguna memilih nilai angka menggunakan slider.
{"property":"dpi1", "label":"DPI","step":"50", "type":"number","min":"200", "max":"18000","default":"800"},
Kontrol ini mendukung atribut berikut:
| Parameter | Nilai | Tipe |
|---|---|---|
| property | Nama variabel yang ingin Anda tetapkan ke kontrol. | String |
| label | Label yang akan ditampilkan kepada pengguna. | String |
| type | ”number” | String |
| default | Nilai default untuk kontrol. | String, Int |
| min | Nilai minimum yang dapat dipilih untuk slider. Atribut ini mendukung nilai negatif. | String, Int |
| max | Nilai maksimum yang dapat dipilih untuk slider. | String, Int |
| step | Nilai langkah yang akan digunakan slider untuk naik dan turun | String, Int |
Boolean Switch
Section titled “Boolean Switch”Kontrol boolean memungkinkan pengguna memilih nilai variabel boolean menggunakan kontrol toggle.
{"property":"AngleSnap", "label":"Angle Snapping", "type":"boolean", "default":"0"},
Kontrol ini mendukung atribut berikut:
| Parameter | Nilai | Tipe |
|---|---|---|
| property | Nama variabel yang ingin Anda tetapkan ke kontrol. | String |
| label | Label yang akan ditampilkan kepada pengguna. | String |
| type | ”boolean” | String |
| default | Nilai default untuk toggle. Atur ini ke 1 untuk menjadikan “on” sebagai status default. | String, Int |
Hue Slider
Section titled “Hue Slider”Kontrol hue picker memungkinkan pengguna memilih komponen hue warna dengan kontrol slider.

Kontrol ini mendukung atribut berikut:
| Parameter | Nilai | Tipe |
|---|---|---|
| property | Nama variabel yang ingin Anda tetapkan ke kontrol. | String |
| label | Label yang akan ditampilkan kepada pengguna. | String |
| type | ”hue” | String, Int |
| default | Nilai default untuk hue slider. | String |
| min | Nilai hue minimum yang dapat dipilih. Nilai ini harus antara 0 dan 359. | String, Int |
| max | Nilai hue maksimum yang dapat dipilih. Nilai ini harus antara 1 dan 360. | String, Int |
Color Picker
Section titled “Color Picker”Kontrol color memungkinkan pengguna memilih warna menggunakan roda hue, slider saturasi, dan slider luminansi. Ikon kunci inggris akan membuka palet warna yang lebih canggih untuk dipilih.
{"property":"forcedColor", "label":"Forced Color","min":"0","max":"360","type":"color","default":"#009bde"},
Kontrol ini mendukung atribut berikut:
| Parameter | Nilai | Tipe |
|---|---|---|
| property | Nama variabel yang ingin Anda tetapkan ke kontrol. | String |
| label | Label yang akan ditampilkan kepada pengguna. | String |
| type | ”color” | String |
| default | Nilai default untuk color picker. Ini harus ditentukan sebagai nilai hex dalam bentuk #RRGGBB | String |
| min | Nilai hue minimum yang dapat dipilih. Nilai ini harus antara 0 dan 359. | Int |
| max | Nilai hue maksimum yang dapat dipilih. Nilai ini harus antara 1 dan 360. | Int |
Combo Box
Section titled “Combo Box”Kontrol combo box memungkinkan pengguna memilih dari menu dropdown berisi nilai-nilai preset.
{"property":"SleepModeTime", "label":"Sleep After x Minutes", "type":"combobox", "values":[5,10,15,30,60], "default":10},
Kontrol ini mendukung atribut berikut:
| Parameter | Nilai | Tipe |
|---|---|---|
| property | Nama variabel yang ingin Anda tetapkan ke kontrol. | String |
| label | Label yang akan ditampilkan kepada pengguna. | String |
| type | ”combobox” | String |
| default | Nilai default untuk combo box. Nilai ini harus ada dalam array values | String, Int |
| values | Array nilai untuk menu dropdown. Tipe yang valid adalah string dan integer. | [String, Int] |
Text Field
Section titled “Text Field”Kontrol text field memungkinkan pengguna memasukkan teks secara bebas dengan filter RegEx opsional.
{"property":"textBox", "label":"Text Field", "type":"textfield", "default":"3"},
Kontrol ini mendukung atribut berikut:
| Parameter | Nilai | Tipe |
|---|---|---|
| property | Nama variabel yang ingin Anda tetapkan ke kontrol. | String |
| label | Label yang akan ditampilkan kepada pengguna. | String |
| type | ”textfield” | String |
| default | Nilai default untuk textfield. | String, Int |
| filter | Filter RegEx opsional untuk membatasi input pengguna | RegEx String |
on*Changed Callbacks
Section titled “on*Changed Callbacks”Setiap kali pengguna mengubah kontrol, SignalRGB memanggil fungsi on[property]Changed() yang sesuai sebelum pemanggilan Render() berikutnya. Nama fungsi harus persis cocok dengan nama property dari ControllableParameters(), diawali dengan on dan diakhiri dengan Changed. Ini bersifat case sensitive.
// ControllableParameters entry:{"property":"dpi1", "label":"DPI", "step":"50", "type":"number", "min":"200", "max":"18000", "default":"800"},
// Corresponding callback:export function ondpi1Changed() { setDpi(dpi1);}Callback Bawaan
Section titled “Callback Bawaan”Callback ini tersedia tanpa entri ControllableParameters yang sesuai:
| Fungsi | Deskripsi |
|---|---|
onBrightnessChanged() | Dipanggil ketika pengguna menggerakkan slider kecerahan utama perangkat. |