1 2009-03-27 Sven Panne <sven.panne@aedion.de>
3 * progs/demos/smooth_opengl3/smooth_opengl3.c: Make Visual C happy by
4 including stddef.h and explicitly marking some literals as float.
6 2009-03-26 Sven Panne <sven.panne@aedion.de>
8 * src/freeglut_init.c,src/freeglut_input_devices.c: Unbreak the build:
9 C++ style comments are not allowed in ISO C90
11 2009-03-19 John F. Fay <john.fay.ctr@eglin.af.mil>
13 * src/freeglut_input_devices.c: Fixing "freeglut_input_devices.c" for
14 MSVS2005 and later per e-mail from Diederick Niehorster dated Thu
17 2009-03-17 John F. Fay <john.fay.ctr@eglin.af.mil>
19 * src/freeglut_init.c, src/freeglut_input_devices.c: Removing some build
20 warnings from deprecated functions for VS2008 per e-mail from
21 Diederick Niehorster dated Tue 3/10/2009
22 * freeglut_static_vs2008.vcproj, freeglut_vs2008.sln,
23 freeglut_vs2008.vcproj,
24 progs/demos/CallbackMaker/CallbackMakerStatic_vs2008.vcproj,
25 progs/demos/CallbackMaker/CallbackMaker_vs2008.vcproj,
26 progs/demos/Fractals/FractalsStatic_vs2008.vcproj,
27 progs/demos/Fractals/Fractals_vs2008.vcproj,
28 progs/demos/Fractals_random/Fractals_randomStatic_vs2008.vcproj,
29 progs/demos/Fractals_random/Fractals_random_vs2008.vcproj,
30 progs/demos/Lorenz/lorenzStatic_vs2008.vcproj,
31 progs/demos/Lorenz/lorenz_vs2008.vcproj,
32 progs/demos/One/oneStatic_vs2008.vcproj,
33 progs/demos/One/one_vs2008.vcproj, progs/demos/demos_vs2008.sln,
34 progs/demos/shapes/shapesStatic_vs2008.vcproj,
35 progs/demos/shapes/shapes_vs2008.vcproj,
36 progs/demos/smooth_opengl3/smooth_opengl3Static_vs2008.vcproj,
37 progs/demos/smooth_opengl3/smooth_opengl3_vs2008.vcproj: Adding Visual
38 Studio 2008 solution and project files
40 2009-03-16 Sven Panne <sven.panne@aedion.de>
42 * src/freeglut_init.c,src/freeglut_window.c: Set the default number of
43 samples per pixel to 4 and actually use the value set with
44 glutSetOption(GLUT_MULTISAMPLE,...) in Windows code. Previously the
45 Windows code used a hardwired value of 4 and the GLX code had a
46 default of 0, neither made much sense. Similarly, set the default
47 number of auxiliary buffers to 1 and use that value when GLUT_AUX is
48 used. Note: There latter token has the same value as GLUT_AUX1, and
49 for historical reasons we seem to have 2 APIs to set the number of
50 auxiliary buffers: Explicitly using GLUT_AUX1 ... GLUT_AUX4, and using
51 a combination of GLUT_AUX with glutSetOption. The default of 1 ensures
52 consistent behaviour in both cases.
53 * src/freeglut_state.c: Added GLUT_AUX and GLUT_MULTISAMPLE as possible
54 parameters for glutGet, making things more symmetric with
56 * src/freeglutdll.def: Added missing API entries.
58 2009-03-10 John F. Fay <john.fay.ctr@eglin.af.mil>
60 * progs/demos/demos.dsw: Adding the "smooth_opengl3" demo
62 2009-03-09 John F. Fay <john.fay.ctr@eglin.af.mil>
64 * include/GL/freeglut_std.h: Making the definition of
65 "WIN32_LEAN_AND_MEAN" conditional to enhance compatibility with GLEW
66 per suggestion by Diederick C. Niehorster in e-mail dated Mon 3/9/2009
68 * progs/demos/Fractals/fractals.c: Setting the "fractals" demo initial
69 number of levels to 4 per suggestion from Diederick C. Niehorster
70 [diederick@niehorster.eu] in e-mail dated Mon 3/9/2009 5:29 AM
72 2009-03-01 John F. Fay <john.fay.ctr@eglin.af.mil>
74 * progs/demos/CallbackMaker/CallbackMaker.c,
75 progs/demos/Lorenz/lorenz.c, progs/demos/shapes/shapes.c: Fixing
76 Microsoft compatibility with the new "vsnprintf" by putting an
77 underscore in front of it if WIN32 is defined but __CYGWIN__ is not
79 2009-03-01 Sven Panne <sven.panne@aedion.de>
81 * configure.ac: We do not depend on GLU anymore
82 * README.win32: Added notes for building under Cygwin
83 * src/Makefile.am: To build shared libraries on Windows, one has to
84 declare explicitly that there are no undefined symbols during linking.
85 No idea why, but this seems to be the only way to enable this on
86 Cygwin via -mno-cygwin. Hopefully this won't cause problems on other
87 platforms (which has to be tested).
88 * progs/demos/smooth_opengl3/smooth_opengl3.c: Windows fun again: Use
89 the correct calling convention for OpenGL extension entries.
91 2009-02-28 Sven Panne <sven.panne@aedion.de>
93 * progs/demos/smooth_opengl3/smooth_opengl3.c: When -mno-cygwin is used,
94 we get ancient GL headers, so be a bit more conservative.
95 * progs/demos/Fractals_random/fractals_random.c,
96 progs/demos/Lorenz/lorenz.c, progs/demos/shapes/shapes.c:
97 _CrtDumpMemoryLeaks and its header are Microsoft-specific, e.g. Cygwin
99 * src/freeglut_window.c: Do not try to destroy a GLX context when there
100 is none, e.g. when glXCreateContextAttribsARB is not there.
101 * src/freeglut_joystick.c: Use snprintf or _snprintf instead of the
102 potentially dangerous sprintf to avoid warnings.
104 NOTE: Due to excessive use of #ifdefs, the joystick code is on the
105 border of being unmaintainable! I could only check that it compiles
106 cleanly on my Linux box. Others should test this on their platforms
107 (Windows, Mac OS X, *BSD) to make sure that nothing has been broken.
108 * progs/demos/CallbackMaker/CallbackMaker.c,
109 progs/demos/Lorenz/lorenz.c, progs/demos/shapes/shapes.c: Use
110 vsnprintf instead of the potentially dangerous sprintf to avoid
111 warnings. Using snprintf directly would be a little bit more tricky,
112 because once again Microsoft decided to avoid followind standards and
113 provide _snprintf instead. We could use this, too, but this would
114 require an additional autoconf check, which I'd like to avoid, if
117 Note: If VS *still* issues warnings, but this time about vsnprintf,
118 somebody should add some pragmas or whatever is needed to shut up that
119 warning, it would be silly.
120 * progs/demos/Lorenz/lorenz.c: Position the distance message closer to
121 the middle of the window, it has been far, far off to the upper right.
122 * src/freeglut_internal.h: Synched version number with configure.ac. We
123 should better remove this redundancy and calculate this from
124 configure.ac directly.
126 2009-02-19 John F. Fay <john.fay.ctr@eglin.af.mil>
128 * progs/demos/smooth_opengl3/smooth_opengl3.dsp,
129 progs/demos/smooth_opengl3/smooth_opengl3Static.dsp: Fixing the
130 DOS/Linux line ending problems in the progs/demos/smooth_opengl3
133 2009-02-18 John F. Fay <john.fay.ctr@eglin.af.mil>
135 * src/freeglut_window.c: Fixing a build error caused by a variable
136 declaration being out of place
138 2009-02-15 Sven Panne <sven.panne@aedion.de>
140 * progs/demos/smooth_opengl3/smooth_opengl3.c: Final changes to make the
141 example fully OpenGL-3.0-compliant:
143 * Use vertex attribute arrays.
145 * Use our own projection matrix.
147 * Do not use deprecated vertex/fragment shader variables.
148 * progs/demos/smooth_opengl3/smooth_opengl3.c: Use GLSL shaders (still
149 1.20, though). Dump GL info.
150 * progs/demos/smooth_opengl3/smooth_opengl3.c: Added a commandline
151 option for 'classic' contexts. Aesthetic changes.
152 * progs/demos/smooth_opengl3/smooth_opengl3.c: Use VBOs in new example.
153 Added a few comments.
155 2009-02-14 Sven Panne <sven.panne@aedion.de>
157 * configure.ac, progs/demos/Makefile.am, progs/demos/smooth_opengl3,
158 progs/demos/smooth_opengl3/Makefile.am,
159 progs/demos/smooth_opengl3/smooth_opengl3.c,
160 progs/demos/smooth_opengl3/smooth_opengl3.dsp,
161 progs/demos/smooth_opengl3/smooth_opengl3Static.dsp: Initial version
162 of a fully OpenGL-3.0-compliant of the famous smooth.c from the Red
163 Book. What has been done already:
165 * Explicitly request a forward-compatible 3.0 context
167 * Report GL errors, if any, at a few crucial places
169 * Replaced gluOrtho2D with a home-grown matrix + glLoadMatrixf
171 What remains to be done:
173 * Use vertex shaders and fragment shaders
175 * Use vertex buffer objects
177 2009-02-13 Sven Panne <sven.panne@aedion.de>
179 * README: Mention autogen.sh
180 * src/freeglut_window.c: Synchronized WGL behavior with GLX
181 implementation: Do not call the new context creation API when it is
182 not required. Fixing a bug in a previous commit on the way... :-}
183 * src/freeglut_internal.h, src/freeglut_window.c: More refactorings:
184 Removed useless return value. Simplified control structures even more.
185 * src/freeglut_window.c: Refactoring only (replace nested conditionals
186 with guard clauses), making the normal path of execution much clearer.
187 * configure.ac: We have added some API entries, so we have to update
188 library version information conforming to
189 http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
190 * autogen.sh, configure.ac: Avoid CR\LF vs. LF troubles when using
191 TortoiseSVN plus Cygwin.
192 * .: Ignore config.lt, too. It seems to be generated by recent
195 2009-02-13 John F. Fay <john.fay.ctr@eglin.af.mil>
197 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_window.c:
198 Adding OpenGL 3.0 context detection for Windows per e-mail from Paul
199 Martz dated Thu 2/12/2009 9:03 AM (more or less)
201 2009-02-03 John F. Fay <john.fay.ctr@eglin.af.mil>
203 * README: Adding some instructions about building on a *nix platform to
205 * include/GL/freeglut_ext.h, src/freeglut_main.c: Removing some errant
206 tabs, fixing ticket #2137721, and adding special-key capability to
207 recognizing the NumLock, Delete, and keypad '5' keys
208 * src/freeglut_joystick.c, src/freeglut_main.c: A further response to
209 bug [ 1804696 ] Warnings when building on OpenSolaris -- per comment
210 by Nigel Stewart on that bug report
212 2009-02-02 John F. Fay <john.fay.ctr@eglin.af.mil>
214 * src/freeglut_internal.h, src/freeglut_joystick.c: Fixing bug [ 1804696
215 ] Warnings when building on OpenSolaris as updated 2/2/09 by Nigel
218 2008-11-20 Sven Panne <sven.panne@aedion.de>
220 * src/freeglut_glutfont_definitions.c, src/freeglut_internal.h: Yet
221 another try to make the font definitions compile on all platforms.
223 2008-11-17 John F. Fay <john.fay.ctr@eglin.af.mil>
225 * src/freeglut_glutfont_definitions.c, src/freeglut_internal.h: Allowing
226 "freeglut" to compile without errors under *nix. Before this, there
227 were problems with conflicting definitions of the GLUT font
230 2008-11-06 Sven Panne <sven.panne@aedion.de>
232 * src/freeglut_main.c: Ooops, forgot one file in the previous commit
233 (fix for "--without-x").
234 * configure.ac: Use autoconf to detect gettimeofday instead of broken
237 Note: freeglut compiles under Cygwin now, even when "--without-x" is
238 used for configuration.
239 * configure.ac: We need to link against winmm under Cygwin when
240 --without-x is used to get timeBeginPeriod, timeEndPeriod, joyGetPosEx
242 * src/freeglut_window.c: Fixed first parameter of CreateWindow call,
243 used for multisampling on Windows. It compiles, but it is otherwise
246 2008-11-05 Sven Panne <sven.panne@aedion.de>
248 * src/freeglut_misc.c: Be conservative about the presence of
250 * src/freeglut_glutfont_definitions.c, src/freeglut_stroke_mono_roman.c,
251 src/freeglut_stroke_roman.c: freeglut_internal.h needs some GL types,
252 but it is not self-contained. TODO: Move freeglut.h #include into
253 freeglut_internal.h itself?
254 * src/freeglut_window.c: Removed the annoying "Unable to create direct
255 context rendering..." warning, it served no real purpose, and on some
256 platforms there simply is no such thing as a direct context.
257 * progs/demos/CallbackMaker, progs/demos/Fractals,
258 progs/demos/Fractals_random, progs/demos/Lorenz, progs/demos/One,
259 progs/demos/shapes: Ignore *.exe
260 * src/freeglut_ext.c: Handle new glutInitContext* API entries in
262 * src/freeglut_internal.h: Make freeglut compile under Cygwin, which has
263 an ancient GLX header
265 2008-11-02 Sven Panne <sven.panne@aedion.de>
267 * include/GL/freeglut_ext.h, src/freeglut_init.c,
268 src/freeglut_internal.h, src/freeglut_state.c, src/freeglut_window.c:
269 Added OpenGL 3.0 context creation API entries
271 glutInitContextVersion, glutInitContextFlags
273 and their related constants
275 GLUT_INIT_MAJOR_VERSION GLUT_INIT_MINOR_VERSION GLUT_INIT_FLAGS
277 GLUT_DEBUG GLUT_FORWARD_COMPATIBLE
279 Note that this works with GLX only currently, the glutInitContext* API
280 entries have no effect for WGL yet.
282 TODO: Centralize the context creation code for WGL (the harder part)
283 and use the new wglCreateContextAttribsARB API entry (the easy part,
284 re-use most of the GLX code).
285 * src/freeglut_window.c: Refactored GLX context creation into a single
286 function, centralizing things to be changed for OpenGL 3.0 context
287 creation and removing some cut-n-paste.
288 * src/freeglut_ext.c, src/freeglut_internal.h: Make a
289 wgl/glXGetProcAddress abstraction available internally. We will need
290 this to get the new context creation function.
291 * src/freeglut_misc.c: Do not depend on GLU, it will vanish in the
292 future, at least in its current form.
293 * src/freeglut_internal.h: Removed superfluous #includes.
294 * configure.ac: Fix for bug #1709675 ("probably not be so
295 ISO-conformant"): The C compiler flag -Werror is not used by default
296 anymore, a separate configure flag --enable-warnings-as-errors has
297 been introduced for this purpose, which is off by default.
298 * configure.ac: Added AM_PROG_CC_C_O to configure.ac, removing a warning
299 during autogen.sh. This flag seems to be necessary for per-target
300 flags (used in demo programs) nowadays.
302 2008-07-21 John F. Fay <john.fay.ctr@eglin.af.mil>
304 * configure.ac, src/Makefile.am: Implementing a patch from Jocelyn
305 Frechot (thank you, Jocelyn) that "should enable the XInput extension
306 management with the autotools." See e-mail of Sun 7/20/2008 12:01 PM.
308 2008-07-10 John F. Fay <john.fay.ctr@eglin.af.mil>
310 * src/freeglut_ext.c: Adding "glutExit" to the functions in
311 "fghGetProcAddress" in accordance with an e-mail from Jocelyn Frechot
312 dated Tue 7/8/2008 12:26 PM
314 2008-04-05 John F. Fay <john.fay.ctr@eglin.af.mil>
316 * src/freeglut_main.c: Adding "SC_MONITORPOWER" and other new options to
317 the "wParam" option list (e-mail from Ron Larkin, 3/17/08, 11:00 AM)
319 2007-12-02 John F. Fay <john.fay.ctr@eglin.af.mil>
321 * include/GL/freeglut_ext.h, src/freeglut_display.c, src/freeglut_ext.c,
322 src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
323 src/freeglut_state.c, src/freeglut_window.c: Adding
324 "glutFullScreenToggle" for X11 -- still needs implementation in
325 Windows (e-mail by Jocelyn Frechot, Sun 11/25/2007 11:29 AM)
327 2007-12-01 John F. Fay <john.fay.ctr@eglin.af.mil>
329 * src/freeglut_window.c: Fixing the window position for asynchronous X11
330 implementations (e-mail by Jocelyn Frechot, Sun 11/25/2007 11:29 AM)
332 2007-11-26 John F. Fay <john.fay.ctr@eglin.af.mil>
334 * progs/demos/Fractals/fractals.c: Making a demo program that uses
337 2007-11-12 John F. Fay <john.fay.ctr@eglin.af.mil>
339 * include/GL/freeglut_ext.h, src/freeglut_ext.c, src/freeglut_init.c,
340 src/freeglut_internal.h, src/freeglut_state.c,
341 src/freeglut_structure.c, src/freeglut_window.c: Implementing Jocelyn
342 Frechot's changes -- see e-mail of Thursday, 11/8/2007 9:12 AM.
344 2007-10-02 John F. Fay <john.fay.ctr@eglin.af.mil>
346 * src/freeglut_joystick.c: Removing more Win64 build warnings from
349 2007-09-30 John F. Fay <john.fay.ctr@eglin.af.mil>
351 * src/freeglut_main.c: Removing the final compiler warning when building
352 on Win75 -- thank you, Antonio Mattos.
354 2007-09-29 John F. Fay <john.fay.ctr@eglin.af.mil>
356 * src/freeglut_cursor.c: Removing the remaining compiler warnings from
357 the cursor code, thanks to Antonio Mattos of Brazil. The double
358 type-casting is needed because of a bug in the new MSVC; there is a
359 discussion on the web on this subject.
361 2007-09-25 John F. Fay <john.fay.ctr@eglin.af.mil>
363 * src/freeglut_cursor.c: Changing the cursor definition macro for newer
364 versions of MSVC -- thanks to "Mattos" of Brazil
365 * src/freeglut_window.c: More changes for Jocelyn Frechot's
366 multisampling changes. The library builds now. It still needs some
367 testing with sample cases under X11.
369 2007-09-23 John F. Fay <john.fay.ctr@eglin.af.mil>
371 * src/freeglut_window.c: Fixing a remaining bug in the multisampling
372 change ... there may be more ...
374 2007-09-22 John F. Fay <john.fay.ctr@eglin.af.mil>
376 * src/freeglut_internal.h, src/freeglut_state.c,
377 src/freeglut_structure.c, src/freeglut_window.c: Putting in Jocelyn
378 Frechot's X11 visual context changes. THIS WILL BREAK THE BUILD as I
379 am unable to test it on a Linux machine here. Somebody please test it
382 2007-09-21 John F. Fay <john.fay.ctr@eglin.af.mil>
384 * src/freeglut_init.c, src/freeglut_main.c, src/freeglut_misc.c:
385 Removing compiler warnings in MSVC 2005 build
386 * include/GL/freeglut_ext.h, src/freeglut_init.c: Implementing Larry
387 Ramey's "glutExit" feature (see e-mails from him on 11/9/05, 6/28/06)
389 2007-09-19 John F. Fay <john.fay.ctr@eglin.af.mil>
391 * include/GL/freeglut_std.h, src/freeglut_window.c: Implementing first
392 part of Windows version of "GLUT_CAPTIONLESS" and "GLUT_BORDERLESS"
393 per feature request "[ 1197016 ] need GLUT_CAPTIONLESS window option".
394 Needs more work; menus are slightly mispositioned, X11 version does
395 not support it, banner appears at beginning but disappears on window
396 resize. But this is a start.
397 * src/freeglut_main.c: Fixing Linux key-repeat mode bug reported in "[
398 1796845 ] Keyboard events are lost when key repeat is enabled."
399 * src/freeglut_joystick.c: Fixing a build error on SuSE described in bug
400 report "[ 1792047 ] freeglut_joystick.c error"
402 2007-09-18 John F. Fay <john.fay.ctr@eglin.af.mil>
404 * src/freeglut_window.c: Implementing feature request "[ 947118 ] Popup
405 menu is hidden under the TOPMOST window"
406 * src/freeglut_menu.c: Adding Takeshi Nishimura's Feature Request "[
407 1045202 ] Cope with a menu with many items" -- sorry it took so long.
408 * src/freeglut_window.c: Addressing Feature Request #1307049 that
409 "freeglut" should return 0 if "glutGetWindow" is called without a
410 prior call to "glutInit", rather than terminating on error.
411 * freeglut.dep, freeglut.mak, freeglut_static.dep, freeglut_static.mak:
412 Added Windows "nmake" Makefiles and dependency files for the two
413 "freeglut" projects in accordance with Feature Request #1454543
415 2007-09-16 John F. Fay <john.fay.ctr@eglin.af.mil>
417 * src/freeglut_window.c: Fixing bug #1688954, submitted in Marcy '07. I
418 changed "FREEGLUT" to _T("FREEGLUT") and nothing changed on my Windows
419 XP system. If this will allow it to work on Vista, then in it goes.
420 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c,
421 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
422 Fixing bug report #1052151 from October 2004.
424 2006-11-28 John F. Fay <john.fay.ctr@eglin.af.mil>
426 * FrequentlyAskedQuestions: Adding a Frequently Asked Questions file
428 2006-09-28 Joe Krahn <krahn@niehs.nih.gov>
430 * src/freeglut_state.c, src/freeglut_window.c: Removed incorrect comment
431 about internal WGL/ARB definitions. I actually had put those comments
432 in because I had meant to go back and re-check the WGL extension. But,
433 maybe locally defined extensions should be kept in a separate include
436 2006-09-27 Joe Krahn <krahn@niehs.nih.gov>
438 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp,
439 progs/demos/CallbackMaker/CallbackMaker.dsp,
440 progs/demos/CallbackMaker/CallbackMakerStatic.dsp,
441 progs/demos/Fractals/Fractals.dsp,
442 progs/demos/Fractals/FractalsStatic.dsp,
443 progs/demos/Fractals_random/Fractals_random.dsp,
444 progs/demos/Fractals_random/Fractals_randomStatic.dsp,
445 progs/demos/Lorenz/lorenz.dsp, progs/demos/Lorenz/lorenzStatic.dsp,
446 progs/demos/One/one.dsp, progs/demos/One/oneStatic.dsp,
447 progs/demos/demos.dsw, progs/demos/shapes/shapes.dsp,
448 progs/demos/shapes/shapesStatic.dsp: Undo svn:eol-style=CR/LF for MSVC
451 2006-09-26 Joe Krahn <krahn@niehs.nih.gov>
453 * include/GL/freeglut_std.h, src/freeglut_joystick.c,
454 src/freeglut_state.c, src/freeglut_window.c: Added
455 FREEGLUT_LIB_PRAGMAS to control MS library pragmas, and fixed NOMINMAX
457 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp,
458 progs/demos/CallbackMaker/CallbackMaker.dsp,
459 progs/demos/CallbackMaker/CallbackMakerStatic.dsp,
460 progs/demos/Fractals/Fractals.dsp,
461 progs/demos/Fractals/FractalsStatic.dsp,
462 progs/demos/Fractals_random/Fractals_random.dsp,
463 progs/demos/Fractals_random/Fractals_randomStatic.dsp,
464 progs/demos/Lorenz/lorenz.dsp, progs/demos/Lorenz/lorenzStatic.dsp,
465 progs/demos/One/one.dsp, progs/demos/One/oneStatic.dsp,
466 progs/demos/demos.dsw, progs/demos/shapes/shapes.dsp,
467 progs/demos/shapes/shapesStatic.dsp: Added svn:eol-style=CRLF property
468 to MSVC project/workspace files.
470 2006-09-25 John F. Fay <john.fay.ctr@eglin.af.mil>
472 * src/freeglut_window.c: Fixing a typo bug in the display mode checking
473 (removing multisampling if it is not supported)
475 2006-09-25 Joe Krahn <krahn@niehs.nih.gov>
477 * src/freeglut_state.c: Fixed a small mistake in the previous commit for
479 * src/freeglut_state.c: Added proper support for number of mouse buttons
480 in X11, and a keyboard in Windows CE. Also, several glutGet results
481 returning TRUE/FALSE were changed to 1/0, because the actual return
482 type is int (although they are technically the same in practice).
484 2006-09-24 Joe Krahn <krahn@niehs.nih.gov>
486 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c:
487 Converted Time counter to a uniform unsigned long it value. The
488 initialized flag was redundant with the main Initialized flag, and
489 conversion of timeval to milliseconds in POSIX makes the code cleaner.
490 Timeval has a longer range, but the time value is already limited by
493 2006-09-23 Joe Krahn <krahn@niehs.nih.gov>
495 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c:
496 Removed WindowState.IsGameMode; it is redundant with
497 Structure.GameModeWindow
499 2006-09-21 John F. Fay <john.fay.ctr@eglin.af.mil>
501 * src/freeglut_state.c, src/freeglut_window.c: Adding support for the
502 multisampling query per bug report 1274193
503 * ChangeLog, src/freeglut_main.c: Fixing Bug #1398196 - Windows message
506 2006-09-21 Joe Krahn <krahn@niehs.nih.gov>
508 * src/freeglut_cursor.c: test (comment edited)
510 2006-09-21 John F. Fay <john.fay.ctr@eglin.af.mil>
512 * ChangeLog, src/freeglut_init.c: Adding temporary fix to
513 "glutInitDisplayString" to ignore numerical assignments
514 * ChangeLog, src/freeglut_window.c: Adding multisampling to *nix and
515 Windows; also some other pixel format enhancements to Windows
516 * ChangeLog, progs/demos/CallbackMaker/CallbackMaker.c: Enhancing the
518 * ChangeLog, src/freeglut_cursor.c, src/freeglut_display.c,
519 src/freeglut_ext.c, src/freeglut_gamemode.c,
520 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
521 src/freeglut_input_devices.c, src/freeglut_internal.h,
522 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
523 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_teapot.c,
524 src/freeglut_teapot_data.h, src/freeglut_window.c: Joe Krahn's changes
525 to "TARGET_HOST" defined constants
526 * ChangeLog, src/freeglut_internal.h, src/freeglut_joystick.c,
527 src/freeglut_main.c, src/freeglut_window.c: Fixing two minor bugs,
529 * ChangeLog, src/freeglut_gamemode.c, src/freeglut_internal.h,
530 src/freeglut_menu.c, src/freeglut_state.c, src/freeglut_structure.c:
531 Changing "GameMode" to "GameModeWindow ... and testing whether I can
534 2006-08-05 Sven Panne <sven.panne@aedion.de>
536 * ChangeLog, progs/demos/Fractals/fractals.c,
537 progs/demos/Fractals_random/fractals_random.c,
538 progs/demos/Lorenz/lorenz.c: Check fgets for return value to avoid
540 * freeglut.spec: Fixed typo in date
541 * freeglut.spec: Updated build requirements for SuSE 10.1
543 2005-10-12 Sven Panne <sven.panne@aedion.de>
545 * ., .cvsignore: Ooops, forgot to ingore INSTALL and install-sh in
547 * ChangeLog, include/GL/freeglut_ext.h, include/GL/freeglut_std.h: Moved
548 GLUT_INIT_STATE to <GL/freeglut_ext.h>, it is not part of the original
550 * ., .cvsignore, ChangeLog, INSTALL, autogen.sh, install-sh,
551 mkinstalldirs: Simply use autoreconf in autogen.sh, it is much simpler
552 and the recommended way in the autotools documentation. Removed
553 INSTALL, install-sh and mkinstalldirs, they are either unused or
554 automatically generated by autogen.sh.
556 2005-10-06 John F. Fay <john.fay.ctr@eglin.af.mil>
558 * include/GL/freeglut_ext.h: Allowing compilation of Windows version by
559 removing DLL decorations from deprecated joystick interface extensions
560 * src/freeglut_window.c: Implementing Stereo in Windows
562 2005-09-07 Sven Panne <sven.panne@aedion.de>
564 * ChangeLog, src/Makefile.am: Use target-specific *_CPPFLAGS, not the
566 * ChangeLog, autogen.sh: Use -Wall for automake to catch some buglets,
567 deprecated stuff, etc.
569 2005-09-04 Sven Panne <sven.panne@aedion.de>
571 * ChangeLog, autogen.sh: Silenced autogen.sh
573 2005-08-31 John F. Fay <john.fay.ctr@eglin.af.mil>
575 * freeglut.rc, freeglut.tgt, freeglut.wpj, freeglut_static.tgt:
576 Necessary files for Open Watcom support
577 * src/freeglut_internal.h: Adding Open Watcom support
578 * ChangeLog, README.win32: Documenting support for Open Watcom
579 * include/GL/freeglut_std.h: Implementing WATCOM support
581 2005-07-14 Sven Panne <sven.panne@aedion.de>
583 * src/freeglut_input_devices.c: Nuked useless bit-fiddling, pointed out
584 by John. I was a bit too quick to cut-n-paste the cfmakeraw()
585 definition into our code... :-]
586 * ChangeLog, src/freeglutdll.def: Synched the DLL definitions with
588 * ChangeLog, src/freeglut_cursor.c: Fixed the GLUT_CURSOR_INHERIT logic
591 Note that this commit is untested, but at least it looks better than
592 before. We really a need a cursor test program.
594 2005-07-13 John F. Fay <john.fay.ctr@eglin.af.mil>
596 * src/freeglut_cursor.c: Fixing a cursor bug in \"GLUT_CURSOR_INHERIT\"
598 2005-07-13 Sven Panne <sven.panne@aedion.de>
600 * ChangeLog, configure.ac: Improve autoconf magic: To detect headers
601 like GL/gl.h, it might be necessary to temporarily use the X11 flags
602 found by AC_PATH_XTRA.
603 * ChangeLog, src/freeglut_joystick.c: Avoid gcc warnings for some
604 joystick code (e.g. on Solaris).
605 * src/freeglut_input_devices.c: Tiny cleanup only...
606 * ChangeLog, src/freeglut_input_devices.c: Solaris doesn't have
607 cfmakeraw, but it is only a convenience function for some
608 bit-fiddling, anyway.
610 2005-07-08 Sven Panne <sven.panne@aedion.de>
612 * ChangeLog, include/GL/freeglut_ext.h, src/freeglut_ext.c,
613 src/freeglut_internal.h: Made all the "glutJoystickXXX" functions part
614 of the freeglut extensions. If this is not what we want, we can easily
615 #ifdef this away again...
616 * ChangeLog, src/freeglut_geometry.c: Made a few global arrays "static",
617 avoiding namespace pollution. The only externally visible symbols
618 should either be from the GLUT API ("glutXXX") or internal freeglut
619 entities ("fgYYY"). Reformatted things a bit on the way.
621 2005-07-06 Sven Panne <sven.panne@aedion.de>
623 * ChangeLog, src/freeglut_main.c: We only have pending redisplay
624 callbacks when the window wants to be redisplayed *and* it is visible.
625 Otherwise we won't redraw, anyway, and immediately discover that
626 there's still something to do, etc. etc., leading to 100% CPU load.
627 * ChangeLog, src/freeglut_main.c: Removed redundant code.
628 * ChangeLog, src/freeglut_init.c: X11 only: Destroy the global menu
629 rendering context when deinitializing. The visual/context handling for
630 menus is still rather obscure, though...
631 * progs/demos/Lorenz/lorenz.c: Reverting previous commit: %lf is a valid
632 format specifier for the scanf familiy of functions only, not for the
635 2005-07-05 John F. Fay <john.fay.ctr@eglin.af.mil>
637 * src/freeglut_main.c: Implementing the new menu context variable names
639 * src/freeglut_internal.h: Changing a comment ... nothing big.
640 * progs/demos/Lorenz/lorenz.c: Fixing output formats ... nothing big
642 2005-07-05 Sven Panne <sven.panne@aedion.de>
644 * ChangeLog, src/freeglut_state.c, src/freeglut_window.c: X11 only: Free
645 XVisualInfo structures when they are not needed anymore, fixing a
646 space leak. Not perfect for menus yet...
647 * src/freeglut_internal.h, src/freeglut_window.c: Tiny change to make
648 grep's life easier: Rename the fields of the menu context. Not really
649 worth a ChangeLog entry...
651 IMHO it looks like we could kill the whole MenuContext stuff, it is of
652 no use currently and some things look strange, like e.g. having a
653 context per menu. The latter is not OK when a menu is attached to
656 2005-07-02 Sven Panne <sven.panne@aedion.de>
658 * ChangeLog, src/freeglut_init.c, src/freeglut_internal.h,
659 src/freeglut_main.c, src/freeglut_state.c: Handle modifiers in
660 MotionNotify events, too. This fixes bug #1227920 (glutGetModifiers
661 not set/allowed in mouse callbacks). In addition, some related cleanup
663 * ChangeLog, src/freeglut_joystick.c: Partial fixes for bug #1218900
664 (freeglut-2.4.0 on FreeBSD).
665 * ChangeLog, Makefile.am: Remove wrong "execute" bits when creating a
666 distribution. This fixes bug #961938 (Executable bit set on non exe
668 * configure.ac: Tiny cosmetic change, not worth a ChangeLog entry.
669 * ChangeLog: Added John's missing ChangeLog entry.
671 2005-07-01 John F. Fay <john.fay.ctr@eglin.af.mil>
673 * freeglut.dsp, freeglut_static.dsp: Adding the
674 \"freeglut_input_devices.c\" file to the Windows project files
676 2005-07-01 Sven Panne <sven.panne@aedion.de>
678 * ChangeLog, configure.ac, src/Makefile.am: Some steps toward
679 compilation under MinGW. Note that there are still linking troubles
681 * src/freeglut_internal.h: Fixed #ifdef for ChangeDisplaySettingsEx
683 * ChangeLog, src/freeglut_input_devices.c: Silenced a signed/unsigned
684 mismatched via a cast.
685 * ChangeLog, src/freeglut_internal.h: MinGW is lacking a prototype for
686 ChangeDisplaySettingsEx, so supply one in this case. Note that this
687 should better be handled via autoconf than via cpp.
688 * ChangeLog, Makefile.am: Removed redundant files from EXTRA_DIST.
690 2005-06-30 Sven Panne <sven.panne@aedion.de>
692 * src/freeglut_main.c: Ooops, forgot to set the current window in the
693 last commit. I'll have to test better before comitting... :-]
694 * ChangeLog, src/freeglut_main.c: When a window is iconified, only an
695 UnmapNotify is sent, not a VisibilityNotify, so we have to handle the
696 window status callback in the former case, too. This fixes bug #763442
697 (Call the visibility callback when minimizing a window).
698 * ChangeLog, src/freeglut_main.c: Cleaned up
699 CreateNotify/ConfigureNotify handling.
700 * src/freeglut_main.c: Ooops, forgot to dump a few fields in some
702 * ChangeLog, configure.ac, src/freeglut_main.c: Added --enable-debug
703 configure flag. Currently it only turns on X11 event tracing, but in
704 the future we could add more.
706 Note: freeglut_main.c could benefit from some restructuring to clean
707 up the #ifdefs and cut down the sizes of some extremely long
709 * ., .cvsignore: Ignore files generated during RPM build.
711 2005-06-23 John F. Fay <john.fay.ctr@eglin.af.mil>
713 * doc/freeglut_user_interface.html: Fixing the documentation regarding
714 callbacks and geometry shape additions
715 * progs/demos/Fractals/Fractals.dsp,
716 progs/demos/Fractals/FractalsStatic.dsp,
717 progs/demos/Fractals_random/Fractals_random.dsp,
718 progs/demos/Fractals_random/Fractals_randomStatic.dsp,
719 progs/demos/Lorenz/lorenz.dsp, progs/demos/Lorenz/lorenzStatic.dsp,
720 progs/demos/One/one.dsp, progs/demos/One/oneStatic.dsp,
721 progs/demos/shapes/shapes.dsp, progs/demos/shapes/shapesStatic.dsp:
722 Adding separate static library and DLL demonstration program projects
723 * progs/demos/CallbackMaker/CallbackMaker.dsp,
724 progs/demos/CallbackMaker/CallbackMakerStatic.dsp: Adding separate
725 demo program projects for static library and DLL versions
726 * progs/demos/demos.dsw: Adding support for separate static library demo
728 * ChangeLog: Keeping current ...
729 * src/freeglut_input_devices.c: New file for Joe Krahn\'s dials input
732 2005-06-22 John F. Fay <john.fay.ctr@eglin.af.mil>
734 * src/freeglut_geometry.c: Fixing a bug in the Sierpinski sponge code
735 that made the application crash if called with number of levels < 0
736 * src/Makefile.am, src/freeglut_init.c, src/freeglut_internal.h,
737 src/freeglut_joystick.c, src/freeglut_state.c: Joe Krahn\'s input
738 (dials) device implementation.
740 2005-06-14 Sven Panne <sven.panne@aedion.de>
742 * ChangeLog, freeglut.spec: Added an RPM spec file based on the one
743 shipped with SuSE 9.3.
745 2005-06-10 James Jones <puggles@users.sourceforge.net>
747 * ChangeLog, configure.ac: Release of 2.4.0
749 2005-06-02 James Jones <puggles@users.sourceforge.net>
751 * ChangeLog, configure.ac, src/freeglut_internal.h: 2.4.0 Release
754 2005-05-26 John F. Fay <john.fay.ctr@eglin.af.mil>
756 * src/freeglut_main.c: Takeshi Nishimura\'s changes to make the Windows
757 mouse wheel/button mapping match that of X11; also fixing a typo in
758 the associated mouse callback argument list
760 2005-05-26 James Jones <puggles@users.sourceforge.net>
762 * ChangeLog, configure.ac: 2.4.0 RC4 updates
763 * src/freeglut_main.c: Fix joysticks so they are polled by their timer
764 correctly. (Dan Torop)
766 2005-05-24 Sven Panne <sven.panne@aedion.de>
768 * ChangeLog, src/freeglut_gamemode.c: The original glutEnterGameMode()
769 returns the window id of the game mode window, not TRUE/FALSE, we
770 should better follow that. Note that most man pages claim that this
771 function returns void, but this is definitely wrong.
772 * ChangeLog, src/freeglut_gamemode.c, src/freeglut_main.c: When
773 switching to game mode under X11, no ConfigureNotify event will happen
774 and consequently no reshape callback will ever be called via the
775 normal mechanism. To fix this, note that the game mode window needs to
776 be resized and handle this before redraw.
778 2005-05-22 Sven Panne <sven.panne@aedion.de>
780 * ChangeLog, src/freeglut_ext.c: Guarantee consistency of
781 names/addresses in glutGetProcAddress by using a macro. In addition,
782 this avoids any non-constant initializer issues which might be raised
783 when using WinDoze GCCs. The additional code overhead is negligible,
784 at least for x86 (a few instructions per name).
785 * ChangeLog, configure.ac: Lowering minimum autoconf version required.
787 2005-05-20 James Jones <puggles@users.sourceforge.net>
789 * ChangeLog: Tag for 2.4.0 RC3
792 2005-05-19 Sven Panne <sven.panne@aedion.de>
794 * src/freeglut_gamemode.c: Fixed SF bug #1204256: Off-by-one error in
795 X11 mode switching. The code which changes the X11 video mode has an
796 off-by-one error, resulting in a wrong mode or segfault. I've
797 refactored the code slighty to make it hopefully clearer what's going
798 on and corrected some #ifdefs on the way. Now at least the "One" demo
800 * src/freeglut_window.c: Fixed SF bug #1204261: Mini space leak when
801 creating an X11 window (X11 text property values have to be freed
804 2005-05-18 John F. Fay <john.fay.ctr@eglin.af.mil>
806 * src/freeglut_gamemode.c: Removing a C++ comment and simplifying the
809 2005-05-17 John F. Fay <john.fay.ctr@eglin.af.mil>
811 * src/freeglut_gamemode.c: Misiek\'s changes to fix Game Mode--getting
812 display settings under Windows and setting the window size correctly
813 on all operating systems.
815 2005-05-16 James Jones <puggles@users.sourceforge.net>
817 * ChangeLog: Mark for 2.4 RC 2
819 2005-05-13 John F. Fay <john.fay.ctr@eglin.af.mil>
821 * src/freeglut_menu.c: Removing two unused variables so this will
822 compile on Linux with -Wall
824 2005-05-12 John F. Fay <john.fay.ctr@eglin.af.mil>
826 * ChangeLog: Updating the ChangeLog ...
827 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c:
828 Takeshi Nishimura\'s menu changes--menus should now work properly. Use
829 the GLUT \"GLUTmech\" and \"walker\" demos to test them.
830 * src/freeglut_main.c: Takeshi Nishimura\'s menu fixes
832 2005-05-09 James Jones <puggles@users.sourceforge.net>
834 * ChangeLog, Makefile.am, configure.ac: Freeglut 2.4.0 Release Candidate
837 2005-05-06 Sven Panne <sven.panne@aedion.de>
839 * ChangeLog, progs/demos/shapes/shapes.c: Fixed a cuboctahedron vertex,
840 implemented wire mode for that shape.
841 * ChangeLog, progs/demos/shapes/shapes.c, src/freeglut_internal.h,
842 src/freeglut_main.c: Necessary compilation fixes for newer GCCs (e.g.
843 3.3.5, 4.0). Side effect: The shapes demo has a new 'i' key now.
845 2005-05-05 John F. Fay <john.fay.ctr@eglin.af.mil>
847 * ChangeLog: Updated the ChangeLog again ...
849 2005-05-04 John F. Fay <john.fay.ctr@eglin.af.mil>
851 * progs/demos/shapes/shapes.c: Replacing the original \"freeglut\"
852 \"shapes\" demo with the much snazzier OpenGLUT \"shapes\" demo. Many
853 thanks to the OpenGLUT community for writing it. The copyright notice
854 stays in the program.
855 * src/freeglut_main.c: Changing hard-coded constant (number of mouse
856 buttons = 3) to a \"glutDeviceGet\" call in two places under X11
857 * src/freeglutdll.def: Changing the version number from 2.0 to 2.4.0 ...
858 do we need to add any new interface functions?
859 * src/freeglut_internal.h: Removing an unused variable
860 * src/freeglut_window.c: Adding a comment on why \"freeglut\" differs
861 from GLUT in a particular way
862 * src/freeglut_joystick.c: Removing an unused function
863 * src/freeglut_init.c: Making the \"key repeat\" initialization
864 consistent with the rest of its usage; also making the
865 \"initDisplayString\" ever-so-slightly mroe general
866 * ChangeLog, TODO, src/freeglut_window.c: Updating the ChangeLog and
867 TODO files in preparation for the upcoming release
869 2005-04-29 John F. Fay <john.fay.ctr@eglin.af.mil>
871 * src/freeglut_joystick.c: Adding a \"TODO\" comment about dynamically
872 allocating joystick buttonj and axis arrays
873 * ChangeLog: Updationg the ChangeLog ...
875 2005-04-28 John F. Fay <john.fay.ctr@eglin.af.mil>
877 * README.win32: Adding a \"README.Win32\" file with instructions on how
878 to install \"freeglut\" under Windows.
879 * src/freeglut_main.c: Adding Window Exit event handling to the Windows
880 code; also adding a note that eventually it would be good to handle
881 the Window Entry event
883 2005-04-27 John F. Fay <john.fay.ctr@eglin.af.mil>
885 * src/freeglut_window.c: Fixing bug [ 1111218 ] fullscreen not working
886 Better late than never.
887 * src/freeglut_init.c: Fixing Bug Report [ 1160442 ]
888 glutGet(GLUT_ELAPSED_TIME) is too granular
890 2005-04-26 John F. Fay <john.fay.ctr@eglin.af.mil>
892 * src/freeglut_internal.h, src/freeglut_structure.c: Fixing the
893 typecasts on the callback fetches and invocations to allow
894 \"freeglut\" to compile with GCC 4.0
895 * src/freeglut_menu.c: Fixing erroneous implementation of Takeshi\'s fix
896 * src/Makefile.am: Changing include path from relative to absolute to
897 support off-directory builds (Yuri D\'Elia, March 22, 5:59 PM)
898 * LISEZ_MOI: Adding \"LISEZ-MOI\", the French version of \"README\"
900 2005-04-25 John F. Fay <john.fay.ctr@eglin.af.mil>
902 * ChangeLog: Updating the ChangeLog ... it seems to be something of a
903 stepchild if we\'re not careful.
905 2005-04-22 John F. Fay <john.fay.ctr@eglin.af.mil>
907 * src/freeglut_menu.c: Yuri D\'Elia\'s changes to get the virtual
908 maximum screen extent instead of the actual screen size.
909 * src/freeglut_gamemode.c: Yuri D\'Elia\'s changes to the game mode
911 * src/freeglut_structure.c: Change a hard-coded number to a defined
912 constant and add some initializations
913 * src/freeglut_cursor.c: Removing duplicate cursor code. This and the
914 previous change (in freeglut_main.c) apparently got combined.
915 * ChangeLog: Updating the ChangeLog to reflect activity over the past
917 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
918 src/freeglut_display.c, src/freeglut_gamemode.c,
919 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
920 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c,
921 src/freeglut_window.c: Trying again to change \"fgStructure.Window\"
922 to \"fgStructure.CurrentWindow\" and \"fgStructure.Menu\" to
923 \"fgStructure.CurrentMenu\" for easier maintenance.
925 2005-04-15 John F. Fay <john.fay.ctr@eglin.af.mil>
927 * ChangeLog: Updating the ChangeLog as a means of testing pCVSc
928 * src/freeglut_internal.h: Testing!
930 2005-03-23 Brian Paul
932 * include/GL/freeglut_ext.h: added comment about AUX flags
934 2005-02-16 Brian Paul
936 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
937 src/freeglut_structure.c, src/freeglut_window.c: fixes for menus being
938 attached to multiple buttons/windows (John Fay)
939 * src/freeglut_callbacks.c: added error check (John Fay)
941 2005-02-15 Brian Paul
943 * src/freeglut_init.c, src/freeglut_window.c: AUX buffers for Windows
946 2005-02-11 Brian Paul
948 * include/GL/freeglut_ext.h, src/freeglut_init.c, src/freeglut_window.c:
949 Aux color buffer support. Pass one of GLUT_AUX[1234] to
950 glutInitDisplayMode. Only implemented/tested on GLX, not Windows.
951 * include/GL/freeglut_ext.h, src/freeglut_ext.c,
952 src/freeglut_internal.h: Fix object/function pointer inconsistencies
953 which are a problem for gcc 3.4.2. Added GLUTproc type, returned by
954 glutGetProcAddress().
956 2005-01-23 Sven Panne <sven.panne@aedion.de>
958 * configure.ac: autoconf 2.58 is enough
959 * src/freeglut_callbacks.c, src/freeglut_internal.h: Stylistic change
960 only (added "do { ... } while( 0 )" around multi-statement macros)
961 * configure.ac, src/freeglut_joystick.c, src/freeglut_main.c: Testing
962 for errno.h is overkill. :-)
963 * src/freeglut_cursor.c, src/freeglut_main.c: Windows platforms only:
964 Merged some cursor-related code from John Fay (with minor changes)
966 2005-01-05 Sven Panne <sven.panne@aedion.de>
968 * src/freeglut_ext.c, src/freeglut_font.c, src/freeglut_main.c,
969 src/freeglut_state.c, src/freeglut_window.c: Hopefully removed all
970 damage done by commits without merge
971 * ChangeLog, src/freeglut_cursor.c: Reworked the X11 part of
972 glutSetCursor, fixing bug #764187 (Variable mouse pointers don't work)
973 on the way: * Use slightly more compatible cursor shapes for
974 GLUT_CURSOR_RIGHT_ARROW and GLUT_CURSOR_LEFT_ARROW. * Refactored and
975 fixed the erroneous code for GLUT_CURSOR_NONE. * Removed the incorrect
976 use of XFreeCursor and use a cache of cursors instead. Cursors are
977 never freed now, we could do this e.g. via reference countig if this
978 is really needed. * Fixed error handling. * Unknown cursor types are
979 an error now. * Now the window state always corresponds to the wanted
980 cursorID, even in the case of GLUT_CURSOR_FULL_CROSSHAIR.
982 NOTE: I am not sure where the cursor cache should really reside,
983 currently it is simply a file-local variable.
985 2005-01-03 Sven Panne <sven.panne@aedion.de>
987 * ChangeLog, src/freeglut_gamemode.c: Fixed part of bug #926883 (Video
988 mode matching code, memory leaks, fullscreen), i.e. issue warnings
989 when XF86VidModeFOO fails.
990 * ChangeLog, src/freeglut_gamemode.c: (234) Fixed part of bug #926883
991 (Video mode matching code, memory leaks, fullscreen): Now we first try
992 to get an exact mode match, ignoring the refresh rate if none could be
993 found. This way the X11 part and the WinDoze behave similarly. NOTE:
994 We still don't behave like GLUT, because it has a wider notion of
995 "best" match. We have to refactor and extend freeglut quite a bit to
997 * ChangeLog, src/freeglut_gamemode.c: Fixed part of bug #926883 (Video
998 mode matching code, memory leaks, fullscreen), i.e. memory leak caused
999 by not freeing the mode lines returned by XF86VidModeGetAllModeLines
1000 * ChangeLog, src/freeglut_window.c: Improved error message a bit when no
1001 suitable visual could be found (X11 only).
1002 * configure.ac, src/freeglut_internal.h, src/freeglut_main.c: autoconf'd
1004 * src/freeglut_joystick.c: Removed redundant #include
1005 * ChangeLog, configure.ac, src/freeglut_joystick.c, src/freeglut_main.c:
1006 autoconf'd <errno.h> handling and removed an unused '#include
1008 * configure.ac, src/freeglut_joystick.c, src/freeglut_main.c: autoconf'd
1009 <limits.h> and <sys/param.h> handling, removing MIN/MAX macros on the
1011 * src/freeglut_internal.h: Cosmetics.
1012 * configure.ac, src/freeglut_joystick.c: autoconf'd <fcntl.h> and
1013 <sys/ioctl.h> handling
1014 * src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c:
1015 Improved <sys/typed.h> / <unistd.h> handling as suggested by the
1017 * configure.ac, progs/demos/Lorenz/lorenz.c, src/freeglut_internal.h,
1018 src/freeglut_main.c: Fixed <sys/time.h> / <time.h> handling as
1019 suggested by the autoconf docs.
1020 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
1021 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
1022 src/freeglut_font_data.c, src/freeglut_gamemode.c,
1023 src/freeglut_geometry.c, src/freeglut_init.c, src/freeglut_internal.h,
1024 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
1025 src/freeglut_misc.c, src/freeglut_overlay.c, src/freeglut_state.c,
1026 src/freeglut_structure.c, src/freeglut_teapot.c,
1027 src/freeglut_videoresize.c, src/freeglut_window.c: Moved '#include
1028 "config.h"' to freeglut_internal.h, we will need it there soon and it
1029 makes everything a bit shorter.
1030 * ChangeLog: Resurrected my recent additions which were nuked by the
1031 previous commit, adding the latest change on the way. :-(
1032 * acconfig.h: Removed acconfig.h, it is deprecated and we don't need it.
1033 * src/freeglut_cursor.c, src/freeglut_font.c, src/freeglut_init.c,
1034 src/freeglut_structure.c: Make it compile again with "-Wall -pedantic
1035 -Werror", redoing quite a few things I've fixed already a few days
1036 ago. Have today's commits been done by copying instead of merging? :-(
1038 2005-01-03 James Jones <puggles@users.sourceforge.net>
1040 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
1041 src/freeglut_window.c: Changes remove duplicate menu code from
1042 "freeglut_window.c" and put it into one place in "freeglut_menu.c"
1043 where it belongs. - John Fay
1044 * ChangeLog: General ChangeLog Updates
1045 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
1046 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
1047 src/freeglut_gamemode.c, src/freeglut_geometry.c, src/freeglut_init.c,
1048 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
1049 src/freeglut_menu.c, src/freeglut_misc.c, src/freeglut_state.c,
1050 src/freeglut_structure.c, src/freeglut_teapot.c,
1051 src/freeglut_teapot_data.h, src/freeglut_window.c: Adding
1052 initialization checking to all GLUT interface functions and removing
1053 asserts from the rest of the code - John Fay
1055 2005-01-01 Sven Panne <sven.panne@aedion.de>
1057 * ChangeLog, src/Makefile.am: Added missing files from "src"
1058 subdirectory to dist.
1059 * AUTHORS: Synched with project member list on SourceForge
1060 * ChangeLog, Makefile.am, configure.ac: Modernized configure.ac a bit
1061 and added a rule to Makefile.am to update libtool. Note that all gcc
1062 compiler warnings are now on by default.
1063 * ChangeLog, include/GL/freeglut_std.h,
1064 progs/demos/CallbackMaker/CallbackMaker.c,
1065 progs/demos/Fractals_random/fractals_random.c,
1066 progs/demos/Lorenz/lorenz.c, progs/demos/One/one.c,
1067 src/freeglut_cursor.c, src/freeglut_font.c, src/freeglut_init.c,
1068 src/freeglut_teapot_data.h: Make "gcc -Wall -pedantic -Werror" happy.
1069 * ., .cvsignore: Ignore files generated by autoscan.
1070 * ChangeLog, INSTALL, configure.ac, configure.in: Renamed "configure.in"
1071 to the officially preferred "configure.ac".
1072 * stamp-h, stamp-h.in: Removed unused stamp-h* files, configure
1073 generates them (a single stamp-h1, to be exact).
1074 * ChangeLog, Makefile.am: Added eMbedded Visual Tools project/workspace
1075 files to distribution.
1076 * ., .cvsignore: Ignore distribution tar files
1078 2004-12-31 Sven Panne <sven.panne@aedion.de>
1080 * ChangeLog, src/freeglut_main.c: Fixed first bug of #1064195 (two
1081 things when using signals): Don't issue a warning about select when a
1082 non-blocked signal was caught. This makes sense and is more compatible
1084 * ChangeLog, src/freeglut_font.c: Fixed bug #1040435 (glutBitmapString()
1086 * ChangeLog: Alas, the ChangeLog has not the usual ChangeLog format, so
1087 tell (X)Emacs about that fact.
1088 * ChangeLog, src/freeglut_window.c: Fixed bug #1045054 (KeyReleaseMask
1090 * ChangeLog, src/freeglut_state.c: Fixed bug #1087642
1091 (glutDeviceGet(GLUT_DEVICE_KEY_REPEAT) unimplemented).
1092 * ChangeLog, src/freeglut_ext.c: Fixed bug #1079530 (glutGetProcAddress
1093 and geometric objects).
1094 * ., .cvsignore, doc, doc/.cvsignore, include, include/.cvsignore,
1095 include/GL, include/GL/.cvsignore, progs, progs/.cvsignore,
1096 progs/demos, progs/demos/.cvsignore, progs/demos/CallbackMaker,
1097 progs/demos/CallbackMaker/.cvsignore, progs/demos/Fractals,
1098 progs/demos/Fractals/.cvsignore, progs/demos/Fractals_random,
1099 progs/demos/Fractals_random/.cvsignore, progs/demos/Lorenz,
1100 progs/demos/Lorenz/.cvsignore, progs/demos/One,
1101 progs/demos/One/.cvsignore, progs/demos/shapes,
1102 progs/demos/shapes/.cvsignore, src, src/.cvsignore: Improved
1105 2004-12-17 James Jones <puggles@users.sourceforge.net>
1107 * src/freeglut_cursor.c, src/freeglut_display.c,
1108 src/freeglut_internal.h, src/freeglut_menu.c, src/freeglut_misc.c,
1109 src/freeglut_window.c: Some assertion changes / removals from Dr. John
1112 2004-10-06 Brian Paul
1114 * src/freeglut_callbacks.c, src/freeglut_internal.h,
1115 src/freeglut_joystick.c, src/freeglut_state.c: joystick init fixes
1118 2004-10-05 Brian Paul
1120 * src/freeglut_main.c: updated comments (John Fay)
1121 * src/freeglut_init.c, src/freeglut_main.c, src/freeglut_window.c:
1122 improved comments and mouse coord adjustments (John Fay)
1123 * src/freeglut_init.c: more clean-ups, fixes from John Fay
1125 2004-09-23 Brian Paul
1127 * src/freeglut_font.c, src/freeglut_stroke_mono_roman.c,
1128 src/freeglut_stroke_roman.c: font updates from John Fay
1129 * src/freeglut_main.c: more updates from John Fay
1130 * src/freeglut_geometry.c, src/freeglut_init.c: assorted updates from
1133 2004-09-15 James Jones <puggles@users.sourceforge.net>
1135 * src/freeglut_init.c: Fix to glutInit() command-line argument
1136 compaction - Patch #1027724 from takeshi2
1138 2004-09-13 Brian Paul
1140 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
1141 src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1142 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_state.c,
1143 src/freeglut_window.c: more updates from John Fay
1144 * src/freeglut_cursor.c, src/freeglut_gamemode.c,
1145 src/freeglut_geometry.c, src/freeglut_init.c, src/freeglut_internal.h,
1146 src/freeglut_joystick.c, src/freeglut_main.c,
1147 src/freeglut_structure.c, src/freeglut_teapot.c,
1148 src/freeglut_window.c: some function renaming, etc (John Fay)
1150 2004-09-10 Brian Paul
1152 * src/freeglut_callbacks.c, src/freeglut_init.c,
1153 src/freeglut_internal.h, src/freeglut_main.c: joystick updates from
1155 * src/freeglut_cursor.c, src/freeglut_font_data.c,
1156 src/freeglut_gamemode.c, src/freeglut_geometry.c, src/freeglut_init.c,
1157 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
1158 src/freeglut_menu.c, src/freeglut_misc.c, src/freeglut_state.c,
1159 src/freeglut_stroke_mono_roman.c, src/freeglut_stroke_roman.c,
1160 src/freeglut_structure.c, src/freeglut_teapot.c,
1161 src/freeglut_window.c: updated comments from John Fay
1163 2004-08-11 James Jones <puggles@users.sourceforge.net>
1165 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c:
1166 Fix a game mode crashing bug, conditional compilation for Windows, and
1167 comment out some diagnostic prints (John Fay)
1169 2004-08-05 James Jones <puggles@users.sourceforge.net>
1171 * src/freeglut_window.c: Implements Richard Rauch's request that the
1172 warning about indirect rendering contexts be suppressed for his BSD
1174 * src/freeglut_teapot_data.h: Someone used C++ style comments in a C
1175 file... tisk tisk...
1176 * src/freeglut_font.c: Bugfix for "glutBitmapString" so that it now
1177 handles end-of-line characters properly (Richard Rauch)
1178 * README: Incremental update ... (John Fay)
1180 2004-06-29 Brian Paul
1182 * src/freeglut_structure.c: give menu windows the title 'freeglut menu'
1184 * src/freeglut_window.c: move glXMakeCurrent() to after the point where
1185 the window's title is set (helps Chromium)
1187 2004-05-13 James Jones <puggles@users.sourceforge.net>
1189 * freeglut.dsp, freeglut_static.dsp: Add one more header file to MSVC
1192 2004-05-12 James Jones <puggles@users.sourceforge.net>
1194 * include/GL/freeglut_ext.h, include/GL/freeglut_std.h: John Fay:
1195 Direct/indirect rendering context change, fix a bug that somebody
1196 reported (about needing "GLUT_XLIB_IMPLEMENTATION" defined) and remove
1197 a false deprecation of a function.
1198 * src/freeglut_main.c: John Fay: A bug fix re: behavior of the code when
1199 the user clicks the "x" to close a window, and commentary to a message
1200 type with fixes for a Windows event processing bug.
1201 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_state.c,
1202 src/freeglut_window.c: John Fay: Implement the modified logic of the
1203 direct/indirect rendering context.
1204 * src/freeglut_font.c, src/freeglut_font_data.c: John Fay: Implement the
1205 upper end of the bitmapped fonts (beyond ASCII code 127). The fonts
1206 are very close to the GLUT fonts.
1207 * src/freeglut_teapot.c, src/freeglut_teapot_data.h: John Fay: These
1208 files implement the teapot for WINCE.
1209 * src/freeglut_internal.h: John Fay: Remove some obsolete defined
1211 * freeglut.dsp, freeglut_static.dsp: John Fay: Add
1212 "freeglut_glutfont_definitions.c" to the build and tell it to look in
1213 the "include" directory for the <GL/freeglut.h> file.
1215 2004-03-28 Steve Baker <steve@sjbaker.org>
1217 * progs/demos/shapes/shapes.c: Removed unnecessary initialisation.
1218 * progs/demos/shapes/shapes.c: Added a cullface test.
1222 * freeglut_evc4.vcp, src/freeglut_gx.cpp, src/freeglut_init.c,
1223 src/freeglut_main.c: removed .cpp file (using LoadLibrary() instead)
1224 removed modified gx.h file cleaned up all // and tabs
1228 * src/freeglut_main.c: Prevent exceeding array bounds in X11 key-repeat
1233 * freeglut_evc4.vcp, src/freeglut_ext.c, src/freeglut_gx.cpp,
1234 src/freeglut_init.c, src/freeglut_main.c, src/freeglut_misc.c,
1235 src/freeglut_state.c, src/freeglut_window.c: replaced all tabs with 4
1236 spaces replaced all // with /* */ block fixed freeglut_gx.cpp file
1237 with #if TARGET_HOST_WINCE
1241 * src/freeglut_init.c, src/freeglut_main.c, src/freeglut_state.c:
1242 Whitespace conversion - tabs to 4 spaces
1243 * src/freeglut_window.c: Revert X11 fgCloseWindow to 1.38 pre-offscreen
1248 * freeglut_evc4.vcp, src/freeglut_gx.cpp, src/freeglut_main.c: fixed
1249 mouse position and keyboard mapping. added c-wrapper cpp file for
1251 * freeglut_evc4.vcp, freeglut_evc4.vcw, include/GL/freeglut_std.h,
1252 src/freeglut_cursor.c, src/freeglut_display.c, src/freeglut_ext.c,
1253 src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1254 src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_misc.c,
1255 src/freeglut_state.c, src/freeglut_window.c: added support for
1256 WindowsCE (building on top of klimt)
1260 * src/freeglut_main.c: Repeat-key handling for Win32 Utilise both
1261 FreeGLUT state and per-window filtering modes
1265 * ChangeLog: Forgot to update the ChangeLog for the benefit of those who
1266 do not have CVS or Web access.
1267 * configure.in, include/GL/freeglut_ext.h, src/freeglut_internal.h,
1268 src/freeglut_window.c: Completed removal of all support for the
1269 offscreen rendering.
1271 If you wish to do offscreen supportin a portable manner, you will no
1272 longer be able to do so with current versions of freeglut.
1273 * progs/demos/Makefile.am: Removed Makefile support for the offscreen
1275 * progs/demos/One/one.c, progs/demos/offscreen: Removed offscreen demo
1280 * src/Makefile.am: Provide local include path to automake for
1285 * src/freeglut_window.c: Code formatting tweak
1286 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1287 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c:
1288 Resolution of X11 key-repeat handling
1290 glutSetKeyRepeat is global to all FreeGLUT windows in the application
1291 glutIgnoreKeyRepeat is a per-window over-ride
1293 To avoid nasty global X11 state interaction, or GLUT-style event queue
1294 filtering - the approach in FreeGLUT is to use the current key state
1295 XQueryKeymap to detect and ignore KeyRelease/KeyPress pairs that are
1299 http://pyopengl.sourceforge.net/documentation/manual/glutSetKeyRepeat.3GLUT.xml
1300 http://pyopengl.sourceforge.net/documentation/manual/glutIgnoreKeyRepeat.3GLUT.xml
1301 * src/freeglut_callbacks.c, src/freeglut_cursor.c, src/freeglut_ext.c,
1302 src/freeglut_font.c, src/freeglut_font_data.c,
1303 src/freeglut_gamemode.c, src/freeglut_geometry.c,
1304 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
1305 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
1306 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
1307 Stripped out tabs and end-of-line whitespace Differences are in
1312 * src/freeglut_window.c: Resolve [ 853044 ] FreeGLUT menus on Win32 in
1313 task bar and ALT-TAB list CreateWindowEx(WS_EX_TOOLWINDOW,...)
1314 extended style suppresses the popup menu window from the taskbar or
1319 * src/freeglut_init.c: ignoreKeyRepeat mode in FreeGLUT is TRUE by
1320 default For compatibility with GLUT, the mode should be FALSE by
1321 default This issues was probably undetected until now because
1322 ignoreKeyRepeat didn't yet work.
1323 * src/freeglut_main.c: Resolved bug #869765 glutIgnoreKeyRepeat() Fix
1324 (Win32) glutIgnoreKeyRepeat now behaves correctly on Win32
1325 * src/freeglut_internal.h: C++ style comment converted to C style
1327 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
1328 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
1329 src/freeglut_font_data.c, src/freeglut_gamemode.c,
1330 src/freeglut_geometry.c, src/freeglut_init.c, src/freeglut_joystick.c,
1331 src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_misc.c,
1332 src/freeglut_overlay.c, src/freeglut_state.c,
1333 src/freeglut_structure.c, src/freeglut_teapot.c,
1334 src/freeglut_videoresize.c, src/freeglut_window.c: Include freeglut
1335 header via <GL/freeglut.h> rather than "../include/GL/freeglut.h" This
1336 allows some additional flexibility with file layout. It should be the
1337 responsibility of the build environment, rather than at source level.
1338 This change tested on MSVC 6, cygwin and mingw32 gcc and Linux gcc.
1342 * src/freeglut_joystick.c: According to John F. Fay: The variable
1343 "num_axes" should be "joy->num_axes".
1347 * src/freeglut_gamemode.c: Removed nonstandard #warning constructs.
1348 Converted to XXX comments. (These are warnings about gamemode features
1349 not working the same on some systems as on others. The semantics of
1350 gamemode are dubious, since it was never formally documented, and has
1351 for a long time worked in different ways on different systems, so it
1352 is arguable that there is nothing really wrong with systems that don't
1353 support resolution-changes.)
1354 * src/freeglut_callbacks.c: Fixed the bug where glutDisplayFunc() was
1355 effectively invoking glutPostRedsiplay(). This is wrong on the face of
1356 it, and may be at root for some of the annoying "timing" issues we've
1357 had with redisplay events being called inappopriately.
1361 * progs/demos/offscreen/Makefile.am: I had rubbed the
1362 offscreen/Makefile.am off from the shapes demo. I forgot to remove a
1363 couple of references to the shapes.c and shapes.dsp (.dsw?) files.
1364 * configure.in, include/GL/freeglut_ext.h, progs/demos/Makefile.am,
1365 progs/demos/offscreen, progs/demos/offscreen/Makefile.am,
1366 progs/demos/offscreen/offscreen.c: Added "offscreen" demo, a very
1367 simple program that produces an onscreen window and, upon command,
1368 renders a similar offscreen display and writes the result to disk.
1370 Also, modified the build structure for UNIX_X11 to autobuild the demo.
1371 (Not done for WIN32 at this time.)
1373 Also, forgot to previously commit the updated freeglut_ext.h include.
1378 * src/freeglut_window.c: Minor comment adjustments.
1382 * src/freeglut_geometry.c: Refinements to comments
1386 * src/freeglut_joystick.c: Normalized the style of the new joystick a
1388 * src/freeglut_main.c: For some reason, the X "expose" event handler was
1389 *directly* calling the display handler in the client. (Okay, it was
1390 calling a function that operates on the window handle.)
1392 If you have any complexity to the display code, this can be painful to
1393 watch. I can't think of a good reason to do the display immediately,
1394 so I fixed the code to do a glutPostRedisplay().
1395 * src/freeglut_joystick.c: A commit on behalf of John (in turn, and in
1396 part, also on behalf of Thierry).
1398 * Renamed some of the old PLIB functions to have glut* prefixes. (I
1399 guess that there is some thought about exporting them to the API.)
1401 * Changes from Thierry for FreeBSD support, and/or results of testing?
1403 * I re-merged an XXX comment re. NetBSD/amd64 and propogated a comment
1404 on a duplicated #define for FreeBSD. We need the GNU autoconfig stuff
1405 to be updated by someone who groks it, now.
1409 * src/freeglut_init.c: Commit of John's tidying-up of a comment, closing
1410 out an XXX comment that I wrote. Thanks, John.
1414 * src/freeglut_window.c: ...AND a tab snuck into my changes for
1415 GLUT_OFFSCREEN support. Mea culpa.
1416 * src/freeglut_joystick.c: Removed a ^M that snuck into the #pragma for
1417 the new joystick code.
1418 * src/freeglut_window.c: Ooops. We don't want people to be able to
1419 create a subwindow of an offscreen window. (^& This is no longer
1422 (Actually, it would be nice if it would work, but I don't think that
1423 you can subwindow a pixmap in UNIX_X11, and assume that subwindowing
1424 offscreen doesn't work on WIN32, either.)
1425 * ChangeLog: Added entries for the joystick updates and the offscreen
1426 experimental support.
1427 * src/freeglut_joystick.c: Changed a couple of XXX comments. Added a new
1428 one. These all the nest of #ifs in the BSD section of the new joystick
1430 * progs/demos/CallbackMaker/CallbackMaker.c: "Heavy editing" by John to
1431 his CallbackMaker demo.
1432 * src/freeglut_joystick.c: John added a #pragma to the joystick code for
1434 * src/freeglut_internal.h, src/freeglut_window.c: Adds GLUT_OFFSCREEN as
1435 a display mode option. This includes:
1437 * Recognizing the mode when you call glutCreateWindow(). (Offscreen
1438 looks and acts like a top-level window in many ways.)
1440 * During the life of the offscreen "window", various window-management
1441 functions are modified to respect offscreen status.
1443 (Excepting reshaping windows, there is not much useful interpretation
1444 for managment of offscreen areas. Reshaping is possibly more work than
1445 it's worth to support, and GLUT specs allow us to ignore the request.)
1447 * Cleanup for "offscreen" windows is a little different than for
1450 Windows still don't start up quite ideally. Offscreen windows should
1451 probably get a reshape event, but not a display.
1455 * src/freeglut_init.c, src/freeglut_joystick.c: Big import of updated
1456 joystick code from PLIB, with permission from Steve Baker. Most of the
1457 adaptation done by John, with a little bit of testing and changes by
1458 Thierry Thomas and myself. Seems to compile on:
1460 WIN32 Red Hat LINUX FreeBSD NetBSD/amd64
1464 * src/freeglut_main.c: Close a bug whereby events can be delayed
1465 arbitrarily long if they get caught between the socket and the
1466 client-side queue on X, sometime after glutMainLoopEvent()'s loop
1467 quits and before the sleep code is invoked.
1471 * src/freeglut_main.c: Ammended a comment on fgCheckJoystickCallback().
1472 * src/freeglut_main.c: Minor style normalizations to minimize the diffs
1473 between *now* and from before John's changes. No functional changes:
1475 * Removed some hard TABs introduced. * Removed some
1476 spaces-at-end-of-line introduced. * A couple of function calls were
1479 I did this separately only because I don't like messing with other
1480 people's commits. (I don't like feeling like the style police, either,
1481 but when I mess with the commit, there's no room for reverting my
1482 interference if it is deemed undesirable...)
1483 * src/freeglut_main.c: Some changes from John.
1485 The main attraction seems to be correcting a bug with the action-on-
1490 * src/freeglut_main.c, src/freeglut_window.c: Win32 glutIconifyWindow()
1491 patch contributed by John F. Fay Restrict resize callbacks to visible
1492 windows When iconified via glutIconifyWindow(), don't pass (0,0) to
1493 resize callback Note that minimising the window via the menu or
1494 minimise button is not yet resolved.
1498 * src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_structure.c:
1499 Split a few overlong lines.
1501 Adjusted some spacing in a few spots to be more consistant with
1502 freeglut style. Including one unindented if() body.
1504 Eliminated a dead variable.
1505 * src/freeglut_joystick.c: Changed several #ifdef's to proper #if's.
1507 * src/freeglut_main.c: Hm... I thought that I committed this last night.
1510 This is Nigel's modified fgSleepForEvents(), essentially. Take 2.
1514 * include/GL/freeglut_std.h: Three supported win32 compilation
1515 environments: MSVC, Cygwin and MingW32 #pragma is specific to MS
1517 * src/freeglut_internal.h: Explicitly cast function pointer to (void *)
1518 in SET_WCB since all callbacks stored as void pointers suppress gcc
1519 -Wall -pendantic "noise"
1520 * src/freeglut_structure.c: Typesafe handling of temporary window
1521 destroy callback Move assignment out of while test, scope temporary
1522 inside loop Be explicit about assignment/comparison in if test for gcc
1523 peace of mind suppress gcc -Wall -pendantic "noise"
1524 * src/freeglut_internal.h: Three supported win32 compilation
1525 environments: MSVC, Cygwin and MingW32 The windows mmsystem header
1526 need only be included internally to freeglut strdup vs _strdup is
1527 specific to the MS compiler
1528 * src/freeglut_font.c: strlen expects (char *), rather than (unsigned
1529 char *) suppress gcc -Wall -pendantic "noise"
1530 * src/freeglut_cursor.c: Replace assignment of array to struct with
1531 field-by-field assignment suppress gcc -Wall -pendantic "noise"
1532 * src/freeglut_menu.c: glutBitmapString and glutBitmapLength expect
1533 (unsigned char *) rather than (char *) suppress gcc in -Wall
1535 * src/freeglut_joystick.c: Replace #ifdef WIN32 with #ifdef
1536 TARGET_HOST_WIN32, as per FreeGLUT convention
1537 * src/freeglut_init.c: fgState.FPSInterval is unsigned int (GLuint),
1538 environment variable GLUT_FPS can be negative
1539 * src/freeglut_window.c: OpenGL context is not made current on Win32
1540 until fgSetWindow is called. This resolves severe problems observed in
1542 * src/freeglut_window.c: #pragma message is only understood my MS
1543 compiler #if defined(_MSC_VER) .. #endif
1544 * src/freeglut_state.c: Resolve bug 864978 - GLUT_OWNS_JOYSTICK
1546 * src/freeglut_main.c: Tidy nested if/else to suppress gcc -Wall
1547 -pedantic noise gcc suggests explicit braces to avoid ambiguous `else'
1551 * progs/demos/CallbackMaker/CallbackMaker.c,
1552 progs/demos/Fractals/fractals.c,
1553 progs/demos/Fractals_random/fractals_random.c: Configuring with
1554 "--enable-warnings" broke three demos: * CallbackMaker defined, but
1555 did not use, the Joystick() function (a callback for the freeglut
1556 joystick interface). I uncommented the callback-registration. I assume
1557 that it was commented out because it was spammy. (freeglut does
1558 joysticks by polling with a timer.) Perhaps a longer interval than
1559 10ms would be advisable?
1561 * fractals.c used strcpy() without getting the prototype. Added
1562 #include <string.h> at the top.
1564 * fractals_random.c had the same problem as fractals.c.
1568 * src/freeglut_main.c: Moved the window-resize code so that it happens
1569 whenever there is a pending resize for the window, whether or not the
1570 window is visible or in need of a redisplay. The resize is now done
1571 before the visibility and need-to-redisplay checks.
1575 * src/freeglut_structure.c: Got rid of those int/ptr warnings on AMD64.
1576 (The code was casting an {int} to a pointer, and later retrieving the
1577 int by another cast. It should be safe provided that pointers are at
1578 least as big as {int}, but GCC was giving warnings on my system,
1580 * src/freeglut_main.c, src/freeglut_structure.c: Several
1581 test-on-assignment cases have been converted to stop GCC from
1582 complaining about if( a = get_a_value_for_a( ) ) type code.
1586 * src/freeglut_internal.h: Ooops, left some cruft in a comment in the
1587 header when committing the last patch. Cleaned up.
1588 * src/freeglut_callbacks.c, src/freeglut_internal.h,
1589 src/freeglut_structure.c: Wrote SET_WCB() to set a window callback.
1590 This lets us out of using the FETCH_WCB() as an lvalue (which it
1591 shouldn't, since the value of the FETCH is cast to the correct
1592 function-pointer type).
1594 2003-12-15 James Jones <puggles@users.sourceforge.net>
1596 * progs/demos/Fractals/Fractals.dsp: Change the destination directory of
1597 the debug version to "Debug" (John Fay)
1599 2003-12-13 James Jones <puggles@users.sourceforge.net>
1601 * ChangeLog: Release 2.2.0
1605 * src/freeglut_main.c, src/freeglut_window.c: Stripped out TABs that got
1608 There were no changes other than replacing about 10 to 12 TABs with a
1609 visually-suitable number of spaces, so this can probably be blindly
1610 treated as equivalent to the previous versions of the two affected
1613 2003-12-11 Christopher John Purnell
1615 * src/freeglut_internal.h, src/freeglut_structure.c: The deferred window
1616 destruction code was destroying the windows in reverse order. This
1617 cased a crash when the call to glutDestroyWindow() for a sub windows
1618 was immediately followed by a call to glutDestroyWindow() for it's
1619 parent. fgCloseWindows() would call fgDestroyWindow() for the parent
1620 first fgDestroyWindws() would recurse over the children and then
1621 fgCloseWindows() would call fgDestroyWindow() again for the child.
1623 I've replaced the single linked list with one of our two way link list
1624 structures. I've also moved it into fgStructure because that seemed
1625 the consistent thing to do.
1627 I said the the deferred windows destruction causes more problems then
1630 2003-12-11 James Jones <puggles@users.sourceforge.net>
1632 * progs/demos/CallbackMaker/Makefile.am: Include project file in the
1634 * ChangeLog: Updates for 2.2.0 RC2
1635 * progs/demos/demos.dsw: Add shapes to the Visual C workspace.
1636 * progs/demos/shapes/Makefile.am: Package the visual C project file with
1638 * configure.in: Set the version to 2.2.0
1639 * src/freeglut_gamemode.c, src/freeglut_main.c, src/freeglut_window.c:
1640 Nigel Stewart's Win32 window-sizing fix for game mode
1641 * progs/demos/One/one.c: Disable/enable lighting in the "one.c" demo
1643 * progs/demos/CallbackMaker/CallbackMaker.dsp: Add some essentials to
1644 get this program to compile (Nigel)
1645 * src/freeglut_internal.h: Update to reflect 2.2.0 release
1646 * ChangeLog: Note the release of 2.2.0 RC1
1650 * src/freeglut_structure.c, src/freeglut_window.c: John correctly
1651 observed that the initialization {OldHeight} and {OldWidth} in the
1652 window structure should be done for both windows and sub-windows, and
1653 the easiest way to do this is in the
1654 freeglut_structure.c:fgCreateWindow() code. So, transplant one line.
1658 * src/freeglut_main.c: Commit of John's change to stop an infinite-loop
1659 condition when the only windows left are freeglut menu windows, and
1660 correctly calls exit() if we drop out of the main loop without having
1661 requested any freeglut extensions to glutMainLoop() handling.
1665 * progs/demos/shapes/shapes.c, progs/demos/shapes/shapes.dsp: Two from
1668 * Updated shapes.c. I think that it's just reformatting and the
1669 addition of some comments.
1671 * Added shapes.dsp, a Microsoft Visual C++ Developer Studio Project
1672 file for building shapes on WIN32 with MSVC++.
1674 2003-12-03 Christopher John Purnell
1676 * configure.in: Added an option to enable gcc compiler warnings. I've
1677 explicitly excluded the one about adding parentheses.
1681 * src/freeglut_main.c: Touched up several comments, pointing up things
1682 that may be worth reflect- ing upon in the future.
1683 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_window.c:
1684 Hrm. I misunderstood the purpose of {window->State.Width} and
1685 {...Height}. Those are *not* records of the old values, but rather of
1686 the *desired* *new* values, hence it was inappropriate to use them in
1687 ConfigureNotify X11 event handling. Doing so introduced some new
1690 So, I created OldHeight and OldWidth in the window State structure,
1691 and *those* do what I require.
1693 I also stripped out the obsolete comment about getting extra/bogus
1694 reshape events. (Though I maintain that an application should be
1695 robust against them, freeglut should no longer generate them if the
1696 window has not changed size since last reported.)
1700 * src/freeglut_main.c: Changed Create/ConfigureNotify handling in
1703 * Just need to call GETWINDOW() once. Ooops. Heh. * Update
1704 {window->State} with the new size of the window. * If the window-size
1705 has NOT changed, then do NOT call the Reshape event.
1706 * src/freeglut_main.c: Added an "XXX" earmark for post-release
1707 contemplation. (The point is definitely in need of consideration, I
1708 believe, but is not immediately a major bug, so I'd rather not mess
1709 with it at the risk of postponing a release "soon".)
1710 * src/freeglut_main.c: Ensure that the time-out for sleeping is never
1712 * src/freeglut_main.c: Fixed a bug for UNIX_X11 where window reshape
1713 events were causing freeglut to mark the window as *needing* a reshape
1714 (which during general display callback handling would result in
1715 effectively a glutReshapeWindow()).
1717 The code is now system-dependant. It should be abstracted to a
1718 function, but is presently copied in two places. Sorry.
1720 Also, inverted the order of the associated if()/else check (in both
1721 WIN32 and UNIX_X11 branches) since the former "else" part was a
1722 one-line callback invocation.
1724 This fixes two seemingly unrelated bugs that I was seeing in UNIX_X11.
1726 2003-12-01 Christopher John Purnell
1728 * src/freeglut_internal.h: Added missing prototype for new list
1731 2003-11-28 Christopher John Purnell
1733 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1734 src/freeglut_structure.c: Timer optimizations. Made the list of
1735 pendinig timers ordered. Added a free list of used timer structures.
1736 * src/freeglut_callbacks.c: Timer optimizations.
1737 * src/freeglut_window.c: Fixed windows compilation problem with last
1740 2003-11-27 Christopher John Purnell
1742 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c,
1743 src/freeglut_structure.c, src/freeglut_window.c: Window close fix. The
1744 default behaiour should now be the same as with glut.
1748 * src/freeglut_init.c: Added change from Nigel to have resize events
1749 cause redraw events in WIN32. Also slightly reshuffled comments to
1750 deal with line-wrap issues.
1754 * src/freeglut_main.c: John reported, and fixed, a problem that recent
1755 changes caused for the Lorenz demo (seems to be WIN32 specific).
1756 * src/freeglut_structure.c: Update from John: Removed the freeglut hack
1757 of decrementing the highst-window-ID marker when the highest window is
1758 deleted. (This was a half-way measure for an idea that was decided to
1759 be dubious in the first place.)
1760 * configure.in, progs/demos/Makefile.am, progs/demos/shapes,
1761 progs/demos/shapes/Makefile.am, progs/demos/shapes/shapes.c: Added a
1762 new demo (from Nigel) showing some of the basic GLUT geometry shapes.
1763 "shapes" is the name of the demo.
1764 * include/GL/freeglut_ext.h, src/freeglut_geometry.c: Commit of work
1767 Massive rework of the geometric primitive code. Includes a new
1768 primitive (cylinder; solid and wireframe) and corresponding update to
1769 freeglut_ext.h for the prototype.
1770 * src/freeglut_internal.h, src/freeglut_main.c,
1771 src/freeglut_structure.c: More work from John (sorry for
1774 * We forgot to bump our version number in freeglut_internal.h It is
1775 now at 2.0.2 (actually, I think that 2.1.0 might be a better choice),
1776 which is presumably going to be our next formal release. 2.0.1 is
1777 incorrectly identified as 2.0.0 in the header.
1779 * A typo in a comment has been corrected ("than"/"that").
1781 * Numerous "manual" checks for callbacks are omitted now, since
1782 INVOKE_WCB() does this for us. These were holdovers from the
1783 pre-INVOKE_WCB() days. There may be some very subtle changes in
1784 freeglut behavior, since freeglut used to test the callbacks a little
1785 earlier in some cases and may have skipped some minor things (like
1786 changes to the current window) in some special cases, otherwise. It is
1787 not believed that any documented behavior is broken, and it is
1788 unlikely---not to say impossible---that any extant applications will
1789 detect the change. It is even possible that there is no external
1790 behavioral change in freeglut.
1792 This also significantly simplifies some sections of code that used to
1793 have conditional execution. "Unconditional code is simpler code" as
1794 one of the comments used to say.
1796 * Lots of XXX commentary is now removed. Some of it was obsoleted by
1797 other changes, some by changes from John.
1798 * src/freeglut_internal.h, src/freeglut_main.c,
1799 src/freeglut_structure.c: Change from John (I removed a couple of
1800 spaces from a couple of lines in his freeglut_internal.h file where
1801 they were wrapping in EMACS; otherwise, the files are exactly as he
1804 The change unifies the WIN32 and UNIX_X11 code by defining our own
1805 window-handle-type in freeglut_internal.h. This let John rip out some
1806 #if garbage in several places. The result is clearer code.
1812 * src/freeglut_font.c, src/freeglut_geometry.c,
1813 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
1814 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
1815 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c,
1816 src/freeglut_window.c: Numerous style normalizations from John:
1818 * Convert "return( value );" to "return value;" * Normalize spacing
1819 around semicolons. * Remove extraneous parens. * Split multi-statement
1820 lines into multiple lines. (Mostly things of the form: "if( condition
1822 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_window.c:
1823 All changes are from John, except for: (a) I re-inserted the meat of a
1824 comment that I still feel is relavent. (b) I fixed a compile-time
1825 error in the UNIX_X11 code where a variable is declared after
1826 executable code in a block without creating a new sub-block for the
1829 Changes from John include: (a) Style revision. (b) Changes to postpone
1830 the handling of window resizes.
1832 Lots of lines were changed, but I think that thos two cover the ground
1833 that he hit. See the diffs for details.
1835 2003-11-18 Christopher John Purnell
1837 * src/freeglut_cursor.c, src/freeglut_ext.c, src/freeglut_geometry.c,
1838 src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1839 src/freeglut_menu.c, src/freeglut_state.c, src/freeglut_structure.c:
1840 Lots of stuff that John F. Fay pointed out. Plus some changes to
1841 remove gcc warnings.
1843 2003-11-17 Christopher John Purnell
1845 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1846 src/freeglut_state.c, src/freeglut_structure.c: Fix spelling mistake
1847 in a variable name. Added a comment for John Fay. Added the copyright
1848 notice for XParseGeometry source.
1850 2003-11-16 Christopher John Purnell
1852 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1853 src/freeglut_state.c, src/freeglut_structure.c: Made Modifers variable
1854 global as per glut classic.
1855 * src/freeglut_init.c: Removed old unused glutInitDisplayString code.
1856 Reformated new glutInitDisplayString and XParseGeometry code.
1857 * src/freeglut_init.c: Use XParseGeometry for better geometry parsing.
1858 Moved geometry parsing to after fgInitialize() so we can use the
1859 screen size to correctly calculate negative positions in the geometry
1860 string. Copied the code for XParseGeometry from the X11 sources for
1861 use in the Win32 version. freeglut now passes test1 of the glut test
1864 2003-11-15 Christopher John Purnell
1866 * src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1867 src/freeglut_main.c, src/freeglut_structure.c, src/freeglut_window.c:
1868 Removed the state variable BuildingAMenu. Instead pass a new parameter
1869 isMenu to fgCreateWindow(). Elsewhere use window->IsMenu.
1870 * src/freeglut_init.c: freeglut_assert_ready is going to have to go at
1871 some point. But for now I've moved setting fgState.Initalized to
1873 * src/freeglut_callbacks.c, src/freeglut_display.c,
1874 src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1875 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
1876 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c,
1877 src/freeglut_window.c: Replace TRUE with GL_TRUE and FALSE with
1878 GL_FALSE where the type is GLboolean.
1882 * src/freeglut_main.c, src/freeglut_menu.c: Normalized the spacing
1883 around symbols, for the most part. Ho-hum.
1885 2003-11-15 Christopher John Purnell
1887 * src/freeglut_main.c: Added a call to fgDeinitialize() before the call
1888 to exit() in fgError().
1892 * src/freeglut_joystick.c: Style normalizations to the joystick code.
1894 2003-11-15 Christopher John Purnell
1896 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1897 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
1898 Added a new state variable "Initalized". Replaced referenced to
1899 Time.Set with this new variable where appropriate. fgElapsedTime() now
1900 set the start time if Time.Set is false. Moved
1901 glutGet(GLUT_ELAPSED_TIME) handling to before the assert.
1905 * src/freeglut_internal.h: Normalized the internal header's style a bit.
1906 * src/freeglut_init.c: Plowed one more file this morning. Still just
1907 trivial formatting issues.
1909 And I left alone the "INIT DISPLAY STRING PARSING" section, since it
1910 still appears to be in flux.
1911 * src/freeglut_font.c, src/freeglut_gamemode.c: Yet more trivial style
1914 Sorry, but that's all that I'm up to at the moment. On the plus,
1915 excepting the font_data file (which I've been skipping), up through
1916 this file, I think that the code style is pretty close to uniform.
1917 * src/freeglut_font.c: Minor style corrections.
1918 * src/freeglut_display.c: Minor spacing quibble.
1919 * src/freeglut_cursor.c: Added a brief explanatory note to the X code
1920 for GLUT_CURSOR_NONE.
1922 Corrected the indentation of a block of code.
1923 * src/freeglut_window.c: Noted one of a few cases where we do something
1924 immediately that could more efficiently be postponed, quite
1925 easily---and which GLUT promises *is* to be postponed. (It is unlikely
1926 that the difference will break any apps, but postponing should be
1929 No real change, just a comment in the code.
1933 * ChangeLog: Updated ChangeLog for the day.
1934 * include/GL/freeglut_std.h, progs/demos/One/one.c, src/freeglut_ext.c,
1935 src/freeglut_font.c: Removal of all remaining TABs in the freeglut
1936 *.[ch] files. (I missed a few in the "one" demo, it seems, and some
1937 more crept back into freeglut_(ext|font).c, presumably due to my own
1938 edits when I forgot to use the "freeglut-c-mode" in EMACS.)
1939 * progs/demos/One/one.c: Moved glutInit*() functions ahead of
1940 glutInit(). (This is proper use of glutInit() in general, since it
1941 allows the user to override settings via {argc, argv} command-line
1943 * progs/demos/One/one.c: Style normalizations: Removed CRs and hard TABs
1945 * ChangeLog, src/freeglut_structure.c: Corrected the numbering of the
1946 ChangeLog (there were two (110)s).
1948 Added entries summarizing my commits since September or late August,
1949 for the benefit of those lacking both CVS and web access.
1950 * progs/demos/demos.dsw: Added CRs to the ends of all lines in MS
1951 developer studio demos.dsw file..
1955 * src/freeglut_main.c: John's fix for the minimize/close/maximize
1956 controls no longer working. WIN32 expected us to pass the message on
1957 up the chain (or do something else with it), rather than just throwing
1958 away the event, for a certain class of events. (See the diffs for more
1961 The code is also slightly reformatted from what was previously in the
1963 * freeglut.dsp, freeglut_static.dsp,
1964 progs/demos/CallbackMaker/CallbackMaker.dsp, progs/demos/demos.dsw: A
1965 *.dsp file for CallbackMaker in the demos.
1967 Plus updated *.dsp and *.dsw files to reflect the new freeglut header
1970 NOTE: The prior version of the *.dsw file does not in fact have CRs. I
1971 thought that it did. For consistancy, I am not putting them in in this
1972 version, either. (At least one person said that his MSVC++ system is
1973 happy with the current files. If there are problems, we can easily add
1974 the CRs, but that should be a separate commit...)
1975 * configure.in, progs/demos/CallbackMaker,
1976 progs/demos/CallbackMaker/CallbackMaker.c,
1977 progs/demos/CallbackMaker/Makefile.am,
1978 progs/demos/Fractals_random/fractals_random.c,
1979 progs/demos/Makefile.am: New demo from John: CallbackMaker.
1981 This demo shows the use of every callback that you can register with
1982 freeglut, and also generates event reports so that you can see what is
1983 happening to the program as it runs.
1985 Not much to look at, but both utilitarian and a practical example.
1987 Please double-check that I updated everything that needs to be
1988 updated. I reran autogen.sh and ./configure, and it built okay for me.
1990 * src/freeglut_structure.c: Hm. I thought that I already hit this file
1991 for style normalization. Oh well... Should be no functional changes.
1992 Should be pretty close to in-line with the style of changes that I've
1993 been making else- where.
1994 * src/freeglut_structure.c: Ooops. Forgot that we already had a call to
1995 fgClearCallBacks() in the code and added a second one. I just deleted
1997 * src/freeglut_structure.c: Added Nigel's suggested code to clear all
1998 but the destroy callback early on, leaving Destroy to be cleared later
1999 after the last possible point where it should be invoked.
2000 * src/freeglut_menu.c: Modified the menus to refer to {border} rather
2001 than {FREEGLUT_MENU_BORDER}, in fghDisplayMenuBox(). The local
2002 variable was already defined and used for some purposes, so we might
2003 as well use it throughout. It does serve to shorten and clarify the
2004 code a bit---though I have mixed feelings about creating aliases that
2007 Still, the variable already existed and was already used in places.
2008 (We could even move it into the freeglut state, or make it a {const
2011 Oh well. Stuff to ponder.
2012 * src/freeglut_cursor.c: Well, a couple of days have gone by, so I
2013 assume that items (a) and (b) in the freeglut_cursor.c file's "Open
2014 issues" comment are now satisfactor- ily closed.
2016 I also partially implemented some error-checking, using my limited
2017 understanding of how Xlib users are supposed to do this. (No one
2018 commented about the lack of error-checking, pro or con. Perhaps
2019 someone will care to comment now?)
2021 At present, it just will print out a warning, via fgWarning(). In part
2022 because I'm not sure what is best to do, and in part because failure
2023 to set the cursor type is probably not a fatal problem.
2025 2003-11-08 Christopher John Purnell
2027 * progs/demos/Fractals/Makefile.am,
2028 progs/demos/Fractals_random/Makefile.am,
2029 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Applied
2030 Braden McDaniel's non-srcdir build patch.
2034 * src/freeglut_menu.c: A first pass over freeglut_menu.c to bring it in
2035 line with the rest of freeglut's style. Mostly re-indenting and
2036 splitting long lines. For those that may be concerned: No, I didn't do
2037 any more arrangments of the form (CONST == a) rather than (a ==
2039 * progs/demos/Fractals_random/fractals_random.c: Altered the way that
2040 the {random} value (from 0..3) is chosen.
2042 Previously, it picked out two adjacent bits in the result of rand().
2043 Unfortunately, these adjacent bits (at least on NetBSD) have a certain
2044 amount of dependance. After a period (perhaps a thousand or so?), it
2045 starts to repeat the pattern of those two bits. (I think; I haven't
2046 actually tested that directly.) This presumably is locking it into a
2047 an an N-way attractor on the "snowflake", such that if you zoom in a
2048 ways, you will start to see some spots *quickly* are colored, and
2049 others are *never* colored.
2051 What I've done now is to pick up two widely-spaced bits in a single
2052 rand() call. (Perhaps we would do as well to pick up something like
2053 bit #16 from two consecutive rand() calls?) These widely-spaced bits
2054 have a lower statistical dependance on one another (if I can get away
2055 with using that term for an arithmetic operation; though since stats
2056 has more to do with sampling and less to do with true randomness, I
2059 The net effect, at leats on NetBSD, is far better snowflake if you
2064 * src/freeglut_main.c: From John:
2066 [This] implements the visible/invisible for Windows. It does NOT call
2067 the visibility callback, though.
2068 * src/freeglut_main.c: Stripped out the now truly extraneous {braces} in
2071 if( ... ) { INVOKE_WCB( ... ); }
2073 Check for compiling on WIN32.
2074 * src/freeglut_internal.h: Adopted Eero Pajarre's suggestion of using a
2075 do { ... } while rather than { ... } for the INVOKE_WCB() macro. This
2076 lets it be used "more like a function", in that:
2078 if( ... ) INVOKE_WCB( ... ); else ...
2081 * src/freeglut_main.c: Pure code janitoring: Shuffled the order of some
2082 of the case statements in the UNIX_X11 X event processing loop. (In
2083 general, it's nice to have case statements sorted, especially when you
2084 have a *huge* switch statement like this. That makes it easier to find
2085 the one that you're looking for, and to see if a certain case is
2087 * src/freeglut_main.c: Combined EnterNotify and LeaveNotify event
2088 processing in the UNIX_X11 event loop.
2089 * src/freeglut_main.c: Added ReparentNotify case to UNIX_X11 event loop,
2090 to catch the extraneous ReparentNotify event types (type 21).
2091 * src/freeglut_internal.h, src/freeglut_structure.c: Oh well, I might as
2092 well add the call to clear callbacks on window destruction. Also
2093 renamed the function to do this: fgClearCallBacks(). Ho-hum.
2094 * src/freeglut_internal.h, src/freeglut_structure.c: Added
2095 fgInitCallBacks() to freeglut_structure.c. (The function takes an
2096 {SFG_Window *}.) Added prototype to freeglut_internal.h. Added use of
2097 the function to the window initialization. (Don't count on calloc(),
2098 which sets all bits to 0.)
2099 * src/freeglut_gamemode.c: Style normalization; removal of
2100 say-nothing-useful comments.
2101 * src/freeglut_font.c: Normalized the style of freeglut_font.c No
2102 substantial alterations.
2103 * src/freeglut_ext.c: Somewhat normalized the style of this file.
2105 Also moved the "glutMouseWheelFunc" extension down into the
2106 "extensions" part of the table. (Purely internal organization. It will
2108 * src/freeglut_display.c: Further normalization of the code's style. No
2109 substantial changes.
2110 * src/freeglut_cursor.c: Split one last overlong line in
2112 * src/freeglut_cursor.c: Added GLUT_CURSOR_NONE support in UNIX_X11
2113 (well, NetBSD; you lot need to try it on others; (^&).
2115 Deallocated some resources that we are creating. VERY slight memory
2116 leak, but plugged now.
2118 These two complete the first two "Open issues" ( (a) and (b) ). The
2119 first one also completes X support for glutSetCursor(). If others can
2120 verify, we can fully demote the outstanding bug over this to
2123 I'll delete the dead Open issues and re-letter the others if someone
2124 will cross-check me. Or if no one says anything in a day or two. (^&
2125 * src/freeglut_cursor.c: Further normalized the style of the cursor
2127 * src/freeglut_callbacks.c: Slight style improvements. Two rules of
2128 thumb that are almost always good to apply:
2130 * Don't write a == CONST. Instead, write CONST == a. Or, more
2131 generally (in C like languages): Avoid putting an lvalue on the
2132 left-hand side of an == comparison. (For consistancy, I try to avoid
2133 lvalues on the left- hand side of any comparison---but == is the most
2136 (An "lvalue" is a value that can safely go on the left side of an "="
2137 assignment, of course. (^&)
2139 * Do not write if( !condition ) return; other_thing; return;
2141 (See page 18 of K&P's _The Elements of Programming Style_.)
2143 Instead, it is better to just write:
2145 if( condition ) other_thing; return;
2147 There are times when sacrificing structured programming (e.g., via
2148 multiple return statements) is okay. But, here, there is no apparent
2149 gain---indeed, there seems only loss---in the non-structured code.
2150 * src/freeglut_main.c: Grr. Forgot to enable the "freeglut" C
2151 programming mode in EMACS, and had a few TABs in the last commit. This
2153 * src/freeglut_main.c: Minor corrections to the UNIX_X11 mouse-wheel
2154 support. In part this reflects that {button} is already shifted to the
2155 GLUT numbering, and hence should be counted as 3&4, 5&6, etc.
2157 The other change was simply to clarify the computation of {direction}.
2158 The original code did some clever arithmetic. The new code is more
2159 straightforward, even if it requires more lines to express.
2163 * src/freeglut_main.c: Ooops. I screwed up on part of John's fixes.
2166 I think that I have his fix properly committed now. Mea culpa.
2167 * src/freeglut_callbacks.c, src/freeglut_internal.h,
2168 src/freeglut_main.c, src/freeglut_structure.c: Cleanup pass after
2169 committing callback conversion (from structure to array-of-pointers).
2170 Mostly deleted commented-out struct-based code. Also added some XXX
2171 comments that I though should be pondered. (My own pair of eyes, and
2172 one brain cell, were not sufficient at this time to decide what to do
2173 for those ponderables. (^&)
2174 * src/freeglut_callbacks.c, src/freeglut_init.c,
2175 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
2176 src/freeglut_misc.c, src/freeglut_structure.c: Converted the
2177 "Callbacks" structure (with named members holding individual callback
2178 pointers) to a "CallBacks" array in fgState. (This is to allow us to
2179 write a loop to clear all callbacks from windows when the window is
2180 dead/dying. Using this, we can safely assign NULL to each in a loop.)
2182 Support includes two new macros, FETCH_WCB() and INVOKE_WCB(). See
2183 freeglut_internal.h for more details there.
2185 Some typedefs of function pointer types were altered to make them more
2186 uniform (necessary for the macros).
2188 All references to window-based callbacks in freeglut are updated to
2191 Old usages will cause compile-time errors.
2193 As a side bonus, the new invocation macro sets the current window and
2194 checks pointers so that these common steps can be uniformly done on
2195 every window-based callback. This makes it easier to do things right.
2196 At the same time, the array notation (and now required associated
2197 casts) make it harder to bypass the macros and abuse the function
2198 pointers, in general.
2200 After this commit, I will go through the code and clean up dangling
2201 issues about formatting. This commit is just a "it now works, let's
2202 checkpoint it" type of affair.
2203 * src/freeglut_main.c: From John, a couple of lines needed to be changed
2204 to fix the mouse wheel support on WIN32.
2205 * progs/demos/Fractals_random/fractals_random.c: Update from John:
2206 Includes mouse button, mouse motion, and mouse wheel support.
2210 * src/freeglut_menu.c: Multiple changes from John. Style issues, plus a
2211 bug-fix to check a pointer before deallocating some memory.
2213 He also removed one obsolete comment, and added some more comments.
2214 * src/freeglut_main.c: Some changes, mostly from John. Mostly style
2217 One bug fix from John: Execution state bug-fix in glutMainLoop(), per
2220 One fix from me: Changed "if( ButtonPress )" to "if( pressed )".
2221 {ButtonPress} is a constant.
2222 * progs/demos/Fractals_random/fractals_random.c: Per John's emailed
2223 desire to have all files obey UNIX EOL conventions, I have stripped
2224 out carriage returns from this file.
2226 This is the *only* change, but every line is touched. If you want to
2227 see the real differences between older and newer versions, you will
2228 have to get local copies of each and first match their EOL
2230 * progs/demos/Lorenz/lorenz.c: Update from John:
2232 I [John] added a feature to check for memory leaks under Windows.
2233 * progs/demos/Fractals_random/fractals_random.c: Update from John:
2235 I [John] converted everything to double precision to avoid compiler
2236 warnings. I also added a feature to check for memory leaks under
2237 Windows and removed a memory leak (surprise!).
2238 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
2239 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
2240 src/freeglut_gamemode.c, src/freeglut_geometry.c,
2241 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
2242 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
2243 src/freeglut_misc.c, src/freeglut_overlay.c, src/freeglut_state.c,
2244 src/freeglut_structure.c, src/freeglut_teapot.c,
2245 src/freeglut_videoresize.c, src/freeglut_window.c: Got rid of the
2246 G_LOG_DOMAIN junk, per discussion on the mailing list.
2247 * src/freeglut_callbacks.c: Minor formatting quibbles. (The brain isn't
2248 up to anything more serious at the moment.)
2249 * src/freeglut_main.c: Missed a block where one level was 2-space
2252 Nit-picked a few other lines for consistancy.
2256 * src/freeglut_init.c: Fixed a memory leak (thanks for the correction,
2259 Smoothed over some code style issues while I was here, but left the
2260 init-string parsing alone for now.
2261 * freeglut13.dsp, freeglutdll.dsp, freeglutstatic.dsw: Deleted 3 files
2262 (again?) from CVS, on John's request. Old/obsolete MSVC++ project
2263 files. (freeglut13.dsp, freeglutdll.dsp, freeglutstatic.dsw)
2264 * src/freeglut_main.c, src/freeglut_structure.c: * Indentation issues. *
2265 Pulled some common code into a nicely packaged function. * Found some
2267 * src/freeglut_main.c: Heh.
2269 Forgot to wrap the fgGetXModifiers() in a #if. Fixed.
2270 * src/freeglut_main.c: Extracted some common code to a subroutine, in
2271 glutMainLoopEvent(). (The common code was a snippet to compute X
2272 keyboard modifiers as a bit-mask of GLUT symbols.)
2273 * src/freeglut_main.c: Caught a few more little style issues.
2274 * src/freeglut_main.c: Added a "case" for an X event that we turn on but
2275 do not use. ({MapNotify}). We already caught {MappingNotify} and
2277 * src/freeglut_main.c: * Fixed a bug in the X11 handling of
2278 scrollwheel/mouse. The old code, I believe, checked if *either* a
2279 wheel or button callback was set, and then decided which to use---and
2280 unconditionally called it. I left the "either" check in, but added
2281 additional checks before actually doing the invocation. * Lots of
2282 reformatting. Massive. The usual suspects, though, and fairly trivial:
2283 Re-indenting to standard size, shuffling some spaces to match the
2284 freeglut "standard" of: if( ... ) ...and: func( ... )
2288 * src/freeglut_callbacks.c: Cleaned up one macro definition.
2290 Picked up an over-long line that I missed before.
2291 * src/freeglut_callbacks.c: Fit some long lines to 80 columns.
2292 * src/freeglut_cursor.c, src/freeglut_display.c,
2293 src/freeglut_gamemode.c, src/freeglut_geometry.c: Last of the hard
2294 TABs in the src/*.c files.
2295 * src/freeglut_init.c, src/freeglut_joystick.c, src/freeglut_main.c,
2296 src/freeglut_menu.c, src/freeglut_state.c: En masse removal of most (I
2297 think) of the remaining hard TABs in files. There are still a couple
2298 of files that need to be hit.
2299 * src/freeglut_window.c: Picked up some stray TABs scattered in this
2301 * src/freeglut_window.c: Noted by XXX comments that the XFlush() calls
2302 probably shouldn't be there. Flushing the X protocol stack every
2303 little bit both adds clutter to the code and may impede performance.
2305 It seems that we should be able to get rid of these, though allowing
2306 client code to directly call glutMainLoopEvent() does make it a little
2309 Something to ponder.
2310 * src/freeglut_window.c: Polished off the say-nothing-new comments and
2311 lines-over-80-columns in freeglut_window.c
2313 There should be no functional changes.
2314 * src/freeglut_window.c: Missed a few say-nothing-new comments in
2315 fgOpenWindow(). Eeep. Should be better now. (^&
2316 * src/freeglut_window.c: Cleansed fgCloseWindow(): * say-nothing-new
2317 comments axed. * de-TABbed. * Made the white-space to be consistant.
2318 * src/freeglut_window.c: Cleaned up fgOpenWindow(): * Removed TABs. *
2319 Made indentation consistant. * Deleted say-nothing-new comments. *
2320 Changed an *error*check* from an assert to an if(). (The error-check
2321 was on window creation; we don't want to lose that if the user
2322 compiles with asserts deactivated. Also, assert()s really tell us more
2323 about programming errors, rather than run-time errors, so it is a
2324 little misleading to use assert() for error-checks, even if you can
2325 depend upon assert()s never being compiled away to null statements.) *
2326 Added some XXX comments for things that bear some rumination.
2327 * src/freeglut_window.c: Cleanup to fgSetWindow(). The usual suspects: *
2328 Removed tabs. * Made indentation consistant. * Killed off
2329 say-nothing-new comments.
2330 * src/freeglut_window.c: Cleanup to fgSetupixelFormat(). Should be no
2333 Code facelift included:
2335 * Consistant indentation. * Removal of all TABs (there were a bunch).
2336 * Fit to 80 columns.
2337 * src/freeglut_window.c: There should be no changes to code
2338 functionality, though a fair bit of little changes to the code
2341 * Fit the comments at the start of the file to fit 80 columns. * Noted
2342 an unusual feature of the ATTRIB() macro. * Added ATTRIB_VAL() macro
2343 which is really just two ATTRIB()s. This lets us put things like
2344 {ATTRIB (GLX_RED_SIZE); ATTRIB (1);} on one statement: {ATTRIB_VAL
2345 (GLX_RED_SIZE, 1);}. I did this to preserve some of the layout of
2346 information while also avoiding the nasty semi-visible ";" in the
2347 middle of a line of code. And by putting the {braces} in the macro
2348 definition, I was able to visually clean code of the form: if
2349 (condition) { ATTRIB( X ); ATTRIB( 1 ); } ...rewriting as: if
2350 (condition) ATTRIB_VAL( X, 1 ); * Eliminated a bunch of
2351 say-nothing-new comments in fgChooseVisual(). * Combined some
2352 semi-useful comments into a block comment summarizing a loop.
2356 * src/freeglut_structure.c: Finished off most of the issues with
2357 freeglut_structure.c, from a stylistic point of view (at least,
2358 insofar as: The original file's code was INCON- SISTANT. I did not
2359 remove the "!= NULL" stuff, did not address the shortest-branch-first
2360 issue for if-else statements, and left some rather ugly "if (x) {...
2361 return y} /* else do this */ return NULL;" garbage. This should, I
2362 think, be re-written as "if (x) return y; else return NULL;" or even
2363 better, "ret = NULL; if (x) ret = y; return ret;"
2365 In short, the code still has some issues, but I think that it's a bit
2368 (Oh, I also got rid of oustanding TABs.)
2369 * src/freeglut_structure.c: Eliminated most of the say-nothing-new
2372 Fit most of the code to no more than 80 columns.
2374 Raised some issues about completeness/correctness of trying to
2375 decrement the max-window-ID (apparently in order to partially recycle
2376 some window IDs to slightly slow the rate of growth of window IDs). (I
2377 didn't change what the code does, though.)
2379 The functionality of the code should be unchanged.
2380 * src/freeglut_main.c: Forgot to set {direction} explicitly to +/- 1 for
2381 freeglut mouse-wheel API on MS-WINDOWS. Oops.
2383 Now it should always report +/- 1 on MS-WINDOWS, per the spec.
2384 * src/freeglut_main.c: Minor fix to allow for multiple ticks to be
2385 received at one time by the WIN32 code. Take abs(direction) as the
2386 number of ticks, and count it down.
2388 <stdlib.h> *should* be included by freeglut_internal.h, I think, so it
2389 should be okay; otherwise add a suitable #include.
2390 * src/freeglut_main.c: Grrr. My attempt to commit got aborted, and the
2391 commit message was lost. Now I've lost track of what I said I'd done.
2394 * Fixed some issues with multiple wheels. * Noted in comments some
2395 issues about other-than-3-real-buttons. * Fixed formatting to fit 80
2396 columns. * Removed some BCPL/C++ style comments (//) that are not
2397 legal, and which, if memory servers, are not even strictly legal when
2398 disabled by preprocessor directives. E.g.,
2400 #if 0 not-syntactically-valid-C #endif
2402 ...is not legal. Though most cpp's will discard the bracketed material
2403 completely before the main C compiler pass has a chance to analyze the
2404 syntax. (MSVC++ and GCC both don't seem to mind the BCPL style
2405 comments in plain C, but let's keep the sources clean, eh?) * Fixed a
2406 problem that would have caused freeglut to report doubled wheel events
2409 Not tested other than compiling. Personally, I think that the
2410 interface is inherently broken at this point unless you are willing to
2411 get user- configuration. (Which would then solve the complaint that
2412 Steve had about computing the tick-size on behalf of applications.)
2413 I.e., there is NO WAY to know if we have the right buttons to start
2414 wheels at, or if there are any buttons after the first wheel(s), etc.
2415 We just have to guess---and if we are wrong, we can get varying
2416 degrees of brokeness.
2418 2003-10-29 Christopher John Purnell
2420 * src/freeglut_window.c: There is a problem with the way I did
2421 glutFullscreen() in my last commit. So I've copied the way the game
2422 mode does it. It's not ideal but it works. The glutGet() for the
2423 window border sizes will also have to be fixed at some point.
2424 * src/freeglut_window.c: Rewrote glutFullscreen(). It now correctly
2425 places the window in X11. It now uses system dependant code for more
2426 efficient use of windowing system calls.
2430 * src/freeglut_joystick.c: Should be no real changes to the code
2433 I missed a few lines that went past 80 columns. (^&
2435 Also made formatting more consistant.
2437 Added a couple of XXX comments re. FreeBSD vs. general BSD #ifdef's.
2438 * src/freeglut_joystick.c: Should be entirely superficial changes to
2441 * Fit lines to 80 columns. (It does get tiresome seeing long lines
2442 forced to break by the right-hand border of windows...(^&) *
2443 Eliminated say-nothing-new comments. * Made formatting more consistant
2444 in spots. * Eliminated some hard TAB characters.
2445 * src/freeglut_joystick.c: Added Thierry's change to include
2446 sys/param.h. This lets us pick out version numbers for OS releases
2447 corresponding to system headers.
2449 I modified it to also work with NetBSD; I cannot confirm if it is safe
2450 with any other systems, so it remains protected by a #if.
2451 * src/freeglut_state.c: Deleted some say-nothing-new comments.
2453 Added some XXX's where comments seemed to require future attention.
2455 Added some new comments with XXX's where future attention seems
2457 * src/freeglut_state.c: Deleted a bunch of say-nothing-new comments.
2458 Someday, there shall be an end to them.
2459 * src/freeglut_state.c: Previous changes were made without the freeglut
2460 major mode in EMACS. Re-tweaked some lines (mostly got rid of some
2461 TABs, but also resulted in some changed indentation).
2463 Reformatted a big comment to fit to 80 columns.
2465 Removed bogus references to "Linux". (UNIX, and/or X11 were relavent,
2466 and "UNIX/X11" was substituted for "Linux" in those places. This
2467 includes UNIX-alike systems.)
2468 * src/freeglut_state.c: Rewrote the TODO BEFORE THE STABLE RELEASE
2469 comment to fit to 80 columns.
2471 Cleanup of fghGetConfig(). (One return statement, simpler code.)
2473 Made glutSetOption() have a more consistant style---and also got its
2474 lines to stay under 80 columns.
2475 * src/freeglut_misc.c: Got the last of the say-nothing-new comments in
2478 (I would have picked them up before, but wanted the bug-fix and
2479 conversion-to-error-message changes to go in before I did more
2481 * src/freeglut_cursor.c, src/freeglut_main.c, src/freeglut_misc.c: *
2482 Fixed a bug that I introduced in fgWarning()/fgError(): I thought that
2483 ((a) || (b)) was defined to have value as: (a) if (a) != 0 (b) if (a)
2486 ...instead, it has value 0/1. This was causing a bug. It's probably
2487 just as well, since what I was trying to do definitely fell into the
2488 category of "clever code" rather than "clear code".
2492 * Made glutSetKeyRepeat() call fgError() if you go out of range. (The
2493 old code silently did nothing---not even a warning.)
2495 If it is really desirable to keep running, we should probably at least
2496 generate an fgWarning().
2498 * Deleted some say-nothing-new comments.
2500 * XXX added: Is glutSetKeyRepeat() deprecated?
2504 * include/GL/freeglut_ext.h, src/freeglut_callbacks.c,
2505 src/freeglut_ext.c, src/freeglut_internal.h, src/freeglut_main.c:
2506 Commit, mostly of work from John:
2508 * Removed some say-nothing-useful comments. * Added some tentative
2509 mouse-wheel support. * Fairly massive reformatting of code.
2511 I made some secondary changes to his changes:
2513 * One compilation error was fixed (missing close-paren + semicolon). *
2514 Deleted a few ore say-nothing-useful comments. * Some of John's code
2515 was strangely formatted to the point that it seemed completely out of
2516 place, so I took the liberty of reformatting it. Since I used GNU
2517 EMACS's <tab> key (which re-indents rather than inserts TAB
2518 characters), I had to propogate some indentation changes a little
2519 further than the bare necessity to match up with John's changes. (John
2520 seems to shoot for 2-space indents, while EMACS (and I, I confess)
2521 strongly prefer 4-space indents. The code that I was re-indenting had
2522 been put to 8-space indents, however.)
2524 I have *not* tested the code beyond compiling. I assume that John did
2525 (and that the compilation error was a result a minor change just
2526 before asking me to commit).
2527 * src/freeglut_cursor.c: Re-indentation style changes from John.
2529 There should be no alterations to how the code performs.
2531 (I modified how the X11 section of the set-cursor code is indented to
2532 slightly better match (IMHO) the rest of his changes.)
2536 * src/freeglut_menu.c: Converted a few "x != NULL" tests to "x" for
2539 I think that I've touched enough lines of source for one morning.
2540 * src/freeglut_menu.c: Cleaned up a little redundancy in a comment on
2541 the {menu_pen_*} variables.
2542 * src/freeglut_menu.c: Removed about 90 lines of say-nothing-new
2545 The code should be functionally unaltered by these changes.
2546 * src/freeglut_menu.c: Propogated a pointer-check from menu-attach to
2547 menu-detach. (Apparently, in some cases, the Menu member variable can
2550 Corrected the menu-attach code to make sure that both Window and Menu
2551 pointers are non-NULL (rather than "at least one").
2553 Rewrote button-checks to more simply and more clearly assert that the
2554 "menu button" is a valid button for menu actions: Instead of
2555 laboriously comparing against the three valid buttons (0, 1, 2 or
2556 GLUT_BUTTON_*), we do a simpler range-check and the upper bound is
2557 {FREEGLUT_MAX_MENUS}, allowing us to change the number of menuable
2558 buttons fairly easily in the future.
2560 Also deleted a few say-nothing-new comments.
2561 * src/freeglut_menu.c: Cosmetic changes (mostly deleted a few more
2562 say-nothing-new comments). The functionality of the code should be
2564 * src/freeglut_menu.c: Changed an "#elif TARGET_HOST_UNIX_X11" to
2565 "#else", since this simply governed menu aesthetics. I think that it's
2566 better to have a default that works than to break completely, should
2567 freeglut ever be ported to a new (non-WIN32, non-UNIX/X11) target.
2568 * src/freeglut_menu.c: Minor modifications to the menus:
2570 * Updated an old "TODO BEFORE STABLE" comment.
2572 * Expanded a comment re. some #define macros.
2574 * Made colors and font choice system dependant. The UNIX freeglut
2575 menus look more like UNIX GLUT menus, now. (This is PURELY a cosmetic
2576 change. But it achieves better compatibility visually.)
2577 * src/freeglut_main.c: Cleaned up glutMainLoop() a bit:
2579 * Deleted numerous say-nothing-new comments. * Reformatted a
2580 say-something-useful comment to fit on an 80-column display.
2581 * src/freeglut_main.c: Partially (re-?)unified some of the
2582 glutMainLoopEvent() code. The only code that really needs to be
2583 system-specific is the window event handling, which in MS-WINDOWS is
2584 tucked into a separate function. In UNIX/X11, it's all spilled out
2585 into glutMainLoopEvent() for some reason.
2587 If the X11 code could be tucked into another function,
2588 glutMainLoopEvent() could be platform-independant.
2592 * src/freeglut_main.c: Moved the idle callback out of
2593 glutMainLoopEvent() and into glutMainLoop(), per discussion on the
2594 list. The code looks okay, to me, though I remain less than wholly
2595 convinced that treating idles as special cases is the best way to go.
2596 Still, a case can be made for taking "non-event" idle callbacks out of
2597 the "event loop". From an organizational perspective, I think that
2598 it's an improvement, and it fixes a bug for at least one program.
2599 * src/freeglut_menu.c: Added John's text-positioning modification.
2601 The lines that he was altering were very oddly-split, so while I was
2602 at it, I repaired the line-break damage.
2603 * src/freeglut_joystick.c: Committed change from Nigel to fix the
2604 joystick bug. (The joystick code was not setting the GLUT window prior
2605 to calling callbacks.)
2607 Please verify. If so, this closes out, I think, the latter half of
2608 that bug report, so anyone with the means to modify/close bug reports
2609 should do so upon verification of the fix.
2610 * src/freeglut_main.c: Superficial cleanup of the code. Mostly taking
2615 /* * <Enslish recapituation of the single following C statement> */
2616 <single C statement>
2620 ... <single C statement>
2622 freeglut_main.c still has a lot of that in it, but it looks a bit
2624 * src/freeglut_init.c: Added some error-checking (particularly w.r.t.
2627 Deleted numerous 4-line "padding" sequences of C-as-English trans-
2628 literation comments.
2630 Re-indented some (but not all) code that is using 2-space indentation.
2631 (Most of the freeglut code seems to be using 4-space indentation.)
2633 I did not touch the "INIT DISPLAY STRING PARSING" code, since it is
2634 filled with a ton of over-long lines and also appears to be in more
2635 flux than the rest of the code. (Well, I added one error-check to a
2637 * src/freeglut_font.c: Removed two more bogus "carriage return"
2638 references where the comments were in fact talking about a line feed
2639 (a.k.a. newline, LF, ^J, \n, ...).
2640 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c:
2641 Fixed the buglet about failing to report the program's name on error-
2642 messages. Please test. (Modified glutInit(), the state structure, and
2643 the warn/err functions.)
2645 2003-10-23 James Jones <puggles@users.sourceforge.net>
2647 * ChangeLog: Released 2.0.1
2649 2003-10-21 Christopher John Purnell
2651 * configure.in, include/GL/Makefile.am, include/GL/freeglut.h,
2652 include/GL/freeglut_std.h, include/GL/glut.h,
2653 progs/demos/Fractals/Makefile.am,
2654 progs/demos/Fractals_random/Makefile.am,
2655 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am,
2656 src/Makefile.am: Added --disable-replace-glut option to autoconf
2659 2003-10-15 James Jones <puggles@users.sourceforge.net>
2661 * NEWS: Noted the release of 2.0.0
2662 * configure.in: Version bump
2666 * src/freeglut_font.c: Swept the freeglut_font.c for comment cleanup: *
2667 Got rid of the "rewrite C as English" comments. * Corrected several
2668 bogus references to "carriage returns" (in strings). The symbols were
2669 newlines or EOLs or LFs (\n). They were *not* carriage returns or CRs
2670 (\r). * Clarified the comments on glBitmap() calls.
2674 * progs/demos/Fractals/fractals.c,
2675 progs/demos/Fractals_random/fractals_random.c: Small bug-fix that's
2678 Modified the two Fractals* demos so that they only clear (for the
2679 random one) or redraw (for the non-random one) if there is need to do
2680 so. (E.g., pressing the space bar should not clear and redraw the
2681 random fractal since no parameters are altered.)
2682 * src/freeglut_cursor.c, src/freeglut_display.c: Removed the obsolete
2683 hack (or very ill-conceived dream), fgDisplayCursor().
2684 * src/freeglut_display.c: Cleaned up some of the style issues (mostly
2685 "fluff" comments) in freeglut_display.c.
2686 * src/freeglut_cursor.c: Comment-cleaning sweep.
2688 Mostly got rid of the say-it-in-English comments that were adding 1
2689 line of English and 2 or 3 lines of filler for each of several lines
2690 of C code. Updated a couple of other comments, and tweaked some
2692 * src/freeglut_callbacks.c: Cleaned up the comments a bit in the
2693 callbacks.c file (mostly removed some of the
2694 kill-4-lines-to-translate-one-line-of-C-into-English comments).
2698 * src/freeglut_cursor.c: Added all missing GLUT cursor types for X11.
2700 (Type NONE is not properly supported, yet.)
2702 Corrected behavior for the several old types: * Wrong glyphs. *
2703 Reversed glyphs (left/right confusion!)
2705 There are some remaining imperfections, but it's a lot closer to GLUT
2710 * src/freeglut_callbacks.c: Three tidying-up changes to the code of
2711 freeglut_callbacks.c; none of them are Earth-shattering, but as I
2712 swept through looking somewhat more systematically for errors, I
2713 picked these off. See the diff's for details.
2714 * src/freeglut_callbacks.c: Fixed a basic readability/style error in the
2715 code. (Two statements per line are almost never a good idea; in this
2716 case the combined line was past 80 columns.)
2717 * src/freeglut_callbacks.c: Added a safety-check on a memory allocation.
2718 (Timers were using dynamic memory allocation but NOT checking the
2720 * src/freeglut_menu.c: Committed two lines from John to help fix the
2722 * src/freeglut_callbacks.c: Check the glutDisplayFunc() callback for
2723 being a NULL pointer. This is illegal and is disallowed in GLUT 3.0+,
2724 so we disallow it too in freeglut 2.0.1+
2728 * progs/demos/Fractals/fractals.c,
2729 progs/demos/Fractals_random/fractals_random.c: Applied John's updated
2730 ReadConfigFile() changes to the fractals demos.
2731 * progs/demos/Fractals_random/fractals_random.c: Fixed: * glutInit()
2732 ordering w.r.t. glutInit*() and {argv} processing. * Aspect ratio. *
2733 Removed depth-buffer usage. (Also done for Fractals in previous
2735 * progs/demos/Fractals/fractals.c: A few minor changes: * glutInit*()
2736 calls should preceed glutInit(), per se, generally. This is so that
2737 glutInit()'s configuration (which picks up on user parameters) can
2738 override application defaults. * glutInit() should be called before
2739 ANY attempt to process {argv, argc}. This is because there may be
2740 GLUT/freeglut parameters (such as "-display" on X11). * If the window
2741 is tall and skinny, rather than short and squat, we need to handle
2742 aspect ratios differently.
2744 The first is a user-interface bug. The second is a serious bug
2745 (especially since the demo assumes that argv[1] contains a filename).
2746 The third is a display bug.
2750 * src/freeglut_main.c: Changed CreateNotify (in X11 ONLY) to act like a
2751 ConfigureNotify event.
2753 This is done so that subwindows on X11 will get "resize" events when
2754 they are created. Old GLUT did this---presumably by design in order to
2755 ensure that (a) All windows get notified of their size as soon as the
2756 window exists, and (b) probably more importantly, so that windows and
2757 sub-windows behave as much alike as possible. I believe that GLUT was
2758 right to do this, and I believe that compatibility requires this (I
2759 have a sample program that breaks in freeglut but not GLUT without
2762 I did not touch the Microsoft side, because I don't know what their OS
2763 does---nor if old GLUT was historically system-dependant about this.
2765 2003-10-08 Eric Sandall
2767 * ChangeLog, src/freeglut_menu.c: freeglut_menu.c:217,519,532: Fix menus
2768 to stay in the window (John Fay)
2772 * src/freeglut_menu.c: Several updates from John and myself.
2774 The broad outlines are:
2776 * Color schemes are now in variables, are closer to old GLUT, and are
2777 system dependant (as old GLUT did). * You can change the font to any
2778 bitmapped font more easily, which can aid in finding a better
2779 approximation. (Old GLUT does not seem to have used a GLUT font for
2780 the menus, which causes problems for us.) The menus rescale
2781 automatically, including the triangle "arrow" for sub-menus. * Menus
2782 have real borders, and the placement of highlighting is much improved.
2783 * src/freeglut_main.c: Fixed a bug in the menu callback behavior. Menus
2784 were not setting the current window correctly.
2786 2003-10-06 Eric Sandall
2788 * ChangeLog, src/freeglut_menu.c: freeglut_menu.c:328 Fix submenu
2791 2003-10-04 James Jones <puggles@users.sourceforge.net>
2793 * ChangeLog, src/freeglut_main.c, src/freeglut_structure.c: Tweaking for
2794 menu behavior in Linux regarding mouse whatnot - John Fay
2798 * src/freeglut_joystick.c: Applied a patch from "extraeme@netbsd.org" to
2799 add joystick support. Untested, but it compiles for me.
2801 Should also add Joystick support for older FreeBSD systems. Also
2803 * src/freeglut_main.c: Added support for more arbitrary number of mouse
2804 buttons (though only the first three can work with menus), in X. This
2805 closes a compatibility gap with old GLUT, and leaves us the option of
2806 supporting scroll-wheels properly.
2808 2003-09-27 Christopher John Purnell
2810 * progs/demos/Fractals/Makefile.am,
2811 progs/demos/Fractals_random/Makefile.am,
2812 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Don't
2815 2003-09-26 James Jones <puggles@users.sourceforge.net>
2817 * progs/demos/Makefile.am: Package the demos.dsw file.
2818 * progs/demos/demos.dsw: Demos workspace for MSVC users
2822 * src/freeglut_main.c: Corrected a bug w.r.t. display and joystick
2823 events. When getting ready to sleep, we need to go through ALL windows
2824 to check for pending joysticks and to check for pending redisplays. I
2825 was just going through all TOP- LEVEL windows. Eeek. This won't do.
2827 2003-09-23 Brian Paul
2829 * progs/demos/Fractals_random/fractals_random.c: added needClear flag to
2830 take care of initial window clear and window resize clears
2834 * src/freeglut_init.c: Per Nigel Stewart's comments, converted
2836 #ifdef TARGET_HOST_...
2842 in src/freeglut_init.c. These changes should not have any functional
2843 impact at this time, but you don't want bad examples lying around to
2844 trip people up later.
2845 * progs/demos/Fractals_random/fractals_random.c, src/freeglut_main.c,
2846 src/freeglut_window.c: Fixed: * GLUT_SINGLE now should behave more or
2847 less correctly. Thanks to Brian Paul!
2849 * Sleeping is now cognizant of outstanding redisplays.
2851 * Fractals_random has been restored more or less to as-before, save
2852 that it uses the more minimal glFlush() rather than glutSwapBuffers().
2853 glutSwapBuffers() was only required when freeglut was incorrectly
2854 handling promotion to double-buffering.
2858 * src/freeglut_main.c: Moved the #include/#ifdef/#define stuff up to the
2861 Changed #ifdef to #if, per Nigel(?)'s comment. Ooops.
2863 2003-09-22 Christopher John Purnell
2865 * progs/demos/Fractals/Makefile.am,
2866 progs/demos/Fractals_random/Makefile.am,
2867 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Fix to
2868 allow demos to compile before freeglut has been installed.
2870 2003-09-22 James Jones <puggles@users.sourceforge.net>
2872 * progs/demos/Fractals_random/fractals_random.c: Add an idle function to
2873 ensure that the screen gets drawn even when callbacks are not
2874 generated by the mouse/keyboard.
2876 2003-09-21 James Jones <puggles@users.sourceforge.net>
2878 * progs/demos/Fractals/fractals.c,
2879 progs/demos/Fractals_random/fractals_random.c: Note the possible
2880 buffer overflow in window_title
2881 * progs/demos/Fractals/fractals.c: Fix the window title.
2882 * progs/demos/Fractals_random/fractals_random.c: Fix window title, and
2883 ensure that the random integer is not forced to be zero (Thanks
2886 2003-09-20 James Jones <puggles@users.sourceforge.net>
2888 * src/freeglut_main.c: Richard Rauch's patch to ensure that freeglut
2889 does not use 100% CPU even while idling.
2890 * src/freeglut_font.c: Resolution for bug 809561 reported by Nigel
2891 Stewart, regarding a possible array underflow error of -1 in the event
2892 of "character" being zero.
2894 2003-09-14 Christopher John Purnell
2896 * configure.in, progs/demos/Fractals/Makefile.am,
2897 progs/demos/Fractals_random/Makefile.am,
2898 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am,
2899 src/Makefile.am: Removed unused AC_PROG_RANLIB from configure.in Added
2900 passing of $(X_CFLAGS) to compiler.
2902 2003-09-14 James Jones <puggles@users.sourceforge.net>
2904 * include/GL/glut.h: Resolve bug 806008 -- let Microsoft's compiler know
2905 to use Windows libraries even if not using our project files.
2907 2003-09-13 James Jones <puggles@users.sourceforge.net>
2909 * ChangeLog: Taking care of keeping things mostly up-to-date
2910 * TODO: Most everything's been resolved for the 2.0.0 release.
2911 * src/freeglut_joystick.c: Thierry Thomas said that FreeBSD has no
2912 machine/joystick.h, instead a sys/joystick.h. I've made the change --
2913 here's hoping it works.
2914 * progs/demos/One/one.c: Removed the incorrect relative path for
2915 including freeglut.h
2916 * progs/demos/Fractals/Makefile.am,
2917 progs/demos/Fractals_random/Makefile.am,
2918 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Made all
2919 demos compile. Thanks to Thierry Thomas for reporting bug 802809,
2920 which alerted that *none* of the demos compiled automatically!
2921 * src/freeglut_main.c: Nigel Stewart's joystick fix (for hopefully all
2922 platforms), SourceForge bug 805481
2923 * progs/demos/Lorenz/lorenz.dsp, progs/demos/One/one.dsp: Fix location
2924 of the include files from a fixed to relative path. Closes bug 805477
2925 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp, freeglutstatic.dsw:
2926 Add dos line endings. Fixes bug 805476
2928 2003-09-10 Christopher John Purnell
2930 * src/freeglut_joystick.c: A minor fix to that last commit.
2931 * src/freeglut_joystick.c: Removed some remaining glib depandancy.
2933 2003-09-10 James Jones <puggles@users.sourceforge.net>
2935 * src/freeglut_main.c: Re-add catches for the case in which a menu
2936 callback destroys the menu. - John Fay
2938 2003-09-09 Christopher John Purnell
2940 * src/freeglut_main.c: More to fix a deinitialization related crash.
2941 * src/freeglut_structure.c: Fix for a deinitialization related crash.
2943 2003-09-08 James Jones <puggles@users.sourceforge.net>
2945 * src/freeglut_main.c, src/freeglut_structure.c: Menus should deallocate
2946 better now - John Fay
2948 2003-09-05 James Jones <puggles@users.sourceforge.net>
2950 * Makefile.am: Add freeglut_static.dsp to the releases
2952 2003-09-03 Christopher John Purnell
2954 * src/freeglut_gamemode.c: Moved #ifdef for non XFree86 X11 compile.
2956 2003-09-02 Christopher John Purnell
2958 * src/freeglut_window.c: Fix to stop fgSetWindow(NULL) crashing on X11.
2960 2003-08-29 James Jones <puggles@users.sourceforge.net>
2962 * src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_structure.c:
2963 These change a bunch of assignments to calls to set the current window
2964 correctly, and also (possibly) fixes most of the remaining menu
2966 * src/freeglut_main.c: Another typecast bugfix from John Fay
2968 2003-08-28 Christopher John Purnell
2970 * src/freeglut_init.c: Changed #ifdef to #if
2972 2003-08-28 James Jones <puggles@users.sourceforge.net>
2974 * src/freeglut_font.c: change the GLUT stroke function arguments from
2975 "const char *" to "const unsigned char *" - John Fay
2976 * include/GL/freeglut_ext.h, include/GL/glut.h: Changes stroke function
2977 arguments from "const char*" to "const unsigned char *" - John Fay
2979 2003-08-28 Christopher John Purnell
2981 * freeglut-1.3: Removing files from old freeglut-1.3 directory.
2983 2003-08-28 James Jones <puggles@users.sourceforge.net>
2985 * src/freeglut_callbacks.c, src/freeglut_geometry.c,
2986 src/freeglut_init.c, src/freeglut_joystick.c, src/freeglut_main.c,
2987 src/freeglut_menu.c, src/freeglut_structure.c: Casting changes, John
2990 2003-08-27 James Jones <puggles@users.sourceforge.net>
2992 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
2993 src/freeglut_menu.c: Major overhaul to the menu system, by John Fay
2995 2003-08-27 Christopher John Purnell
2997 * include/GL/freeglut.h, include/GL/freeglut_ext.h, include/GL/glut.h:
2998 Added double underscores to the header included macros.
3000 2003-08-20 Christopher John Purnell
3002 * src/freeglut_gamemode.c: Minor typo fix
3004 2003-08-19 Christopher John Purnell
3006 * src/freeglut_gamemode.c: Moving that "#if TARGET_HOST_UNIX_X11" to the
3009 2003-08-17 Christopher John Purnell
3011 * ChangeLog, src/freeglut_gamemode.c, src/freeglut_internal.h,
3012 src/freeglut_window.c: Game mode fixes from Bernhard Kaindl and Eric
3015 2003-08-05 Christopher John Purnell
3017 * src/Makefile.am, src/freeglut_menu.c, src/freeglut_window.c,
3018 src/mwmborder.c: Using override_redirect instead of motif wm hints. It
3019 now rasies the menu windows before showing them. Move the show to
3020 after the reshape and position so we don't get a flash of the menu
3021 window at it's old size and position.
3022 * src/mwmborder.c: I suspect a lot of people will not have motif
3025 2003-08-05 Eric Sandall
3027 * ChangeLog, src/Makefile.am, src/freeglut_window.c: (98)
3028 src/Makefile.am:34 Added mwmborder.c (99) src/freeglut_window.c:67
3029 Removed #included "mwmborder.c"
3030 * ChangeLog, src/freeglut_main.c: src/freeglut_main.c:816 and :1571, set
3031 the current window (John F. Fay)
3033 2003-08-04 Christopher John Purnell
3035 * src/freeglut_state.c: Added X11 code for
3036 glutGet(GLUT_WINDOW_BORDER_WIDTH) and
3037 glutGet(GLUT_WINDOW_HEADER_HEIGHT).
3038 * src/freeglut_internal.h, src/freeglut_state.c: Replacing
3039 glutGet(GLUT_WINDOW_X) and glutGet(GLUT_WINDOW_Y) on X11 with
3040 something that works. Also a minor correction to the xf86vidmode
3043 2003-08-04 James Jones <puggles@users.sourceforge.net>
3045 * src/freeglut_window.c: Keep the X11 decoration-zapping code confined
3046 to X11-using platforms! Oops!
3047 * src/freeglut_window.c, src/mwmborder.c: Menus' decorations are removed
3048 on Linux. Not sure if we want the mwmborder.c a separate file or not;
3049 doing it separate for right now. Makefile was not updated, since the
3050 .c is just #included.
3052 2003-08-03 Christopher John Purnell
3054 * configure.in: Got rid of configure warnings when using a newer
3057 2003-08-02 Christopher John Purnell
3059 * src/freeglut_glutfont_definitions.c, src/freeglut_internal.h: Putting
3060 stuff back that was undone with the menu code committed.
3062 2003-08-02 James Jones <puggles@users.sourceforge.net>
3064 * src/freeglut_callbacks.c, src/freeglut_display.c,
3065 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
3066 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
3067 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
3068 Major menu changes (they appear in their own window, have own
3069 rendering context) by John Fay and a little by James C. Jones. They
3070 work perfectly on Win32, and work... on Linux.
3072 2003-08-01 Christopher John Purnell
3074 * configure.in, src/Makefile.am, src/freeglut_glutfont_definitions.c,
3075 src/freeglut_internal.h: Added autoconf detection for the xf86 vid
3078 2003-08-01 Eric Sandall
3080 * ChangeLog, src/freeglut_window.c: src/freeglut_window.c:551 Removed
3081 extra carriage return for Windows users (John F. Fay)
3082 * ChangeLog: Credit Dave Reed for fix
3083 * ChangeLog, src/freeglut_internal.h: src/freeglut_initial.c:91 Added
3084 check for SOLARIS OS
3086 2003-07-23 Christopher John Purnell
3088 * include/GL/glut.h, src/Makefile.am, src/freeglut_font.c,
3089 src/freeglut_glutfont_definitions.c: This should put an end to the
3090 font binary compatibility issue.
3092 2003-07-23 Eric Sandall
3094 * ChangeLog, src/freeglut_window.c: src/freeglut_window.c Windowing
3096 * ChangeLog, doc/Makefile.am: doc/Makefile.am:4 Removed trailing
3097 backslash and added an empty last line
3099 2003-07-23 Brian Paul
3101 * doc/download.html: no change, testing CVS
3103 2003-07-22 Brian Paul
3105 * doc/download.html: no change, just testing CVS
3107 2003-07-22 Eric Sandall
3109 * ChangeLog, freeglut.lsm: freeglut.lsm:3 Removed 'beta' label for next
3110 release, thanks to Bernhard Kaindl.
3112 2003-07-21 Christopher John Purnell
3114 * src/Makefile.am: The version info had the revision and the age
3117 2003-07-21 Eric Sandall
3119 * ChangeLog, src/Makefile.am: src/Makefile.am:38 Changed versioning to
3120 11:0:8 thanks to Bernhard Kaindl
3122 2003-07-17 Eric Sandall
3124 * ChangeLog, freeglut.dsp, freeglut_static.dsp: Applied John F. Fay's
3125 fixes to freeglut.dsp and freeglut_static.dsp
3126 * ChangeLog, src/freeglut_state.c: Changed the overlay
3127 (freeglut_state.c:662) to return FALSE, as it's not imp lemented yet
3129 2003-07-12 Andreas Umbach <marvin@dataway.ch>
3131 * src/Makefile.am: renamed freeglut library to glut, bumped version info
3133 * configure.in: bumped version number to 2.0.0
3134 * Makefile.am, configure.in, doc/Makefile.am, include/GL/Makefile.am,
3135 progs/Makefile.am, progs/demos/Fractals/Makefile.am,
3136 progs/demos/Fractals_random/Makefile.am,
3137 progs/demos/Lorenz/Makefile.am, progs/demos/Makefile.am,
3138 progs/demos/One/Makefile.am, src/Makefile.am: changes for make dist
3139 * freeglut13.plg: MSVC generated file
3141 2003-07-11 Christopher John Purnell
3143 * include/GL/glut.h, src/freeglut_font.c: Fix for the font binary
3144 compatibility problem.
3146 2003-07-10 Christopher John Purnell
3148 * src/Makefile.am: Changed to build libfreeglut.so.2.0.0
3150 2003-07-10 James Jones <puggles@users.sourceforge.net>
3152 * TODO, freeglut.dsp, freeglut_static.dsp: Changes to TODO, Windows
3153 files - from John Fay
3154 * progs/demos/Fractals_random/Fractals_random.dsp: Changes by John Fay
3155 * progs/demos/Fractals/Fractals.dsp, progs/demos/Fractals/fractals.c:
3156 Changes to the Fractals demo by John Fay
3157 * progs/demos/One/one.dsp: Initial project file from John Fay
3158 * progs/demos/Lorenz/lorenz.c, progs/demos/Lorenz/lorenz.dsp:
3159 Modifications from John Fay
3161 2003-07-07 Christopher John Purnell
3163 * src/freeglut_main.c: glutMainLoopEvent() was not closing windows
3164 properly. Moved call to fgCloseWindows() from glutMainLoop() to the
3165 end of glutMainLoopEvent().
3167 2003-07-03 Eric Sandall
3169 * ChangeLog, src/freeglut_misc.c: Removed unused char *ptr from
3172 2003-07-02 Christopher John Purnell
3174 * src/freeglut_main.c: It was crashing on and event for a unknown
3177 2003-07-02 Brian Paul
3179 * src/freeglut_misc.c: rewrite of glutExtensionSupported - works
3182 2003-07-02 Eric Sandall
3184 * ChangeLog: * Removed tests directory
3185 * ChangeLog, Makefile.am, configure.in, progs/demos/One,
3186 progs/demos/One/Makefile.am, progs/demos/One/one.c, tests: * Removed
3187 genfonts/genstrokes code, updated configure.in and Makefile.in
3189 * Moved tests/one.c into progs/demos/One/one.c, updated configure.in
3191 * genfonts: Removed genfonts
3193 2003-07-02 Christopher John Purnell
3195 * genfonts/to_stroke.y: Added some semicolons that yacc was warning
3198 2003-07-01 James Jones <puggles@users.sourceforge.net>
3200 * AUTHORS: John Fay commanded me to add my name to the file. He's crazy,
3203 2003-07-01 Eric Sandall
3205 * ChangeLog, src/freeglut_misc.c: Fixed the 'ptr + len' problem in
3208 2003-07-01 Brian Paul
3210 * doc/freeglut_user_interface.html: version bumps
3211 * tests/Makefile.am: bump version to 2.0
3212 * src/Makefile.am, src/freeglutdll.def: bump versions to 2.0
3213 * src/freeglut_gamemode.c: xf86VidMode error checking (Andrew
3216 2003-06-30 Brian Paul
3218 * progs/demos/Lorenz, progs/demos/Lorenz/lorenz.c,
3219 progs/demos/Lorenz/lorenz.dsp: Lorenz attractor demo (John Fay)
3220 * freeglut.dsp, freeglut_static.dsp: updates from John Fay
3222 2003-06-28 Eric Sandall
3224 * ChangeLog, include/GL/Makefile.am: Now installs freeglut_ext.h and
3225 glut.h to /usr/include/GL (was missing before)
3227 2003-06-27 Brian Paul
3229 * include/GL/freeglut_ext.h, src/freeglut_init.c,
3230 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_state.c,
3231 src/freeglut_stroke_mono_roman.c: XF86 game mode fixes, context
3232 sharing option. (John Fay)
3234 2003-06-25 Eric Sandall
3236 * ChangeLog: Added another of my changes (freeglut.kdevelop) and fixed
3237 the version number for my MS VS change (*.dsp)
3239 2003-06-25 Brian Paul
3241 * src/freeglut_internal.h: version bumps
3242 * freeglut.lsm, include/GL/glut.h, src/freeglut_stroke_mono_roman.c,
3243 src/freeglut_stroke_roman.c: Assorted version 2.0.0 updates (John
3245 * doc/freeglut_user_interface.html: updated version, italicize freeglut
3248 2003-06-25 Eric Sandall
3250 * ChangeLog, freeglut.dsp, freeglut_static.dsp: Added 'freeglut_ext.c'
3251 to the project files 'freeglut.dsp' and 'freeglut_static.dsp' (New
3254 2003-06-24 Andreas Umbach <marvin@dataway.ch>
3256 * ChangeLog: Fixed autogen.sh and removed aclocal.m4
3257 * aclocal.m4: this file is autogenerated by aclocal
3258 * autogen.sh: fixed aclocal / autoheader order; some cosmetics
3260 2003-06-24 Eric Sandall
3262 * freeglut.kdevelop: Project file for Gideon (KDevelop 3.0)
3264 2003-06-23 Eric Sandall
3266 * ChangeLog, Makefile.am, TODO, configure.in, freeglut.dsp,
3267 freeglut.kdevprj, freeglut13.dsp, freeglut13.plg, freeglut_static.dsp,
3268 freeglutdll.dsp, src, src/Makefile.am, src/freeglut_callbacks.c,
3269 src/freeglut_cursor.c, src/freeglut_display.c, src/freeglut_ext.c,
3270 src/freeglut_font.c, src/freeglut_font_data.c,
3271 src/freeglut_gamemode.c, src/freeglut_geometry.c, src/freeglut_init.c,
3272 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
3273 src/freeglut_menu.c, src/freeglut_misc.c, src/freeglut_overlay.c,
3274 src/freeglut_state.c, src/freeglut_stroke_mono_roman.c,
3275 src/freeglut_stroke_roman.c, src/freeglut_structure.c,
3276 src/freeglut_teapot.c, src/freeglut_videoresize.c,
3277 src/freeglut_window.c, src/freeglutdll.def, src/templates,
3278 src/templates/cpp_template, src/templates/header_template,
3279 tests/Makefile.am: Changed all references to the 'freeglut-1.3'
3280 directory to 'src', copied 'freeglut-1.3' to 'src' and added all files
3281 from 'src' to the repository (TODO #34).
3282 * ChangeLog: Updated ChangeLog with my aclocal.m4 change
3283 * aclocal.m4: Updated aclocal.m4 with aclocal 1.7.3 (was created with
3286 2003-06-23 Brian Paul
3288 * freeglut-1.3/freeglut_geometry.c: adjusted precision (John Fay)
3289 * doc/freeglut_user_interface.html, freeglut-1.3/freeglut_display.c,
3290 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3291 freeglut-1.3/freeglut_teapot.c, include/GL/freeglut_ext.h,
3292 include/GL/glut.h: Assorted updates from John Fay.
3294 2003-06-20 Eric Sandall
3296 * TODO: Updated TODO from John Fay
3298 2003-06-20 Brian Paul
3300 * progs, progs/demos, progs/demos/Fractals,
3301 progs/demos/Fractals/Fractals.dsp, progs/demos/Fractals/fractals.c,
3302 progs/demos/Fractals/fractals.dat, progs/demos/Fractals_random,
3303 progs/demos/Fractals_random/Fractals_random.dsp,
3304 progs/demos/Fractals_random/fractals.dat,
3305 progs/demos/Fractals_random/fractals_random.c: Fractal demo (John Fay)
3307 2003-06-20 Eric Sandall
3309 * ChangeLog: Added the autogen.sh addition to ChangeLog
3310 * autogen.sh: Initial version of autogen.sh, tested here and creates the
3313 2003-06-20 Brian Paul
3315 * freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_state.c:
3316 Windows patches (Eero Pajarre)
3317 * NEWS: list the 1.4 release (fill in date) - this is a cvs check-in
3320 2003-06-19 Don Heyse <dheyse@hotmail.com>
3322 * freeglut-1.3/freeglut_joystick.c: Oops, missed the
3323 fghJoystickRawRead() fix for FreeBSD.
3325 2003-06-19 Brian Paul
3327 * doc/freeglut_user_interface.html, freeglut-1.3/freeglut_display.c,
3328 freeglut-1.3/freeglut_ext.c, freeglut-1.3/freeglut_internal.h,
3329 freeglut-1.3/freeglut_main.c: s/FreeGLUT/freeglut/
3331 2003-06-19 Don Heyse <dheyse@hotmail.com>
3333 * freeglut-1.3/freeglut_joystick.c: Applied tthierry's patch to fix
3334 compiling on FreeBSD.
3336 2003-06-19 Brian Paul
3338 * freeglut-1.3/freeglut_internal.h: added VERSION_MAJOR/MINOR/PATCH
3339 * doc/freeglut_user_interface.html: restore text lost from previous
3341 * include/GL/glut.h: s/FREEGLUT_VERSION_1_3/FREEGLUT_VERSION_1_4/
3343 2003-06-19 Eric Sandall
3345 * include/GL/freeglut_ext.h, include/GL/glut.h: GLUT_VERSION updates
3348 2003-06-18 Eric Sandall
3350 * AUTHORS: Forgot a file...looked so innocous just sitting there... :)
3351 * ChangeLog, doc/freeglut_user_interface.html,
3352 freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_ext.c,
3353 freeglut-1.3/freeglut_internal.h, freeglut-1.3/freeglut_menu.c,
3354 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_teapot.c,
3355 freeglut-1.3/freeglut_window.c, include/GL/freeglut_ext.h: * Hopefully
3356 I did THIS one right (used 'cvs update' to Merge)
3358 Authors - The first update in quite a while
3360 ChangeLog - Added the recent changes
3362 freeglut_callbacks.c - Added Aleksandar Donev's menu destruction
3365 freeglut_internal.h - Added the user data to the structures and made
3366 the menu state/status callbacks window-independent
3368 freeglut_menu.c - Removed several OpenGL compiler warnings and added
3369 A. Donev's menu user data functions
3371 freeglut_structure.c - Added Aleksandar Donev's menu destruction
3374 freeglut_teapot.c - Removed or suppressed several compiler warnings
3376 freeglut_window.c - Updated the window positioning code and added A.
3377 Donev's window user data
3379 freeglut_ext.h - Added the menu destruction callback and user data
3381 * freeglut-1.3/freeglut_ext.h: * Removed freeglut_ext.h (wasn't supposed
3384 2003-06-18 Brian Paul
3386 * doc/freeglut_user_interface.html, freeglut-1.3/freeglut_internal.h,
3387 freeglut-1.3/freeglut_state.c, include/GL/freeglut_ext.h,
3388 include/GL/glut.h: Added FREEGLUT_VERSION_1_3. Added GLUT_VERSION for
3389 glutGet(). Added glutGet() documentation.
3390 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_ext.h,
3391 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_internal.h,
3392 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_state.c,
3393 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_window.c:
3394 remove DOS-style CR characters
3395 * doc/freeglut_user_interface.html: added glutGetProcAddress and
3397 * ChangeLog: added glutGetProcAddress() and GLUT_FPS
3399 2003-06-17 Brian Paul
3401 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_init.c,
3402 freeglut-1.3/freeglut_internal.h: restore GLUT_FPS env var feature
3403 lost in previous check-in
3405 2003-06-17 Eric Sandall
3407 * ChangeLog: * Updated ChangeLog
3408 * freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_structure.c: Set
3409 #4: * Fixes a couple of compiler warnings and other bugs. *
3410 freeglut_main.c: Removes a compiler warning * freeglut_structure.c:
3411 Sets the current window before calling the window closure callback *
3412 Possibly other changes
3413 * freeglut-1.3/freeglut_ext.h: * Rest of Set #3
3414 * freeglut-1.3/freeglut_state.c: Set #3: Fixes for window positioning
3416 * freeglut-1.3/freeglut_init.c: Eero Pajarre's GLUT_ICON code for
3418 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_internal.h,
3419 freeglut-1.3/freeglut_window.c: First group of patches: Adds
3420 single-buffered rendering (or its emulation) in Windows.
3422 2003-06-17 Brian Paul
3424 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_init.c,
3425 freeglut-1.3/freeglut_internal.h: added GLUT_FPS env var option
3426 * freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_ext.c,
3427 include/GL/freeglut_ext.h: added glutGetProcAddress()
3429 2003-06-12 Don Heyse <dheyse@hotmail.com>
3431 * freeglut-1.3/freeglut_main.c: Fix the keyboard up callback and a
3433 * freeglut-1.3/freeglut_structure.c: Set the current window before
3434 calling the window closure callback.
3435 * freeglut-1.3/freeglut_state.c, include/GL/freeglut_ext.h: John's
3436 window positioning corrections.
3437 * freeglut-1.3/freeglut_init.c: Eero Pajarre's icon code.
3438 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_internal.h,
3439 freeglut-1.3/freeglut_window.c: Single buffered rendering for Windows.
3441 2003-06-02 Don Heyse <dheyse@hotmail.com>
3443 * doc/freeglut_user_interface.html: John Documented InitWindowPosition
3444 extensions and added some kbd fn info.
3445 * ChangeLog: Documented Johns changes from May 03.
3446 * freeglut-1.3/freeglut_state.c: Do not allow glutGet to reposition the
3447 window 1 pixel toward bottom right.
3448 * freeglut-1.3/freeglut_main.c: Pass mouse pos to Windows kbd callback.
3449 Resequenced a few things for UNIX.
3451 2003-03-23 Christopher John Purnell
3453 * freeglut-1.3/freeglut_gamemode.c: Applied patch to fix GameMode issues
3454 supplied by Bernhard Kaindl.
3456 2003-03-12 Don Heyse <dheyse@hotmail.com>
3458 * include/GL/glut.h: Switch to ANSI C comments.
3459 * freeglut-1.3/freeglut_cursor.c, freeglut-1.3/freeglut_display.c,
3460 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_geometry.c,
3461 freeglut-1.3/freeglut_internal.h, freeglut-1.3/freeglut_joystick.c,
3462 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_structure.c,
3463 freeglut-1.3/freeglut_window.c: Switch to ANSI C comments. Removed
3464 always true tests on unsigned char. Single buffering fix..
3466 2003-02-13 Don Heyse <dheyse@hotmail.com>
3468 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp: Switching to John
3469 Fays version of the VC++ project files.
3471 2003-02-08 Steve Baker <steve@sjbaker.org>
3473 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_joystick.c:
3474 Removed erroneous GPL license comments.
3476 2003-02-07 Don Heyse <dheyse@hotmail.com>
3478 * freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_cursor.c,
3479 freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_font_data.c,
3480 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3481 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_joystick.c,
3482 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_overlay.c,
3483 freeglut-1.3/freeglut_stroke_mono_roman.c,
3484 freeglut-1.3/freeglut_stroke_roman.c, freeglut-1.3/freeglut_teapot.c,
3485 freeglut-1.3/freeglut_videoresize.c: Moved freeglut_internal.h to the
3486 freeglut source code private directory.
3487 * freeglut-1.3/freeglut_structure.c: SubWindow border thickness fix.
3488 Overlay changes in glutGet.
3489 * freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3490 freeglut-1.3/freeglut_state.c, freeglut-1.3/freeglut_window.c: Johns
3491 changes for layers, fgSetWindow, and fgSetupPixelFormat.
3492 * freeglut-1.3/freeglut_font.c: John fixed a bug that make bitmap font
3493 one pixel wider than its drawn.
3494 * freeglut-1.3/freeglut_internal.h, include/GL/freeglut_internal.h:
3495 Moved freeglut_internal.h to the private directory with the other
3497 * include/GL/freeglut.h, include/GL/freeglut_ext.h, include/GL/glut.h:
3498 Broke freeglut.h into glut.h and freeglut_ext.h
3500 2003-01-06 Don Heyse <dheyse@hotmail.com>
3502 * freeglut-1.3/freeglutdll.def: Exports file for Win32 dll. One EXPORT
3503 for each FGAPI line in freeglut.h
3505 2003-01-04 Steve Baker <steve@sjbaker.org>
3507 * aclocal.m4, freeglut-1.3/freeglut_joystick.c: Cleanup joystick
3510 2002-12-10 Don Heyse <dheyse@hotmail.com>
3512 * freeglut.dsw, freeglutdll.dsp: Allow DLL and static library build on
3514 * include/GL/freeglut.h: Added check for FREEGLUT_DLL to allow static &
3515 DLL build on Windows.
3517 2002-12-04 Don Heyse <dheyse@hotmail.com>
3519 * freeglut-1.3/freeglut_font_data.c: More bitmap font spacing fixes from
3522 2002-11-29 Don Heyse <dheyse@hotmail.com>
3524 * freeglut-1.3/freeglut_init.c: Fixed Win95 crash when getenv("DISPLAY")
3526 * freeglut-1.3/freeglut_font_data.c: The lowercase t in helvetica12 was
3528 * freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c:
3529 Adjusted character spacing on a few fonts.
3530 * ChangeLog: Many updates from John Fay.
3531 * freeglutstatic.dsw: Added Visual C++ 6 Static library project for John
3534 2002-11-28 Don Heyse <dheyse@hotmail.com>
3536 * freeglut.dsp: Visual C++ 6 project file for static freeglut lib.
3537 * include/GL/freeglut.h, include/GL/freeglut_internal.h: Many updates
3538 from John Fay. (freeglut.h may need a small change to allow Win32 DLL
3540 * freeglut-1.3/freeglut_geometry.c: Many updates from John Fay.
3541 * freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_cursor.c,
3542 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c,
3543 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_init.c,
3544 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3545 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_state.c,
3546 freeglut-1.3/freeglut_stroke_mono_roman.c,
3547 freeglut-1.3/freeglut_stroke_roman.c,
3548 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_window.c:
3549 Many updates from John Fay.
3550 * freeglut-1.3/freeglut_joystick.c: Fixes from freeglut_portable patch.
3551 Memory leak fix from John. Return_if_fail fix.
3553 2002-11-26 Don Heyse <dheyse@hotmail.com>
3555 * doc/freeglut_user_interface.html: Added on behalf of John Fay.
3557 2002-10-22 Don Heyse <dheyse@hotmail.com>
3559 * freeglut-1.3/freeglut_geometry.c: Implemented tetrahedra, octahedra,
3560 dodecahedra, and icosahedra. Checked in on behalf of John F. Fay
3561 <john.fay@eglin.af.mil>.
3563 2002-05-20 Don Heyse <dheyse@hotmail.com>
3565 * freeglut-1.3/freeglut_font.c: Fixed previous fix so it compiles.
3567 2002-05-20 Christopher John Purnell
3569 * freeglut-1.3/freeglut_font.c: My bad.
3571 2002-05-18 Christopher John Purnell
3573 * freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_font.c,
3574 freeglut-1.3/freeglut_stroke_mono_roman.c,
3575 freeglut-1.3/freeglut_stroke_roman.c, genfonts/Roman_M.src,
3576 genfonts/lex.l, genfonts/to_stroke.y, genfonts/wfont.h,
3577 include/GL/freeglut.h, include/GL/freeglut_internal.h: Added stroke
3580 2002-05-17 Christopher John Purnell
3582 * freeglut-1.3/freeglut_cursor.c, freeglut-1.3/freeglut_display.c,
3583 freeglut-1.3/freeglut_overlay.c, freeglut-1.3/freeglut_teapot.c,
3584 freeglut-1.3/freeglut_videoresize.c, tests/one.c: Removed some DOS
3587 2002-05-16 Christopher John Purnell
3589 * freeglut-1.3/freeglut_main.c: Removed one last glib call.
3591 2002-01-20 Steve Baker <steve@sjbaker.org>
3593 * README, freeglut-1.3/.deps/freeglut_callbacks.P,
3594 freeglut-1.3/.deps/freeglut_cursor.P,
3595 freeglut-1.3/.deps/freeglut_display.P,
3596 freeglut-1.3/.deps/freeglut_font.P,
3597 freeglut-1.3/.deps/freeglut_font_data.P,
3598 freeglut-1.3/.deps/freeglut_gamemode.P,
3599 freeglut-1.3/.deps/freeglut_geometry.P,
3600 freeglut-1.3/.deps/freeglut_init.P,
3601 freeglut-1.3/.deps/freeglut_joystick.P,
3602 freeglut-1.3/.deps/freeglut_main.P,
3603 freeglut-1.3/.deps/freeglut_menu.P,
3604 freeglut-1.3/.deps/freeglut_misc.P,
3605 freeglut-1.3/.deps/freeglut_overlay.P,
3606 freeglut-1.3/.deps/freeglut_state.P,
3607 freeglut-1.3/.deps/freeglut_structure.P,
3608 freeglut-1.3/.deps/freeglut_teapot.P: Removed a bunch of '.P' files
3609 that don't belong in the CVS archive.
3611 2001-08-05 Christopher John Purnell
3613 * freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_main.c,
3614 freeglut-1.3/freeglut_window.c, include/GL/freeglut_internal.h: Added
3615 keyup events code. Added missing specal keys. Made menu callbacks
3617 * freeglut-1.3/freeglut_window.c: More position tweeks.
3619 2001-08-04 Christopher John Purnell
3621 * freeglut-1.3/freeglut_main.c, include/GL/freeglut.h: Fixed redisplay
3622 bug. Fixed modifier values.
3623 * freeglut-1.3/freeglut_window.c: Improved window positioning.
3625 2001-07-30 Christopher John Purnell
3627 * freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_structure.c: A
3630 2001-07-30 Andreas Umbach <marvin@dataway.ch>
3632 * freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_main.c: one more
3634 * include/GL/freeglut_internal.h: removed glib dependencies from win32
3635 * freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_init.c,
3636 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_window.c: -
3637 removed glib dependencies from win32 code
3639 2001-07-29 Christopher John Purnell
3641 * freeglut-1.3/freeglut_structure.c: Fixed bug list code.
3642 * freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_callbacks.c,
3643 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c,
3644 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3645 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_joystick.c,
3646 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3647 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_state.c,
3648 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_window.c,
3649 genfonts/Makefile.am, genfonts/genfonts.c, genfonts/genstroke.c,
3650 include/GL/freeglut.h, include/GL/freeglut_internal.h: Removed glib
3652 * configure.in, freeglut-1.3/Makefile.am, genfonts/Makefile.am: The
3653 build system now looks for X.
3655 2001-07-27 Steve Baker <steve@sjbaker.org>
3657 * doc, doc/download.html, doc/freeglut.html, doc/freeglut_logo.png,
3658 doc/index.html, doc/ogl_sm.png, doc/progress.html, doc/structure.html:
3660 * genfonts/.deps, tests/.deps: Removed some more files that don't belong
3662 * configure, freeglut-1.3/Makefile, freeglut-1.3/Makefile.in,
3663 genfonts/Makefile, genfonts/Makefile.in, include/GL/Makefile,
3664 include/GL/Makefile.in, include/Makefile, include/Makefile.in,
3665 tests/Makefile, tests/Makefile.in: Removed files checked in in error.
3666 * freeglut-1.3/.deps, freeglut-1.3/.deps/freeglut_callbacks.P,
3667 freeglut-1.3/.deps/freeglut_cursor.P,
3668 freeglut-1.3/.deps/freeglut_display.P,
3669 freeglut-1.3/.deps/freeglut_font.P,
3670 freeglut-1.3/.deps/freeglut_font_data.P,
3671 freeglut-1.3/.deps/freeglut_gamemode.P,
3672 freeglut-1.3/.deps/freeglut_geometry.P,
3673 freeglut-1.3/.deps/freeglut_init.P,
3674 freeglut-1.3/.deps/freeglut_joystick.P,
3675 freeglut-1.3/.deps/freeglut_main.P,
3676 freeglut-1.3/.deps/freeglut_menu.P,
3677 freeglut-1.3/.deps/freeglut_misc.P,
3678 freeglut-1.3/.deps/freeglut_overlay.P,
3679 freeglut-1.3/.deps/freeglut_state.P,
3680 freeglut-1.3/.deps/freeglut_structure.P,
3681 freeglut-1.3/.deps/freeglut_teapot.P,
3682 freeglut-1.3/.deps/freeglut_videoresize.P,
3683 freeglut-1.3/.deps/freeglut_window.P, freeglut-1.3/Makefile,
3684 freeglut-1.3/Makefile.in: Initial revision
3685 * ., AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, NEWS, README,
3686 TODO, acconfig.h, aclocal.m4, configure, configure.in, freeglut-1.3,
3687 freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_callbacks.c,
3688 freeglut-1.3/freeglut_cursor.c, freeglut-1.3/freeglut_display.c,
3689 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c,
3690 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3691 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_joystick.c,
3692 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3693 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_overlay.c,
3694 freeglut-1.3/freeglut_state.c, freeglut-1.3/freeglut_structure.c,
3695 freeglut-1.3/freeglut_teapot.c, freeglut-1.3/freeglut_videoresize.c,
3696 freeglut-1.3/freeglut_window.c, freeglut-1.3/templates,
3697 freeglut-1.3/templates/cpp_template,
3698 freeglut-1.3/templates/header_template, freeglut.dsw,
3699 freeglut.kdevprj, freeglut.lsm, freeglut13.dsp, freeglut13.plg,
3700 genfonts, genfonts/.deps, genfonts/.deps/genfonts.P,
3701 genfonts/.deps/genstroke.P, genfonts/Makefile, genfonts/Makefile.am,
3702 genfonts/Makefile.in, genfonts/Roman.src, genfonts/Roman_M.src,
3703 genfonts/genfonts.c, genfonts/genstroke.c, include, include/GL,
3704 include/GL/Makefile, include/GL/Makefile.am, include/GL/Makefile.in,
3705 include/GL/freeglut.h, include/GL/freeglut_internal.h,
3706 include/Makefile, include/Makefile.am, include/Makefile.in,
3707 install-sh, mkinstalldirs, stamp-h, stamp-h.in, tests, tests/.deps,
3708 tests/.deps/one.P, tests/Makefile, tests/Makefile.am,
3709 tests/Makefile.in, tests/one.c: Initial revision