Пользовательские элементы управления
Пользовательские элементы управления в плагине представляют собой глобальные переменные, которые конечный пользователь может изменять. Все они экспортируются из плагина через 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 | Значение по умолчанию для элемента управления. | Varies |
Числовой слайдер
Заголовок раздела «Числовой слайдер»Элемент управления number позволяет пользователю выбирать числовое значение с помощью слайдера.
{"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 |
Булев переключатель
Заголовок раздела «Булев переключатель»Элемент управления boolean позволяет пользователю выбирать значение булевой переменной с помощью элемента-переключателя.
{"property":"AngleSnap", "label":"Angle Snapping", "type":"boolean", "default":"0"},
Этот элемент управления поддерживает следующие атрибуты:
| Параметр | Значение | Тип |
|---|---|---|
| property | Имя переменной, которую вы хотите назначить элементу управления. | String |
| label | Метка, отображаемая пользователю. | String |
| type | ”boolean” | String |
| default | Значение переключателя по умолчанию. Установите 1, чтобы «включено» было состоянием по умолчанию. | String, Int |
Слайдер оттенка
Заголовок раздела «Слайдер оттенка»Элемент управления hue позволяет пользователю выбирать компонент оттенка цвета с помощью слайдера.

Этот элемент управления поддерживает следующие атрибуты:
| Параметр | Значение | Тип |
|---|---|---|
| property | Имя переменной, которую вы хотите назначить элементу управления. | String |
| label | Метка, отображаемая пользователю. | String |
| type | ”hue” | String, Int |
| default | Значение по умолчанию для слайдера оттенка. | String |
| min | Минимальное выбираемое значение оттенка. Значение должно быть от 0 до 359. | String, Int |
| max | Максимальное выбираемое значение оттенка. Значение должно быть от 1 до 360. | String, Int |
Выборщик цвета
Заголовок раздела «Выборщик цвета»Элемент управления color позволяет пользователю выбирать цвет с помощью цветового колеса, слайдера насыщенности и слайдера яркости. Значок гаечного ключа открывает расширенную цветовую палитру для выбора.
{"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 |
Выпадающий список
Заголовок раздела «Выпадающий список»Элемент управления combobox позволяет пользователю выбирать из выпадающего меню с заранее заданными значениями.
{"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] |
Текстовое поле
Заголовок раздела «Текстовое поле»Элемент управления textfield позволяет пользователю свободно вводить текст с опциональным фильтром RegEx.
{"property":"textBox", "label":"Text Field", "type":"textfield", "default":"3"},
Этот элемент управления поддерживает следующие атрибуты:
| Параметр | Значение | Тип |
|---|---|---|
| property | Имя переменной, которую вы хотите назначить элементу управления. | String |
| label | Метка, отображаемая пользователю. | String |
| type | ”textfield” | String |
| default | Значение по умолчанию для текстового поля. | String, Int |
| filter | Опциональный фильтр RegEx для ограничения пользовательского ввода. | RegEx String |
Обратные вызовы on*Changed
Заголовок раздела «Обратные вызовы on*Changed»При каждом изменении пользователем элемента управления SignalRGB вызывает соответствующую функцию on[property]Changed() перед следующим вызовом Render(). Имя функции должно точно совпадать с именем свойства из ControllableParameters() с префиксом on и суффиксом Changed. Учитывается регистр.
// ControllableParameters entry:{"property":"dpi1", "label":"DPI", "step":"50", "type":"number", "min":"200", "max":"18000", "default":"800"},
// Corresponding callback:export function ondpi1Changed() { setDpi(dpi1);}Встроенные обратные вызовы
Заголовок раздела «Встроенные обратные вызовы»Эти обратные вызовы доступны без соответствующей записи в ControllableParameters:
| Функция | Описание |
|---|---|
onBrightnessChanged() | Вызывается, когда пользователь перемещает основной слайдер яркости устройства. |