Receives raw OS events, records them, and runs the frame's input pipeline (tab navigation, text editor focus, dispatch, post-dispatch).
More...
|
| | InputManager ()=default |
| | ~InputManager ()=default |
| const FileDrag * | GetFileDrag () const |
| | The drag from another application over one of the app's windows now; null when there's none.
|
| std::vector< FileDrop > | TakeFileDrops () |
| | The drops from other applications since the last call, oldest first.
|
| void | PushGlobalHandler (EventHandler h) |
| | Pushes a global handler.
|
| bool | PopGlobalHandler () |
| | Pops the last pushed global handler; false when there is none.
|
| void | ConsumeKey () |
| | Marks the most recently recorded keyboard event as consumed, so Dispatch skips it.
|
| const std::vector< RecordedInputEvent > & | GetRecordedEvents () const |
| | This frame's recorded events, e.g. to read them before Process.
|
| void | ConsumeEvent (size_t index) |
| | Marks recorded event index as consumed, for something that acted on it while building.
|
| MouseButtons | GetCurrentButtons () const |
| | Mouse buttons held as of the last recorded button event.
|
| bool | IsDragAbandoned (MouseButtons button=MouseButtons::Left) const |
| | Whether a drag held with button was left behind: the button is up and no release is queued for this frame.
|
| void | UpdatePreHover (GUIStateManager &guiStateManager) |
| | Updates the drag position from the latest recorded mouse event; call before hover resolution and GUIStateManager::EndFrame.
|
| void | SynthesizeMissingMouseEvents (int2 screenPos, MouseButtons lastPhysicalButtons, MouseButtons physicalButtons) |
| | Detects mouse button presses the OS swallowed (e.g.
|
| void | Process (GUIStateManager &guiStateManager, ElementStorage &elementStorage, TabChainManager &tabChainManager, ITextSystem *textSystem, ID overID) |
| | Per-frame input processing: tab navigation, text editor focus, dispatch to element handlers, and post-dispatch state updates.
|
| void | Dispatch (GUIStateManager &guiStateManager, ElementStorage &storage) |
| | Dispatches each recorded event to elements by capture / focus / hover rules, then clears the events.
|
| Public Member Functions inherited from tachyon::IPlatformInputHandler |
| virtual | ~IPlatformInputHandler ()=default |
| void | OnKeyboard (tachyon::ID windowId, KeyCode key, int repeat, KeyModifier modifiers, KeyAction action) override |
| | IPlatformInputHandler: record OS events for this frame's dispatch.
|
| void | OnMouseMove (tachyon::ID windowId, tachyon::int2 screenPos, tachyon::MouseButtons buttons, KeyModifier modifiers) override |
| | IPlatformInputHandler: record OS events for this frame's dispatch.
|
| void | OnMouseButton (tachyon::ID windowId, tachyon::int2 screenPos, tachyon::MouseButtons buttons, KeyModifier modifiers, MouseAction action) override |
| | IPlatformInputHandler: record OS events for this frame's dispatch.
|
| void | OnMouseScroll (tachyon::ID windowId, tachyon::int2 screenPos, tachyon::float2 scrollOffset, KeyModifier modifiers) override |
| | IPlatformInputHandler: record OS events for this frame's dispatch.
|
| void | OnTextComposition (tachyon::ID, std::string_view, int32_t) override |
| | IPlatformInputHandler: record OS events for this frame's dispatch.
|
| void | OnFileDrop (tachyon::ID windowId, tachyon::int2 screenPos, FileDropAction action, std::string_view data) override |
| | IPlatformInputHandler: record OS events for this frame's dispatch.
|
Receives raw OS events, records them, and runs the frame's input pipeline (tab navigation, text editor focus, dispatch, post-dispatch).