aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2006-02-19 04:22:00 +0000
committerPaul Gilbert2006-02-19 04:22:00 +0000
commit9a653960c7fbab8b79702d8934888b48e05558e7 (patch)
tree03f66cceb8cfe5c39c138e3d3d3f88181b09de4b
parentcf99c2092ddd3437c5508a63da0dbee521d57cfa (diff)
downloadscummvm-rg350-9a653960c7fbab8b79702d8934888b48e05558e7.tar.gz
scummvm-rg350-9a653960c7fbab8b79702d8934888b48e05558e7.tar.bz2
scummvm-rg350-9a653960c7fbab8b79702d8934888b48e05558e7.zip
Converted mouse and events classes to use new getReference style
svn-id: r20767
-rw-r--r--engines/lure/events.cpp29
-rw-r--r--engines/lure/events.h8
2 files changed, 18 insertions, 19 deletions
diff --git a/engines/lure/events.cpp b/engines/lure/events.cpp
index 1d8ce03b42..1a27848d9f 100644
--- a/engines/lure/events.cpp
+++ b/engines/lure/events.cpp
@@ -21,6 +21,8 @@
*/
#include "lure/events.h"
+#include "lure/system.h"
+#include "lure/res.h"
namespace Lure {
@@ -30,7 +32,7 @@ Mouse &Mouse::getReference() {
return *int_mouse;
}
-Mouse::Mouse(OSystem &system): _system(system), _cursors(Disk::getReference().getEntry(CURSOR_RESOURCE_ID)) {
+Mouse::Mouse() {
int_mouse = this;
_lButton = false;
@@ -40,7 +42,6 @@ Mouse::Mouse(OSystem &system): _system(system), _cursors(Disk::getReference().ge
}
Mouse::~Mouse() {
- delete _cursors;
}
void Mouse::handleEvent(OSystem::Event event) {
@@ -67,11 +68,11 @@ void Mouse::handleEvent(OSystem::Event event) {
void Mouse::cursorOn() {
- _system.showMouse(true);
+ System::getReference().showMouse(true);
}
void Mouse::cursorOff() {
- _system.showMouse(false);
+ System::getReference().showMouse(false);
}
void Mouse::setCursorNum(uint8 cursorNum) {
@@ -85,13 +86,16 @@ void Mouse::setCursorNum(uint8 cursorNum) {
}
void Mouse::setCursorNum(uint8 cursorNum, int hotspotX, int hotspotY) {
+ Resources &res = Resources::getReference();
+ OSystem &system = System::getReference();
+
_cursorNum = cursorNum;
- byte *cursorAddr = _cursors->data() + (cursorNum * CURSOR_SIZE);
- _system.setMouseCursor(cursorAddr, CURSOR_WIDTH, CURSOR_HEIGHT, hotspotX, hotspotY, 0);
+ byte *cursorAddr = res.getCursor(cursorNum);
+ system.setMouseCursor(cursorAddr, CURSOR_WIDTH, CURSOR_HEIGHT, hotspotX, hotspotY, 0);
}
void Mouse::setPosition(int newX, int newY) {
- _system.warpMouse(newX, newY);
+ System::getReference().warpMouse(newX, newY);
}
void Mouse::waitForRelease() {
@@ -99,7 +103,6 @@ void Mouse::waitForRelease() {
do {
e.pollEvent();
- _system.delayMillis(10);
} while (!e.quitFlag && (lButton() || rButton()));
}
@@ -107,8 +110,9 @@ void Mouse::waitForRelease() {
static Events *int_events = NULL;
-Events::Events(OSystem &system, Mouse &mouse): _system(system), _mouse(mouse), quitFlag(false) {
+Events::Events() {
int_events = this;
+ quitFlag = false;
}
Events &Events::getReference() {
@@ -117,7 +121,7 @@ Events &Events::getReference() {
bool Events::pollEvent() {
- if (!_system.pollEvent(_event)) return false;
+ if (!System::getReference().pollEvent(_event)) return false;
// Handle keypress
switch (_event.type) {
@@ -132,7 +136,7 @@ bool Events::pollEvent() {
case OSystem::EVENT_MOUSEMOVE:
case OSystem::EVENT_WHEELUP:
case OSystem::EVENT_WHEELDOWN:
- _mouse.handleEvent(_event);
+ Mouse::getReference().handleEvent(_event);
break;
default:
@@ -151,10 +155,9 @@ void Events::waitForPress() {
else if ((_event.type == OSystem::EVENT_LBUTTONDOWN) ||
(_event.type == OSystem::EVENT_RBUTTONDOWN)) {
keyButton = true;
- _mouse.waitForRelease();
+ Mouse::getReference().waitForRelease();
}
}
- _system.delayMillis(10);
}
}
diff --git a/engines/lure/events.h b/engines/lure/events.h
index 9e6e9c540c..0287b6de19 100644
--- a/engines/lure/events.h
+++ b/engines/lure/events.h
@@ -32,13 +32,11 @@ namespace Lure {
class Mouse {
private:
- OSystem &_system;
- MemoryBlock *_cursors;
uint8 _cursorNum;
int16 _x, _y;
bool _lButton, _rButton;
public:
- Mouse(OSystem &system);
+ Mouse();
~Mouse();
static Mouse &getReference();
void handleEvent(OSystem::Event event);
@@ -58,13 +56,11 @@ public:
class Events {
private:
- OSystem &_system;
- Mouse &_mouse;
OSystem::Event _event;
public:
bool quitFlag;
- Events(OSystem &system, Mouse &mouse);
+ Events();
static Events &getReference();
bool pollEvent();