L3-Bataille-Navale/source/gui/widget/Text.py

38 lines
940 B
Python

from typing import TYPE_CHECKING
from source.gui.widget.abc import BoxWidget
import pyglet
from source.type import Percentage
if TYPE_CHECKING:
from source.gui.scene.abc import Scene
class Text(BoxWidget):
"""
A widget that display a text
"""
def __init__(self, scene: "Scene",
x: Percentage = 0,
y: Percentage = 0,
width: Percentage = None,
height: Percentage = None,
*args, **kwargs):
super().__init__(scene, x, y, width, height)
self.label = pyglet.text.Label(
x=self.x, y=self.y, width=self.width, height=self.height,
*args, **kwargs
)
def on_resize(self, width: int, height: int):
self.label.x = self.x
self.label.y = self.y
self.label.width = self.width
self.label.height = self.height
def on_draw(self):
self.label.draw()