Korisničke kontrole
Korisničke kontrole u pluginu imaju oblik globalne promenljive koju krajnji korisnik može menjati. Sve se exportuju iz plugina putem ControllableParameters(), koji vraća niz objekata podešavanja, kao što je prikazano ispod.
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"} ];}Ovi objekti podešavanja uvek imaju neke osnovne parametre. Ovi važe za sve korisničke kontrole plugina.
| Parametar | Vrednost | Tip |
|---|---|---|
| property | Naziv promenljive koju želite dodeliti kontroli. | String |
| label | Oznaka koja se prikazuje korisniku. | String |
| type | Tip kontrole. Trenutno su važeće sledeće opcije: boolean, number, hue, color, combobox i textfield | String |
| default | Podrazumevana vrednost za kontrolu. | Varira |
Numerički klizač
Section titled “Numerički klizač”Kontrola number omogućava korisniku da odabere vrednost broja putem klizača.
{"property":"dpi1", "label":"DPI","step":"50", "type":"number","min":"200", "max":"18000","default":"800"},
Ova kontrola podržava sledeće atribute:
| Parametar | Vrednost | Tip |
|---|---|---|
| property | Naziv promenljive koju želite dodeliti kontroli. | String |
| label | Oznaka koja se prikazuje korisniku. | String |
| type | ”number” | String |
| default | Podrazumevana vrednost za kontrolu. | String, Int |
| min | Minimalna vrednost klizača koja se može izabrati. Ovaj atribut podržava negativne vrednosti. | String, Int |
| max | Maksimalna vrednost klizača koja se može izabrati. | String, Int |
| step | Korak za koji se klizač povećava i smanjuje. | String, Int |
Logički prekidač
Section titled “Logički prekidač”Kontrola boolean omogućava korisniku da odabere vrednost logičke promenljive putem prekidača.
{"property":"AngleSnap", "label":"Angle Snapping", "type":"boolean", "default":"0"},
Ova kontrola podržava sledeće atribute:
| Parametar | Vrednost | Tip |
|---|---|---|
| property | Naziv promenljive koju želite dodeliti kontroli. | String |
| label | Oznaka koja se prikazuje korisniku. | String |
| type | ”boolean” | String |
| default | Podrazumevana vrednost za prekidač. Postavite na 1 da biste podesili “Uključeno” kao podrazumevano stanje. | String, Int |
Klizač nijanse
Section titled “Klizač nijanse”Kontrola hue omogućava korisniku da odabere komponentu nijanse boje putem klizača.

Ova kontrola podržava sledeće atribute:
| Parametar | Vrednost | Tip |
|---|---|---|
| property | Naziv promenljive koju želite dodeliti kontroli. | String |
| label | Oznaka koja se prikazuje korisniku. | String |
| type | ”hue” | String, Int |
| default | Podrazumevana vrednost za klizač nijanse. | String |
| min | Minimalna vrednost nijanse koja se može izabrati. Ova vrednost mora biti između 0 i 359. | String, Int |
| max | Maksimalna vrednost nijanse koja se može izabrati. Ova vrednost mora biti između 1 i 360. | String, Int |
Birač boja
Section titled “Birač boja”Kontrola color omogućava korisniku da odabere boju putem točka nijanse, klizača zasićenosti i klizača osvetljenosti. Ikona ključa otvara proširenu paletu boja za odabir.
{"property":"forcedColor", "label":"Forced Color","min":"0","max":"360","type":"color","default":"#009bde"},
Ova kontrola podržava sledeće atribute:
| Parametar | Vrednost | Tip |
|---|---|---|
| property | Naziv promenljive koju želite dodeliti kontroli. | String |
| label | Oznaka koja se prikazuje korisniku. | String |
| type | ”color” | String |
| default | Podrazumevana vrednost za birač boja. Mora biti navedena kao hex vrednost u obliku #RRGGBB. | String |
| min | Minimalna vrednost nijanse koja se može izabrati. Ova vrednost mora biti između 0 i 359. | Int |
| max | Maksimalna vrednost nijanse koja se može izabrati. Ova vrednost mora biti između 1 i 360. | Int |
Kombinovana lista
Section titled “Kombinovana lista”Kontrola combobox omogućava korisniku da odabere iz padajućeg menija sa unapred definisanim vrednostima.
{"property":"SleepModeTime", "label":"Sleep After x Minutes", "type":"combobox", "values":[5,10,15,30,60], "default":10},
Ova kontrola podržava sledeće atribute:
| Parametar | Vrednost | Tip |
|---|---|---|
| property | Naziv promenljive koju želite dodeliti kontroli. | String |
| label | Oznaka koja se prikazuje korisniku. | String |
| type | ”combobox” | String |
| default | Podrazumevana vrednost za kombinovanu listu. Ova vrednost mora biti prisutna u nizu values. | String, Int |
| values | Niz vrednosti za padajući meni. Važeći tipovi su stringovi i celi brojevi. | [String, Int] |
Tekstualno polje
Section titled “Tekstualno polje”Kontrola textfield omogućava korisniku da slobodno unosi tekst, opciono sa RegEx filterom.
{"property":"textBox", "label":"Text Field", "type":"textfield", "default":"3"},
Ova kontrola podržava sledeće atribute:
| Parametar | Vrednost | Tip |
|---|---|---|
| property | Naziv promenljive koju želite dodeliti kontroli. | String |
| label | Oznaka koja se prikazuje korisniku. | String |
| type | ”textfield” | String |
| default | Podrazumevana vrednost za tekstualno polje. | String, Int |
| filter | Opcioni RegEx filter za ograničavanje korisničkog unosa. | RegEx-String |
on*Changed callbacks
Section titled “on*Changed callbacks”Svaki put kada korisnik promeni kontrolu, SignalRGB poziva odgovarajuću funkciju on[property]Changed() pre sledećeg poziva Render(). Naziv funkcije mora tačno odgovarati nazivu svojstva iz ControllableParameters(), sa prefiksom on i sufiksom Changed. Razlikuju se velika i mala slova.
// ControllableParameters unos:{"property":"dpi1", "label":"DPI", "step":"50", "type":"number", "min":"200", "max":"18000", "default":"800"},
// Odgovarajući callback:export function ondpi1Changed() { setDpi(dpi1);}Ugrađeni callbacks
Section titled “Ugrađeni callbacks”Ovi callbacks su dostupni bez odgovarajućeg unosa u ControllableParameters:
| Funkcija | Opis |
|---|---|
onBrightnessChanged() | Poziva se kada korisnik pomera glavni klizač osvetljenosti uređaja. |