Here is the injection call:
Code: Select all
bool mousePressed(const OIS::MouseEvent &e, OIS::MouseButtonID id )
{
if(CEGUI::System::getSingleton().injectMouseButtonDown(convertOISMouseButtonToCegui(id)))
{
return true;
}
// Left mouse button down
if (id == OIS::MB_Left) doStuff();//do some stuff
return true;
}
As I understand it, injectMouseButtonDown should return true whenever the mouse is over a visible gui window, and it does work most of the time except if I click on a FrameWindow background, then false is returned by injectMouseButtonDown and the doStuff() part of my code is executed when it shouldn't. If the titlebar or the frame of the framewindow is clicked then false is returned as expected.
It does the same things with the 2 skins I tried (taharez and sleekspace)
I tried a few things with getWindowContainingMouse() and setMousePassThroughEnabled() but didn't find a way to resolve my problem.
Should I look in the xml files to define the correct behavior?