Moving the definition of the "fgJoystick" structure type to the header file so I...
authorJohn F. Fay <johnffay@nettally.com>
Sun, 29 Jan 2012 03:51:12 +0000 (03:51 +0000)
committerJohn F. Fay <johnffay@nettally.com>
Sun, 29 Jan 2012 03:51:12 +0000 (03:51 +0000)
git-svn-id: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@1019 7f0cb862-5218-0410-a997-914c9d46530a

src/Common/freeglut_internal.h
src/Common/freeglut_joystick.c

index e4b9d8f..1d0a5b6 100644 (file)
@@ -779,6 +779,90 @@ struct tagSFG_StrokeFont
     const SFG_StrokeChar** Characters;          /* The characters mapping    */\r
 };\r
 \r
+\r
+/* -- JOYSTICK-SPECIFIC STRUCTURES AND TYPES ------------------------------- */\r
+/* XXX It might be better to poll the operating system for the numbers of buttons and\r
+ * XXX axes and then dynamically allocate the arrays.\r
+ */\r
+#define _JS_MAX_BUTTONS 32\r
+\r
+#if TARGET_HOST_MACINTOSH\r
+#    define _JS_MAX_AXES  9\r
+#endif\r
+\r
+#if TARGET_HOST_MAC_OSX\r
+#    define _JS_MAX_AXES 16\r
+#endif\r
+\r
+#if TARGET_HOST_MS_WINDOWS && !defined(_WIN32_WCE)\r
+#    define _JS_MAX_AXES  8\r
+#endif\r
+\r
+#if TARGET_HOST_POSIX_X11\r
+#    define _JS_MAX_AXES 16\r
+#endif\r
+\r
+/*\r
+ * Definition of "SFG_Joystick" structure -- based on JS's "jsJoystick" object class.\r
+ * See "js.h" lines 80-178.\r
+ */\r
+typedef struct tagSFG_Joystick SFG_Joystick;\r
+struct tagSFG_Joystick\r
+{\r
+#if TARGET_HOST_MACINTOSH\r
+#define  ISP_NUM_AXIS    9\r
+#define  ISP_NUM_NEEDS  41\r
+    ISpElementReference isp_elem  [ ISP_NUM_NEEDS ];\r
+    ISpNeed             isp_needs [ ISP_NUM_NEEDS ];\r
+#endif\r
+\r
+#if TARGET_HOST_MAC_OSX\r
+    IOHIDDeviceInterface ** hidDev;\r
+    IOHIDElementCookie buttonCookies[41];\r
+    IOHIDElementCookie axisCookies[_JS_MAX_AXES];\r
+    long minReport[_JS_MAX_AXES],\r
+         maxReport[_JS_MAX_AXES];\r
+#endif\r
+\r
+#if TARGET_HOST_MS_WINDOWS && !defined(_WIN32_WCE)\r
+    JOYCAPS     jsCaps;\r
+    JOYINFOEX   js;\r
+    UINT        js_id;\r
+#endif\r
+\r
+\r
+#if TARGET_HOST_POSIX_X11\r
+#   if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__)\r
+       struct os_specific_s *os;\r
+#   endif\r
+\r
+#   ifdef JS_NEW\r
+       struct js_event     js;\r
+       int          tmp_buttons;\r
+       float        tmp_axes [ _JS_MAX_AXES ];\r
+#   else\r
+       struct JS_DATA_TYPE js;\r
+#   endif\r
+\r
+    char         fname [ 128 ];\r
+    int          fd;\r
+#endif\r
+\r
+    int          id;\r
+    GLboolean    error;\r
+    char         name [ 128 ];\r
+    int          num_axes;\r
+    int          num_buttons;\r
+\r
+    float dead_band[ _JS_MAX_AXES ];\r
+    float saturate [ _JS_MAX_AXES ];\r
+    float center   [ _JS_MAX_AXES ];\r
+    float max      [ _JS_MAX_AXES ];\r
+    float min      [ _JS_MAX_AXES ];\r
+};\r
+\r
+\r
+\r
 /* -- GLOBAL VARIABLES EXPORTS --------------------------------------------- */\r
 \r
 /* Freeglut display related stuff (initialized once per session) */\r
index bf5bf95..c5e1b4a 100644 (file)
  * interspersed\r
  */\r
 \r
-/* XXX It might be better to poll the operating system for the numbers of buttons and\r
- * XXX axes and then dynamically allocate the arrays.\r
- */\r
-#define _JS_MAX_BUTTONS 32\r
-\r
 #if TARGET_HOST_MACINTOSH\r
-#    define _JS_MAX_AXES  9\r
 #    include <InputSprocket.h>\r
 #endif\r
 \r
 #if TARGET_HOST_MAC_OSX\r
-#    define _JS_MAX_AXES 16\r
 #    include <mach/mach.h>\r
 #    include <IOKit/IOkitLib.h>\r
 #    include <IOKit/hid/IOHIDLib.h>\r
 #endif\r
 \r
 #if TARGET_HOST_MS_WINDOWS && !defined(_WIN32_WCE)\r
-#    define _JS_MAX_AXES  8\r
 #    include <windows.h>\r
 #    include <mmsystem.h>\r
 #    include <regstr.h>\r
@@ -68,7 +60,6 @@
 #endif\r
 \r
 #if TARGET_HOST_POSIX_X11\r
-#    define _JS_MAX_AXES 16\r
 #    ifdef HAVE_SYS_IOCTL_H\r
 #        include <sys/ioctl.h>\r
 #    endif\r
@@ -376,65 +367,6 @@ static int fghJoystickInitializeHID(struct os_specific_s *os,
 #endif\r
 \r
 /*\r
- * Definition of "SFG_Joystick" structure -- based on JS's "jsJoystick" object class.\r
- * See "js.h" lines 80-178.\r
- */\r
-typedef struct tagSFG_Joystick SFG_Joystick;\r
-struct tagSFG_Joystick\r
-{\r
-#if TARGET_HOST_MACINTOSH\r
-#define  ISP_NUM_AXIS    9\r
-#define  ISP_NUM_NEEDS  41\r
-    ISpElementReference isp_elem  [ ISP_NUM_NEEDS ];\r
-    ISpNeed             isp_needs [ ISP_NUM_NEEDS ];\r
-#endif\r
-\r
-#if TARGET_HOST_MAC_OSX\r
-    IOHIDDeviceInterface ** hidDev;\r
-    IOHIDElementCookie buttonCookies[41];\r
-    IOHIDElementCookie axisCookies[_JS_MAX_AXES];\r
-    long minReport[_JS_MAX_AXES],\r
-         maxReport[_JS_MAX_AXES];\r
-#endif\r
-\r
-#if TARGET_HOST_MS_WINDOWS && !defined(_WIN32_WCE)\r
-    JOYCAPS     jsCaps;\r
-    JOYINFOEX   js;\r
-    UINT        js_id;\r
-#endif\r
-\r
-\r
-#if TARGET_HOST_POSIX_X11\r
-#   if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__)\r
-       struct os_specific_s *os;\r
-#   endif\r
-\r
-#   ifdef JS_NEW\r
-       struct js_event     js;\r
-       int          tmp_buttons;\r
-       float        tmp_axes [ _JS_MAX_AXES ];\r
-#   else\r
-       struct JS_DATA_TYPE js;\r
-#   endif\r
-\r
-    char         fname [ 128 ];\r
-    int          fd;\r
-#endif\r
-\r
-    int          id;\r
-    GLboolean    error;\r
-    char         name [ 128 ];\r
-    int          num_axes;\r
-    int          num_buttons;\r
-\r
-    float dead_band[ _JS_MAX_AXES ];\r
-    float saturate [ _JS_MAX_AXES ];\r
-    float center   [ _JS_MAX_AXES ];\r
-    float max      [ _JS_MAX_AXES ];\r
-    float min      [ _JS_MAX_AXES ];\r
-};\r
-\r
-/*\r
  * Functions associated with the "jsJoystick" class in PLIB\r
  */\r
 #if TARGET_HOST_MAC_OSX\r