aboutsummaryrefslogtreecommitdiff
path: root/engines/lure/events.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/lure/events.cpp')
-rw-r--r--engines/lure/events.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/engines/lure/events.cpp b/engines/lure/events.cpp
index 30e393c1ee..4e90d76b63 100644
--- a/engines/lure/events.cpp
+++ b/engines/lure/events.cpp
@@ -97,6 +97,28 @@ void Mouse::setCursorNum(uint8 cursorNum, int hotspotX, int hotspotY) {
CursorMan.replaceCursor(cursorAddr, CURSOR_WIDTH, CURSOR_HEIGHT, hotspotX, hotspotY, 0);
}
+void Mouse::pushCursorNum(uint8 cursorNum) {
+ int hotspotX = 7, hotspotY = 7;
+ if ((cursorNum == CURSOR_ARROW) || (cursorNum == CURSOR_MENUBAR)) {
+ hotspotX = 0;
+ hotspotY = 0;
+ }
+
+ pushCursorNum(cursorNum, hotspotX, hotspotY);
+}
+
+void Mouse::pushCursorNum(uint8 cursorNum, int hotspotX, int hotspotY) {
+ Resources &res = Resources::getReference();
+
+ _cursorNum = cursorNum;
+ byte *cursorAddr = res.getCursor(cursorNum);
+ CursorMan.pushCursor(cursorAddr, CURSOR_WIDTH, CURSOR_HEIGHT, hotspotX, hotspotY, 0);
+}
+
+void Mouse::popCursor() {
+ CursorMan.popCursor();
+}
+
void Mouse::setPosition(int newX, int newY) {
System::getReference().warpMouse(newX, newY);
}