Manages the game window and display settings.
This class handles window creation, resizing, fullscreen mode,
and provides utility methods for window information.
Attributes:
title (str): Window title
width (int): Window width
height (int): Window height
fullscreen (bool): Whether window is in fullscreen mode
resizable (bool): Whether window is resizable
surface (pygame.Surface): The window surface
_event_handlers (Dict): Registered event handlers
def __init__(self: Any, title: str = 'LunaEngine', width: int = 800, height: int = 600, fullscreen: bool = False, resizable: bool = True) -> Any
def create(self: Any) -> Any
def set_title(self: Any, title: str) -> Any
def set_size(self: Any, width: int, height: int) -> Any
def toggle_fullscreen(self: Any) -> Any
def get_size(self: Any) -> Tuple[int, int]
def get_center(self: Any) -> Tuple[int, int]
def _register_event_handler(self: Any, event_type: WindowEventType, func: Callable) -> Any
def handle_pygame_event(self: Any, event: pygame.event.Event) -> Any
def _extract_event_data(self: Any, event: pygame.event.Event, event_type: WindowEventType) -> Dict[str, Any]
def on_resize(self: Any, func: Callable) -> Any
def on_close(self: Any, func: Callable) -> Any
def on_focus(self: Any, func: Callable) -> Any
def on_blur(self: Any, func: Callable) -> Any
def on_move(self: Any, func: Callable) -> Any
def on_minimize(self: Any, func: Callable) -> Any
def on_maximize(self: Any, func: Callable) -> Any
def on_restore(self: Any, func: Callable) -> Any
def on_enter(self: Any, func: Callable) -> Any
def on_leave(self: Any, func: Callable) -> Any
def get_window_state(self: Any) -> Dict[str, Any]
def is_focused(self: Any) -> bool
def is_visible(self: Any) -> bool
def is_minimized(self: Any) -> bool
def is_maximized(self: Any) -> bool