#endif\r
\r
\r
+/* External function declarations (mostly platform-specific) */\r
+extern void fgPlatformJoystickClose ( int ident );\r
+\r
/*\r
* The static joystick structure pointer\r
*/\r
/*\r
*\r
*/\r
-void fgJoystickClose( void )\r
-{\r
- int ident ;\r
- for( ident = 0; ident < MAX_NUM_JOYSTICKS; ident++ )\r
- {\r
- if( fgJoystick[ ident ] )\r
- {\r
\r
#if TARGET_HOST_MACINTOSH\r
- ISpSuspend( );\r
- ISpStop( );\r
- ISpShutdown( );\r
+void fgPlatformJoystickClose ( int ident )\r
+{\r
+ ISpSuspend( );\r
+ ISpStop( );\r
+ ISpShutdown( );\r
+}\r
#endif\r
\r
#if TARGET_HOST_MAC_OSX\r
- ( *( fgJoystick[ ident ]->hidDev ) )->\r
- close( fgJoystick[ ident ]->hidDev );\r
-#endif\r
-\r
-#if TARGET_HOST_MS_WINDOWS && !defined(_WIN32_WCE)\r
- /* Do nothing special */\r
+void fgPlatformJoystickClose ( int ident )\r
+{\r
+ ( *( fgJoystick[ ident ]->hidDev ) )->\r
+ close( fgJoystick[ ident ]->hidDev );\r
+}\r
#endif\r
\r
#if TARGET_HOST_POSIX_X11\r
+void fgPlatformJoystickClose ( int ident )\r
+{\r
#if defined( __FreeBSD__ ) || defined(__FreeBSD_kernel__) || defined( __NetBSD__ )\r
- if( fgJoystick[ident]->os )\r
- {\r
- if( ! fgJoystick[ ident ]->error )\r
- close( fgJoystick[ ident ]->os->fd );\r
+ if( fgJoystick[ident]->os )\r
+ {\r
+ if( ! fgJoystick[ ident ]->error )\r
+ close( fgJoystick[ ident ]->os->fd );\r
#ifdef HAVE_USB_JS\r
- if( fgJoystick[ ident ]->os->hids )\r
- free (fgJoystick[ ident ]->os->hids);\r
- if( fgJoystick[ ident ]->os->hid_data_buf )\r
- free( fgJoystick[ ident ]->os->hid_data_buf );\r
+ if( fgJoystick[ ident ]->os->hids )\r
+ free (fgJoystick[ ident ]->os->hids);\r
+ if( fgJoystick[ ident ]->os->hid_data_buf )\r
+ free( fgJoystick[ ident ]->os->hid_data_buf );\r
#endif\r
- free( fgJoystick[ident]->os );\r
- }\r
+ free( fgJoystick[ident]->os );\r
+ }\r
#endif\r
\r
- if( ! fgJoystick[ident]->error )\r
- close( fgJoystick[ ident ]->fd );\r
+ if( ! fgJoystick[ident]->error )\r
+ close( fgJoystick[ ident ]->fd );\r
+}\r
#endif\r
\r
+\r
+void fgJoystickClose( void )\r
+{\r
+ int ident ;\r
+ for( ident = 0; ident < MAX_NUM_JOYSTICKS; ident++ )\r
+ {\r
+ if( fgJoystick[ ident ] )\r
+ {\r
+ fgPlatformJoystickClose ( ident );\r
+\r
free( fgJoystick[ ident ] );\r
fgJoystick[ ident ] = NULL;\r
/* show joystick has been deinitialized */\r
+/*\r
+ * freeglut_joystick_mswin.c\r
+ *\r
+ * The Windows-specific mouse cursor related stuff.\r
+ *\r
+ * Copyright (c) 2012 Stephen J. Baker. All Rights Reserved.\r
+ * Written by John F. Fay, <fayjf@sourceforge.net>\r
+ * Creation date: Sat Jan 28, 2012\r
+ *\r
+ * Permission is hereby granted, free of charge, to any person obtaining a\r
+ * copy of this software and associated documentation files (the "Software"),\r
+ * to deal in the Software without restriction, including without limitation\r
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,\r
+ * and/or sell copies of the Software, and to permit persons to whom the\r
+ * Software is furnished to do so, subject to the following conditions:\r
+ *\r
+ * The above copyright notice and this permission notice shall be included\r
+ * in all copies or substantial portions of the Software.\r
+ *\r
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS\r
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\r
+ * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
+ */\r
+\r
+#include <GL/freeglut.h>\r
+#include "../Common/freeglut_internal.h"\r
+\r
+\r
+#if !defined(_WIN32_WCE)\r
+void fgPlatformJoystickClose ( int ident )\r
+{\r
+ /* Do nothing special */\r
+}\r
+#endif\r
+\r