aboutsummaryrefslogtreecommitdiff
path: root/engines/macventure/gui.cpp
diff options
context:
space:
mode:
authorBorja Lorente2016-08-05 10:53:07 +0200
committerBorja Lorente2016-08-14 19:01:01 +0200
commit47916aca622f42fe210e7d4738c91f3aca3e9fb2 (patch)
tree234054c48abc1592252cb6e1650371dd4ffd5d8e /engines/macventure/gui.cpp
parent0c0be43a3e1e4d012eb6742a88aaa2e398360f2c (diff)
downloadscummvm-rg350-47916aca622f42fe210e7d4738c91f3aca3e9fb2.tar.gz
scummvm-rg350-47916aca622f42fe210e7d4738c91f3aca3e9fb2.tar.bz2
scummvm-rg350-47916aca622f42fe210e7d4738c91f3aca3e9fb2.zip
MACVENTURE: Fix dragged object drawing
Diffstat (limited to 'engines/macventure/gui.cpp')
-rw-r--r--engines/macventure/gui.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/engines/macventure/gui.cpp b/engines/macventure/gui.cpp
index 6833de7dfc..0f5a264d61 100644
--- a/engines/macventure/gui.cpp
+++ b/engines/macventure/gui.cpp
@@ -708,14 +708,21 @@ void Gui::drawDraggedObject() {
if (_draggedObj.pos.x > 0 && _draggedObj.pos.x + w > kScreenWidth) { w = kScreenWidth - _draggedObj.pos.x; }
if (_draggedObj.pos.y > 0 && _draggedObj.pos.y + h > kScreenHeight) { h = kScreenHeight - _draggedObj.pos.y; }
- _draggedSurface.create(w, h, _screen.format);
-
- asset->blitInto(&_draggedSurface, MIN((int16)0, _draggedObj.pos.x), MIN((int16)0, _draggedObj.pos.y), kBlitBIC);
-
Common::Point target = _draggedObj.pos;
if (target.x < 0) { target.x = 0; }
if (target.y < 0) { target.y = 0; }
+ _draggedSurface.create(w, h, _screen.format);
+ _draggedSurface.blitFrom(
+ _screen,
+ Common::Rect(
+ target.x,
+ target.y,
+ target.x + _draggedSurface.w,
+ target.y + _draggedSurface.h),
+ Common::Point(0, 0));
+ asset->blitInto(&_draggedSurface, MIN((int16)0, _draggedObj.pos.x), MIN((int16)0, _draggedObj.pos.y), kBlitBIC);
+
g_system->copyRectToScreen(
_draggedSurface.getBasePtr(0, 0),
_draggedSurface.pitch,