raylib: onroad callback setter (#35493)

* onroad callback setter

* fix name
This commit is contained in:
Shane Smiskol
2025-06-06 23:18:06 -07:00
committed by GitHub
parent 7c5155590f
commit 8220599dd8
2 changed files with 8 additions and 5 deletions
+2 -2
View File
@@ -41,7 +41,7 @@ class MainLayout(Widget):
self._sidebar.set_callbacks(on_settings=self._on_settings_clicked,
on_flag=self._on_flag_clicked)
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):
self._window_rect = rect
@@ -71,7 +71,7 @@ class MainLayout(Widget):
def _on_flag_clicked(self):
pass
def _on_onrad_clicked(self):
def _on_onroad_clicked(self):
self._sidebar_visible = not self._sidebar_visible
def _render_main_content(self):
+6 -3
View File
@@ -50,7 +50,10 @@ class AugmentedRoadView(CameraView):
self.driver_state_renderer = DriverStateRenderer()
# 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):
# 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
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):
self.on_click()
self._click_callback()
def _draw_border(self, rect: rl.Rectangle):
border_color = BORDER_COLORS.get(ui_state.status, BORDER_COLORS[UIStatus.DISENGAGED])