Switching between OS and CEGUI cursor (windowed mode)
I’m using the following snippet in my mouseMoved-Event to handle the switching between the windows os mouse cursor and the cegui mouse cursor when entering/leaving the RenderWindow.
if (mMouseInWindow)
{
CEGUI::System::getSingleton().injectMousePosition( arg.state.X.abs, arg.state.Y.abs );
if (arg.state.X.abs == 0 || arg.state.Y.abs == 0 ||
arg.state.X.abs == mWindowMaxWidth || arg.state.Y.abs == mWindowMaxHeight)
{
CEGUI::MouseCursor::getSingleton().hide();
ShowCursor(true); // windows only
mMouseInWindow = false;
}
}
else if (arg.state.X.abs > 0 && arg.state.Y.abs > 0 &&
arg.state.X.abs < mWindowMaxWidth && arg.state.Y.abs < mWindowMaxHeight)
{
CEGUI::MouseCursor::getSingleton().show();
ShowCursor(false); // windows only
mMouseInWindow = true;
}
Leave a Reply