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

npjg nathanael.gentrydb8 at gmail.com
Wed Jun 24 03:29:00 UTC 2020


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:
335f6f2e3d GRAPHICS: MACGUI: Keep window manager pointer in all widgets
eb51188b40 DIRECTOR: Synchronize widget dimensions


Commit: 335f6f2e3d78e3250fbeaa2d2bf1513a4a396586
    https://github.com/scummvm/scummvm/commit/335f6f2e3d78e3250fbeaa2d2bf1513a4a396586
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-06-23T23:26:49-04:00

Commit Message:
GRAPHICS: MACGUI: Keep window manager pointer in all widgets

Changed paths:
    engines/director/cast.cpp
    graphics/macgui/mactext.cpp
    graphics/macgui/mactext.h
    graphics/macgui/macwidget.cpp
    graphics/macgui/macwidget.h
    graphics/macgui/macwindow.cpp
    graphics/macgui/macwindow.h


diff --git a/engines/director/cast.cpp b/engines/director/cast.cpp
index 37236d486d..74b0627f4c 100644
--- a/engines/director/cast.cpp
+++ b/engines/director/cast.cpp
@@ -138,7 +138,7 @@ void BitmapCast::createWidget() {
 		return;
 	}
 
-	_widget = new Graphics::MacWidget(g_director->getCurrentScore()->_window, 0, 0, _initialRect.width(), _initialRect.height(), false);
+	_widget = new Graphics::MacWidget(g_director->getCurrentScore()->_window, 0, 0, _initialRect.width(), _initialRect.height(), g_director->_wm, false);
 	_widget->getSurface()->blitFrom(*_img->getSurface());
 }
 
diff --git a/graphics/macgui/mactext.cpp b/graphics/macgui/mactext.cpp
index b5e91ffe8e..85f2dd7594 100644
--- a/graphics/macgui/mactext.cpp
+++ b/graphics/macgui/mactext.cpp
@@ -95,12 +95,11 @@ uint MacTextLine::getChunkNum(int *col) {
 
 
 MacText::MacText(MacWidget *parent, int x, int y, int w, int h, MacWindowManager *wm, const Common::U32String &s, const MacFont *macFont, int fgcolor, int bgcolor, int maxWidth, TextAlign textAlignment, int interlinear, uint16 border, uint16 gutter, uint16 boxShadow, uint16 textShadow) :
-	MacWidget(parent, x, y, w + 2, h, true, border, gutter, boxShadow) {
+	MacWidget(parent, x, y, w + 2, h, wm, true, border, gutter, boxShadow) {
 
 	_str = s;
 	_fullRefresh = true;
 
-	_wm = wm;
 	_macFont = macFont;
 	_fgcolor = fgcolor;
 	_bgcolor = bgcolor;
@@ -124,7 +123,7 @@ MacText::MacText(MacWidget *parent, int x, int y, int w, int h, MacWindowManager
 }
 
 MacText::MacText(MacWidget *parent, int x, int y, int w, int h, MacWindowManager *wm, const Common::String &s, const MacFont *macFont, int fgcolor, int bgcolor, int maxWidth, TextAlign textAlignment, int interlinear, uint16 border, uint16 gutter, uint16 boxShadow, uint16 textShadow) :
-	MacWidget(parent, x, y, w + 2, h, true, border, gutter, boxShadow) {
+	MacWidget(parent, x, y, w + 2, h, wm, true, border, gutter, boxShadow) {
 
 	_str = Common::U32String(s);
 	_fullRefresh = true;
@@ -154,7 +153,7 @@ MacText::MacText(MacWidget *parent, int x, int y, int w, int h, MacWindowManager
 
 // NOTE: This constructor and the one afterward are for MacText engines that don't use widgets. This is the classic was MacText was constructed.
 MacText::MacText(const Common::U32String &s, MacWindowManager *wm, const MacFont *macFont, int fgcolor, int bgcolor, int maxWidth, TextAlign textAlignment, int interlinear) :
-	MacWidget(nullptr, 0, 0, 0, 0, false, 0, 0, 0) {
+	MacWidget(nullptr, 0, 0, 0, 0, wm, false, 0, 0, 0) {
 
 	_str = s;
 	_fullRefresh = true;
@@ -182,7 +181,7 @@ MacText::MacText(const Common::U32String &s, MacWindowManager *wm, const MacFont
 }
 
 MacText::MacText(const Common::String &s, MacWindowManager *wm, const MacFont *macFont, int fgcolor, int bgcolor, int maxWidth, TextAlign textAlignment, int interlinear) :
-	MacWidget(nullptr, 0, 0, 0, 0, false, 0, 0, 0) {
+	MacWidget(nullptr, 0, 0, 0, 0, wm, false, 0, 0, 0) {
 
 	_str = Common::U32String(s);
 	_fullRefresh = true;
diff --git a/graphics/macgui/mactext.h b/graphics/macgui/mactext.h
index ff12b0b906..e04a9c5010 100644
--- a/graphics/macgui/mactext.h
+++ b/graphics/macgui/mactext.h
@@ -245,8 +245,6 @@ public:
 protected:
 	Common::Point _alignOffset;
 
-	MacWindowManager *_wm;
-
 	Common::U32String _str;
 	const MacFont *_macFont;
 
diff --git a/graphics/macgui/macwidget.cpp b/graphics/macgui/macwidget.cpp
index 831ba828dc..8ba11a913d 100644
--- a/graphics/macgui/macwidget.cpp
+++ b/graphics/macgui/macwidget.cpp
@@ -27,8 +27,8 @@
 
 namespace Graphics {
 
-MacWidget::MacWidget(MacWidget *parent, int x, int y, int w, int h, bool focusable, uint16 border, uint16 gutter, uint16 shadow) :
-	_focusable(focusable), _parent(parent), _border(border), _gutter(gutter), _shadow(shadow) {
+MacWidget::MacWidget(MacWidget *parent, int x, int y, int w, int h, MacWindowManager *wm, bool focusable, uint16 border, uint16 gutter, uint16 shadow) :
+	_focusable(focusable), _parent(parent), _border(border), _gutter(gutter), _shadow(shadow), _wm(wm) {
 	_contentIsDirty = true;
 	_priority = 0;
 
diff --git a/graphics/macgui/macwidget.h b/graphics/macgui/macwidget.h
index 0d49dbb7dc..7b565c43ef 100644
--- a/graphics/macgui/macwidget.h
+++ b/graphics/macgui/macwidget.h
@@ -40,7 +40,7 @@ class MacWindowManager;
 class MacWidget {
 
 public:
-	MacWidget(MacWidget *parent, int x, int y, int w, int h, bool focusable, uint16 border = 0, uint16 gutter = 0, uint16 shadow = 0);
+	MacWidget(MacWidget *parent, int x, int y, int w, int h, MacWindowManager *wm, bool focusable, uint16 border = 0, uint16 gutter = 0, uint16 shadow = 0);
 	virtual ~MacWidget();
 
 	/**
@@ -102,6 +102,7 @@ public:
 
 	Common::Rect _dims;
 
+	MacWindowManager *_wm;
 	MacWidget *_parent;
 	Common::Array<MacWidget *> _children;
 };
diff --git a/graphics/macgui/macwindow.cpp b/graphics/macgui/macwindow.cpp
index a71bcbb7e8..f617f89122 100644
--- a/graphics/macgui/macwindow.cpp
+++ b/graphics/macgui/macwindow.cpp
@@ -32,7 +32,7 @@
 namespace Graphics {
 
 BaseMacWindow::BaseMacWindow(int id, bool editable, MacWindowManager *wm) :
-		MacWidget(nullptr, 0, 0, 0, 0, true), _id(id), _editable(editable), _wm(wm) {
+	MacWidget(nullptr, 0, 0, 0, 0, wm, true), _id(id), _editable(editable) {
 	_callback = 0;
 	_dataPtr = 0;
 
diff --git a/graphics/macgui/macwindow.h b/graphics/macgui/macwindow.h
index 279140581c..cc83606af8 100644
--- a/graphics/macgui/macwindow.h
+++ b/graphics/macgui/macwindow.h
@@ -141,9 +141,6 @@ protected:
 
 	bool (*_callback)(WindowClick, Common::Event &, void *);
 	void *_dataPtr;
-
-public:
-	MacWindowManager *_wm;
 };
 
 /**


Commit: eb51188b40de5c25af1623dbd44c4283e75db9d3
    https://github.com/scummvm/scummvm/commit/eb51188b40de5c25af1623dbd44c4283e75db9d3
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-06-23T23:26:50-04:00

Commit Message:
DIRECTOR: Synchronize widget dimensions

Changed paths:
    engines/director/score.cpp
    engines/director/sprite.cpp
    engines/director/sprite.h


diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 82676a9b93..71c5f0f573 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -70,7 +70,10 @@ void Channel::updateLocation() {
 	_currentPoint += _delta;
 	_delta = Common::Point(0, 0);
 
-	_sprite->translate(_currentPoint, true);
+	if (_sprite->_cast && _sprite->_cast->_widget) {
+		Common::Point p(getPosition());
+		_sprite->_cast->_widget->_dims.moveTo(p.x, p.y);
+	}
 }
 
 void Channel::addDelta(Common::Point pos) {
diff --git a/engines/director/sprite.cpp b/engines/director/sprite.cpp
index c7b1211ab9..da120cff5d 100644
--- a/engines/director/sprite.cpp
+++ b/engines/director/sprite.cpp
@@ -92,17 +92,6 @@ void Sprite::updateCast() {
 		_cast->setEditable(_editable);
 }
 
-void Sprite::translate(Common::Point delta, bool moveTo) {
-	if (_cast && _cast->_widget) {
-		if (moveTo)
-			_cast->_widget->_dims.moveTo(delta.x, delta.y);
-		else
-			_cast->_widget->_dims.translate(delta.x, delta.y);
-	}
-
-	_dirty = true;
-}
-
 bool Sprite::isDirty() {
 	return _castType != kCastTypeNull && (_dirty || (_cast && _cast->isModified()));
 }
diff --git a/engines/director/sprite.h b/engines/director/sprite.h
index f6b9373f6c..b390d860b4 100644
--- a/engines/director/sprite.h
+++ b/engines/director/sprite.h
@@ -62,7 +62,6 @@ public:
 	~Sprite();
 
 	void updateCast();
-	void translate(Common::Point delta, bool moveTo = false);
 	bool isDirty();
 	bool isActive();
 	void setClean();




More information about the Scummvm-git-logs mailing list