[Scummvm-git-logs] scummvm master -> d3a61d71b259da545ca04f63adb20704b6952b21

eriktorbjorn noreply at scummvm.org
Mon Jan 6 07:56:02 UTC 2025


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:
d3a61d71b2 SCUMM: MACGUI: Add drawRoundRect() method to Mac dialog window


Commit: d3a61d71b259da545ca04f63adb20704b6952b21
    https://github.com/scummvm/scummvm/commit/d3a61d71b259da545ca04f63adb20704b6952b21
Author: Torbjörn Andersson (eriktorbjorn at users.sourceforge.net)
Date: 2025-01-06T08:55:19+01:00

Commit Message:
SCUMM: MACGUI: Add drawRoundRect() method to Mac dialog window

It will still trigger warnings about using a deprecated method, but now
it's clearly documented that this should be replaced with something that
matches QuickDraw's rounded rects.

Changed paths:
    engines/scumm/macgui/macgui_dialogwindow.cpp
    engines/scumm/macgui/macgui_impl.h
    engines/scumm/macgui/macgui_loom.cpp


diff --git a/engines/scumm/macgui/macgui_dialogwindow.cpp b/engines/scumm/macgui/macgui_dialogwindow.cpp
index 77702aa986a..fe5c53360c8 100644
--- a/engines/scumm/macgui/macgui_dialogwindow.cpp
+++ b/engines/scumm/macgui/macgui_dialogwindow.cpp
@@ -896,6 +896,13 @@ void MacGuiImpl::MacDialogWindow::plotPatternDarkenOnly(int x, int y, int patter
 		s->setPixel(x, y, window->_gui->getBlack());
 }
 
+void MacGuiImpl::MacDialogWindow::drawRoundRect(const Common::Rect &rect, int arc, uint32 color, bool filled, void (*plotProc)(int, int, int, void *)) {
+	// FIXME: This is a deprecated method, but we should replace it with
+	// something that matches QuickDraw's rounded rects instead.
+
+	Graphics::drawRoundRect(rect, arc, color, filled, plotProc, this);
+}
+
 void MacGuiImpl::MacDialogWindow::drawTexts(Common::Rect r, const TextLine *lines, bool inverse) {
 	if (!lines)
 		return;
@@ -991,8 +998,8 @@ void MacGuiImpl::MacDialogWindow::drawTextBox(Common::Rect r, const TextLine *li
 		bg = _white;
 	}
 
-	Graphics::drawRoundRect(r, arc, bg, true, plotPixel, this);
-	Graphics::drawRoundRect(r, arc, fg, false, plotPixel, this);
+	drawRoundRect(r, arc, bg, true, plotPixel);
+	drawRoundRect(r, arc, fg, false, plotPixel);
 	markRectAsDirty(r);
 
 	drawTexts(r, lines, inverse);
diff --git a/engines/scumm/macgui/macgui_impl.h b/engines/scumm/macgui/macgui_impl.h
index 364dbbed503..807b7aa97eb 100644
--- a/engines/scumm/macgui/macgui_impl.h
+++ b/engines/scumm/macgui/macgui_impl.h
@@ -766,6 +766,8 @@ public:
 		static void plotPattern(int x, int y, int pattern, void *data);
 		static void plotPatternDarkenOnly(int x, int y, int pattern, void *data);
 
+		void drawRoundRect(const Common::Rect &rect, int arc, uint32 color, bool filled, void (*plotProc)(int, int, int, void *));
+
 		void drawDottedHLine(int x0, int y, int x1);
 		void fillPattern(Common::Rect r, uint16 pattern, bool fillBlack = true, bool fillWhite = true);
 		void drawSprite(const MacImage *image, int x, int y);
diff --git a/engines/scumm/macgui/macgui_loom.cpp b/engines/scumm/macgui/macgui_loom.cpp
index 95e7cc81d1d..8efb930ad0a 100644
--- a/engines/scumm/macgui/macgui_loom.cpp
+++ b/engines/scumm/macgui/macgui_loom.cpp
@@ -303,7 +303,7 @@ void MacLoomGui::runAboutDialog() {
 			if (pattern > 4)
 				darkenOnly = false;
 
-			Graphics::drawRoundRect(r, 7, pattern, true, darkenOnly ? MacDialogWindow::plotPatternDarkenOnly : MacDialogWindow::plotPattern, window);
+			window->drawRoundRect(r, 7, pattern, true, darkenOnly ? MacDialogWindow::plotPatternDarkenOnly : MacDialogWindow::plotPattern);
 
 			if (!fastForward)
 				window->markRectAsDirty(r);




More information about the Scummvm-git-logs mailing list