모든 색과 치수는 Theme 의 GoHud 타입 아래에 이름으로 산다.
숫자를 코드에 쓰지 않는 것이 규칙이다 — 이름으로 부르면 테마를 갈아 끼울 때 전부 따라 움직인다.
GoUi.color(GoTheme.ACCENT) # 색
GoUi.metric(GoTheme.GAP) # 치수(dp)
GoUi.font_size(GoTheme.ROLE_CAPTION) # 역할별 글자 크기
GoUi.box(GoTheme.BOX_CARD) # StyleBox 사본
색
| 이름 | 쓰이는 곳 |
|---|---|
background | 화면 바닥 |
surface · surface_soft · surface_high | 패널의 세 계층 — 패널, 카드, 도드라진 칸 |
border | 카드·버튼 테두리 |
text · secondary · muted | 글자 세 단계 — 본문, 보조, 흐린 것 |
accent · on_accent | 강조색과 그 위에 얹는 글자 |
success · warning · danger · info | 상태 글자 색 |
*_fill | 같은 상태의 채움 색 — 막대처럼 넓은 면적에 칠할 때 |
scrim · shadow · track | 팝업 뒤 막, 그림자, 막대 바탕 |
*_fill 이 따로 있는 이유. 같은 뜻인데 요구가 반대다. warning 은 글자로
쓰이므로 밝은 바탕에서 읽히려면 어두워야 하고, 경험치 막대의 채움으로 쓰이면 눈에 띄어야 하므로 밝아야 한다.
하나로 버티면 밝은 테마의 막대가 갈색이 된다. 테마에 _fill 이 없으면 자동으로
_fill 을 뗀 이름으로 떨어지므로, 이 토큰을 모르는 테마를 꽂아도 깨지지 않는다.
치수(dp)
touch button_height gap_tiny gap_small
gap gap_large padding padding_compact
compact_padding_x compact_padding_y
radius_small radius radius_large screen_margin
scroll_deadzone scroll_edge scrollbar_width
list_glyph icon_size notice_duration_ms
패널 불투명도(%)
panel_alpha card_alpha hud_alpha notice_alpha
popup_alpha — 컨테이너의 면이 얼마나 꽉 찼는가. 기본은 80 이라 확인창 뒤로
게임이 그대로 보인다. popup_alpha 만 100 이다. 이 토큰이 없는 테마는 100 으로 떨어져
예전과 똑같이 그려진다. 계산이 끝난 값은 비율로 읽는다 —
GoUi.surface_alpha(variant). 규칙은
불투명도 — 패널 뒤의 게임 절에 있다.
글자 역할
micro · compact · caption · body ·
button · subtitle · title — 역할은 크기의 이름이지
용도의 이름이 아니다. "제목" 이 아니라 "가장 큰 글자" 다. 그래야 화면마다 다른 뜻으로 쓰여도
크기 체계가 흔들리지 않는다.
타입 변형
GoPanel GoCard GoButton GoPrimaryButton
GoDangerButton GoDangerSolidButton GoBareButton GoCompactButton
GoIconButton GoListButton GoTitleLabel
GoSubtitleLabel GoCaptionLabel GoCompactLabel
GoMicroLabel