diff options
author | Eugene Sandulenko | 2017-07-30 08:56:38 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2017-08-01 10:42:21 +0200 |
commit | 9fe79b9e198740c4544bb56784c9b861c8113e6f (patch) | |
tree | c7e73f333f8ad853f53f190d08d012a86b1ffd3d /graphics/macgui/macwindowmanager.cpp | |
parent | ff8a2ade68cc6751c1825f149f2efe9f78c9fe3d (diff) | |
download | scummvm-rg350-9fe79b9e198740c4544bb56784c9b861c8113e6f.tar.gz scummvm-rg350-9fe79b9e198740c4544bb56784c9b861c8113e6f.tar.bz2 scummvm-rg350-9fe79b9e198740c4544bb56784c9b861c8113e6f.zip |
GRAPHICS: MACGUI: Made MacTextWindow processing keyboard input
Diffstat (limited to 'graphics/macgui/macwindowmanager.cpp')
-rw-r--r-- | graphics/macgui/macwindowmanager.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/graphics/macgui/macwindowmanager.cpp b/graphics/macgui/macwindowmanager.cpp index b64ff1048f..1e4c49fa76 100644 --- a/graphics/macgui/macwindowmanager.cpp +++ b/graphics/macgui/macwindowmanager.cpp @@ -31,6 +31,7 @@ #include "graphics/macgui/macwindowmanager.h" #include "graphics/macgui/macfontmanager.h" #include "graphics/macgui/macwindow.h" +#include "graphics/macgui/mactextwindow.h" #include "graphics/macgui/macmenu.h" namespace Graphics { @@ -183,6 +184,18 @@ MacWindow *MacWindowManager::addWindow(bool scrollable, bool resizable, bool edi return w; } +MacTextWindow *MacWindowManager::addTextWindow(const MacFont *font, int fgcolor, int bgcolor, int maxWidth, TextAlign textAlignment) { + MacTextWindow *w = new MacTextWindow(this, font, fgcolor, bgcolor, maxWidth, textAlignment); + + _windows.push_back(w); + _windowStack.push_back(w); + + setActive(getNextId()); + + return w; +} + + void MacWindowManager::addWindowInitialized(MacWindow *macwindow) { _windows.push_back(macwindow); _windowStack.push_back(macwindow); @@ -300,7 +313,7 @@ bool MacWindowManager::processEvent(Common::Event &event) { return true; if (event.type != Common::EVENT_MOUSEMOVE && event.type != Common::EVENT_LBUTTONDOWN && - event.type != Common::EVENT_LBUTTONUP) + event.type != Common::EVENT_LBUTTONUP && event.type != Common::EVENT_KEYDOWN) return false; if (_windows[_activeWindow]->isEditable() && _windows[_activeWindow]->getType() == kWindowWindow && @@ -320,8 +333,8 @@ bool MacWindowManager::processEvent(Common::Event &event) { it--; BaseMacWindow *w = *it; - - if (w->hasAllFocus() || w->getDimensions().contains(event.mouse.x, event.mouse.y)) { + if (w->hasAllFocus() || (w->isEditable() && event.type == Common::EVENT_KEYDOWN) || + w->getDimensions().contains(event.mouse.x, event.mouse.y)) { if (event.type == Common::EVENT_LBUTTONDOWN || event.type == Common::EVENT_LBUTTONUP) setActive(w->getId()); |