MouseWatcher, ButtonThrower and RocketInputHandler


I am experimenting with librocket and I am having some problems with mouse and keyboard input.

I have some DorectObjects accepting keyboads presses and mouse clicks… but I do NOT want them to process if librocket handled those.
That is, if I scroll librocket window using mouse wheel I do not want my objects to receive wheel events. Also, when I type in librocket input field, I do not want my objects to receive key events.
This applies to everything, dragging a window, resizing, drag&drop, …

Could anyone direct me how can this be done?
Like, disabling events if any librocket window has focus? Or detecting librocket actions and removing events from queue?

I found that DirectGUI items have setSuppressFlags() function (from PGItem) and they suppress mouse and key events.
How to make it work in same way with librocket?
Simply adding DirectFrame to the same place does not work, as it renders above librocket and suppresses events for librocket as well. Also, DirectGUI elements hide librocket cursor, those two systems do not seem to work together.


I don’t believe there’s anything in the libRocket layer that could do what you ask. You will have to implement this functionality yourself, using libRocket events; eg on mouseover or gain focus on any libRocket element, you could set a variable somewhere, and on unfocus you could unset that variable. Then, program your event handling code could ignore events when that variable is set. Something like that.