ruby-glfw 0.9
Sign up to get free protection for your applications and to get access to all the features.
- 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,83 @@
|
|
1
|
+
<html>
|
2
|
+
|
3
|
+
<head>
|
4
|
+
<title>GLFW Readme file for the D programming language</title>
|
5
|
+
</head>
|
6
|
+
<body>
|
7
|
+
|
8
|
+
<!-- TITLE -------------------------------------------------------------->
|
9
|
+
<center>
|
10
|
+
<font face="bookman old style,arial" size=+4><b>GLFW v2.5</b></font><br>
|
11
|
+
<font face="bookman old style,arial" size=+3>for D</font>
|
12
|
+
</center>
|
13
|
+
|
14
|
+
<!-- CONTENTS ----------------------------------------------------------->
|
15
|
+
<p>
|
16
|
+
<center>
|
17
|
+
<table border=0><tr><td>
|
18
|
+
<b>
|
19
|
+
<ol>
|
20
|
+
<li><a href="#sec1">Introduction</li></a>
|
21
|
+
<li><a href="#sec2">Using GLFW from D</li></a>
|
22
|
+
<li><a href="#sec3">The author</li></a>
|
23
|
+
</ol>
|
24
|
+
</b>
|
25
|
+
</td></tr></table>
|
26
|
+
</center>
|
27
|
+
|
28
|
+
|
29
|
+
<!----------------------------------------------------------------------->
|
30
|
+
<p><hr>
|
31
|
+
<!----------------------------------------------------------------------->
|
32
|
+
|
33
|
+
<a name="sec1">
|
34
|
+
<p><h2>1. Introduction</h2>
|
35
|
+
|
36
|
+
<p>This directory contains D bindings for the GLFW v2.5.x Windows DLL,
|
37
|
+
and D example programs. For further information on how to use GLFW you
|
38
|
+
should read the GLFW documentation.
|
39
|
+
|
40
|
+
<!----------------------------------------------------------------------->
|
41
|
+
<p><hr>
|
42
|
+
<!----------------------------------------------------------------------->
|
43
|
+
|
44
|
+
<a name="sec2">
|
45
|
+
<p><h2>2. Using GLFW from D</h2>
|
46
|
+
|
47
|
+
<p>First you have to install GLFW under your Digital Mars environment.
|
48
|
+
|
49
|
+
<p><ol>
|
50
|
+
<li>Build the OpenGL, GLU and GLFW import libraries in the support\d\lib
|
51
|
+
directory by running 'make'.</li>
|
52
|
+
<li>Copy the resulting .lib files to your dm\lib folder.</li>
|
53
|
+
<li>...</li>
|
54
|
+
</ol>
|
55
|
+
|
56
|
+
<p>More TODO...
|
57
|
+
|
58
|
+
|
59
|
+
<!----------------------------------------------------------------------->
|
60
|
+
<p><hr>
|
61
|
+
<!----------------------------------------------------------------------->
|
62
|
+
|
63
|
+
<a name="sec3">
|
64
|
+
<p><h2>3. The maintainer</h2>
|
65
|
+
|
66
|
+
<p>My name is Camilla Berglund,
|
67
|
+
<a href="mailto:elmindreda@users.sourceforge.net">elmindreda@users.sourceforge.net</a>.
|
68
|
+
Please visit our
|
69
|
+
<a href="http://sourceforge.net/projects/glfw/">support forums</a>
|
70
|
+
if you have any problems with GLFW or any questions concerning GLFW.
|
71
|
+
|
72
|
+
<p>The GLFW web site can be found here:
|
73
|
+
<a href="http://glfw.sourceforge.net/">http://glfw.sourceforge.net/</a>.
|
74
|
+
It contains the latest version of GLFW, news and other information that is
|
75
|
+
useful for OpenGL development.
|
76
|
+
|
77
|
+
<!----------------------------------------------------------------------->
|
78
|
+
<p><hr>
|
79
|
+
<!----------------------------------------------------------------------->
|
80
|
+
|
81
|
+
</body>
|
82
|
+
</html>
|
83
|
+
|
@@ -0,0 +1,105 @@
|
|
1
|
+
program Triangle;
|
2
|
+
|
3
|
+
//========================================================================
|
4
|
+
// This is a small test application for GLFW.
|
5
|
+
// The program opens a window (640x480), and renders a spinning colored
|
6
|
+
// triangle (it is controlled with both the GLFW timer and the mouse). It
|
7
|
+
// also calculates the rendering speed (FPS), which is displayed in the
|
8
|
+
// window title bar.
|
9
|
+
//
|
10
|
+
// Delphi conversion by Jarrod Davis (http://ww.jdsgames.com)
|
11
|
+
//========================================================================
|
12
|
+
|
13
|
+
uses
|
14
|
+
SysUtils, OpenGL, glfw;
|
15
|
+
|
16
|
+
var
|
17
|
+
width, height, running, frames, x, y: Integer;
|
18
|
+
t, t0, fps: Double;
|
19
|
+
titlestr: string;
|
20
|
+
|
21
|
+
begin
|
22
|
+
// Initialize GLFW
|
23
|
+
glfwInit;
|
24
|
+
|
25
|
+
// Open OpenGL window
|
26
|
+
if glfwOpenWindow( 640, 480, 0,0,0,0, 0,0, GLFW_WINDOW ) <> 1 then
|
27
|
+
begin
|
28
|
+
glfwTerminate;
|
29
|
+
Exit;
|
30
|
+
end;
|
31
|
+
|
32
|
+
// Enable sticky keys
|
33
|
+
glfwEnable( GLFW_STICKY_KEYS );
|
34
|
+
|
35
|
+
// Disable vertical sync (on cards that support it)
|
36
|
+
glfwSwapInterval( 0 );
|
37
|
+
|
38
|
+
// Main loop
|
39
|
+
running := 1;
|
40
|
+
frames := 0;
|
41
|
+
t0 := glfwGetTime;
|
42
|
+
while running <> 0 do
|
43
|
+
begin
|
44
|
+
// Get time and mouse position
|
45
|
+
t := glfwGetTime;
|
46
|
+
glfwGetMousePos(x, y );
|
47
|
+
|
48
|
+
// Calculate and display FPS (frames per second)
|
49
|
+
if ((t-t0) > 1.0) or (frames = 0) then
|
50
|
+
begin
|
51
|
+
fps := frames / (t-t0);
|
52
|
+
titlestr := Format('Spinning Triangle (%.1f FPS)', [fps]);
|
53
|
+
glfwSetWindowTitle( PChar(titlestr) );
|
54
|
+
t0 := t;
|
55
|
+
frames := 0;
|
56
|
+
end;
|
57
|
+
inc(frames);
|
58
|
+
|
59
|
+
// Get window size (may be different than the requested size)
|
60
|
+
glfwGetWindowSize( width, height );
|
61
|
+
if height < 1 then height := 1;
|
62
|
+
|
63
|
+
// Set viewport
|
64
|
+
glViewport( 0, 0, width, height );
|
65
|
+
|
66
|
+
// Clear color buffer
|
67
|
+
glClearColor( 0.0, 0.0, 0.0, 0.0 );
|
68
|
+
glClear( GL_COLOR_BUFFER_BIT );
|
69
|
+
|
70
|
+
// Select and setup the projection matrix
|
71
|
+
glMatrixMode( GL_PROJECTION );
|
72
|
+
glLoadIdentity;
|
73
|
+
gluPerspective( 65.0, width/height, 1.0, 100.0 );
|
74
|
+
|
75
|
+
// Select and setup the modelview matrix
|
76
|
+
glMatrixMode( GL_MODELVIEW );
|
77
|
+
glLoadIdentity;
|
78
|
+
gluLookAt( 0.0, 1.0, 0.0, // Eye-position
|
79
|
+
0.0, 20.0, 0.0, // View-point
|
80
|
+
0.0, 0.0, 1.0 ); // Up-vector
|
81
|
+
|
82
|
+
// Draw a rotating colorful triangle
|
83
|
+
glTranslatef( 0.0, 14.0, 0.0 );
|
84
|
+
glRotatef( 0.3*x + t*100.0, 0.0, 0.0, 1.0 );
|
85
|
+
glBegin( GL_TRIANGLES );
|
86
|
+
glColor3f( 1.0, 0.0, 0.0 );
|
87
|
+
glVertex3f( -5.0, 0.0, -4.0 );
|
88
|
+
glColor3f( 0.0, 1.0, 0.0 );
|
89
|
+
glVertex3f( 5.0, 0.0, -4.0 );
|
90
|
+
glColor3f( 0.0, 0.0, 1.0 );
|
91
|
+
glVertex3f( 0.0, 0.0, 6.0 );
|
92
|
+
glEnd;
|
93
|
+
|
94
|
+
// Swap buffers
|
95
|
+
glfwSwapBuffers;
|
96
|
+
|
97
|
+
// Check if the ESC key was pressed or the window was closed
|
98
|
+
running := (not glfwGetKey( GLFW_KEY_ESC )) and
|
99
|
+
glfwGetWindowParam( GLFW_OPENED );
|
100
|
+
end;
|
101
|
+
|
102
|
+
// Close OpenGL window and terminate GLFW
|
103
|
+
glfwTerminate;
|
104
|
+
|
105
|
+
end.
|
@@ -0,0 +1,437 @@
|
|
1
|
+
//========================================================================
|
2
|
+
// GLFW - An OpenGL framework
|
3
|
+
// File: glfw.pas
|
4
|
+
// Platform: Delphi/Windows
|
5
|
+
// API version: 2.5
|
6
|
+
// WWW: http://glfw.sourceforge.net
|
7
|
+
//------------------------------------------------------------------------
|
8
|
+
// Copyright (c) 2002-2005 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
|
+
unit glfw;
|
32
|
+
|
33
|
+
interface
|
34
|
+
|
35
|
+
const
|
36
|
+
|
37
|
+
//========================================================================
|
38
|
+
// GLFW version
|
39
|
+
//========================================================================
|
40
|
+
GLFW_VERSION_MAJOR = 2;
|
41
|
+
GLFW_VERSION_MINOR = 5;
|
42
|
+
GLFW_VERSION_REVISION = 0;
|
43
|
+
|
44
|
+
//========================================================================
|
45
|
+
// Input handling definitions
|
46
|
+
//========================================================================
|
47
|
+
|
48
|
+
// Key and button state/action definitions
|
49
|
+
GLFW_RELEASE = 0;
|
50
|
+
GLFW_PRESS = 1;
|
51
|
+
|
52
|
+
// Keyboard key definitions: 8-bit ISO-8859-1 (Latin 1) encoding is used
|
53
|
+
// for printable keys (such as A-Z, 0-9 etc), and values above 256
|
54
|
+
// represent special (non-printable) keys (e.g. F1, Page Up etc).
|
55
|
+
GLFW_KEY_UNKNOWN = -1;
|
56
|
+
GLFW_KEY_SPACE = 32;
|
57
|
+
GLFW_KEY_SPECIAL = 256;
|
58
|
+
GLFW_KEY_ESC = (GLFW_KEY_SPECIAL+1);
|
59
|
+
GLFW_KEY_F1 = (GLFW_KEY_SPECIAL+2);
|
60
|
+
GLFW_KEY_F2 = (GLFW_KEY_SPECIAL+3);
|
61
|
+
GLFW_KEY_F3 = (GLFW_KEY_SPECIAL+4);
|
62
|
+
GLFW_KEY_F4 = (GLFW_KEY_SPECIAL+5);
|
63
|
+
GLFW_KEY_F5 = (GLFW_KEY_SPECIAL+6);
|
64
|
+
GLFW_KEY_F6 = (GLFW_KEY_SPECIAL+7);
|
65
|
+
GLFW_KEY_F7 = (GLFW_KEY_SPECIAL+8);
|
66
|
+
GLFW_KEY_F8 = (GLFW_KEY_SPECIAL+9);
|
67
|
+
GLFW_KEY_F9 = (GLFW_KEY_SPECIAL+10);
|
68
|
+
GLFW_KEY_F10 = (GLFW_KEY_SPECIAL+11);
|
69
|
+
GLFW_KEY_F11 = (GLFW_KEY_SPECIAL+12);
|
70
|
+
GLFW_KEY_F12 = (GLFW_KEY_SPECIAL+13);
|
71
|
+
GLFW_KEY_F13 = (GLFW_KEY_SPECIAL+14);
|
72
|
+
GLFW_KEY_F14 = (GLFW_KEY_SPECIAL+15);
|
73
|
+
GLFW_KEY_F15 = (GLFW_KEY_SPECIAL+16);
|
74
|
+
GLFW_KEY_F16 = (GLFW_KEY_SPECIAL+17);
|
75
|
+
GLFW_KEY_F17 = (GLFW_KEY_SPECIAL+18);
|
76
|
+
GLFW_KEY_F18 = (GLFW_KEY_SPECIAL+19);
|
77
|
+
GLFW_KEY_F19 = (GLFW_KEY_SPECIAL+20);
|
78
|
+
GLFW_KEY_F20 = (GLFW_KEY_SPECIAL+21);
|
79
|
+
GLFW_KEY_F21 = (GLFW_KEY_SPECIAL+22);
|
80
|
+
GLFW_KEY_F22 = (GLFW_KEY_SPECIAL+23);
|
81
|
+
GLFW_KEY_F23 = (GLFW_KEY_SPECIAL+24);
|
82
|
+
GLFW_KEY_F24 = (GLFW_KEY_SPECIAL+25);
|
83
|
+
GLFW_KEY_F25 = (GLFW_KEY_SPECIAL+26);
|
84
|
+
GLFW_KEY_UP = (GLFW_KEY_SPECIAL+27);
|
85
|
+
GLFW_KEY_DOWN = (GLFW_KEY_SPECIAL+28);
|
86
|
+
GLFW_KEY_LEFT = (GLFW_KEY_SPECIAL+29);
|
87
|
+
GLFW_KEY_RIGHT = (GLFW_KEY_SPECIAL+30);
|
88
|
+
GLFW_KEY_LSHIFT = (GLFW_KEY_SPECIAL+31);
|
89
|
+
GLFW_KEY_RSHIFT = (GLFW_KEY_SPECIAL+32);
|
90
|
+
GLFW_KEY_LCTRL = (GLFW_KEY_SPECIAL+33);
|
91
|
+
GLFW_KEY_RCTRL = (GLFW_KEY_SPECIAL+34);
|
92
|
+
GLFW_KEY_LALT = (GLFW_KEY_SPECIAL+35);
|
93
|
+
GLFW_KEY_RALT = (GLFW_KEY_SPECIAL+36);
|
94
|
+
GLFW_KEY_TAB = (GLFW_KEY_SPECIAL+37);
|
95
|
+
GLFW_KEY_ENTER = (GLFW_KEY_SPECIAL+38);
|
96
|
+
GLFW_KEY_BACKSPACE = (GLFW_KEY_SPECIAL+39);
|
97
|
+
GLFW_KEY_INSERT = (GLFW_KEY_SPECIAL+40);
|
98
|
+
GLFW_KEY_DEL = (GLFW_KEY_SPECIAL+41);
|
99
|
+
GLFW_KEY_PAGEUP = (GLFW_KEY_SPECIAL+42);
|
100
|
+
GLFW_KEY_PAGEDOWN = (GLFW_KEY_SPECIAL+43);
|
101
|
+
GLFW_KEY_HOME = (GLFW_KEY_SPECIAL+44);
|
102
|
+
GLFW_KEY_END = (GLFW_KEY_SPECIAL+45);
|
103
|
+
GLFW_KEY_KP_0 = (GLFW_KEY_SPECIAL+46);
|
104
|
+
GLFW_KEY_KP_1 = (GLFW_KEY_SPECIAL+47);
|
105
|
+
GLFW_KEY_KP_2 = (GLFW_KEY_SPECIAL+48);
|
106
|
+
GLFW_KEY_KP_3 = (GLFW_KEY_SPECIAL+49);
|
107
|
+
GLFW_KEY_KP_4 = (GLFW_KEY_SPECIAL+50);
|
108
|
+
GLFW_KEY_KP_5 = (GLFW_KEY_SPECIAL+51);
|
109
|
+
GLFW_KEY_KP_6 = (GLFW_KEY_SPECIAL+52);
|
110
|
+
GLFW_KEY_KP_7 = (GLFW_KEY_SPECIAL+53);
|
111
|
+
GLFW_KEY_KP_8 = (GLFW_KEY_SPECIAL+54);
|
112
|
+
GLFW_KEY_KP_9 = (GLFW_KEY_SPECIAL+55);
|
113
|
+
GLFW_KEY_KP_DIVIDE = (GLFW_KEY_SPECIAL+56);
|
114
|
+
GLFW_KEY_KP_MULTIPLY = (GLFW_KEY_SPECIAL+57);
|
115
|
+
GLFW_KEY_KP_SUBTRACT = (GLFW_KEY_SPECIAL+58);
|
116
|
+
GLFW_KEY_KP_ADD = (GLFW_KEY_SPECIAL+59);
|
117
|
+
GLFW_KEY_KP_DECIMAL = (GLFW_KEY_SPECIAL+60);
|
118
|
+
GLFW_KEY_KP_EQUAL = (GLFW_KEY_SPECIAL+61);
|
119
|
+
GLFW_KEY_KP_ENTER = (GLFW_KEY_SPECIAL+62);
|
120
|
+
GLFW_KEY_LAST = GLFW_KEY_KP_ENTER;
|
121
|
+
|
122
|
+
// Mouse button definitions
|
123
|
+
GLFW_MOUSE_BUTTON_1 = 0;
|
124
|
+
GLFW_MOUSE_BUTTON_2 = 1;
|
125
|
+
GLFW_MOUSE_BUTTON_3 = 2;
|
126
|
+
GLFW_MOUSE_BUTTON_4 = 3;
|
127
|
+
GLFW_MOUSE_BUTTON_5 = 4;
|
128
|
+
GLFW_MOUSE_BUTTON_6 = 5;
|
129
|
+
GLFW_MOUSE_BUTTON_7 = 6;
|
130
|
+
GLFW_MOUSE_BUTTON_8 = 7;
|
131
|
+
GLFW_MOUSE_BUTTON_LAST = GLFW_MOUSE_BUTTON_8;
|
132
|
+
|
133
|
+
// Mouse button aliases
|
134
|
+
GLFW_MOUSE_BUTTON_LEFT = GLFW_MOUSE_BUTTON_1;
|
135
|
+
GLFW_MOUSE_BUTTON_RIGHT = GLFW_MOUSE_BUTTON_2;
|
136
|
+
GLFW_MOUSE_BUTTON_MIDDLE = GLFW_MOUSE_BUTTON_3;
|
137
|
+
|
138
|
+
// Joystick identifiers
|
139
|
+
GLFW_JOYSTICK_1 = 0;
|
140
|
+
GLFW_JOYSTICK_2 = 1;
|
141
|
+
GLFW_JOYSTICK_3 = 2;
|
142
|
+
GLFW_JOYSTICK_4 = 3;
|
143
|
+
GLFW_JOYSTICK_5 = 4;
|
144
|
+
GLFW_JOYSTICK_6 = 5;
|
145
|
+
GLFW_JOYSTICK_7 = 6;
|
146
|
+
GLFW_JOYSTICK_8 = 7;
|
147
|
+
GLFW_JOYSTICK_9 = 8;
|
148
|
+
GLFW_JOYSTICK_10 = 9;
|
149
|
+
GLFW_JOYSTICK_11 = 10;
|
150
|
+
GLFW_JOYSTICK_12 = 11;
|
151
|
+
GLFW_JOYSTICK_13 = 12;
|
152
|
+
GLFW_JOYSTICK_14 = 13;
|
153
|
+
GLFW_JOYSTICK_15 = 14;
|
154
|
+
GLFW_JOYSTICK_16 = 15;
|
155
|
+
GLFW_JOYSTICK_LAST = GLFW_JOYSTICK_16;
|
156
|
+
|
157
|
+
|
158
|
+
//========================================================================
|
159
|
+
// Other definitions
|
160
|
+
//========================================================================
|
161
|
+
|
162
|
+
// glfwOpenWindow modes
|
163
|
+
GLFW_WINDOW = $00010001;
|
164
|
+
GLFW_FULLSCREEN = $00010002;
|
165
|
+
|
166
|
+
// glfwGetWindowParam tokens
|
167
|
+
GLFW_OPENED = $00020001;
|
168
|
+
GLFW_ACTIVE = $00020002;
|
169
|
+
GLFW_ICONIFIED = $00020003;
|
170
|
+
GLFW_ACCELERATED = $00020004;
|
171
|
+
GLFW_RED_BITS = $00020005;
|
172
|
+
GLFW_GREEN_BITS = $00020006;
|
173
|
+
GLFW_BLUE_BITS = $00020007;
|
174
|
+
GLFW_ALPHA_BITS = $00020008;
|
175
|
+
GLFW_DEPTH_BITS = $00020009;
|
176
|
+
GLFW_STENCIL_BITS = $0002000A;
|
177
|
+
|
178
|
+
// The following constants are used for both glfwGetWindowParam
|
179
|
+
// and glfwOpenWindowHint
|
180
|
+
GLFW_REFRESH_RATE = $0002000B;
|
181
|
+
GLFW_ACCUM_RED_BITS = $0002000C;
|
182
|
+
GLFW_ACCUM_GREEN_BITS = $0002000D;
|
183
|
+
GLFW_ACCUM_BLUE_BITS = $0002000E;
|
184
|
+
GLFW_ACCUM_ALPHA_BITS = $0002000F;
|
185
|
+
GLFW_AUX_BUFFERS = $00020010;
|
186
|
+
GLFW_STEREO = $00020011;
|
187
|
+
GLFW_WINDOW_NO_RESIZE = $00020012;
|
188
|
+
GLFW_FSAA_SAMPLES = $00020013;
|
189
|
+
|
190
|
+
// glfwEnable/glfwDisable tokens
|
191
|
+
GLFW_MOUSE_CURSOR = $00030001;
|
192
|
+
GLFW_STICKY_KEYS = $00030002;
|
193
|
+
GLFW_STICKY_MOUSE_BUTTONS = $00030003;
|
194
|
+
GLFW_SYSTEM_KEYS = $00030004;
|
195
|
+
GLFW_KEY_REPEAT = $00030005;
|
196
|
+
GLFW_AUTO_POLL_EVENTS = $00030006;
|
197
|
+
|
198
|
+
// glfwWaitThread wait modes
|
199
|
+
GLFW_WAIT = $00040001;
|
200
|
+
GLFW_NOWAIT = $00040002;
|
201
|
+
|
202
|
+
// glfwGetJoystickParam tokens
|
203
|
+
GLFW_PRESENT = $00050001;
|
204
|
+
GLFW_AXES = $00050002;
|
205
|
+
GLFW_BUTTONS = $00050003;
|
206
|
+
|
207
|
+
// glfwReadImage/glfwLoadTexture2D flags
|
208
|
+
GLFW_NO_RESCALE_BIT = $00000001; // Only for glfwReadImage
|
209
|
+
GLFW_ORIGIN_UL_BIT = $00000002;
|
210
|
+
GLFW_BUILD_MIPMAPS_BIT = $00000004; // Only for glfwLoadTexture2D
|
211
|
+
GLFW_ALPHA_MAP_BIT = $00000008;
|
212
|
+
|
213
|
+
// Time spans longer than this (seconds) are considered to be infinity
|
214
|
+
GLFW_INFINITY = 100000.0;
|
215
|
+
|
216
|
+
|
217
|
+
//========================================================================
|
218
|
+
// Typedefs
|
219
|
+
//========================================================================
|
220
|
+
|
221
|
+
type
|
222
|
+
|
223
|
+
// The video mode structure used by glfwGetVideoModes()
|
224
|
+
GLFWvidmode = packed record
|
225
|
+
Width, Height : Integer;
|
226
|
+
RedBits, BlueBits, GreenBits: Integer;
|
227
|
+
end;
|
228
|
+
PGLFWvidmode = ^GLFWvidmode;
|
229
|
+
|
230
|
+
// Image/texture information
|
231
|
+
GLFWimage = packed record
|
232
|
+
Width, Height: Integer;
|
233
|
+
Format : Integer;
|
234
|
+
BytesPerPixel: Integer;
|
235
|
+
Data : PChar;
|
236
|
+
end;
|
237
|
+
PGLFWimage = ^GLFWimage;
|
238
|
+
|
239
|
+
// Thread ID
|
240
|
+
GLFWthread = Integer;
|
241
|
+
|
242
|
+
// Mutex object
|
243
|
+
GLFWmutex = Pointer;
|
244
|
+
|
245
|
+
// Condition variable object
|
246
|
+
GLFWcond = Pointer;
|
247
|
+
|
248
|
+
// Function pointer types
|
249
|
+
GLFWwindowsizefun = procedure(Width, Height: Integer); stdcall;
|
250
|
+
GLFWwindowclosefun = function: Integer; stdcall;
|
251
|
+
GLFWwindowrefreshfun = procedure; stdcall;
|
252
|
+
GLFWmousebuttonfun = procedure(Button, Action: Integer); stdcall;
|
253
|
+
GLFWmouseposfun = procedure(X, Y: Integer); stdcall;
|
254
|
+
GLFWmousewheelfun = procedure(Pos: Integer); stdcall;
|
255
|
+
GLFWkeyfun = procedure(Key, Action: Integer); stdcall;
|
256
|
+
GLFWcharfun = procedure(Character, Action: Integer); stdcall;
|
257
|
+
GLFWthreadfun = procedure(Arg: Pointer); stdcall;
|
258
|
+
|
259
|
+
|
260
|
+
//========================================================================
|
261
|
+
// Prototypes
|
262
|
+
//========================================================================
|
263
|
+
|
264
|
+
// GLFW initialization, termination and version querying
|
265
|
+
function glfwInit: Integer; stdcall;
|
266
|
+
procedure glfwTerminate; stdcall;
|
267
|
+
procedure glfwGetVersion(var major: Integer; var minor: Integer; var Rev: Integer); stdcall;
|
268
|
+
|
269
|
+
// Window handling
|
270
|
+
function glfwOpenWindow(width, height, redbits, greenbits, bluebits, alphabits, depthbits, stencilbits, mode: Integer): Integer; stdcall;
|
271
|
+
procedure glfwOpenWindowHint(target, hint: Integer); stdcall;
|
272
|
+
procedure glfwCloseWindow; stdcall;
|
273
|
+
procedure glfwSetWindowTitle(title: PChar); stdcall;
|
274
|
+
procedure glfwGetWindowSize(var width: Integer; var height: Integer); stdcall;
|
275
|
+
procedure glfwSetWindowSize(width, height: Integer); stdcall;
|
276
|
+
procedure glfwSetWindowPos(x, y: Integer); stdcall;
|
277
|
+
procedure glfwIconifyWindow; stdcall;
|
278
|
+
procedure glfwRestoreWindow; stdcall;
|
279
|
+
procedure glfwSwapBuffers; stdcall;
|
280
|
+
procedure glfwSwapInterval(interval: Integer); stdcall;
|
281
|
+
function glfwGetWindowParam(Param: Integer): Integer; stdcall;
|
282
|
+
procedure glfwSetWindowSizeCallback(cbfun: GLFWwindowsizefun); stdcall;
|
283
|
+
procedure glfwSetWindowCloseCallback(cbfun: GLFWwindowclosefun); stdcall;
|
284
|
+
procedure glfwSetWindowRefreshCallback(cbfun: GLFWwindowrefreshfun); stdcall;
|
285
|
+
|
286
|
+
// Video mode functions
|
287
|
+
function glfwGetVideoModes(list: PGLFWvidmode; maxcount: Integer): Integer; stdcall;
|
288
|
+
procedure glfwGetDesktopMode(mode: PGLFWvidmode); stdcall;
|
289
|
+
|
290
|
+
// Input handling
|
291
|
+
procedure glfwPollEvents; stdcall;
|
292
|
+
procedure glfwWaitEvents; stdcall;
|
293
|
+
function glfwGetKey(key: Integer): Integer; stdcall;
|
294
|
+
function glfwGetMouseButton(button: Integer): Integer; stdcall;
|
295
|
+
procedure glfwGetMousePos(var xpos: Integer; var ypos: Integer); stdcall;
|
296
|
+
procedure glfwSetMousePos(xpos, ypos: Integer); stdcall;
|
297
|
+
function glfwGetMouseWheel: Integer; stdcall;
|
298
|
+
procedure glfwSetMouseWheel(pos: Integer); stdcall;
|
299
|
+
procedure glfwSetKeyCallback( cbfun: GLFWkeyfun); stdcall;
|
300
|
+
procedure glfwSetCharCallback( cbfun: GLFWcharfun); stdcall;
|
301
|
+
procedure glfwSetMouseButtonCallback( cbfun: GLFWmousebuttonfun); stdcall;
|
302
|
+
procedure glfwSetMousePosCallback( cbfun: GLFWmouseposfun); stdcall;
|
303
|
+
procedure glfwSetMouseWheelCallback( cbfun: GLFWmousewheelfun); stdcall;
|
304
|
+
|
305
|
+
// Joystick input
|
306
|
+
function glfwGetJoystickParam(joy, param: Integer): Integer; stdcall;
|
307
|
+
function glfwGetJoystickPos(joy: Integer; var pos: Single; numaxes: Integer): Integer; stdcall;
|
308
|
+
function glfwGetJoystickButtons(joy: Integer; buttons: PChar; numbuttons: Integer): Integer; stdcall;
|
309
|
+
|
310
|
+
// Time
|
311
|
+
function glfwGetTime: Double; stdcall;
|
312
|
+
procedure glfwSetTime(time: Double); stdcall;
|
313
|
+
procedure glfwSleep(time: Double); stdcall;
|
314
|
+
|
315
|
+
// Extension support
|
316
|
+
function glfwExtensionSupported(extension: PChar): Integer; stdcall;
|
317
|
+
function glfwGetProcAddress(procname: PChar): Pointer; stdcall;
|
318
|
+
procedure glfwGetGLVersion(var major: Integer; var minor: Integer; var Rev: Integer); stdcall;
|
319
|
+
|
320
|
+
// Threading support
|
321
|
+
function glfwCreateThread(fun: GLFWthreadfun; arg: Pointer): GLFWthread; stdcall;
|
322
|
+
procedure glfwDestroyThread(Id: GLFWthread); stdcall;
|
323
|
+
function glfwWaitThread(Id: GLFWthread; waitmode: Integer): Integer; stdcall;
|
324
|
+
function glfwGetThreadID: GLFWthread; stdcall;
|
325
|
+
function glfwCreateMutex: GLFWmutex; stdcall;
|
326
|
+
procedure glfwDestroyMutex( mutex: GLFWmutex); stdcall;
|
327
|
+
procedure glfwLockMutex(mutex: GLFWmutex); stdcall;
|
328
|
+
procedure glfwUnlockMutex(mutex: GLFWmutex); stdcall;
|
329
|
+
function glfwCreateCond: GLFWcond; stdcall;
|
330
|
+
procedure glfwDestroyCond(cond: GLFWcond); stdcall;
|
331
|
+
procedure glfwWaitCond(cond: GLFWcond; mutex: GLFWmutex; timeout: Double); stdcall;
|
332
|
+
procedure glfwSignalCond(cond: GLFWcond); stdcall;
|
333
|
+
procedure glfwBroadcastCond(cond: GLFWcond); stdcall;
|
334
|
+
function glfwGetNumberOfProcessors: Integer; stdcall;
|
335
|
+
|
336
|
+
// Enable/disable functions
|
337
|
+
procedure glfwEnable(token: Integer); stdcall;
|
338
|
+
procedure glfwDisable(token: Integer); stdcall;
|
339
|
+
|
340
|
+
// Image/texture I/O support
|
341
|
+
function glfwReadImage(name: PChar; image: PGLFWimage; flags: Integer): Integer; stdcall;
|
342
|
+
function glfwReadMemoryImage(data: PChar; size: LongInt; img: PGLFWimage; flags: Integer): Integer; stdcall;
|
343
|
+
procedure glfwFreeImage(img: PGLFWimage);
|
344
|
+
function glfwLoadTexture2D(name: PChar; flags: Integer): Integer; stdcall;
|
345
|
+
function glfwLoadMemoryTexture2D(data: PChar; size: LongInt; flags: Integer): Integer; stdcall;
|
346
|
+
function glfwLoadTextureImage2D(img: PGLFWimage; flags: Integer): Integer; stdcall;
|
347
|
+
|
348
|
+
implementation
|
349
|
+
|
350
|
+
const
|
351
|
+
DLLNAME = 'glfw.dll';
|
352
|
+
|
353
|
+
// GLFW initialization, termination and version querying
|
354
|
+
function glfwInit; external DLLNAME;
|
355
|
+
procedure glfwTerminate; external DLLNAME;
|
356
|
+
procedure glfwGetVersion; external DLLNAME;
|
357
|
+
|
358
|
+
// Window handling
|
359
|
+
function glfwOpenWindow; external DLLNAME;
|
360
|
+
procedure glfwOpenWindowHint; external DLLNAME;
|
361
|
+
procedure glfwCloseWindow; external DLLNAME;
|
362
|
+
procedure glfwSetWindowTitle; external DLLNAME;
|
363
|
+
procedure glfwGetWindowSize; external DLLNAME;
|
364
|
+
procedure glfwSetWindowSize; external DLLNAME;
|
365
|
+
procedure glfwSetWindowPos; external DLLNAME;
|
366
|
+
procedure glfwIconifyWindow; external DLLNAME;
|
367
|
+
procedure glfwRestoreWindow; external DLLNAME;
|
368
|
+
procedure glfwSwapBuffers; external DLLNAME;
|
369
|
+
procedure glfwSwapInterval; external DLLNAME;
|
370
|
+
function glfwGetWindowParam; external DLLNAME;
|
371
|
+
procedure glfwSetWindowSizeCallback; external DLLNAME;
|
372
|
+
procedure glfwSetWindowCloseCallback; external DLLNAME;
|
373
|
+
procedure glfwSetWindowRefreshCallback; external DLLNAME;
|
374
|
+
|
375
|
+
// Video mode functions
|
376
|
+
function glfwGetVideoModes; external DLLNAME;
|
377
|
+
procedure glfwGetDesktopMode; external DLLNAME;
|
378
|
+
|
379
|
+
// Input handling
|
380
|
+
procedure glfwPollEvents; external DLLNAME;
|
381
|
+
procedure glfwWaitEvents; external DLLNAME;
|
382
|
+
function glfwGetKey; external DLLNAME;
|
383
|
+
function glfwGetMouseButton; external DLLNAME;
|
384
|
+
procedure glfwGetMousePos; external DLLNAME;
|
385
|
+
procedure glfwSetMousePos; external DLLNAME;
|
386
|
+
function glfwGetMouseWheel; external DLLNAME;
|
387
|
+
procedure glfwSetMouseWheel; external DLLNAME;
|
388
|
+
procedure glfwSetKeyCallback; external DLLNAME;
|
389
|
+
procedure glfwSetCharCallback; external DLLNAME;
|
390
|
+
procedure glfwSetMouseButtonCallback; external DLLNAME;
|
391
|
+
procedure glfwSetMousePosCallback; external DLLNAME;
|
392
|
+
procedure glfwSetMouseWheelCallback; external DLLNAME;
|
393
|
+
|
394
|
+
// Joystick input
|
395
|
+
function glfwGetJoystickParam; external DLLNAME;
|
396
|
+
function glfwGetJoystickPos; external DLLNAME;
|
397
|
+
function glfwGetJoystickButtons; external DLLNAME;
|
398
|
+
|
399
|
+
// Time
|
400
|
+
function glfwGetTime: Double; external DLLNAME;
|
401
|
+
procedure glfwSetTime; external DLLNAME;
|
402
|
+
procedure glfwSleep; external DLLNAME;
|
403
|
+
|
404
|
+
// Extension support
|
405
|
+
function glfwExtensionSupported; external DLLNAME;
|
406
|
+
function glfwGetProcAddress; external DLLNAME;
|
407
|
+
procedure glfwGetGLVersion; external DLLNAME;
|
408
|
+
|
409
|
+
// Threading support
|
410
|
+
function glfwCreateThread; external DLLNAME;
|
411
|
+
procedure glfwDestroyThread; external DLLNAME;
|
412
|
+
function glfwWaitThread; external DLLNAME;
|
413
|
+
function glfwGetThreadID; external DLLNAME;
|
414
|
+
function glfwCreateMutex; external DLLNAME;
|
415
|
+
procedure glfwDestroyMutex; external DLLNAME;
|
416
|
+
procedure glfwLockMutex; external DLLNAME;
|
417
|
+
procedure glfwUnlockMutex; external DLLNAME;
|
418
|
+
function glfwCreateCond; external DLLNAME;
|
419
|
+
procedure glfwDestroyCond; external DLLNAME;
|
420
|
+
procedure glfwWaitCond; external DLLNAME;
|
421
|
+
procedure glfwSignalCond; external DLLNAME;
|
422
|
+
procedure glfwBroadcastCond; external DLLNAME;
|
423
|
+
function glfwGetNumberOfProcessors; external DLLNAME;
|
424
|
+
|
425
|
+
// Enable/disable functions
|
426
|
+
procedure glfwEnable; external DLLNAME;
|
427
|
+
procedure glfwDisable; external DLLNAME;
|
428
|
+
|
429
|
+
// Image/texture I/O support
|
430
|
+
function glfwReadImage; external DLLNAME;
|
431
|
+
function glfwReadMemoryImage; external DLLNAME;
|
432
|
+
procedure glfwFreeImage; external DLLNAME;
|
433
|
+
function glfwLoadTexture2D; external DLLNAME;
|
434
|
+
function glfwLoadMemoryTexture2D; external DLLNAME;
|
435
|
+
function glfwLoadTextureImage2D; external DLLNAME;
|
436
|
+
|
437
|
+
end.
|