midio_ui/main

Types

Context = ref object
  render*: (Context, float) -> seq[Primitive]
  dispatchPointerMove*: (x: float, y: float) -> void
  dispatchPointerDown*: (x: float, y: float) -> void
  dispatchPointerUp*: (x: float, y: float) -> void
  dispatchKeyDown*: (code: int, key: string) -> void
  dispatchWindowSizeChanged*: (newSize: Vec2[float]) -> void
  dispatchUpdate*: (float) -> void
  rootElement*: prelude.Element
  scale*: Vec2[float]
  size*: Vec2[float]

Procs

proc render(ctx: Context; dt: float): seq[Primitive] {...}{.exportc,
    raises: [UnpackError, KeyError, ValueError, Exception], tags: [RootEffect].}
proc dispatchWindowSizeChanged(newSize: Vec2[float]): void {...}{.exportc,
    raises: [Exception], tags: [RootEffect].}
proc dispatchPointerMove(x: float; y: float): void {...}{.exportc, raises: [], tags: [].}
proc dispatchPointerPress(x: float; y: float): void {...}{.exportc, raises: [], tags: [].}
proc dispatchPointerRelease(x: float; y: float): void {...}{.exportc, raises: [], tags: [].}
proc dispatchKeyDown(keyCode: int; key: string): void {...}{.exportc, raises: [], tags: [].}
proc dispatchUpdate(dt: float): void {...}{.raises: [], tags: [].}
proc init(size: Vec2[float]; scale: Vec2[float];
         measureTextFunction: (string, float, string, string) -> Vec2[float];
         render: () -> Element): Context {...}{.exportc, raises: [Exception, UnpackError],
                                      tags: [RootEffect].}