types.py

lunaengine/backend/types.py

A collection of types used in lunaengine

class EVENTS

Description

No documentation

Attributes
QUIT: Any = pygame.QUIT
KEYDOWN: Any = pygame.KEYDOWN
KEYUP: Any = pygame.KEYUP
MOUSEWHEEL: Any = pygame.MOUSEWHEEL
MOUSEMOTION: Any = pygame.MOUSEMOTION
MOUSEBUTTONDOWN: Any = pygame.MOUSEBUTTONDOWN
MOUSEBUTTONUP: Any = pygame.MOUSEBUTTONUP
JOYAXISMOTION: Any = pygame.JOYAXISMOTION
VIDEORESIZE: Any = pygame.VIDEORESIZE
WINDOWFOCUSGAINED: Any = pygame.WINDOWFOCUSGAINED
WINDOWFOCUSLOST: Any = pygame.WINDOWFOCUSLOST
ACTIVEEVENT: Any = pygame.ACTIVEEVENT
Methods

No methods defined.

class MouseButtonPressed

Description

No documentation

Attributes
left: bool = False
middle: bool = False
right: bool = False
extra_button_1: bool = False
extra_button_2: bool = False
Methods

No methods defined.

class InputState

Description

Tracks input state with proper click detection

Attributes
mouse_pos: tuple = (0, 0)
mouse_buttons_pressed: MouseButtonPressed = None
mouse_just_pressed: bool = False
mouse_just_released: bool = False
mouse_wheel: float = 0
consumed_events: set = None
active_controller: Optional['Controller'] = None
controller_count: int = 0
using_controller: bool = False
Methods
def __post_init__(self: Any) -> Any
No documentation
def consume_global_mouse(self: Any) -> Any
Mark that a mouse event has been handled globally.
def is_global_mouse_consumed(self: Any) -> Any
Check if any element has consumed the current mouse event.
def update(self: Any, mouse_pos: tuple, mouse_pressed: tuple, mouse_wheel: float = 0) -> Any
Update input state with proper click detection
def consume_event(self: Any, element_id: Any) -> Any
Mark an event as consumed by a specific element
def is_event_consumed(self: Any, element_id: Any) -> Any
Check if event was already consumed
def clear_consumed(self: Any) -> Any
Clear consumed events for new frame
def get_mouse_state(self: Any) -> Tuple[Tuple[int, int], MouseButtonPressed]
No documentation

class ElementsList

Description

No documentation

Methods
def __init__(self: Any, *args: tuple, **kwargs: dict) -> Any
No documentation
def set_on_change(self: Any, on_change: Callable[[ElementsListEvents, any, Optional[int]], None], parent_element: 'UiElement' = None) -> Any
No documentation
def append(self: Any, item: Any) -> Any
No documentation
def insert(self: Any, index: Any, item: Any) -> Any
No documentation
def extend(self: Any, iterable: Any) -> Any
No documentation
def remove(self: Any, item: Any) -> Any
No documentation
def pop(self: Any, index: Any = -1) -> Any
No documentation

class LayerType

Description

Enumeration of UI render layers.

Attributes
BACKGROUND: Any = 0
NORMAL: Any = 1
ABOVE_NORMAL: Any = 2
POPUP: Any = 3
MODAL: Any = 4
TOP: Any = 5
Methods

No methods defined.

class WindowEventType

Description

Types of window events supported.

Attributes
FOCUS_GAINED: Any = 'window_focus_gained'
FOCUS_LOST: Any = 'window_focus_lost'
RESIZED: Any = 'window_resized'
MOVED: Any = 'window_moved'
ENTER: Any = 'window_enter'
LEAVE: Any = 'window_leave'
CLOSE: Any = 'window_close'
MINIMIZED: Any = 'window_minimized'
RESTORED: Any = 'window_restored'
MAXIMIZED: Any = 'window_maximized'
SHOWN: Any = 'window_shown'
HIDDEN: Any = 'window_hidden'
EXPOSED: Any = 'window_exposed'
Methods

No methods defined.

class WindowEventData

Description

Data container for window events.

Attributes
event_type: WindowEventType = None
timestamp: int = None
window_id: int = None
data: Dict[str, Any] = field(default_factory=dict)
Methods
def size(self: Any) -> Optional[Tuple[int, int]]
Get window size from resize event.
def position(self: Any) -> Optional[Tuple[int, int]]
Get window position from move event.
Back to Backend Module