aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStrangerke2015-12-13 14:04:00 +0100
committerWillem Jan Palenstijn2015-12-23 21:34:02 +0100
commitc837e67070913166177a19b2d0d6d925d4569c83 (patch)
tree9c6b22c7f59ce00a4473520519da8e93a281e569
parent7efd471a92ca6a8d9f7e2c9acdd17be847b7ef73 (diff)
downloadscummvm-rg350-c837e67070913166177a19b2d0d6d925d4569c83.tar.gz
scummvm-rg350-c837e67070913166177a19b2d0d6d925d4569c83.tar.bz2
scummvm-rg350-c837e67070913166177a19b2d0d6d925d4569c83.zip
LAB: Move interface functions to EventMan
-rw-r--r--engines/lab/dispman.cpp40
-rw-r--r--engines/lab/eventman.h31
-rw-r--r--engines/lab/interface.cpp106
-rw-r--r--engines/lab/interface.h29
-rw-r--r--engines/lab/intro.cpp1
-rw-r--r--engines/lab/lab.h1
-rw-r--r--engines/lab/map.cpp18
-rw-r--r--engines/lab/special.cpp16
8 files changed, 122 insertions, 120 deletions
diff --git a/engines/lab/dispman.cpp b/engines/lab/dispman.cpp
index 4cc3c24395..0aa49f9904 100644
--- a/engines/lab/dispman.cpp
+++ b/engines/lab/dispman.cpp
@@ -383,7 +383,7 @@ void DisplayMan::drawPanel() {
setAPen(4);
// The horizontal lines under the black one
drawHLine(0, _vm->_utils->vgaScaleY(170) + 1, _vm->_utils->vgaScaleX(319));
- drawGadgetList(&_vm->_moveGadgetList);
+ _vm->_event->drawGadgetList(&_vm->_moveGadgetList);
} else {
if (_vm->getPlatform() != Common::kPlatformWindows) {
// Vertical Black lines
@@ -413,7 +413,7 @@ void DisplayMan::drawPanel() {
drawVLine(_vm->_utils->vgaScaleX(232), _vm->_utils->vgaScaleY(170) + 2, _vm->_utils->vgaScaleY(198));
}
- drawGadgetList(&_vm->_invGadgetList);
+ _vm->_event->drawGadgetList(&_vm->_invGadgetList);
}
_vm->_event->mouseShow();
@@ -436,16 +436,16 @@ void DisplayMan::setUpScreens() {
// The key mapping was only set for the Windows version.
// It's very convenient to have those shortcut, so I added them
// for all versions. (Strangerke)
- _vm->_moveGadgetList.push_back(createButton( 1, y, 0, 't', _vm->_moveImages[0], _vm->_moveImages[1]));
- _vm->_moveGadgetList.push_back(createButton( 33, y, 1, 'm', _vm->_moveImages[2], _vm->_moveImages[3]));
- _vm->_moveGadgetList.push_back(createButton( 65, y, 2, 'o', _vm->_moveImages[4], _vm->_moveImages[5]));
- _vm->_moveGadgetList.push_back(createButton( 97, y, 3, 'c', _vm->_moveImages[6], _vm->_moveImages[7]));
- _vm->_moveGadgetList.push_back(createButton(129, y, 4, 'l', _vm->_moveImages[8], _vm->_moveImages[9]));
- _vm->_moveGadgetList.push_back(createButton(161, y, 5, 'i', _vm->_moveImages[12], _vm->_moveImages[13]));
- _vm->_moveGadgetList.push_back(createButton(193, y, 6, VKEY_LTARROW, _vm->_moveImages[14], _vm->_moveImages[15]));
- _vm->_moveGadgetList.push_back(createButton(225, y, 7, VKEY_UPARROW, _vm->_moveImages[16], _vm->_moveImages[17]));
- _vm->_moveGadgetList.push_back(createButton(257, y, 8, VKEY_RTARROW, _vm->_moveImages[18], _vm->_moveImages[19]));
- _vm->_moveGadgetList.push_back(createButton(289, y, 9, 'p', _vm->_moveImages[10], _vm->_moveImages[11]));
+ _vm->_moveGadgetList.push_back(_vm->_event->createButton( 1, y, 0, 't', _vm->_moveImages[0], _vm->_moveImages[1]));
+ _vm->_moveGadgetList.push_back(_vm->_event->createButton( 33, y, 1, 'm', _vm->_moveImages[2], _vm->_moveImages[3]));
+ _vm->_moveGadgetList.push_back(_vm->_event->createButton( 65, y, 2, 'o', _vm->_moveImages[4], _vm->_moveImages[5]));
+ _vm->_moveGadgetList.push_back(_vm->_event->createButton( 97, y, 3, 'c', _vm->_moveImages[6], _vm->_moveImages[7]));
+ _vm->_moveGadgetList.push_back(_vm->_event->createButton(129, y, 4, 'l', _vm->_moveImages[8], _vm->_moveImages[9]));
+ _vm->_moveGadgetList.push_back(_vm->_event->createButton(161, y, 5, 'i', _vm->_moveImages[12], _vm->_moveImages[13]));
+ _vm->_moveGadgetList.push_back(_vm->_event->createButton(193, y, 6, VKEY_LTARROW, _vm->_moveImages[14], _vm->_moveImages[15]));
+ _vm->_moveGadgetList.push_back(_vm->_event->createButton(225, y, 7, VKEY_UPARROW, _vm->_moveImages[16], _vm->_moveImages[17]));
+ _vm->_moveGadgetList.push_back(_vm->_event->createButton(257, y, 8, VKEY_RTARROW, _vm->_moveImages[18], _vm->_moveImages[19]));
+ _vm->_moveGadgetList.push_back(_vm->_event->createButton(289, y, 9, 'p', _vm->_moveImages[10], _vm->_moveImages[11]));
Common::File *invFile = _vm->_resource->openDataFile("P:Inv");
if (_vm->getPlatform() == Common::kPlatformWindows) {
@@ -455,18 +455,18 @@ void DisplayMan::setUpScreens() {
for (uint16 imgIdx = 0; imgIdx < 6; imgIdx++)
_vm->_invImages[imgIdx] = new Image(invFile);
}
- _vm->_invGadgetList.push_back(createButton( 24, y, 0, 'm', _vm->_invImages[0], _vm->_invImages[1]));
- _vm->_invGadgetList.push_back(createButton( 56, y, 1, 'g', _vm->_invImages[2], _vm->_invImages[3]));
- _vm->_invGadgetList.push_back(createButton( 94, y, 2, 'u', _vm->_invImages[4], _vm->_invImages[5]));
- _vm->_invGadgetList.push_back(createButton(126, y, 3, 'l', _vm->_moveImages[8], _vm->_moveImages[9]));
- _vm->_invGadgetList.push_back(createButton(164, y, 4, VKEY_LTARROW, _vm->_moveImages[14], _vm->_moveImages[15]));
- _vm->_invGadgetList.push_back(createButton(196, y, 5, VKEY_RTARROW, _vm->_moveImages[18], _vm->_moveImages[19]));
+ _vm->_invGadgetList.push_back(_vm->_event->createButton( 24, y, 0, 'm', _vm->_invImages[0], _vm->_invImages[1]));
+ _vm->_invGadgetList.push_back(_vm->_event->createButton( 56, y, 1, 'g', _vm->_invImages[2], _vm->_invImages[3]));
+ _vm->_invGadgetList.push_back(_vm->_event->createButton( 94, y, 2, 'u', _vm->_invImages[4], _vm->_invImages[5]));
+ _vm->_invGadgetList.push_back(_vm->_event->createButton(126, y, 3, 'l', _vm->_moveImages[8], _vm->_moveImages[9]));
+ _vm->_invGadgetList.push_back(_vm->_event->createButton(164, y, 4, VKEY_LTARROW, _vm->_moveImages[14], _vm->_moveImages[15]));
+ _vm->_invGadgetList.push_back(_vm->_event->createButton(196, y, 5, VKEY_RTARROW, _vm->_moveImages[18], _vm->_moveImages[19]));
// The windows version has 2 extra gadgets for breadcrumb trail
// TODO: the game is really hard to play without those, maybe we could add something to enable that.
if (_vm->getPlatform() == Common::kPlatformWindows) {
- _vm->_invGadgetList.push_back(createButton(234, y, 6, 'b', _vm->_invImages[6], _vm->_invImages[7]));
- _vm->_invGadgetList.push_back(createButton(266, y, 7, 'f', _vm->_invImages[8], _vm->_invImages[9]));
+ _vm->_invGadgetList.push_back(_vm->_event->createButton(234, y, 6, 'b', _vm->_invImages[6], _vm->_invImages[7]));
+ _vm->_invGadgetList.push_back(_vm->_event->createButton(266, y, 7, 'f', _vm->_invImages[8], _vm->_invImages[9]));
}
delete invFile;
diff --git a/engines/lab/eventman.h b/engines/lab/eventman.h
index 420c7d03df..f9facd815b 100644
--- a/engines/lab/eventman.h
+++ b/engines/lab/eventman.h
@@ -31,11 +31,28 @@
#ifndef LAB_EVENTMAN_H
#define LAB_EVENTMAN_H
-namespace Lab {
+#include "common/events.h"
-struct Gadget;
+namespace Lab {
class LabEngine;
+class Image;
+
+struct IntuiMessage {
+ uint32 _msgClass;
+ uint16 _code, _qualifier, _mouseX, _mouseY, _gadgetID;
+ uint32 _seconds, _micros;
+};
+
+
+struct Gadget {
+ uint16 x, y, _gadgetID;
+ uint16 _keyEquiv; // if not zero, a key that activates gadget
+ bool isEnabled;
+ Image *_image, *_altImage;
+};
+
+typedef Common::List<Gadget *> GadgetList;
class EventManager {
private:
@@ -56,6 +73,7 @@ public:
GadgetList *_screenGadgetList;
Gadget *_hitGadget;
+ Common::KeyState _keyPressed;
Gadget *checkGadgetHit(GadgetList *gadgetList, Common::Point pos);
void initMouse();
@@ -74,6 +92,15 @@ public:
void processInput(bool can_delay = false);
uint16 getNextChar();
Common::Point updateAndGetMousePos();
+
+ Gadget *checkNumGadgetHit(GadgetList *gadgetList, uint16 key);
+ Gadget *createButton(uint16 x, uint16 y, uint16 id, uint16 key, Image *im, Image *imalt);
+ void freeButtonList(GadgetList *gadgetList);
+ void drawGadgetList(GadgetList *gadgetList);
+ void disableGadget(Gadget *curgad, uint16 pencolor);
+ void enableGadget(Gadget *curgad);
+ IntuiMessage *getMsg();
+ uint16 makeGadgetKeyEquiv(uint16 key);
};
} // End of namespace Lab
diff --git a/engines/lab/interface.cpp b/engines/lab/interface.cpp
index 0ccbd48fec..b540a31357 100644
--- a/engines/lab/interface.cpp
+++ b/engines/lab/interface.cpp
@@ -40,26 +40,24 @@
namespace Lab {
-Common::KeyState _keyPressed;
-
-Gadget *createButton(uint16 x, uint16 y, uint16 id, uint16 key, Image *im, Image *imalt) {
- Gadget *gptr = new Gadget();
-
- if (gptr) {
- gptr->x = g_lab->_utils->vgaScaleX(x);
- gptr->y = y;
- gptr->_gadgetID = id;
- gptr->_keyEquiv = key;
- gptr->_image = im;
- gptr->_altImage = imalt;
- gptr->isEnabled = true;
-
- return gptr;
+Gadget *EventManager::createButton(uint16 x, uint16 y, uint16 id, uint16 key, Image *image, Image *altImage) {
+ Gadget *gadget = new Gadget();
+
+ if (gadget) {
+ gadget->x = _vm->_utils->vgaScaleX(x);
+ gadget->y = y;
+ gadget->_gadgetID = id;
+ gadget->_keyEquiv = key;
+ gadget->_image = image;
+ gadget->_altImage = altImage;
+ gadget->isEnabled = true;
+
+ return gadget;
} else
return nullptr;
}
-void freeButtonList(GadgetList *gadgetList) {
+void EventManager::freeButtonList(GadgetList *gadgetList) {
for (GadgetList::iterator gadgetIter = gadgetList->begin(); gadgetIter != gadgetList->end(); ++gadgetIter) {
Gadget *gadget = *gadgetIter;
delete gadget->_image;
@@ -73,7 +71,7 @@ void freeButtonList(GadgetList *gadgetList) {
/**
* Draws a gadget list to the screen.
*/
-void drawGadgetList(GadgetList *gadgetList) {
+void EventManager::drawGadgetList(GadgetList *gadgetList) {
for (GadgetList::iterator gadget = gadgetList->begin(); gadget != gadgetList->end(); ++gadget) {
(*gadget)->_image->drawImage((*gadget)->x, (*gadget)->y);
@@ -85,23 +83,23 @@ void drawGadgetList(GadgetList *gadgetList) {
/**
* Dims a gadget, and makes it unavailable for using.
*/
-void disableGadget(Gadget *curgad, uint16 pencolor) {
- g_lab->_graphics->overlayRect(pencolor, curgad->x, curgad->y, curgad->x + curgad->_image->_width - 1, curgad->y + curgad->_image->_height - 1);
- curgad->isEnabled = false;
+void EventManager::disableGadget(Gadget *gadget, uint16 penColor) {
+ _vm->_graphics->overlayRect(penColor, gadget->x, gadget->y, gadget->x + gadget->_image->_width - 1, gadget->y + gadget->_image->_height - 1);
+ gadget->isEnabled = false;
}
/**
* Undims a gadget, and makes it available again.
*/
-void enableGadget(Gadget *curgad) {
- curgad->_image->drawImage(curgad->x, curgad->y);
- curgad->isEnabled = true;
+void EventManager::enableGadget(Gadget *gadget) {
+ gadget->_image->drawImage(gadget->x, gadget->y);
+ gadget->isEnabled = true;
}
/**
* Make a key press have the right case for a gadget KeyEquiv value.
*/
-uint16 makeGadgetKeyEquiv(uint16 key) {
+uint16 EventManager::makeGadgetKeyEquiv(uint16 key) {
if (Common::isAlnum(key))
key = tolower(key);
@@ -112,7 +110,7 @@ uint16 makeGadgetKeyEquiv(uint16 key) {
* Checks whether or not the coords fall within one of the gadgets in a list
* of gadgets.
*/
-Gadget *LabEngine::checkNumGadgetHit(GadgetList *gadgetList, uint16 key) {
+Gadget *EventManager::checkNumGadgetHit(GadgetList *gadgetList, uint16 key) {
uint16 gkey = key - '0';
if (!gadgetList)
@@ -123,59 +121,59 @@ Gadget *LabEngine::checkNumGadgetHit(GadgetList *gadgetList, uint16 key) {
if ((gkey - 1 == gadget->_gadgetID || (gkey == 0 && gadget->_gadgetID == 9) ||
(gadget->_keyEquiv != 0 && makeGadgetKeyEquiv(key) == gadget->_keyEquiv))
&& gadget->isEnabled) {
- _event->mouseHide();
+ mouseHide();
gadget->_altImage->drawImage(gadget->x, gadget->y);
- _event->mouseShow();
+ mouseShow();
g_system->delayMillis(80);
- _event->mouseHide();
+ mouseHide();
gadget->_image->drawImage(gadget->x, gadget->y);
- _event->mouseShow();
+ mouseShow();
return gadget;
}
}
- return NULL;
+ return nullptr;
}
-IntuiMessage IMessage;
-
IntuiMessage *LabEngine::getMsg() {
+ static IntuiMessage message;
+
_event->updateMouse();
- int qualifiers = _keyPressed.flags;
+ int qualifiers = _event->_keyPressed.flags;
Gadget *curgad = _event->mouseGadget();
if (curgad) {
_event->updateMouse();
- IMessage._msgClass = GADGETUP;
- IMessage._code = curgad->_gadgetID;
- IMessage._gadgetID = curgad->_gadgetID;
- IMessage._qualifier = qualifiers;
- return &IMessage;
- } else if (_event->mouseButton(&IMessage._mouseX, &IMessage._mouseY, true)) {
+ message._msgClass = GADGETUP;
+ message._code = curgad->_gadgetID;
+ message._gadgetID = curgad->_gadgetID;
+ message._qualifier = qualifiers;
+ return &message;
+ } else if (_event->mouseButton(&message._mouseX, &message._mouseY, true)) {
// Left Button
- IMessage._qualifier = IEQUALIFIER_LEFTBUTTON | qualifiers;
- IMessage._msgClass = MOUSEBUTTONS;
- return &IMessage;
- } else if (_event->mouseButton(&IMessage._mouseX, &IMessage._mouseY, false)) {
+ message._qualifier = IEQUALIFIER_LEFTBUTTON | qualifiers;
+ message._msgClass = MOUSEBUTTONS;
+ return &message;
+ } else if (_event->mouseButton(&message._mouseX, &message._mouseY, false)) {
// Right Button
- IMessage._qualifier = IEQUALIFIER_RBUTTON | qualifiers;
- IMessage._msgClass = MOUSEBUTTONS;
- return &IMessage;
- } else if (_event->keyPress(&IMessage._code)) {
+ message._qualifier = IEQUALIFIER_RBUTTON | qualifiers;
+ message._msgClass = MOUSEBUTTONS;
+ return &message;
+ } else if (_event->keyPress(&message._code)) {
// Keyboard key
- curgad = checkNumGadgetHit(_event->_screenGadgetList, IMessage._code);
+ curgad = _event->checkNumGadgetHit(_event->_screenGadgetList, message._code);
if (curgad) {
- IMessage._msgClass = GADGETUP;
- IMessage._code = curgad->_gadgetID;
- IMessage._gadgetID = curgad->_gadgetID;
+ message._msgClass = GADGETUP;
+ message._code = curgad->_gadgetID;
+ message._gadgetID = curgad->_gadgetID;
} else
- IMessage._msgClass = RAWKEY;
+ message._msgClass = RAWKEY;
- IMessage._qualifier = qualifiers;
- return &IMessage;
+ message._qualifier = qualifiers;
+ return &message;
} else
return nullptr;
}
diff --git a/engines/lab/interface.h b/engines/lab/interface.h
index 10e081532b..c8ac17180f 100644
--- a/engines/lab/interface.h
+++ b/engines/lab/interface.h
@@ -28,28 +28,11 @@
*
*/
-#ifndef LAB_INTEFARCE_H
-#define LAB_INTEFARCE_H
+#ifndef LAB_INTERFARCE_H
+#define LAB_INTERFARCE_H
namespace Lab {
-class Image;
-
-struct IntuiMessage {
- uint32 _msgClass;
- uint16 _code, _qualifier, _mouseX, _mouseY, _gadgetID;
- uint32 _seconds, _micros;
-};
-
-
-struct Gadget {
- uint16 x, y, _gadgetID;
- uint16 _keyEquiv; // if not zero, a key that activates gadget
- bool isEnabled;
- Image *_image, *_altImage;
-};
-
-typedef Common::List<Gadget *> GadgetList;
// Defines for the Class variable in IntuiMessage
#define SIZEVERIFY 0x00000001
@@ -103,13 +86,7 @@ typedef Common::List<Gadget *> GadgetList;
//--------------------------- Function Prototypes ---------------------------
//---------------------------------------------------------------------------
-Gadget *createButton(uint16 x, uint16 y, uint16 id, uint16 key, Image *im, Image *imalt);
-void freeButtonList(GadgetList *gadgetList);
-void drawGadgetList(GadgetList *gadgetList);
-void disableGadget(Gadget *curgad, uint16 pencolor);
-void enableGadget(Gadget *curgad);
-IntuiMessage *getMsg();
} // End of namespace Lab
-#endif // LAB_INTEFARCE_H
+#endif // LAB_INTERFARCE_H
diff --git a/engines/lab/intro.cpp b/engines/lab/intro.cpp
index fbe1facab8..d918cb99fc 100644
--- a/engines/lab/intro.cpp
+++ b/engines/lab/intro.cpp
@@ -32,6 +32,7 @@
#include "lab/anim.h"
#include "lab/dispman.h"
+#include "lab/eventman.h"
#include "lab/interface.h"
#include "lab/intro.h"
#include "lab/music.h"
diff --git a/engines/lab/lab.h b/engines/lab/lab.h
index 92ffa26591..1b98c11c27 100644
--- a/engines/lab/lab.h
+++ b/engines/lab/lab.h
@@ -193,7 +193,6 @@ public:
private:
bool checkConditions(int16 *condition);
- Gadget *checkNumGadgetHit(GadgetList *gadgetList, uint16 key);
void decIncInv(uint16 *CurInv, bool dec);
void doActions(Action *actionList, CloseDataPtr *closePtrList);
bool doActionRule(Common::Point pos, int16 action, int16 roomNum, CloseDataPtr *closePtrList);
diff --git a/engines/lab/map.cpp b/engines/lab/map.cpp
index 5d978b72fe..c76f3cb357 100644
--- a/engines/lab/map.cpp
+++ b/engines/lab/map.cpp
@@ -79,9 +79,9 @@ void LabEngine::loadMapData() {
_imgPath = new Image(mapImages);
_imgBridge = new Image(mapImages);
- _mapGadgetList.push_back(createButton( 8, _utils->vgaScaleY(105), 0, VKEY_LTARROW, new Image(mapImages), new Image(mapImages))); // back
- _mapGadgetList.push_back(createButton( 55, _utils->vgaScaleY(105), 1, VKEY_UPARROW, new Image(mapImages), new Image(mapImages))); // up
- _mapGadgetList.push_back(createButton(101, _utils->vgaScaleY(105), 2, VKEY_DNARROW, new Image(mapImages), new Image(mapImages))); // down
+ _mapGadgetList.push_back(_event->createButton( 8, _utils->vgaScaleY(105), 0, VKEY_LTARROW, new Image(mapImages), new Image(mapImages))); // back
+ _mapGadgetList.push_back(_event->createButton( 55, _utils->vgaScaleY(105), 1, VKEY_UPARROW, new Image(mapImages), new Image(mapImages))); // up
+ _mapGadgetList.push_back(_event->createButton(101, _utils->vgaScaleY(105), 2, VKEY_DNARROW, new Image(mapImages), new Image(mapImages))); // down
delete mapImages;
@@ -104,7 +104,7 @@ void LabEngine::loadMapData() {
}
void LabEngine::freeMapData() {
- freeButtonList(&_mapGadgetList);
+ _event->freeButtonList(&_mapGadgetList);
delete _imgMap;
delete _imgRoom;
@@ -369,7 +369,7 @@ void LabEngine::drawMap(uint16 curRoom, uint16 curMsg, uint16 floorNum, bool fad
_graphics->rectFill(0, 0, _graphics->_screenWidth - 1, _graphics->_screenHeight - 1);
_imgMap->drawImage(0, 0);
- drawGadgetList(&_mapGadgetList);
+ _event->drawGadgetList(&_mapGadgetList);
for (uint16 i = 1; i <= _maxRooms; i++) {
if ((_maps[i]._pageNumber == floorNum) && _roomsFound->in(i) && _maps[i]._x) {
@@ -388,14 +388,14 @@ void LabEngine::drawMap(uint16 curRoom, uint16 curMsg, uint16 floorNum, bool fad
Gadget *downGadget = _event->getGadget(2);
if (getUpperFloor(floorNum) != kFloorNone)
- enableGadget(upGadget);
+ _event->enableGadget(upGadget);
else
- disableGadget(upGadget, 12);
+ _event->disableGadget(upGadget, 12);
if (getLowerFloor(floorNum) != kFloorNone)
- enableGadget(downGadget);
+ _event->enableGadget(downGadget);
else
- disableGadget(downGadget, 12);
+ _event->disableGadget(downGadget, 12);
// Labyrinth specific code
if (floorNum == kFloorLower) {
diff --git a/engines/lab/special.cpp b/engines/lab/special.cpp
index 5b2da2a3be..0024adbc80 100644
--- a/engines/lab/special.cpp
+++ b/engines/lab/special.cpp
@@ -142,9 +142,9 @@ void LabEngine::loadJournalData() {
Common::File *journalFile = _resource->openDataFile("P:JImage");
Utils *utils = _utils;
- _journalGadgetList.push_back(createButton( 80, utils->vgaScaleY(162) + utils->svgaCord(1), 0, VKEY_LTARROW, new Image(journalFile), new Image(journalFile))); // back
- _journalGadgetList.push_back(createButton(194, utils->vgaScaleY(162) + utils->svgaCord(1), 2, 0, new Image(journalFile), new Image(journalFile))); // cancel
- _journalGadgetList.push_back(createButton(144, utils->vgaScaleY(164) - utils->svgaCord(1), 1, VKEY_RTARROW, new Image(journalFile), new Image(journalFile))); // forward
+ _journalGadgetList.push_back(_event->createButton( 80, utils->vgaScaleY(162) + utils->svgaCord(1), 0, VKEY_LTARROW, new Image(journalFile), new Image(journalFile))); // back
+ _journalGadgetList.push_back(_event->createButton(194, utils->vgaScaleY(162) + utils->svgaCord(1), 2, 0, new Image(journalFile), new Image(journalFile))); // cancel
+ _journalGadgetList.push_back(_event->createButton(144, utils->vgaScaleY(164) - utils->svgaCord(1), 1, VKEY_RTARROW, new Image(journalFile), new Image(journalFile))); // forward
delete journalFile;
_anim->_noPalChange = true;
@@ -236,14 +236,14 @@ void LabEngine::drawJournal(uint16 wipenum, bool needFade) {
Gadget *forwardGadget = _event->getGadget(2);
if (_journalPage == 0)
- disableGadget(backGadget, 15);
+ _event->disableGadget(backGadget, 15);
else
- enableGadget(backGadget);
+ _event->enableGadget(backGadget);
if (_lastPage)
- disableGadget(forwardGadget, 15);
+ _event->disableGadget(forwardGadget, 15);
else
- enableGadget(forwardGadget);
+ _event->enableGadget(forwardGadget);
if (needFade)
_graphics->fade(true, 0);
@@ -321,7 +321,7 @@ void LabEngine::doJournal() {
delete[] _blankJournal;
delete[] journalBackImage._imageData;
- freeButtonList(&_journalGadgetList);
+ _event->freeButtonList(&_journalGadgetList);
_graphics->closeFont(_journalFont);
ScreenImage._imageData = _graphics->getCurrentDrawingBuffer();