aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/gui
diff options
context:
space:
mode:
authorMartin Kiewitz2009-10-28 19:10:39 +0000
committerMartin Kiewitz2009-10-28 19:10:39 +0000
commit88e56f87eb351f2a2ed7df6ada8f7d81e99f02ec (patch)
tree40f108424770f1c38b4949fd567ff45aa35482d4 /engines/sci/gui
parent5abe6c8054c1ad78e2052b5a172e0f75e7d7a09f (diff)
downloadscummvm-rg350-88e56f87eb351f2a2ed7df6ada8f7d81e99f02ec.tar.gz
scummvm-rg350-88e56f87eb351f2a2ed7df6ada8f7d81e99f02ec.tar.bz2
scummvm-rg350-88e56f87eb351f2a2ed7df6ada8f7d81e99f02ec.zip
SCI/newgui: IsItSkip moved into SciGui
svn-id: r45479
Diffstat (limited to 'engines/sci/gui')
-rw-r--r--engines/sci/gui/gui.cpp11
-rw-r--r--engines/sci/gui/gui.h1
2 files changed, 12 insertions, 0 deletions
diff --git a/engines/sci/gui/gui.cpp b/engines/sci/gui/gui.cpp
index ecd593982d..321ff074c7 100644
--- a/engines/sci/gui/gui.cpp
+++ b/engines/sci/gui/gui.cpp
@@ -626,6 +626,17 @@ bool SciGui::canBeHere(reg_t curObject, reg_t listReference) {
return result;
}
+bool SciGui::isItSkip(GuiResourceId viewId, int16 loopNo, int16 celNo, Common::Point position) {
+ SciGuiView *tmpView = new SciGuiView(_s->resMan, NULL, NULL, viewId);
+ sciViewCelInfo *celInfo = tmpView->getCelInfo(loopNo, celNo);
+ position.x = CLIP<int>(position.x, 0, celInfo->width - 1);
+ position.y = CLIP<int>(position.y, 0, celInfo->height - 1);
+ byte *celData = tmpView->getBitmap(loopNo, celNo);
+ bool result = (celData[position.y * celInfo->width + position.x] == celInfo->clearKey);
+ delete tmpView;
+ return result;
+}
+
void SciGui::hideCursor() {
_cursor->hide();
}
diff --git a/engines/sci/gui/gui.h b/engines/sci/gui/gui.h
index 2fc129dd97..b39cb59bf9 100644
--- a/engines/sci/gui/gui.h
+++ b/engines/sci/gui/gui.h
@@ -116,6 +116,7 @@ public:
virtual void addToPicView(GuiResourceId viewId, GuiViewLoopNo loopNo, GuiViewCelNo celNo, int16 leftPos, int16 topPos, int16 priority, int16 control);
virtual void setNowSeen(reg_t objectReference);
virtual bool canBeHere(reg_t curObject, reg_t listReference);
+ virtual bool isItSkip(GuiResourceId viewId, int16 loopNo, int16 celNo, Common::Point position);
virtual void hideCursor();
virtual void showCursor();