143 lines
3.8 KiB
Python
143 lines
3.8 KiB
Python
"""
|
|
Copyright © IQ.Lvbs, apart of Project Teal Lvbs, All Rights Reserved, licensed under https://konn3kt.com/tos
|
|
"""
|
|
import pyray as rl
|
|
|
|
|
|
def _hex(rgb: int, alpha: int = 0xFF) -> rl.Color:
|
|
return rl.Color((rgb >> 16) & 0xFF, (rgb >> 8) & 0xFF, rgb & 0xFF, alpha)
|
|
|
|
|
|
class ink:
|
|
"""IQ settings palette, grouped by role."""
|
|
|
|
# surfaces
|
|
PANEL = _hex(0x393939)
|
|
PANEL_MUTED = _hex(0x272727)
|
|
PANEL_PRESSED = _hex(0x151515)
|
|
|
|
# accent (selection / "on")
|
|
ACCENT = _hex(0x1C65BA)
|
|
ACCENT_PRESSED = _hex(0x114E96)
|
|
ACCENT_FADED = _hex(0x25466B)
|
|
|
|
# text
|
|
TITLE = rl.WHITE
|
|
READOUT = _hex(0xAAAAAA)
|
|
CAPTION = _hex(0x808080)
|
|
DISABLED = _hex(0x585858)
|
|
|
|
# toggle knob
|
|
KNOB = rl.WHITE
|
|
KNOB_DISABLED = _hex(0x585858)
|
|
|
|
# chips / segmented controls
|
|
CHIP_PRESSED = _hex(0x696868)
|
|
FAINT = rl.Color(255, 255, 255, 0x33)
|
|
CLEAR = rl.Color(255, 255, 255, 0)
|
|
VOID = rl.Color(0, 0, 0, 0)
|
|
|
|
# dialog key buttons
|
|
KEY_ACTION = _hex(0x465BEA)
|
|
KEY_NEUTRAL = _hex(0x333333)
|
|
KEY_SUNKEN = _hex(0x1E1E1E)
|
|
OUTLINE = _hex(0x969696, 200)
|
|
|
|
# status colours (vehicle fingerprint legend etc.)
|
|
STATUS_GOOD = _hex(0x129791)
|
|
STATUS_INFO = _hex(0x0086E9)
|
|
STATUS_WARN = _hex(0xFFD500)
|
|
|
|
# push buttons
|
|
PUSH = _hex(0x34373E)
|
|
PUSH_PRESSED = _hex(0x464A52)
|
|
PUSH_DISABLED = _hex(0x121212)
|
|
PUSH_TEXT_DISABLED = _hex(0x5C5C5C)
|
|
|
|
|
|
class metrics:
|
|
"""Row and control geometry for the IQ settings surfaces."""
|
|
|
|
ROW = 170
|
|
GUTTER = 20
|
|
TITLE_FS = 50
|
|
CAPTION_FS = 40
|
|
CAPTION_DY = 150
|
|
TEXT_PAD = 20
|
|
CLOSE_BTN = 160
|
|
|
|
TOGGLE_H = 120
|
|
TOGGLE_W = int(TOGGLE_H * 2.2)
|
|
TOGGLE_TRACK_H = TOGGLE_H - 20
|
|
|
|
ACTION_W = 300
|
|
ROW_BTN_H = 120
|
|
WIDE_BTN_W = 800
|
|
WIDE_BTN_H = 150
|
|
|
|
|
|
class style:
|
|
"""Transitional facade for panels not yet ported to ink/metrics; shrink as ports land."""
|
|
|
|
ITEM_BASE_HEIGHT = metrics.ROW
|
|
ITEM_PADDING = metrics.GUTTER
|
|
ITEM_TEXT_FONT_SIZE = metrics.TITLE_FS
|
|
ITEM_DESC_FONT_SIZE = metrics.CAPTION_FS
|
|
ITEM_DESC_V_OFFSET = metrics.CAPTION_DY
|
|
ITEM_TEXT_VALUE_COLOR = ink.READOUT
|
|
CLOSE_BTN_SIZE = metrics.CLOSE_BTN
|
|
TEXT_PADDING = metrics.TEXT_PAD
|
|
TOGGLE_HEIGHT = metrics.TOGGLE_H
|
|
TOGGLE_WIDTH = metrics.TOGGLE_W
|
|
TOGGLE_BG_HEIGHT = metrics.TOGGLE_TRACK_H
|
|
BUTTON_ACTION_WIDTH = metrics.ACTION_W
|
|
BUTTON_HEIGHT = metrics.ROW_BTN_H
|
|
SIMPLE_BUTTON_WIDTH = metrics.WIDE_BTN_W
|
|
SIMPLE_BUTTON_HEIGHT = metrics.WIDE_BTN_H
|
|
|
|
BASE_BG_COLOR = ink.PANEL
|
|
ON_BG_COLOR = ink.ACCENT
|
|
OFF_BG_COLOR = ink.PANEL
|
|
ON_HOVER_BG_COLOR = ink.ACCENT_PRESSED
|
|
OFF_HOVER_BG_COLOR = ink.PANEL_PRESSED
|
|
DISABLED_ON_BG_COLOR = ink.ACCENT_FADED
|
|
DISABLED_OFF_BG_COLOR = ink.PANEL_MUTED
|
|
ITEM_TEXT_COLOR = ink.TITLE
|
|
ITEM_DISABLED_TEXT_COLOR = ink.DISABLED
|
|
ITEM_DESC_TEXT_COLOR = ink.CAPTION
|
|
|
|
TOGGLE_ON_COLOR = ink.ACCENT
|
|
TOGGLE_OFF_COLOR = ink.PANEL
|
|
TOGGLE_KNOB_COLOR = ink.KNOB
|
|
TOGGLE_DISABLED_ON_COLOR = ink.ACCENT_FADED
|
|
TOGGLE_DISABLED_OFF_COLOR = ink.PANEL_MUTED
|
|
TOGGLE_DISABLED_KNOB_COLOR = ink.KNOB_DISABLED
|
|
|
|
MBC_TRANSPARENT = ink.CLEAR
|
|
MBC_BG_CHECKED_ENABLED = ink.CHIP_PRESSED
|
|
MBC_DISABLED = ink.FAINT
|
|
|
|
OPTION_CONTROL_CONTAINER_BG = ink.PANEL
|
|
OPTION_CONTROL_BTN_ENABLED = ink.KNOB_DISABLED
|
|
OPTION_CONTROL_BTN_PRESSED = ink.CHIP_PRESSED
|
|
OPTION_CONTROL_BTN_DISABLED = ink.PANEL_MUTED
|
|
OPTION_CONTROL_TEXT_ENABLED = ink.TITLE
|
|
OPTION_CONTROL_TEXT_PRESSED = ink.TITLE
|
|
OPTION_CONTROL_TEXT_DISABLED = ink.DISABLED
|
|
|
|
BUTTON_PRIMARY_COLOR = ink.KEY_ACTION
|
|
BUTTON_NEUTRAL_GRAY = ink.KEY_NEUTRAL
|
|
BUTTON_DISABLED_BG_COLOR = ink.KEY_SUNKEN
|
|
TREE_DIALOG_TRANSPARENT = ink.VOID
|
|
TREE_DIALOG_SEARCH_BUTTON_PRESSED = ink.CHIP_PRESSED
|
|
TREE_DIALOG_SEARCH_BUTTON_BORDER = ink.OUTLINE
|
|
|
|
GREEN = ink.STATUS_GOOD
|
|
BLUE = ink.STATUS_INFO
|
|
YELLOW = ink.STATUS_WARN
|
|
|
|
BUTTON_ENABLED_OFF = ink.PUSH
|
|
BUTTON_OFF_PRESSED = ink.PUSH_PRESSED
|
|
BUTTON_DISABLED = ink.PUSH_DISABLED
|
|
BUTTON_TEXT_DISABLED = ink.PUSH_TEXT_DISABLED
|