/*
* A window, making part of freeglut windows hierarchy.
* Should be kept portable.
*
* NOTE that ActiveMenu is set to menu itself if the window is a menu.
*/
struct tagSFG_Window
{
SFG_Node Node;
int ID; /* Window's ID number */
SFG_Context Window; /* Window and OpenGL context */
SFG_WindowState State; /* The window state */
SFG_Proc CallBacks[ TOTAL_CALLBACKS ]; /* Array of window callbacks */
void *UserData ; /* For use by user */
SFG_Menu* Menu[ FREEGLUT_MAX_MENUS ]; /* Menus appended to window */
SFG_Menu* ActiveMenu; /* The window's active menu */
SFG_Window* Parent; /* The parent to this window */
SFG_List Children; /* The subwindows d.l. list */
GLboolean IsMenu; /* Set to 1 if we are a menu */
};