From e8623fa477119e4b418200826e1bac372b9f8df4 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 2 Oct 2006 12:47:29 +0000 Subject: Added methods for push/pop cursors svn-id: r24069 --- engines/lure/events.cpp | 22 ++++++++++++++++++++++ engines/lure/events.h | 3 +++ 2 files changed, 25 insertions(+) (limited to 'engines/lure') 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); } diff --git a/engines/lure/events.h b/engines/lure/events.h index e41ae722e7..435edc0a15 100644 --- a/engines/lure/events.h +++ b/engines/lure/events.h @@ -52,6 +52,9 @@ public: bool lButton() { return _lButton; } bool rButton() { return _rButton; } void waitForRelease(); + void pushCursorNum(uint8 cursorNum); + void pushCursorNum(uint8 cursorNum, int hotspotX, int hotspotY); + void popCursor(); }; class Events { -- cgit v1.2.3