mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-09-27 09:53:45 +08:00
Curve radial menu corner gradient
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user