Fixing X11 "unterminated #if" build error
[freeglut] / src / Common / freeglut_cursor.c
1 /*\r
2  * freeglut_cursor.c\r
3  *\r
4  * The mouse cursor related stuff.\r
5  *\r
6  * Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved.\r
7  * Written by Pawel W. Olszta, <olszta@sourceforge.net>\r
8  * Creation date: Thu Dec 16 1999\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 #include <GL/freeglut.h>\r
29 #include "freeglut_internal.h"\r
30 \r
31 /*\r
32  * TODO BEFORE THE STABLE RELEASE:\r
33  *  glutSetCursor()     -- Win32 mappings are incomplete.\r
34  *\r
35  * It would be good to use custom mouse cursor shapes, and introduce\r
36  * an option to display them using glBitmap() and/or texture mapping,\r
37  * apart from the windowing system version.\r
38  */\r
39 \r
40 /* -- PRIVATE FUNCTIONS --------------------------------------------------- */\r
41 \r
42 extern void fgPlatformSetCursor ( SFG_Window *window, int cursorID );\r
43 extern void fgPlatformWarpPointer ( int x, int y );\r
44 \r
45 \r
46 \r
47 /* -- INTERNAL FUNCTIONS ---------------------------------------------------- */\r
48 void fgSetCursor ( SFG_Window *window, int cursorID )\r
49 {\r
50     fgPlatformSetCursor ( window, cursorID );\r
51 }\r
52 \r
53 \r
54 /* -- INTERFACE FUNCTIONS -------------------------------------------------- */\r
55 \r
56 /*\r
57  * Set the cursor image to be used for the current window\r
58  */\r
59 void FGAPIENTRY glutSetCursor( int cursorID )\r
60 {\r
61     FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutSetCursor" );\r
62     FREEGLUT_EXIT_IF_NO_WINDOW ( "glutSetCursor" );\r
63 \r
64     fgPlatformSetCursor ( fgStructure.CurrentWindow, cursorID );\r
65     fgStructure.CurrentWindow->State.Cursor = cursorID;\r
66 }\r
67 \r
68 /*\r
69  * Moves the mouse pointer to given window coordinates\r
70  */\r
71 void FGAPIENTRY glutWarpPointer( int x, int y )\r
72 {\r
73     FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutWarpPointer" );\r
74     FREEGLUT_EXIT_IF_NO_WINDOW ( "glutWarpPointer" );\r
75 \r
76     fgPlatformWarpPointer ( x, y );\r
77 }\r
78 \r
79 /*** END OF FILE ***/\r