fixed bbox property not returning the correct x2 and y2

This commit is contained in:
Faraphel 2023-02-13 14:31:25 +01:00
parent 11476f5de8
commit 59ee20efe5
4 changed files with 12 additions and 11 deletions

View file

@ -14,8 +14,8 @@ class TestScene(Scene):
self.add_widget(FPSDisplay)
label = self.add_widget(Text, text="Hello World !", x=0.5, y=0.5, width=0.5, height=0.5, anchor_x="center", anchor_y="center")
label.on_pressed = lambda self, button, modifiers: print("pressed", self, button, modifiers)
label.on_release = lambda self, button, modifiers: print("release", self, button, modifiers)
label.on_pressed = lambda button, modifiers: print("pressed", label, button, modifiers)
label.on_release = lambda button, modifiers: print("release", label, button, modifiers)
# Create a new window

View file

@ -59,14 +59,13 @@ class Scene(ABC):
:return: une fonction appelant l'événement original ainsi que ceux des scènes.
"""
# Récupère la fonction originale. S'il n'y en a pas, renvoie une fonction sans effet.
try:
func = super().__getattribute__(item)
except AttributeError:
func = lambda *_, **__: "pass" # NOQA E731
# Récupère la fonction originale. S'il n'y en a pas, renvoie une fonction sans effet.*
func = None
try: func = super().__getattribute__(item)
except AttributeError: pass
def _func(*args, **kwargs) -> None:
func(*args, **kwargs)
if func is not None: func(*args, **kwargs)
for widget in self._widgets:
getattr(widget, item, lambda *_, **__: "pass")(*args, **kwargs)

View file

@ -72,7 +72,7 @@ class BoxWidget(Widget, ABC):
@property
def bbox(self) -> tuple[int, int, int, int]:
return self.x, self.y, self.width, self.height
return self.x, self.y, self.x + self.width, self.y + self.height
# event

View file

@ -76,10 +76,12 @@ class Window(pyglet.window.Window): # NOQA
:return: une fonction appelant l'événement original ainsi que ceux des scènes.
"""
func = super().__getattribute__(item)
func = None
try: func = super().__getattribute__(item)
except AttributeError: pass
def _func(*args, **kwargs) -> None:
func(*args, **kwargs)
if func is not None: func(*args, **kwargs)
for scene in self._scenes:
getattr(scene, item)(*args, **kwargs)