# include "config.h"
#endif
+#include "fg_version.h"
+
/* Freeglut is intended to function under all Unix/X11 and Win32 platforms. */
/* XXX: Don't all MS-Windows compilers (except Cygwin) have _WIN32 defined?
* XXX: If so, remove the first set of defined()'s below.
#elif defined (__ANDROID__)
# define TARGET_HOST_ANDROID 1
+#elif defined (__QNXNTO__) || defined (__PLAYBOOK__)
+# define TARGET_HOST_BLACKBERRY 1
+
#elif defined(__posix__) || defined(__unix__) || defined(__linux__) || defined(__sun)
# define TARGET_HOST_POSIX_X11 1
# define TARGET_HOST_MS_WINDOWS 0
#endif
+#ifndef TARGET_HOST_ANDROID
+# define TARGET_HOST_ANDROID 0
+#endif
+
+#ifndef TARGET_HOST_BLACKBERRY
+# define TARGET_HOST_BLACKBERRY 0
+#endif
+
#ifndef TARGET_HOST_POSIX_X11
# define TARGET_HOST_POSIX_X11 0
#endif
#if TARGET_HOST_ANDROID
#include "android/fg_internal_android.h"
#endif
+#if TARGET_HOST_BLACKBERRY
+#include "blackberry/fg_internal_blackberry.h"
+#endif
/* -- GLOBAL TYPE DEFINITIONS ---------------------------------------------- */
typedef void (* FGCBMultiPassive )( int, int, int );
typedef void (* FGCBInitContext)();
-typedef void (* FGCBPause)();
-typedef void (* FGCBResume)();
+typedef void (* FGCBAppStatus)(int);
/* The global callbacks type definitions */
typedef void (* FGCBIdle )( void );
int DoubleBuffered; /* Treat the window as double-buffered */
- /* When drawing geometry to vertex attribute buffers, user specifies
+ /* When drawing geometry to vertex attribute buffers, user specifies
* the attribute indices for vertices, normals and/or texture coords
* to freeglut. Those are stored here
*/
#define GLUT_SIZE_WORK (1<<3)
#define GLUT_ZORDER_WORK (1<<4)
#define GLUT_FULL_SCREEN_WORK (1<<5)
+#define GLUT_DISPLAY_WORK (1<<6)
/*
* An enumeration containing the state of the GLUT execution:
int DesiredZOrder; /* desired window Z Order position */
fgDesiredVisibility DesiredVisibility;/* desired visibility (hidden, iconic, shown/normal) */
-
SFG_PlatformWindowState pWState; /* Window width/height (X11) or rectangle/style (Windows) from before a resize, and other stuff only needed on specific platforms */
- GLboolean Redisplay; /* Do we have to redisplay? */
-
-
long JoystickPollRate; /* The joystick polling rate */
fg_time_t JoystickLastPoll; /* When the last poll happened */
/* Mobile platforms LifeCycle */
WCB_InitContext,
- WCB_Pause,
- WCB_Resume,
+ WCB_AppStatus,
/* Presently ignored */
WCB_Select,