Module: gameui.input

Source: ./gameui/input.reef


Overview

gameui/input.reef - Input state for immediate mode UI Part of reef-stdlib Game UI module

InputState tracks the current state of mouse and keyboard input. It's updated each frame before UI processing and provides a convenient way to query input state for widgets.

This is designed for game input where you typically poll state rather than process events.


Types

MouseButton (enum)

Variants:

  • Left
  • Right
  • Middle

KeyCode (enum)

Variants:

  • Space
  • Enter
  • Escape
  • Backspace
  • Tab
  • Up
  • Down
  • Left
  • Right
  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z
  • Num0
  • Num1
  • Num2
  • Num3
  • Num4
  • Num5
  • Num6
  • Num7
  • Num8
  • Num9
  • F1
  • F2
  • F3
  • F4
  • F5
  • F6
  • F7
  • F8
  • F9
  • F10
  • F11
  • F12

Modifiers

Fields:

Name Type
shift bool
ctrl bool
alt bool
meta bool

InputState

Fields:

Name Type
mouse_x float
mouse_y float
prev_mouse_x float
prev_mouse_y float
buttons [bool]
prev_buttons [bool]
scroll_dx float
scroll_dy float
keys [bool]
prev_keys [bool]
mods Modifiers
text string

Functions

fn button_left(): MouseButton

fn button_right(): MouseButton

fn button_middle(): MouseButton

fn button_index(button: MouseButton): int

fn key_space(): KeyCode

fn key_enter(): KeyCode

fn key_escape(): KeyCode

fn key_backspace(): KeyCode

fn key_tab(): KeyCode

fn key_arrow_up(): KeyCode

fn key_arrow_down(): KeyCode

fn key_arrow_left(): KeyCode

fn key_arrow_right(): KeyCode

fn key_a(): KeyCode

fn key_b(): KeyCode

fn key_c(): KeyCode

fn key_d(): KeyCode

fn key_e(): KeyCode

fn key_f(): KeyCode

fn key_g(): KeyCode

fn key_h(): KeyCode

fn key_i(): KeyCode

fn key_j(): KeyCode

fn key_k(): KeyCode

fn key_l(): KeyCode

fn key_m(): KeyCode

fn key_n(): KeyCode

fn key_o(): KeyCode

fn key_p(): KeyCode

fn key_q(): KeyCode

fn key_r(): KeyCode

fn key_s(): KeyCode

fn key_t(): KeyCode

fn key_u(): KeyCode

fn key_v(): KeyCode

fn key_w(): KeyCode

fn key_x(): KeyCode

fn key_y(): KeyCode

fn key_z(): KeyCode

fn key_0(): KeyCode

fn key_1(): KeyCode

fn key_2(): KeyCode

fn key_3(): KeyCode

fn key_4(): KeyCode

fn key_5(): KeyCode

fn key_6(): KeyCode

fn key_7(): KeyCode

fn key_8(): KeyCode

fn key_9(): KeyCode

fn key_f1(): KeyCode

fn key_f2(): KeyCode

fn key_f3(): KeyCode

fn key_f4(): KeyCode

fn key_f5(): KeyCode

fn key_f6(): KeyCode

fn key_f7(): KeyCode

fn key_f8(): KeyCode

fn key_f9(): KeyCode

fn key_f10(): KeyCode

fn key_f11(): KeyCode

fn key_f12(): KeyCode

fn key_index(key: KeyCode): int

fn modifiers_none(): Modifiers

fn modifiers(shift: bool, ctrl: bool, alt: bool, meta: bool): Modifiers

fn input_state(): InputState

fn input_begin_frame(inp: InputState): InputState

fn input_update_mouse(inp: InputState, x: float, y: float): InputState

fn input_update_button(inp: InputState, button: MouseButton, pressed: bool): InputState

fn input_update_key(inp: InputState, key: KeyCode, pressed: bool): InputState

fn input_update_modifiers(inp: InputState, mods: Modifiers): InputState

fn input_update_scroll(inp: InputState, dx: float, dy: float): InputState

fn input_update_text(inp: InputState, text: string): InputState

fn input_clear_text(inp: InputState): InputState

fn mouse_x(inp: InputState): float

fn mouse_y(inp: InputState): float

fn mouse_pos(inp: InputState): core.Point

fn mouse_delta_x(inp: InputState): float

fn mouse_delta_y(inp: InputState): float

fn mouse_down(inp: InputState): bool

fn mouse_pressed(inp: InputState): bool

fn mouse_released(inp: InputState): bool

fn mouse_button_down(inp: InputState, button: MouseButton): bool

fn mouse_button_pressed(inp: InputState, button: MouseButton): bool

fn mouse_button_released(inp: InputState, button: MouseButton): bool

fn scroll_x(inp: InputState): float

fn scroll_y(inp: InputState): float

fn key_down(inp: InputState, key: KeyCode): bool

fn key_pressed(inp: InputState, key: KeyCode): bool

fn key_released(inp: InputState, key: KeyCode): bool

fn text_input(inp: InputState): string

fn has_text_input(inp: InputState): bool

fn string_length(s: string): int

fn char_at_input(s: string, idx: int): int

fn mod_shift(inp: InputState): bool

fn mod_ctrl(inp: InputState): bool

fn mod_alt(inp: InputState): bool

fn mod_meta(inp: InputState): bool

fn mouse_in_rect(inp: InputState, rect: core.Rect): bool


Generated by reefc doc