/* -- PLATFORM-SPECIFIC INCLUDES ------------------------------------------- */
/* BlackBerry OpenGL ES is accessed through EGL */
#include "egl/fg_internal_egl.h"
+#include <screen/screen.h>
+#include <bps/event.h>
+#include <bps/navigator.h>
/* -- GLOBAL TYPE DEFINITIONS ---------------------------------------------- */
/* The structure used by display initialization in freeglut_init.c */
typedef struct tagSFG_PlatformDisplay SFG_PlatformDisplay;
struct tagSFG_PlatformDisplay
{
- struct tagSFG_PlatformDisplayEGL egl;
- EGLNativeWindowType single_native_window;
+ struct tagSFG_PlatformDisplayEGL egl;
+ screen_context_t screenContext;
+ bps_event_t* event;
+ EGLNativeWindowType single_native_window;
};
typedef struct tagSFG_PlatformContext SFG_PlatformContext;
/* SFG_PlatformContext is used for SFG_Window.Window */
struct tagSFG_PlatformContext
{
- struct tagSFG_PlatformContextEGL egl;
+ struct tagSFG_PlatformContextEGL egl;
};
bool in_mmotion;
};
+/* -- INPUT DEFINITIONS ---------------------------------------------------- */
+#define WHEEL_DELTA 120 //This is taken from http://msdn.microsoft.com/en-us/library/windows/desktop/ms646254(v=vs.85).aspx
+
/* -- JOYSTICK-SPECIFIC STRUCTURES AND TYPES ------------------------------- */
/*
* interspersed
*/
- /*
- * We'll put these values in and that should
- * allow the code to at least compile when there is
- * no support. The JS open routine should error out
- * and shut off all the code downstream anyway and if
- * the application doesn't use a joystick we'll be fine.
- */
+/*
+ * We'll put these values in and that should
+ * allow the code to at least compile when there is
+ * no support. The JS open routine should error out
+ * and shut off all the code downstream anyway and if
+ * the application doesn't use a joystick we'll be fine.
+ */
- struct JS_DATA_TYPE
- {
+struct JS_DATA_TYPE
+{
int buttons;
int x;
int y;
- };
+};
-# define JS_RETURN (sizeof(struct JS_DATA_TYPE))
+#define JS_RETURN (sizeof(struct JS_DATA_TYPE))
/* XXX It might be better to poll the operating system for the numbers of buttons and
* XXX axes and then dynamically allocate the arrays.
*/
-# define _JS_MAX_AXES 16
+#define _JS_MAX_AXES 16
typedef struct tagSFG_PlatformJoystick SFG_PlatformJoystick;
struct tagSFG_PlatformJoystick
{
- struct JS_DATA_TYPE js;
+ struct JS_DATA_TYPE js;
- char fname [ 128 ];
- int fd;
+ char fname [ 128 ];
+ int fd;
};
/* Window's state description. This structure should be kept portable. */
typedef struct tagSFG_PlatformWindowState SFG_PlatformWindowState;
struct tagSFG_PlatformWindowState
{
- char unused;
+ int newWidth;
+ int newHeight;
+ int originalRotation;
+ navigator_window_state_t windowState;
+ GLboolean windowCovered;
+#ifdef __PLAYBOOK__
+ int keyboardHeight;
+ GLboolean keyboardOpen;
+#endif
};
/* Menu font and color definitions */