Home | History | Annotate | Line # | Download | only in glx
      1 #ifndef __glutwin32_h__
      2 #define __glutwin32_h__
      3 
      4 /* Copyright (c) Nate Robins, 1997. */
      5 
      6 /* This program is freely distributable without licensing fees
      7    and is provided without guarantee or warrantee expressed or
      8    implied. This program is -not- in the public domain. */
      9 
     10 #include "win32_x11.h"
     11 #include "win32_glx.h"
     12 
     13 /* We have to undef some things because Microsoft likes to pollute the
     14    global namespace. */
     15 #undef TRANSPARENT
     16 
     17 /* Win32 "equivalent" cursors - eventually, the X glyphs should be
     18    converted to Win32 cursors -- then they will look the same */
     19 #define XC_arrow               IDC_ARROW
     20 #define XC_top_left_arrow      IDC_ARROW
     21 #define XC_hand1               IDC_SIZEALL
     22 #define XC_pirate              IDC_NO
     23 #define XC_question_arrow      IDC_HELP
     24 #define XC_exchange            IDC_NO
     25 #define XC_spraycan            IDC_SIZEALL
     26 #define XC_watch               IDC_WAIT
     27 #define XC_xterm               IDC_IBEAM
     28 #define XC_crosshair           IDC_CROSS
     29 #define XC_sb_v_double_arrow   IDC_SIZENS
     30 #define XC_sb_h_double_arrow   IDC_SIZEWE
     31 #define XC_top_side            IDC_UPARROW
     32 #define XC_bottom_side         IDC_SIZENS
     33 #define XC_left_side           IDC_SIZEWE
     34 #define XC_right_side          IDC_SIZEWE
     35 #define XC_top_left_corner     IDC_SIZENWSE
     36 #define XC_top_right_corner    IDC_SIZENESW
     37 #define XC_bottom_right_corner IDC_SIZENWSE
     38 #define XC_bottom_left_corner  IDC_SIZENESW
     39 
     40 #define XA_STRING 0
     41 
     42 /* Private routines from win32_util.c */
     43 #ifndef __CYGWIN32__
     44 struct timeval;
     45 extern int gettimeofday(struct timeval* tp, void* tzp);
     46 #endif
     47 extern void *__glutFont(void *font);
     48 extern int __glutGetTransparentPixel(Display *dpy, XVisualInfo *vinfo);
     49 extern void __glutAdjustCoords(Window parent, int *x, int *y, int *width, int *height);
     50 
     51 
     52 /* Cygwin B20.1 misses the following definitions */
     53 #ifdef __CYGWIN32__
     54 
     55 /* from winuser.h */
     56 #define CDS_FULLSCREEN 4
     57 
     58 /* from mmsystem.h */
     59 #define WINMMAPI __declspec(dllimport)
     60 typedef UINT MMRESULT;
     61 
     62 #define MM_JOY1MOVE 0x3A0
     63 #define MM_JOY1ZMOVE 0x3A2
     64 #define MM_JOY1BUTTONDOWN 0x3B5
     65 #define MM_JOY1BUTTONUP 0x3B7
     66 
     67 #define JOYERR_NOERROR 0
     68 #define JOYERR_PARMS 165
     69 
     70 #define JOY_RETURNALL 0x000000ffl
     71 
     72 #define JOYSTICKID1 0
     73 
     74 typedef struct joyinfoex_tag {
     75     DWORD dwSize;                /* size of structure */
     76     DWORD dwFlags;               /* flags to indicate what to return */
     77     DWORD dwXpos;                /* x position */
     78     DWORD dwYpos;                /* y position */
     79     DWORD dwZpos;                /* z position */
     80     DWORD dwRpos;                /* rudder/4th axis position */
     81     DWORD dwUpos;                /* 5th axis position */
     82     DWORD dwVpos;                /* 6th axis position */
     83     DWORD dwButtons;             /* button states */
     84     DWORD dwButtonNumber;        /* current button number pressed */
     85     DWORD dwPOV;                 /* point of view state */
     86     DWORD dwReserved1;           /* reserved for communication between winmm & driver */
     87     DWORD dwReserved2;           /* reserved for future expansion */
     88 } JOYINFOEX, *PJOYINFOEX, /* NEAR */ *NPJOYINFOEX, /* FAR */ *LPJOYINFOEX;
     89 
     90 WINMMAPI MMRESULT WINAPI joyGetPosEx( UINT uJoyID, LPJOYINFOEX pji);
     91 WINMMAPI MMRESULT WINAPI joyReleaseCapture( UINT uJoyID);
     92 WINMMAPI MMRESULT WINAPI joySetCapture( HWND hwnd, UINT uJoyID, UINT uPeriod, BOOL fChanged);
     93 WINMMAPI MMRESULT WINAPI joySetThreshold( UINT uJoyID, UINT uThreshold);
     94 
     95 #endif
     96 
     97 #endif /* __glutwin32_h__ */
     98