|
| | PluginInputRouter (InputRouterHost &host) noexcept |
| | PluginInputRouter (const PluginInputRouter &)=delete |
| PluginInputRouter & | operator= (const PluginInputRouter &)=delete |
| void | on_mouse_down (Point pt, MouseButton button, std::uint16_t modifiers) |
| void | on_mouse_move (Point pt, std::uint32_t button_mask, std::uint16_t modifiers) |
| | button_mask is the raw MK_* word from the move message; the router asks drag_continues() whether the pressed button is still down, which is how a button released outside the window ends its gesture.
|
| void | on_mouse_up (Point pt, MouseButton button, std::uint16_t modifiers) |
| void | on_capture_lost () noexcept |
| void | on_mouse_leave () |
| void | on_mouse_wheel (Point pt, float dx, float dy, std::uint16_t modifiers=0) |
| bool | on_key (KeyCode key, std::uint16_t modifiers, bool is_down, bool is_repeat) |
| bool | on_text_unit (char16_t unit) |
| | One UTF-16 code unit from WM_CHAR.
|
| void | on_focus_changed (bool gained) |
| void | cancel_gesture () noexcept |
| | End any live gesture, delivering the cancellation the widgets need.
|
| bool | gesture_active () const noexcept |
| MouseButton | gesture_button () const noexcept |
| bool | has_captured_target () const noexcept |
| const View * | captured_target () const noexcept |
| Point | last_point () const noexcept |
| bool | tracking_mouse_leave () const noexcept |
| bool | has_pending_high_surrogate () const noexcept |
Pointer/keyboard/text routing for one plug-in editor window.
Owns the gesture state — the PointerSession, the captured drag target, the last pointer position, leave-tracking and the pending high surrogate — so the host no longer carries five loose fields whose invariants were only expressed by the order of statements in its handlers.
All methods run on the UI thread. Points are already in ROOT (layout) coordinates: the DPI scale and the design-viewport transform are the host's, so the router never sees a physical pixel.