simvx.graphics.platform._sdl3¶
SDL3 windowing backend with multitouch support.
Module Contents¶
Classes¶
WindowBackend implementation using SDL3. |
Data¶
API¶
- simvx.graphics.platform._sdl3.__all__¶
[‘Sdl3Backend’]
- simvx.graphics.platform._sdl3.log¶
‘getLogger(…)’
- class simvx.graphics.platform._sdl3.Sdl3Backend[source]¶
WindowBackend implementation using SDL3.
Provides keyboard, mouse, and multitouch input. Touch events are delivered with window-relative coordinates via the touch_callback.
Initialization
- set_mouse_button_callback(callback: collections.abc.Callable[[int, int, int], None] | None) None[source]¶
- set_cursor_pos_callback(callback: collections.abc.Callable[[float, float], None] | None) None[source]¶
- set_lifecycle_callback(callback: collections.abc.Callable[[str], None] | None) None[source]¶
Set lifecycle event callback. Receives ‘paused’ or ‘resumed’.
- set_touch_callback(callback: collections.abc.Callable[[int, int, float, float, float], None] | None) None[source]¶
Set touch event callback.
Args: callback: (finger_id, action, x, y, pressure) where action is 0=down, 1=up, 2=move. x,y are in window pixel coordinates.
- set_cursor_shape(shape: int) None[source]¶
Set cursor shape. 0=arrow, 1=ibeam, 2=crosshair, 3=hand, 4=hresize, 5=vresize.
- set_mouse_capture(mode: int) None[source]¶
Apply a MouseCaptureMode int (0=visible, 1=hidden, 2=captured, 3=confined) to the OS cursor.
Each SDL symbol is guarded with getattr: the sdl3 binding may not expose all of them, in which case the call is skipped (debug-logged) rather than crashing.
Under CAPTURED, relative mode is enabled and poll_events integrates the per-event xrel/yrel into a virtual cursor position (
self._relative), so the shared delta path tracks motion while the OS cursor is locked.