feat: 首页内容区替换为 HelloKitty 图片

This commit is contained in:
mawei
2026-06-03 11:25:21 +08:00
parent e810b1c1e7
commit e53e809fce
2 changed files with 5 additions and 31 deletions
+5 -31
View File
@@ -5,8 +5,6 @@ from enum import IntEnum
from openpilot.common.params import Params
from openpilot.selfdrive.ui.widgets.offroad_alerts import UpdateAlert, OffroadAlert
from openpilot.selfdrive.ui.widgets.exp_mode_button import ExperimentalModeButton
from openpilot.selfdrive.ui.widgets.prime import PrimeWidget
from openpilot.selfdrive.ui.widgets.setup import SetupWidget
from openpilot.system.ui.lib.text_measure import measure_text_cached
from openpilot.system.ui.lib.application import gui_app, FontWeight, MousePos
from openpilot.system.ui.lib.multilang import tr, trn
@@ -55,22 +53,16 @@ class HomeLayout(Widget):
self.update_notif_rect = rl.Rectangle(0, 0, 200, HEADER_HEIGHT - 10)
self.alert_notif_rect = rl.Rectangle(0, 0, 220, HEADER_HEIGHT - 10)
self._prime_widget = PrimeWidget()
self._setup_widget = SetupWidget()
self._exp_mode_button = ExperimentalModeButton()
self._setup_callbacks()
def show_event(self):
super().show_event()
self._exp_mode_button.show_event()
self.last_refresh = time.monotonic()
self._refresh()
def _setup_callbacks(self):
self.update_alert.set_dismiss_callback(lambda: self._set_state(HomeLayoutState.HOME))
self.offroad_alert.set_dismiss_callback(lambda: self._set_state(HomeLayoutState.HOME))
self._exp_mode_button.set_click_callback(lambda: self.settings_callback() if self.settings_callback else None)
def set_settings_callback(self, callback: Callable):
self.settings_callback = callback
@@ -78,9 +70,6 @@ class HomeLayout(Widget):
def _set_state(self, state: HomeLayoutState):
# propagate show/hide events
if state != self.current_state:
if state == HomeLayoutState.HOME:
self._exp_mode_button.show_event()
if state in self._layout_widgets:
self._layout_widgets[state].show_event()
if self.current_state in self._layout_widgets:
@@ -181,8 +170,11 @@ class HomeLayout(Widget):
gui_label(version_rect, self._version_text, 48, rl.WHITE, alignment=rl.GuiTextAlignment.TEXT_ALIGN_RIGHT)
def _render_home_content(self):
self._render_left_column()
self._render_right_column()
# Draw Hello Kitty image centered in content area
kitty_tex = gui_app.texture("../../sunnypilot/selfdrive/assets/hello_kitty.png", int(self.content_rect.width * 0.6), int(self.content_rect.height * 0.6), keep_aspect_ratio=True)
x = self.content_rect.x + (self.content_rect.width - kitty_tex.width) / 2
y = self.content_rect.y + (self.content_rect.height - kitty_tex.height) / 2
rl.draw_texture_ex(kitty_tex, rl.Vector2(x, y), 0.0, 1.0, rl.WHITE)
def _render_update_view(self):
self.update_alert.render(self.content_rect)
@@ -190,24 +182,6 @@ class HomeLayout(Widget):
def _render_alerts_view(self):
self.offroad_alert.render(self.content_rect)
def _render_left_column(self):
self._prime_widget.render(self.left_column_rect)
def _render_right_column(self):
exp_height = 125
exp_rect = rl.Rectangle(
self.right_column_rect.x, self.right_column_rect.y, self.right_column_rect.width, exp_height
)
self._exp_mode_button.render(exp_rect)
setup_rect = rl.Rectangle(
self.right_column_rect.x,
self.right_column_rect.y + exp_height + SPACING,
self.right_column_rect.width,
self.right_column_rect.height - exp_height - SPACING,
)
self._setup_widget.render(setup_rect)
def _refresh(self):
self._version_text = self._get_version_text()
update_available = self.update_alert.refresh()
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB