Lewati ke konten

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.

ParameterNilaiTipe
propertyNama variabel yang ingin Anda tetapkan ke kontrol.String
labelLabel yang akan ditampilkan kepada pengguna.String
typeTipe kontrol. Saat ini, opsi berikut valid: boolean, number, hue, color, combobox, dan textfieldString
defaultNilai default untuk kontrol.Bervariasi

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:

ParameterNilaiTipe
propertyNama variabel yang ingin Anda tetapkan ke kontrol.String
labelLabel yang akan ditampilkan kepada pengguna.String
type”number”String
defaultNilai default untuk kontrol.String, Int
minNilai minimum yang dapat dipilih untuk slider. Atribut ini mendukung nilai negatif.String, Int
maxNilai maksimum yang dapat dipilih untuk slider.String, Int
stepNilai langkah yang akan digunakan slider untuk naik dan turunString, Int

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:

ParameterNilaiTipe
propertyNama variabel yang ingin Anda tetapkan ke kontrol.String
labelLabel yang akan ditampilkan kepada pengguna.String
type”boolean”String
defaultNilai default untuk toggle. Atur ini ke 1 untuk menjadikan “on” sebagai status default.String, Int

Kontrol hue picker memungkinkan pengguna memilih komponen hue warna dengan kontrol slider.

Kontrol ini mendukung atribut berikut:

ParameterNilaiTipe
propertyNama variabel yang ingin Anda tetapkan ke kontrol.String
labelLabel yang akan ditampilkan kepada pengguna.String
type”hue”String, Int
defaultNilai default untuk hue slider.String
minNilai hue minimum yang dapat dipilih. Nilai ini harus antara 0 dan 359.String, Int
maxNilai hue maksimum yang dapat dipilih. Nilai ini harus antara 1 dan 360.String, Int

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:

ParameterNilaiTipe
propertyNama variabel yang ingin Anda tetapkan ke kontrol.String
labelLabel yang akan ditampilkan kepada pengguna.String
type”color”String
defaultNilai default untuk color picker. Ini harus ditentukan sebagai nilai hex dalam bentuk #RRGGBBString
minNilai hue minimum yang dapat dipilih. Nilai ini harus antara 0 dan 359.Int
maxNilai hue maksimum yang dapat dipilih. Nilai ini harus antara 1 dan 360.Int

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:

ParameterNilaiTipe
propertyNama variabel yang ingin Anda tetapkan ke kontrol.String
labelLabel yang akan ditampilkan kepada pengguna.String
type”combobox”String
defaultNilai default untuk combo box. Nilai ini harus ada dalam array valuesString, Int
valuesArray nilai untuk menu dropdown. Tipe yang valid adalah string dan integer.[String, Int]

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:

ParameterNilaiTipe
propertyNama variabel yang ingin Anda tetapkan ke kontrol.String
labelLabel yang akan ditampilkan kepada pengguna.String
type”textfield”String
defaultNilai default untuk textfield.String, Int
filterFilter RegEx opsional untuk membatasi input penggunaRegEx String

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 ini tersedia tanpa entri ControllableParameters yang sesuai:

FungsiDeskripsi
onBrightnessChanged()Dipanggil ketika pengguna menggerakkan slider kecerahan utama perangkat.