diff options
author | Martin Kiewitz | 2009-10-28 19:10:39 +0000 |
---|---|---|
committer | Martin Kiewitz | 2009-10-28 19:10:39 +0000 |
commit | 88e56f87eb351f2a2ed7df6ada8f7d81e99f02ec (patch) | |
tree | 40f108424770f1c38b4949fd567ff45aa35482d4 /engines/sci/gui | |
parent | 5abe6c8054c1ad78e2052b5a172e0f75e7d7a09f (diff) | |
download | scummvm-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.cpp | 11 | ||||
-rw-r--r-- | engines/sci/gui/gui.h | 1 |
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(); |