+
+ /* Menu status callback */
+ if (fgState.MenuStateCallback || fgState.MenuStatusCallback)
+ {
+ fgStructure.CurrentMenu = menu;
+ fgStructure.CurrentWindow = parent_window;
+ if (fgState.MenuStateCallback)
+ fgState.MenuStateCallback(GLUT_MENU_NOT_IN_USE);
+ if (fgState.MenuStatusCallback)
+ {
+ /* Get cursor position on screen and convert to relative to parent_window's client area */
+ SFG_XYUse mouse_pos;
+ fghPlatformGetMousePos(&mouse_pos);
+
+ mouse_pos.X -= glutGet( GLUT_WINDOW_X );
+ mouse_pos.Y -= glutGet( GLUT_WINDOW_Y );
+
+ fgState.MenuStatusCallback(GLUT_MENU_NOT_IN_USE, mouse_pos.X, mouse_pos.Y);
+ }
+ }