diff options
author | Strangerke | 2015-12-13 14:04:00 +0100 |
---|---|---|
committer | Willem Jan Palenstijn | 2015-12-23 21:34:02 +0100 |
commit | c837e67070913166177a19b2d0d6d925d4569c83 (patch) | |
tree | 9c6b22c7f59ce00a4473520519da8e93a281e569 /engines | |
parent | 7efd471a92ca6a8d9f7e2c9acdd17be847b7ef73 (diff) | |
download | scummvm-rg350-c837e67070913166177a19b2d0d6d925d4569c83.tar.gz scummvm-rg350-c837e67070913166177a19b2d0d6d925d4569c83.tar.bz2 scummvm-rg350-c837e67070913166177a19b2d0d6d925d4569c83.zip |
LAB: Move interface functions to EventMan
Diffstat (limited to 'engines')
-rw-r--r-- | engines/lab/dispman.cpp | 40 | ||||
-rw-r--r-- | engines/lab/eventman.h | 31 | ||||
-rw-r--r-- | engines/lab/interface.cpp | 106 | ||||
-rw-r--r-- | engines/lab/interface.h | 29 | ||||
-rw-r--r-- | engines/lab/intro.cpp | 1 | ||||
-rw-r--r-- | engines/lab/lab.h | 1 | ||||
-rw-r--r-- | engines/lab/map.cpp | 18 | ||||
-rw-r--r-- | engines/lab/special.cpp | 16 |
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(); |