X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_internal.h;h=23ff6b6a868095aa6fda0be21bccf4d1c7254d89;hb=d6ccf7c81bdad11e6902a258e8e21fdbe6b9f968;hp=904485334ab457e2077a6f3fa0785dd0e3dd0e24;hpb=1c4676845beb10386f4f58320b05b000efc47ae1;p=freeglut diff --git a/src/freeglut_internal.h b/src/freeglut_internal.h index 9044853..23ff6b6 100644 --- a/src/freeglut_internal.h +++ b/src/freeglut_internal.h @@ -31,17 +31,17 @@ /* XXX Update these for each release! */ #define VERSION_MAJOR 2 #define VERSION_MINOR 2 -#define VERSION_PATCH 0 +#define VERSION_PATCH 0 /* * Freeglut is meant to be available under all Unix/X11 and Win32 platforms. */ -#if !defined(_WIN32) -# define TARGET_HOST_UNIX_X11 1 -# define TARGET_HOST_WIN32 0 -#else +#if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) # define TARGET_HOST_UNIX_X11 0 # define TARGET_HOST_WIN32 1 +#else +# define TARGET_HOST_UNIX_X11 1 +# define TARGET_HOST_WIN32 0 #endif #define FREEGLUT_MAX_MENUS 3 @@ -61,7 +61,10 @@ #if TARGET_HOST_WIN32 #include #include +#include +#endif +#if defined(_MSC_VER) #define strdup _strdup #endif @@ -338,6 +341,8 @@ struct tagSFG_Context #if TARGET_HOST_UNIX_X11 XVisualInfo* VisualInfo; /* The window's visual information */ + Pixmap Pixmap; /* Used for offscreen rendering */ + /* GLXPixmap GLXPixMap; */ /* Used for offscreen rendering */ #elif TARGET_HOST_WIN32 HDC Device; /* The window's device context */ #endif @@ -367,8 +372,8 @@ struct tagSFG_WindowState int MouseX, MouseY; /* The most recent mouse position */ GLboolean IsGameMode; /* Is this the game mode window? */ - GLboolean NeedToResize; /* Do we need to resize the window? */ + GLboolean IsOffscreen; /* Tags a `window' as on/offscreen. */ }; @@ -385,24 +390,16 @@ struct tagSFG_WindowState * but this can cause warnings because the FETCH_WCB() macro type- * casts its result, and a type-cast value shouldn't be an lvalue. * - * XXX Note that there is no type-checking to make sure that {func} is - * XXX a suitable type. We could add a safety-check of the form: - * XXX - * XXX if( FETCH_WCB( ... ) != func ) - * XXX ... - * XXX - * XXX ...is this desired? - * - * XXX The {if( FETCH_WCB( ... ) != func )} test is to do type-checking - * XXX and for no other reason. Since it's hidden in the macro, the - * XXX ugliness is felt to be rather benign. + * The {if( FETCH_WCB( ... ) != func )} test is to do type-checking + * and for no other reason. Since it's hidden in the macro, the + * ugliness is felt to be rather benign. */ -#define SET_WCB(window,cbname,func) \ -do \ -{ \ - if( FETCH_WCB( window, cbname ) != func ) \ - (((window).CallBacks[CB_ ## cbname]) = func); \ -} while( 0 ) \ +#define SET_WCB(window,cbname,func) \ +do \ +{ \ + if( FETCH_WCB( window, cbname ) != func ) \ + (((window).CallBacks[CB_ ## cbname]) = (void *) func); \ +} while( 0 ) \ /* * FETCH_WCB() is used as: @@ -491,7 +488,7 @@ enum CB_ButtonBox, CB_TabletMotion, CB_TabletButton, - + /* Always make this the LAST one */ TOTAL_CALLBACKS };