ruby-glfw 0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +1 -0
- data/README.API +73 -0
- data/Rakefile +120 -0
- data/examples/boing.rb +519 -0
- data/examples/gears.rb +327 -0
- data/examples/keytest.rb +117 -0
- data/examples/listmodes.rb +20 -0
- data/examples/mipmaps.rb +104 -0
- data/examples/mipmaps.tga +0 -0
- data/examples/particles.rb +837 -0
- data/examples/pong3d.rb +741 -0
- data/examples/pong3d_field.tga +0 -0
- data/examples/pong3d_instr.tga +0 -0
- data/examples/pong3d_menu.tga +0 -0
- data/examples/pong3d_title.tga +0 -0
- data/examples/pong3d_winner1.tga +0 -0
- data/examples/pong3d_winner2.tga +0 -0
- data/examples/splitview.rb +432 -0
- data/examples/triangle.rb +89 -0
- data/examples/wave.rb +294 -0
- data/ext/glfw/glfw.c +1094 -0
- data/ext/glfw/mkrf_conf.rb +70 -0
- data/glfw-src/Makefile +220 -0
- data/glfw-src/compile.ami +61 -0
- data/glfw-src/compile.bat +217 -0
- data/glfw-src/compile.sh +607 -0
- data/glfw-src/docs/Makefile +57 -0
- data/glfw-src/docs/Reference.pdf +0 -0
- data/glfw-src/docs/UsersGuide.pdf +0 -0
- data/glfw-src/docs/cleanup.bat +22 -0
- data/glfw-src/docs/glfwdoc.sty +80 -0
- data/glfw-src/docs/glfwrm.tex +3034 -0
- data/glfw-src/docs/glfwug.tex +2024 -0
- data/glfw-src/docs/readme.txt +80 -0
- data/glfw-src/examples/Makefile.amigaos.gcc +70 -0
- data/glfw-src/examples/Makefile.amigaos.vbcc +70 -0
- data/glfw-src/examples/Makefile.dos.djgpp +71 -0
- data/glfw-src/examples/Makefile.macosx.gcc +96 -0
- data/glfw-src/examples/Makefile.win32.bcc +75 -0
- data/glfw-src/examples/Makefile.win32.cross-mgw +79 -0
- data/glfw-src/examples/Makefile.win32.cygwin +79 -0
- data/glfw-src/examples/Makefile.win32.lcc +74 -0
- data/glfw-src/examples/Makefile.win32.mgw +75 -0
- data/glfw-src/examples/Makefile.win32.msvc +74 -0
- data/glfw-src/examples/Makefile.win32.ow +74 -0
- data/glfw-src/examples/Makefile.win32.pellesc +74 -0
- data/glfw-src/examples/Makefile.x11.in +54 -0
- data/glfw-src/examples/boing.c +606 -0
- data/glfw-src/examples/bundle.sh +46 -0
- data/glfw-src/examples/gears.c +382 -0
- data/glfw-src/examples/keytest.c +264 -0
- data/glfw-src/examples/listmodes.c +48 -0
- data/glfw-src/examples/mipmaps.c +126 -0
- data/glfw-src/examples/mipmaps.tga +0 -0
- data/glfw-src/examples/mtbench.c +301 -0
- data/glfw-src/examples/mthello.c +48 -0
- data/glfw-src/examples/particles.c +1148 -0
- data/glfw-src/examples/pong3d.c +839 -0
- data/glfw-src/examples/pong3d_field.tga +0 -0
- data/glfw-src/examples/pong3d_instr.tga +0 -0
- data/glfw-src/examples/pong3d_menu.tga +0 -0
- data/glfw-src/examples/pong3d_title.tga +0 -0
- data/glfw-src/examples/pong3d_winner1.tga +0 -0
- data/glfw-src/examples/pong3d_winner2.tga +0 -0
- data/glfw-src/examples/splitview.c +506 -0
- data/glfw-src/examples/triangle.c +108 -0
- data/glfw-src/examples/wave.c +397 -0
- data/glfw-src/images/opengl.gif +0 -0
- data/glfw-src/images/osicert.gif +0 -0
- data/glfw-src/include/GL/glfw.h +486 -0
- data/glfw-src/lib/amigaos/Makefile.amigaos.gcc +128 -0
- data/glfw-src/lib/amigaos/Makefile.amigaos.vbcc +128 -0
- data/glfw-src/lib/amigaos/SDI_compiler.h +94 -0
- data/glfw-src/lib/amigaos/amigaos_enable.c +51 -0
- data/glfw-src/lib/amigaos/amigaos_fullscreen.c +319 -0
- data/glfw-src/lib/amigaos/amigaos_glext.c +61 -0
- data/glfw-src/lib/amigaos/amigaos_init.c +284 -0
- data/glfw-src/lib/amigaos/amigaos_joystick.c +359 -0
- data/glfw-src/lib/amigaos/amigaos_thread.c +494 -0
- data/glfw-src/lib/amigaos/amigaos_time.c +206 -0
- data/glfw-src/lib/amigaos/amigaos_window.c +830 -0
- data/glfw-src/lib/amigaos/platform.h +337 -0
- data/glfw-src/lib/dos/Makefile.dos.djgpp +146 -0
- data/glfw-src/lib/dos/dos_enable.c +51 -0
- data/glfw-src/lib/dos/dos_events.c +173 -0
- data/glfw-src/lib/dos/dos_fullscreen.c +101 -0
- data/glfw-src/lib/dos/dos_glext.c +59 -0
- data/glfw-src/lib/dos/dos_init.c +105 -0
- data/glfw-src/lib/dos/dos_irq.s +246 -0
- data/glfw-src/lib/dos/dos_joystick.c +94 -0
- data/glfw-src/lib/dos/dos_keyboard.c +694 -0
- data/glfw-src/lib/dos/dos_mouse.c +337 -0
- data/glfw-src/lib/dos/dos_thread.c +267 -0
- data/glfw-src/lib/dos/dos_time.c +309 -0
- data/glfw-src/lib/dos/dos_window.c +563 -0
- data/glfw-src/lib/dos/platform.h +341 -0
- data/glfw-src/lib/enable.c +295 -0
- data/glfw-src/lib/fullscreen.c +95 -0
- data/glfw-src/lib/glext.c +201 -0
- data/glfw-src/lib/image.c +629 -0
- data/glfw-src/lib/init.c +108 -0
- data/glfw-src/lib/input.c +280 -0
- data/glfw-src/lib/internal.h +210 -0
- data/glfw-src/lib/joystick.c +101 -0
- data/glfw-src/lib/macosx/Makefile.macosx.gcc +172 -0
- data/glfw-src/lib/macosx/Makefile.macosx.gcc.universal +166 -0
- data/glfw-src/lib/macosx/libglfw.pc.in +11 -0
- data/glfw-src/lib/macosx/macosx_enable.c +42 -0
- data/glfw-src/lib/macosx/macosx_fullscreen.c +126 -0
- data/glfw-src/lib/macosx/macosx_glext.c +52 -0
- data/glfw-src/lib/macosx/macosx_init.c +194 -0
- data/glfw-src/lib/macosx/macosx_joystick.c +50 -0
- data/glfw-src/lib/macosx/macosx_thread.c +414 -0
- data/glfw-src/lib/macosx/macosx_time.c +112 -0
- data/glfw-src/lib/macosx/macosx_window.c +1279 -0
- data/glfw-src/lib/macosx/platform.h +349 -0
- data/glfw-src/lib/stream.c +194 -0
- data/glfw-src/lib/tga.c +405 -0
- data/glfw-src/lib/thread.c +340 -0
- data/glfw-src/lib/time.c +83 -0
- data/glfw-src/lib/win32/Makefile.win32.bcc +265 -0
- data/glfw-src/lib/win32/Makefile.win32.cross-mgw +274 -0
- data/glfw-src/lib/win32/Makefile.win32.cygwin +279 -0
- data/glfw-src/lib/win32/Makefile.win32.lcc +246 -0
- data/glfw-src/lib/win32/Makefile.win32.mgw +243 -0
- data/glfw-src/lib/win32/Makefile.win32.msvc +242 -0
- data/glfw-src/lib/win32/Makefile.win32.ow +242 -0
- data/glfw-src/lib/win32/Makefile.win32.pellesc +242 -0
- data/glfw-src/lib/win32/glfwdll.def +67 -0
- data/glfw-src/lib/win32/glfwdll_mgw1.def +67 -0
- data/glfw-src/lib/win32/glfwdll_mgw2.def +67 -0
- data/glfw-src/lib/win32/glfwdll_pellesc.def +65 -0
- data/glfw-src/lib/win32/libglfw.pc.in +11 -0
- data/glfw-src/lib/win32/platform.h +474 -0
- data/glfw-src/lib/win32/win32_dllmain.c +60 -0
- data/glfw-src/lib/win32/win32_enable.c +155 -0
- data/glfw-src/lib/win32/win32_fullscreen.c +317 -0
- data/glfw-src/lib/win32/win32_glext.c +85 -0
- data/glfw-src/lib/win32/win32_init.c +356 -0
- data/glfw-src/lib/win32/win32_joystick.c +234 -0
- data/glfw-src/lib/win32/win32_thread.c +511 -0
- data/glfw-src/lib/win32/win32_time.c +146 -0
- data/glfw-src/lib/win32/win32_window.c +1714 -0
- data/glfw-src/lib/window.c +727 -0
- data/glfw-src/lib/x11/Makefile.x11.in +243 -0
- data/glfw-src/lib/x11/platform.h +415 -0
- data/glfw-src/lib/x11/x11_enable.c +51 -0
- data/glfw-src/lib/x11/x11_fullscreen.c +524 -0
- data/glfw-src/lib/x11/x11_glext.c +69 -0
- data/glfw-src/lib/x11/x11_init.c +275 -0
- data/glfw-src/lib/x11/x11_joystick.c +371 -0
- data/glfw-src/lib/x11/x11_keysym2unicode.c +902 -0
- data/glfw-src/lib/x11/x11_thread.c +507 -0
- data/glfw-src/lib/x11/x11_time.c +154 -0
- data/glfw-src/lib/x11/x11_window.c +1746 -0
- data/glfw-src/license.txt +21 -0
- data/glfw-src/readme.html +927 -0
- data/glfw-src/support/d/examples/Makefile +59 -0
- data/glfw-src/support/d/examples/boing.d +610 -0
- data/glfw-src/support/d/examples/gears.d +379 -0
- data/glfw-src/support/d/examples/keytest.d +272 -0
- data/glfw-src/support/d/examples/listmodes.d +48 -0
- data/glfw-src/support/d/examples/mipmaps.d +126 -0
- data/glfw-src/support/d/examples/mtbench.d +304 -0
- data/glfw-src/support/d/examples/mthello.d +54 -0
- data/glfw-src/support/d/examples/particles.d +1150 -0
- data/glfw-src/support/d/examples/pong3d.d +840 -0
- data/glfw-src/support/d/examples/splitview.d +486 -0
- data/glfw-src/support/d/examples/triangle.d +108 -0
- data/glfw-src/support/d/examples/wave.d +400 -0
- data/glfw-src/support/d/imports/gl.d +4539 -0
- data/glfw-src/support/d/imports/glfw.d +349 -0
- data/glfw-src/support/d/imports/glu.d +328 -0
- data/glfw-src/support/d/lib/glfwdll.def +64 -0
- data/glfw-src/support/d/lib/glu32.def +56 -0
- data/glfw-src/support/d/lib/makefile +12 -0
- data/glfw-src/support/d/lib/opengl32.def +372 -0
- data/glfw-src/support/d/readme.html +83 -0
- data/glfw-src/support/delphi/examples/Triangle.dpr +105 -0
- data/glfw-src/support/delphi/lib/glfw.pas +437 -0
- data/glfw-src/support/delphi/readme.html +97 -0
- data/glfw-src/support/lua/examples/gears.lua +383 -0
- data/glfw-src/support/lua/examples/test1.lua +68 -0
- data/glfw-src/support/lua/readme.html +128 -0
- data/glfw-src/support/lua/src/luaglfw.c +1179 -0
- data/glfw-src/support/lua/src/luaglfw.h +48 -0
- data/glfw-src/support/lua/src/runlua.c +82 -0
- data/glfw-src/support/masm/examples/fpc.mac +47 -0
- data/glfw-src/support/masm/examples/makeit.bat +66 -0
- data/glfw-src/support/masm/examples/triangle.asm +232 -0
- data/glfw-src/support/masm/include/glfw.inc +326 -0
- data/glfw-src/support/masm/include/glu32.inc +55 -0
- data/glfw-src/support/masm/include/opengl32.inc +372 -0
- data/glfw-src/support/masm/lib/glfwdll.lib +0 -0
- data/glfw-src/support/masm/readme.html +170 -0
- data/glfw-src/support/msvc80/GLFW.sln +26 -0
- data/glfw-src/support/msvc80/GLFW.vcproj +257 -0
- data/glfw-src/support/msvc80/GLFWDLL.vcproj +287 -0
- data/glfw-src/support/visualbasic/bindings/glfw.bas +320 -0
- data/glfw-src/support/visualbasic/bindings/glu32.bas +284 -0
- data/glfw-src/support/visualbasic/bindings/opengl32.bas +999 -0
- data/glfw-src/support/visualbasic/examples/Triangle.bas +101 -0
- data/glfw-src/support/visualbasic/readme.html +164 -0
- data/website/index.html +84 -0
- data/website/style.css +110 -0
- metadata +301 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
LIBRARY GLFW.DLL
|
|
2
|
+
|
|
3
|
+
EXPORTS
|
|
4
|
+
glfwBroadcastCond
|
|
5
|
+
glfwCloseWindow
|
|
6
|
+
glfwCreateCond
|
|
7
|
+
glfwCreateMutex
|
|
8
|
+
glfwCreateThread
|
|
9
|
+
glfwDestroyCond
|
|
10
|
+
glfwDestroyMutex
|
|
11
|
+
glfwDestroyThread
|
|
12
|
+
glfwDisable
|
|
13
|
+
glfwEnable
|
|
14
|
+
glfwExtensionSupported
|
|
15
|
+
glfwFreeImage
|
|
16
|
+
glfwGetDesktopMode
|
|
17
|
+
glfwGetGLVersion
|
|
18
|
+
glfwGetJoystickButtons
|
|
19
|
+
glfwGetJoystickParam
|
|
20
|
+
glfwGetJoystickPos
|
|
21
|
+
glfwGetKey
|
|
22
|
+
glfwGetMouseButton
|
|
23
|
+
glfwGetMousePos
|
|
24
|
+
glfwGetMouseWheel
|
|
25
|
+
glfwGetNumberOfProcessors
|
|
26
|
+
glfwGetProcAddress
|
|
27
|
+
glfwGetThreadID
|
|
28
|
+
glfwGetTime
|
|
29
|
+
glfwGetVersion
|
|
30
|
+
glfwGetVideoModes
|
|
31
|
+
glfwGetWindowParam
|
|
32
|
+
glfwGetWindowSize
|
|
33
|
+
glfwIconifyWindow
|
|
34
|
+
glfwInit
|
|
35
|
+
glfwLoadMemoryTexture2D
|
|
36
|
+
glfwLoadTexture2D
|
|
37
|
+
glfwLoadTextureImage2D
|
|
38
|
+
glfwLockMutex
|
|
39
|
+
glfwOpenWindow
|
|
40
|
+
glfwOpenWindowHint
|
|
41
|
+
glfwPollEvents
|
|
42
|
+
glfwReadImage
|
|
43
|
+
glfwReadMemoryImage
|
|
44
|
+
glfwRestoreWindow
|
|
45
|
+
glfwSetCharCallback
|
|
46
|
+
glfwSetKeyCallback
|
|
47
|
+
glfwSetMouseButtonCallback
|
|
48
|
+
glfwSetMousePos
|
|
49
|
+
glfwSetMousePosCallback
|
|
50
|
+
glfwSetMouseWheel
|
|
51
|
+
glfwSetMouseWheelCallback
|
|
52
|
+
glfwSetTime
|
|
53
|
+
glfwSetWindowCloseCallback
|
|
54
|
+
glfwSetWindowRefreshCallback
|
|
55
|
+
glfwSetWindowPos
|
|
56
|
+
glfwSetWindowSize
|
|
57
|
+
glfwSetWindowSizeCallback
|
|
58
|
+
glfwSetWindowTitle
|
|
59
|
+
glfwSignalCond
|
|
60
|
+
glfwSleep
|
|
61
|
+
glfwSwapBuffers
|
|
62
|
+
glfwSwapInterval
|
|
63
|
+
glfwTerminate
|
|
64
|
+
glfwUnlockMutex
|
|
65
|
+
glfwWaitCond
|
|
66
|
+
glfwWaitEvents
|
|
67
|
+
glfwWaitThread
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
LIBRARY GLFW.DLL
|
|
2
|
+
|
|
3
|
+
EXPORTS
|
|
4
|
+
glfwBroadcastCond = glfwBroadcastCond@4
|
|
5
|
+
glfwCloseWindow = glfwCloseWindow@0
|
|
6
|
+
glfwCreateCond = glfwCreateCond@0
|
|
7
|
+
glfwCreateMutex = glfwCreateMutex@0
|
|
8
|
+
glfwCreateThread = glfwCreateThread@8
|
|
9
|
+
glfwDestroyCond = glfwDestroyCond@4
|
|
10
|
+
glfwDestroyMutex = glfwDestroyMutex@4
|
|
11
|
+
glfwDestroyThread = glfwDestroyThread@4
|
|
12
|
+
glfwDisable = glfwDisable@4
|
|
13
|
+
glfwEnable = glfwEnable@4
|
|
14
|
+
glfwExtensionSupported = glfwExtensionSupported@4
|
|
15
|
+
glfwFreeImage = glfwFreeImage@4
|
|
16
|
+
glfwGetDesktopMode = glfwGetDesktopMode@4
|
|
17
|
+
glfwGetGLVersion = glfwGetGLVersion@12
|
|
18
|
+
glfwGetJoystickButtons = glfwGetJoystickButtons@12
|
|
19
|
+
glfwGetJoystickParam = glfwGetJoystickParam@8
|
|
20
|
+
glfwGetJoystickPos = glfwGetJoystickPos@12
|
|
21
|
+
glfwGetKey = glfwGetKey@4
|
|
22
|
+
glfwGetMouseButton = glfwGetMouseButton@4
|
|
23
|
+
glfwGetMousePos = glfwGetMousePos@8
|
|
24
|
+
glfwGetMouseWheel = glfwGetMouseWheel@0
|
|
25
|
+
glfwGetNumberOfProcessors = glfwGetNumberOfProcessors@0
|
|
26
|
+
glfwGetProcAddress = glfwGetProcAddress@4
|
|
27
|
+
glfwGetThreadID = glfwGetThreadID@0
|
|
28
|
+
glfwGetTime = glfwGetTime@0
|
|
29
|
+
glfwGetVersion = glfwGetVersion@12
|
|
30
|
+
glfwGetVideoModes = glfwGetVideoModes@8
|
|
31
|
+
glfwGetWindowParam = glfwGetWindowParam@4
|
|
32
|
+
glfwGetWindowSize = glfwGetWindowSize@8
|
|
33
|
+
glfwIconifyWindow = glfwIconifyWindow@0
|
|
34
|
+
glfwInit = glfwInit@0
|
|
35
|
+
glfwLoadMemoryTexture2D = glfwLoadMemoryTexture2D@12
|
|
36
|
+
glfwLoadTexture2D = glfwLoadTexture2D@8
|
|
37
|
+
glfwLoadTextureImage2D = glfwLoadTextureImage2D@8
|
|
38
|
+
glfwLockMutex = glfwLockMutex@4
|
|
39
|
+
glfwOpenWindow = glfwOpenWindow@36
|
|
40
|
+
glfwOpenWindowHint = glfwOpenWindowHint@8
|
|
41
|
+
glfwPollEvents = glfwPollEvents@0
|
|
42
|
+
glfwReadImage = glfwReadImage@12
|
|
43
|
+
glfwReadMemoryImage = glfwReadMemoryImage@16
|
|
44
|
+
glfwRestoreWindow = glfwRestoreWindow@0
|
|
45
|
+
glfwSetCharCallback = glfwSetCharCallback@4
|
|
46
|
+
glfwSetKeyCallback = glfwSetKeyCallback@4
|
|
47
|
+
glfwSetMouseButtonCallback = glfwSetMouseButtonCallback@4
|
|
48
|
+
glfwSetMousePos = glfwSetMousePos@8
|
|
49
|
+
glfwSetMousePosCallback = glfwSetMousePosCallback@4
|
|
50
|
+
glfwSetMouseWheel = glfwSetMouseWheel@4
|
|
51
|
+
glfwSetMouseWheelCallback = glfwSetMouseWheelCallback@4
|
|
52
|
+
glfwSetTime = glfwSetTime@8
|
|
53
|
+
glfwSetWindowCloseCallback = glfwSetWindowCloseCallback@4
|
|
54
|
+
glfwSetWindowRefreshCallback = glfwSetWindowRefreshCallback@4
|
|
55
|
+
glfwSetWindowPos = glfwSetWindowPos@8
|
|
56
|
+
glfwSetWindowSize = glfwSetWindowSize@8
|
|
57
|
+
glfwSetWindowSizeCallback = glfwSetWindowSizeCallback@4
|
|
58
|
+
glfwSetWindowTitle = glfwSetWindowTitle@4
|
|
59
|
+
glfwSignalCond = glfwSignalCond@4
|
|
60
|
+
glfwSleep = glfwSleep@8
|
|
61
|
+
glfwSwapBuffers = glfwSwapBuffers@0
|
|
62
|
+
glfwSwapInterval = glfwSwapInterval@4
|
|
63
|
+
glfwTerminate = glfwTerminate@0
|
|
64
|
+
glfwUnlockMutex = glfwUnlockMutex@4
|
|
65
|
+
glfwWaitCond = glfwWaitCond@16
|
|
66
|
+
glfwWaitEvents = glfwWaitEvents@0
|
|
67
|
+
glfwWaitThread = glfwWaitThread@8
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
LIBRARY GLFW.DLL
|
|
2
|
+
|
|
3
|
+
EXPORTS
|
|
4
|
+
glfwBroadcastCond@4
|
|
5
|
+
glfwCloseWindow@0
|
|
6
|
+
glfwCreateCond@0
|
|
7
|
+
glfwCreateMutex@0
|
|
8
|
+
glfwCreateThread@8
|
|
9
|
+
glfwDestroyCond@4
|
|
10
|
+
glfwDestroyMutex@4
|
|
11
|
+
glfwDestroyThread@4
|
|
12
|
+
glfwDisable@4
|
|
13
|
+
glfwEnable@4
|
|
14
|
+
glfwExtensionSupported@4
|
|
15
|
+
glfwFreeImage@4
|
|
16
|
+
glfwGetDesktopMode@4
|
|
17
|
+
glfwGetGLVersion@12
|
|
18
|
+
glfwGetJoystickButtons@12
|
|
19
|
+
glfwGetJoystickParam@8
|
|
20
|
+
glfwGetJoystickPos@12
|
|
21
|
+
glfwGetKey@4
|
|
22
|
+
glfwGetMouseButton@4
|
|
23
|
+
glfwGetMousePos@8
|
|
24
|
+
glfwGetMouseWheel@0
|
|
25
|
+
glfwGetNumberOfProcessors@0
|
|
26
|
+
glfwGetProcAddress@4
|
|
27
|
+
glfwGetThreadID@0
|
|
28
|
+
glfwGetTime@0
|
|
29
|
+
glfwGetVersion@12
|
|
30
|
+
glfwGetVideoModes@8
|
|
31
|
+
glfwGetWindowParam@4
|
|
32
|
+
glfwGetWindowSize@8
|
|
33
|
+
glfwIconifyWindow@0
|
|
34
|
+
glfwInit@0
|
|
35
|
+
glfwLoadMemoryTexture2D@12
|
|
36
|
+
glfwLoadTexture2D@8
|
|
37
|
+
glfwLoadTextureImage2D@8
|
|
38
|
+
glfwLockMutex@4
|
|
39
|
+
glfwOpenWindow@36
|
|
40
|
+
glfwOpenWindowHint@8
|
|
41
|
+
glfwPollEvents@0
|
|
42
|
+
glfwReadImage@12
|
|
43
|
+
glfwReadMemoryImage@16
|
|
44
|
+
glfwRestoreWindow@0
|
|
45
|
+
glfwSetCharCallback@4
|
|
46
|
+
glfwSetKeyCallback@4
|
|
47
|
+
glfwSetMouseButtonCallback@4
|
|
48
|
+
glfwSetMousePos@8
|
|
49
|
+
glfwSetMousePosCallback@4
|
|
50
|
+
glfwSetMouseWheel@4
|
|
51
|
+
glfwSetMouseWheelCallback@4
|
|
52
|
+
glfwSetTime@8
|
|
53
|
+
glfwSetWindowCloseCallback@4
|
|
54
|
+
glfwSetWindowRefreshCallback@4
|
|
55
|
+
glfwSetWindowPos@8
|
|
56
|
+
glfwSetWindowSize@8
|
|
57
|
+
glfwSetWindowSizeCallback@4
|
|
58
|
+
glfwSetWindowTitle@4
|
|
59
|
+
glfwSignalCond@4
|
|
60
|
+
glfwSleep@8
|
|
61
|
+
glfwSwapBuffers@0
|
|
62
|
+
glfwSwapInterval@4
|
|
63
|
+
glfwTerminate@0
|
|
64
|
+
glfwUnlockMutex@4
|
|
65
|
+
glfwWaitCond@16
|
|
66
|
+
glfwWaitEvents@0
|
|
67
|
+
glfwWaitThread@8
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
LIBRARY GLFW
|
|
2
|
+
|
|
3
|
+
EXPORTS
|
|
4
|
+
glfwBroadcastCond = glfwBroadcastCond@4
|
|
5
|
+
glfwCloseWindow = glfwCloseWindow@0
|
|
6
|
+
glfwCreateCond = glfwCreateCond@0
|
|
7
|
+
glfwCreateMutex = glfwCreateMutex@0
|
|
8
|
+
glfwCreateThread = glfwCreateThread@8
|
|
9
|
+
glfwDestroyCond = glfwDestroyCond@4
|
|
10
|
+
glfwDestroyMutex = glfwDestroyMutex@4
|
|
11
|
+
glfwDestroyThread = glfwDestroyThread@4
|
|
12
|
+
glfwDisable = glfwDisable@4
|
|
13
|
+
glfwEnable = glfwEnable@4
|
|
14
|
+
glfwExtensionSupported = glfwExtensionSupported@4
|
|
15
|
+
glfwFreeImage = glfwFreeImage@4
|
|
16
|
+
glfwGetDesktopMode = glfwGetDesktopMode@4
|
|
17
|
+
glfwGetGLVersion = glfwGetGLVersion@12
|
|
18
|
+
glfwGetJoystickButtons = glfwGetJoystickButtons@12
|
|
19
|
+
glfwGetJoystickParam = glfwGetJoystickParam@8
|
|
20
|
+
glfwGetJoystickPos = glfwGetJoystickPos@12
|
|
21
|
+
glfwGetKey = glfwGetKey@4
|
|
22
|
+
glfwGetMouseButton = glfwGetMouseButton@4
|
|
23
|
+
glfwGetMousePos = glfwGetMousePos@8
|
|
24
|
+
glfwGetMouseWheel = glfwGetMouseWheel@0
|
|
25
|
+
glfwGetNumberOfProcessors = glfwGetNumberOfProcessors@0
|
|
26
|
+
glfwGetProcAddress = glfwGetProcAddress@4
|
|
27
|
+
glfwGetThreadID = glfwGetThreadID@0
|
|
28
|
+
glfwGetTime = glfwGetTime@0
|
|
29
|
+
glfwGetVersion = glfwGetVersion@12
|
|
30
|
+
glfwGetVideoModes = glfwGetVideoModes@8
|
|
31
|
+
glfwGetWindowParam = glfwGetWindowParam@4
|
|
32
|
+
glfwGetWindowSize = glfwGetWindowSize@8
|
|
33
|
+
glfwIconifyWindow = glfwIconifyWindow@0
|
|
34
|
+
glfwInit = glfwInit@0
|
|
35
|
+
glfwLoadTexture2D = glfwLoadTexture2D@8
|
|
36
|
+
glfwLockMutex = glfwLockMutex@4
|
|
37
|
+
glfwOpenWindow = glfwOpenWindow@36
|
|
38
|
+
glfwOpenWindowHint = glfwOpenWindowHint@8
|
|
39
|
+
glfwPollEvents = glfwPollEvents@0
|
|
40
|
+
glfwReadImage = glfwReadImage@12
|
|
41
|
+
glfwReadMemoryImage = glfwReadMemoryImage@16
|
|
42
|
+
glfwRestoreWindow = glfwRestoreWindow@0
|
|
43
|
+
glfwSetCharCallback = glfwSetCharCallback@4
|
|
44
|
+
glfwSetKeyCallback = glfwSetKeyCallback@4
|
|
45
|
+
glfwSetMouseButtonCallback = glfwSetMouseButtonCallback@4
|
|
46
|
+
glfwSetMousePos = glfwSetMousePos@8
|
|
47
|
+
glfwSetMousePosCallback = glfwSetMousePosCallback@4
|
|
48
|
+
glfwSetMouseWheel = glfwSetMouseWheel@4
|
|
49
|
+
glfwSetMouseWheelCallback = glfwSetMouseWheelCallback@4
|
|
50
|
+
glfwSetTime = glfwSetTime@8
|
|
51
|
+
glfwSetWindowCloseCallback = glfwSetWindowCloseCallback@4
|
|
52
|
+
glfwSetWindowRefreshCallback = glfwSetWindowRefreshCallback@4
|
|
53
|
+
glfwSetWindowPos = glfwSetWindowPos@8
|
|
54
|
+
glfwSetWindowSize = glfwSetWindowSize@8
|
|
55
|
+
glfwSetWindowSizeCallback = glfwSetWindowSizeCallback@4
|
|
56
|
+
glfwSetWindowTitle = glfwSetWindowTitle@4
|
|
57
|
+
glfwSignalCond = glfwSignalCond@4
|
|
58
|
+
glfwSleep = glfwSleep@8
|
|
59
|
+
glfwSwapBuffers = glfwSwapBuffers@0
|
|
60
|
+
glfwSwapInterval = glfwSwapInterval@4
|
|
61
|
+
glfwTerminate = glfwTerminate@0
|
|
62
|
+
glfwUnlockMutex = glfwUnlockMutex@4
|
|
63
|
+
glfwWaitCond = glfwWaitCond@16
|
|
64
|
+
glfwWaitEvents = glfwWaitEvents@0
|
|
65
|
+
glfwWaitThread = glfwWaitThread@8
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
prefix=@PREFIX@
|
|
2
|
+
exec_prefix=@PREFIX@
|
|
3
|
+
libdir=@PREFIX@/lib
|
|
4
|
+
includedir=@PREFIX@/include
|
|
5
|
+
|
|
6
|
+
Name: GLFW
|
|
7
|
+
Description: A portable framework for OpenGL development
|
|
8
|
+
Version: 2.6.0
|
|
9
|
+
URL: http://glfw.sourceforge.net/
|
|
10
|
+
Libs: -L${libdir} -lglfw -lglu32 -lopengl32 -lm -s -mwindows -e _mainCRTStartup
|
|
11
|
+
Cflags: -I${includedir} -mwin32
|
|
@@ -0,0 +1,474 @@
|
|
|
1
|
+
//========================================================================
|
|
2
|
+
// GLFW - An OpenGL framework
|
|
3
|
+
// File: platform.h
|
|
4
|
+
// Platform: Windows
|
|
5
|
+
// API version: 2.6
|
|
6
|
+
// WWW: http://glfw.sourceforge.net
|
|
7
|
+
//------------------------------------------------------------------------
|
|
8
|
+
// Copyright (c) 2002-2006 Camilla Berglund
|
|
9
|
+
//
|
|
10
|
+
// This software is provided 'as-is', without any express or implied
|
|
11
|
+
// warranty. In no event will the authors be held liable for any damages
|
|
12
|
+
// arising from the use of this software.
|
|
13
|
+
//
|
|
14
|
+
// Permission is granted to anyone to use this software for any purpose,
|
|
15
|
+
// including commercial applications, and to alter it and redistribute it
|
|
16
|
+
// freely, subject to the following restrictions:
|
|
17
|
+
//
|
|
18
|
+
// 1. The origin of this software must not be misrepresented; you must not
|
|
19
|
+
// claim that you wrote the original software. If you use this software
|
|
20
|
+
// in a product, an acknowledgment in the product documentation would
|
|
21
|
+
// be appreciated but is not required.
|
|
22
|
+
//
|
|
23
|
+
// 2. Altered source versions must be plainly marked as such, and must not
|
|
24
|
+
// be misrepresented as being the original software.
|
|
25
|
+
//
|
|
26
|
+
// 3. This notice may not be removed or altered from any source
|
|
27
|
+
// distribution.
|
|
28
|
+
//
|
|
29
|
+
//========================================================================
|
|
30
|
+
|
|
31
|
+
#ifndef _platform_h_
|
|
32
|
+
#define _platform_h_
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
// This is the Windows version of GLFW
|
|
36
|
+
#define _GLFW_WIN32
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
// Include files
|
|
40
|
+
#include <windows.h>
|
|
41
|
+
#include <mmsystem.h>
|
|
42
|
+
#include "../../include/GL/glfw.h"
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
//========================================================================
|
|
46
|
+
// Hack: Define things that some <windows.h>'s do not define
|
|
47
|
+
//========================================================================
|
|
48
|
+
|
|
49
|
+
// Some old versions of w32api (used by MinGW and Cygwin) define
|
|
50
|
+
// WH_KEYBOARD_LL without typedef:ing KBDLLHOOKSTRUCT (!)
|
|
51
|
+
#if defined(__MINGW32__) || defined(__CYGWIN__)
|
|
52
|
+
#include <w32api.h>
|
|
53
|
+
#if defined(WH_KEYBOARD_LL) && (__W32API_MAJOR_VERSION == 1) && (__W32API_MINOR_VERSION <= 2)
|
|
54
|
+
#undef WH_KEYBOARD_LL
|
|
55
|
+
#endif
|
|
56
|
+
#endif
|
|
57
|
+
|
|
58
|
+
//------------------------------------------------------------------------
|
|
59
|
+
// ** NOTE ** If this gives you compiler errors and you are using MinGW
|
|
60
|
+
// (or Dev-C++), update to w32api version 1.3 or later:
|
|
61
|
+
// http://sourceforge.net/project/showfiles.php?group_id=2435
|
|
62
|
+
//------------------------------------------------------------------------
|
|
63
|
+
#ifndef WH_KEYBOARD_LL
|
|
64
|
+
#define WH_KEYBOARD_LL 13
|
|
65
|
+
typedef struct tagKBDLLHOOKSTRUCT {
|
|
66
|
+
DWORD vkCode;
|
|
67
|
+
DWORD scanCode;
|
|
68
|
+
DWORD flags;
|
|
69
|
+
DWORD time;
|
|
70
|
+
DWORD dwExtraInfo;
|
|
71
|
+
} KBDLLHOOKSTRUCT, FAR *LPKBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;
|
|
72
|
+
#endif // WH_KEYBOARD_LL
|
|
73
|
+
|
|
74
|
+
#ifndef LLKHF_ALTDOWN
|
|
75
|
+
#define LLKHF_ALTDOWN 0x00000020
|
|
76
|
+
#endif
|
|
77
|
+
|
|
78
|
+
#ifndef SPI_SETSCREENSAVERRUNNING
|
|
79
|
+
#define SPI_SETSCREENSAVERRUNNING 97
|
|
80
|
+
#endif
|
|
81
|
+
#ifndef SPI_GETANIMATION
|
|
82
|
+
#define SPI_GETANIMATION 72
|
|
83
|
+
#endif
|
|
84
|
+
#ifndef SPI_SETANIMATION
|
|
85
|
+
#define SPI_SETANIMATION 73
|
|
86
|
+
#endif
|
|
87
|
+
#ifndef SPI_GETFOREGROUNDLOCKTIMEOUT
|
|
88
|
+
#define SPI_GETFOREGROUNDLOCKTIMEOUT 0x2000
|
|
89
|
+
#endif
|
|
90
|
+
#ifndef SPI_SETFOREGROUNDLOCKTIMEOUT
|
|
91
|
+
#define SPI_SETFOREGROUNDLOCKTIMEOUT 0x2001
|
|
92
|
+
#endif
|
|
93
|
+
|
|
94
|
+
#ifndef CDS_FULLSCREEN
|
|
95
|
+
#define CDS_FULLSCREEN 4
|
|
96
|
+
#endif
|
|
97
|
+
|
|
98
|
+
#ifndef PFD_GENERIC_ACCELERATED
|
|
99
|
+
#define PFD_GENERIC_ACCELERATED 0x00001000
|
|
100
|
+
#endif
|
|
101
|
+
#ifndef PFD_DEPTH_DONTCARE
|
|
102
|
+
#define PFD_DEPTH_DONTCARE 0x20000000
|
|
103
|
+
#endif
|
|
104
|
+
|
|
105
|
+
#ifndef ENUM_CURRENT_SETTINGS
|
|
106
|
+
#define ENUM_CURRENT_SETTINGS -1
|
|
107
|
+
#endif
|
|
108
|
+
#ifndef ENUM_REGISTRY_SETTINGS
|
|
109
|
+
#define ENUM_REGISTRY_SETTINGS -2
|
|
110
|
+
#endif
|
|
111
|
+
|
|
112
|
+
#ifndef WM_MOUSEWHEEL
|
|
113
|
+
#define WM_MOUSEWHEEL 0x020A
|
|
114
|
+
#endif
|
|
115
|
+
#ifndef WHEEL_DELTA
|
|
116
|
+
#define WHEEL_DELTA 120
|
|
117
|
+
#endif
|
|
118
|
+
|
|
119
|
+
#ifndef WM_XBUTTONDOWN
|
|
120
|
+
#define WM_XBUTTONDOWN 0x020B
|
|
121
|
+
#endif
|
|
122
|
+
#ifndef WM_XBUTTONUP
|
|
123
|
+
#define WM_XBUTTONUP 0x020C
|
|
124
|
+
#endif
|
|
125
|
+
#ifndef XBUTTON1
|
|
126
|
+
#define XBUTTON1 1
|
|
127
|
+
#endif
|
|
128
|
+
#ifndef XBUTTON2
|
|
129
|
+
#define XBUTTON2 2
|
|
130
|
+
#endif
|
|
131
|
+
|
|
132
|
+
// wglSwapIntervalEXT typedef (Win32 buffer-swap interval control)
|
|
133
|
+
typedef int (APIENTRY * WGLSWAPINTERVALEXT_T) (int);
|
|
134
|
+
// wglChoosePixelFormatARB typedef
|
|
135
|
+
typedef BOOL (WINAPI * WGLCHOOSEPIXELFORMATARB_T) (HDC, const int *, const FLOAT *, UINT, int *, UINT *);
|
|
136
|
+
// wglGetPixelFormatAttribivARB typedef
|
|
137
|
+
typedef BOOL (WINAPI * WGLGETPIXELFORMATATTRIBIVARB_T) (HDC, int, int, UINT, const int *, int *);
|
|
138
|
+
// wglGetExtensionStringEXT typedef
|
|
139
|
+
typedef const char *(APIENTRY * WGLGETEXTENSIONSSTRINGEXT_T)( void );
|
|
140
|
+
// wglGetExtensionStringARB typedef
|
|
141
|
+
typedef const char *(APIENTRY * WGLGETEXTENSIONSSTRINGARB_T)( HDC );
|
|
142
|
+
|
|
143
|
+
#define WGL_DRAW_TO_WINDOW_ARB 0x2001
|
|
144
|
+
#define WGL_SUPPORT_OPENGL_ARB 0x2010
|
|
145
|
+
#define WGL_ACCELERATION_ARB 0x2003
|
|
146
|
+
#define WGL_FULL_ACCELERATION_ARB 0x2027
|
|
147
|
+
#define WGL_DOUBLE_BUFFER_ARB 0x2011
|
|
148
|
+
#define WGL_STEREO_ARB 0x2012
|
|
149
|
+
#define WGL_COLOR_BITS_ARB 0x2014
|
|
150
|
+
#define WGL_RED_BITS_ARB 0x2015
|
|
151
|
+
#define WGL_GREEN_BITS_ARB 0x2017
|
|
152
|
+
#define WGL_BLUE_BITS_ARB 0x2019
|
|
153
|
+
#define WGL_ALPHA_BITS_ARB 0x201B
|
|
154
|
+
#define WGL_ACCUM_BITS_ARB 0x201D
|
|
155
|
+
#define WGL_ACCUM_RED_BITS_ARB 0x201E
|
|
156
|
+
#define WGL_ACCUM_GREEN_BITS_ARB 0x201F
|
|
157
|
+
#define WGL_ACCUM_BLUE_BITS_ARB 0x2020
|
|
158
|
+
#define WGL_ACCUM_ALPHA_BITS_ARB 0x2021
|
|
159
|
+
#define WGL_DEPTH_BITS_ARB 0x2022
|
|
160
|
+
#define WGL_STENCIL_BITS_ARB 0x2023
|
|
161
|
+
#define WGL_AUX_BUFFERS_ARB 0x2024
|
|
162
|
+
#define WGL_SAMPLE_BUFFERS_ARB 0x2041
|
|
163
|
+
#define WGL_SAMPLES_ARB 0x2042
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
//========================================================================
|
|
167
|
+
// DLLs that are loaded at glfwInit()
|
|
168
|
+
//========================================================================
|
|
169
|
+
|
|
170
|
+
// gdi32.dll function pointer typedefs
|
|
171
|
+
#ifndef _GLFW_NO_DLOAD_GDI32
|
|
172
|
+
typedef int (WINAPI * CHOOSEPIXELFORMAT_T) (HDC,CONST PIXELFORMATDESCRIPTOR*);
|
|
173
|
+
typedef int (WINAPI * DESCRIBEPIXELFORMAT_T) (HDC,int,UINT,LPPIXELFORMATDESCRIPTOR);
|
|
174
|
+
typedef int (WINAPI * GETPIXELFORMAT_T) (HDC);
|
|
175
|
+
typedef BOOL (WINAPI * SETPIXELFORMAT_T) (HDC,int,const PIXELFORMATDESCRIPTOR*);
|
|
176
|
+
typedef BOOL (WINAPI * SWAPBUFFERS_T) (HDC);
|
|
177
|
+
#endif // _GLFW_NO_DLOAD_GDI32
|
|
178
|
+
|
|
179
|
+
// winmm.dll function pointer typedefs
|
|
180
|
+
#ifndef _GLFW_NO_DLOAD_WINMM
|
|
181
|
+
typedef MMRESULT (WINAPI * JOYGETDEVCAPSA_T) (UINT,LPJOYCAPSA,UINT);
|
|
182
|
+
typedef MMRESULT (WINAPI * JOYGETPOS_T) (UINT,LPJOYINFO);
|
|
183
|
+
typedef MMRESULT (WINAPI * JOYGETPOSEX_T) (UINT,LPJOYINFOEX);
|
|
184
|
+
typedef DWORD (WINAPI * TIMEGETTIME_T) (void);
|
|
185
|
+
#endif // _GLFW_NO_DLOAD_WINMM
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
// gdi32.dll shortcuts
|
|
189
|
+
#ifndef _GLFW_NO_DLOAD_GDI32
|
|
190
|
+
#define _glfw_ChoosePixelFormat _glfwLibrary.Libs.ChoosePixelFormat
|
|
191
|
+
#define _glfw_DescribePixelFormat _glfwLibrary.Libs.DescribePixelFormat
|
|
192
|
+
#define _glfw_GetPixelFormat _glfwLibrary.Libs.GetPixelFormat
|
|
193
|
+
#define _glfw_SetPixelFormat _glfwLibrary.Libs.SetPixelFormat
|
|
194
|
+
#define _glfw_SwapBuffers _glfwLibrary.Libs.SwapBuffers
|
|
195
|
+
#else
|
|
196
|
+
#define _glfw_ChoosePixelFormat ChoosePixelFormat
|
|
197
|
+
#define _glfw_DescribePixelFormat DescribePixelFormat
|
|
198
|
+
#define _glfw_GetPixelFormat GetPixelFormat
|
|
199
|
+
#define _glfw_SetPixelFormat SetPixelFormat
|
|
200
|
+
#define _glfw_SwapBuffers SwapBuffers
|
|
201
|
+
#endif // _GLFW_NO_DLOAD_GDI32
|
|
202
|
+
|
|
203
|
+
// winmm.dll shortcuts
|
|
204
|
+
#ifndef _GLFW_NO_DLOAD_WINMM
|
|
205
|
+
#define _glfw_joyGetDevCaps _glfwLibrary.Libs.joyGetDevCapsA
|
|
206
|
+
#define _glfw_joyGetPos _glfwLibrary.Libs.joyGetPos
|
|
207
|
+
#define _glfw_joyGetPosEx _glfwLibrary.Libs.joyGetPosEx
|
|
208
|
+
#define _glfw_timeGetTime _glfwLibrary.Libs.timeGetTime
|
|
209
|
+
#else
|
|
210
|
+
#define _glfw_joyGetDevCaps joyGetDevCapsA
|
|
211
|
+
#define _glfw_joyGetPos joyGetPos
|
|
212
|
+
#define _glfw_joyGetPosEx joyGetPosEx
|
|
213
|
+
#define _glfw_timeGetTime timeGetTime
|
|
214
|
+
#endif // _GLFW_NO_DLOAD_WINMM
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
//========================================================================
|
|
218
|
+
// Global variables (GLFW internals)
|
|
219
|
+
//========================================================================
|
|
220
|
+
|
|
221
|
+
//------------------------------------------------------------------------
|
|
222
|
+
// Window structure
|
|
223
|
+
//------------------------------------------------------------------------
|
|
224
|
+
typedef struct _GLFWwin_struct _GLFWwin;
|
|
225
|
+
|
|
226
|
+
struct _GLFWwin_struct {
|
|
227
|
+
|
|
228
|
+
// ========= PLATFORM INDEPENDENT MANDATORY PART =========================
|
|
229
|
+
|
|
230
|
+
// User callback functions
|
|
231
|
+
GLFWwindowsizefun WindowSizeCallback;
|
|
232
|
+
GLFWwindowclosefun WindowCloseCallback;
|
|
233
|
+
GLFWwindowrefreshfun WindowRefreshCallback;
|
|
234
|
+
GLFWmousebuttonfun MouseButtonCallback;
|
|
235
|
+
GLFWmouseposfun MousePosCallback;
|
|
236
|
+
GLFWmousewheelfun MouseWheelCallback;
|
|
237
|
+
GLFWkeyfun KeyCallback;
|
|
238
|
+
GLFWcharfun CharCallback;
|
|
239
|
+
|
|
240
|
+
// User selected window settings
|
|
241
|
+
int Fullscreen; // Fullscreen flag
|
|
242
|
+
int MouseLock; // Mouse-lock flag
|
|
243
|
+
int AutoPollEvents; // Auto polling flag
|
|
244
|
+
int SysKeysDisabled; // System keys disabled flag
|
|
245
|
+
int WindowNoResize; // Resize- and maximize gadgets disabled flag
|
|
246
|
+
|
|
247
|
+
// Window status & parameters
|
|
248
|
+
int Opened; // Flag telling if window is opened or not
|
|
249
|
+
int Active; // Application active flag
|
|
250
|
+
int Iconified; // Window iconified flag
|
|
251
|
+
int Width, Height; // Window width and heigth
|
|
252
|
+
int Accelerated; // GL_TRUE if window is HW accelerated
|
|
253
|
+
int RedBits;
|
|
254
|
+
int GreenBits;
|
|
255
|
+
int BlueBits;
|
|
256
|
+
int AlphaBits;
|
|
257
|
+
int DepthBits;
|
|
258
|
+
int StencilBits;
|
|
259
|
+
int AccumRedBits;
|
|
260
|
+
int AccumGreenBits;
|
|
261
|
+
int AccumBlueBits;
|
|
262
|
+
int AccumAlphaBits;
|
|
263
|
+
int AuxBuffers;
|
|
264
|
+
int Stereo;
|
|
265
|
+
int RefreshRate; // Vertical monitor refresh rate
|
|
266
|
+
int Samples;
|
|
267
|
+
|
|
268
|
+
// Extensions & OpenGL version
|
|
269
|
+
int Has_GL_SGIS_generate_mipmap;
|
|
270
|
+
int Has_GL_ARB_texture_non_power_of_two;
|
|
271
|
+
int GLVerMajor,GLVerMinor;
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
// ========= PLATFORM SPECIFIC PART ======================================
|
|
275
|
+
|
|
276
|
+
// Platform specific window resources
|
|
277
|
+
HDC DC; // Private GDI device context
|
|
278
|
+
HGLRC RC; // Permanent rendering context
|
|
279
|
+
HWND Wnd; // Window handle
|
|
280
|
+
ATOM ClassAtom; // Window class atom
|
|
281
|
+
int ModeID; // Mode ID for fullscreen mode
|
|
282
|
+
HHOOK KeyboardHook; // Keyboard hook handle
|
|
283
|
+
DWORD dwStyle; // Window styles used for window creation
|
|
284
|
+
DWORD dwExStyle; // --"--
|
|
285
|
+
|
|
286
|
+
// Platform specific extensions (context specific)
|
|
287
|
+
WGLSWAPINTERVALEXT_T SwapInterval;
|
|
288
|
+
WGLCHOOSEPIXELFORMATARB_T ChoosePixelFormat;
|
|
289
|
+
WGLGETPIXELFORMATATTRIBIVARB_T GetPixelFormatAttribiv;
|
|
290
|
+
WGLGETEXTENSIONSSTRINGEXT_T GetExtensionsStringEXT;
|
|
291
|
+
WGLGETEXTENSIONSSTRINGARB_T GetExtensionsStringARB;
|
|
292
|
+
|
|
293
|
+
// Various platform specific internal variables
|
|
294
|
+
int OldMouseLock; // Old mouse-lock flag (used for remembering
|
|
295
|
+
// mouse-lock state when iconifying)
|
|
296
|
+
int OldMouseLockValid;
|
|
297
|
+
int DesiredRefreshRate; // Desired vertical monitor refresh rate
|
|
298
|
+
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
GLFWGLOBAL _GLFWwin _glfwWin;
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
//------------------------------------------------------------------------
|
|
305
|
+
// User input status (most of this should go in _GLFWwin)
|
|
306
|
+
//------------------------------------------------------------------------
|
|
307
|
+
GLFWGLOBAL struct {
|
|
308
|
+
|
|
309
|
+
// ========= PLATFORM INDEPENDENT MANDATORY PART =========================
|
|
310
|
+
|
|
311
|
+
// Mouse status
|
|
312
|
+
int MousePosX, MousePosY;
|
|
313
|
+
int WheelPos;
|
|
314
|
+
char MouseButton[ GLFW_MOUSE_BUTTON_LAST+1 ];
|
|
315
|
+
|
|
316
|
+
// Keyboard status
|
|
317
|
+
char Key[ GLFW_KEY_LAST+1 ];
|
|
318
|
+
int LastChar;
|
|
319
|
+
|
|
320
|
+
// User selected settings
|
|
321
|
+
int StickyKeys;
|
|
322
|
+
int StickyMouseButtons;
|
|
323
|
+
int KeyRepeat;
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
// ========= PLATFORM SPECIFIC PART ======================================
|
|
327
|
+
|
|
328
|
+
// Platform specific internal variables
|
|
329
|
+
int MouseMoved, OldMouseX, OldMouseY;
|
|
330
|
+
|
|
331
|
+
} _glfwInput;
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
//------------------------------------------------------------------------
|
|
335
|
+
// Library global data
|
|
336
|
+
//------------------------------------------------------------------------
|
|
337
|
+
GLFWGLOBAL struct {
|
|
338
|
+
|
|
339
|
+
// ========= PLATFORM SPECIFIC PART ======================================
|
|
340
|
+
|
|
341
|
+
HINSTANCE Instance; // Instance of the application
|
|
342
|
+
|
|
343
|
+
// Timer data
|
|
344
|
+
struct {
|
|
345
|
+
int HasPerformanceCounter;
|
|
346
|
+
double Resolution;
|
|
347
|
+
unsigned int t0_32;
|
|
348
|
+
__int64 t0_64;
|
|
349
|
+
} Timer;
|
|
350
|
+
|
|
351
|
+
// System information
|
|
352
|
+
struct {
|
|
353
|
+
int WinVer;
|
|
354
|
+
int HasUnicode;
|
|
355
|
+
DWORD ForegroundLockTimeout;
|
|
356
|
+
} Sys;
|
|
357
|
+
|
|
358
|
+
#if !defined(_GLFW_NO_DLOAD_WINMM) || !defined(_GLFW_NO_DLOAD_GDI32)
|
|
359
|
+
// Library handles and function pointers
|
|
360
|
+
struct {
|
|
361
|
+
#ifndef _GLFW_NO_DLOAD_GDI32
|
|
362
|
+
// gdi32.dll
|
|
363
|
+
HINSTANCE gdi32;
|
|
364
|
+
CHOOSEPIXELFORMAT_T ChoosePixelFormat;
|
|
365
|
+
DESCRIBEPIXELFORMAT_T DescribePixelFormat;
|
|
366
|
+
GETPIXELFORMAT_T GetPixelFormat;
|
|
367
|
+
SETPIXELFORMAT_T SetPixelFormat;
|
|
368
|
+
SWAPBUFFERS_T SwapBuffers;
|
|
369
|
+
#endif // _GLFW_NO_DLOAD_GDI32
|
|
370
|
+
|
|
371
|
+
// winmm.dll
|
|
372
|
+
#ifndef _GLFW_NO_DLOAD_WINMM
|
|
373
|
+
HINSTANCE winmm;
|
|
374
|
+
JOYGETDEVCAPSA_T joyGetDevCapsA;
|
|
375
|
+
JOYGETPOS_T joyGetPos;
|
|
376
|
+
JOYGETPOSEX_T joyGetPosEx;
|
|
377
|
+
TIMEGETTIME_T timeGetTime;
|
|
378
|
+
#endif // _GLFW_NO_DLOAD_WINMM
|
|
379
|
+
} Libs;
|
|
380
|
+
#endif
|
|
381
|
+
|
|
382
|
+
} _glfwLibrary;
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
//------------------------------------------------------------------------
|
|
386
|
+
// Thread record (one for each thread)
|
|
387
|
+
//------------------------------------------------------------------------
|
|
388
|
+
typedef struct _GLFWthread_struct _GLFWthread;
|
|
389
|
+
|
|
390
|
+
struct _GLFWthread_struct {
|
|
391
|
+
|
|
392
|
+
// ========= PLATFORM INDEPENDENT MANDATORY PART =========================
|
|
393
|
+
|
|
394
|
+
// Pointer to previous and next threads in linked list
|
|
395
|
+
_GLFWthread *Previous, *Next;
|
|
396
|
+
|
|
397
|
+
// GLFW user side thread information
|
|
398
|
+
GLFWthread ID;
|
|
399
|
+
GLFWthreadfun Function;
|
|
400
|
+
|
|
401
|
+
// ========= PLATFORM SPECIFIC PART ======================================
|
|
402
|
+
|
|
403
|
+
// System side thread information
|
|
404
|
+
HANDLE Handle;
|
|
405
|
+
DWORD WinID;
|
|
406
|
+
|
|
407
|
+
};
|
|
408
|
+
|
|
409
|
+
|
|
410
|
+
//------------------------------------------------------------------------
|
|
411
|
+
// General thread information
|
|
412
|
+
//------------------------------------------------------------------------
|
|
413
|
+
GLFWGLOBAL struct {
|
|
414
|
+
|
|
415
|
+
// ========= PLATFORM INDEPENDENT MANDATORY PART =========================
|
|
416
|
+
|
|
417
|
+
// Next thread ID to use (increments for every created thread)
|
|
418
|
+
GLFWthread NextID;
|
|
419
|
+
|
|
420
|
+
// First thread in linked list (always the main thread)
|
|
421
|
+
_GLFWthread First;
|
|
422
|
+
|
|
423
|
+
// ========= PLATFORM SPECIFIC PART ======================================
|
|
424
|
+
|
|
425
|
+
// Critical section lock
|
|
426
|
+
CRITICAL_SECTION CriticalSection;
|
|
427
|
+
|
|
428
|
+
} _glfwThrd;
|
|
429
|
+
|
|
430
|
+
|
|
431
|
+
|
|
432
|
+
//========================================================================
|
|
433
|
+
// Macros for encapsulating critical code sections (i.e. making parts
|
|
434
|
+
// of GLFW thread safe)
|
|
435
|
+
//========================================================================
|
|
436
|
+
|
|
437
|
+
// Thread list management
|
|
438
|
+
#define ENTER_THREAD_CRITICAL_SECTION \
|
|
439
|
+
EnterCriticalSection( &_glfwThrd.CriticalSection );
|
|
440
|
+
#define LEAVE_THREAD_CRITICAL_SECTION \
|
|
441
|
+
LeaveCriticalSection( &_glfwThrd.CriticalSection );
|
|
442
|
+
|
|
443
|
+
|
|
444
|
+
//========================================================================
|
|
445
|
+
// Various Windows version constants
|
|
446
|
+
//========================================================================
|
|
447
|
+
|
|
448
|
+
#define _GLFW_WIN_UNKNOWN 0x0000 // Earlier than 95 or NT4
|
|
449
|
+
#define _GLFW_WIN_95 0x0001
|
|
450
|
+
#define _GLFW_WIN_98 0x0002
|
|
451
|
+
#define _GLFW_WIN_ME 0x0003
|
|
452
|
+
#define _GLFW_WIN_UNKNOWN_9x 0x0004 // Later than ME
|
|
453
|
+
#define _GLFW_WIN_NT4 0x0101
|
|
454
|
+
#define _GLFW_WIN_2K 0x0102
|
|
455
|
+
#define _GLFW_WIN_XP 0x0103
|
|
456
|
+
#define _GLFW_WIN_NET_SERVER 0x0104
|
|
457
|
+
#define _GLFW_WIN_UNKNOWN_NT 0x0105 // Later than .NET Server
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
//========================================================================
|
|
461
|
+
// Prototypes for platform specific internal functions
|
|
462
|
+
//========================================================================
|
|
463
|
+
|
|
464
|
+
// Time
|
|
465
|
+
void _glfwInitTimer( void );
|
|
466
|
+
|
|
467
|
+
// Fullscreen support
|
|
468
|
+
int _glfwGetClosestVideoModeBPP( int *w, int *h, int *bpp, int *refresh );
|
|
469
|
+
int _glfwGetClosestVideoMode( int *w, int *h, int *r, int *g, int *b, int *refresh );
|
|
470
|
+
void _glfwSetVideoModeMODE( int mode );
|
|
471
|
+
void _glfwSetVideoMode( int *w, int *h, int r, int g, int b, int refresh );
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
#endif // _platform_h_
|