Curve radial menu corner gradient

This commit is contained in:
firestarsdog
2026-09-18 22:26:26 -04:00
parent 88cbf88756
commit b990a776b2
2 changed files with 11 additions and 7 deletions
@@ -194,14 +194,16 @@ class FavoriteRadialMenu:
def render(self, rect: rl.Rectangle) -> None:
self._layout(rect)
self._collapse_if_idle()
if self._state == self.STATE_COLLAPSED:
self._draw_corner_hint()
elif self._state == self.STATE_RADIAL:
self._draw_corner_hint()
if self._state == self.STATE_RADIAL:
self._draw_radial_menu()
else:
elif self._state == self.STATE_PICKER:
self._draw_picker()
def render_corner_hint(self, rect: rl.Rectangle) -> None:
self._rect = rect
if not self.is_picker_open:
self._draw_corner_hint()
def blocks_pointer(self, mouse_pos: Any) -> bool:
"""Whether a parent click at ``mouse_pos`` belongs to this menu."""
return self.is_open or self._corner_press is not None or self._contains(self._corner_touch_zone, mouse_pos)
@@ -755,8 +757,8 @@ class FavoriteRadialMenu:
rl.draw_triangle(v_tb, v_ra, v_rb, col)
# 3. Ultra-Polished Frosted-Glass Vector Arrow (Nestled deep in purple corner)
cx = x0 + 34.0 * scale
cy = y0 - 34.0 * scale
center = self.corner_center(self._rect)
cx, cy = center.x, center.y
tip = rl.Vector2(cx + 15.0 * scale, cy - 15.0 * scale)
tail = rl.Vector2(cx - 15.0 * scale, cy + 15.0 * scale)
@@ -156,6 +156,8 @@ class StarPilotOnroadView(AugmentedRoadView):
def _draw_border(self, rect: rl.Rectangle):
border_width = self._get_border_width()
if self._draw_hud_controls and not self._full_alert_showing():
self._favorite_radial_menu.render_corner_hint(self._content_rect)
rl.draw_rectangle_lines_ex(rect, border_width, rl.BLACK)
border_rect = rl.Rectangle(rect.x + border_width, rect.y + border_width,
rect.width - 2 * border_width, rect.height - 2 * border_width)