[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