1 2009-03-16 Sven Panne <sven.panne@aedion.de>
3 * src/freeglut_init.c,src/freeglut_window.c: Set the default number of
4 samples per pixel to 4 and actually use the value set with
5 glutSetOption(GLUT_MULTISAMPLE,...) in Windows code. Previously the
6 Windows code used a hardwired value of 4 and the GLX code had a
7 default of 0, neither made much sense. Similarly, set the default
8 number of auxiliary buffers to 1 and use that value when GLUT_AUX is
9 used. Note: There latter token has the same value as GLUT_AUX1, and
10 for historical reasons we seem to have 2 APIs to set the number of
11 auxiliary buffers: Explicitly using GLUT_AUX1 ... GLUT_AUX4, and using
12 a combination of GLUT_AUX with glutSetOption. The default of 1 ensures
13 consistent behaviour in both cases.
14 * src/freeglut_state.c: Added GLUT_AUX and GLUT_MULTISAMPLE as possible
15 parameters for glutGet, making things more symmetric with
17 * src/freeglutdll.def: Added missing API entries.
19 2009-03-10 John F. Fay <john.fay.ctr@eglin.af.mil>
21 * progs/demos/demos.dsw: Adding the "smooth_opengl3" demo
23 2009-03-09 John F. Fay <john.fay.ctr@eglin.af.mil>
25 * include/GL/freeglut_std.h: Making the definition of
26 "WIN32_LEAN_AND_MEAN" conditional to enhance compatibility with GLEW
27 per suggestion by Diederick C. Niehorster in e-mail dated Mon 3/9/2009
29 * progs/demos/Fractals/fractals.c: Setting the "fractals" demo initial
30 number of levels to 4 per suggestion from Diederick C. Niehorster
31 [diederick@niehorster.eu] in e-mail dated Mon 3/9/2009 5:29 AM
33 2009-03-01 John F. Fay <john.fay.ctr@eglin.af.mil>
35 * progs/demos/CallbackMaker/CallbackMaker.c,
36 progs/demos/Lorenz/lorenz.c, progs/demos/shapes/shapes.c: Fixing
37 Microsoft compatibility with the new "vsnprintf" by putting an
38 underscore in front of it if WIN32 is defined but __CYGWIN__ is not
40 2009-03-01 Sven Panne <sven.panne@aedion.de>
42 * configure.ac: We do not depend on GLU anymore
43 * README.win32: Added notes for building under Cygwin
44 * src/Makefile.am: To build shared libraries on Windows, one has to
45 declare explicitly that there are no undefined symbols during linking.
46 No idea why, but this seems to be the only way to enable this on
47 Cygwin via -mno-cygwin. Hopefully this won't cause problems on other
48 platforms (which has to be tested).
49 * progs/demos/smooth_opengl3/smooth_opengl3.c: Windows fun again: Use
50 the correct calling convention for OpenGL extension entries.
52 2009-02-28 Sven Panne <sven.panne@aedion.de>
54 * progs/demos/smooth_opengl3/smooth_opengl3.c: When -mno-cygwin is used,
55 we get ancient GL headers, so be a bit more conservative.
56 * progs/demos/Fractals_random/fractals_random.c,
57 progs/demos/Lorenz/lorenz.c, progs/demos/shapes/shapes.c:
58 _CrtDumpMemoryLeaks and its header are Microsoft-specific, e.g. Cygwin
60 * src/freeglut_window.c: Do not try to destroy a GLX context when there
61 is none, e.g. when glXCreateContextAttribsARB is not there.
62 * src/freeglut_joystick.c: Use snprintf or _snprintf instead of the
63 potentially dangerous sprintf to avoid warnings.
65 NOTE: Due to excessive use of #ifdefs, the joystick code is on the
66 border of being unmaintainable! I could only check that it compiles
67 cleanly on my Linux box. Others should test this on their platforms
68 (Windows, Mac OS X, *BSD) to make sure that nothing has been broken.
69 * progs/demos/CallbackMaker/CallbackMaker.c,
70 progs/demos/Lorenz/lorenz.c, progs/demos/shapes/shapes.c: Use
71 vsnprintf instead of the potentially dangerous sprintf to avoid
72 warnings. Using snprintf directly would be a little bit more tricky,
73 because once again Microsoft decided to avoid followind standards and
74 provide _snprintf instead. We could use this, too, but this would
75 require an additional autoconf check, which I'd like to avoid, if
78 Note: If VS *still* issues warnings, but this time about vsnprintf,
79 somebody should add some pragmas or whatever is needed to shut up that
80 warning, it would be silly.
81 * progs/demos/Lorenz/lorenz.c: Position the distance message closer to
82 the middle of the window, it has been far, far off to the upper right.
83 * src/freeglut_internal.h: Synched version number with configure.ac. We
84 should better remove this redundancy and calculate this from
85 configure.ac directly.
87 2009-02-19 John F. Fay <john.fay.ctr@eglin.af.mil>
89 * progs/demos/smooth_opengl3/smooth_opengl3.dsp,
90 progs/demos/smooth_opengl3/smooth_opengl3Static.dsp: Fixing the
91 DOS/Linux line ending problems in the progs/demos/smooth_opengl3
94 2009-02-18 John F. Fay <john.fay.ctr@eglin.af.mil>
96 * src/freeglut_window.c: Fixing a build error caused by a variable
97 declaration being out of place
99 2009-02-15 Sven Panne <sven.panne@aedion.de>
101 * progs/demos/smooth_opengl3/smooth_opengl3.c: Final changes to make the
102 example fully OpenGL-3.0-compliant:
104 * Use vertex attribute arrays.
106 * Use our own projection matrix.
108 * Do not use deprecated vertex/fragment shader variables.
109 * progs/demos/smooth_opengl3/smooth_opengl3.c: Use GLSL shaders (still
110 1.20, though). Dump GL info.
111 * progs/demos/smooth_opengl3/smooth_opengl3.c: Added a commandline
112 option for 'classic' contexts. Aesthetic changes.
113 * progs/demos/smooth_opengl3/smooth_opengl3.c: Use VBOs in new example.
114 Added a few comments.
116 2009-02-14 Sven Panne <sven.panne@aedion.de>
118 * configure.ac, progs/demos/Makefile.am, progs/demos/smooth_opengl3,
119 progs/demos/smooth_opengl3/Makefile.am,
120 progs/demos/smooth_opengl3/smooth_opengl3.c,
121 progs/demos/smooth_opengl3/smooth_opengl3.dsp,
122 progs/demos/smooth_opengl3/smooth_opengl3Static.dsp: Initial version
123 of a fully OpenGL-3.0-compliant of the famous smooth.c from the Red
124 Book. What has been done already:
126 * Explicitly request a forward-compatible 3.0 context
128 * Report GL errors, if any, at a few crucial places
130 * Replaced gluOrtho2D with a home-grown matrix + glLoadMatrixf
132 What remains to be done:
134 * Use vertex shaders and fragment shaders
136 * Use vertex buffer objects
138 2009-02-13 Sven Panne <sven.panne@aedion.de>
140 * README: Mention autogen.sh
141 * src/freeglut_window.c: Synchronized WGL behavior with GLX
142 implementation: Do not call the new context creation API when it is
143 not required. Fixing a bug in a previous commit on the way... :-}
144 * src/freeglut_internal.h, src/freeglut_window.c: More refactorings:
145 Removed useless return value. Simplified control structures even more.
146 * src/freeglut_window.c: Refactoring only (replace nested conditionals
147 with guard clauses), making the normal path of execution much clearer.
148 * configure.ac: We have added some API entries, so we have to update
149 library version information conforming to
150 http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
151 * autogen.sh, configure.ac: Avoid CR\LF vs. LF troubles when using
152 TortoiseSVN plus Cygwin.
153 * .: Ignore config.lt, too. It seems to be generated by recent
156 2009-02-13 John F. Fay <john.fay.ctr@eglin.af.mil>
158 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_window.c:
159 Adding OpenGL 3.0 context detection for Windows per e-mail from Paul
160 Martz dated Thu 2/12/2009 9:03 AM (more or less)
162 2009-02-03 John F. Fay <john.fay.ctr@eglin.af.mil>
164 * README: Adding some instructions about building on a *nix platform to
166 * include/GL/freeglut_ext.h, src/freeglut_main.c: Removing some errant
167 tabs, fixing ticket #2137721, and adding special-key capability to
168 recognizing the NumLock, Delete, and keypad '5' keys
169 * src/freeglut_joystick.c, src/freeglut_main.c: A further response to
170 bug [ 1804696 ] Warnings when building on OpenSolaris -- per comment
171 by Nigel Stewart on that bug report
173 2009-02-02 John F. Fay <john.fay.ctr@eglin.af.mil>
175 * src/freeglut_internal.h, src/freeglut_joystick.c: Fixing bug [ 1804696
176 ] Warnings when building on OpenSolaris as updated 2/2/09 by Nigel
179 2008-11-20 Sven Panne <sven.panne@aedion.de>
181 * src/freeglut_glutfont_definitions.c, src/freeglut_internal.h: Yet
182 another try to make the font definitions compile on all platforms.
184 2008-11-17 John F. Fay <john.fay.ctr@eglin.af.mil>
186 * src/freeglut_glutfont_definitions.c, src/freeglut_internal.h: Allowing
187 "freeglut" to compile without errors under *nix. Before this, there
188 were problems with conflicting definitions of the GLUT font
191 2008-11-06 Sven Panne <sven.panne@aedion.de>
193 * src/freeglut_main.c: Ooops, forgot one file in the previous commit
194 (fix for "--without-x").
195 * configure.ac: Use autoconf to detect gettimeofday instead of broken
198 Note: freeglut compiles under Cygwin now, even when "--without-x" is
199 used for configuration.
200 * configure.ac: We need to link against winmm under Cygwin when
201 --without-x is used to get timeBeginPeriod, timeEndPeriod, joyGetPosEx
203 * src/freeglut_window.c: Fixed first parameter of CreateWindow call,
204 used for multisampling on Windows. It compiles, but it is otherwise
207 2008-11-05 Sven Panne <sven.panne@aedion.de>
209 * src/freeglut_misc.c: Be conservative about the presence of
211 * src/freeglut_glutfont_definitions.c, src/freeglut_stroke_mono_roman.c,
212 src/freeglut_stroke_roman.c: freeglut_internal.h needs some GL types,
213 but it is not self-contained. TODO: Move freeglut.h #include into
214 freeglut_internal.h itself?
215 * src/freeglut_window.c: Removed the annoying "Unable to create direct
216 context rendering..." warning, it served no real purpose, and on some
217 platforms there simply is no such thing as a direct context.
218 * progs/demos/CallbackMaker, progs/demos/Fractals,
219 progs/demos/Fractals_random, progs/demos/Lorenz, progs/demos/One,
220 progs/demos/shapes: Ignore *.exe
221 * src/freeglut_ext.c: Handle new glutInitContext* API entries in
223 * src/freeglut_internal.h: Make freeglut compile under Cygwin, which has
224 an ancient GLX header
226 2008-11-02 Sven Panne <sven.panne@aedion.de>
228 * include/GL/freeglut_ext.h, src/freeglut_init.c,
229 src/freeglut_internal.h, src/freeglut_state.c, src/freeglut_window.c:
230 Added OpenGL 3.0 context creation API entries
232 glutInitContextVersion, glutInitContextFlags
234 and their related constants
236 GLUT_INIT_MAJOR_VERSION GLUT_INIT_MINOR_VERSION GLUT_INIT_FLAGS
238 GLUT_DEBUG GLUT_FORWARD_COMPATIBLE
240 Note that this works with GLX only currently, the glutInitContext* API
241 entries have no effect for WGL yet.
243 TODO: Centralize the context creation code for WGL (the harder part)
244 and use the new wglCreateContextAttribsARB API entry (the easy part,
245 re-use most of the GLX code).
246 * src/freeglut_window.c: Refactored GLX context creation into a single
247 function, centralizing things to be changed for OpenGL 3.0 context
248 creation and removing some cut-n-paste.
249 * src/freeglut_ext.c, src/freeglut_internal.h: Make a
250 wgl/glXGetProcAddress abstraction available internally. We will need
251 this to get the new context creation function.
252 * src/freeglut_misc.c: Do not depend on GLU, it will vanish in the
253 future, at least in its current form.
254 * src/freeglut_internal.h: Removed superfluous #includes.
255 * configure.ac: Fix for bug #1709675 ("probably not be so
256 ISO-conformant"): The C compiler flag -Werror is not used by default
257 anymore, a separate configure flag --enable-warnings-as-errors has
258 been introduced for this purpose, which is off by default.
259 * configure.ac: Added AM_PROG_CC_C_O to configure.ac, removing a warning
260 during autogen.sh. This flag seems to be necessary for per-target
261 flags (used in demo programs) nowadays.
263 2008-07-21 John F. Fay <john.fay.ctr@eglin.af.mil>
265 * configure.ac, src/Makefile.am: Implementing a patch from Jocelyn
266 Frechot (thank you, Jocelyn) that "should enable the XInput extension
267 management with the autotools." See e-mail of Sun 7/20/2008 12:01 PM.
269 2008-07-10 John F. Fay <john.fay.ctr@eglin.af.mil>
271 * src/freeglut_ext.c: Adding "glutExit" to the functions in
272 "fghGetProcAddress" in accordance with an e-mail from Jocelyn Frechot
273 dated Tue 7/8/2008 12:26 PM
275 2008-04-05 John F. Fay <john.fay.ctr@eglin.af.mil>
277 * src/freeglut_main.c: Adding "SC_MONITORPOWER" and other new options to
278 the "wParam" option list (e-mail from Ron Larkin, 3/17/08, 11:00 AM)
280 2007-12-02 John F. Fay <john.fay.ctr@eglin.af.mil>
282 * include/GL/freeglut_ext.h, src/freeglut_display.c, src/freeglut_ext.c,
283 src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
284 src/freeglut_state.c, src/freeglut_window.c: Adding
285 "glutFullScreenToggle" for X11 -- still needs implementation in
286 Windows (e-mail by Jocelyn Frechot, Sun 11/25/2007 11:29 AM)
288 2007-12-01 John F. Fay <john.fay.ctr@eglin.af.mil>
290 * src/freeglut_window.c: Fixing the window position for asynchronous X11
291 implementations (e-mail by Jocelyn Frechot, Sun 11/25/2007 11:29 AM)
293 2007-11-26 John F. Fay <john.fay.ctr@eglin.af.mil>
295 * progs/demos/Fractals/fractals.c: Making a demo program that uses
298 2007-11-12 John F. Fay <john.fay.ctr@eglin.af.mil>
300 * include/GL/freeglut_ext.h, src/freeglut_ext.c, src/freeglut_init.c,
301 src/freeglut_internal.h, src/freeglut_state.c,
302 src/freeglut_structure.c, src/freeglut_window.c: Implementing Jocelyn
303 Frechot's changes -- see e-mail of Thursday, 11/8/2007 9:12 AM.
305 2007-10-02 John F. Fay <john.fay.ctr@eglin.af.mil>
307 * src/freeglut_joystick.c: Removing more Win64 build warnings from
310 2007-09-30 John F. Fay <john.fay.ctr@eglin.af.mil>
312 * src/freeglut_main.c: Removing the final compiler warning when building
313 on Win75 -- thank you, Antonio Mattos.
315 2007-09-29 John F. Fay <john.fay.ctr@eglin.af.mil>
317 * src/freeglut_cursor.c: Removing the remaining compiler warnings from
318 the cursor code, thanks to Antonio Mattos of Brazil. The double
319 type-casting is needed because of a bug in the new MSVC; there is a
320 discussion on the web on this subject.
322 2007-09-25 John F. Fay <john.fay.ctr@eglin.af.mil>
324 * src/freeglut_cursor.c: Changing the cursor definition macro for newer
325 versions of MSVC -- thanks to "Mattos" of Brazil
326 * src/freeglut_window.c: More changes for Jocelyn Frechot's
327 multisampling changes. The library builds now. It still needs some
328 testing with sample cases under X11.
330 2007-09-23 John F. Fay <john.fay.ctr@eglin.af.mil>
332 * src/freeglut_window.c: Fixing a remaining bug in the multisampling
333 change ... there may be more ...
335 2007-09-22 John F. Fay <john.fay.ctr@eglin.af.mil>
337 * src/freeglut_internal.h, src/freeglut_state.c,
338 src/freeglut_structure.c, src/freeglut_window.c: Putting in Jocelyn
339 Frechot's X11 visual context changes. THIS WILL BREAK THE BUILD as I
340 am unable to test it on a Linux machine here. Somebody please test it
343 2007-09-21 John F. Fay <john.fay.ctr@eglin.af.mil>
345 * src/freeglut_init.c, src/freeglut_main.c, src/freeglut_misc.c:
346 Removing compiler warnings in MSVC 2005 build
347 * include/GL/freeglut_ext.h, src/freeglut_init.c: Implementing Larry
348 Ramey's "glutExit" feature (see e-mails from him on 11/9/05, 6/28/06)
350 2007-09-19 John F. Fay <john.fay.ctr@eglin.af.mil>
352 * include/GL/freeglut_std.h, src/freeglut_window.c: Implementing first
353 part of Windows version of "GLUT_CAPTIONLESS" and "GLUT_BORDERLESS"
354 per feature request "[ 1197016 ] need GLUT_CAPTIONLESS window option".
355 Needs more work; menus are slightly mispositioned, X11 version does
356 not support it, banner appears at beginning but disappears on window
357 resize. But this is a start.
358 * src/freeglut_main.c: Fixing Linux key-repeat mode bug reported in "[
359 1796845 ] Keyboard events are lost when key repeat is enabled."
360 * src/freeglut_joystick.c: Fixing a build error on SuSE described in bug
361 report "[ 1792047 ] freeglut_joystick.c error"
363 2007-09-18 John F. Fay <john.fay.ctr@eglin.af.mil>
365 * src/freeglut_window.c: Implementing feature request "[ 947118 ] Popup
366 menu is hidden under the TOPMOST window"
367 * src/freeglut_menu.c: Adding Takeshi Nishimura's Feature Request "[
368 1045202 ] Cope with a menu with many items" -- sorry it took so long.
369 * src/freeglut_window.c: Addressing Feature Request #1307049 that
370 "freeglut" should return 0 if "glutGetWindow" is called without a
371 prior call to "glutInit", rather than terminating on error.
372 * freeglut.dep, freeglut.mak, freeglut_static.dep, freeglut_static.mak:
373 Added Windows "nmake" Makefiles and dependency files for the two
374 "freeglut" projects in accordance with Feature Request #1454543
376 2007-09-16 John F. Fay <john.fay.ctr@eglin.af.mil>
378 * src/freeglut_window.c: Fixing bug #1688954, submitted in Marcy '07. I
379 changed "FREEGLUT" to _T("FREEGLUT") and nothing changed on my Windows
380 XP system. If this will allow it to work on Vista, then in it goes.
381 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c,
382 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
383 Fixing bug report #1052151 from October 2004.
385 2006-11-28 John F. Fay <john.fay.ctr@eglin.af.mil>
387 * FrequentlyAskedQuestions: Adding a Frequently Asked Questions file
389 2006-09-28 Joe Krahn <krahn@niehs.nih.gov>
391 * src/freeglut_state.c, src/freeglut_window.c: Removed incorrect comment
392 about internal WGL/ARB definitions. I actually had put those comments
393 in because I had meant to go back and re-check the WGL extension. But,
394 maybe locally defined extensions should be kept in a separate include
397 2006-09-27 Joe Krahn <krahn@niehs.nih.gov>
399 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp,
400 progs/demos/CallbackMaker/CallbackMaker.dsp,
401 progs/demos/CallbackMaker/CallbackMakerStatic.dsp,
402 progs/demos/Fractals/Fractals.dsp,
403 progs/demos/Fractals/FractalsStatic.dsp,
404 progs/demos/Fractals_random/Fractals_random.dsp,
405 progs/demos/Fractals_random/Fractals_randomStatic.dsp,
406 progs/demos/Lorenz/lorenz.dsp, progs/demos/Lorenz/lorenzStatic.dsp,
407 progs/demos/One/one.dsp, progs/demos/One/oneStatic.dsp,
408 progs/demos/demos.dsw, progs/demos/shapes/shapes.dsp,
409 progs/demos/shapes/shapesStatic.dsp: Undo svn:eol-style=CR/LF for MSVC
412 2006-09-26 Joe Krahn <krahn@niehs.nih.gov>
414 * include/GL/freeglut_std.h, src/freeglut_joystick.c,
415 src/freeglut_state.c, src/freeglut_window.c: Added
416 FREEGLUT_LIB_PRAGMAS to control MS library pragmas, and fixed NOMINMAX
418 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp,
419 progs/demos/CallbackMaker/CallbackMaker.dsp,
420 progs/demos/CallbackMaker/CallbackMakerStatic.dsp,
421 progs/demos/Fractals/Fractals.dsp,
422 progs/demos/Fractals/FractalsStatic.dsp,
423 progs/demos/Fractals_random/Fractals_random.dsp,
424 progs/demos/Fractals_random/Fractals_randomStatic.dsp,
425 progs/demos/Lorenz/lorenz.dsp, progs/demos/Lorenz/lorenzStatic.dsp,
426 progs/demos/One/one.dsp, progs/demos/One/oneStatic.dsp,
427 progs/demos/demos.dsw, progs/demos/shapes/shapes.dsp,
428 progs/demos/shapes/shapesStatic.dsp: Added svn:eol-style=CRLF property
429 to MSVC project/workspace files.
431 2006-09-25 John F. Fay <john.fay.ctr@eglin.af.mil>
433 * src/freeglut_window.c: Fixing a typo bug in the display mode checking
434 (removing multisampling if it is not supported)
436 2006-09-25 Joe Krahn <krahn@niehs.nih.gov>
438 * src/freeglut_state.c: Fixed a small mistake in the previous commit for
440 * src/freeglut_state.c: Added proper support for number of mouse buttons
441 in X11, and a keyboard in Windows CE. Also, several glutGet results
442 returning TRUE/FALSE were changed to 1/0, because the actual return
443 type is int (although they are technically the same in practice).
445 2006-09-24 Joe Krahn <krahn@niehs.nih.gov>
447 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c:
448 Converted Time counter to a uniform unsigned long it value. The
449 initialized flag was redundant with the main Initialized flag, and
450 conversion of timeval to milliseconds in POSIX makes the code cleaner.
451 Timeval has a longer range, but the time value is already limited by
454 2006-09-23 Joe Krahn <krahn@niehs.nih.gov>
456 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c:
457 Removed WindowState.IsGameMode; it is redundant with
458 Structure.GameModeWindow
460 2006-09-21 John F. Fay <john.fay.ctr@eglin.af.mil>
462 * src/freeglut_state.c, src/freeglut_window.c: Adding support for the
463 multisampling query per bug report 1274193
464 * ChangeLog, src/freeglut_main.c: Fixing Bug #1398196 - Windows message
467 2006-09-21 Joe Krahn <krahn@niehs.nih.gov>
469 * src/freeglut_cursor.c: test (comment edited)
471 2006-09-21 John F. Fay <john.fay.ctr@eglin.af.mil>
473 * ChangeLog, src/freeglut_init.c: Adding temporary fix to
474 "glutInitDisplayString" to ignore numerical assignments
475 * ChangeLog, src/freeglut_window.c: Adding multisampling to *nix and
476 Windows; also some other pixel format enhancements to Windows
477 * ChangeLog, progs/demos/CallbackMaker/CallbackMaker.c: Enhancing the
479 * ChangeLog, src/freeglut_cursor.c, src/freeglut_display.c,
480 src/freeglut_ext.c, src/freeglut_gamemode.c,
481 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
482 src/freeglut_input_devices.c, src/freeglut_internal.h,
483 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
484 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_teapot.c,
485 src/freeglut_teapot_data.h, src/freeglut_window.c: Joe Krahn's changes
486 to "TARGET_HOST" defined constants
487 * ChangeLog, src/freeglut_internal.h, src/freeglut_joystick.c,
488 src/freeglut_main.c, src/freeglut_window.c: Fixing two minor bugs,
490 * ChangeLog, src/freeglut_gamemode.c, src/freeglut_internal.h,
491 src/freeglut_menu.c, src/freeglut_state.c, src/freeglut_structure.c:
492 Changing "GameMode" to "GameModeWindow ... and testing whether I can
495 2006-08-05 Sven Panne <sven.panne@aedion.de>
497 * ChangeLog, progs/demos/Fractals/fractals.c,
498 progs/demos/Fractals_random/fractals_random.c,
499 progs/demos/Lorenz/lorenz.c: Check fgets for return value to avoid
501 * freeglut.spec: Fixed typo in date
502 * freeglut.spec: Updated build requirements for SuSE 10.1
504 2005-10-12 Sven Panne <sven.panne@aedion.de>
506 * ., .cvsignore: Ooops, forgot to ingore INSTALL and install-sh in
508 * ChangeLog, include/GL/freeglut_ext.h, include/GL/freeglut_std.h: Moved
509 GLUT_INIT_STATE to <GL/freeglut_ext.h>, it is not part of the original
511 * ., .cvsignore, ChangeLog, INSTALL, autogen.sh, install-sh,
512 mkinstalldirs: Simply use autoreconf in autogen.sh, it is much simpler
513 and the recommended way in the autotools documentation. Removed
514 INSTALL, install-sh and mkinstalldirs, they are either unused or
515 automatically generated by autogen.sh.
517 2005-10-06 John F. Fay <john.fay.ctr@eglin.af.mil>
519 * include/GL/freeglut_ext.h: Allowing compilation of Windows version by
520 removing DLL decorations from deprecated joystick interface extensions
521 * src/freeglut_window.c: Implementing Stereo in Windows
523 2005-09-07 Sven Panne <sven.panne@aedion.de>
525 * ChangeLog, src/Makefile.am: Use target-specific *_CPPFLAGS, not the
527 * ChangeLog, autogen.sh: Use -Wall for automake to catch some buglets,
528 deprecated stuff, etc.
530 2005-09-04 Sven Panne <sven.panne@aedion.de>
532 * ChangeLog, autogen.sh: Silenced autogen.sh
534 2005-08-31 John F. Fay <john.fay.ctr@eglin.af.mil>
536 * freeglut.rc, freeglut.tgt, freeglut.wpj, freeglut_static.tgt:
537 Necessary files for Open Watcom support
538 * src/freeglut_internal.h: Adding Open Watcom support
539 * ChangeLog, README.win32: Documenting support for Open Watcom
540 * include/GL/freeglut_std.h: Implementing WATCOM support
542 2005-07-14 Sven Panne <sven.panne@aedion.de>
544 * src/freeglut_input_devices.c: Nuked useless bit-fiddling, pointed out
545 by John. I was a bit too quick to cut-n-paste the cfmakeraw()
546 definition into our code... :-]
547 * ChangeLog, src/freeglutdll.def: Synched the DLL definitions with
549 * ChangeLog, src/freeglut_cursor.c: Fixed the GLUT_CURSOR_INHERIT logic
552 Note that this commit is untested, but at least it looks better than
553 before. We really a need a cursor test program.
555 2005-07-13 John F. Fay <john.fay.ctr@eglin.af.mil>
557 * src/freeglut_cursor.c: Fixing a cursor bug in \"GLUT_CURSOR_INHERIT\"
559 2005-07-13 Sven Panne <sven.panne@aedion.de>
561 * ChangeLog, configure.ac: Improve autoconf magic: To detect headers
562 like GL/gl.h, it might be necessary to temporarily use the X11 flags
563 found by AC_PATH_XTRA.
564 * ChangeLog, src/freeglut_joystick.c: Avoid gcc warnings for some
565 joystick code (e.g. on Solaris).
566 * src/freeglut_input_devices.c: Tiny cleanup only...
567 * ChangeLog, src/freeglut_input_devices.c: Solaris doesn't have
568 cfmakeraw, but it is only a convenience function for some
569 bit-fiddling, anyway.
571 2005-07-08 Sven Panne <sven.panne@aedion.de>
573 * ChangeLog, include/GL/freeglut_ext.h, src/freeglut_ext.c,
574 src/freeglut_internal.h: Made all the "glutJoystickXXX" functions part
575 of the freeglut extensions. If this is not what we want, we can easily
576 #ifdef this away again...
577 * ChangeLog, src/freeglut_geometry.c: Made a few global arrays "static",
578 avoiding namespace pollution. The only externally visible symbols
579 should either be from the GLUT API ("glutXXX") or internal freeglut
580 entities ("fgYYY"). Reformatted things a bit on the way.
582 2005-07-06 Sven Panne <sven.panne@aedion.de>
584 * ChangeLog, src/freeglut_main.c: We only have pending redisplay
585 callbacks when the window wants to be redisplayed *and* it is visible.
586 Otherwise we won't redraw, anyway, and immediately discover that
587 there's still something to do, etc. etc., leading to 100% CPU load.
588 * ChangeLog, src/freeglut_main.c: Removed redundant code.
589 * ChangeLog, src/freeglut_init.c: X11 only: Destroy the global menu
590 rendering context when deinitializing. The visual/context handling for
591 menus is still rather obscure, though...
592 * progs/demos/Lorenz/lorenz.c: Reverting previous commit: %lf is a valid
593 format specifier for the scanf familiy of functions only, not for the
596 2005-07-05 John F. Fay <john.fay.ctr@eglin.af.mil>
598 * src/freeglut_main.c: Implementing the new menu context variable names
600 * src/freeglut_internal.h: Changing a comment ... nothing big.
601 * progs/demos/Lorenz/lorenz.c: Fixing output formats ... nothing big
603 2005-07-05 Sven Panne <sven.panne@aedion.de>
605 * ChangeLog, src/freeglut_state.c, src/freeglut_window.c: X11 only: Free
606 XVisualInfo structures when they are not needed anymore, fixing a
607 space leak. Not perfect for menus yet...
608 * src/freeglut_internal.h, src/freeglut_window.c: Tiny change to make
609 grep's life easier: Rename the fields of the menu context. Not really
610 worth a ChangeLog entry...
612 IMHO it looks like we could kill the whole MenuContext stuff, it is of
613 no use currently and some things look strange, like e.g. having a
614 context per menu. The latter is not OK when a menu is attached to
617 2005-07-02 Sven Panne <sven.panne@aedion.de>
619 * ChangeLog, src/freeglut_init.c, src/freeglut_internal.h,
620 src/freeglut_main.c, src/freeglut_state.c: Handle modifiers in
621 MotionNotify events, too. This fixes bug #1227920 (glutGetModifiers
622 not set/allowed in mouse callbacks). In addition, some related cleanup
624 * ChangeLog, src/freeglut_joystick.c: Partial fixes for bug #1218900
625 (freeglut-2.4.0 on FreeBSD).
626 * ChangeLog, Makefile.am: Remove wrong "execute" bits when creating a
627 distribution. This fixes bug #961938 (Executable bit set on non exe
629 * configure.ac: Tiny cosmetic change, not worth a ChangeLog entry.
630 * ChangeLog: Added John's missing ChangeLog entry.
632 2005-07-01 John F. Fay <john.fay.ctr@eglin.af.mil>
634 * freeglut.dsp, freeglut_static.dsp: Adding the
635 \"freeglut_input_devices.c\" file to the Windows project files
637 2005-07-01 Sven Panne <sven.panne@aedion.de>
639 * ChangeLog, configure.ac, src/Makefile.am: Some steps toward
640 compilation under MinGW. Note that there are still linking troubles
642 * src/freeglut_internal.h: Fixed #ifdef for ChangeDisplaySettingsEx
644 * ChangeLog, src/freeglut_input_devices.c: Silenced a signed/unsigned
645 mismatched via a cast.
646 * ChangeLog, src/freeglut_internal.h: MinGW is lacking a prototype for
647 ChangeDisplaySettingsEx, so supply one in this case. Note that this
648 should better be handled via autoconf than via cpp.
649 * ChangeLog, Makefile.am: Removed redundant files from EXTRA_DIST.
651 2005-06-30 Sven Panne <sven.panne@aedion.de>
653 * src/freeglut_main.c: Ooops, forgot to set the current window in the
654 last commit. I'll have to test better before comitting... :-]
655 * ChangeLog, src/freeglut_main.c: When a window is iconified, only an
656 UnmapNotify is sent, not a VisibilityNotify, so we have to handle the
657 window status callback in the former case, too. This fixes bug #763442
658 (Call the visibility callback when minimizing a window).
659 * ChangeLog, src/freeglut_main.c: Cleaned up
660 CreateNotify/ConfigureNotify handling.
661 * src/freeglut_main.c: Ooops, forgot to dump a few fields in some
663 * ChangeLog, configure.ac, src/freeglut_main.c: Added --enable-debug
664 configure flag. Currently it only turns on X11 event tracing, but in
665 the future we could add more.
667 Note: freeglut_main.c could benefit from some restructuring to clean
668 up the #ifdefs and cut down the sizes of some extremely long
670 * ., .cvsignore: Ignore files generated during RPM build.
672 2005-06-23 John F. Fay <john.fay.ctr@eglin.af.mil>
674 * doc/freeglut_user_interface.html: Fixing the documentation regarding
675 callbacks and geometry shape additions
676 * progs/demos/Fractals/Fractals.dsp,
677 progs/demos/Fractals/FractalsStatic.dsp,
678 progs/demos/Fractals_random/Fractals_random.dsp,
679 progs/demos/Fractals_random/Fractals_randomStatic.dsp,
680 progs/demos/Lorenz/lorenz.dsp, progs/demos/Lorenz/lorenzStatic.dsp,
681 progs/demos/One/one.dsp, progs/demos/One/oneStatic.dsp,
682 progs/demos/shapes/shapes.dsp, progs/demos/shapes/shapesStatic.dsp:
683 Adding separate static library and DLL demonstration program projects
684 * progs/demos/CallbackMaker/CallbackMaker.dsp,
685 progs/demos/CallbackMaker/CallbackMakerStatic.dsp: Adding separate
686 demo program projects for static library and DLL versions
687 * progs/demos/demos.dsw: Adding support for separate static library demo
689 * ChangeLog: Keeping current ...
690 * src/freeglut_input_devices.c: New file for Joe Krahn\'s dials input
693 2005-06-22 John F. Fay <john.fay.ctr@eglin.af.mil>
695 * src/freeglut_geometry.c: Fixing a bug in the Sierpinski sponge code
696 that made the application crash if called with number of levels < 0
697 * src/Makefile.am, src/freeglut_init.c, src/freeglut_internal.h,
698 src/freeglut_joystick.c, src/freeglut_state.c: Joe Krahn\'s input
699 (dials) device implementation.
701 2005-06-14 Sven Panne <sven.panne@aedion.de>
703 * ChangeLog, freeglut.spec: Added an RPM spec file based on the one
704 shipped with SuSE 9.3.
706 2005-06-10 James Jones <puggles@users.sourceforge.net>
708 * ChangeLog, configure.ac: Release of 2.4.0
710 2005-06-02 James Jones <puggles@users.sourceforge.net>
712 * ChangeLog, configure.ac, src/freeglut_internal.h: 2.4.0 Release
715 2005-05-26 John F. Fay <john.fay.ctr@eglin.af.mil>
717 * src/freeglut_main.c: Takeshi Nishimura\'s changes to make the Windows
718 mouse wheel/button mapping match that of X11; also fixing a typo in
719 the associated mouse callback argument list
721 2005-05-26 James Jones <puggles@users.sourceforge.net>
723 * ChangeLog, configure.ac: 2.4.0 RC4 updates
724 * src/freeglut_main.c: Fix joysticks so they are polled by their timer
725 correctly. (Dan Torop)
727 2005-05-24 Sven Panne <sven.panne@aedion.de>
729 * ChangeLog, src/freeglut_gamemode.c: The original glutEnterGameMode()
730 returns the window id of the game mode window, not TRUE/FALSE, we
731 should better follow that. Note that most man pages claim that this
732 function returns void, but this is definitely wrong.
733 * ChangeLog, src/freeglut_gamemode.c, src/freeglut_main.c: When
734 switching to game mode under X11, no ConfigureNotify event will happen
735 and consequently no reshape callback will ever be called via the
736 normal mechanism. To fix this, note that the game mode window needs to
737 be resized and handle this before redraw.
739 2005-05-22 Sven Panne <sven.panne@aedion.de>
741 * ChangeLog, src/freeglut_ext.c: Guarantee consistency of
742 names/addresses in glutGetProcAddress by using a macro. In addition,
743 this avoids any non-constant initializer issues which might be raised
744 when using WinDoze GCCs. The additional code overhead is negligible,
745 at least for x86 (a few instructions per name).
746 * ChangeLog, configure.ac: Lowering minimum autoconf version required.
748 2005-05-20 James Jones <puggles@users.sourceforge.net>
750 * ChangeLog: Tag for 2.4.0 RC3
753 2005-05-19 Sven Panne <sven.panne@aedion.de>
755 * src/freeglut_gamemode.c: Fixed SF bug #1204256: Off-by-one error in
756 X11 mode switching. The code which changes the X11 video mode has an
757 off-by-one error, resulting in a wrong mode or segfault. I've
758 refactored the code slighty to make it hopefully clearer what's going
759 on and corrected some #ifdefs on the way. Now at least the "One" demo
761 * src/freeglut_window.c: Fixed SF bug #1204261: Mini space leak when
762 creating an X11 window (X11 text property values have to be freed
765 2005-05-18 John F. Fay <john.fay.ctr@eglin.af.mil>
767 * src/freeglut_gamemode.c: Removing a C++ comment and simplifying the
770 2005-05-17 John F. Fay <john.fay.ctr@eglin.af.mil>
772 * src/freeglut_gamemode.c: Misiek\'s changes to fix Game Mode--getting
773 display settings under Windows and setting the window size correctly
774 on all operating systems.
776 2005-05-16 James Jones <puggles@users.sourceforge.net>
778 * ChangeLog: Mark for 2.4 RC 2
780 2005-05-13 John F. Fay <john.fay.ctr@eglin.af.mil>
782 * src/freeglut_menu.c: Removing two unused variables so this will
783 compile on Linux with -Wall
785 2005-05-12 John F. Fay <john.fay.ctr@eglin.af.mil>
787 * ChangeLog: Updating the ChangeLog ...
788 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c:
789 Takeshi Nishimura\'s menu changes--menus should now work properly. Use
790 the GLUT \"GLUTmech\" and \"walker\" demos to test them.
791 * src/freeglut_main.c: Takeshi Nishimura\'s menu fixes
793 2005-05-09 James Jones <puggles@users.sourceforge.net>
795 * ChangeLog, Makefile.am, configure.ac: Freeglut 2.4.0 Release Candidate
798 2005-05-06 Sven Panne <sven.panne@aedion.de>
800 * ChangeLog, progs/demos/shapes/shapes.c: Fixed a cuboctahedron vertex,
801 implemented wire mode for that shape.
802 * ChangeLog, progs/demos/shapes/shapes.c, src/freeglut_internal.h,
803 src/freeglut_main.c: Necessary compilation fixes for newer GCCs (e.g.
804 3.3.5, 4.0). Side effect: The shapes demo has a new 'i' key now.
806 2005-05-05 John F. Fay <john.fay.ctr@eglin.af.mil>
808 * ChangeLog: Updated the ChangeLog again ...
810 2005-05-04 John F. Fay <john.fay.ctr@eglin.af.mil>
812 * progs/demos/shapes/shapes.c: Replacing the original \"freeglut\"
813 \"shapes\" demo with the much snazzier OpenGLUT \"shapes\" demo. Many
814 thanks to the OpenGLUT community for writing it. The copyright notice
815 stays in the program.
816 * src/freeglut_main.c: Changing hard-coded constant (number of mouse
817 buttons = 3) to a \"glutDeviceGet\" call in two places under X11
818 * src/freeglutdll.def: Changing the version number from 2.0 to 2.4.0 ...
819 do we need to add any new interface functions?
820 * src/freeglut_internal.h: Removing an unused variable
821 * src/freeglut_window.c: Adding a comment on why \"freeglut\" differs
822 from GLUT in a particular way
823 * src/freeglut_joystick.c: Removing an unused function
824 * src/freeglut_init.c: Making the \"key repeat\" initialization
825 consistent with the rest of its usage; also making the
826 \"initDisplayString\" ever-so-slightly mroe general
827 * ChangeLog, TODO, src/freeglut_window.c: Updating the ChangeLog and
828 TODO files in preparation for the upcoming release
830 2005-04-29 John F. Fay <john.fay.ctr@eglin.af.mil>
832 * src/freeglut_joystick.c: Adding a \"TODO\" comment about dynamically
833 allocating joystick buttonj and axis arrays
834 * ChangeLog: Updationg the ChangeLog ...
836 2005-04-28 John F. Fay <john.fay.ctr@eglin.af.mil>
838 * README.win32: Adding a \"README.Win32\" file with instructions on how
839 to install \"freeglut\" under Windows.
840 * src/freeglut_main.c: Adding Window Exit event handling to the Windows
841 code; also adding a note that eventually it would be good to handle
842 the Window Entry event
844 2005-04-27 John F. Fay <john.fay.ctr@eglin.af.mil>
846 * src/freeglut_window.c: Fixing bug [ 1111218 ] fullscreen not working
847 Better late than never.
848 * src/freeglut_init.c: Fixing Bug Report [ 1160442 ]
849 glutGet(GLUT_ELAPSED_TIME) is too granular
851 2005-04-26 John F. Fay <john.fay.ctr@eglin.af.mil>
853 * src/freeglut_internal.h, src/freeglut_structure.c: Fixing the
854 typecasts on the callback fetches and invocations to allow
855 \"freeglut\" to compile with GCC 4.0
856 * src/freeglut_menu.c: Fixing erroneous implementation of Takeshi\'s fix
857 * src/Makefile.am: Changing include path from relative to absolute to
858 support off-directory builds (Yuri D\'Elia, March 22, 5:59 PM)
859 * LISEZ_MOI: Adding \"LISEZ-MOI\", the French version of \"README\"
861 2005-04-25 John F. Fay <john.fay.ctr@eglin.af.mil>
863 * ChangeLog: Updating the ChangeLog ... it seems to be something of a
864 stepchild if we\'re not careful.
866 2005-04-22 John F. Fay <john.fay.ctr@eglin.af.mil>
868 * src/freeglut_menu.c: Yuri D\'Elia\'s changes to get the virtual
869 maximum screen extent instead of the actual screen size.
870 * src/freeglut_gamemode.c: Yuri D\'Elia\'s changes to the game mode
872 * src/freeglut_structure.c: Change a hard-coded number to a defined
873 constant and add some initializations
874 * src/freeglut_cursor.c: Removing duplicate cursor code. This and the
875 previous change (in freeglut_main.c) apparently got combined.
876 * ChangeLog: Updating the ChangeLog to reflect activity over the past
878 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
879 src/freeglut_display.c, src/freeglut_gamemode.c,
880 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
881 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c,
882 src/freeglut_window.c: Trying again to change \"fgStructure.Window\"
883 to \"fgStructure.CurrentWindow\" and \"fgStructure.Menu\" to
884 \"fgStructure.CurrentMenu\" for easier maintenance.
886 2005-04-15 John F. Fay <john.fay.ctr@eglin.af.mil>
888 * ChangeLog: Updating the ChangeLog as a means of testing pCVSc
889 * src/freeglut_internal.h: Testing!
891 2005-03-23 Brian Paul
893 * include/GL/freeglut_ext.h: added comment about AUX flags
895 2005-02-16 Brian Paul
897 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
898 src/freeglut_structure.c, src/freeglut_window.c: fixes for menus being
899 attached to multiple buttons/windows (John Fay)
900 * src/freeglut_callbacks.c: added error check (John Fay)
902 2005-02-15 Brian Paul
904 * src/freeglut_init.c, src/freeglut_window.c: AUX buffers for Windows
907 2005-02-11 Brian Paul
909 * include/GL/freeglut_ext.h, src/freeglut_init.c, src/freeglut_window.c:
910 Aux color buffer support. Pass one of GLUT_AUX[1234] to
911 glutInitDisplayMode. Only implemented/tested on GLX, not Windows.
912 * include/GL/freeglut_ext.h, src/freeglut_ext.c,
913 src/freeglut_internal.h: Fix object/function pointer inconsistencies
914 which are a problem for gcc 3.4.2. Added GLUTproc type, returned by
915 glutGetProcAddress().
917 2005-01-23 Sven Panne <sven.panne@aedion.de>
919 * configure.ac: autoconf 2.58 is enough
920 * src/freeglut_callbacks.c, src/freeglut_internal.h: Stylistic change
921 only (added "do { ... } while( 0 )" around multi-statement macros)
922 * configure.ac, src/freeglut_joystick.c, src/freeglut_main.c: Testing
923 for errno.h is overkill. :-)
924 * src/freeglut_cursor.c, src/freeglut_main.c: Windows platforms only:
925 Merged some cursor-related code from John Fay (with minor changes)
927 2005-01-05 Sven Panne <sven.panne@aedion.de>
929 * src/freeglut_ext.c, src/freeglut_font.c, src/freeglut_main.c,
930 src/freeglut_state.c, src/freeglut_window.c: Hopefully removed all
931 damage done by commits without merge
932 * ChangeLog, src/freeglut_cursor.c: Reworked the X11 part of
933 glutSetCursor, fixing bug #764187 (Variable mouse pointers don't work)
934 on the way: * Use slightly more compatible cursor shapes for
935 GLUT_CURSOR_RIGHT_ARROW and GLUT_CURSOR_LEFT_ARROW. * Refactored and
936 fixed the erroneous code for GLUT_CURSOR_NONE. * Removed the incorrect
937 use of XFreeCursor and use a cache of cursors instead. Cursors are
938 never freed now, we could do this e.g. via reference countig if this
939 is really needed. * Fixed error handling. * Unknown cursor types are
940 an error now. * Now the window state always corresponds to the wanted
941 cursorID, even in the case of GLUT_CURSOR_FULL_CROSSHAIR.
943 NOTE: I am not sure where the cursor cache should really reside,
944 currently it is simply a file-local variable.
946 2005-01-03 Sven Panne <sven.panne@aedion.de>
948 * ChangeLog, src/freeglut_gamemode.c: Fixed part of bug #926883 (Video
949 mode matching code, memory leaks, fullscreen), i.e. issue warnings
950 when XF86VidModeFOO fails.
951 * ChangeLog, src/freeglut_gamemode.c: (234) Fixed part of bug #926883
952 (Video mode matching code, memory leaks, fullscreen): Now we first try
953 to get an exact mode match, ignoring the refresh rate if none could be
954 found. This way the X11 part and the WinDoze behave similarly. NOTE:
955 We still don't behave like GLUT, because it has a wider notion of
956 "best" match. We have to refactor and extend freeglut quite a bit to
958 * ChangeLog, src/freeglut_gamemode.c: Fixed part of bug #926883 (Video
959 mode matching code, memory leaks, fullscreen), i.e. memory leak caused
960 by not freeing the mode lines returned by XF86VidModeGetAllModeLines
961 * ChangeLog, src/freeglut_window.c: Improved error message a bit when no
962 suitable visual could be found (X11 only).
963 * configure.ac, src/freeglut_internal.h, src/freeglut_main.c: autoconf'd
965 * src/freeglut_joystick.c: Removed redundant #include
966 * ChangeLog, configure.ac, src/freeglut_joystick.c, src/freeglut_main.c:
967 autoconf'd <errno.h> handling and removed an unused '#include
969 * configure.ac, src/freeglut_joystick.c, src/freeglut_main.c: autoconf'd
970 <limits.h> and <sys/param.h> handling, removing MIN/MAX macros on the
972 * src/freeglut_internal.h: Cosmetics.
973 * configure.ac, src/freeglut_joystick.c: autoconf'd <fcntl.h> and
974 <sys/ioctl.h> handling
975 * src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c:
976 Improved <sys/typed.h> / <unistd.h> handling as suggested by the
978 * configure.ac, progs/demos/Lorenz/lorenz.c, src/freeglut_internal.h,
979 src/freeglut_main.c: Fixed <sys/time.h> / <time.h> handling as
980 suggested by the autoconf docs.
981 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
982 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
983 src/freeglut_font_data.c, src/freeglut_gamemode.c,
984 src/freeglut_geometry.c, src/freeglut_init.c, src/freeglut_internal.h,
985 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
986 src/freeglut_misc.c, src/freeglut_overlay.c, src/freeglut_state.c,
987 src/freeglut_structure.c, src/freeglut_teapot.c,
988 src/freeglut_videoresize.c, src/freeglut_window.c: Moved '#include
989 "config.h"' to freeglut_internal.h, we will need it there soon and it
990 makes everything a bit shorter.
991 * ChangeLog: Resurrected my recent additions which were nuked by the
992 previous commit, adding the latest change on the way. :-(
993 * acconfig.h: Removed acconfig.h, it is deprecated and we don't need it.
994 * src/freeglut_cursor.c, src/freeglut_font.c, src/freeglut_init.c,
995 src/freeglut_structure.c: Make it compile again with "-Wall -pedantic
996 -Werror", redoing quite a few things I've fixed already a few days
997 ago. Have today's commits been done by copying instead of merging? :-(
999 2005-01-03 James Jones <puggles@users.sourceforge.net>
1001 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
1002 src/freeglut_window.c: Changes remove duplicate menu code from
1003 "freeglut_window.c" and put it into one place in "freeglut_menu.c"
1004 where it belongs. - John Fay
1005 * ChangeLog: General ChangeLog Updates
1006 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
1007 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
1008 src/freeglut_gamemode.c, src/freeglut_geometry.c, src/freeglut_init.c,
1009 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
1010 src/freeglut_menu.c, src/freeglut_misc.c, src/freeglut_state.c,
1011 src/freeglut_structure.c, src/freeglut_teapot.c,
1012 src/freeglut_teapot_data.h, src/freeglut_window.c: Adding
1013 initialization checking to all GLUT interface functions and removing
1014 asserts from the rest of the code - John Fay
1016 2005-01-01 Sven Panne <sven.panne@aedion.de>
1018 * ChangeLog, src/Makefile.am: Added missing files from "src"
1019 subdirectory to dist.
1020 * AUTHORS: Synched with project member list on SourceForge
1021 * ChangeLog, Makefile.am, configure.ac: Modernized configure.ac a bit
1022 and added a rule to Makefile.am to update libtool. Note that all gcc
1023 compiler warnings are now on by default.
1024 * ChangeLog, include/GL/freeglut_std.h,
1025 progs/demos/CallbackMaker/CallbackMaker.c,
1026 progs/demos/Fractals_random/fractals_random.c,
1027 progs/demos/Lorenz/lorenz.c, progs/demos/One/one.c,
1028 src/freeglut_cursor.c, src/freeglut_font.c, src/freeglut_init.c,
1029 src/freeglut_teapot_data.h: Make "gcc -Wall -pedantic -Werror" happy.
1030 * ., .cvsignore: Ignore files generated by autoscan.
1031 * ChangeLog, INSTALL, configure.ac, configure.in: Renamed "configure.in"
1032 to the officially preferred "configure.ac".
1033 * stamp-h, stamp-h.in: Removed unused stamp-h* files, configure
1034 generates them (a single stamp-h1, to be exact).
1035 * ChangeLog, Makefile.am: Added eMbedded Visual Tools project/workspace
1036 files to distribution.
1037 * ., .cvsignore: Ignore distribution tar files
1039 2004-12-31 Sven Panne <sven.panne@aedion.de>
1041 * ChangeLog, src/freeglut_main.c: Fixed first bug of #1064195 (two
1042 things when using signals): Don't issue a warning about select when a
1043 non-blocked signal was caught. This makes sense and is more compatible
1045 * ChangeLog, src/freeglut_font.c: Fixed bug #1040435 (glutBitmapString()
1047 * ChangeLog: Alas, the ChangeLog has not the usual ChangeLog format, so
1048 tell (X)Emacs about that fact.
1049 * ChangeLog, src/freeglut_window.c: Fixed bug #1045054 (KeyReleaseMask
1051 * ChangeLog, src/freeglut_state.c: Fixed bug #1087642
1052 (glutDeviceGet(GLUT_DEVICE_KEY_REPEAT) unimplemented).
1053 * ChangeLog, src/freeglut_ext.c: Fixed bug #1079530 (glutGetProcAddress
1054 and geometric objects).
1055 * ., .cvsignore, doc, doc/.cvsignore, include, include/.cvsignore,
1056 include/GL, include/GL/.cvsignore, progs, progs/.cvsignore,
1057 progs/demos, progs/demos/.cvsignore, progs/demos/CallbackMaker,
1058 progs/demos/CallbackMaker/.cvsignore, progs/demos/Fractals,
1059 progs/demos/Fractals/.cvsignore, progs/demos/Fractals_random,
1060 progs/demos/Fractals_random/.cvsignore, progs/demos/Lorenz,
1061 progs/demos/Lorenz/.cvsignore, progs/demos/One,
1062 progs/demos/One/.cvsignore, progs/demos/shapes,
1063 progs/demos/shapes/.cvsignore, src, src/.cvsignore: Improved
1066 2004-12-17 James Jones <puggles@users.sourceforge.net>
1068 * src/freeglut_cursor.c, src/freeglut_display.c,
1069 src/freeglut_internal.h, src/freeglut_menu.c, src/freeglut_misc.c,
1070 src/freeglut_window.c: Some assertion changes / removals from Dr. John
1073 2004-10-06 Brian Paul
1075 * src/freeglut_callbacks.c, src/freeglut_internal.h,
1076 src/freeglut_joystick.c, src/freeglut_state.c: joystick init fixes
1079 2004-10-05 Brian Paul
1081 * src/freeglut_main.c: updated comments (John Fay)
1082 * src/freeglut_init.c, src/freeglut_main.c, src/freeglut_window.c:
1083 improved comments and mouse coord adjustments (John Fay)
1084 * src/freeglut_init.c: more clean-ups, fixes from John Fay
1086 2004-09-23 Brian Paul
1088 * src/freeglut_font.c, src/freeglut_stroke_mono_roman.c,
1089 src/freeglut_stroke_roman.c: font updates from John Fay
1090 * src/freeglut_main.c: more updates from John Fay
1091 * src/freeglut_geometry.c, src/freeglut_init.c: assorted updates from
1094 2004-09-15 James Jones <puggles@users.sourceforge.net>
1096 * src/freeglut_init.c: Fix to glutInit() command-line argument
1097 compaction - Patch #1027724 from takeshi2
1099 2004-09-13 Brian Paul
1101 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
1102 src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1103 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_state.c,
1104 src/freeglut_window.c: more updates from John Fay
1105 * src/freeglut_cursor.c, src/freeglut_gamemode.c,
1106 src/freeglut_geometry.c, src/freeglut_init.c, src/freeglut_internal.h,
1107 src/freeglut_joystick.c, src/freeglut_main.c,
1108 src/freeglut_structure.c, src/freeglut_teapot.c,
1109 src/freeglut_window.c: some function renaming, etc (John Fay)
1111 2004-09-10 Brian Paul
1113 * src/freeglut_callbacks.c, src/freeglut_init.c,
1114 src/freeglut_internal.h, src/freeglut_main.c: joystick updates from
1116 * src/freeglut_cursor.c, src/freeglut_font_data.c,
1117 src/freeglut_gamemode.c, src/freeglut_geometry.c, src/freeglut_init.c,
1118 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
1119 src/freeglut_menu.c, src/freeglut_misc.c, src/freeglut_state.c,
1120 src/freeglut_stroke_mono_roman.c, src/freeglut_stroke_roman.c,
1121 src/freeglut_structure.c, src/freeglut_teapot.c,
1122 src/freeglut_window.c: updated comments from John Fay
1124 2004-08-11 James Jones <puggles@users.sourceforge.net>
1126 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c:
1127 Fix a game mode crashing bug, conditional compilation for Windows, and
1128 comment out some diagnostic prints (John Fay)
1130 2004-08-05 James Jones <puggles@users.sourceforge.net>
1132 * src/freeglut_window.c: Implements Richard Rauch's request that the
1133 warning about indirect rendering contexts be suppressed for his BSD
1135 * src/freeglut_teapot_data.h: Someone used C++ style comments in a C
1136 file... tisk tisk...
1137 * src/freeglut_font.c: Bugfix for "glutBitmapString" so that it now
1138 handles end-of-line characters properly (Richard Rauch)
1139 * README: Incremental update ... (John Fay)
1141 2004-06-29 Brian Paul
1143 * src/freeglut_structure.c: give menu windows the title 'freeglut menu'
1145 * src/freeglut_window.c: move glXMakeCurrent() to after the point where
1146 the window's title is set (helps Chromium)
1148 2004-05-13 James Jones <puggles@users.sourceforge.net>
1150 * freeglut.dsp, freeglut_static.dsp: Add one more header file to MSVC
1153 2004-05-12 James Jones <puggles@users.sourceforge.net>
1155 * include/GL/freeglut_ext.h, include/GL/freeglut_std.h: John Fay:
1156 Direct/indirect rendering context change, fix a bug that somebody
1157 reported (about needing "GLUT_XLIB_IMPLEMENTATION" defined) and remove
1158 a false deprecation of a function.
1159 * src/freeglut_main.c: John Fay: A bug fix re: behavior of the code when
1160 the user clicks the "x" to close a window, and commentary to a message
1161 type with fixes for a Windows event processing bug.
1162 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_state.c,
1163 src/freeglut_window.c: John Fay: Implement the modified logic of the
1164 direct/indirect rendering context.
1165 * src/freeglut_font.c, src/freeglut_font_data.c: John Fay: Implement the
1166 upper end of the bitmapped fonts (beyond ASCII code 127). The fonts
1167 are very close to the GLUT fonts.
1168 * src/freeglut_teapot.c, src/freeglut_teapot_data.h: John Fay: These
1169 files implement the teapot for WINCE.
1170 * src/freeglut_internal.h: John Fay: Remove some obsolete defined
1172 * freeglut.dsp, freeglut_static.dsp: John Fay: Add
1173 "freeglut_glutfont_definitions.c" to the build and tell it to look in
1174 the "include" directory for the <GL/freeglut.h> file.
1176 2004-03-28 Steve Baker <steve@sjbaker.org>
1178 * progs/demos/shapes/shapes.c: Removed unnecessary initialisation.
1179 * progs/demos/shapes/shapes.c: Added a cullface test.
1183 * freeglut_evc4.vcp, src/freeglut_gx.cpp, src/freeglut_init.c,
1184 src/freeglut_main.c: removed .cpp file (using LoadLibrary() instead)
1185 removed modified gx.h file cleaned up all // and tabs
1189 * src/freeglut_main.c: Prevent exceeding array bounds in X11 key-repeat
1194 * freeglut_evc4.vcp, src/freeglut_ext.c, src/freeglut_gx.cpp,
1195 src/freeglut_init.c, src/freeglut_main.c, src/freeglut_misc.c,
1196 src/freeglut_state.c, src/freeglut_window.c: replaced all tabs with 4
1197 spaces replaced all // with /* */ block fixed freeglut_gx.cpp file
1198 with #if TARGET_HOST_WINCE
1202 * src/freeglut_init.c, src/freeglut_main.c, src/freeglut_state.c:
1203 Whitespace conversion - tabs to 4 spaces
1204 * src/freeglut_window.c: Revert X11 fgCloseWindow to 1.38 pre-offscreen
1209 * freeglut_evc4.vcp, src/freeglut_gx.cpp, src/freeglut_main.c: fixed
1210 mouse position and keyboard mapping. added c-wrapper cpp file for
1212 * freeglut_evc4.vcp, freeglut_evc4.vcw, include/GL/freeglut_std.h,
1213 src/freeglut_cursor.c, src/freeglut_display.c, src/freeglut_ext.c,
1214 src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1215 src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_misc.c,
1216 src/freeglut_state.c, src/freeglut_window.c: added support for
1217 WindowsCE (building on top of klimt)
1221 * src/freeglut_main.c: Repeat-key handling for Win32 Utilise both
1222 FreeGLUT state and per-window filtering modes
1226 * ChangeLog: Forgot to update the ChangeLog for the benefit of those who
1227 do not have CVS or Web access.
1228 * configure.in, include/GL/freeglut_ext.h, src/freeglut_internal.h,
1229 src/freeglut_window.c: Completed removal of all support for the
1230 offscreen rendering.
1232 If you wish to do offscreen supportin a portable manner, you will no
1233 longer be able to do so with current versions of freeglut.
1234 * progs/demos/Makefile.am: Removed Makefile support for the offscreen
1236 * progs/demos/One/one.c, progs/demos/offscreen: Removed offscreen demo
1241 * src/Makefile.am: Provide local include path to automake for
1246 * src/freeglut_window.c: Code formatting tweak
1247 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1248 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c:
1249 Resolution of X11 key-repeat handling
1251 glutSetKeyRepeat is global to all FreeGLUT windows in the application
1252 glutIgnoreKeyRepeat is a per-window over-ride
1254 To avoid nasty global X11 state interaction, or GLUT-style event queue
1255 filtering - the approach in FreeGLUT is to use the current key state
1256 XQueryKeymap to detect and ignore KeyRelease/KeyPress pairs that are
1260 http://pyopengl.sourceforge.net/documentation/manual/glutSetKeyRepeat.3GLUT.xml
1261 http://pyopengl.sourceforge.net/documentation/manual/glutIgnoreKeyRepeat.3GLUT.xml
1262 * src/freeglut_callbacks.c, src/freeglut_cursor.c, src/freeglut_ext.c,
1263 src/freeglut_font.c, src/freeglut_font_data.c,
1264 src/freeglut_gamemode.c, src/freeglut_geometry.c,
1265 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
1266 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
1267 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
1268 Stripped out tabs and end-of-line whitespace Differences are in
1273 * src/freeglut_window.c: Resolve [ 853044 ] FreeGLUT menus on Win32 in
1274 task bar and ALT-TAB list CreateWindowEx(WS_EX_TOOLWINDOW,...)
1275 extended style suppresses the popup menu window from the taskbar or
1280 * src/freeglut_init.c: ignoreKeyRepeat mode in FreeGLUT is TRUE by
1281 default For compatibility with GLUT, the mode should be FALSE by
1282 default This issues was probably undetected until now because
1283 ignoreKeyRepeat didn't yet work.
1284 * src/freeglut_main.c: Resolved bug #869765 glutIgnoreKeyRepeat() Fix
1285 (Win32) glutIgnoreKeyRepeat now behaves correctly on Win32
1286 * src/freeglut_internal.h: C++ style comment converted to C style
1288 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
1289 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
1290 src/freeglut_font_data.c, src/freeglut_gamemode.c,
1291 src/freeglut_geometry.c, src/freeglut_init.c, src/freeglut_joystick.c,
1292 src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_misc.c,
1293 src/freeglut_overlay.c, src/freeglut_state.c,
1294 src/freeglut_structure.c, src/freeglut_teapot.c,
1295 src/freeglut_videoresize.c, src/freeglut_window.c: Include freeglut
1296 header via <GL/freeglut.h> rather than "../include/GL/freeglut.h" This
1297 allows some additional flexibility with file layout. It should be the
1298 responsibility of the build environment, rather than at source level.
1299 This change tested on MSVC 6, cygwin and mingw32 gcc and Linux gcc.
1303 * src/freeglut_joystick.c: According to John F. Fay: The variable
1304 "num_axes" should be "joy->num_axes".
1308 * src/freeglut_gamemode.c: Removed nonstandard #warning constructs.
1309 Converted to XXX comments. (These are warnings about gamemode features
1310 not working the same on some systems as on others. The semantics of
1311 gamemode are dubious, since it was never formally documented, and has
1312 for a long time worked in different ways on different systems, so it
1313 is arguable that there is nothing really wrong with systems that don't
1314 support resolution-changes.)
1315 * src/freeglut_callbacks.c: Fixed the bug where glutDisplayFunc() was
1316 effectively invoking glutPostRedsiplay(). This is wrong on the face of
1317 it, and may be at root for some of the annoying "timing" issues we've
1318 had with redisplay events being called inappopriately.
1322 * progs/demos/offscreen/Makefile.am: I had rubbed the
1323 offscreen/Makefile.am off from the shapes demo. I forgot to remove a
1324 couple of references to the shapes.c and shapes.dsp (.dsw?) files.
1325 * configure.in, include/GL/freeglut_ext.h, progs/demos/Makefile.am,
1326 progs/demos/offscreen, progs/demos/offscreen/Makefile.am,
1327 progs/demos/offscreen/offscreen.c: Added "offscreen" demo, a very
1328 simple program that produces an onscreen window and, upon command,
1329 renders a similar offscreen display and writes the result to disk.
1331 Also, modified the build structure for UNIX_X11 to autobuild the demo.
1332 (Not done for WIN32 at this time.)
1334 Also, forgot to previously commit the updated freeglut_ext.h include.
1339 * src/freeglut_window.c: Minor comment adjustments.
1343 * src/freeglut_geometry.c: Refinements to comments
1347 * src/freeglut_joystick.c: Normalized the style of the new joystick a
1349 * src/freeglut_main.c: For some reason, the X "expose" event handler was
1350 *directly* calling the display handler in the client. (Okay, it was
1351 calling a function that operates on the window handle.)
1353 If you have any complexity to the display code, this can be painful to
1354 watch. I can't think of a good reason to do the display immediately,
1355 so I fixed the code to do a glutPostRedisplay().
1356 * src/freeglut_joystick.c: A commit on behalf of John (in turn, and in
1357 part, also on behalf of Thierry).
1359 * Renamed some of the old PLIB functions to have glut* prefixes. (I
1360 guess that there is some thought about exporting them to the API.)
1362 * Changes from Thierry for FreeBSD support, and/or results of testing?
1364 * I re-merged an XXX comment re. NetBSD/amd64 and propogated a comment
1365 on a duplicated #define for FreeBSD. We need the GNU autoconfig stuff
1366 to be updated by someone who groks it, now.
1370 * src/freeglut_init.c: Commit of John's tidying-up of a comment, closing
1371 out an XXX comment that I wrote. Thanks, John.
1375 * src/freeglut_window.c: ...AND a tab snuck into my changes for
1376 GLUT_OFFSCREEN support. Mea culpa.
1377 * src/freeglut_joystick.c: Removed a ^M that snuck into the #pragma for
1378 the new joystick code.
1379 * src/freeglut_window.c: Ooops. We don't want people to be able to
1380 create a subwindow of an offscreen window. (^& This is no longer
1383 (Actually, it would be nice if it would work, but I don't think that
1384 you can subwindow a pixmap in UNIX_X11, and assume that subwindowing
1385 offscreen doesn't work on WIN32, either.)
1386 * ChangeLog: Added entries for the joystick updates and the offscreen
1387 experimental support.
1388 * src/freeglut_joystick.c: Changed a couple of XXX comments. Added a new
1389 one. These all the nest of #ifs in the BSD section of the new joystick
1391 * progs/demos/CallbackMaker/CallbackMaker.c: "Heavy editing" by John to
1392 his CallbackMaker demo.
1393 * src/freeglut_joystick.c: John added a #pragma to the joystick code for
1395 * src/freeglut_internal.h, src/freeglut_window.c: Adds GLUT_OFFSCREEN as
1396 a display mode option. This includes:
1398 * Recognizing the mode when you call glutCreateWindow(). (Offscreen
1399 looks and acts like a top-level window in many ways.)
1401 * During the life of the offscreen "window", various window-management
1402 functions are modified to respect offscreen status.
1404 (Excepting reshaping windows, there is not much useful interpretation
1405 for managment of offscreen areas. Reshaping is possibly more work than
1406 it's worth to support, and GLUT specs allow us to ignore the request.)
1408 * Cleanup for "offscreen" windows is a little different than for
1411 Windows still don't start up quite ideally. Offscreen windows should
1412 probably get a reshape event, but not a display.
1416 * src/freeglut_init.c, src/freeglut_joystick.c: Big import of updated
1417 joystick code from PLIB, with permission from Steve Baker. Most of the
1418 adaptation done by John, with a little bit of testing and changes by
1419 Thierry Thomas and myself. Seems to compile on:
1421 WIN32 Red Hat LINUX FreeBSD NetBSD/amd64
1425 * src/freeglut_main.c: Close a bug whereby events can be delayed
1426 arbitrarily long if they get caught between the socket and the
1427 client-side queue on X, sometime after glutMainLoopEvent()'s loop
1428 quits and before the sleep code is invoked.
1432 * src/freeglut_main.c: Ammended a comment on fgCheckJoystickCallback().
1433 * src/freeglut_main.c: Minor style normalizations to minimize the diffs
1434 between *now* and from before John's changes. No functional changes:
1436 * Removed some hard TABs introduced. * Removed some
1437 spaces-at-end-of-line introduced. * A couple of function calls were
1440 I did this separately only because I don't like messing with other
1441 people's commits. (I don't like feeling like the style police, either,
1442 but when I mess with the commit, there's no room for reverting my
1443 interference if it is deemed undesirable...)
1444 * src/freeglut_main.c: Some changes from John.
1446 The main attraction seems to be correcting a bug with the action-on-
1451 * src/freeglut_main.c, src/freeglut_window.c: Win32 glutIconifyWindow()
1452 patch contributed by John F. Fay Restrict resize callbacks to visible
1453 windows When iconified via glutIconifyWindow(), don't pass (0,0) to
1454 resize callback Note that minimising the window via the menu or
1455 minimise button is not yet resolved.
1459 * src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_structure.c:
1460 Split a few overlong lines.
1462 Adjusted some spacing in a few spots to be more consistant with
1463 freeglut style. Including one unindented if() body.
1465 Eliminated a dead variable.
1466 * src/freeglut_joystick.c: Changed several #ifdef's to proper #if's.
1468 * src/freeglut_main.c: Hm... I thought that I committed this last night.
1471 This is Nigel's modified fgSleepForEvents(), essentially. Take 2.
1475 * include/GL/freeglut_std.h: Three supported win32 compilation
1476 environments: MSVC, Cygwin and MingW32 #pragma is specific to MS
1478 * src/freeglut_internal.h: Explicitly cast function pointer to (void *)
1479 in SET_WCB since all callbacks stored as void pointers suppress gcc
1480 -Wall -pendantic "noise"
1481 * src/freeglut_structure.c: Typesafe handling of temporary window
1482 destroy callback Move assignment out of while test, scope temporary
1483 inside loop Be explicit about assignment/comparison in if test for gcc
1484 peace of mind suppress gcc -Wall -pendantic "noise"
1485 * src/freeglut_internal.h: Three supported win32 compilation
1486 environments: MSVC, Cygwin and MingW32 The windows mmsystem header
1487 need only be included internally to freeglut strdup vs _strdup is
1488 specific to the MS compiler
1489 * src/freeglut_font.c: strlen expects (char *), rather than (unsigned
1490 char *) suppress gcc -Wall -pendantic "noise"
1491 * src/freeglut_cursor.c: Replace assignment of array to struct with
1492 field-by-field assignment suppress gcc -Wall -pendantic "noise"
1493 * src/freeglut_menu.c: glutBitmapString and glutBitmapLength expect
1494 (unsigned char *) rather than (char *) suppress gcc in -Wall
1496 * src/freeglut_joystick.c: Replace #ifdef WIN32 with #ifdef
1497 TARGET_HOST_WIN32, as per FreeGLUT convention
1498 * src/freeglut_init.c: fgState.FPSInterval is unsigned int (GLuint),
1499 environment variable GLUT_FPS can be negative
1500 * src/freeglut_window.c: OpenGL context is not made current on Win32
1501 until fgSetWindow is called. This resolves severe problems observed in
1503 * src/freeglut_window.c: #pragma message is only understood my MS
1504 compiler #if defined(_MSC_VER) .. #endif
1505 * src/freeglut_state.c: Resolve bug 864978 - GLUT_OWNS_JOYSTICK
1507 * src/freeglut_main.c: Tidy nested if/else to suppress gcc -Wall
1508 -pedantic noise gcc suggests explicit braces to avoid ambiguous `else'
1512 * progs/demos/CallbackMaker/CallbackMaker.c,
1513 progs/demos/Fractals/fractals.c,
1514 progs/demos/Fractals_random/fractals_random.c: Configuring with
1515 "--enable-warnings" broke three demos: * CallbackMaker defined, but
1516 did not use, the Joystick() function (a callback for the freeglut
1517 joystick interface). I uncommented the callback-registration. I assume
1518 that it was commented out because it was spammy. (freeglut does
1519 joysticks by polling with a timer.) Perhaps a longer interval than
1520 10ms would be advisable?
1522 * fractals.c used strcpy() without getting the prototype. Added
1523 #include <string.h> at the top.
1525 * fractals_random.c had the same problem as fractals.c.
1529 * src/freeglut_main.c: Moved the window-resize code so that it happens
1530 whenever there is a pending resize for the window, whether or not the
1531 window is visible or in need of a redisplay. The resize is now done
1532 before the visibility and need-to-redisplay checks.
1536 * src/freeglut_structure.c: Got rid of those int/ptr warnings on AMD64.
1537 (The code was casting an {int} to a pointer, and later retrieving the
1538 int by another cast. It should be safe provided that pointers are at
1539 least as big as {int}, but GCC was giving warnings on my system,
1541 * src/freeglut_main.c, src/freeglut_structure.c: Several
1542 test-on-assignment cases have been converted to stop GCC from
1543 complaining about if( a = get_a_value_for_a( ) ) type code.
1547 * src/freeglut_internal.h: Ooops, left some cruft in a comment in the
1548 header when committing the last patch. Cleaned up.
1549 * src/freeglut_callbacks.c, src/freeglut_internal.h,
1550 src/freeglut_structure.c: Wrote SET_WCB() to set a window callback.
1551 This lets us out of using the FETCH_WCB() as an lvalue (which it
1552 shouldn't, since the value of the FETCH is cast to the correct
1553 function-pointer type).
1555 2003-12-15 James Jones <puggles@users.sourceforge.net>
1557 * progs/demos/Fractals/Fractals.dsp: Change the destination directory of
1558 the debug version to "Debug" (John Fay)
1560 2003-12-13 James Jones <puggles@users.sourceforge.net>
1562 * ChangeLog: Release 2.2.0
1566 * src/freeglut_main.c, src/freeglut_window.c: Stripped out TABs that got
1569 There were no changes other than replacing about 10 to 12 TABs with a
1570 visually-suitable number of spaces, so this can probably be blindly
1571 treated as equivalent to the previous versions of the two affected
1574 2003-12-11 Christopher John Purnell
1576 * src/freeglut_internal.h, src/freeglut_structure.c: The deferred window
1577 destruction code was destroying the windows in reverse order. This
1578 cased a crash when the call to glutDestroyWindow() for a sub windows
1579 was immediately followed by a call to glutDestroyWindow() for it's
1580 parent. fgCloseWindows() would call fgDestroyWindow() for the parent
1581 first fgDestroyWindws() would recurse over the children and then
1582 fgCloseWindows() would call fgDestroyWindow() again for the child.
1584 I've replaced the single linked list with one of our two way link list
1585 structures. I've also moved it into fgStructure because that seemed
1586 the consistent thing to do.
1588 I said the the deferred windows destruction causes more problems then
1591 2003-12-11 James Jones <puggles@users.sourceforge.net>
1593 * progs/demos/CallbackMaker/Makefile.am: Include project file in the
1595 * ChangeLog: Updates for 2.2.0 RC2
1596 * progs/demos/demos.dsw: Add shapes to the Visual C workspace.
1597 * progs/demos/shapes/Makefile.am: Package the visual C project file with
1599 * configure.in: Set the version to 2.2.0
1600 * src/freeglut_gamemode.c, src/freeglut_main.c, src/freeglut_window.c:
1601 Nigel Stewart's Win32 window-sizing fix for game mode
1602 * progs/demos/One/one.c: Disable/enable lighting in the "one.c" demo
1604 * progs/demos/CallbackMaker/CallbackMaker.dsp: Add some essentials to
1605 get this program to compile (Nigel)
1606 * src/freeglut_internal.h: Update to reflect 2.2.0 release
1607 * ChangeLog: Note the release of 2.2.0 RC1
1611 * src/freeglut_structure.c, src/freeglut_window.c: John correctly
1612 observed that the initialization {OldHeight} and {OldWidth} in the
1613 window structure should be done for both windows and sub-windows, and
1614 the easiest way to do this is in the
1615 freeglut_structure.c:fgCreateWindow() code. So, transplant one line.
1619 * src/freeglut_main.c: Commit of John's change to stop an infinite-loop
1620 condition when the only windows left are freeglut menu windows, and
1621 correctly calls exit() if we drop out of the main loop without having
1622 requested any freeglut extensions to glutMainLoop() handling.
1626 * progs/demos/shapes/shapes.c, progs/demos/shapes/shapes.dsp: Two from
1629 * Updated shapes.c. I think that it's just reformatting and the
1630 addition of some comments.
1632 * Added shapes.dsp, a Microsoft Visual C++ Developer Studio Project
1633 file for building shapes on WIN32 with MSVC++.
1635 2003-12-03 Christopher John Purnell
1637 * configure.in: Added an option to enable gcc compiler warnings. I've
1638 explicitly excluded the one about adding parentheses.
1642 * src/freeglut_main.c: Touched up several comments, pointing up things
1643 that may be worth reflect- ing upon in the future.
1644 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_window.c:
1645 Hrm. I misunderstood the purpose of {window->State.Width} and
1646 {...Height}. Those are *not* records of the old values, but rather of
1647 the *desired* *new* values, hence it was inappropriate to use them in
1648 ConfigureNotify X11 event handling. Doing so introduced some new
1651 So, I created OldHeight and OldWidth in the window State structure,
1652 and *those* do what I require.
1654 I also stripped out the obsolete comment about getting extra/bogus
1655 reshape events. (Though I maintain that an application should be
1656 robust against them, freeglut should no longer generate them if the
1657 window has not changed size since last reported.)
1661 * src/freeglut_main.c: Changed Create/ConfigureNotify handling in
1664 * Just need to call GETWINDOW() once. Ooops. Heh. * Update
1665 {window->State} with the new size of the window. * If the window-size
1666 has NOT changed, then do NOT call the Reshape event.
1667 * src/freeglut_main.c: Added an "XXX" earmark for post-release
1668 contemplation. (The point is definitely in need of consideration, I
1669 believe, but is not immediately a major bug, so I'd rather not mess
1670 with it at the risk of postponing a release "soon".)
1671 * src/freeglut_main.c: Ensure that the time-out for sleeping is never
1673 * src/freeglut_main.c: Fixed a bug for UNIX_X11 where window reshape
1674 events were causing freeglut to mark the window as *needing* a reshape
1675 (which during general display callback handling would result in
1676 effectively a glutReshapeWindow()).
1678 The code is now system-dependant. It should be abstracted to a
1679 function, but is presently copied in two places. Sorry.
1681 Also, inverted the order of the associated if()/else check (in both
1682 WIN32 and UNIX_X11 branches) since the former "else" part was a
1683 one-line callback invocation.
1685 This fixes two seemingly unrelated bugs that I was seeing in UNIX_X11.
1687 2003-12-01 Christopher John Purnell
1689 * src/freeglut_internal.h: Added missing prototype for new list
1692 2003-11-28 Christopher John Purnell
1694 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1695 src/freeglut_structure.c: Timer optimizations. Made the list of
1696 pendinig timers ordered. Added a free list of used timer structures.
1697 * src/freeglut_callbacks.c: Timer optimizations.
1698 * src/freeglut_window.c: Fixed windows compilation problem with last
1701 2003-11-27 Christopher John Purnell
1703 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c,
1704 src/freeglut_structure.c, src/freeglut_window.c: Window close fix. The
1705 default behaiour should now be the same as with glut.
1709 * src/freeglut_init.c: Added change from Nigel to have resize events
1710 cause redraw events in WIN32. Also slightly reshuffled comments to
1711 deal with line-wrap issues.
1715 * src/freeglut_main.c: John reported, and fixed, a problem that recent
1716 changes caused for the Lorenz demo (seems to be WIN32 specific).
1717 * src/freeglut_structure.c: Update from John: Removed the freeglut hack
1718 of decrementing the highst-window-ID marker when the highest window is
1719 deleted. (This was a half-way measure for an idea that was decided to
1720 be dubious in the first place.)
1721 * configure.in, progs/demos/Makefile.am, progs/demos/shapes,
1722 progs/demos/shapes/Makefile.am, progs/demos/shapes/shapes.c: Added a
1723 new demo (from Nigel) showing some of the basic GLUT geometry shapes.
1724 "shapes" is the name of the demo.
1725 * include/GL/freeglut_ext.h, src/freeglut_geometry.c: Commit of work
1728 Massive rework of the geometric primitive code. Includes a new
1729 primitive (cylinder; solid and wireframe) and corresponding update to
1730 freeglut_ext.h for the prototype.
1731 * src/freeglut_internal.h, src/freeglut_main.c,
1732 src/freeglut_structure.c: More work from John (sorry for
1735 * We forgot to bump our version number in freeglut_internal.h It is
1736 now at 2.0.2 (actually, I think that 2.1.0 might be a better choice),
1737 which is presumably going to be our next formal release. 2.0.1 is
1738 incorrectly identified as 2.0.0 in the header.
1740 * A typo in a comment has been corrected ("than"/"that").
1742 * Numerous "manual" checks for callbacks are omitted now, since
1743 INVOKE_WCB() does this for us. These were holdovers from the
1744 pre-INVOKE_WCB() days. There may be some very subtle changes in
1745 freeglut behavior, since freeglut used to test the callbacks a little
1746 earlier in some cases and may have skipped some minor things (like
1747 changes to the current window) in some special cases, otherwise. It is
1748 not believed that any documented behavior is broken, and it is
1749 unlikely---not to say impossible---that any extant applications will
1750 detect the change. It is even possible that there is no external
1751 behavioral change in freeglut.
1753 This also significantly simplifies some sections of code that used to
1754 have conditional execution. "Unconditional code is simpler code" as
1755 one of the comments used to say.
1757 * Lots of XXX commentary is now removed. Some of it was obsoleted by
1758 other changes, some by changes from John.
1759 * src/freeglut_internal.h, src/freeglut_main.c,
1760 src/freeglut_structure.c: Change from John (I removed a couple of
1761 spaces from a couple of lines in his freeglut_internal.h file where
1762 they were wrapping in EMACS; otherwise, the files are exactly as he
1765 The change unifies the WIN32 and UNIX_X11 code by defining our own
1766 window-handle-type in freeglut_internal.h. This let John rip out some
1767 #if garbage in several places. The result is clearer code.
1773 * src/freeglut_font.c, src/freeglut_geometry.c,
1774 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
1775 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
1776 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c,
1777 src/freeglut_window.c: Numerous style normalizations from John:
1779 * Convert "return( value );" to "return value;" * Normalize spacing
1780 around semicolons. * Remove extraneous parens. * Split multi-statement
1781 lines into multiple lines. (Mostly things of the form: "if( condition
1783 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_window.c:
1784 All changes are from John, except for: (a) I re-inserted the meat of a
1785 comment that I still feel is relavent. (b) I fixed a compile-time
1786 error in the UNIX_X11 code where a variable is declared after
1787 executable code in a block without creating a new sub-block for the
1790 Changes from John include: (a) Style revision. (b) Changes to postpone
1791 the handling of window resizes.
1793 Lots of lines were changed, but I think that thos two cover the ground
1794 that he hit. See the diffs for details.
1796 2003-11-18 Christopher John Purnell
1798 * src/freeglut_cursor.c, src/freeglut_ext.c, src/freeglut_geometry.c,
1799 src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1800 src/freeglut_menu.c, src/freeglut_state.c, src/freeglut_structure.c:
1801 Lots of stuff that John F. Fay pointed out. Plus some changes to
1802 remove gcc warnings.
1804 2003-11-17 Christopher John Purnell
1806 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1807 src/freeglut_state.c, src/freeglut_structure.c: Fix spelling mistake
1808 in a variable name. Added a comment for John Fay. Added the copyright
1809 notice for XParseGeometry source.
1811 2003-11-16 Christopher John Purnell
1813 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1814 src/freeglut_state.c, src/freeglut_structure.c: Made Modifers variable
1815 global as per glut classic.
1816 * src/freeglut_init.c: Removed old unused glutInitDisplayString code.
1817 Reformated new glutInitDisplayString and XParseGeometry code.
1818 * src/freeglut_init.c: Use XParseGeometry for better geometry parsing.
1819 Moved geometry parsing to after fgInitialize() so we can use the
1820 screen size to correctly calculate negative positions in the geometry
1821 string. Copied the code for XParseGeometry from the X11 sources for
1822 use in the Win32 version. freeglut now passes test1 of the glut test
1825 2003-11-15 Christopher John Purnell
1827 * src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1828 src/freeglut_main.c, src/freeglut_structure.c, src/freeglut_window.c:
1829 Removed the state variable BuildingAMenu. Instead pass a new parameter
1830 isMenu to fgCreateWindow(). Elsewhere use window->IsMenu.
1831 * src/freeglut_init.c: freeglut_assert_ready is going to have to go at
1832 some point. But for now I've moved setting fgState.Initalized to
1834 * src/freeglut_callbacks.c, src/freeglut_display.c,
1835 src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1836 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
1837 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c,
1838 src/freeglut_window.c: Replace TRUE with GL_TRUE and FALSE with
1839 GL_FALSE where the type is GLboolean.
1843 * src/freeglut_main.c, src/freeglut_menu.c: Normalized the spacing
1844 around symbols, for the most part. Ho-hum.
1846 2003-11-15 Christopher John Purnell
1848 * src/freeglut_main.c: Added a call to fgDeinitialize() before the call
1849 to exit() in fgError().
1853 * src/freeglut_joystick.c: Style normalizations to the joystick code.
1855 2003-11-15 Christopher John Purnell
1857 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1858 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
1859 Added a new state variable "Initalized". Replaced referenced to
1860 Time.Set with this new variable where appropriate. fgElapsedTime() now
1861 set the start time if Time.Set is false. Moved
1862 glutGet(GLUT_ELAPSED_TIME) handling to before the assert.
1866 * src/freeglut_internal.h: Normalized the internal header's style a bit.
1867 * src/freeglut_init.c: Plowed one more file this morning. Still just
1868 trivial formatting issues.
1870 And I left alone the "INIT DISPLAY STRING PARSING" section, since it
1871 still appears to be in flux.
1872 * src/freeglut_font.c, src/freeglut_gamemode.c: Yet more trivial style
1875 Sorry, but that's all that I'm up to at the moment. On the plus,
1876 excepting the font_data file (which I've been skipping), up through
1877 this file, I think that the code style is pretty close to uniform.
1878 * src/freeglut_font.c: Minor style corrections.
1879 * src/freeglut_display.c: Minor spacing quibble.
1880 * src/freeglut_cursor.c: Added a brief explanatory note to the X code
1881 for GLUT_CURSOR_NONE.
1883 Corrected the indentation of a block of code.
1884 * src/freeglut_window.c: Noted one of a few cases where we do something
1885 immediately that could more efficiently be postponed, quite
1886 easily---and which GLUT promises *is* to be postponed. (It is unlikely
1887 that the difference will break any apps, but postponing should be
1890 No real change, just a comment in the code.
1894 * ChangeLog: Updated ChangeLog for the day.
1895 * include/GL/freeglut_std.h, progs/demos/One/one.c, src/freeglut_ext.c,
1896 src/freeglut_font.c: Removal of all remaining TABs in the freeglut
1897 *.[ch] files. (I missed a few in the "one" demo, it seems, and some
1898 more crept back into freeglut_(ext|font).c, presumably due to my own
1899 edits when I forgot to use the "freeglut-c-mode" in EMACS.)
1900 * progs/demos/One/one.c: Moved glutInit*() functions ahead of
1901 glutInit(). (This is proper use of glutInit() in general, since it
1902 allows the user to override settings via {argc, argv} command-line
1904 * progs/demos/One/one.c: Style normalizations: Removed CRs and hard TABs
1906 * ChangeLog, src/freeglut_structure.c: Corrected the numbering of the
1907 ChangeLog (there were two (110)s).
1909 Added entries summarizing my commits since September or late August,
1910 for the benefit of those lacking both CVS and web access.
1911 * progs/demos/demos.dsw: Added CRs to the ends of all lines in MS
1912 developer studio demos.dsw file..
1916 * src/freeglut_main.c: John's fix for the minimize/close/maximize
1917 controls no longer working. WIN32 expected us to pass the message on
1918 up the chain (or do something else with it), rather than just throwing
1919 away the event, for a certain class of events. (See the diffs for more
1922 The code is also slightly reformatted from what was previously in the
1924 * freeglut.dsp, freeglut_static.dsp,
1925 progs/demos/CallbackMaker/CallbackMaker.dsp, progs/demos/demos.dsw: A
1926 *.dsp file for CallbackMaker in the demos.
1928 Plus updated *.dsp and *.dsw files to reflect the new freeglut header
1931 NOTE: The prior version of the *.dsw file does not in fact have CRs. I
1932 thought that it did. For consistancy, I am not putting them in in this
1933 version, either. (At least one person said that his MSVC++ system is
1934 happy with the current files. If there are problems, we can easily add
1935 the CRs, but that should be a separate commit...)
1936 * configure.in, progs/demos/CallbackMaker,
1937 progs/demos/CallbackMaker/CallbackMaker.c,
1938 progs/demos/CallbackMaker/Makefile.am,
1939 progs/demos/Fractals_random/fractals_random.c,
1940 progs/demos/Makefile.am: New demo from John: CallbackMaker.
1942 This demo shows the use of every callback that you can register with
1943 freeglut, and also generates event reports so that you can see what is
1944 happening to the program as it runs.
1946 Not much to look at, but both utilitarian and a practical example.
1948 Please double-check that I updated everything that needs to be
1949 updated. I reran autogen.sh and ./configure, and it built okay for me.
1951 * src/freeglut_structure.c: Hm. I thought that I already hit this file
1952 for style normalization. Oh well... Should be no functional changes.
1953 Should be pretty close to in-line with the style of changes that I've
1954 been making else- where.
1955 * src/freeglut_structure.c: Ooops. Forgot that we already had a call to
1956 fgClearCallBacks() in the code and added a second one. I just deleted
1958 * src/freeglut_structure.c: Added Nigel's suggested code to clear all
1959 but the destroy callback early on, leaving Destroy to be cleared later
1960 after the last possible point where it should be invoked.
1961 * src/freeglut_menu.c: Modified the menus to refer to {border} rather
1962 than {FREEGLUT_MENU_BORDER}, in fghDisplayMenuBox(). The local
1963 variable was already defined and used for some purposes, so we might
1964 as well use it throughout. It does serve to shorten and clarify the
1965 code a bit---though I have mixed feelings about creating aliases that
1968 Still, the variable already existed and was already used in places.
1969 (We could even move it into the freeglut state, or make it a {const
1972 Oh well. Stuff to ponder.
1973 * src/freeglut_cursor.c: Well, a couple of days have gone by, so I
1974 assume that items (a) and (b) in the freeglut_cursor.c file's "Open
1975 issues" comment are now satisfactor- ily closed.
1977 I also partially implemented some error-checking, using my limited
1978 understanding of how Xlib users are supposed to do this. (No one
1979 commented about the lack of error-checking, pro or con. Perhaps
1980 someone will care to comment now?)
1982 At present, it just will print out a warning, via fgWarning(). In part
1983 because I'm not sure what is best to do, and in part because failure
1984 to set the cursor type is probably not a fatal problem.
1986 2003-11-08 Christopher John Purnell
1988 * progs/demos/Fractals/Makefile.am,
1989 progs/demos/Fractals_random/Makefile.am,
1990 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Applied
1991 Braden McDaniel's non-srcdir build patch.
1995 * src/freeglut_menu.c: A first pass over freeglut_menu.c to bring it in
1996 line with the rest of freeglut's style. Mostly re-indenting and
1997 splitting long lines. For those that may be concerned: No, I didn't do
1998 any more arrangments of the form (CONST == a) rather than (a ==
2000 * progs/demos/Fractals_random/fractals_random.c: Altered the way that
2001 the {random} value (from 0..3) is chosen.
2003 Previously, it picked out two adjacent bits in the result of rand().
2004 Unfortunately, these adjacent bits (at least on NetBSD) have a certain
2005 amount of dependance. After a period (perhaps a thousand or so?), it
2006 starts to repeat the pattern of those two bits. (I think; I haven't
2007 actually tested that directly.) This presumably is locking it into a
2008 an an N-way attractor on the "snowflake", such that if you zoom in a
2009 ways, you will start to see some spots *quickly* are colored, and
2010 others are *never* colored.
2012 What I've done now is to pick up two widely-spaced bits in a single
2013 rand() call. (Perhaps we would do as well to pick up something like
2014 bit #16 from two consecutive rand() calls?) These widely-spaced bits
2015 have a lower statistical dependance on one another (if I can get away
2016 with using that term for an arithmetic operation; though since stats
2017 has more to do with sampling and less to do with true randomness, I
2020 The net effect, at leats on NetBSD, is far better snowflake if you
2025 * src/freeglut_main.c: From John:
2027 [This] implements the visible/invisible for Windows. It does NOT call
2028 the visibility callback, though.
2029 * src/freeglut_main.c: Stripped out the now truly extraneous {braces} in
2032 if( ... ) { INVOKE_WCB( ... ); }
2034 Check for compiling on WIN32.
2035 * src/freeglut_internal.h: Adopted Eero Pajarre's suggestion of using a
2036 do { ... } while rather than { ... } for the INVOKE_WCB() macro. This
2037 lets it be used "more like a function", in that:
2039 if( ... ) INVOKE_WCB( ... ); else ...
2042 * src/freeglut_main.c: Pure code janitoring: Shuffled the order of some
2043 of the case statements in the UNIX_X11 X event processing loop. (In
2044 general, it's nice to have case statements sorted, especially when you
2045 have a *huge* switch statement like this. That makes it easier to find
2046 the one that you're looking for, and to see if a certain case is
2048 * src/freeglut_main.c: Combined EnterNotify and LeaveNotify event
2049 processing in the UNIX_X11 event loop.
2050 * src/freeglut_main.c: Added ReparentNotify case to UNIX_X11 event loop,
2051 to catch the extraneous ReparentNotify event types (type 21).
2052 * src/freeglut_internal.h, src/freeglut_structure.c: Oh well, I might as
2053 well add the call to clear callbacks on window destruction. Also
2054 renamed the function to do this: fgClearCallBacks(). Ho-hum.
2055 * src/freeglut_internal.h, src/freeglut_structure.c: Added
2056 fgInitCallBacks() to freeglut_structure.c. (The function takes an
2057 {SFG_Window *}.) Added prototype to freeglut_internal.h. Added use of
2058 the function to the window initialization. (Don't count on calloc(),
2059 which sets all bits to 0.)
2060 * src/freeglut_gamemode.c: Style normalization; removal of
2061 say-nothing-useful comments.
2062 * src/freeglut_font.c: Normalized the style of freeglut_font.c No
2063 substantial alterations.
2064 * src/freeglut_ext.c: Somewhat normalized the style of this file.
2066 Also moved the "glutMouseWheelFunc" extension down into the
2067 "extensions" part of the table. (Purely internal organization. It will
2069 * src/freeglut_display.c: Further normalization of the code's style. No
2070 substantial changes.
2071 * src/freeglut_cursor.c: Split one last overlong line in
2073 * src/freeglut_cursor.c: Added GLUT_CURSOR_NONE support in UNIX_X11
2074 (well, NetBSD; you lot need to try it on others; (^&).
2076 Deallocated some resources that we are creating. VERY slight memory
2077 leak, but plugged now.
2079 These two complete the first two "Open issues" ( (a) and (b) ). The
2080 first one also completes X support for glutSetCursor(). If others can
2081 verify, we can fully demote the outstanding bug over this to
2084 I'll delete the dead Open issues and re-letter the others if someone
2085 will cross-check me. Or if no one says anything in a day or two. (^&
2086 * src/freeglut_cursor.c: Further normalized the style of the cursor
2088 * src/freeglut_callbacks.c: Slight style improvements. Two rules of
2089 thumb that are almost always good to apply:
2091 * Don't write a == CONST. Instead, write CONST == a. Or, more
2092 generally (in C like languages): Avoid putting an lvalue on the
2093 left-hand side of an == comparison. (For consistancy, I try to avoid
2094 lvalues on the left- hand side of any comparison---but == is the most
2097 (An "lvalue" is a value that can safely go on the left side of an "="
2098 assignment, of course. (^&)
2100 * Do not write if( !condition ) return; other_thing; return;
2102 (See page 18 of K&P's _The Elements of Programming Style_.)
2104 Instead, it is better to just write:
2106 if( condition ) other_thing; return;
2108 There are times when sacrificing structured programming (e.g., via
2109 multiple return statements) is okay. But, here, there is no apparent
2110 gain---indeed, there seems only loss---in the non-structured code.
2111 * src/freeglut_main.c: Grr. Forgot to enable the "freeglut" C
2112 programming mode in EMACS, and had a few TABs in the last commit. This
2114 * src/freeglut_main.c: Minor corrections to the UNIX_X11 mouse-wheel
2115 support. In part this reflects that {button} is already shifted to the
2116 GLUT numbering, and hence should be counted as 3&4, 5&6, etc.
2118 The other change was simply to clarify the computation of {direction}.
2119 The original code did some clever arithmetic. The new code is more
2120 straightforward, even if it requires more lines to express.
2124 * src/freeglut_main.c: Ooops. I screwed up on part of John's fixes.
2127 I think that I have his fix properly committed now. Mea culpa.
2128 * src/freeglut_callbacks.c, src/freeglut_internal.h,
2129 src/freeglut_main.c, src/freeglut_structure.c: Cleanup pass after
2130 committing callback conversion (from structure to array-of-pointers).
2131 Mostly deleted commented-out struct-based code. Also added some XXX
2132 comments that I though should be pondered. (My own pair of eyes, and
2133 one brain cell, were not sufficient at this time to decide what to do
2134 for those ponderables. (^&)
2135 * src/freeglut_callbacks.c, src/freeglut_init.c,
2136 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
2137 src/freeglut_misc.c, src/freeglut_structure.c: Converted the
2138 "Callbacks" structure (with named members holding individual callback
2139 pointers) to a "CallBacks" array in fgState. (This is to allow us to
2140 write a loop to clear all callbacks from windows when the window is
2141 dead/dying. Using this, we can safely assign NULL to each in a loop.)
2143 Support includes two new macros, FETCH_WCB() and INVOKE_WCB(). See
2144 freeglut_internal.h for more details there.
2146 Some typedefs of function pointer types were altered to make them more
2147 uniform (necessary for the macros).
2149 All references to window-based callbacks in freeglut are updated to
2152 Old usages will cause compile-time errors.
2154 As a side bonus, the new invocation macro sets the current window and
2155 checks pointers so that these common steps can be uniformly done on
2156 every window-based callback. This makes it easier to do things right.
2157 At the same time, the array notation (and now required associated
2158 casts) make it harder to bypass the macros and abuse the function
2159 pointers, in general.
2161 After this commit, I will go through the code and clean up dangling
2162 issues about formatting. This commit is just a "it now works, let's
2163 checkpoint it" type of affair.
2164 * src/freeglut_main.c: From John, a couple of lines needed to be changed
2165 to fix the mouse wheel support on WIN32.
2166 * progs/demos/Fractals_random/fractals_random.c: Update from John:
2167 Includes mouse button, mouse motion, and mouse wheel support.
2171 * src/freeglut_menu.c: Multiple changes from John. Style issues, plus a
2172 bug-fix to check a pointer before deallocating some memory.
2174 He also removed one obsolete comment, and added some more comments.
2175 * src/freeglut_main.c: Some changes, mostly from John. Mostly style
2178 One bug fix from John: Execution state bug-fix in glutMainLoop(), per
2181 One fix from me: Changed "if( ButtonPress )" to "if( pressed )".
2182 {ButtonPress} is a constant.
2183 * progs/demos/Fractals_random/fractals_random.c: Per John's emailed
2184 desire to have all files obey UNIX EOL conventions, I have stripped
2185 out carriage returns from this file.
2187 This is the *only* change, but every line is touched. If you want to
2188 see the real differences between older and newer versions, you will
2189 have to get local copies of each and first match their EOL
2191 * progs/demos/Lorenz/lorenz.c: Update from John:
2193 I [John] added a feature to check for memory leaks under Windows.
2194 * progs/demos/Fractals_random/fractals_random.c: Update from John:
2196 I [John] converted everything to double precision to avoid compiler
2197 warnings. I also added a feature to check for memory leaks under
2198 Windows and removed a memory leak (surprise!).
2199 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
2200 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
2201 src/freeglut_gamemode.c, src/freeglut_geometry.c,
2202 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
2203 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
2204 src/freeglut_misc.c, src/freeglut_overlay.c, src/freeglut_state.c,
2205 src/freeglut_structure.c, src/freeglut_teapot.c,
2206 src/freeglut_videoresize.c, src/freeglut_window.c: Got rid of the
2207 G_LOG_DOMAIN junk, per discussion on the mailing list.
2208 * src/freeglut_callbacks.c: Minor formatting quibbles. (The brain isn't
2209 up to anything more serious at the moment.)
2210 * src/freeglut_main.c: Missed a block where one level was 2-space
2213 Nit-picked a few other lines for consistancy.
2217 * src/freeglut_init.c: Fixed a memory leak (thanks for the correction,
2220 Smoothed over some code style issues while I was here, but left the
2221 init-string parsing alone for now.
2222 * freeglut13.dsp, freeglutdll.dsp, freeglutstatic.dsw: Deleted 3 files
2223 (again?) from CVS, on John's request. Old/obsolete MSVC++ project
2224 files. (freeglut13.dsp, freeglutdll.dsp, freeglutstatic.dsw)
2225 * src/freeglut_main.c, src/freeglut_structure.c: * Indentation issues. *
2226 Pulled some common code into a nicely packaged function. * Found some
2228 * src/freeglut_main.c: Heh.
2230 Forgot to wrap the fgGetXModifiers() in a #if. Fixed.
2231 * src/freeglut_main.c: Extracted some common code to a subroutine, in
2232 glutMainLoopEvent(). (The common code was a snippet to compute X
2233 keyboard modifiers as a bit-mask of GLUT symbols.)
2234 * src/freeglut_main.c: Caught a few more little style issues.
2235 * src/freeglut_main.c: Added a "case" for an X event that we turn on but
2236 do not use. ({MapNotify}). We already caught {MappingNotify} and
2238 * src/freeglut_main.c: * Fixed a bug in the X11 handling of
2239 scrollwheel/mouse. The old code, I believe, checked if *either* a
2240 wheel or button callback was set, and then decided which to use---and
2241 unconditionally called it. I left the "either" check in, but added
2242 additional checks before actually doing the invocation. * Lots of
2243 reformatting. Massive. The usual suspects, though, and fairly trivial:
2244 Re-indenting to standard size, shuffling some spaces to match the
2245 freeglut "standard" of: if( ... ) ...and: func( ... )
2249 * src/freeglut_callbacks.c: Cleaned up one macro definition.
2251 Picked up an over-long line that I missed before.
2252 * src/freeglut_callbacks.c: Fit some long lines to 80 columns.
2253 * src/freeglut_cursor.c, src/freeglut_display.c,
2254 src/freeglut_gamemode.c, src/freeglut_geometry.c: Last of the hard
2255 TABs in the src/*.c files.
2256 * src/freeglut_init.c, src/freeglut_joystick.c, src/freeglut_main.c,
2257 src/freeglut_menu.c, src/freeglut_state.c: En masse removal of most (I
2258 think) of the remaining hard TABs in files. There are still a couple
2259 of files that need to be hit.
2260 * src/freeglut_window.c: Picked up some stray TABs scattered in this
2262 * src/freeglut_window.c: Noted by XXX comments that the XFlush() calls
2263 probably shouldn't be there. Flushing the X protocol stack every
2264 little bit both adds clutter to the code and may impede performance.
2266 It seems that we should be able to get rid of these, though allowing
2267 client code to directly call glutMainLoopEvent() does make it a little
2270 Something to ponder.
2271 * src/freeglut_window.c: Polished off the say-nothing-new comments and
2272 lines-over-80-columns in freeglut_window.c
2274 There should be no functional changes.
2275 * src/freeglut_window.c: Missed a few say-nothing-new comments in
2276 fgOpenWindow(). Eeep. Should be better now. (^&
2277 * src/freeglut_window.c: Cleansed fgCloseWindow(): * say-nothing-new
2278 comments axed. * de-TABbed. * Made the white-space to be consistant.
2279 * src/freeglut_window.c: Cleaned up fgOpenWindow(): * Removed TABs. *
2280 Made indentation consistant. * Deleted say-nothing-new comments. *
2281 Changed an *error*check* from an assert to an if(). (The error-check
2282 was on window creation; we don't want to lose that if the user
2283 compiles with asserts deactivated. Also, assert()s really tell us more
2284 about programming errors, rather than run-time errors, so it is a
2285 little misleading to use assert() for error-checks, even if you can
2286 depend upon assert()s never being compiled away to null statements.) *
2287 Added some XXX comments for things that bear some rumination.
2288 * src/freeglut_window.c: Cleanup to fgSetWindow(). The usual suspects: *
2289 Removed tabs. * Made indentation consistant. * Killed off
2290 say-nothing-new comments.
2291 * src/freeglut_window.c: Cleanup to fgSetupixelFormat(). Should be no
2294 Code facelift included:
2296 * Consistant indentation. * Removal of all TABs (there were a bunch).
2297 * Fit to 80 columns.
2298 * src/freeglut_window.c: There should be no changes to code
2299 functionality, though a fair bit of little changes to the code
2302 * Fit the comments at the start of the file to fit 80 columns. * Noted
2303 an unusual feature of the ATTRIB() macro. * Added ATTRIB_VAL() macro
2304 which is really just two ATTRIB()s. This lets us put things like
2305 {ATTRIB (GLX_RED_SIZE); ATTRIB (1);} on one statement: {ATTRIB_VAL
2306 (GLX_RED_SIZE, 1);}. I did this to preserve some of the layout of
2307 information while also avoiding the nasty semi-visible ";" in the
2308 middle of a line of code. And by putting the {braces} in the macro
2309 definition, I was able to visually clean code of the form: if
2310 (condition) { ATTRIB( X ); ATTRIB( 1 ); } ...rewriting as: if
2311 (condition) ATTRIB_VAL( X, 1 ); * Eliminated a bunch of
2312 say-nothing-new comments in fgChooseVisual(). * Combined some
2313 semi-useful comments into a block comment summarizing a loop.
2317 * src/freeglut_structure.c: Finished off most of the issues with
2318 freeglut_structure.c, from a stylistic point of view (at least,
2319 insofar as: The original file's code was INCON- SISTANT. I did not
2320 remove the "!= NULL" stuff, did not address the shortest-branch-first
2321 issue for if-else statements, and left some rather ugly "if (x) {...
2322 return y} /* else do this */ return NULL;" garbage. This should, I
2323 think, be re-written as "if (x) return y; else return NULL;" or even
2324 better, "ret = NULL; if (x) ret = y; return ret;"
2326 In short, the code still has some issues, but I think that it's a bit
2329 (Oh, I also got rid of oustanding TABs.)
2330 * src/freeglut_structure.c: Eliminated most of the say-nothing-new
2333 Fit most of the code to no more than 80 columns.
2335 Raised some issues about completeness/correctness of trying to
2336 decrement the max-window-ID (apparently in order to partially recycle
2337 some window IDs to slightly slow the rate of growth of window IDs). (I
2338 didn't change what the code does, though.)
2340 The functionality of the code should be unchanged.
2341 * src/freeglut_main.c: Forgot to set {direction} explicitly to +/- 1 for
2342 freeglut mouse-wheel API on MS-WINDOWS. Oops.
2344 Now it should always report +/- 1 on MS-WINDOWS, per the spec.
2345 * src/freeglut_main.c: Minor fix to allow for multiple ticks to be
2346 received at one time by the WIN32 code. Take abs(direction) as the
2347 number of ticks, and count it down.
2349 <stdlib.h> *should* be included by freeglut_internal.h, I think, so it
2350 should be okay; otherwise add a suitable #include.
2351 * src/freeglut_main.c: Grrr. My attempt to commit got aborted, and the
2352 commit message was lost. Now I've lost track of what I said I'd done.
2355 * Fixed some issues with multiple wheels. * Noted in comments some
2356 issues about other-than-3-real-buttons. * Fixed formatting to fit 80
2357 columns. * Removed some BCPL/C++ style comments (//) that are not
2358 legal, and which, if memory servers, are not even strictly legal when
2359 disabled by preprocessor directives. E.g.,
2361 #if 0 not-syntactically-valid-C #endif
2363 ...is not legal. Though most cpp's will discard the bracketed material
2364 completely before the main C compiler pass has a chance to analyze the
2365 syntax. (MSVC++ and GCC both don't seem to mind the BCPL style
2366 comments in plain C, but let's keep the sources clean, eh?) * Fixed a
2367 problem that would have caused freeglut to report doubled wheel events
2370 Not tested other than compiling. Personally, I think that the
2371 interface is inherently broken at this point unless you are willing to
2372 get user- configuration. (Which would then solve the complaint that
2373 Steve had about computing the tick-size on behalf of applications.)
2374 I.e., there is NO WAY to know if we have the right buttons to start
2375 wheels at, or if there are any buttons after the first wheel(s), etc.
2376 We just have to guess---and if we are wrong, we can get varying
2377 degrees of brokeness.
2379 2003-10-29 Christopher John Purnell
2381 * src/freeglut_window.c: There is a problem with the way I did
2382 glutFullscreen() in my last commit. So I've copied the way the game
2383 mode does it. It's not ideal but it works. The glutGet() for the
2384 window border sizes will also have to be fixed at some point.
2385 * src/freeglut_window.c: Rewrote glutFullscreen(). It now correctly
2386 places the window in X11. It now uses system dependant code for more
2387 efficient use of windowing system calls.
2391 * src/freeglut_joystick.c: Should be no real changes to the code
2394 I missed a few lines that went past 80 columns. (^&
2396 Also made formatting more consistant.
2398 Added a couple of XXX comments re. FreeBSD vs. general BSD #ifdef's.
2399 * src/freeglut_joystick.c: Should be entirely superficial changes to
2402 * Fit lines to 80 columns. (It does get tiresome seeing long lines
2403 forced to break by the right-hand border of windows...(^&) *
2404 Eliminated say-nothing-new comments. * Made formatting more consistant
2405 in spots. * Eliminated some hard TAB characters.
2406 * src/freeglut_joystick.c: Added Thierry's change to include
2407 sys/param.h. This lets us pick out version numbers for OS releases
2408 corresponding to system headers.
2410 I modified it to also work with NetBSD; I cannot confirm if it is safe
2411 with any other systems, so it remains protected by a #if.
2412 * src/freeglut_state.c: Deleted some say-nothing-new comments.
2414 Added some XXX's where comments seemed to require future attention.
2416 Added some new comments with XXX's where future attention seems
2418 * src/freeglut_state.c: Deleted a bunch of say-nothing-new comments.
2419 Someday, there shall be an end to them.
2420 * src/freeglut_state.c: Previous changes were made without the freeglut
2421 major mode in EMACS. Re-tweaked some lines (mostly got rid of some
2422 TABs, but also resulted in some changed indentation).
2424 Reformatted a big comment to fit to 80 columns.
2426 Removed bogus references to "Linux". (UNIX, and/or X11 were relavent,
2427 and "UNIX/X11" was substituted for "Linux" in those places. This
2428 includes UNIX-alike systems.)
2429 * src/freeglut_state.c: Rewrote the TODO BEFORE THE STABLE RELEASE
2430 comment to fit to 80 columns.
2432 Cleanup of fghGetConfig(). (One return statement, simpler code.)
2434 Made glutSetOption() have a more consistant style---and also got its
2435 lines to stay under 80 columns.
2436 * src/freeglut_misc.c: Got the last of the say-nothing-new comments in
2439 (I would have picked them up before, but wanted the bug-fix and
2440 conversion-to-error-message changes to go in before I did more
2442 * src/freeglut_cursor.c, src/freeglut_main.c, src/freeglut_misc.c: *
2443 Fixed a bug that I introduced in fgWarning()/fgError(): I thought that
2444 ((a) || (b)) was defined to have value as: (a) if (a) != 0 (b) if (a)
2447 ...instead, it has value 0/1. This was causing a bug. It's probably
2448 just as well, since what I was trying to do definitely fell into the
2449 category of "clever code" rather than "clear code".
2453 * Made glutSetKeyRepeat() call fgError() if you go out of range. (The
2454 old code silently did nothing---not even a warning.)
2456 If it is really desirable to keep running, we should probably at least
2457 generate an fgWarning().
2459 * Deleted some say-nothing-new comments.
2461 * XXX added: Is glutSetKeyRepeat() deprecated?
2465 * include/GL/freeglut_ext.h, src/freeglut_callbacks.c,
2466 src/freeglut_ext.c, src/freeglut_internal.h, src/freeglut_main.c:
2467 Commit, mostly of work from John:
2469 * Removed some say-nothing-useful comments. * Added some tentative
2470 mouse-wheel support. * Fairly massive reformatting of code.
2472 I made some secondary changes to his changes:
2474 * One compilation error was fixed (missing close-paren + semicolon). *
2475 Deleted a few ore say-nothing-useful comments. * Some of John's code
2476 was strangely formatted to the point that it seemed completely out of
2477 place, so I took the liberty of reformatting it. Since I used GNU
2478 EMACS's <tab> key (which re-indents rather than inserts TAB
2479 characters), I had to propogate some indentation changes a little
2480 further than the bare necessity to match up with John's changes. (John
2481 seems to shoot for 2-space indents, while EMACS (and I, I confess)
2482 strongly prefer 4-space indents. The code that I was re-indenting had
2483 been put to 8-space indents, however.)
2485 I have *not* tested the code beyond compiling. I assume that John did
2486 (and that the compilation error was a result a minor change just
2487 before asking me to commit).
2488 * src/freeglut_cursor.c: Re-indentation style changes from John.
2490 There should be no alterations to how the code performs.
2492 (I modified how the X11 section of the set-cursor code is indented to
2493 slightly better match (IMHO) the rest of his changes.)
2497 * src/freeglut_menu.c: Converted a few "x != NULL" tests to "x" for
2500 I think that I've touched enough lines of source for one morning.
2501 * src/freeglut_menu.c: Cleaned up a little redundancy in a comment on
2502 the {menu_pen_*} variables.
2503 * src/freeglut_menu.c: Removed about 90 lines of say-nothing-new
2506 The code should be functionally unaltered by these changes.
2507 * src/freeglut_menu.c: Propogated a pointer-check from menu-attach to
2508 menu-detach. (Apparently, in some cases, the Menu member variable can
2511 Corrected the menu-attach code to make sure that both Window and Menu
2512 pointers are non-NULL (rather than "at least one").
2514 Rewrote button-checks to more simply and more clearly assert that the
2515 "menu button" is a valid button for menu actions: Instead of
2516 laboriously comparing against the three valid buttons (0, 1, 2 or
2517 GLUT_BUTTON_*), we do a simpler range-check and the upper bound is
2518 {FREEGLUT_MAX_MENUS}, allowing us to change the number of menuable
2519 buttons fairly easily in the future.
2521 Also deleted a few say-nothing-new comments.
2522 * src/freeglut_menu.c: Cosmetic changes (mostly deleted a few more
2523 say-nothing-new comments). The functionality of the code should be
2525 * src/freeglut_menu.c: Changed an "#elif TARGET_HOST_UNIX_X11" to
2526 "#else", since this simply governed menu aesthetics. I think that it's
2527 better to have a default that works than to break completely, should
2528 freeglut ever be ported to a new (non-WIN32, non-UNIX/X11) target.
2529 * src/freeglut_menu.c: Minor modifications to the menus:
2531 * Updated an old "TODO BEFORE STABLE" comment.
2533 * Expanded a comment re. some #define macros.
2535 * Made colors and font choice system dependant. The UNIX freeglut
2536 menus look more like UNIX GLUT menus, now. (This is PURELY a cosmetic
2537 change. But it achieves better compatibility visually.)
2538 * src/freeglut_main.c: Cleaned up glutMainLoop() a bit:
2540 * Deleted numerous say-nothing-new comments. * Reformatted a
2541 say-something-useful comment to fit on an 80-column display.
2542 * src/freeglut_main.c: Partially (re-?)unified some of the
2543 glutMainLoopEvent() code. The only code that really needs to be
2544 system-specific is the window event handling, which in MS-WINDOWS is
2545 tucked into a separate function. In UNIX/X11, it's all spilled out
2546 into glutMainLoopEvent() for some reason.
2548 If the X11 code could be tucked into another function,
2549 glutMainLoopEvent() could be platform-independant.
2553 * src/freeglut_main.c: Moved the idle callback out of
2554 glutMainLoopEvent() and into glutMainLoop(), per discussion on the
2555 list. The code looks okay, to me, though I remain less than wholly
2556 convinced that treating idles as special cases is the best way to go.
2557 Still, a case can be made for taking "non-event" idle callbacks out of
2558 the "event loop". From an organizational perspective, I think that
2559 it's an improvement, and it fixes a bug for at least one program.
2560 * src/freeglut_menu.c: Added John's text-positioning modification.
2562 The lines that he was altering were very oddly-split, so while I was
2563 at it, I repaired the line-break damage.
2564 * src/freeglut_joystick.c: Committed change from Nigel to fix the
2565 joystick bug. (The joystick code was not setting the GLUT window prior
2566 to calling callbacks.)
2568 Please verify. If so, this closes out, I think, the latter half of
2569 that bug report, so anyone with the means to modify/close bug reports
2570 should do so upon verification of the fix.
2571 * src/freeglut_main.c: Superficial cleanup of the code. Mostly taking
2576 /* * <Enslish recapituation of the single following C statement> */
2577 <single C statement>
2581 ... <single C statement>
2583 freeglut_main.c still has a lot of that in it, but it looks a bit
2585 * src/freeglut_init.c: Added some error-checking (particularly w.r.t.
2588 Deleted numerous 4-line "padding" sequences of C-as-English trans-
2589 literation comments.
2591 Re-indented some (but not all) code that is using 2-space indentation.
2592 (Most of the freeglut code seems to be using 4-space indentation.)
2594 I did not touch the "INIT DISPLAY STRING PARSING" code, since it is
2595 filled with a ton of over-long lines and also appears to be in more
2596 flux than the rest of the code. (Well, I added one error-check to a
2598 * src/freeglut_font.c: Removed two more bogus "carriage return"
2599 references where the comments were in fact talking about a line feed
2600 (a.k.a. newline, LF, ^J, \n, ...).
2601 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c:
2602 Fixed the buglet about failing to report the program's name on error-
2603 messages. Please test. (Modified glutInit(), the state structure, and
2604 the warn/err functions.)
2606 2003-10-23 James Jones <puggles@users.sourceforge.net>
2608 * ChangeLog: Released 2.0.1
2610 2003-10-21 Christopher John Purnell
2612 * configure.in, include/GL/Makefile.am, include/GL/freeglut.h,
2613 include/GL/freeglut_std.h, include/GL/glut.h,
2614 progs/demos/Fractals/Makefile.am,
2615 progs/demos/Fractals_random/Makefile.am,
2616 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am,
2617 src/Makefile.am: Added --disable-replace-glut option to autoconf
2620 2003-10-15 James Jones <puggles@users.sourceforge.net>
2622 * NEWS: Noted the release of 2.0.0
2623 * configure.in: Version bump
2627 * src/freeglut_font.c: Swept the freeglut_font.c for comment cleanup: *
2628 Got rid of the "rewrite C as English" comments. * Corrected several
2629 bogus references to "carriage returns" (in strings). The symbols were
2630 newlines or EOLs or LFs (\n). They were *not* carriage returns or CRs
2631 (\r). * Clarified the comments on glBitmap() calls.
2635 * progs/demos/Fractals/fractals.c,
2636 progs/demos/Fractals_random/fractals_random.c: Small bug-fix that's
2639 Modified the two Fractals* demos so that they only clear (for the
2640 random one) or redraw (for the non-random one) if there is need to do
2641 so. (E.g., pressing the space bar should not clear and redraw the
2642 random fractal since no parameters are altered.)
2643 * src/freeglut_cursor.c, src/freeglut_display.c: Removed the obsolete
2644 hack (or very ill-conceived dream), fgDisplayCursor().
2645 * src/freeglut_display.c: Cleaned up some of the style issues (mostly
2646 "fluff" comments) in freeglut_display.c.
2647 * src/freeglut_cursor.c: Comment-cleaning sweep.
2649 Mostly got rid of the say-it-in-English comments that were adding 1
2650 line of English and 2 or 3 lines of filler for each of several lines
2651 of C code. Updated a couple of other comments, and tweaked some
2653 * src/freeglut_callbacks.c: Cleaned up the comments a bit in the
2654 callbacks.c file (mostly removed some of the
2655 kill-4-lines-to-translate-one-line-of-C-into-English comments).
2659 * src/freeglut_cursor.c: Added all missing GLUT cursor types for X11.
2661 (Type NONE is not properly supported, yet.)
2663 Corrected behavior for the several old types: * Wrong glyphs. *
2664 Reversed glyphs (left/right confusion!)
2666 There are some remaining imperfections, but it's a lot closer to GLUT
2671 * src/freeglut_callbacks.c: Three tidying-up changes to the code of
2672 freeglut_callbacks.c; none of them are Earth-shattering, but as I
2673 swept through looking somewhat more systematically for errors, I
2674 picked these off. See the diff's for details.
2675 * src/freeglut_callbacks.c: Fixed a basic readability/style error in the
2676 code. (Two statements per line are almost never a good idea; in this
2677 case the combined line was past 80 columns.)
2678 * src/freeglut_callbacks.c: Added a safety-check on a memory allocation.
2679 (Timers were using dynamic memory allocation but NOT checking the
2681 * src/freeglut_menu.c: Committed two lines from John to help fix the
2683 * src/freeglut_callbacks.c: Check the glutDisplayFunc() callback for
2684 being a NULL pointer. This is illegal and is disallowed in GLUT 3.0+,
2685 so we disallow it too in freeglut 2.0.1+
2689 * progs/demos/Fractals/fractals.c,
2690 progs/demos/Fractals_random/fractals_random.c: Applied John's updated
2691 ReadConfigFile() changes to the fractals demos.
2692 * progs/demos/Fractals_random/fractals_random.c: Fixed: * glutInit()
2693 ordering w.r.t. glutInit*() and {argv} processing. * Aspect ratio. *
2694 Removed depth-buffer usage. (Also done for Fractals in previous
2696 * progs/demos/Fractals/fractals.c: A few minor changes: * glutInit*()
2697 calls should preceed glutInit(), per se, generally. This is so that
2698 glutInit()'s configuration (which picks up on user parameters) can
2699 override application defaults. * glutInit() should be called before
2700 ANY attempt to process {argv, argc}. This is because there may be
2701 GLUT/freeglut parameters (such as "-display" on X11). * If the window
2702 is tall and skinny, rather than short and squat, we need to handle
2703 aspect ratios differently.
2705 The first is a user-interface bug. The second is a serious bug
2706 (especially since the demo assumes that argv[1] contains a filename).
2707 The third is a display bug.
2711 * src/freeglut_main.c: Changed CreateNotify (in X11 ONLY) to act like a
2712 ConfigureNotify event.
2714 This is done so that subwindows on X11 will get "resize" events when
2715 they are created. Old GLUT did this---presumably by design in order to
2716 ensure that (a) All windows get notified of their size as soon as the
2717 window exists, and (b) probably more importantly, so that windows and
2718 sub-windows behave as much alike as possible. I believe that GLUT was
2719 right to do this, and I believe that compatibility requires this (I
2720 have a sample program that breaks in freeglut but not GLUT without
2723 I did not touch the Microsoft side, because I don't know what their OS
2724 does---nor if old GLUT was historically system-dependant about this.
2726 2003-10-08 Eric Sandall
2728 * ChangeLog, src/freeglut_menu.c: freeglut_menu.c:217,519,532: Fix menus
2729 to stay in the window (John Fay)
2733 * src/freeglut_menu.c: Several updates from John and myself.
2735 The broad outlines are:
2737 * Color schemes are now in variables, are closer to old GLUT, and are
2738 system dependant (as old GLUT did). * You can change the font to any
2739 bitmapped font more easily, which can aid in finding a better
2740 approximation. (Old GLUT does not seem to have used a GLUT font for
2741 the menus, which causes problems for us.) The menus rescale
2742 automatically, including the triangle "arrow" for sub-menus. * Menus
2743 have real borders, and the placement of highlighting is much improved.
2744 * src/freeglut_main.c: Fixed a bug in the menu callback behavior. Menus
2745 were not setting the current window correctly.
2747 2003-10-06 Eric Sandall
2749 * ChangeLog, src/freeglut_menu.c: freeglut_menu.c:328 Fix submenu
2752 2003-10-04 James Jones <puggles@users.sourceforge.net>
2754 * ChangeLog, src/freeglut_main.c, src/freeglut_structure.c: Tweaking for
2755 menu behavior in Linux regarding mouse whatnot - John Fay
2759 * src/freeglut_joystick.c: Applied a patch from "extraeme@netbsd.org" to
2760 add joystick support. Untested, but it compiles for me.
2762 Should also add Joystick support for older FreeBSD systems. Also
2764 * src/freeglut_main.c: Added support for more arbitrary number of mouse
2765 buttons (though only the first three can work with menus), in X. This
2766 closes a compatibility gap with old GLUT, and leaves us the option of
2767 supporting scroll-wheels properly.
2769 2003-09-27 Christopher John Purnell
2771 * progs/demos/Fractals/Makefile.am,
2772 progs/demos/Fractals_random/Makefile.am,
2773 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Don't
2776 2003-09-26 James Jones <puggles@users.sourceforge.net>
2778 * progs/demos/Makefile.am: Package the demos.dsw file.
2779 * progs/demos/demos.dsw: Demos workspace for MSVC users
2783 * src/freeglut_main.c: Corrected a bug w.r.t. display and joystick
2784 events. When getting ready to sleep, we need to go through ALL windows
2785 to check for pending joysticks and to check for pending redisplays. I
2786 was just going through all TOP- LEVEL windows. Eeek. This won't do.
2788 2003-09-23 Brian Paul
2790 * progs/demos/Fractals_random/fractals_random.c: added needClear flag to
2791 take care of initial window clear and window resize clears
2795 * src/freeglut_init.c: Per Nigel Stewart's comments, converted
2797 #ifdef TARGET_HOST_...
2803 in src/freeglut_init.c. These changes should not have any functional
2804 impact at this time, but you don't want bad examples lying around to
2805 trip people up later.
2806 * progs/demos/Fractals_random/fractals_random.c, src/freeglut_main.c,
2807 src/freeglut_window.c: Fixed: * GLUT_SINGLE now should behave more or
2808 less correctly. Thanks to Brian Paul!
2810 * Sleeping is now cognizant of outstanding redisplays.
2812 * Fractals_random has been restored more or less to as-before, save
2813 that it uses the more minimal glFlush() rather than glutSwapBuffers().
2814 glutSwapBuffers() was only required when freeglut was incorrectly
2815 handling promotion to double-buffering.
2819 * src/freeglut_main.c: Moved the #include/#ifdef/#define stuff up to the
2822 Changed #ifdef to #if, per Nigel(?)'s comment. Ooops.
2824 2003-09-22 Christopher John Purnell
2826 * progs/demos/Fractals/Makefile.am,
2827 progs/demos/Fractals_random/Makefile.am,
2828 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Fix to
2829 allow demos to compile before freeglut has been installed.
2831 2003-09-22 James Jones <puggles@users.sourceforge.net>
2833 * progs/demos/Fractals_random/fractals_random.c: Add an idle function to
2834 ensure that the screen gets drawn even when callbacks are not
2835 generated by the mouse/keyboard.
2837 2003-09-21 James Jones <puggles@users.sourceforge.net>
2839 * progs/demos/Fractals/fractals.c,
2840 progs/demos/Fractals_random/fractals_random.c: Note the possible
2841 buffer overflow in window_title
2842 * progs/demos/Fractals/fractals.c: Fix the window title.
2843 * progs/demos/Fractals_random/fractals_random.c: Fix window title, and
2844 ensure that the random integer is not forced to be zero (Thanks
2847 2003-09-20 James Jones <puggles@users.sourceforge.net>
2849 * src/freeglut_main.c: Richard Rauch's patch to ensure that freeglut
2850 does not use 100% CPU even while idling.
2851 * src/freeglut_font.c: Resolution for bug 809561 reported by Nigel
2852 Stewart, regarding a possible array underflow error of -1 in the event
2853 of "character" being zero.
2855 2003-09-14 Christopher John Purnell
2857 * configure.in, progs/demos/Fractals/Makefile.am,
2858 progs/demos/Fractals_random/Makefile.am,
2859 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am,
2860 src/Makefile.am: Removed unused AC_PROG_RANLIB from configure.in Added
2861 passing of $(X_CFLAGS) to compiler.
2863 2003-09-14 James Jones <puggles@users.sourceforge.net>
2865 * include/GL/glut.h: Resolve bug 806008 -- let Microsoft's compiler know
2866 to use Windows libraries even if not using our project files.
2868 2003-09-13 James Jones <puggles@users.sourceforge.net>
2870 * ChangeLog: Taking care of keeping things mostly up-to-date
2871 * TODO: Most everything's been resolved for the 2.0.0 release.
2872 * src/freeglut_joystick.c: Thierry Thomas said that FreeBSD has no
2873 machine/joystick.h, instead a sys/joystick.h. I've made the change --
2874 here's hoping it works.
2875 * progs/demos/One/one.c: Removed the incorrect relative path for
2876 including freeglut.h
2877 * progs/demos/Fractals/Makefile.am,
2878 progs/demos/Fractals_random/Makefile.am,
2879 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Made all
2880 demos compile. Thanks to Thierry Thomas for reporting bug 802809,
2881 which alerted that *none* of the demos compiled automatically!
2882 * src/freeglut_main.c: Nigel Stewart's joystick fix (for hopefully all
2883 platforms), SourceForge bug 805481
2884 * progs/demos/Lorenz/lorenz.dsp, progs/demos/One/one.dsp: Fix location
2885 of the include files from a fixed to relative path. Closes bug 805477
2886 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp, freeglutstatic.dsw:
2887 Add dos line endings. Fixes bug 805476
2889 2003-09-10 Christopher John Purnell
2891 * src/freeglut_joystick.c: A minor fix to that last commit.
2892 * src/freeglut_joystick.c: Removed some remaining glib depandancy.
2894 2003-09-10 James Jones <puggles@users.sourceforge.net>
2896 * src/freeglut_main.c: Re-add catches for the case in which a menu
2897 callback destroys the menu. - John Fay
2899 2003-09-09 Christopher John Purnell
2901 * src/freeglut_main.c: More to fix a deinitialization related crash.
2902 * src/freeglut_structure.c: Fix for a deinitialization related crash.
2904 2003-09-08 James Jones <puggles@users.sourceforge.net>
2906 * src/freeglut_main.c, src/freeglut_structure.c: Menus should deallocate
2907 better now - John Fay
2909 2003-09-05 James Jones <puggles@users.sourceforge.net>
2911 * Makefile.am: Add freeglut_static.dsp to the releases
2913 2003-09-03 Christopher John Purnell
2915 * src/freeglut_gamemode.c: Moved #ifdef for non XFree86 X11 compile.
2917 2003-09-02 Christopher John Purnell
2919 * src/freeglut_window.c: Fix to stop fgSetWindow(NULL) crashing on X11.
2921 2003-08-29 James Jones <puggles@users.sourceforge.net>
2923 * src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_structure.c:
2924 These change a bunch of assignments to calls to set the current window
2925 correctly, and also (possibly) fixes most of the remaining menu
2927 * src/freeglut_main.c: Another typecast bugfix from John Fay
2929 2003-08-28 Christopher John Purnell
2931 * src/freeglut_init.c: Changed #ifdef to #if
2933 2003-08-28 James Jones <puggles@users.sourceforge.net>
2935 * src/freeglut_font.c: change the GLUT stroke function arguments from
2936 "const char *" to "const unsigned char *" - John Fay
2937 * include/GL/freeglut_ext.h, include/GL/glut.h: Changes stroke function
2938 arguments from "const char*" to "const unsigned char *" - John Fay
2940 2003-08-28 Christopher John Purnell
2942 * freeglut-1.3: Removing files from old freeglut-1.3 directory.
2944 2003-08-28 James Jones <puggles@users.sourceforge.net>
2946 * src/freeglut_callbacks.c, src/freeglut_geometry.c,
2947 src/freeglut_init.c, src/freeglut_joystick.c, src/freeglut_main.c,
2948 src/freeglut_menu.c, src/freeglut_structure.c: Casting changes, John
2951 2003-08-27 James Jones <puggles@users.sourceforge.net>
2953 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
2954 src/freeglut_menu.c: Major overhaul to the menu system, by John Fay
2956 2003-08-27 Christopher John Purnell
2958 * include/GL/freeglut.h, include/GL/freeglut_ext.h, include/GL/glut.h:
2959 Added double underscores to the header included macros.
2961 2003-08-20 Christopher John Purnell
2963 * src/freeglut_gamemode.c: Minor typo fix
2965 2003-08-19 Christopher John Purnell
2967 * src/freeglut_gamemode.c: Moving that "#if TARGET_HOST_UNIX_X11" to the
2970 2003-08-17 Christopher John Purnell
2972 * ChangeLog, src/freeglut_gamemode.c, src/freeglut_internal.h,
2973 src/freeglut_window.c: Game mode fixes from Bernhard Kaindl and Eric
2976 2003-08-05 Christopher John Purnell
2978 * src/Makefile.am, src/freeglut_menu.c, src/freeglut_window.c,
2979 src/mwmborder.c: Using override_redirect instead of motif wm hints. It
2980 now rasies the menu windows before showing them. Move the show to
2981 after the reshape and position so we don't get a flash of the menu
2982 window at it's old size and position.
2983 * src/mwmborder.c: I suspect a lot of people will not have motif
2986 2003-08-05 Eric Sandall
2988 * ChangeLog, src/Makefile.am, src/freeglut_window.c: (98)
2989 src/Makefile.am:34 Added mwmborder.c (99) src/freeglut_window.c:67
2990 Removed #included "mwmborder.c"
2991 * ChangeLog, src/freeglut_main.c: src/freeglut_main.c:816 and :1571, set
2992 the current window (John F. Fay)
2994 2003-08-04 Christopher John Purnell
2996 * src/freeglut_state.c: Added X11 code for
2997 glutGet(GLUT_WINDOW_BORDER_WIDTH) and
2998 glutGet(GLUT_WINDOW_HEADER_HEIGHT).
2999 * src/freeglut_internal.h, src/freeglut_state.c: Replacing
3000 glutGet(GLUT_WINDOW_X) and glutGet(GLUT_WINDOW_Y) on X11 with
3001 something that works. Also a minor correction to the xf86vidmode
3004 2003-08-04 James Jones <puggles@users.sourceforge.net>
3006 * src/freeglut_window.c: Keep the X11 decoration-zapping code confined
3007 to X11-using platforms! Oops!
3008 * src/freeglut_window.c, src/mwmborder.c: Menus' decorations are removed
3009 on Linux. Not sure if we want the mwmborder.c a separate file or not;
3010 doing it separate for right now. Makefile was not updated, since the
3011 .c is just #included.
3013 2003-08-03 Christopher John Purnell
3015 * configure.in: Got rid of configure warnings when using a newer
3018 2003-08-02 Christopher John Purnell
3020 * src/freeglut_glutfont_definitions.c, src/freeglut_internal.h: Putting
3021 stuff back that was undone with the menu code committed.
3023 2003-08-02 James Jones <puggles@users.sourceforge.net>
3025 * src/freeglut_callbacks.c, src/freeglut_display.c,
3026 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
3027 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
3028 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
3029 Major menu changes (they appear in their own window, have own
3030 rendering context) by John Fay and a little by James C. Jones. They
3031 work perfectly on Win32, and work... on Linux.
3033 2003-08-01 Christopher John Purnell
3035 * configure.in, src/Makefile.am, src/freeglut_glutfont_definitions.c,
3036 src/freeglut_internal.h: Added autoconf detection for the xf86 vid
3039 2003-08-01 Eric Sandall
3041 * ChangeLog, src/freeglut_window.c: src/freeglut_window.c:551 Removed
3042 extra carriage return for Windows users (John F. Fay)
3043 * ChangeLog: Credit Dave Reed for fix
3044 * ChangeLog, src/freeglut_internal.h: src/freeglut_initial.c:91 Added
3045 check for SOLARIS OS
3047 2003-07-23 Christopher John Purnell
3049 * include/GL/glut.h, src/Makefile.am, src/freeglut_font.c,
3050 src/freeglut_glutfont_definitions.c: This should put an end to the
3051 font binary compatibility issue.
3053 2003-07-23 Eric Sandall
3055 * ChangeLog, src/freeglut_window.c: src/freeglut_window.c Windowing
3057 * ChangeLog, doc/Makefile.am: doc/Makefile.am:4 Removed trailing
3058 backslash and added an empty last line
3060 2003-07-23 Brian Paul
3062 * doc/download.html: no change, testing CVS
3064 2003-07-22 Brian Paul
3066 * doc/download.html: no change, just testing CVS
3068 2003-07-22 Eric Sandall
3070 * ChangeLog, freeglut.lsm: freeglut.lsm:3 Removed 'beta' label for next
3071 release, thanks to Bernhard Kaindl.
3073 2003-07-21 Christopher John Purnell
3075 * src/Makefile.am: The version info had the revision and the age
3078 2003-07-21 Eric Sandall
3080 * ChangeLog, src/Makefile.am: src/Makefile.am:38 Changed versioning to
3081 11:0:8 thanks to Bernhard Kaindl
3083 2003-07-17 Eric Sandall
3085 * ChangeLog, freeglut.dsp, freeglut_static.dsp: Applied John F. Fay's
3086 fixes to freeglut.dsp and freeglut_static.dsp
3087 * ChangeLog, src/freeglut_state.c: Changed the overlay
3088 (freeglut_state.c:662) to return FALSE, as it's not imp lemented yet
3090 2003-07-12 Andreas Umbach <marvin@dataway.ch>
3092 * src/Makefile.am: renamed freeglut library to glut, bumped version info
3094 * configure.in: bumped version number to 2.0.0
3095 * Makefile.am, configure.in, doc/Makefile.am, include/GL/Makefile.am,
3096 progs/Makefile.am, progs/demos/Fractals/Makefile.am,
3097 progs/demos/Fractals_random/Makefile.am,
3098 progs/demos/Lorenz/Makefile.am, progs/demos/Makefile.am,
3099 progs/demos/One/Makefile.am, src/Makefile.am: changes for make dist
3100 * freeglut13.plg: MSVC generated file
3102 2003-07-11 Christopher John Purnell
3104 * include/GL/glut.h, src/freeglut_font.c: Fix for the font binary
3105 compatibility problem.
3107 2003-07-10 Christopher John Purnell
3109 * src/Makefile.am: Changed to build libfreeglut.so.2.0.0
3111 2003-07-10 James Jones <puggles@users.sourceforge.net>
3113 * TODO, freeglut.dsp, freeglut_static.dsp: Changes to TODO, Windows
3114 files - from John Fay
3115 * progs/demos/Fractals_random/Fractals_random.dsp: Changes by John Fay
3116 * progs/demos/Fractals/Fractals.dsp, progs/demos/Fractals/fractals.c:
3117 Changes to the Fractals demo by John Fay
3118 * progs/demos/One/one.dsp: Initial project file from John Fay
3119 * progs/demos/Lorenz/lorenz.c, progs/demos/Lorenz/lorenz.dsp:
3120 Modifications from John Fay
3122 2003-07-07 Christopher John Purnell
3124 * src/freeglut_main.c: glutMainLoopEvent() was not closing windows
3125 properly. Moved call to fgCloseWindows() from glutMainLoop() to the
3126 end of glutMainLoopEvent().
3128 2003-07-03 Eric Sandall
3130 * ChangeLog, src/freeglut_misc.c: Removed unused char *ptr from
3133 2003-07-02 Christopher John Purnell
3135 * src/freeglut_main.c: It was crashing on and event for a unknown
3138 2003-07-02 Brian Paul
3140 * src/freeglut_misc.c: rewrite of glutExtensionSupported - works
3143 2003-07-02 Eric Sandall
3145 * ChangeLog: * Removed tests directory
3146 * ChangeLog, Makefile.am, configure.in, progs/demos/One,
3147 progs/demos/One/Makefile.am, progs/demos/One/one.c, tests: * Removed
3148 genfonts/genstrokes code, updated configure.in and Makefile.in
3150 * Moved tests/one.c into progs/demos/One/one.c, updated configure.in
3152 * genfonts: Removed genfonts
3154 2003-07-02 Christopher John Purnell
3156 * genfonts/to_stroke.y: Added some semicolons that yacc was warning
3159 2003-07-01 James Jones <puggles@users.sourceforge.net>
3161 * AUTHORS: John Fay commanded me to add my name to the file. He's crazy,
3164 2003-07-01 Eric Sandall
3166 * ChangeLog, src/freeglut_misc.c: Fixed the 'ptr + len' problem in
3169 2003-07-01 Brian Paul
3171 * doc/freeglut_user_interface.html: version bumps
3172 * tests/Makefile.am: bump version to 2.0
3173 * src/Makefile.am, src/freeglutdll.def: bump versions to 2.0
3174 * src/freeglut_gamemode.c: xf86VidMode error checking (Andrew
3177 2003-06-30 Brian Paul
3179 * progs/demos/Lorenz, progs/demos/Lorenz/lorenz.c,
3180 progs/demos/Lorenz/lorenz.dsp: Lorenz attractor demo (John Fay)
3181 * freeglut.dsp, freeglut_static.dsp: updates from John Fay
3183 2003-06-28 Eric Sandall
3185 * ChangeLog, include/GL/Makefile.am: Now installs freeglut_ext.h and
3186 glut.h to /usr/include/GL (was missing before)
3188 2003-06-27 Brian Paul
3190 * include/GL/freeglut_ext.h, src/freeglut_init.c,
3191 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_state.c,
3192 src/freeglut_stroke_mono_roman.c: XF86 game mode fixes, context
3193 sharing option. (John Fay)
3195 2003-06-25 Eric Sandall
3197 * ChangeLog: Added another of my changes (freeglut.kdevelop) and fixed
3198 the version number for my MS VS change (*.dsp)
3200 2003-06-25 Brian Paul
3202 * src/freeglut_internal.h: version bumps
3203 * freeglut.lsm, include/GL/glut.h, src/freeglut_stroke_mono_roman.c,
3204 src/freeglut_stroke_roman.c: Assorted version 2.0.0 updates (John
3206 * doc/freeglut_user_interface.html: updated version, italicize freeglut
3209 2003-06-25 Eric Sandall
3211 * ChangeLog, freeglut.dsp, freeglut_static.dsp: Added 'freeglut_ext.c'
3212 to the project files 'freeglut.dsp' and 'freeglut_static.dsp' (New
3215 2003-06-24 Andreas Umbach <marvin@dataway.ch>
3217 * ChangeLog: Fixed autogen.sh and removed aclocal.m4
3218 * aclocal.m4: this file is autogenerated by aclocal
3219 * autogen.sh: fixed aclocal / autoheader order; some cosmetics
3221 2003-06-24 Eric Sandall
3223 * freeglut.kdevelop: Project file for Gideon (KDevelop 3.0)
3225 2003-06-23 Eric Sandall
3227 * ChangeLog, Makefile.am, TODO, configure.in, freeglut.dsp,
3228 freeglut.kdevprj, freeglut13.dsp, freeglut13.plg, freeglut_static.dsp,
3229 freeglutdll.dsp, src, src/Makefile.am, src/freeglut_callbacks.c,
3230 src/freeglut_cursor.c, src/freeglut_display.c, src/freeglut_ext.c,
3231 src/freeglut_font.c, src/freeglut_font_data.c,
3232 src/freeglut_gamemode.c, src/freeglut_geometry.c, src/freeglut_init.c,
3233 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
3234 src/freeglut_menu.c, src/freeglut_misc.c, src/freeglut_overlay.c,
3235 src/freeglut_state.c, src/freeglut_stroke_mono_roman.c,
3236 src/freeglut_stroke_roman.c, src/freeglut_structure.c,
3237 src/freeglut_teapot.c, src/freeglut_videoresize.c,
3238 src/freeglut_window.c, src/freeglutdll.def, src/templates,
3239 src/templates/cpp_template, src/templates/header_template,
3240 tests/Makefile.am: Changed all references to the 'freeglut-1.3'
3241 directory to 'src', copied 'freeglut-1.3' to 'src' and added all files
3242 from 'src' to the repository (TODO #34).
3243 * ChangeLog: Updated ChangeLog with my aclocal.m4 change
3244 * aclocal.m4: Updated aclocal.m4 with aclocal 1.7.3 (was created with
3247 2003-06-23 Brian Paul
3249 * freeglut-1.3/freeglut_geometry.c: adjusted precision (John Fay)
3250 * doc/freeglut_user_interface.html, freeglut-1.3/freeglut_display.c,
3251 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3252 freeglut-1.3/freeglut_teapot.c, include/GL/freeglut_ext.h,
3253 include/GL/glut.h: Assorted updates from John Fay.
3255 2003-06-20 Eric Sandall
3257 * TODO: Updated TODO from John Fay
3259 2003-06-20 Brian Paul
3261 * progs, progs/demos, progs/demos/Fractals,
3262 progs/demos/Fractals/Fractals.dsp, progs/demos/Fractals/fractals.c,
3263 progs/demos/Fractals/fractals.dat, progs/demos/Fractals_random,
3264 progs/demos/Fractals_random/Fractals_random.dsp,
3265 progs/demos/Fractals_random/fractals.dat,
3266 progs/demos/Fractals_random/fractals_random.c: Fractal demo (John Fay)
3268 2003-06-20 Eric Sandall
3270 * ChangeLog: Added the autogen.sh addition to ChangeLog
3271 * autogen.sh: Initial version of autogen.sh, tested here and creates the
3274 2003-06-20 Brian Paul
3276 * freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_state.c:
3277 Windows patches (Eero Pajarre)
3278 * NEWS: list the 1.4 release (fill in date) - this is a cvs check-in
3281 2003-06-19 Don Heyse <dheyse@hotmail.com>
3283 * freeglut-1.3/freeglut_joystick.c: Oops, missed the
3284 fghJoystickRawRead() fix for FreeBSD.
3286 2003-06-19 Brian Paul
3288 * doc/freeglut_user_interface.html, freeglut-1.3/freeglut_display.c,
3289 freeglut-1.3/freeglut_ext.c, freeglut-1.3/freeglut_internal.h,
3290 freeglut-1.3/freeglut_main.c: s/FreeGLUT/freeglut/
3292 2003-06-19 Don Heyse <dheyse@hotmail.com>
3294 * freeglut-1.3/freeglut_joystick.c: Applied tthierry's patch to fix
3295 compiling on FreeBSD.
3297 2003-06-19 Brian Paul
3299 * freeglut-1.3/freeglut_internal.h: added VERSION_MAJOR/MINOR/PATCH
3300 * doc/freeglut_user_interface.html: restore text lost from previous
3302 * include/GL/glut.h: s/FREEGLUT_VERSION_1_3/FREEGLUT_VERSION_1_4/
3304 2003-06-19 Eric Sandall
3306 * include/GL/freeglut_ext.h, include/GL/glut.h: GLUT_VERSION updates
3309 2003-06-18 Eric Sandall
3311 * AUTHORS: Forgot a file...looked so innocous just sitting there... :)
3312 * ChangeLog, doc/freeglut_user_interface.html,
3313 freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_ext.c,
3314 freeglut-1.3/freeglut_internal.h, freeglut-1.3/freeglut_menu.c,
3315 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_teapot.c,
3316 freeglut-1.3/freeglut_window.c, include/GL/freeglut_ext.h: * Hopefully
3317 I did THIS one right (used 'cvs update' to Merge)
3319 Authors - The first update in quite a while
3321 ChangeLog - Added the recent changes
3323 freeglut_callbacks.c - Added Aleksandar Donev's menu destruction
3326 freeglut_internal.h - Added the user data to the structures and made
3327 the menu state/status callbacks window-independent
3329 freeglut_menu.c - Removed several OpenGL compiler warnings and added
3330 A. Donev's menu user data functions
3332 freeglut_structure.c - Added Aleksandar Donev's menu destruction
3335 freeglut_teapot.c - Removed or suppressed several compiler warnings
3337 freeglut_window.c - Updated the window positioning code and added A.
3338 Donev's window user data
3340 freeglut_ext.h - Added the menu destruction callback and user data
3342 * freeglut-1.3/freeglut_ext.h: * Removed freeglut_ext.h (wasn't supposed
3345 2003-06-18 Brian Paul
3347 * doc/freeglut_user_interface.html, freeglut-1.3/freeglut_internal.h,
3348 freeglut-1.3/freeglut_state.c, include/GL/freeglut_ext.h,
3349 include/GL/glut.h: Added FREEGLUT_VERSION_1_3. Added GLUT_VERSION for
3350 glutGet(). Added glutGet() documentation.
3351 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_ext.h,
3352 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_internal.h,
3353 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_state.c,
3354 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_window.c:
3355 remove DOS-style CR characters
3356 * doc/freeglut_user_interface.html: added glutGetProcAddress and
3358 * ChangeLog: added glutGetProcAddress() and GLUT_FPS
3360 2003-06-17 Brian Paul
3362 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_init.c,
3363 freeglut-1.3/freeglut_internal.h: restore GLUT_FPS env var feature
3364 lost in previous check-in
3366 2003-06-17 Eric Sandall
3368 * ChangeLog: * Updated ChangeLog
3369 * freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_structure.c: Set
3370 #4: * Fixes a couple of compiler warnings and other bugs. *
3371 freeglut_main.c: Removes a compiler warning * freeglut_structure.c:
3372 Sets the current window before calling the window closure callback *
3373 Possibly other changes
3374 * freeglut-1.3/freeglut_ext.h: * Rest of Set #3
3375 * freeglut-1.3/freeglut_state.c: Set #3: Fixes for window positioning
3377 * freeglut-1.3/freeglut_init.c: Eero Pajarre's GLUT_ICON code for
3379 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_internal.h,
3380 freeglut-1.3/freeglut_window.c: First group of patches: Adds
3381 single-buffered rendering (or its emulation) in Windows.
3383 2003-06-17 Brian Paul
3385 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_init.c,
3386 freeglut-1.3/freeglut_internal.h: added GLUT_FPS env var option
3387 * freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_ext.c,
3388 include/GL/freeglut_ext.h: added glutGetProcAddress()
3390 2003-06-12 Don Heyse <dheyse@hotmail.com>
3392 * freeglut-1.3/freeglut_main.c: Fix the keyboard up callback and a
3394 * freeglut-1.3/freeglut_structure.c: Set the current window before
3395 calling the window closure callback.
3396 * freeglut-1.3/freeglut_state.c, include/GL/freeglut_ext.h: John's
3397 window positioning corrections.
3398 * freeglut-1.3/freeglut_init.c: Eero Pajarre's icon code.
3399 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_internal.h,
3400 freeglut-1.3/freeglut_window.c: Single buffered rendering for Windows.
3402 2003-06-02 Don Heyse <dheyse@hotmail.com>
3404 * doc/freeglut_user_interface.html: John Documented InitWindowPosition
3405 extensions and added some kbd fn info.
3406 * ChangeLog: Documented Johns changes from May 03.
3407 * freeglut-1.3/freeglut_state.c: Do not allow glutGet to reposition the
3408 window 1 pixel toward bottom right.
3409 * freeglut-1.3/freeglut_main.c: Pass mouse pos to Windows kbd callback.
3410 Resequenced a few things for UNIX.
3412 2003-03-23 Christopher John Purnell
3414 * freeglut-1.3/freeglut_gamemode.c: Applied patch to fix GameMode issues
3415 supplied by Bernhard Kaindl.
3417 2003-03-12 Don Heyse <dheyse@hotmail.com>
3419 * include/GL/glut.h: Switch to ANSI C comments.
3420 * freeglut-1.3/freeglut_cursor.c, freeglut-1.3/freeglut_display.c,
3421 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_geometry.c,
3422 freeglut-1.3/freeglut_internal.h, freeglut-1.3/freeglut_joystick.c,
3423 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_structure.c,
3424 freeglut-1.3/freeglut_window.c: Switch to ANSI C comments. Removed
3425 always true tests on unsigned char. Single buffering fix..
3427 2003-02-13 Don Heyse <dheyse@hotmail.com>
3429 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp: Switching to John
3430 Fays version of the VC++ project files.
3432 2003-02-08 Steve Baker <steve@sjbaker.org>
3434 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_joystick.c:
3435 Removed erroneous GPL license comments.
3437 2003-02-07 Don Heyse <dheyse@hotmail.com>
3439 * freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_cursor.c,
3440 freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_font_data.c,
3441 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3442 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_joystick.c,
3443 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_overlay.c,
3444 freeglut-1.3/freeglut_stroke_mono_roman.c,
3445 freeglut-1.3/freeglut_stroke_roman.c, freeglut-1.3/freeglut_teapot.c,
3446 freeglut-1.3/freeglut_videoresize.c: Moved freeglut_internal.h to the
3447 freeglut source code private directory.
3448 * freeglut-1.3/freeglut_structure.c: SubWindow border thickness fix.
3449 Overlay changes in glutGet.
3450 * freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3451 freeglut-1.3/freeglut_state.c, freeglut-1.3/freeglut_window.c: Johns
3452 changes for layers, fgSetWindow, and fgSetupPixelFormat.
3453 * freeglut-1.3/freeglut_font.c: John fixed a bug that make bitmap font
3454 one pixel wider than its drawn.
3455 * freeglut-1.3/freeglut_internal.h, include/GL/freeglut_internal.h:
3456 Moved freeglut_internal.h to the private directory with the other
3458 * include/GL/freeglut.h, include/GL/freeglut_ext.h, include/GL/glut.h:
3459 Broke freeglut.h into glut.h and freeglut_ext.h
3461 2003-01-06 Don Heyse <dheyse@hotmail.com>
3463 * freeglut-1.3/freeglutdll.def: Exports file for Win32 dll. One EXPORT
3464 for each FGAPI line in freeglut.h
3466 2003-01-04 Steve Baker <steve@sjbaker.org>
3468 * aclocal.m4, freeglut-1.3/freeglut_joystick.c: Cleanup joystick
3471 2002-12-10 Don Heyse <dheyse@hotmail.com>
3473 * freeglut.dsw, freeglutdll.dsp: Allow DLL and static library build on
3475 * include/GL/freeglut.h: Added check for FREEGLUT_DLL to allow static &
3476 DLL build on Windows.
3478 2002-12-04 Don Heyse <dheyse@hotmail.com>
3480 * freeglut-1.3/freeglut_font_data.c: More bitmap font spacing fixes from
3483 2002-11-29 Don Heyse <dheyse@hotmail.com>
3485 * freeglut-1.3/freeglut_init.c: Fixed Win95 crash when getenv("DISPLAY")
3487 * freeglut-1.3/freeglut_font_data.c: The lowercase t in helvetica12 was
3489 * freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c:
3490 Adjusted character spacing on a few fonts.
3491 * ChangeLog: Many updates from John Fay.
3492 * freeglutstatic.dsw: Added Visual C++ 6 Static library project for John
3495 2002-11-28 Don Heyse <dheyse@hotmail.com>
3497 * freeglut.dsp: Visual C++ 6 project file for static freeglut lib.
3498 * include/GL/freeglut.h, include/GL/freeglut_internal.h: Many updates
3499 from John Fay. (freeglut.h may need a small change to allow Win32 DLL
3501 * freeglut-1.3/freeglut_geometry.c: Many updates from John Fay.
3502 * freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_cursor.c,
3503 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c,
3504 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_init.c,
3505 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3506 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_state.c,
3507 freeglut-1.3/freeglut_stroke_mono_roman.c,
3508 freeglut-1.3/freeglut_stroke_roman.c,
3509 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_window.c:
3510 Many updates from John Fay.
3511 * freeglut-1.3/freeglut_joystick.c: Fixes from freeglut_portable patch.
3512 Memory leak fix from John. Return_if_fail fix.
3514 2002-11-26 Don Heyse <dheyse@hotmail.com>
3516 * doc/freeglut_user_interface.html: Added on behalf of John Fay.
3518 2002-10-22 Don Heyse <dheyse@hotmail.com>
3520 * freeglut-1.3/freeglut_geometry.c: Implemented tetrahedra, octahedra,
3521 dodecahedra, and icosahedra. Checked in on behalf of John F. Fay
3522 <john.fay@eglin.af.mil>.
3524 2002-05-20 Don Heyse <dheyse@hotmail.com>
3526 * freeglut-1.3/freeglut_font.c: Fixed previous fix so it compiles.
3528 2002-05-20 Christopher John Purnell
3530 * freeglut-1.3/freeglut_font.c: My bad.
3532 2002-05-18 Christopher John Purnell
3534 * freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_font.c,
3535 freeglut-1.3/freeglut_stroke_mono_roman.c,
3536 freeglut-1.3/freeglut_stroke_roman.c, genfonts/Roman_M.src,
3537 genfonts/lex.l, genfonts/to_stroke.y, genfonts/wfont.h,
3538 include/GL/freeglut.h, include/GL/freeglut_internal.h: Added stroke
3541 2002-05-17 Christopher John Purnell
3543 * freeglut-1.3/freeglut_cursor.c, freeglut-1.3/freeglut_display.c,
3544 freeglut-1.3/freeglut_overlay.c, freeglut-1.3/freeglut_teapot.c,
3545 freeglut-1.3/freeglut_videoresize.c, tests/one.c: Removed some DOS
3548 2002-05-16 Christopher John Purnell
3550 * freeglut-1.3/freeglut_main.c: Removed one last glib call.
3552 2002-01-20 Steve Baker <steve@sjbaker.org>
3554 * README, freeglut-1.3/.deps/freeglut_callbacks.P,
3555 freeglut-1.3/.deps/freeglut_cursor.P,
3556 freeglut-1.3/.deps/freeglut_display.P,
3557 freeglut-1.3/.deps/freeglut_font.P,
3558 freeglut-1.3/.deps/freeglut_font_data.P,
3559 freeglut-1.3/.deps/freeglut_gamemode.P,
3560 freeglut-1.3/.deps/freeglut_geometry.P,
3561 freeglut-1.3/.deps/freeglut_init.P,
3562 freeglut-1.3/.deps/freeglut_joystick.P,
3563 freeglut-1.3/.deps/freeglut_main.P,
3564 freeglut-1.3/.deps/freeglut_menu.P,
3565 freeglut-1.3/.deps/freeglut_misc.P,
3566 freeglut-1.3/.deps/freeglut_overlay.P,
3567 freeglut-1.3/.deps/freeglut_state.P,
3568 freeglut-1.3/.deps/freeglut_structure.P,
3569 freeglut-1.3/.deps/freeglut_teapot.P: Removed a bunch of '.P' files
3570 that don't belong in the CVS archive.
3572 2001-08-05 Christopher John Purnell
3574 * freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_main.c,
3575 freeglut-1.3/freeglut_window.c, include/GL/freeglut_internal.h: Added
3576 keyup events code. Added missing specal keys. Made menu callbacks
3578 * freeglut-1.3/freeglut_window.c: More position tweeks.
3580 2001-08-04 Christopher John Purnell
3582 * freeglut-1.3/freeglut_main.c, include/GL/freeglut.h: Fixed redisplay
3583 bug. Fixed modifier values.
3584 * freeglut-1.3/freeglut_window.c: Improved window positioning.
3586 2001-07-30 Christopher John Purnell
3588 * freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_structure.c: A
3591 2001-07-30 Andreas Umbach <marvin@dataway.ch>
3593 * freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_main.c: one more
3595 * include/GL/freeglut_internal.h: removed glib dependencies from win32
3596 * freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_init.c,
3597 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_window.c: -
3598 removed glib dependencies from win32 code
3600 2001-07-29 Christopher John Purnell
3602 * freeglut-1.3/freeglut_structure.c: Fixed bug list code.
3603 * freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_callbacks.c,
3604 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c,
3605 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3606 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_joystick.c,
3607 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3608 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_state.c,
3609 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_window.c,
3610 genfonts/Makefile.am, genfonts/genfonts.c, genfonts/genstroke.c,
3611 include/GL/freeglut.h, include/GL/freeglut_internal.h: Removed glib
3613 * configure.in, freeglut-1.3/Makefile.am, genfonts/Makefile.am: The
3614 build system now looks for X.
3616 2001-07-27 Steve Baker <steve@sjbaker.org>
3618 * doc, doc/download.html, doc/freeglut.html, doc/freeglut_logo.png,
3619 doc/index.html, doc/ogl_sm.png, doc/progress.html, doc/structure.html:
3621 * genfonts/.deps, tests/.deps: Removed some more files that don't belong
3623 * configure, freeglut-1.3/Makefile, freeglut-1.3/Makefile.in,
3624 genfonts/Makefile, genfonts/Makefile.in, include/GL/Makefile,
3625 include/GL/Makefile.in, include/Makefile, include/Makefile.in,
3626 tests/Makefile, tests/Makefile.in: Removed files checked in in error.
3627 * freeglut-1.3/.deps, freeglut-1.3/.deps/freeglut_callbacks.P,
3628 freeglut-1.3/.deps/freeglut_cursor.P,
3629 freeglut-1.3/.deps/freeglut_display.P,
3630 freeglut-1.3/.deps/freeglut_font.P,
3631 freeglut-1.3/.deps/freeglut_font_data.P,
3632 freeglut-1.3/.deps/freeglut_gamemode.P,
3633 freeglut-1.3/.deps/freeglut_geometry.P,
3634 freeglut-1.3/.deps/freeglut_init.P,
3635 freeglut-1.3/.deps/freeglut_joystick.P,
3636 freeglut-1.3/.deps/freeglut_main.P,
3637 freeglut-1.3/.deps/freeglut_menu.P,
3638 freeglut-1.3/.deps/freeglut_misc.P,
3639 freeglut-1.3/.deps/freeglut_overlay.P,
3640 freeglut-1.3/.deps/freeglut_state.P,
3641 freeglut-1.3/.deps/freeglut_structure.P,
3642 freeglut-1.3/.deps/freeglut_teapot.P,
3643 freeglut-1.3/.deps/freeglut_videoresize.P,
3644 freeglut-1.3/.deps/freeglut_window.P, freeglut-1.3/Makefile,
3645 freeglut-1.3/Makefile.in: Initial revision
3646 * ., AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, NEWS, README,
3647 TODO, acconfig.h, aclocal.m4, configure, configure.in, freeglut-1.3,
3648 freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_callbacks.c,
3649 freeglut-1.3/freeglut_cursor.c, freeglut-1.3/freeglut_display.c,
3650 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c,
3651 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3652 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_joystick.c,
3653 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3654 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_overlay.c,
3655 freeglut-1.3/freeglut_state.c, freeglut-1.3/freeglut_structure.c,
3656 freeglut-1.3/freeglut_teapot.c, freeglut-1.3/freeglut_videoresize.c,
3657 freeglut-1.3/freeglut_window.c, freeglut-1.3/templates,
3658 freeglut-1.3/templates/cpp_template,
3659 freeglut-1.3/templates/header_template, freeglut.dsw,
3660 freeglut.kdevprj, freeglut.lsm, freeglut13.dsp, freeglut13.plg,
3661 genfonts, genfonts/.deps, genfonts/.deps/genfonts.P,
3662 genfonts/.deps/genstroke.P, genfonts/Makefile, genfonts/Makefile.am,
3663 genfonts/Makefile.in, genfonts/Roman.src, genfonts/Roman_M.src,
3664 genfonts/genfonts.c, genfonts/genstroke.c, include, include/GL,
3665 include/GL/Makefile, include/GL/Makefile.am, include/GL/Makefile.in,
3666 include/GL/freeglut.h, include/GL/freeglut_internal.h,
3667 include/Makefile, include/Makefile.am, include/Makefile.in,
3668 install-sh, mkinstalldirs, stamp-h, stamp-h.in, tests, tests/.deps,
3669 tests/.deps/one.P, tests/Makefile, tests/Makefile.am,
3670 tests/Makefile.in, tests/one.c: Initial revision