diff options
-rw-r--r-- | gui/newgui.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gui/newgui.cpp b/gui/newgui.cpp index ef75e9a575..736be2d8c8 100644 --- a/gui/newgui.cpp +++ b/gui/newgui.cpp @@ -224,15 +224,18 @@ void NewGui::runLoop() { #pragma mark - void NewGui::saveState() { - int sys_height = _system->get_height(); - int sys_width = _system->get_width(); // Backup old cursor _oldCursorMode = _system->show_mouse(true); + // Enable the overlay _system->show_overlay(); - // TODO - add getHeight & getWidth methods to OSystem. - _screen = (NewGuiColor*)calloc(sys_width*sys_height,sizeof(NewGuiColor)); + + // Create a screen buffer for the overlay data, and fill it with + // whatever is visible on the screen rught now. + int sys_height = _system->get_overlay_height(); + int sys_width = _system->get_overlay_width(); + _screen = (NewGuiColor*)calloc(sys_width * sys_height, sizeof(NewGuiColor)); _screenPitch = sys_width; _system->grab_overlay(_screen, _screenPitch); |