[Scummvm-cvs-logs] SF.net SVN: scummvm:[45496] scummvm/trunk/engines/sci/engine/kmenu.cpp
thebluegr at users.sourceforge.net
thebluegr at users.sourceforge.net
Thu Oct 29 02:10:10 CET 2009
Revision: 45496
http://scummvm.svn.sourceforge.net/scummvm/?rev=45496&view=rev
Author: thebluegr
Date: 2009-10-29 01:10:10 +0000 (Thu, 29 Oct 2009)
Log Message:
-----------
Moved some menu code outside the INCLUDE_OLDGFX safeguards
Modified Paths:
--------------
scummvm/trunk/engines/sci/engine/kmenu.cpp
Modified: scummvm/trunk/engines/sci/engine/kmenu.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kmenu.cpp 2009-10-29 00:14:09 UTC (rev 45495)
+++ scummvm/trunk/engines/sci/engine/kmenu.cpp 2009-10-29 01:10:10 UTC (rev 45496)
@@ -194,18 +194,22 @@
if (menu_mode) {
int old_item;
int old_menu;
+ Common::Rect portBounds = Common::Rect(4, 9, 200, 50);
#ifdef INCLUDE_OLDGFX
GfxPort *port = sciw_new_menu(s, s->titlebar_port, s->_menubar, 0);
+ portBounds = toCommonRect(port->_bounds);
+#endif
item_nr = -1;
/* Default to menu 0, unless the mouse was used to generate this effect */
if (mouse_down)
- s->_menubar->mapPointer(cursorPos, menu_nr, item_nr, toCommonRect(port->_bounds));
+ s->_menubar->mapPointer(cursorPos, menu_nr, item_nr, portBounds);
else
menu_nr = 0;
+#ifdef INCLUDE_OLDGFX
sciw_set_menubar(s, s->titlebar_port, s->_menubar, menu_nr);
FULL_REDRAW;
#endif
@@ -281,9 +285,7 @@
{
Common::Point curMousePos = s->_cursor->getPosition();
menu_mode = (curMousePos.y < 10);
-#ifdef INCLUDE_OLDGFX
- claimed = !menu_mode && !s->_menubar->mapPointer(curMousePos, menu_nr, item_nr, toCommonRect(port->_bounds));
-#endif
+ claimed = !menu_mode && !s->_menubar->mapPointer(curMousePos, menu_nr, item_nr, portBounds);
mouse_down = 0;
}
break;
@@ -298,17 +300,18 @@
}
if (mouse_down)
-#ifdef INCLUDE_OLDGFX
- s->_menubar->mapPointer(s->_cursor->getPosition(), menu_nr, item_nr, toCommonRect(port->_bounds));
+ s->_menubar->mapPointer(s->_cursor->getPosition(), menu_nr, item_nr, portBounds);
if ((item_nr > -1 && old_item == -1) || (menu_nr != old_menu)) { /* Update menu */
+#ifdef INCLUDE_OLDGFX
sciw_set_menubar(s, s->titlebar_port, s->_menubar, menu_nr);
delete port;
port = sciw_new_menu(s, s->titlebar_port, s->_menubar, menu_nr);
s->wm_port->add((GfxContainer *)s->wm_port, port);
+#endif
if (item_nr > -1)
old_item = -42; /* Enforce redraw in next step */
@@ -316,7 +319,6 @@
FULL_REDRAW;
}
} /* ...if the menu changed. */
-#endif
/* Remove the active menu item, if neccessary */
if (item_nr != old_item) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list