The native operations the router needs but must not perform itself.
More...
#include <win_plugin_input_router.hpp>
The native operations the router needs but must not perform itself.
Every method is a side effect on the owning HWND, and every one of them can re-enter the router synchronously on Windows — input_capture_pointer() and input_release_pointer_capture() both deliver WM_CAPTURECHANGED before they return, and input_take_keyboard_focus() delivers WM_SETFOCUS. The router is written to tolerate that; an implementation must not try to hide it by deferring the call.
◆ ~InputRouterHost()
| virtual pulp::view::win_input::InputRouterHost::~InputRouterHost |
( |
| ) |
|
|
virtualdefault |
◆ input_begin_mouse_leave_tracking()
| virtual bool pulp::view::win_input::InputRouterHost::input_begin_mouse_leave_tracking |
( |
| ) |
|
|
pure virtual |
TrackMouseEvent(TME_LEAVE).
Returns whether tracking is now armed; a false return makes the router retry on the next move rather than assume a leave will arrive.
◆ input_capture_pointer()
| virtual void pulp::view::win_input::InputRouterHost::input_capture_pointer |
( |
| ) |
|
|
pure virtual |
SetCapture(hwnd) — route pointer input here until capture is released.
◆ input_release_pointer_capture()
| virtual void pulp::view::win_input::InputRouterHost::input_release_pointer_capture |
( |
| ) |
|
|
pure virtual |
ReleaseCapture(), but ONLY if this host currently holds it.
Releasing capture we do not own would steal it from whoever does.
◆ input_request_repaint()
| virtual void pulp::view::win_input::InputRouterHost::input_request_repaint |
( |
| ) |
|
|
pure virtual |
Coalesced repaint request, called after any input that can change pixels.
◆ input_root()
| virtual View & pulp::view::win_input::InputRouterHost::input_root |
( |
| ) |
|
|
pure virtualnoexcept |
Root of the view tree events are dispatched into.
◆ input_take_keyboard_focus()
| virtual void pulp::view::win_input::InputRouterHost::input_take_keyboard_focus |
( |
| ) |
|
|
pure virtual |
SetFocus(hwnd) — take native keyboard focus for the editor window.
The documentation for this class was generated from the following file: