diff options
author | Eugene Sandulenko | 2014-04-30 07:34:01 +0300 |
---|---|---|
committer | Eugene Sandulenko | 2014-04-30 08:22:23 +0300 |
commit | 8fde4cf50f7095c17eafd6bc4946837883e0f0c5 (patch) | |
tree | 776f516eaf7efc2eb72423058aeb74e2959bdefb | |
parent | 2779e6825c266f271cba0da9257dadb5061e963e (diff) | |
download | scummvm-rg350-8fde4cf50f7095c17eafd6bc4946837883e0f0c5.tar.gz scummvm-rg350-8fde4cf50f7095c17eafd6bc4946837883e0f0c5.tar.bz2 scummvm-rg350-8fde4cf50f7095c17eafd6bc4946837883e0f0c5.zip |
FULLPIPE: Implement ModalSaveGame::processMouse()
-rw-r--r-- | engines/fullpipe/modal.cpp | 21 | ||||
-rw-r--r-- | engines/fullpipe/modal.h | 2 |
2 files changed, 23 insertions, 0 deletions
diff --git a/engines/fullpipe/modal.cpp b/engines/fullpipe/modal.cpp index bba5df0cd5..83ebdd6ef3 100644 --- a/engines/fullpipe/modal.cpp +++ b/engines/fullpipe/modal.cpp @@ -1629,6 +1629,27 @@ bool ModalSaveGame::getFileInfo(char *filename, FileInfo *fileinfo) { return false; } +void ModalSaveGame::processMouse(int x, int y) { + for (uint i = 0; i < _files.size(); i++) { + if (x >= _files[i]->fx1 && x <= _files[i]->fx2 && y >= _files[i]->fy1 && y <= _files[i]->fy2) { + _queryRes = i + 1; + + if (_mode) { + if (!_files[i]->empty) { + _queryDlg = new ModalQuery; + + _queryDlg->create(_menuScene, 0, PIC_MOV_BGR); + } + } + + return; + } + } + + if (_cancelL->isPixelHitAtPos(x, y)) + _queryRes = 0; +} + void FullpipeEngine::openHelp() { if (!_modalObject) { ModalHelp *help = new ModalHelp; diff --git a/engines/fullpipe/modal.h b/engines/fullpipe/modal.h index a214b1c639..6bbf6ec53a 100644 --- a/engines/fullpipe/modal.h +++ b/engines/fullpipe/modal.h @@ -261,6 +261,8 @@ public: virtual void update() {} virtual void saveload() {} + void processMouse(int x, int y); + void setScene(Scene *sc); void setup(Scene *sc, int mode); void processKey(int key); |