|
|
|
@ -20,6 +20,7 @@ class Toggle(Widget): |
|
|
|
|
self._enabled = True |
|
|
|
|
self._progress = 1.0 if initial_state else 0.0 |
|
|
|
|
self._target = self._progress |
|
|
|
|
self._clicked = False |
|
|
|
|
|
|
|
|
|
def set_rect(self, rect: rl.Rectangle): |
|
|
|
|
self._rect = rl.Rectangle(rect.x, rect.y, WIDTH, HEIGHT) |
|
|
|
@ -28,6 +29,7 @@ class Toggle(Widget): |
|
|
|
|
if not self._enabled: |
|
|
|
|
return |
|
|
|
|
|
|
|
|
|
self._clicked = True |
|
|
|
|
self._state = not self._state |
|
|
|
|
self._target = 1.0 if self._state else 0.0 |
|
|
|
|
|
|
|
|
@ -66,5 +68,9 @@ class Toggle(Widget): |
|
|
|
|
knob_y = self._rect.y + HEIGHT / 2 |
|
|
|
|
rl.draw_circle(int(knob_x), int(knob_y), HEIGHT / 2, knob_color) |
|
|
|
|
|
|
|
|
|
clicked = self._clicked |
|
|
|
|
self._clicked = False |
|
|
|
|
return clicked |
|
|
|
|
|
|
|
|
|
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) |
|
|
|
|