diff options
author | Yohann Ferreira <bertram@cegetel.net> | 2005-06-30 21:44:43 +0000 |
---|---|---|
committer | Yohann Ferreira <bertram@cegetel.net> | 2005-06-30 21:44:43 +0000 |
commit | 7e6684a2236e4a830355fce9fb6e194733021500 (patch) | |
tree | 12ee9d9cd35a4cb55c8158760c46e8c20c4b6b52 | |
parent | 004cec89e306744b3079e72fdb1866579d4b3a26 (diff) | |
download | mana-7e6684a2236e4a830355fce9fb6e194733021500.tar.gz mana-7e6684a2236e4a830355fce9fb6e194733021500.tar.bz2 mana-7e6684a2236e4a830355fce9fb6e194733021500.tar.xz mana-7e6684a2236e4a830355fce9fb6e194733021500.zip |
The popup-menu now disappears again when clicking somewhere else. (A little buggy but on its way.)
-rw-r--r-- | src/game.cpp | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/src/game.cpp b/src/game.cpp index b53df444..45ef2ccc 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -458,9 +458,27 @@ void do_input() } } - // Just cancel the popup menu if shown - //popupMenu->setVisible(false); - } + // Just cancel the popup menu if shown, and don't make the character walk + if (popupMenu->isVisible() == true) + { + // We get the x, y coord of the click + int clickX = (mx - camera_x) * 32 + 25; + int clickY = (my - camera_y) * 32 + 25; + + // If we click elsewhere than in the window, do not use the event + // The user wanted to close the popup. + // Still buggy : Wonder if the x, y, width, and height aren't reported partially + // with these functions. + if ( clickX > (popupMenu->getX() + popupMenu->getWidth()) || clickX < popupMenu->getX() + || clickY > (popupMenu->getY() + popupMenu->getHeight()) || clickY < popupMenu->getY() ) + { + used = true; + popupMenu->setVisible(false); + std::cout << "out" << std::endl; + } + } + + } // End Mouse left button // Mouse button middle else if (event.button.button == SDL_BUTTON_MIDDLE) |