To focus the search input from anywhere on the page, press the 'S' key.
in-package search v0.1.0
Library
Module
Module type
Parameter
Class
Class type
Dealing with events.
Events are simply SDL events, plus a few additional events. They are also used for primitive communication between threads.
Events are detected by Layouts, and then sent to the resident Widget. Finally, the Widget decides what to do with the events. There is one exception: the startup
event is directly sent to all Widgets.
Dependency graph
type t = Tsdl.Sdl.event_type
SDL events
val text_input : t
Same as Tsdl.Sdl.Event.text_input
val key_down : t
Same as Tsdl.Sdl.Event.key_down
val key_up : t
Same as Tsdl.Sdl.Event.key_up
Special Bogue events
val startup : t
The startup
event is sent to all Widgets when the Bogue mainloop is started using Main.run
.
val mouse_enter : t
The mouse_enter
event is triggered when the pointer (mouse motion, or finger touch -- but not finger drag) enters a new layout.
val mouse_leave : t
Similar to mouse_enter
, when the pointer leaves the layout.
val mouse_at_rest : t
Triggered when the mouse did not move for a while.
val var_changed : t
The var_changed
event can be sent to notify that some widget made a change to a global variable.
val update : t
Currently the update
event is more or less equivalent to var_changed
. This might change in future versions.
val user_event : t
Same as Tsdl.Sdl.Event.user_event
. This special event of type SDL_UserEvent can trigger a global reaction, not associated with any widget in particular, through the on_user_event
parameter of Main.create
val buttons_down : t list
A list of events containing the mouse_button_down event, and the finger_down event.
val buttons_up : t list
A list of events containing the mouse_button_up event, and the finger_up event.
val pointer_motion : t list
A list of events containing the mouse_motion event, and the finger_motion event.
Using events for terminating threads
val should_exit : Tsdl.Sdl.event -> bool
Tell if the current thread should exit. This should only be called within a widget action. The event should be the event passed to the action function. A well programmed action should check this event to decide if it should exit.
val will_exit : Tsdl.Sdl.event -> unit
A nice thread should do this just before terminating. May be suppressed in future versions.
val nice_delay : Tsdl.Sdl.event -> float -> unit
nice_delay ev t
Wait during a delay (t
seconds), but quit anyway when should_exit
ev
is true.
Send the SDL_QUIT event, as if the user clicked on the close button of the last existing window. It will in principle raise the Main.Exit
exception and hence exit the mainloop.
val wait_for : ?timeout:float -> ?ev:Tsdl.Sdl.event -> (unit -> bool) -> unit
SDL Misc
SDL events
type sdl_event = [
|
`App_did_enter_background
|
`App_did_enter_foreground
|
`App_low_memory
|
`App_terminating
|
`App_will_enter_background
|
`App_will_enter_foreground
|
`Clipboard_update
|
`Controller_axis_motion
|
`Controller_device_added
|
`Controller_device_remapped
|
`Controller_device_removed
|
`Dollar_gesture
|
`Dollar_record
|
`Drop_file
|
`Finger_down
|
`Finger_motion
|
`Finger_up
|
`Joy_axis_motion
|
`Joy_ball_motion
|
`Joy_device_added
|
`Joy_device_removed
|
`Joy_hat_motion
|
`Key_down
|
`Key_up
|
`Mouse_motion
|
`Mouse_wheel
|
`Multi_gesture
|
`Quit
|
`Sys_wm_event
|
`Text_editing
|
`Text_input
|
`Unknown of int
|
`User_event
|
`Window_event
|
`Display_event
|
`Sensor_update
]
val event_kind : Tsdl.Sdl.event -> [ sdl_event | bogue_event ]
Union of sdl_event
and bogue_event