* that that wasn't the original intent...if not, perhaps we need another
* symbolic constant, FREEGLUT_MENU_ITEM_BORDER, or such.)
*/
-#if TARGET_HOST_WIN32 || TARGET_HOST_WINCE
+#if TARGET_HOST_MS_WINDOWS
#define FREEGLUT_MENU_FONT GLUT_BITMAP_8_BY_13
#else
#define FREEGLUT_MENU_FONT GLUT_BITMAP_HELVETICA_18
* too. These variables should be stuffed into global state and initialized
* via the glutInit*() system.
*/
-#if TARGET_HOST_WIN32 || TARGET_HOST_WINCE
+#if TARGET_HOST_MS_WINDOWS
static float menu_pen_fore [4] = {0.0f, 0.0f, 0.0f, 1.0f};
static float menu_pen_back [4] = {0.85f, 0.85f, 0.85f, 1.0f};
static float menu_pen_hfore [4] = {1.0f, 1.0f, 1.0f, 1.0f};
*/
static void fghDeactivateSubMenu( SFG_MenuEntry *menuEntry )
{
- SFG_Window *current_window = fgStructure.CurrentWindow;
SFG_MenuEntry *subMenuIter;
/* Hide the present menu's window */
fgSetWindow( menuEntry->SubMenu->Window );
*/
static GLvoid fghGetVMaxExtent( SFG_Window* window, int* x, int* y )
{
- if( fgStructure.GameMode )
+ if( fgStructure.GameModeWindow )
{
-#if TARGET_HOST_UNIX_X11
+#if TARGET_HOST_POSIX_X11
int wx, wy;
Window w;
menuEntry->SubMenu->X = menu->X - menuEntry->SubMenu->Width;
if( menuEntry->SubMenu->Y + menuEntry->SubMenu->Height > max_y )
+ {
menuEntry->SubMenu->Y -= ( menuEntry->SubMenu->Height -
FREEGLUT_MENU_HEIGHT -
2 * FREEGLUT_MENU_BORDER );
+ if( menuEntry->SubMenu->Y < 0 )
+ menuEntry->SubMenu->Y = 0;
+ }
fgSetWindow( menuEntry->SubMenu->Window );
glutPositionWindow( menuEntry->SubMenu->X,
menu->X -=menu->Width;
if( menu->Y + menu->Height > max_y )
+ {
menu->Y -=menu->Height;
+ if( menu->Y < 0 )
+ menu->Y = 0;
+ }
menu->Window->State.MouseX =
window->State.MouseX + glutGet( GLUT_WINDOW_X ) - menu->X;
*/
void fgDeactivateMenu( SFG_Window *window )
{
- SFG_Window *current_window = fgStructure.CurrentWindow;
SFG_Window *parent_window = NULL;
/* Check if there is an active menu attached to this window... */