onroad: fill bookmark icon when activated (#37034)

* bookmark fill

* and here's what i would have done

* add
This commit is contained in:
Shane Smiskol
2026-01-27 19:59:25 -08:00
committed by GitHub
parent 2fc10e8299
commit 0b958f7c9a
@@ -46,6 +46,8 @@ class BookmarkIcon(Widget):
super().__init__()
self._bookmark_callback = bookmark_callback
self._icon = gui_app.texture("icons_mici/onroad/bookmark.png", 180, 180)
self._icon_fill = gui_app.texture("icons_mici/onroad/bookmark_fill.png", 180, 180)
self._active_icon = self._icon
self._offset_filter = BounceFilter(0.0, 0.1, 1 / gui_app.target_fps)
# State
@@ -84,6 +86,7 @@ class BookmarkIcon(Widget):
if self._offset_filter.x < 1e-3:
self._interacting = False
self._active_icon = self._icon
def _handle_mouse_event(self, mouse_event: MouseEvent):
if not ui_state.started:
@@ -96,6 +99,7 @@ class BookmarkIcon(Widget):
self._is_swiping = True
self._is_swiping_left = False
self._state = BookmarkState.DRAGGING
self._active_icon = self._icon
elif mouse_event.left_down and self._is_swiping:
self._swipe_current_x = mouse_event.pos.x
@@ -112,6 +116,7 @@ class BookmarkIcon(Widget):
if swipe_distance > self.PEEK_THRESHOLD:
self._state = BookmarkState.TRIGGERED
self._triggered_time = rl.get_time()
self._active_icon = self._icon_fill
self._bookmark_callback()
else:
# Otherwise, transition back to hidden
@@ -125,8 +130,8 @@ class BookmarkIcon(Widget):
"""Render the bookmark icon."""
if self._offset_filter.x > 0:
icon_x = self.rect.x + self.rect.width - round(self._offset_filter.x)
icon_y = self.rect.y + (self.rect.height - self._icon.height) / 2 # Vertically centered
rl.draw_texture(self._icon, int(icon_x), int(icon_y), rl.WHITE)
icon_y = self.rect.y + (self.rect.height - self._active_icon.height) / 2 # Vertically centered
rl.draw_texture(self._active_icon, int(icon_x), int(icon_y), rl.WHITE)
class AugmentedRoadView(CameraView):