From 57b9a08a207362e8f8bca3a741d4d2aee3b1066d Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Wed, 11 Dec 2019 11:49:45 +0100 Subject: DIRECTOR: Plug MacWindowManager in --- engines/director/events.cpp | 5 +++++ engines/director/frame.cpp | 2 ++ engines/director/graphics.cpp | 2 ++ engines/director/score.cpp | 3 +++ 4 files changed, 12 insertions(+) (limited to 'engines') diff --git a/engines/director/events.cpp b/engines/director/events.cpp index 253c87161f..85889f937b 100644 --- a/engines/director/events.cpp +++ b/engines/director/events.cpp @@ -23,6 +23,8 @@ #include "common/system.h" #include "common/events.h" +#include "graphics/macgui/macwindowmanager.h" + #include "director/director.h" #include "director/frame.h" #include "director/score.h" @@ -57,6 +59,9 @@ void DirectorEngine::processEvents() { while (g_system->getMillis() < endTime) { while (g_system->getEventManager()->pollEvent(event)) { + if (_wm->processEvent(event)) + continue; + switch (event.type) { case Common::EVENT_QUIT: sc->_stopPlay = true; diff --git a/engines/director/frame.cpp b/engines/director/frame.cpp index 06f074faa6..bf805dca19 100644 --- a/engines/director/frame.cpp +++ b/engines/director/frame.cpp @@ -409,6 +409,8 @@ void Frame::prepareFrame(Score *score) { score->renderZoomBox(); + _vm->_wm->draw(); + if (_transType != 0) // TODO Handle changing area case playTransition(score); diff --git a/engines/director/graphics.cpp b/engines/director/graphics.cpp index 3f9a5383b1..3e473131eb 100644 --- a/engines/director/graphics.cpp +++ b/engines/director/graphics.cpp @@ -220,6 +220,8 @@ Graphics::MacPatterns &DirectorEngine::getPatterns() { void DirectorEngine::setPalette(byte *palette, uint16 count) { _currentPalette = palette; _currentPaletteLength = count; + + _wm->passPalette(palette, count); } void DirectorEngine::testFontScaling() { diff --git a/engines/director/score.cpp b/engines/director/score.cpp index 554a01b31d..ae2b19d398 100644 --- a/engines/director/score.cpp +++ b/engines/director/score.cpp @@ -1297,6 +1297,9 @@ void Score::startLoop() { void Score::update() { if (g_system->getMillis() < _nextFrameTime) { renderZoomBox(true); + + _vm->_wm->draw(); + return; } -- cgit v1.2.3