raylib UI: fix scrolling click behavior (#35609)

see look how nice using base classes are
This commit is contained in:
Shane Smiskol
2025-06-27 02:52:11 -07:00
committed by GitHub
parent 0218ae82ed
commit 4e094bc740
2 changed files with 15 additions and 12 deletions

View File

@@ -23,16 +23,12 @@ class Toggle(Widget):
def set_rect(self, rect: rl.Rectangle):
self._rect = rl.Rectangle(rect.x, rect.y, WIDTH, HEIGHT)
def handle_input(self):
def _handle_mouse_release(self, mouse_pos: rl.Vector2):
if not self._enabled:
return 0
return
if rl.is_mouse_button_released(rl.MouseButton.MOUSE_BUTTON_LEFT):
if rl.check_collision_point_rec(rl.get_mouse_position(), self._rect):
self._state = not self._state
self._target = 1.0 if self._state else 0.0
return 1
return 0
self._state = not self._state
self._target = 1.0 if self._state else 0.0
def get_state(self):
return self._state
@@ -72,7 +68,5 @@ class Toggle(Widget):
knob_y = self._rect.y + HEIGHT / 2
rl.draw_circle(int(knob_x), int(knob_y), HEIGHT / 2, knob_color)
return self.handle_input()
def _blend_color(self, c1, c2, t):
return rl.Color(int(c1.r + (c2.r - c1.r) * t), int(c1.g + (c2.g - c1.g) * t), int(c1.b + (c2.b - c1.b) * t), 255)