On Windows, SetWindowLongPtr with the GWLP_WNDPROC argument can set a new window procedure to receive (and block or pass through) window messages. These messages range from mouse events such as WM_MOUSEWHEEL and WM_LBUTTONDOWN to keyboard events WM_KEYDOWN and many others
WDL/SWELL offers the SetWindowLong function, with the note:
Code:
** GWL_WNDPROC is supported by SWELL created windows/dialogs/controls, using
** (int)getSwellWindowProc and setSwellWindowProc:(int).
If SetWindowLong with GWL_WNDPROC is used on MacOS/Linux, which message types can the new window procedure expect to receive? Do they use the same codes as on Windows, and the same wParams and lParams?
I hope that the WDL/SWELL version will at the very least receive mouse and mousewheel events.