ui: LineSeparatorSP (#1598)

This commit is contained in:
Jason Wen
2025-12-20 22:50:58 -05:00
committed by GitHub
parent 8904300565
commit 6c6be573c7

View File

@@ -15,6 +15,7 @@ from openpilot.system.ui.widgets.button import Button, ButtonStyle
from openpilot.system.ui.widgets.label import gui_label
from openpilot.system.ui.widgets.list_view import ListItem, ToggleAction, ItemAction, MultipleButtonAction, ButtonAction, \
_resolve_value, BUTTON_WIDTH, BUTTON_HEIGHT, TEXT_PADDING
from openpilot.system.ui.widgets.scroller_tici import LineSeparator, LINE_COLOR, LINE_PADDING
from openpilot.system.ui.sunnypilot.lib.styles import style
from openpilot.system.ui.sunnypilot.widgets.option_control import OptionControlSP, LABEL_WIDTH
@@ -312,3 +313,15 @@ def button_item_sp(title: str | Callable[[], str], button_text: str | Callable[[
callback: Callable | None = None, enabled: bool | Callable[[], bool] = True) -> ListItemSP:
action = ButtonActionSP(text=button_text, enabled=enabled)
return ListItemSP(title=title, description=description, action_item=action, callback=callback)
class LineSeparatorSP(LineSeparator):
def __init__(self, height: int = 1):
super().__init__()
self._rect = rl.Rectangle(0, 0, 0, height)
def _render(self, _):
line_y = int(self._rect.y + self._rect.height // 2)
rl.draw_line(int(self._rect.x) + LINE_PADDING, line_y,
int(self._rect.x + self._rect.width) - LINE_PADDING, line_y,
LINE_COLOR)