mini_arcade_core.engine.render.viewport

Viewport management for virtual to screen coordinate transformations.

Classes

ViewportMode

Viewport scaling modes.

ViewportState

Current state of the viewport.

Viewport

Manages viewport transformations between virtual and screen coordinates.

Module Contents

class mini_arcade_core.engine.render.viewport.ViewportMode

Bases: str, enum.Enum

Viewport scaling modes.

Variables:
  • FIT – Scale to fit within window, preserving aspect ratio (letterbox).

  • FILL – Scale to fill entire window, preserving aspect ratio (crop).

FIT = 'fit'
FILL = 'fill'
class mini_arcade_core.engine.render.viewport.ViewportState

Current state of the viewport.

Variables:
  • (int) (offset_y) – Virtual canvas width.

  • (int) – Virtual canvas height.

  • (int) – Current window width.

  • (int) – Current window height.

  • (ViewportMode) (mode) – Current viewport mode.

  • (float) (scale) – Current scale factor.

  • (int) – Width of the viewport rectangle on screen.

  • (int) – Height of the viewport rectangle on screen.

  • (int) – X offset of the viewport rectangle on screen.

  • (int) – Y offset of the viewport rectangle on screen.

virtual_w: int
virtual_h: int
window_w: int
window_h: int
mode: ViewportMode
scale: float
viewport_w: int
viewport_h: int
offset_x: int
offset_y: int
class mini_arcade_core.engine.render.viewport.Viewport(virtual_w: int, virtual_h: int, mode: ViewportMode = ViewportMode.FIT)

Manages viewport transformations between virtual and screen coordinates.

set_virtual_resolution(w: int, h: int)

Set a new virtual resolution.

Parameters:
  • w (int) – New virtual width.

  • h (int) – New virtual height.

set_mode(mode: ViewportMode)

Set a new viewport mode.

Parameters:

mode (ViewportMode) – New viewport mode.

resize(window_w: int, window_h: int)

Resize the viewport based on the current window size.

Parameters:
  • window_w (int) – Current window width.

  • window_h (int) – Current window height.

property state: ViewportState

Get the current viewport state.

Returns:

Current ViewportState.

Return type:

ViewportState

Raises:

RuntimeError – If the viewport has not been initialized.

screen_to_virtual(x: float, y: float) tuple[float, float]

Convert screen coordinates to virtual coordinates.

Parameters:
  • x (float) – X coordinate on the screen.

  • y (float) – Y coordinate on the screen.

Returns:

Corresponding virtual coordinates (x, y).

Return type:

tuple[float, float]

virtual_to_screen(x: float, y: float) tuple[float, float]

Convert virtual coordinates to screen coordinates.

Parameters:
  • x (float) – X coordinate in virtual space.

  • y (float) – Y coordinate in virtual space.

Returns:

Corresponding screen coordinates (x, y).

Return type:

tuple[float, float]