summaryrefslogtreecommitdiff
path: root/src/glut
diff options
context:
space:
mode:
Diffstat (limited to 'src/glut')
-rw-r--r--src/glut/glx/Makefile.win107
-rw-r--r--src/glut/glx/glut.def126
-rw-r--r--src/glut/glx/win32_x11.h645
3 files changed, 508 insertions, 370 deletions
diff --git a/src/glut/glx/Makefile.win b/src/glut/glx/Makefile.win
index 4d809f1190..c3f9614099 100644
--- a/src/glut/glx/Makefile.win
+++ b/src/glut/glx/Makefile.win
@@ -2,15 +2,15 @@
!include <win32.mak>
-TOP = ../..
+TOP = ..
# NOTE: glut_menu.c and glut_glxext.c are NOT compiled into Win32 GLUT
SRCS = glut_8x13.c glut_9x15.c glut_bitmap.c glut_bwidth.c glut_cindex.c glut_cmap.c glut_cursor.c glut_dials.c glut_dstr.c glut_event.c glut_ext.c glut_fbc.c glut_fullscrn.c glut_gamemode.c glut_get.c glut_hel10.c glut_hel12.c glut_hel18.c glut_init.c glut_input.c glut_joy.c glut_key.c glut_keyctrl.c glut_keyup.c glut_mesa.c glut_modifier.c glut_mroman.c glut_overlay.c glut_roman.c glut_shapes.c glut_space.c glut_stroke.c glut_swap.c glut_swidth.c glut_tablet.c glut_teapot.c glut_tr10.c glut_tr24.c glut_util.c glut_vidresize.c glut_warp.c glut_win.c glut_winmisc.c win32_glx.c win32_menu.c win32_util.c win32_winproc.c win32_x11.c
-all : glutdll install
+all : glutdll
-!include "$(TOP)/glutwin32.mak"
+!include "$(TOP)/mesawin32.mak"
glutdll : $(GLUTDLL)
@@ -18,15 +18,20 @@ glutdll : $(GLUTDLL)
OPTIMIZE_CFLAGS = -DNDEBUG
!ENDIF
-CFLAGS = $(cvarsdll) $(CFLAGS) $(OPTIMIZE_CFLAGS)
+CFLAGS = $(cvarsdll) $(CFLAGS) $(OPTIMIZE_CFLAGS) -DMESA -DBUILD_GL32
LFLAGS = $(dlllflags) $(LFLAGS)
OBJS = $(SRCS:.c=.obj)
MS_LIBS = $(MS_OPENGL) $(MS_GLU) winmm.lib $(guilibsdll)
+MS_LIBS = ../lib/opengl32.lib ../lib/glu32.lib winmm.lib $(guilibsdll)
SGI_LIBS = $(SGI_OPENGL) $(SGI_GLU) winmm.lib $(guilibsdll)
glut32.dll : $(OBJS) glut.def
$(link) $(LFLAGS) -out:glut32.dll -def:glut.def $(OBJS) $(MS_LIBS)
+ @echo "copying GLUT dynamic link library to lib directory..."
+ -copy $(GLUTDLL) ..\lib
+ @echo "copying GLUT import library to lib directory..."
+ -copy $(GLUTLIB) ..\lib
glut.dll : $(OBJS) glut.def
$(link) $(LFLAGS) -out:glut.dll -def:glut.def $(OBJS) $(SGI_LIBS)
@@ -35,7 +40,7 @@ install : $(GLUTDLL)
@echo "copying GLUT dynamic link library to system directory..."
-copy $(GLUTDLL) $(DLLINSTALL)
@echo "copying GLUT header file to include directory..."
- -copy ..\..\include\GL\glut.h $(INCLUDEINSTALL)
+ -copy ..\include\GL\glut.h $(INCLUDEINSTALL)
@echo "copying GLUT import library to library directory..."
-copy $(GLUTLIB) $(LIBINSTALL)
@@ -46,50 +51,50 @@ install : $(GLUTDLL)
win32_glx.obj: win32_glx.c win32_glx.h
win32_x11.obj: win32_x11.c win32_x11.h
-win32_menu.obj: win32_menu.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h
-win32_util.obj: win32_util.c glutint.h ..\..\include\GL\glutf90.h
-win32_winproc.obj: win32_winproc.c glutint.h ..\..\include\GL\glutf90.h
-
-glut_mroman.obj: glut_mroman.c glutstroke.h glutint.h ..\..\include\GL\glutf90.h
-glut_roman.obj: glut_roman.c glutstroke.h glutint.h ..\..\include\GL\glutf90.h
-glut_hel12.obj: glut_hel12.c glutbitmap.h glutint.h ..\..\include\GL\glutf90.h
-glut_8x13.obj: glut_8x13.c glutbitmap.h glutint.h ..\..\include\GL\glutf90.h
-glut_hel18.obj: glut_hel18.c glutbitmap.h glutint.h ..\..\include\GL\glutf90.h
-glut_9x15.obj: glut_9x15.c glutbitmap.h glutint.h ..\..\include\GL\glutf90.h
-glut_tr10.obj: glut_tr10.c glutbitmap.h glutint.h ..\..\include\GL\glutf90.h
-glut_hel10.obj: glut_hel10.c glutbitmap.h glutint.h ..\..\include\GL\glutf90.h
-glut_tr24.obj: glut_tr24.c glutbitmap.h glutint.h ..\..\include\GL\glutf90.h
-
-glut_bitmap.obj: glut_bitmap.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_bwidth.obj: glut_bwidth.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_cindex.obj: glut_cindex.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_cmap.obj: glut_cmap.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_cursor.obj: glut_cursor.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_dials.obj: glut_dials.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_dstr.obj: glut_dstr.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_event.obj: glut_event.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_ext.obj: glut_ext.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_fullscrn.obj: glut_fullscrn.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_gamemode.obj: glut_gamemode.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_get.obj: glut_get.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_init.obj: glut_init.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_input.obj: glut_input.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_joy.obj: glut_joy.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_key.obj: glut_key.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_keyctrl.obj: glut_keyctrl.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_keyup.obj: glut_keyup.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_mesa.obj: glut_mesa.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_modifier.obj: glut_modifier.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_overlay.obj: glut_overlay.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_shapes.obj: glut_shapes.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_space.obj: glut_space.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_swap.obj: glut_swap.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_swidth.obj: glut_swidth.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_tablet.obj: glut_tablet.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_teapot.obj: glut_teapot.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_util.obj: glut_util.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_vidresize.obj: glut_vidresize.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_warp.obj: glut_warp.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_win.obj: glut_win.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h
-glut_winmisc.obj: glut_winmisc.c glutint.h ..\..\include\GL\glutf90.h ..\..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+win32_menu.obj: win32_menu.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h
+win32_util.obj: win32_util.c glutint.h ..\include\GL\glutf90.h
+win32_winproc.obj: win32_winproc.c glutint.h ..\include\GL\glutf90.h
+
+glut_mroman.obj: glut_mroman.c glutstroke.h glutint.h ..\include\GL\glutf90.h
+glut_roman.obj: glut_roman.c glutstroke.h glutint.h ..\include\GL\glutf90.h
+glut_hel12.obj: glut_hel12.c glutbitmap.h glutint.h ..\include\GL\glutf90.h
+glut_8x13.obj: glut_8x13.c glutbitmap.h glutint.h ..\include\GL\glutf90.h
+glut_hel18.obj: glut_hel18.c glutbitmap.h glutint.h ..\include\GL\glutf90.h
+glut_9x15.obj: glut_9x15.c glutbitmap.h glutint.h ..\include\GL\glutf90.h
+glut_tr10.obj: glut_tr10.c glutbitmap.h glutint.h ..\include\GL\glutf90.h
+glut_hel10.obj: glut_hel10.c glutbitmap.h glutint.h ..\include\GL\glutf90.h
+glut_tr24.obj: glut_tr24.c glutbitmap.h glutint.h ..\include\GL\glutf90.h
+
+glut_bitmap.obj: glut_bitmap.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_bwidth.obj: glut_bwidth.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_cindex.obj: glut_cindex.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_cmap.obj: glut_cmap.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_cursor.obj: glut_cursor.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_dials.obj: glut_dials.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_dstr.obj: glut_dstr.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_event.obj: glut_event.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_ext.obj: glut_ext.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_fullscrn.obj: glut_fullscrn.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_gamemode.obj: glut_gamemode.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_get.obj: glut_get.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_init.obj: glut_init.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_input.obj: glut_input.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_joy.obj: glut_joy.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_key.obj: glut_key.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_keyctrl.obj: glut_keyctrl.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_keyup.obj: glut_keyup.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_mesa.obj: glut_mesa.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_modifier.obj: glut_modifier.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_overlay.obj: glut_overlay.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_shapes.obj: glut_shapes.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_space.obj: glut_space.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_swap.obj: glut_swap.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_swidth.obj: glut_swidth.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_tablet.obj: glut_tablet.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_teapot.obj: glut_teapot.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_util.obj: glut_util.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_vidresize.obj: glut_vidresize.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_warp.obj: glut_warp.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
+glut_win.obj: glut_win.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h
+glut_winmisc.obj: glut_winmisc.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
diff --git a/src/glut/glx/glut.def b/src/glut/glx/glut.def
new file mode 100644
index 0000000000..94da6ab852
--- /dev/null
+++ b/src/glut/glx/glut.def
@@ -0,0 +1,126 @@
+DESCRIPTION 'OpenGL Utility Toolkit for Win32'
+
+VERSION 3.7
+
+EXPORTS
+
+ glutAddMenuEntry
+ glutAddSubMenu
+ glutAttachMenu
+ glutBitmapCharacter
+ glutBitmapLength
+ glutBitmapWidth
+ glutButtonBoxFunc
+ glutChangeToMenuEntry
+ glutChangeToSubMenu
+ glutCopyColormap
+ glutCreateMenu
+ __glutCreateMenuWithExit
+ glutCreateSubWindow
+ glutCreateWindow
+ __glutCreateWindowWithExit
+ glutDestroyMenu
+ glutDestroyWindow
+ glutDetachMenu
+ glutDeviceGet
+ glutDialsFunc
+ glutDisplayFunc
+ glutEnterGameMode
+ glutEntryFunc
+ glutEstablishOverlay
+ glutExtensionSupported
+ glutForceJoystickFunc
+ glutFullScreen
+ glutGameModeGet
+ glutGameModeString
+ glutGet
+ glutGetColor
+ glutGetMenu
+ glutGetModifiers
+ glutGetWindow
+ glutHideOverlay
+ glutHideWindow
+ glutIconifyWindow
+ glutIdleFunc
+ glutIgnoreKeyRepeat
+ glutInit
+ __glutInitWithExit
+ glutInitDisplayMode
+ glutInitDisplayString
+ glutInitWindowPosition
+ glutInitWindowSize
+ glutJoystickFunc
+ glutKeyboardFunc
+ glutKeyboardUpFunc
+ glutLayerGet
+ glutLeaveGameMode
+ glutMainLoop
+ glutMenuStateFunc
+ glutMenuStatusFunc
+ glutMotionFunc
+ glutMouseFunc
+ glutOverlayDisplayFunc
+ glutPassiveMotionFunc
+ glutPopWindow
+ glutPositionWindow
+ glutPostOverlayRedisplay
+ glutPostRedisplay
+ glutPostWindowOverlayRedisplay
+ glutPostWindowRedisplay
+ glutPushWindow
+ glutRemoveMenuItem
+ glutRemoveOverlay
+ glutReportErrors
+ glutReshapeFunc
+ glutReshapeWindow
+ glutSetColor
+ glutSetCursor
+ glutSetIconTitle
+ glutSetKeyRepeat
+ glutSetMenu
+ glutSetWindow
+ glutSetWindowTitle
+ glutSetupVideoResizing
+ glutShowOverlay
+ glutShowWindow
+ glutSolidCone
+ glutSolidCube
+ glutSolidDodecahedron
+ glutSolidIcosahedron
+ glutSolidOctahedron
+ glutSolidSphere
+ glutSolidTeapot
+ glutSolidTetrahedron
+ glutSolidTorus
+ glutSpaceballButtonFunc
+ glutSpaceballMotionFunc
+ glutSpaceballRotateFunc
+ glutSpecialFunc
+ glutSpecialUpFunc
+ glutStopVideoResizing
+ glutStrokeCharacter
+ glutStrokeLength
+ glutStrokeWidth
+ glutSwapBuffers
+ glutTabletButtonFunc
+ glutTabletMotionFunc
+ glutTimerFunc
+ glutUseLayer
+ glutVideoPan
+ glutVideoResize
+ glutVideoResizeGet
+ glutVisibilityFunc
+ glutWarpPointer
+ glutWindowStatusFunc
+ glutWireCone
+ glutWireCube
+ glutWireDodecahedron
+ glutWireIcosahedron
+ glutWireOctahedron
+ glutWireSphere
+ glutWireTeapot
+ glutWireTetrahedron
+ glutWireTorus
+; __glutSetFCB
+; __glutGetFCB
+
diff --git a/src/glut/glx/win32_x11.h b/src/glut/glx/win32_x11.h
index bb49977316..70de906091 100644
--- a/src/glut/glx/win32_x11.h
+++ b/src/glut/glx/win32_x11.h
@@ -1,319 +1,326 @@
-#ifndef __win32_x11_h__
-#define __win32_x11_h__
-
-/* Copyright (c) Nate Robins, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-#include <windows.h>
-
-/* Type definitions (conversions) */
-typedef int Visual; /* Win32 equivalent of X11 type */
-typedef HWND Window;
-typedef HPALETTE Colormap;
-typedef PIXELFORMATDESCRIPTOR XVisualInfo;
-typedef BOOL Bool;
-typedef MSG XEvent;
-typedef HDC Display;
-typedef HCURSOR Cursor;
-
-typedef int Atom; /* dummies */
-typedef int XDevice;
-typedef int Status;
-
-#define True TRUE /* Win32 equivalents of X11 booleans */
-#define False FALSE
-
-#define None 0L /* universal null resource or null atom */
-
-/* Input Event Masks. Used as event-mask window attribute and as arguments
- to Grab requests. Not to be confused with event names. */
-
-#define NoEventMask 0L
-#define KeyPressMask (1L<<0)
-#define KeyReleaseMask (1L<<1)
-#define ButtonPressMask (1L<<2)
-#define ButtonReleaseMask (1L<<3)
-#define EnterWindowMask (1L<<4)
-#define LeaveWindowMask (1L<<5)
-#define PointerMotionMask (1L<<6)
-#define PointerMotionHintMask (1L<<7)
-#define Button1MotionMask (1L<<8)
-#define Button2MotionMask (1L<<9)
-#define Button3MotionMask (1L<<10)
-#define Button4MotionMask (1L<<11)
-#define Button5MotionMask (1L<<12)
-#define ButtonMotionMask (1L<<13)
-#define KeymapStateMask (1L<<14)
-#define ExposureMask (1L<<15)
-#define VisibilityChangeMask (1L<<16)
-#define StructureNotifyMask (1L<<17)
-#define ResizeRedirectMask (1L<<18)
-#define SubstructureNotifyMask (1L<<19)
-#define SubstructureRedirectMask (1L<<20)
-#define FocusChangeMask (1L<<21)
-#define PropertyChangeMask (1L<<22)
-#define ColormapChangeMask (1L<<23)
-#define OwnerGrabButtonMask (1L<<24)
-
-/* Key masks. Used as modifiers to GrabButton and GrabKey, results of
- QueryPointer, state in various key-, mouse-, and button-related
- events. */
-
-#define ShiftMask (1<<0)
-#define LockMask (1<<1)
-#define ControlMask (1<<2)
-#define Mod1Mask (1<<3)
-#define Mod2Mask (1<<4)
-#define Mod3Mask (1<<5)
-#define Mod4Mask (1<<6)
-#define Mod5Mask (1<<7)
-
-/* Window classes used by CreateWindow */
-/* Note that CopyFromParent is already defined as 0 above */
-
-#define InputOutput 1
-#define InputOnly 2
-
-/* Window attributes for CreateWindow and ChangeWindowAttributes */
-
-#define CWBackPixmap (1L<<0)
-#define CWBackPixel (1L<<1)
-#define CWBorderPixmap (1L<<2)
-#define CWBorderPixel (1L<<3)
-#define CWBitGravity (1L<<4)
-#define CWWinGravity (1L<<5)
-#define CWBackingStore (1L<<6)
-#define CWBackingPlanes (1L<<7)
-#define CWBackingPixel (1L<<8)
-#define CWOverrideRedirect (1L<<9)
-#define CWSaveUnder (1L<<10)
-#define CWEventMask (1L<<11)
-#define CWDontPropagate (1L<<12)
-#define CWColormap (1L<<13)
-#define CWCursor (1L<<14)
-
-/* ConfigureWindow structure */
-
-#define CWX (1<<0)
-#define CWY (1<<1)
-#define CWWidth (1<<2)
-#define CWHeight (1<<3)
-#define CWBorderWidth (1<<4)
-#define CWSibling (1<<5)
-#define CWStackMode (1<<6)
-
-
-/* Used in GetWindowAttributes reply */
-
-#define IsUnmapped 0
-#define IsUnviewable 1
-#define IsViewable 2
-
-/* Window stacking method (in configureWindow) */
-
-#define Above 0
-#define Below 1
-#define TopIf 2
-#define BottomIf 3
-#define Opposite 4
-
-/* For CreateColormap */
-
-#define AllocNone 0 /* create map with no entries */
-#define AllocAll 1 /* allocate entire map writeable */
-
-
-/* Flags used in StoreNamedColor, StoreColors */
-
-#define DoRed (1<<0)
-#define DoGreen (1<<1)
-#define DoBlue (1<<2)
-
-/*
- * Bitmask returned by XParseGeometry(). Each bit tells if the corresponding
- * value (x, y, width, height) was found in the parsed string.
- */
-#define NoValue 0x0000
-#define XValue 0x0001
-#define YValue 0x0002
-#define WidthValue 0x0004
-#define HeightValue 0x0008
-#define AllValues 0x000F
-#define XNegative 0x0010
-#define YNegative 0x0020
-
-/* flags argument in size hints */
-#define USPosition (1L << 0) /* user specified x, y */
-#define USSize (1L << 1) /* user specified width, height */
-
-/* definitions for initial window state */
-#define WithdrawnState 0 /* for windows that are not mapped */
-#define NormalState 1 /* most applications want to start this way */
-#define IconicState 3 /* application wants to start as an icon */
-#define GameModeState 4 /* Win32 GLUT only (not in Xlib!). */
-
-/* Type definitions */
-
-typedef struct {
- unsigned int background_pixmap; /* background pixmap */
- unsigned long background_pixel; /* background pixel */
- unsigned long border_pixel; /* border pixel value */
- long event_mask; /* set of events that should be saved */
- long do_not_propagate_mask; /* set of events that should not propagate */
- Bool override_redirect; /* boolean value for override-redirect */
- Colormap colormap; /* color map to be associated with window */
-} XSetWindowAttributes;
-
-typedef struct {
- unsigned long pixel;
- unsigned short red, green, blue;
- char flags; /* do_red, do_green, do_blue */
-} XColor;
-
-typedef struct {
- unsigned char *value; /* same as Property routines */
- Atom encoding; /* prop type */
- int format; /* prop data format: 8, 16, or 32 */
- unsigned long nitems; /* number of data items in value */
-} XTextProperty;
-
-typedef struct {
- long flags; /* marks which fields in this structure are defined */
- int x, y; /* obsolete for new window mgrs, but clients */
- int width, height; /* should set so old wm's don't mess up */
-} XSizeHints;
-
-/* Functions emulated by macros. */
-
-#define XFreeColormap(display, colormap) \
- DeleteObject(colormap)
-
-#define XCreateFontCursor(display, shape) \
- LoadCursor(NULL, shape)
-
-#define XDefineCursor(display, window, cursor) \
- SetCursor(cursor)
-
-#define XFlush(display) \
- /* Nothing. */
-
-#define DisplayWidth(display, screen) \
- GetSystemMetrics(SM_CXSCREEN)
-
-#define DisplayHeight(display, screen) \
- GetSystemMetrics(SM_CYSCREEN)
-
-#define XMapWindow(display, window) \
- ShowWindow(window, SW_SHOWNORMAL)
-
-#define XUnmapWindow(display, window) \
- ShowWindow(window, SW_HIDE)
-
-#define XIconifyWindow(display, window, screen) \
- ShowWindow(window, SW_MINIMIZE)
-
-#define XWithdrawWindow(display, window, screen) \
- ShowWindow(window, SW_HIDE)
-
-#define XLowerWindow(display, window) \
- SetWindowPos(window, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE)
-
-#define XSetWMName(display, window, tp) \
- SetWindowText(window, (tp)->value)
-
-/* There really isn't a way to set the icon name separate from the
- windows name in Win32, so, just set the windows name. */
-#define XSetWMIconName(display, window, tp) \
- XSetWMName(display, window, tp)
-
-#define XDestroyWindow(display, window) \
- DestroyWindow(window)
-
-/* Anything that needs to be freed was allocated with malloc in our
- fake X windows library for Win32, so free it with plain old
- free(). */
-#define XFree(data) \
- free(data)
-
-/* Nothing to be done for this...the pointer is always 'ungrabbed'
- in Win32. */
-#define XUngrabPointer(display, time) \
- /* Nothing. */
-
-/* Function prototypes. */
-
-extern XVisualInfo* XGetVisualInfo(
- Display* display,
- long mask,
- XVisualInfo* ttemplate, /* Avoid class with C++ keyword. */
- int*nitems);
-
-extern Colormap XCreateColormap(
- Display* display,
- Window root,
- Visual* visual,
- int alloc);
-
-extern void XAllocColorCells(
- Display* display,
- Colormap colormap,
- Bool contig,
- unsigned long plane_masks_return[],
- unsigned int nplanes,
- unsigned long pixels_return[],
- unsigned int npixels);
-
-extern void XStoreColor(
- Display* display,
- Colormap colormap,
- XColor* color);
-
-extern void XSetWindowColormap(
- Display* display,
- Window window,
- Colormap colormap);
-
-extern Bool XTranslateCoordinates(
- Display *display,
- Window src, Window dst,
- int src_x, int src_y,
- int* dest_x_return, int* dest_y_return,
- Window* child_return);
-
-extern Status XGetGeometry(
- Display* display,
- Window window,
- Window* root_return,
- int* x_return, int* y_return,
- unsigned int* width_return, unsigned int* height_return,
- unsigned int *border_width_return,
- unsigned int* depth_return);
-
-extern int DisplayWidthMM(
- Display* display,
- int screen);
-
-extern int DisplayHeightMM(
- Display* display,
- int screen);
-
-extern void XWarpPointer(
- Display* display,
- Window src, Window dst,
- int src_x, int src_y,
- int src_width, int src_height,
- int dst_x, int dst_y);
-
-extern int XParseGeometry(
- char* string,
- int* x, int* y,
- unsigned int* width, unsigned int* height);
-
-extern int XPending(
- Display* display);
-
-#endif /* __win32_x11_h__ */
+#ifndef __win32_x11_h__
+#define __win32_x11_h__
+
+/* Copyright (c) Nate Robins, 1997. */
+
+/* This program is freely distributable without licensing fees
+ and is provided without guarantee or warrantee expressed or
+ implied. This program is -not- in the public domain. */
+
+#include <stdlib.h>
+#include <windows.h>
+
+/* These definitions are missing from windows.h */
+WINGDIAPI int WINAPI wglChoosePixelFormat(HDC, PIXELFORMATDESCRIPTOR *);
+WINGDIAPI int WINAPI wglDescribePixelFormat(HDC, int, UINT, LPPIXELFORMATDESCRIPTOR);
+WINGDIAPI int WINAPI wglGetPixelFormat(HDC);
+WINGDIAPI BOOL WINAPI wglSetPixelFormat(HDC, int, PIXELFORMATDESCRIPTOR *);
+WINGDIAPI BOOL WINAPI wglSwapBuffers(HDC);
+
+/* Type definitions (conversions) */
+typedef int Visual; /* Win32 equivalent of X11 type */
+typedef HWND Window;
+typedef HPALETTE Colormap;
+typedef PIXELFORMATDESCRIPTOR XVisualInfo;
+typedef BOOL Bool;
+typedef MSG XEvent;
+typedef HDC Display;
+typedef HCURSOR Cursor;
+
+typedef int Atom; /* dummies */
+typedef int XDevice;
+typedef int Status;
+
+#define True TRUE /* Win32 equivalents of X11 booleans */
+#define False FALSE
+
+#define None 0L /* universal null resource or null atom */
+
+/* Input Event Masks. Used as event-mask window attribute and as arguments
+ to Grab requests. Not to be confused with event names. */
+
+#define NoEventMask 0L
+#define KeyPressMask (1L<<0)
+#define KeyReleaseMask (1L<<1)
+#define ButtonPressMask (1L<<2)
+#define ButtonReleaseMask (1L<<3)
+#define EnterWindowMask (1L<<4)
+#define LeaveWindowMask (1L<<5)
+#define PointerMotionMask (1L<<6)
+#define PointerMotionHintMask (1L<<7)
+#define Button1MotionMask (1L<<8)
+#define Button2MotionMask (1L<<9)
+#define Button3MotionMask (1L<<10)
+#define Button4MotionMask (1L<<11)
+#define Button5MotionMask (1L<<12)
+#define ButtonMotionMask (1L<<13)
+#define KeymapStateMask (1L<<14)
+#define ExposureMask (1L<<15)
+#define VisibilityChangeMask (1L<<16)
+#define StructureNotifyMask (1L<<17)
+#define ResizeRedirectMask (1L<<18)
+#define SubstructureNotifyMask (1L<<19)
+#define SubstructureRedirectMask (1L<<20)
+#define FocusChangeMask (1L<<21)
+#define PropertyChangeMask (1L<<22)
+#define ColormapChangeMask (1L<<23)
+#define OwnerGrabButtonMask (1L<<24)
+
+/* Key masks. Used as modifiers to GrabButton and GrabKey, results of
+ QueryPointer, state in various key-, mouse-, and button-related
+ events. */
+
+#define ShiftMask (1<<0)
+#define LockMask (1<<1)
+#define ControlMask (1<<2)
+#define Mod1Mask (1<<3)
+#define Mod2Mask (1<<4)
+#define Mod3Mask (1<<5)
+#define Mod4Mask (1<<6)
+#define Mod5Mask (1<<7)
+
+/* Window classes used by CreateWindow */
+/* Note that CopyFromParent is already defined as 0 above */
+
+#define InputOutput 1
+#define InputOnly 2
+
+/* Window attributes for CreateWindow and ChangeWindowAttributes */
+
+#define CWBackPixmap (1L<<0)
+#define CWBackPixel (1L<<1)
+#define CWBorderPixmap (1L<<2)
+#define CWBorderPixel (1L<<3)
+#define CWBitGravity (1L<<4)
+#define CWWinGravity (1L<<5)
+#define CWBackingStore (1L<<6)
+#define CWBackingPlanes (1L<<7)
+#define CWBackingPixel (1L<<8)
+#define CWOverrideRedirect (1L<<9)
+#define CWSaveUnder (1L<<10)
+#define CWEventMask (1L<<11)
+#define CWDontPropagate (1L<<12)
+#define CWColormap (1L<<13)
+#define CWCursor (1L<<14)
+
+/* ConfigureWindow structure */
+
+#define CWX (1<<0)
+#define CWY (1<<1)
+#define CWWidth (1<<2)
+#define CWHeight (1<<3)
+#define CWBorderWidth (1<<4)
+#define CWSibling (1<<5)
+#define CWStackMode (1<<6)
+
+
+/* Used in GetWindowAttributes reply */
+
+#define IsUnmapped 0
+#define IsUnviewable 1
+#define IsViewable 2
+
+/* Window stacking method (in configureWindow) */
+
+#define Above 0
+#define Below 1
+#define TopIf 2
+#define BottomIf 3
+#define Opposite 4
+
+/* For CreateColormap */
+
+#define AllocNone 0 /* create map with no entries */
+#define AllocAll 1 /* allocate entire map writeable */
+
+
+/* Flags used in StoreNamedColor, StoreColors */
+
+#define DoRed (1<<0)
+#define DoGreen (1<<1)
+#define DoBlue (1<<2)
+
+/*
+ * Bitmask returned by XParseGeometry(). Each bit tells if the corresponding
+ * value (x, y, width, height) was found in the parsed string.
+ */
+#define NoValue 0x0000
+#define XValue 0x0001
+#define YValue 0x0002
+#define WidthValue 0x0004
+#define HeightValue 0x0008
+#define AllValues 0x000F
+#define XNegative 0x0010
+#define YNegative 0x0020
+
+/* flags argument in size hints */
+#define USPosition (1L << 0) /* user specified x, y */
+#define USSize (1L << 1) /* user specified width, height */
+
+/* definitions for initial window state */
+#define WithdrawnState 0 /* for windows that are not mapped */
+#define NormalState 1 /* most applications want to start this way */
+#define IconicState 3 /* application wants to start as an icon */
+#define GameModeState 4 /* Win32 GLUT only (not in Xlib!). */
+
+/* Type definitions */
+
+typedef struct {
+ unsigned int background_pixmap; /* background pixmap */
+ unsigned long background_pixel; /* background pixel */
+ unsigned long border_pixel; /* border pixel value */
+ long event_mask; /* set of events that should be saved */
+ long do_not_propagate_mask; /* set of events that should not propagate */
+ Bool override_redirect; /* boolean value for override-redirect */
+ Colormap colormap; /* color map to be associated with window */
+} XSetWindowAttributes;
+
+typedef struct {
+ unsigned long pixel;
+ unsigned short red, green, blue;
+ char flags; /* do_red, do_green, do_blue */
+} XColor;
+
+typedef struct {
+ unsigned char *value; /* same as Property routines */
+ Atom encoding; /* prop type */
+ int format; /* prop data format: 8, 16, or 32 */
+ unsigned long nitems; /* number of data items in value */
+} XTextProperty;
+
+typedef struct {
+ long flags; /* marks which fields in this structure are defined */
+ int x, y; /* obsolete for new window mgrs, but clients */
+ int width, height; /* should set so old wm's don't mess up */
+} XSizeHints;
+
+/* Functions emulated by macros. */
+
+#define XFreeColormap(display, colormap) \
+ DeleteObject(colormap)
+
+#define XCreateFontCursor(display, shape) \
+ LoadCursor(NULL, shape)
+
+#define XDefineCursor(display, window, cursor) \
+ SetCursor(cursor)
+
+#define XFlush(display) \
+ /* Nothing. */
+
+#define DisplayWidth(display, screen) \
+ GetSystemMetrics(SM_CXSCREEN)
+
+#define DisplayHeight(display, screen) \
+ GetSystemMetrics(SM_CYSCREEN)
+
+#define XMapWindow(display, window) \
+ ShowWindow(window, SW_SHOWNORMAL)
+
+#define XUnmapWindow(display, window) \
+ ShowWindow(window, SW_HIDE)
+
+#define XIconifyWindow(display, window, screen) \
+ ShowWindow(window, SW_MINIMIZE)
+
+#define XWithdrawWindow(display, window, screen) \
+ ShowWindow(window, SW_HIDE)
+
+#define XLowerWindow(display, window) \
+ SetWindowPos(window, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE)
+
+#define XSetWMName(display, window, tp) \
+ SetWindowText(window, (tp)->value)
+
+/* There really isn't a way to set the icon name separate from the
+ windows name in Win32, so, just set the windows name. */
+#define XSetWMIconName(display, window, tp) \
+ XSetWMName(display, window, tp)
+
+#define XDestroyWindow(display, window) \
+ DestroyWindow(window)
+
+/* Anything that needs to be freed was allocated with malloc in our
+ fake X windows library for Win32, so free it with plain old
+ free(). */
+#define XFree(data) \
+ free(data)
+
+/* Nothing to be done for this...the pointer is always 'ungrabbed'
+ in Win32. */
+#define XUngrabPointer(display, time) \
+ /* Nothing. */
+
+/* Function prototypes. */
+
+extern XVisualInfo* XGetVisualInfo(
+ Display* display,
+ long mask,
+ XVisualInfo* ttemplate, /* Avoid class with C++ keyword. */
+ int*nitems);
+
+extern Colormap XCreateColormap(
+ Display* display,
+ Window root,
+ Visual* visual,
+ int alloc);
+
+extern void XAllocColorCells(
+ Display* display,
+ Colormap colormap,
+ Bool contig,
+ unsigned long plane_masks_return[],
+ unsigned int nplanes,
+ unsigned long pixels_return[],
+ unsigned int npixels);
+
+extern void XStoreColor(
+ Display* display,
+ Colormap colormap,
+ XColor* color);
+
+extern void XSetWindowColormap(
+ Display* display,
+ Window window,
+ Colormap colormap);
+
+extern Bool XTranslateCoordinates(
+ Display *display,
+ Window src, Window dst,
+ int src_x, int src_y,
+ int* dest_x_return, int* dest_y_return,
+ Window* child_return);
+
+extern Status XGetGeometry(
+ Display* display,
+ Window window,
+ Window* root_return,
+ int* x_return, int* y_return,
+ unsigned int* width_return, unsigned int* height_return,
+ unsigned int *border_width_return,
+ unsigned int* depth_return);
+
+extern int DisplayWidthMM(
+ Display* display,
+ int screen);
+
+extern int DisplayHeightMM(
+ Display* display,
+ int screen);
+
+extern void XWarpPointer(
+ Display* display,
+ Window src, Window dst,
+ int src_x, int src_y,
+ int src_width, int src_height,
+ int dst_x, int dst_y);
+
+extern int XParseGeometry(
+ char* string,
+ int* x, int* y,
+ unsigned int* width, unsigned int* height);
+
+extern int XPending(
+ Display* display);
+
+#endif /* __win32_x11_h__ */