Moving the Windows-specific joystick definitions into the Windows-specific header...
[freeglut] / src / mswin / freeglut_internal_mswin.h
1 /*\r
2  * freeglut_internal_mswin.h\r
3  *\r
4  * The freeglut library private include file.\r
5  *\r
6  * Copyright (c) 2012 Stephen J. Baker. All Rights Reserved.\r
7  * Written by John F. Fay, <fayjf@sourceforge.net>\r
8  * Creation date: Thu Jan 19, 2012\r
9  *\r
10  * Permission is hereby granted, free of charge, to any person obtaining a\r
11  * copy of this software and associated documentation files (the "Software"),\r
12  * to deal in the Software without restriction, including without limitation\r
13  * the rights to use, copy, modify, merge, publish, distribute, sublicense,\r
14  * and/or sell copies of the Software, and to permit persons to whom the\r
15  * Software is furnished to do so, subject to the following conditions:\r
16  *\r
17  * The above copyright notice and this permission notice shall be included\r
18  * in all copies or substantial portions of the Software.\r
19  *\r
20  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS\r
21  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
22  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL\r
23  * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r
24  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
25  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
26  */\r
27 \r
28 #ifndef  FREEGLUT_INTERNAL_MSWIN_H\r
29 #define  FREEGLUT_INTERNAL_MSWIN_H\r
30 \r
31 typedef struct tagSFG_PlatformDisplay SFG_PlatformDisplay;\r
32 struct tagSFG_PlatformDisplay\r
33 {\r
34     HINSTANCE       Instance;           /* The application's instance        */\r
35     DEVMODE         DisplayMode;        /* Desktop's display settings        */\r
36     char           *DisplayName;        /* Display name for multi display support*/ \r
37 };\r
38 \r
39 /*\r
40  * Make "freeglut" window handle and context types so that we don't need so\r
41  * much conditionally-compiled code later in the library.\r
42  */\r
43 typedef HWND    SFG_WindowHandleType ;\r
44 typedef HGLRC   SFG_WindowContextType ;\r
45 typedef struct tagSFG_PlatformContext SFG_PlatformContext;\r
46 struct tagSFG_PlatformContext\r
47 {\r
48     HDC             Device;          /* The window's device context         */\r
49 };\r
50 \r
51 \r
52 /* Joystick-Specific Definitions */\r
53 #if !defined(_WIN32_WCE)\r
54 #    define _JS_MAX_AXES  8\r
55 typedef struct tagSFG_PlatformJoystick SFG_PlatformJoystick;\r
56 struct tagSFG_PlatformJoystick\r
57 {\r
58     JOYCAPS     jsCaps;\r
59     JOYINFOEX   js;\r
60     UINT        js_id;\r
61 };\r
62 #endif\r
63 \r
64 \r
65 \r
66 /* Function to be called on exit */\r
67 extern void (__cdecl *__glutExitFunc)( int return_value );\r
68 \r
69 \r
70 #endif  /* FREEGLUT_INTERNAL_MSWIN_H */