diff options
author | Eugene Sandulenko | 2016-04-05 09:39:16 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2016-04-05 09:39:16 +0200 |
commit | 7555d041b5f7e8a196e05e906a4cf7bdc293a969 (patch) | |
tree | 0cd5f7aae02b954a162c2d16ca4e300d99533e0a /engines/wage/gui.cpp | |
parent | 2a3c4cc16032fdc0ee5db3fe3c554941ec63b471 (diff) | |
download | scummvm-rg350-7555d041b5f7e8a196e05e906a4cf7bdc293a969.tar.gz scummvm-rg350-7555d041b5f7e8a196e05e906a4cf7bdc293a969.tar.bz2 scummvm-rg350-7555d041b5f7e8a196e05e906a4cf7bdc293a969.zip |
WAGE: Split scene and console drawing
Diffstat (limited to 'engines/wage/gui.cpp')
-rw-r--r-- | engines/wage/gui.cpp | 66 |
1 files changed, 37 insertions, 29 deletions
diff --git a/engines/wage/gui.cpp b/engines/wage/gui.cpp index 15d82a68fb..3591000edb 100644 --- a/engines/wage/gui.cpp +++ b/engines/wage/gui.cpp @@ -239,37 +239,10 @@ void Gui::draw() { } if (_scene != _engine->_world->_player->_currentScene || _sceneDirty) { - _scene = _engine->_world->_player->_currentScene; - - drawDesktop(); - - _sceneDirty = true; - _consoleDirty = true; - _menuDirty = true; - _consoleFullRedraw = true; - - _scene->paint(&_screen, _scene->_designBounds->left, _scene->_designBounds->top); - - _sceneArea.left = _scene->_designBounds->left + kBorderWidth - 2; - _sceneArea.top = _scene->_designBounds->top + kBorderWidth - 2; - _sceneArea.setWidth(_scene->_designBounds->width() - 2 * kBorderWidth); - _sceneArea.setHeight(_scene->_designBounds->height() - 2 * kBorderWidth); - - _consoleTextArea.left = _scene->_textBounds->left + kBorderWidth - 2; - _consoleTextArea.top = _scene->_textBounds->top + kBorderWidth - 2; - _consoleTextArea.setWidth(_scene->_textBounds->width() - 2 * kBorderWidth); - _consoleTextArea.setHeight(_scene->_textBounds->height() - 2 * kBorderWidth); + drawScene(); } - if (_scene && (_bordersDirty || _sceneDirty)) - paintBorder(&_screen, _sceneArea, kWindowScene); - - // Render console - if (_consoleDirty || _consoleFullRedraw) - renderConsole(&_screen, _consoleTextArea); - - if (_bordersDirty || _consoleDirty || _consoleFullRedraw) - paintBorder(&_screen, _consoleTextArea, kWindowConsole); + drawConsole(); if (_menuDirty) _menu->render(); @@ -288,6 +261,41 @@ void Gui::draw() { _consoleFullRedraw = false; } +void Gui::drawScene() { + _scene = _engine->_world->_player->_currentScene; + + drawDesktop(); + + _sceneDirty = true; + _consoleDirty = true; + _menuDirty = true; + _consoleFullRedraw = true; + + _scene->paint(&_screen, _scene->_designBounds->left, _scene->_designBounds->top); + + _sceneArea.left = _scene->_designBounds->left + kBorderWidth - 2; + _sceneArea.top = _scene->_designBounds->top + kBorderWidth - 2; + _sceneArea.setWidth(_scene->_designBounds->width() - 2 * kBorderWidth); + _sceneArea.setHeight(_scene->_designBounds->height() - 2 * kBorderWidth); + + _consoleTextArea.left = _scene->_textBounds->left + kBorderWidth - 2; + _consoleTextArea.top = _scene->_textBounds->top + kBorderWidth - 2; + _consoleTextArea.setWidth(_scene->_textBounds->width() - 2 * kBorderWidth); + _consoleTextArea.setHeight(_scene->_textBounds->height() - 2 * kBorderWidth); + + if (_scene && (_bordersDirty || _sceneDirty)) + paintBorder(&_screen, _sceneArea, kWindowScene); +} + +// Render console +void Gui::drawConsole() { + if (_consoleDirty || _consoleFullRedraw) + renderConsole(&_screen, _consoleTextArea); + + if (_bordersDirty || _consoleDirty || _consoleFullRedraw) + paintBorder(&_screen, _consoleTextArea, kWindowConsole); +} + void Gui::drawBox(Graphics::Surface *g, int x, int y, int w, int h) { Common::Rect r(x, y, x + w + 1, y + h + 1); |