nimgfx

Search:
Group by:

Types

Button = ref object
  text*: Text
  w*, h*, x*, y*: float32 = 0.0
  color*: Color
Circle = object
  x*, y*: float32 = 0.0
  radius*: float32
Color = object
  r*, g*, b*, a*: uint8
Event = sdl3.Event
Font = sdl3_ttf.Font
Image = object
  texture*: Texture
  x*, y*: float32 = 0.0
  w*, h*: float32
MouseButton = enum
  mouseLeftButton = 1, mouseMiddleButton = 2, mouseRightButton = 3,
  mouseBackButton = 4, mouseForwardButton = 5
Rect = object
  x*, y*: float32 = 0.0
  w*, h*: float32
  color*: Color
Renderer = ref object
  window*: Window
  sdlRenderer*: sdl3.Renderer = nil
Text = object
  x*, y*: float32
Window = ref object
  title*: string
  w*, h*: int32
  flags*: WindowFlags = 0x0000000000002000'u64
  sdlWindow*: sdl3.Window = nil

Consts

Black: Color = (r: 0'u, g: 0'u, b: 0'u, a: 255'u)
Blue: Color = (r: 0'u, g: 0'u, b: 255'u, a: 255'u)
Brown: Color = (r: 139'u, g: 69'u, b: 19'u, a: 255'u)
Cyan: Color = (r: 0'u, g: 255'u, b: 255'u, a: 255'u)
Gray: Color = (r: 128'u, g: 128'u, b: 128'u, a: 255'u)
Green: Color = (r: 0'u, g: 255'u, b: 0'u, a: 255'u)
IntegerScaling = LOGICAL_PRESENTATION_INTEGER_SCALE
KeyDownEvent: EventType = EVENT_KEY_DOWN
KeyUpEvent: EventType = EVENT_KEY_UP
LetterboxScaling = LOGICAL_PRESENTATION_LETTERBOX
Magenta: Color = (r: 255'u, g: 0'u, b: 255'u, a: 255'u)
MouseButtonDownEvent: EventType = EVENT_MOUSE_BUTTON_DOWN
MouseButtonUpEvent: EventType = EVENT_MOUSE_BUTTON_UP
NoScaling = LOGICAL_PRESENTATION_DISABLED
Orange: Color = (r: 255'u, g: 127'u, b: 0'u, a: 255'u)
OverscanScaling = LOGICAL_PRESENTATION_OVERSCAN
QuitEvent: EventType = EVENT_QUIT
Red: Color = (r: 255'u, g: 0'u, b: 0'u, a: 255'u)
StretchScaling = LOGICAL_PRESENTATION_STRETCH
White: Color = (r: 255'u, g: 255'u, b: 255'u, a: 255'u)
WindowResizeEvent: EventType = EVENT_WINDOW_RESIZED
Yellow: Color = (r: 255'u, g: 255'u, b: 0'u, a: 255'u)

Procs

proc clear(renderer: Renderer; color: Color): void {....raises: [], tags: [],
    forbids: [].}
proc create(renderer: Renderer): void {....raises: [], tags: [], forbids: [].}
proc create(window: Window): void {....raises: [], tags: [], forbids: [].}
proc createAudioPlayer(): AudioPlayer {....raises: [], tags: [], forbids: [].}
proc createText(renderer: Renderer; text: string; fontPath: string;
                fontSize: float32; color: Color; x: float32 = 0.0;
                y: float32 = 0.0): Text {....raises: [KeyError], tags: [],
    forbids: [].}
proc down(button: Button; renderer: Renderer): bool {....raises: [], tags: [],
    forbids: [].}
proc down(button: MouseButton): bool {....raises: [], tags: [], forbids: [].}
proc down(key: Key): bool {....raises: [], tags: [], forbids: [].}
proc drawButton(renderer: Renderer; button: Button): void {....raises: [],
    tags: [], forbids: [].}
proc drawButtons(renderer: Renderer; buttons: openArray[Button]): void {.
    ...raises: [], tags: [], forbids: [].}
proc drawCircle(renderer: Renderer; circle: Circle; color: Color;
                segments: int = 30): void {....raises: [], tags: [], forbids: [].}
proc drawDebugText(renderer: Renderer; text: string; x, y: float32; color: Color): void {.
    ...raises: [], tags: [], forbids: [].}
proc drawHollowRect(renderer: Renderer; rect: Rect): void {....raises: [],
    tags: [], forbids: [].}
proc drawHollowRects(renderer: Renderer; rects: openArray[Rect]): void {.
    ...raises: [], tags: [], forbids: [].}
proc drawImage(renderer: Renderer; image: Image): void {....raises: [], tags: [],
    forbids: [].}
proc drawLine(renderer: Renderer; point1: Vector2; point2: Vector2; color: Color): void {.
    ...raises: [], tags: [], forbids: [].}
proc drawLines(renderer: Renderer; points: openArray[Vector2]; color: Color): void {.
    ...raises: [], tags: [], forbids: [].}
proc drawPoint(renderer: Renderer; point: Vector2; color: Color): void {.
    ...raises: [], tags: [], forbids: [].}
proc drawPoints(renderer: Renderer; points: openArray[Vector2]; color: Color): void {.
    ...raises: [], tags: [], forbids: [].}
proc drawRect(renderer: Renderer; rect: Rect): void {....raises: [], tags: [],
    forbids: [].}
proc drawRects(renderer: Renderer; rects: openArray[Rect]): void {....raises: [],
    tags: [], forbids: [].}
proc drawText(renderer: Renderer; text: Text): void {....raises: [], tags: [],
    forbids: [].}
proc getMonitorSize(): tuple[w, h: int32] {....raises: [], tags: [], forbids: [].}
proc getMousePosition(renderer: Renderer): tuple[x, y: float32] {....raises: [],
    tags: [], forbids: [].}
proc getPosition(window: Window): tuple[x, y: int32] {....raises: [], tags: [],
    forbids: [].}
proc getSize(window: Window): tuple[w, h: int32] {....raises: [], tags: [],
    forbids: [].}
proc getTicksMS(): uint64 {....raises: [], tags: [], forbids: [].}
proc getTicksNS(): uint64 {....raises: [], tags: [], forbids: [].}
proc hovered(button: Button; renderer: Renderer): bool {....raises: [], tags: [],
    forbids: [].}
proc initAudio(): bool {....raises: [], tags: [], forbids: [].}
proc initCamera(): bool {....raises: [], tags: [], forbids: [].}
proc initEvents(): bool {....raises: [], tags: [], forbids: [].}
proc initGamepad(): bool {....raises: [], tags: [], forbids: [].}
proc initHaptic(): bool {....raises: [], tags: [], forbids: [].}
proc initJoystick(): bool {....raises: [], tags: [], forbids: [].}
proc initSensor(): bool {....raises: [], tags: [], forbids: [].}
proc initText(): bool {....raises: [], tags: [], forbids: [].}
proc initVideo(): bool {....raises: [], tags: [], forbids: [].}
proc inside(pos: tuple[x, y: float32]; button: Button): bool {....raises: [],
    tags: [], forbids: [].}
proc kill(font: Font): void {....raises: [], tags: [], forbids: [].}
proc kill(renderer: Renderer): void {....raises: [], tags: [], forbids: [].}
proc kill(text: Text): void {....raises: [], tags: [], forbids: [].}
proc kill(window: Window): void {....raises: [], tags: [], forbids: [].}
proc loadAudio(audioPlayer: AudioPlayer; path: string): Audio {....raises: [],
    tags: [], forbids: [].}
proc loadImage(renderer: Renderer; image: string): Image {....raises: [], tags: [],
    forbids: [].}
proc maximize(window: Window): void {....raises: [], tags: [], forbids: [].}
proc minimize(window: Window): void {....raises: [], tags: [], forbids: [].}
proc playAudio(audioPlayer: AudioPlayer; audio: Audio): void {....raises: [],
    tags: [], forbids: [].}
proc pollEvent(event: var Event): bool {....raises: [], tags: [], forbids: [].}
proc pressed(event: Event; button: Button; renderer: Renderer): bool {.
    ...raises: [], tags: [], forbids: [].}
proc pressed(event: Event; button: MouseButton): bool {....raises: [], tags: [],
    forbids: [].}
proc pressed(event: Event; key: Key): bool {....raises: [], tags: [], forbids: [].}
proc quit(): void {....raises: [], tags: [], forbids: [].}
proc released(event: Event; button: MouseButton): bool {....raises: [], tags: [],
    forbids: [].}
proc released(event: Event; key: Key): bool {....raises: [], tags: [], forbids: [].}
proc render(renderer: Renderer): void {....raises: [], tags: [], forbids: [].}
proc scaleFactor(window: Window): float32 {....raises: [], tags: [], forbids: [].}
proc setAspectRatio(window: Window; min, max: float32): void {....raises: [],
    tags: [], forbids: [].}
proc setDrawColor(renderer: Renderer; color: Color): void {....raises: [],
    tags: [], forbids: [].}
proc setFullscreen(window: Window; state: bool): void {....raises: [], tags: [],
    forbids: [].}
proc setLogicalPixels(renderer: Renderer; w, h: int; mode: ScalingMode): void {.
    ...raises: [], tags: [], forbids: [].}
proc setPosition(window: Window; x, y: int32): void {....raises: [], tags: [],
    forbids: [].}
proc setResizable(window: Window; state: bool): void {....raises: [], tags: [],
    forbids: [].}
proc setSize(window: Window; w, h: int32): void {....raises: [], tags: [],
    forbids: [].}
proc setTitle(window: Window; title: string): void {....raises: [], tags: [],
    forbids: [].}
proc setVSync(renderer: Renderer; state: bool): void {....raises: [], tags: [],
    forbids: [].}
proc stopAudio(audioPlayer: AudioPlayer): void {....raises: [], tags: [],
    forbids: [].}