mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-04-16 17:42:31 +00:00
resize the window in a slightly less bad way, fix my check in setUseHardwareCursors to be the right way round
This commit is contained in:
parent
043e29c620
commit
9b485a86ef
@ -138,7 +138,7 @@ void OMW::Engine::handleSDLMessages()
|
|||||||
SDL_PumpEvents();
|
SDL_PumpEvents();
|
||||||
int num_events = SDL_PeepEvents(events, max_events, SDL_PEEKEVENT, SDL_WINDOWEVENT, SDL_WINDOWEVENT);
|
int num_events = SDL_PeepEvents(events, max_events, SDL_PEEKEVENT, SDL_WINDOWEVENT, SDL_WINDOWEVENT);
|
||||||
|
|
||||||
bool move_or_resize = false;
|
bool resize = false;
|
||||||
|
|
||||||
unsigned int size_x = 0;
|
unsigned int size_x = 0;
|
||||||
unsigned int size_y = 0;
|
unsigned int size_y = 0;
|
||||||
@ -150,9 +150,8 @@ void OMW::Engine::handleSDLMessages()
|
|||||||
switch(events[i].window.event)
|
switch(events[i].window.event)
|
||||||
{
|
{
|
||||||
case SDL_WINDOWEVENT_RESIZED:
|
case SDL_WINDOWEVENT_RESIZED:
|
||||||
case SDL_WINDOWEVENT_MOVED:
|
|
||||||
printf("Resizing window!\n");
|
printf("Resizing window!\n");
|
||||||
move_or_resize = true;
|
resize = true;
|
||||||
size_x = events[i].window.data1;
|
size_x = events[i].window.data1;
|
||||||
size_y = events[i].window.data2;
|
size_y = events[i].window.data2;
|
||||||
break;
|
break;
|
||||||
@ -161,23 +160,13 @@ void OMW::Engine::handleSDLMessages()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//handle window movements
|
//handle window movements
|
||||||
if(move_or_resize)
|
if(resize)
|
||||||
{
|
{
|
||||||
mOgre->adjustViewport();
|
|
||||||
if(!mOgre->getWindow()->isFullScreen())
|
if(!mOgre->getWindow()->isFullScreen())
|
||||||
{
|
{
|
||||||
SDL_DisplayMode dispMode;
|
|
||||||
SDL_Window* sdlWindow = mOgre->getSDLWindow();
|
|
||||||
|
|
||||||
SDL_GetWindowDisplayMode(sdlWindow, &dispMode);
|
|
||||||
|
|
||||||
dispMode.w = size_x;
|
|
||||||
dispMode.h = size_y;
|
|
||||||
|
|
||||||
SDL_SetWindowDisplayMode(sdlWindow, &dispMode);
|
|
||||||
|
|
||||||
mOgre->getWindow()->windowMovedOrResized();
|
mOgre->getWindow()->windowMovedOrResized();
|
||||||
mOgre->getWindow()->resize(size_x, size_y);
|
mOgre->getWindow()->resize(size_x, size_y);
|
||||||
|
mOgre->adjustViewport();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -750,7 +750,7 @@ void WindowManager::setUseHardwareCursors(bool use)
|
|||||||
{
|
{
|
||||||
mCursorManager->setEnabled(use);
|
mCursorManager->setEnabled(use);
|
||||||
|
|
||||||
if(!use)
|
if(use)
|
||||||
{
|
{
|
||||||
MyGUI::PointerManager::getInstance().setVisible(false);
|
MyGUI::PointerManager::getInstance().setVisible(false);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user