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:
LeftRightMiddle
KeyCode (enum)
Variants:
SpaceEnterEscapeBackspaceTabUpDownLeftRightABCDEFGHIJKLMNOPQRSTUVWXYZNum0Num1Num2Num3Num4Num5Num6Num7Num8Num9F1F2F3F4F5F6F7F8F9F10F11F12
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