콘텐츠로 이동

사용자 컨트롤

플러그인의 사용자 컨트롤은 최종 사용자가 수정할 수 있는 전역 변수 형태를 취합니다. 아래와 같이 설정 객체 배열을 반환하는 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, textfieldString
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 형식의 16진수 값으로 지정해야 합니다.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]

텍스트 필드 컨트롤을 사용하면 선택적 정규식 필터를 사용하여 텍스트를 자유롭게 입력할 수 있습니다.

{"property":"textBox", "label":"Text Field", "type":"textfield", "default":"3"},

이 컨트롤은 다음 속성을 지원합니다:

매개변수유형
property컨트롤에 할당할 변수의 이름String
label사용자에게 표시할 레이블String
type”textfield”String
default텍스트 필드의 기본값String, Int
filter사용자 입력을 제한하는 선택적 정규식 필터RegEx String

사용자가 컨트롤을 변경할 때마다 SignalRGB는 다음 Render() 호출 전에 해당하는 on[property]Changed() 함수를 호출합니다. 함수 이름은 ControllableParameters()의 property 이름과 정확히 일치해야 하며, 앞에 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()사용자가 장치의 주 밝기 슬라이더를 움직일 때 호출됩니다.