From 7e6684a2236e4a830355fce9fb6e194733021500 Mon Sep 17 00:00:00 2001 From: Yohann Ferreira Date: Thu, 30 Jun 2005 21:44:43 +0000 Subject: The popup-menu now disappears again when clicking somewhere else. (A little buggy but on its way.) --- src/game.cpp | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'src/game.cpp') 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) -- cgit v1.2.3-70-g09d2