raylib: onroad callback setter (#35493)

* onroad callback setter

* fix name
pull/35495/head
Shane Smiskol 3 months ago committed by GitHub
parent 7c5155590f
commit 8220599dd8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 4
      selfdrive/ui/layouts/main.py
  2. 9
      selfdrive/ui/onroad/augmented_road_view.py

@ -41,7 +41,7 @@ class MainLayout(Widget):
self._sidebar.set_callbacks(on_settings=self._on_settings_clicked, self._sidebar.set_callbacks(on_settings=self._on_settings_clicked,
on_flag=self._on_flag_clicked) on_flag=self._on_flag_clicked)
self._layouts[MainState.SETTINGS].set_callbacks(on_close=self._set_mode_for_state) self._layouts[MainState.SETTINGS].set_callbacks(on_close=self._set_mode_for_state)
self._layouts[MainState.ONROAD].on_click = self._on_onrad_clicked self._layouts[MainState.ONROAD].set_callbacks(on_click=self._on_onroad_clicked)
def _update_layout_rects(self, rect): def _update_layout_rects(self, rect):
self._window_rect = rect self._window_rect = rect
@ -71,7 +71,7 @@ class MainLayout(Widget):
def _on_flag_clicked(self): def _on_flag_clicked(self):
pass pass
def _on_onrad_clicked(self): def _on_onroad_clicked(self):
self._sidebar_visible = not self._sidebar_visible self._sidebar_visible = not self._sidebar_visible
def _render_main_content(self): def _render_main_content(self):

@ -50,7 +50,10 @@ class AugmentedRoadView(CameraView):
self.driver_state_renderer = DriverStateRenderer() self.driver_state_renderer = DriverStateRenderer()
# Callbacks # Callbacks
self.on_click: Callable | None = None self._click_callback: Callable | None = None
def set_callbacks(self, on_click: Callable | None = None):
self._click_callback = on_click
def _render(self, rect): def _render(self, rect):
# Only render when system is started to avoid invalid data access # Only render when system is started to avoid invalid data access
@ -99,9 +102,9 @@ class AugmentedRoadView(CameraView):
# Handle click events if no HUD interaction occurred # Handle click events if no HUD interaction occurred
if not self._hud_renderer.handle_mouse_event(): if not self._hud_renderer.handle_mouse_event():
if self.on_click and rl.is_mouse_button_pressed(rl.MouseButton.MOUSE_BUTTON_LEFT): if self._click_callback and rl.is_mouse_button_pressed(rl.MouseButton.MOUSE_BUTTON_LEFT):
if rl.check_collision_point_rec(rl.get_mouse_position(), self._content_rect): if rl.check_collision_point_rec(rl.get_mouse_position(), self._content_rect):
self.on_click() self._click_callback()
def _draw_border(self, rect: rl.Rectangle): def _draw_border(self, rect: rl.Rectangle):
border_color = BORDER_COLORS.get(ui_state.status, BORDER_COLORS[UIStatus.DISENGAGED]) border_color = BORDER_COLORS.get(ui_state.status, BORDER_COLORS[UIStatus.DISENGAGED])

Loading…
Cancel
Save