[Scummvm-git-logs] scummvm master -> edc82c907fe407d9ab21c3c48144266758d327f8
sev-
noreply at scummvm.org
Mon Feb 16 18:31:18 UTC 2026
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
edc82c907f COMMON: GUI: The final attempt to resolve circular dependency
Commit: edc82c907fe407d9ab21c3c48144266758d327f8
https://github.com/scummvm/scummvm/commit/edc82c907fe407d9ab21c3c48144266758d327f8
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2026-02-16T19:31:01+01:00
Commit Message:
COMMON: GUI: The final attempt to resolve circular dependency
Now, we call a GUI method for priting images, which instantiates
the print dialog. Since we always want to show the dialog, this
goes even better conceptually.
Changed paths:
common/printman.cpp
common/printman.h
engines/scumm/he/wiz_he.cpp
engines/testbed/printing.cpp
gui/gui-manager.h
gui/printing-dialog.cpp
diff --git a/common/printman.cpp b/common/printman.cpp
index ad0d68b2db4..81b0b5b6f89 100644
--- a/common/printman.cpp
+++ b/common/printman.cpp
@@ -25,8 +25,6 @@
#include "common/printman.h"
#include "common/system.h"
-#include "gui/printing-dialog.h"
-
#ifdef USE_PNG
#include "image/png.h"
#else
@@ -45,11 +43,6 @@ Common::String PrintingManager::getDefaultPrinterName() const {
return Common::String();
}
-void PrintingManager::printImage(const Graphics::ManagedSurface &surf) {
- GUI::PrintingDialog dialog(surf);
- dialog.runModal();
-}
-
void PrintingManager::saveAsImage(const Graphics::ManagedSurface &surf, const Common::String &fileName) {
Common::String saveName = fileName;
Common::String currentTarget = ConfMan.getActiveDomainName();
diff --git a/common/printman.h b/common/printman.h
index 62bc1ece9a3..c04431cdea6 100644
--- a/common/printman.h
+++ b/common/printman.h
@@ -49,8 +49,6 @@ public:
_jobName = "ScummVM";
}
- void printImage(const Graphics::ManagedSurface &surf);
-
void saveAsImage(const Graphics::ManagedSurface &surf, const Common::String &fileName = "");
void setJobName(const Common::String &jobName) { _jobName = jobName; }
diff --git a/engines/scumm/he/wiz_he.cpp b/engines/scumm/he/wiz_he.cpp
index 575f3ba95a8..136d8a351e9 100644
--- a/engines/scumm/he/wiz_he.cpp
+++ b/engines/scumm/he/wiz_he.cpp
@@ -22,12 +22,14 @@
#ifdef ENABLE_HE
#include "common/archive.h"
-#include "common/printman.h"
#include "common/ptr.h"
#include "common/system.h"
#include "graphics/cursorman.h"
#include "graphics/paletteman.h"
#include "graphics/primitives.h"
+
+#include "gui/gui-manager.h"
+
#include "scumm/he/font_he.h"
#include "scumm/he/logic_he.h"
@@ -481,8 +483,7 @@ WizPxShrdBuffer Wiz::drawAWizPrimEx(int globNum, int state, int x, int y, int z,
surf.setPalette(pal, 0, 256);
- Common::PrintingManager *pm = _vm->_system->getPrintingManager();
- pm->printImage(surf);
+ g_gui.printImage(surf);
if (_vm->_game.heversion <= 99 || (flags & kWRFAlloc) == 0)
destPtr = WizPxShrdBuffer();
diff --git a/engines/testbed/printing.cpp b/engines/testbed/printing.cpp
index a56b1d190b0..191874c8312 100644
--- a/engines/testbed/printing.cpp
+++ b/engines/testbed/printing.cpp
@@ -21,7 +21,6 @@
#include "base/version.h"
-#include "common/printman.h"
#include "common/rect.h"
#include "common/str.h"
#include "common/system.h"
@@ -56,12 +55,6 @@ TestExitStatus PrintingTests::printTestPage() {
return kTestSkipped;
}
- Common::PrintingManager *pm = g_system->getPrintingManager();
- if (!pm) {
- warning("Could not get PrintingManager!");
- return kTestFailed;
- }
-
// Print ScummVM logo
const Graphics::ManagedSurface *logo = g_gui.theme()->getImageSurface("logo.bmp");
if (!logo) {
@@ -69,11 +62,11 @@ TestExitStatus PrintingTests::printTestPage() {
return kTestFailed;
}
- pm->printImage(*logo);
+ g_gui.printImage(*logo);
// The test pattern is CLUT-8
Graphics::ManagedSurface *testPattern = Graphics::renderPM5544(800, 800);
- pm->printImage(*testPattern);
+ g_gui.printImage(*testPattern);
return kTestPassed;
}
diff --git a/gui/gui-manager.h b/gui/gui-manager.h
index 0718f631c8b..c97aed18a8b 100644
--- a/gui/gui-manager.h
+++ b/gui/gui-manager.h
@@ -155,6 +155,9 @@ public:
Graphics::MacWindowManager *getWM();
+ // Defined in printing-dialog.cpp
+ void printImage(const Graphics::ManagedSurface &surf);
+
protected:
enum RedrawStatus {
kRedrawDisabled = 0,
diff --git a/gui/printing-dialog.cpp b/gui/printing-dialog.cpp
index 340d333a09e..1fe7f99a8d6 100644
--- a/gui/printing-dialog.cpp
+++ b/gui/printing-dialog.cpp
@@ -32,6 +32,11 @@
namespace GUI {
+void GuiManager::printImage(const Graphics::ManagedSurface &surf) {
+ GUI::PrintingDialog dialog(surf);
+ dialog.runModal();
+}
+
PrintingDialog::PrintingDialog(const Graphics::ManagedSurface &surface)
: Dialog("PrintingDialog"), _surface(surface) {
_preview = new GraphicsWidget(this, "PrintingDialog.Preview");
More information about the Scummvm-git-logs
mailing list