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,51 @@
|
|
|
1
|
+
//========================================================================
|
|
2
|
+
// GLFW - An OpenGL framework
|
|
3
|
+
// File: dos_enable.c
|
|
4
|
+
// Platform: DOS
|
|
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
|
+
#include "internal.h"
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
//************************************************************************
|
|
35
|
+
//**** Platform implementation functions ****
|
|
36
|
+
//************************************************************************
|
|
37
|
+
|
|
38
|
+
//========================================================================
|
|
39
|
+
// _glfwPlatformEnableSystemKeys() - Enable system keys
|
|
40
|
+
// _glfwPlatformDisableSystemKeys() - Disable system keys
|
|
41
|
+
//========================================================================
|
|
42
|
+
|
|
43
|
+
void _glfwPlatformEnableSystemKeys( void )
|
|
44
|
+
{
|
|
45
|
+
// Not supported under DOS (yet)
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
void _glfwPlatformDisableSystemKeys( void )
|
|
49
|
+
{
|
|
50
|
+
// Not supported under DOS (yet)
|
|
51
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
//========================================================================
|
|
2
|
+
// GLFW - An OpenGL framework
|
|
3
|
+
// File: dos_events.c
|
|
4
|
+
// Platform: DOS
|
|
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
|
+
#include "internal.h"
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
//========================================================================
|
|
35
|
+
// Global variables
|
|
36
|
+
//========================================================================
|
|
37
|
+
|
|
38
|
+
// Event buffer
|
|
39
|
+
#define _GLFW_EVENT_BUFFER_SIZE 1024
|
|
40
|
+
|
|
41
|
+
static volatile struct {
|
|
42
|
+
volatile int Start, End;
|
|
43
|
+
volatile _GLFWdosevent *Event;
|
|
44
|
+
} _glfwEventBuffer;
|
|
45
|
+
|
|
46
|
+
static int _glfwEventsInitialized = 0;
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
//************************************************************************
|
|
51
|
+
//**** GLFW internal functions ****
|
|
52
|
+
//************************************************************************
|
|
53
|
+
|
|
54
|
+
//========================================================================
|
|
55
|
+
// _glfwWaitNextEvent() - Wait for an event to appear in the event FIFO
|
|
56
|
+
// NOTE: Must not be called from an interrupt routine
|
|
57
|
+
//========================================================================
|
|
58
|
+
|
|
59
|
+
void _glfwWaitNextEvent( void )
|
|
60
|
+
{
|
|
61
|
+
int noevent = 1;
|
|
62
|
+
|
|
63
|
+
while( noevent )
|
|
64
|
+
{
|
|
65
|
+
DISABLE();
|
|
66
|
+
noevent = ( _glfwEventBuffer.Start == _glfwEventBuffer.End );
|
|
67
|
+
ENABLE();
|
|
68
|
+
// Wait for an interrupt to happen?...
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
//========================================================================
|
|
74
|
+
// _glfwGetNextEvent() - Get an event from the event FIFO
|
|
75
|
+
// NOTE: Must not be called from an interrupt routine
|
|
76
|
+
//========================================================================
|
|
77
|
+
|
|
78
|
+
int _glfwGetNextEvent( _GLFWdosevent *event )
|
|
79
|
+
{
|
|
80
|
+
DISABLE();
|
|
81
|
+
|
|
82
|
+
if( _glfwEventBuffer.Start == _glfwEventBuffer.End )
|
|
83
|
+
{
|
|
84
|
+
ENABLE();
|
|
85
|
+
return 0;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
*event = _glfwEventBuffer.Event[ _glfwEventBuffer.Start ++ ];
|
|
89
|
+
if( _glfwEventBuffer.Start >= _GLFW_EVENT_BUFFER_SIZE )
|
|
90
|
+
{
|
|
91
|
+
_glfwEventBuffer.Start = 0;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
ENABLE();
|
|
95
|
+
|
|
96
|
+
return 1;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
//========================================================================
|
|
101
|
+
// _glfwPostDOSEvent() - Put an event onto the event FIFO
|
|
102
|
+
// NOTE: Must only be called from an interrupt routine
|
|
103
|
+
//========================================================================
|
|
104
|
+
|
|
105
|
+
void _glfwPostDOSEvent( _GLFWdosevent *event )
|
|
106
|
+
{
|
|
107
|
+
// Add event
|
|
108
|
+
_glfwEventBuffer.Event[ _glfwEventBuffer.End ++ ] = *event;
|
|
109
|
+
|
|
110
|
+
// End of FIFO buffer?
|
|
111
|
+
if( _glfwEventBuffer.End >= _GLFW_EVENT_BUFFER_SIZE )
|
|
112
|
+
_glfwEventBuffer.End = 0;
|
|
113
|
+
|
|
114
|
+
// If the buffer is full, drop the oldest event
|
|
115
|
+
if( _glfwEventBuffer.End == _glfwEventBuffer.Start)
|
|
116
|
+
{
|
|
117
|
+
_glfwEventBuffer.Start ++;
|
|
118
|
+
if( _glfwEventBuffer.Start >= _GLFW_EVENT_BUFFER_SIZE )
|
|
119
|
+
_glfwEventBuffer.Start = 0;
|
|
120
|
+
}
|
|
121
|
+
} ENDOFUNC(_glfwPostDOSEvent)
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
//========================================================================
|
|
125
|
+
// _glfwInitEvents() - Initialize event management functions and the FIFO
|
|
126
|
+
//========================================================================
|
|
127
|
+
|
|
128
|
+
int _glfwInitEvents( void )
|
|
129
|
+
{
|
|
130
|
+
int fifosize;
|
|
131
|
+
|
|
132
|
+
// Allocate memory for the event FIFO buffer
|
|
133
|
+
fifosize = _GLFW_EVENT_BUFFER_SIZE * sizeof(_GLFWdosevent);
|
|
134
|
+
_glfwEventBuffer.Event = malloc( fifosize );
|
|
135
|
+
if( !_glfwEventBuffer.Event )
|
|
136
|
+
{
|
|
137
|
+
return 0;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// Lock data & functions
|
|
141
|
+
LOCKBUFF( _glfwEventBuffer.Event, fifosize );
|
|
142
|
+
LOCKDATA( _glfwEventBuffer );
|
|
143
|
+
LOCKFUNC( _glfwPostDOSEvent );
|
|
144
|
+
|
|
145
|
+
// Initialize event FIFO
|
|
146
|
+
_glfwEventBuffer.Start = _glfwEventBuffer.End = 0;
|
|
147
|
+
|
|
148
|
+
_glfwEventsInitialized = 1;
|
|
149
|
+
|
|
150
|
+
return 1;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
//========================================================================
|
|
155
|
+
// _glfwTerminateEvents() - Terminate event management
|
|
156
|
+
//========================================================================
|
|
157
|
+
|
|
158
|
+
void _glfwTerminateEvents( void )
|
|
159
|
+
{
|
|
160
|
+
if( !_glfwEventsInitialized )
|
|
161
|
+
{
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
_glfwEventsInitialized = 0;
|
|
166
|
+
|
|
167
|
+
// Free memory for the event FIFO buffer
|
|
168
|
+
if( _glfwEventBuffer.Event )
|
|
169
|
+
{
|
|
170
|
+
free( (void *) _glfwEventBuffer.Event );
|
|
171
|
+
_glfwEventBuffer.Event = NULL;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
//========================================================================
|
|
2
|
+
// GLFW - An OpenGL framework
|
|
3
|
+
// File: dos_fullscreen.c
|
|
4
|
+
// Platform: DOS
|
|
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
|
+
#include "internal.h"
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
//************************************************************************
|
|
35
|
+
//**** GLFW internal functions ****
|
|
36
|
+
//************************************************************************
|
|
37
|
+
|
|
38
|
+
//========================================================================
|
|
39
|
+
// _glfwBPP2RGB() - Convert BPP to RGB bits (based on "best guess")
|
|
40
|
+
//========================================================================
|
|
41
|
+
|
|
42
|
+
static void _glfwBPP2RGB( int bpp, int *r, int *g, int *b )
|
|
43
|
+
{
|
|
44
|
+
int delta;
|
|
45
|
+
int bpp2;
|
|
46
|
+
|
|
47
|
+
// Special case: bpp = 32
|
|
48
|
+
if( bpp == 32 ) bpp = 24;
|
|
49
|
+
|
|
50
|
+
// Convert "bits per pixel" to red, green & blue sizes
|
|
51
|
+
*r = *g = *b = bpp / 3;
|
|
52
|
+
delta = bpp - (*r * 3);
|
|
53
|
+
if( delta >= 1 )
|
|
54
|
+
{
|
|
55
|
+
*g = *g + 1;
|
|
56
|
+
}
|
|
57
|
+
if( delta == 2 )
|
|
58
|
+
{
|
|
59
|
+
*r = *r + 1;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
//************************************************************************
|
|
67
|
+
//**** Platform implementation functions ****
|
|
68
|
+
//************************************************************************
|
|
69
|
+
|
|
70
|
+
//========================================================================
|
|
71
|
+
// _glfwPlatformGetVideoModes() - List available video modes
|
|
72
|
+
//========================================================================
|
|
73
|
+
|
|
74
|
+
int _glfwPlatformGetVideoModes( GLFWvidmode *list, int maxcount )
|
|
75
|
+
{
|
|
76
|
+
if( maxcount <= 0 ) return 0;
|
|
77
|
+
|
|
78
|
+
// Dummy...
|
|
79
|
+
list[0].Width = 640;
|
|
80
|
+
list[0].Height = 480;
|
|
81
|
+
list[0].RedBits = 5;
|
|
82
|
+
list[0].GreenBits = 6;
|
|
83
|
+
list[0].BlueBits = 5;
|
|
84
|
+
|
|
85
|
+
return 1;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
//========================================================================
|
|
90
|
+
// _glfwPlatformGetDesktopMode() - Get the desktop video mode
|
|
91
|
+
//========================================================================
|
|
92
|
+
|
|
93
|
+
void _glfwPlatformGetDesktopMode( GLFWvidmode *mode )
|
|
94
|
+
{
|
|
95
|
+
// Dummy...
|
|
96
|
+
mode->Width = 640;
|
|
97
|
+
mode->Height = 480;
|
|
98
|
+
mode->RedBits = 5;
|
|
99
|
+
mode->GreenBits = 6;
|
|
100
|
+
mode->BlueBits = 5;
|
|
101
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
//========================================================================
|
|
2
|
+
// GLFW - An OpenGL framework
|
|
3
|
+
// File: dos_glext.c
|
|
4
|
+
// Platform: DOS
|
|
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
|
+
#include "internal.h"
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
//************************************************************************
|
|
35
|
+
//**** Platform implementation functions ****
|
|
36
|
+
//************************************************************************
|
|
37
|
+
|
|
38
|
+
//========================================================================
|
|
39
|
+
// _glfwPlatformExtensionSupported() - Check if an OpenGL extension is
|
|
40
|
+
// available at runtime
|
|
41
|
+
//========================================================================
|
|
42
|
+
|
|
43
|
+
int _glfwPlatformExtensionSupported( const char *extension )
|
|
44
|
+
{
|
|
45
|
+
// TODO
|
|
46
|
+
return GL_FALSE;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
//========================================================================
|
|
51
|
+
// _glfwPlatformGetProcAddress() - Get the function pointer to an OpenGL
|
|
52
|
+
// function
|
|
53
|
+
//========================================================================
|
|
54
|
+
|
|
55
|
+
void * _glfwPlatformGetProcAddress( const char *procname )
|
|
56
|
+
{
|
|
57
|
+
// TODO
|
|
58
|
+
return NULL;
|
|
59
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
//========================================================================
|
|
2
|
+
// GLFW - An OpenGL framework
|
|
3
|
+
// File: dos_init.c
|
|
4
|
+
// Platform: DOS
|
|
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
|
+
#include "internal.h"
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
//************************************************************************
|
|
36
|
+
//**** GLFW internal functions ****
|
|
37
|
+
//************************************************************************
|
|
38
|
+
|
|
39
|
+
//========================================================================
|
|
40
|
+
// _glfwTerminate_atexit() - Terminate GLFW when exiting application
|
|
41
|
+
//========================================================================
|
|
42
|
+
|
|
43
|
+
void _glfwTerminate_atexit( void )
|
|
44
|
+
{
|
|
45
|
+
glfwTerminate();
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
//************************************************************************
|
|
51
|
+
//**** Platform implementation functions ****
|
|
52
|
+
//************************************************************************
|
|
53
|
+
|
|
54
|
+
//========================================================================
|
|
55
|
+
// _glfwPlatformInit() - Initialize various GLFW state
|
|
56
|
+
//========================================================================
|
|
57
|
+
|
|
58
|
+
int _glfwPlatformInit( void )
|
|
59
|
+
{
|
|
60
|
+
// Initialize thread package
|
|
61
|
+
if( !_glfwInitThreads() )
|
|
62
|
+
{
|
|
63
|
+
return GL_FALSE;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// Start the timer
|
|
67
|
+
if( !_glfwInitTimer() )
|
|
68
|
+
{
|
|
69
|
+
_glfwTerminateThreads();
|
|
70
|
+
return GL_FALSE;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Initialize joysticks
|
|
74
|
+
_glfwInitJoysticks();
|
|
75
|
+
|
|
76
|
+
// Install atexit() routine
|
|
77
|
+
atexit( _glfwTerminate_atexit );
|
|
78
|
+
|
|
79
|
+
return GL_TRUE;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
//========================================================================
|
|
84
|
+
// _glfwPlatformTerminate() - Close window and kill all threads
|
|
85
|
+
//========================================================================
|
|
86
|
+
|
|
87
|
+
int _glfwPlatformTerminate( void )
|
|
88
|
+
{
|
|
89
|
+
// Only the main thread is allowed to do this...
|
|
90
|
+
// TODO
|
|
91
|
+
|
|
92
|
+
// Close OpenGL window
|
|
93
|
+
glfwCloseWindow();
|
|
94
|
+
|
|
95
|
+
// Terminate joysticks
|
|
96
|
+
_glfwTerminateJoysticks();
|
|
97
|
+
|
|
98
|
+
// Kill timer
|
|
99
|
+
_glfwTerminateTimer();
|
|
100
|
+
|
|
101
|
+
// Kill thread package
|
|
102
|
+
_glfwTerminateThreads();
|
|
103
|
+
|
|
104
|
+
return GL_TRUE;
|
|
105
|
+
}
|