[Scummvm-git-logs] scummvm master -> de42a124ed21f412ef1a23b09a6a3954d0cb2df0
sev-
sev at scummvm.org
Thu Oct 17 01:44:28 CEST 2019
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
6100de0b3a GRAPHICS: MACGUI: Add possibility to set WM mode right away
de42a124ed PINK: Enforce built-in fonts in WM
Commit: 6100de0b3a0f869b0dc94b5f961c60206b264bf1
https://github.com/scummvm/scummvm/commit/6100de0b3a0f869b0dc94b5f961c60206b264bf1
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2019-10-17T01:42:44+02:00
Commit Message:
GRAPHICS: MACGUI: Add possibility to set WM mode right away
This lets us to not load mac fonts when the built-in mode in enforced
Changed paths:
graphics/macgui/macfontmanager.cpp
graphics/macgui/macfontmanager.h
graphics/macgui/macwindowmanager.cpp
graphics/macgui/macwindowmanager.h
diff --git a/graphics/macgui/macfontmanager.cpp b/graphics/macgui/macfontmanager.cpp
index 05bdddc..51c9911 100644
--- a/graphics/macgui/macfontmanager.cpp
+++ b/graphics/macgui/macfontmanager.cpp
@@ -26,6 +26,7 @@
#include "graphics/fonts/bdf.h"
#include "graphics/fonts/macfont.h"
+#include "graphics/macgui/macwindowmanager.h"
#include "graphics/macgui/macfontmanager.h"
namespace Graphics {
@@ -85,12 +86,16 @@ static const char *const fontStyleSuffixes[] = {
"Extend"
};
-MacFontManager::MacFontManager() {
+MacFontManager::MacFontManager(uint32 mode) : _mode(mode) {
for (uint i = 0; i < ARRAYSIZE(fontNames); i++)
if (fontNames[i])
_fontIds.setVal(fontNames[i], i);
- loadFonts();
+ if (_mode & MacGUIConstants::kWMModeForceBuiltinFonts) {
+ _builtInFonts = true;
+ } else {
+ loadFonts();
+ }
}
void MacFontManager::loadFontsBDF() {
diff --git a/graphics/macgui/macfontmanager.h b/graphics/macgui/macfontmanager.h
index 6297202..d274657 100644
--- a/graphics/macgui/macfontmanager.h
+++ b/graphics/macgui/macfontmanager.h
@@ -102,7 +102,7 @@ private:
class MacFontManager {
public:
- MacFontManager();
+ MacFontManager(uint32 mode);
/**
* Accessor method to check the presence of built-in fonts.
@@ -145,6 +145,7 @@ private:
private:
bool _builtInFonts;
+ uint32 _mode;
Common::HashMap<Common::String, MacFont *> _fontRegistry;
Common::HashMap<Common::String, int> _fontIds;
diff --git a/graphics/macgui/macwindowmanager.cpp b/graphics/macgui/macwindowmanager.cpp
index 62d3710..338be38 100644
--- a/graphics/macgui/macwindowmanager.cpp
+++ b/graphics/macgui/macwindowmanager.cpp
@@ -147,14 +147,14 @@ static const byte macCursorCrossBar[] = {
static void menuTimerHandler(void *refCon);
-MacWindowManager::MacWindowManager() {
+MacWindowManager::MacWindowManager(uint32 mode) {
_screen = 0;
_screenCopy = 0;
_lastId = 0;
_activeWindow = -1;
_needsRemoval = false;
- _mode = kWMModeNone;
+ _mode = mode;
_menu = 0;
_menuDelay = 0;
@@ -175,7 +175,7 @@ MacWindowManager::MacWindowManager() {
g_system->getPaletteManager()->setPalette(palette, 0, ARRAYSIZE(palette) / 3);
- _fontMan = new MacFontManager();
+ _fontMan = new MacFontManager(mode);
CursorMan.replaceCursorPalette(palette, 0, ARRAYSIZE(palette) / 3);
CursorMan.replaceCursor(macCursorArrow, 11, 16, 1, 1, 3);
diff --git a/graphics/macgui/macwindowmanager.h b/graphics/macgui/macwindowmanager.h
index 1719bee..ee9fc35 100644
--- a/graphics/macgui/macwindowmanager.h
+++ b/graphics/macgui/macwindowmanager.h
@@ -98,7 +98,7 @@ void macDrawPixel(int x, int y, int color, void *data);
*/
class MacWindowManager {
public:
- MacWindowManager();
+ MacWindowManager(uint32 mode = 0);
~MacWindowManager();
/**
Commit: de42a124ed21f412ef1a23b09a6a3954d0cb2df0
https://github.com/scummvm/scummvm/commit/de42a124ed21f412ef1a23b09a6a3954d0cb2df0
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2019-10-17T01:43:54+02:00
Commit Message:
PINK: Enforce built-in fonts in WM
Changed paths:
engines/pink/director.cpp
engines/pink/director.h
diff --git a/engines/pink/director.cpp b/engines/pink/director.cpp
index 1baf239..8560469 100644
--- a/engines/pink/director.cpp
+++ b/engines/pink/director.cpp
@@ -90,17 +90,22 @@ static void redrawCallback(void *ref) {
Director::Director()
: _surface(640, 480), _textRendered(false) {
- _wm.setScreen(&_surface);
- _wm.setMode(Graphics::kWMModeNoDesktop | Graphics::kWMModeAutohideMenu | Graphics::kWMModalMenuMode |
- Graphics::kWMModeForceBuiltinFonts);
- _wm.setMenuHotzone(Common::Rect(0, 0, 640, 23));
- _wm.setMenuDelay(250000);
- _wm.setEngineRedrawCallback(this, redrawCallback);
+ _wm = new Graphics::MacWindowManager(Graphics::kWMModeNoDesktop | Graphics::kWMModeAutohideMenu
+ | Graphics::kWMModalMenuMode | Graphics::kWMModeForceBuiltinFonts);
+
+ _wm->setScreen(&_surface);
+ _wm->setMenuHotzone(Common::Rect(0, 0, 640, 23));
+ _wm->setMenuDelay(250000);
+ _wm->setEngineRedrawCallback(this, redrawCallback);
+}
+
+Director::~Director() {
+ delete _wm;
}
void Director::update() {
- if (_wm.isMenuActive()) {
- _wm.draw();
+ if (_wm->isMenuActive()) {
+ _wm->draw();
g_system->updateScreen();
return;
}
@@ -114,19 +119,19 @@ void Director::update() {
_sprites[i]->update();
}
- _wm.draw();
+ _wm->draw();
draw();
}
bool Director::processEvent(Common::Event &event) {
- return _wm.processEvent(event);
+ return _wm->processEvent(event);
}
void Director::setPalette(const byte *palette) {
g_system->getPaletteManager()->setPalette(palette, 0, 256);
- _wm.passPalette(palette, 256);
+ _wm->passPalette(palette, 256);
}
void Director::addTextAction(ActionText *txt) {
diff --git a/engines/pink/director.h b/engines/pink/director.h
index af8dbfc3..9dff49a 100644
--- a/engines/pink/director.h
+++ b/engines/pink/director.h
@@ -48,6 +48,7 @@ class ActionText;
class Director {
public:
Director();
+ ~Director();
void update();
bool processEvent(Common::Event &event);
@@ -75,7 +76,7 @@ public:
Actor *getActorByPoint(const Common::Point point);
- Graphics::MacWindowManager &getWndManager() { return _wm; };
+ Graphics::MacWindowManager &getWndManager() { return *_wm; };
void draw(bool blit = true);
@@ -85,7 +86,7 @@ private:
private:
Graphics::Screen _surface;
- Graphics::MacWindowManager _wm;
+ Graphics::MacWindowManager *_wm;
Common::Array<Common::Rect> _dirtyRects;
Common::Array<ActionCEL *> _sprites;
Common::Array<ActionCEL *> _savedSprites;
More information about the Scummvm-git-logs
mailing list