class

PointClickEngine::UI::MenuInputHandler

Inherits Reference < Object

Handles input processing for menu systems

The MenuInputHandler centralizes all input logic for menus including:

  • Keyboard navigation (arrow keys, Enter, Escape)
  • Mouse interaction (hover, click)
  • Input validation and filtering
  • Navigation state management

Constructors

Instance methods

action_key_held?

Checks if any action key is currently held

Source
get_input_stats

Gets input statistics for debugging

Source
get_mouse_position

Gets current mouse position

Source
input_repeat_delay
Source
input_repeat_delay=(input_repeat_delay : Float64)
Source
input_repeat_enabled
Source
input_repeat_enabled=(input_repeat_enabled : Bool)
Source
keyboard_navigation_enabled

Input configuration

Source
keyboard_navigation_enabled=(keyboard_navigation_enabled : Bool)

Input configuration

Source
last_input_time
Source
last_input_time=(last_input_time : Float64)
Source
mouse_clicked_this_frame
Source
mouse_navigation_enabled
Source
mouse_navigation_enabled=(mouse_navigation_enabled : Bool)
Source
mouse_over_item?(item_bounds : RL::Rectangle) : Bool

Checks if mouse is hovering over a menu item

  • item_bounds : Rectangle defining the menu item area

Returns: true if mouse is over the item

Source
mouse_position

Current input state

Source
mouse_position=(mouse_position : RL::Vector2)

Current input state

Source
on_cancel
Source
on_cancel=(on_cancel : Proc(Nil) | Nil)
Source
on_cancellation

Sets up cancel callback

Source
on_hover

Sets up hover callback

Source
on_mouse_hover
Source
on_mouse_hover=(on_mouse_hover : Proc(Int32, Nil) | Nil)
Source
on_navigate

Callback for input events

Source
on_navigate=(on_navigate : Proc(InputAction, Nil) | Nil)

Callback for input events

Source
on_navigation

Sets up navigation callbacks

Source
on_select
Source
on_select=(on_select : Proc(Int32, Nil) | Nil)
Source
on_selection

Sets up selection callback

Source
point_in_rect?(point : RL::Vector2, rect : RL::Rectangle) : Bool

Checks if a point is within a rectangular area

Source
process_input(dt : Float64) : InputAction

Processes input for the current frame

  • dt : Delta time since last frame

Returns: The input action that occurred this frame

Source
process_item_interaction(item_index : Int32, item_bounds : RL::Rectangle, item_enabled : Bool = true) : Bool

Processes menu item interaction

  • item_index : Index of the menu item
  • item_bounds : Rectangle defining the menu item area
  • item_enabled : Whether the item can be interacted with

Returns: true if the item was clicked

Source
reset_input_state

Resets input state (useful for menu transitions)

Source
set_input_repeat(enabled : Bool)

Enables or disables input repeat

Source
set_input_repeat_delay(delay : Float64)

Sets input repeat delay for keyboard navigation

Source
set_keyboard_navigation(enabled : Bool)

Enables or disables keyboard navigation

Source
set_mouse_navigation(enabled : Bool)

Enables or disables mouse navigation

Source
update_from_settings(settings : Hash(String, String))

Updates input configuration from settings

Source
validate_configuration

Validates input configuration

Source

Nested types