[Scummvm-git-logs] scummvm master -> 05041e5001e96b6fa3f565f778995a998d8dcfc7

ysj1173886760 42030331+ysj1173886760 at users.noreply.github.com
Sat Jul 24 10:38:17 UTC 2021


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
05041e5001 GRAPHICS: MACGUI: introduce builtin pattern to wm. use builtin pattern to draw disabled menu items.


Commit: 05041e5001e96b6fa3f565f778995a998d8dcfc7
    https://github.com/scummvm/scummvm/commit/05041e5001e96b6fa3f565f778995a998d8dcfc7
Author: ysj1173886760 (1173886760 at qq.com)
Date: 2021-07-24T18:34:56+08:00

Commit Message:
GRAPHICS: MACGUI: introduce builtin pattern to wm. use builtin pattern to draw disabled menu items.

Changed paths:
    graphics/macgui/macmenu.cpp
    graphics/macgui/macwindowmanager.cpp
    graphics/macgui/macwindowmanager.h


diff --git a/graphics/macgui/macmenu.cpp b/graphics/macgui/macmenu.cpp
index e1dde0ccf4..b46c411638 100644
--- a/graphics/macgui/macmenu.cpp
+++ b/graphics/macgui/macmenu.cpp
@@ -969,8 +969,8 @@ void MacMenu::renderSubmenu(MacMenuSubMenu *menu, bool recursive) {
 				// fake it here
 				for (int ii = 0; ii < _tempSurface.h; ii++) {
 					const byte *src = (const byte *)_tempSurface.getBasePtr(0, ii);
-					byte *dst = (byte *)_screen.getBasePtr(x, y+ii);
-					byte pat = _wm->getPatterns()[kPatternCheckers2 - 1][ii % 8];
+					byte *dst = (byte *)_screen.getBasePtr(x, y + ii);
+					byte pat = _wm->getBuiltinPatterns()[kPatternCheckers2 - 1][ii % 8];
 					for (int j = 0; j < r->width(); j++) {
 						if (*src != _wm->_colorGreen && (pat & (1 << (7 - (x + j) % 8))))
 							*dst = *src;
@@ -979,6 +979,7 @@ void MacMenu::renderSubmenu(MacMenuSubMenu *menu, bool recursive) {
 					}
 				}
 			}
+
 		} else { // Delimiter
 			bool flip = r->left & 2;
 			byte *ptr = (byte *)_screen.getBasePtr(r->left + 1, y + _menuDropdownItemHeight / 2);
diff --git a/graphics/macgui/macwindowmanager.cpp b/graphics/macgui/macwindowmanager.cpp
index 83aae13419..75d513b54e 100644
--- a/graphics/macgui/macwindowmanager.cpp
+++ b/graphics/macgui/macwindowmanager.cpp
@@ -203,6 +203,10 @@ MacWindowManager::MacWindowManager(uint32 mode, MacPatterns *patterns, Common::L
 			_patterns.push_back(fillPatterns[i]);
 	}
 
+	// builtin pattern
+	for (int i = 0; i < ARRAYSIZE(fillPatterns); i++)
+		_builtinPatterns.push_back(fillPatterns[i]);
+
 	g_system->getPaletteManager()->setPalette(palette, 0, ARRAYSIZE(palette) / 3);
 
 	_paletteSize = ARRAYSIZE(palette) / 3;
diff --git a/graphics/macgui/macwindowmanager.h b/graphics/macgui/macwindowmanager.h
index dbace434cb..91ae21ebed 100644
--- a/graphics/macgui/macwindowmanager.h
+++ b/graphics/macgui/macwindowmanager.h
@@ -272,6 +272,8 @@ public:
 	 */
 	void setActiveWidget(MacWidget *widget);
 
+	MacPatterns  &getBuiltinPatterns() { return _builtinPatterns; }
+
 	MacWidget *getActiveWidget() { return _activeWidget; }
 
 	Common::Rect getScreenBounds() { return _screen ? _screen->getBounds() : _screenDims; }
@@ -384,6 +386,7 @@ private:
 	bool _inEditableArea;
 
 	MacPatterns _patterns;
+	MacPatterns _builtinPatterns;
 	byte *_palette;
 	uint _paletteSize;
 




More information about the Scummvm-git-logs mailing list