1 2009-03-26 Sven Panne <sven.panne@aedion.de>
3 * src/freeglut_init.c,src/freeglut_input_devices.c: Unbreak the build:
4 C++ style comments are not allowed in ISO C90
6 2009-03-19 John F. Fay <john.fay.ctr@eglin.af.mil>
8 * src/freeglut_input_devices.c: Fixing "freeglut_input_devices.c" for
9 MSVS2005 and later per e-mail from Diederick Niehorster dated Thu
12 2009-03-17 John F. Fay <john.fay.ctr@eglin.af.mil>
14 * src/freeglut_init.c, src/freeglut_input_devices.c: Removing some build
15 warnings from deprecated functions for VS2008 per e-mail from
16 Diederick Niehorster dated Tue 3/10/2009
17 * freeglut_static_vs2008.vcproj, freeglut_vs2008.sln,
18 freeglut_vs2008.vcproj,
19 progs/demos/CallbackMaker/CallbackMakerStatic_vs2008.vcproj,
20 progs/demos/CallbackMaker/CallbackMaker_vs2008.vcproj,
21 progs/demos/Fractals/FractalsStatic_vs2008.vcproj,
22 progs/demos/Fractals/Fractals_vs2008.vcproj,
23 progs/demos/Fractals_random/Fractals_randomStatic_vs2008.vcproj,
24 progs/demos/Fractals_random/Fractals_random_vs2008.vcproj,
25 progs/demos/Lorenz/lorenzStatic_vs2008.vcproj,
26 progs/demos/Lorenz/lorenz_vs2008.vcproj,
27 progs/demos/One/oneStatic_vs2008.vcproj,
28 progs/demos/One/one_vs2008.vcproj, progs/demos/demos_vs2008.sln,
29 progs/demos/shapes/shapesStatic_vs2008.vcproj,
30 progs/demos/shapes/shapes_vs2008.vcproj,
31 progs/demos/smooth_opengl3/smooth_opengl3Static_vs2008.vcproj,
32 progs/demos/smooth_opengl3/smooth_opengl3_vs2008.vcproj: Adding Visual
33 Studio 2008 solution and project files
35 2009-03-16 Sven Panne <sven.panne@aedion.de>
37 * src/freeglut_init.c,src/freeglut_window.c: Set the default number of
38 samples per pixel to 4 and actually use the value set with
39 glutSetOption(GLUT_MULTISAMPLE,...) in Windows code. Previously the
40 Windows code used a hardwired value of 4 and the GLX code had a
41 default of 0, neither made much sense. Similarly, set the default
42 number of auxiliary buffers to 1 and use that value when GLUT_AUX is
43 used. Note: There latter token has the same value as GLUT_AUX1, and
44 for historical reasons we seem to have 2 APIs to set the number of
45 auxiliary buffers: Explicitly using GLUT_AUX1 ... GLUT_AUX4, and using
46 a combination of GLUT_AUX with glutSetOption. The default of 1 ensures
47 consistent behaviour in both cases.
48 * src/freeglut_state.c: Added GLUT_AUX and GLUT_MULTISAMPLE as possible
49 parameters for glutGet, making things more symmetric with
51 * src/freeglutdll.def: Added missing API entries.
53 2009-03-10 John F. Fay <john.fay.ctr@eglin.af.mil>
55 * progs/demos/demos.dsw: Adding the "smooth_opengl3" demo
57 2009-03-09 John F. Fay <john.fay.ctr@eglin.af.mil>
59 * include/GL/freeglut_std.h: Making the definition of
60 "WIN32_LEAN_AND_MEAN" conditional to enhance compatibility with GLEW
61 per suggestion by Diederick C. Niehorster in e-mail dated Mon 3/9/2009
63 * progs/demos/Fractals/fractals.c: Setting the "fractals" demo initial
64 number of levels to 4 per suggestion from Diederick C. Niehorster
65 [diederick@niehorster.eu] in e-mail dated Mon 3/9/2009 5:29 AM
67 2009-03-01 John F. Fay <john.fay.ctr@eglin.af.mil>
69 * progs/demos/CallbackMaker/CallbackMaker.c,
70 progs/demos/Lorenz/lorenz.c, progs/demos/shapes/shapes.c: Fixing
71 Microsoft compatibility with the new "vsnprintf" by putting an
72 underscore in front of it if WIN32 is defined but __CYGWIN__ is not
74 2009-03-01 Sven Panne <sven.panne@aedion.de>
76 * configure.ac: We do not depend on GLU anymore
77 * README.win32: Added notes for building under Cygwin
78 * src/Makefile.am: To build shared libraries on Windows, one has to
79 declare explicitly that there are no undefined symbols during linking.
80 No idea why, but this seems to be the only way to enable this on
81 Cygwin via -mno-cygwin. Hopefully this won't cause problems on other
82 platforms (which has to be tested).
83 * progs/demos/smooth_opengl3/smooth_opengl3.c: Windows fun again: Use
84 the correct calling convention for OpenGL extension entries.
86 2009-02-28 Sven Panne <sven.panne@aedion.de>
88 * progs/demos/smooth_opengl3/smooth_opengl3.c: When -mno-cygwin is used,
89 we get ancient GL headers, so be a bit more conservative.
90 * progs/demos/Fractals_random/fractals_random.c,
91 progs/demos/Lorenz/lorenz.c, progs/demos/shapes/shapes.c:
92 _CrtDumpMemoryLeaks and its header are Microsoft-specific, e.g. Cygwin
94 * src/freeglut_window.c: Do not try to destroy a GLX context when there
95 is none, e.g. when glXCreateContextAttribsARB is not there.
96 * src/freeglut_joystick.c: Use snprintf or _snprintf instead of the
97 potentially dangerous sprintf to avoid warnings.
99 NOTE: Due to excessive use of #ifdefs, the joystick code is on the
100 border of being unmaintainable! I could only check that it compiles
101 cleanly on my Linux box. Others should test this on their platforms
102 (Windows, Mac OS X, *BSD) to make sure that nothing has been broken.
103 * progs/demos/CallbackMaker/CallbackMaker.c,
104 progs/demos/Lorenz/lorenz.c, progs/demos/shapes/shapes.c: Use
105 vsnprintf instead of the potentially dangerous sprintf to avoid
106 warnings. Using snprintf directly would be a little bit more tricky,
107 because once again Microsoft decided to avoid followind standards and
108 provide _snprintf instead. We could use this, too, but this would
109 require an additional autoconf check, which I'd like to avoid, if
112 Note: If VS *still* issues warnings, but this time about vsnprintf,
113 somebody should add some pragmas or whatever is needed to shut up that
114 warning, it would be silly.
115 * progs/demos/Lorenz/lorenz.c: Position the distance message closer to
116 the middle of the window, it has been far, far off to the upper right.
117 * src/freeglut_internal.h: Synched version number with configure.ac. We
118 should better remove this redundancy and calculate this from
119 configure.ac directly.
121 2009-02-19 John F. Fay <john.fay.ctr@eglin.af.mil>
123 * progs/demos/smooth_opengl3/smooth_opengl3.dsp,
124 progs/demos/smooth_opengl3/smooth_opengl3Static.dsp: Fixing the
125 DOS/Linux line ending problems in the progs/demos/smooth_opengl3
128 2009-02-18 John F. Fay <john.fay.ctr@eglin.af.mil>
130 * src/freeglut_window.c: Fixing a build error caused by a variable
131 declaration being out of place
133 2009-02-15 Sven Panne <sven.panne@aedion.de>
135 * progs/demos/smooth_opengl3/smooth_opengl3.c: Final changes to make the
136 example fully OpenGL-3.0-compliant:
138 * Use vertex attribute arrays.
140 * Use our own projection matrix.
142 * Do not use deprecated vertex/fragment shader variables.
143 * progs/demos/smooth_opengl3/smooth_opengl3.c: Use GLSL shaders (still
144 1.20, though). Dump GL info.
145 * progs/demos/smooth_opengl3/smooth_opengl3.c: Added a commandline
146 option for 'classic' contexts. Aesthetic changes.
147 * progs/demos/smooth_opengl3/smooth_opengl3.c: Use VBOs in new example.
148 Added a few comments.
150 2009-02-14 Sven Panne <sven.panne@aedion.de>
152 * configure.ac, progs/demos/Makefile.am, progs/demos/smooth_opengl3,
153 progs/demos/smooth_opengl3/Makefile.am,
154 progs/demos/smooth_opengl3/smooth_opengl3.c,
155 progs/demos/smooth_opengl3/smooth_opengl3.dsp,
156 progs/demos/smooth_opengl3/smooth_opengl3Static.dsp: Initial version
157 of a fully OpenGL-3.0-compliant of the famous smooth.c from the Red
158 Book. What has been done already:
160 * Explicitly request a forward-compatible 3.0 context
162 * Report GL errors, if any, at a few crucial places
164 * Replaced gluOrtho2D with a home-grown matrix + glLoadMatrixf
166 What remains to be done:
168 * Use vertex shaders and fragment shaders
170 * Use vertex buffer objects
172 2009-02-13 Sven Panne <sven.panne@aedion.de>
174 * README: Mention autogen.sh
175 * src/freeglut_window.c: Synchronized WGL behavior with GLX
176 implementation: Do not call the new context creation API when it is
177 not required. Fixing a bug in a previous commit on the way... :-}
178 * src/freeglut_internal.h, src/freeglut_window.c: More refactorings:
179 Removed useless return value. Simplified control structures even more.
180 * src/freeglut_window.c: Refactoring only (replace nested conditionals
181 with guard clauses), making the normal path of execution much clearer.
182 * configure.ac: We have added some API entries, so we have to update
183 library version information conforming to
184 http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
185 * autogen.sh, configure.ac: Avoid CR\LF vs. LF troubles when using
186 TortoiseSVN plus Cygwin.
187 * .: Ignore config.lt, too. It seems to be generated by recent
190 2009-02-13 John F. Fay <john.fay.ctr@eglin.af.mil>
192 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_window.c:
193 Adding OpenGL 3.0 context detection for Windows per e-mail from Paul
194 Martz dated Thu 2/12/2009 9:03 AM (more or less)
196 2009-02-03 John F. Fay <john.fay.ctr@eglin.af.mil>
198 * README: Adding some instructions about building on a *nix platform to
200 * include/GL/freeglut_ext.h, src/freeglut_main.c: Removing some errant
201 tabs, fixing ticket #2137721, and adding special-key capability to
202 recognizing the NumLock, Delete, and keypad '5' keys
203 * src/freeglut_joystick.c, src/freeglut_main.c: A further response to
204 bug [ 1804696 ] Warnings when building on OpenSolaris -- per comment
205 by Nigel Stewart on that bug report
207 2009-02-02 John F. Fay <john.fay.ctr@eglin.af.mil>
209 * src/freeglut_internal.h, src/freeglut_joystick.c: Fixing bug [ 1804696
210 ] Warnings when building on OpenSolaris as updated 2/2/09 by Nigel
213 2008-11-20 Sven Panne <sven.panne@aedion.de>
215 * src/freeglut_glutfont_definitions.c, src/freeglut_internal.h: Yet
216 another try to make the font definitions compile on all platforms.
218 2008-11-17 John F. Fay <john.fay.ctr@eglin.af.mil>
220 * src/freeglut_glutfont_definitions.c, src/freeglut_internal.h: Allowing
221 "freeglut" to compile without errors under *nix. Before this, there
222 were problems with conflicting definitions of the GLUT font
225 2008-11-06 Sven Panne <sven.panne@aedion.de>
227 * src/freeglut_main.c: Ooops, forgot one file in the previous commit
228 (fix for "--without-x").
229 * configure.ac: Use autoconf to detect gettimeofday instead of broken
232 Note: freeglut compiles under Cygwin now, even when "--without-x" is
233 used for configuration.
234 * configure.ac: We need to link against winmm under Cygwin when
235 --without-x is used to get timeBeginPeriod, timeEndPeriod, joyGetPosEx
237 * src/freeglut_window.c: Fixed first parameter of CreateWindow call,
238 used for multisampling on Windows. It compiles, but it is otherwise
241 2008-11-05 Sven Panne <sven.panne@aedion.de>
243 * src/freeglut_misc.c: Be conservative about the presence of
245 * src/freeglut_glutfont_definitions.c, src/freeglut_stroke_mono_roman.c,
246 src/freeglut_stroke_roman.c: freeglut_internal.h needs some GL types,
247 but it is not self-contained. TODO: Move freeglut.h #include into
248 freeglut_internal.h itself?
249 * src/freeglut_window.c: Removed the annoying "Unable to create direct
250 context rendering..." warning, it served no real purpose, and on some
251 platforms there simply is no such thing as a direct context.
252 * progs/demos/CallbackMaker, progs/demos/Fractals,
253 progs/demos/Fractals_random, progs/demos/Lorenz, progs/demos/One,
254 progs/demos/shapes: Ignore *.exe
255 * src/freeglut_ext.c: Handle new glutInitContext* API entries in
257 * src/freeglut_internal.h: Make freeglut compile under Cygwin, which has
258 an ancient GLX header
260 2008-11-02 Sven Panne <sven.panne@aedion.de>
262 * include/GL/freeglut_ext.h, src/freeglut_init.c,
263 src/freeglut_internal.h, src/freeglut_state.c, src/freeglut_window.c:
264 Added OpenGL 3.0 context creation API entries
266 glutInitContextVersion, glutInitContextFlags
268 and their related constants
270 GLUT_INIT_MAJOR_VERSION GLUT_INIT_MINOR_VERSION GLUT_INIT_FLAGS
272 GLUT_DEBUG GLUT_FORWARD_COMPATIBLE
274 Note that this works with GLX only currently, the glutInitContext* API
275 entries have no effect for WGL yet.
277 TODO: Centralize the context creation code for WGL (the harder part)
278 and use the new wglCreateContextAttribsARB API entry (the easy part,
279 re-use most of the GLX code).
280 * src/freeglut_window.c: Refactored GLX context creation into a single
281 function, centralizing things to be changed for OpenGL 3.0 context
282 creation and removing some cut-n-paste.
283 * src/freeglut_ext.c, src/freeglut_internal.h: Make a
284 wgl/glXGetProcAddress abstraction available internally. We will need
285 this to get the new context creation function.
286 * src/freeglut_misc.c: Do not depend on GLU, it will vanish in the
287 future, at least in its current form.
288 * src/freeglut_internal.h: Removed superfluous #includes.
289 * configure.ac: Fix for bug #1709675 ("probably not be so
290 ISO-conformant"): The C compiler flag -Werror is not used by default
291 anymore, a separate configure flag --enable-warnings-as-errors has
292 been introduced for this purpose, which is off by default.
293 * configure.ac: Added AM_PROG_CC_C_O to configure.ac, removing a warning
294 during autogen.sh. This flag seems to be necessary for per-target
295 flags (used in demo programs) nowadays.
297 2008-07-21 John F. Fay <john.fay.ctr@eglin.af.mil>
299 * configure.ac, src/Makefile.am: Implementing a patch from Jocelyn
300 Frechot (thank you, Jocelyn) that "should enable the XInput extension
301 management with the autotools." See e-mail of Sun 7/20/2008 12:01 PM.
303 2008-07-10 John F. Fay <john.fay.ctr@eglin.af.mil>
305 * src/freeglut_ext.c: Adding "glutExit" to the functions in
306 "fghGetProcAddress" in accordance with an e-mail from Jocelyn Frechot
307 dated Tue 7/8/2008 12:26 PM
309 2008-04-05 John F. Fay <john.fay.ctr@eglin.af.mil>
311 * src/freeglut_main.c: Adding "SC_MONITORPOWER" and other new options to
312 the "wParam" option list (e-mail from Ron Larkin, 3/17/08, 11:00 AM)
314 2007-12-02 John F. Fay <john.fay.ctr@eglin.af.mil>
316 * include/GL/freeglut_ext.h, src/freeglut_display.c, src/freeglut_ext.c,
317 src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
318 src/freeglut_state.c, src/freeglut_window.c: Adding
319 "glutFullScreenToggle" for X11 -- still needs implementation in
320 Windows (e-mail by Jocelyn Frechot, Sun 11/25/2007 11:29 AM)
322 2007-12-01 John F. Fay <john.fay.ctr@eglin.af.mil>
324 * src/freeglut_window.c: Fixing the window position for asynchronous X11
325 implementations (e-mail by Jocelyn Frechot, Sun 11/25/2007 11:29 AM)
327 2007-11-26 John F. Fay <john.fay.ctr@eglin.af.mil>
329 * progs/demos/Fractals/fractals.c: Making a demo program that uses
332 2007-11-12 John F. Fay <john.fay.ctr@eglin.af.mil>
334 * include/GL/freeglut_ext.h, src/freeglut_ext.c, src/freeglut_init.c,
335 src/freeglut_internal.h, src/freeglut_state.c,
336 src/freeglut_structure.c, src/freeglut_window.c: Implementing Jocelyn
337 Frechot's changes -- see e-mail of Thursday, 11/8/2007 9:12 AM.
339 2007-10-02 John F. Fay <john.fay.ctr@eglin.af.mil>
341 * src/freeglut_joystick.c: Removing more Win64 build warnings from
344 2007-09-30 John F. Fay <john.fay.ctr@eglin.af.mil>
346 * src/freeglut_main.c: Removing the final compiler warning when building
347 on Win75 -- thank you, Antonio Mattos.
349 2007-09-29 John F. Fay <john.fay.ctr@eglin.af.mil>
351 * src/freeglut_cursor.c: Removing the remaining compiler warnings from
352 the cursor code, thanks to Antonio Mattos of Brazil. The double
353 type-casting is needed because of a bug in the new MSVC; there is a
354 discussion on the web on this subject.
356 2007-09-25 John F. Fay <john.fay.ctr@eglin.af.mil>
358 * src/freeglut_cursor.c: Changing the cursor definition macro for newer
359 versions of MSVC -- thanks to "Mattos" of Brazil
360 * src/freeglut_window.c: More changes for Jocelyn Frechot's
361 multisampling changes. The library builds now. It still needs some
362 testing with sample cases under X11.
364 2007-09-23 John F. Fay <john.fay.ctr@eglin.af.mil>
366 * src/freeglut_window.c: Fixing a remaining bug in the multisampling
367 change ... there may be more ...
369 2007-09-22 John F. Fay <john.fay.ctr@eglin.af.mil>
371 * src/freeglut_internal.h, src/freeglut_state.c,
372 src/freeglut_structure.c, src/freeglut_window.c: Putting in Jocelyn
373 Frechot's X11 visual context changes. THIS WILL BREAK THE BUILD as I
374 am unable to test it on a Linux machine here. Somebody please test it
377 2007-09-21 John F. Fay <john.fay.ctr@eglin.af.mil>
379 * src/freeglut_init.c, src/freeglut_main.c, src/freeglut_misc.c:
380 Removing compiler warnings in MSVC 2005 build
381 * include/GL/freeglut_ext.h, src/freeglut_init.c: Implementing Larry
382 Ramey's "glutExit" feature (see e-mails from him on 11/9/05, 6/28/06)
384 2007-09-19 John F. Fay <john.fay.ctr@eglin.af.mil>
386 * include/GL/freeglut_std.h, src/freeglut_window.c: Implementing first
387 part of Windows version of "GLUT_CAPTIONLESS" and "GLUT_BORDERLESS"
388 per feature request "[ 1197016 ] need GLUT_CAPTIONLESS window option".
389 Needs more work; menus are slightly mispositioned, X11 version does
390 not support it, banner appears at beginning but disappears on window
391 resize. But this is a start.
392 * src/freeglut_main.c: Fixing Linux key-repeat mode bug reported in "[
393 1796845 ] Keyboard events are lost when key repeat is enabled."
394 * src/freeglut_joystick.c: Fixing a build error on SuSE described in bug
395 report "[ 1792047 ] freeglut_joystick.c error"
397 2007-09-18 John F. Fay <john.fay.ctr@eglin.af.mil>
399 * src/freeglut_window.c: Implementing feature request "[ 947118 ] Popup
400 menu is hidden under the TOPMOST window"
401 * src/freeglut_menu.c: Adding Takeshi Nishimura's Feature Request "[
402 1045202 ] Cope with a menu with many items" -- sorry it took so long.
403 * src/freeglut_window.c: Addressing Feature Request #1307049 that
404 "freeglut" should return 0 if "glutGetWindow" is called without a
405 prior call to "glutInit", rather than terminating on error.
406 * freeglut.dep, freeglut.mak, freeglut_static.dep, freeglut_static.mak:
407 Added Windows "nmake" Makefiles and dependency files for the two
408 "freeglut" projects in accordance with Feature Request #1454543
410 2007-09-16 John F. Fay <john.fay.ctr@eglin.af.mil>
412 * src/freeglut_window.c: Fixing bug #1688954, submitted in Marcy '07. I
413 changed "FREEGLUT" to _T("FREEGLUT") and nothing changed on my Windows
414 XP system. If this will allow it to work on Vista, then in it goes.
415 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c,
416 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
417 Fixing bug report #1052151 from October 2004.
419 2006-11-28 John F. Fay <john.fay.ctr@eglin.af.mil>
421 * FrequentlyAskedQuestions: Adding a Frequently Asked Questions file
423 2006-09-28 Joe Krahn <krahn@niehs.nih.gov>
425 * src/freeglut_state.c, src/freeglut_window.c: Removed incorrect comment
426 about internal WGL/ARB definitions. I actually had put those comments
427 in because I had meant to go back and re-check the WGL extension. But,
428 maybe locally defined extensions should be kept in a separate include
431 2006-09-27 Joe Krahn <krahn@niehs.nih.gov>
433 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp,
434 progs/demos/CallbackMaker/CallbackMaker.dsp,
435 progs/demos/CallbackMaker/CallbackMakerStatic.dsp,
436 progs/demos/Fractals/Fractals.dsp,
437 progs/demos/Fractals/FractalsStatic.dsp,
438 progs/demos/Fractals_random/Fractals_random.dsp,
439 progs/demos/Fractals_random/Fractals_randomStatic.dsp,
440 progs/demos/Lorenz/lorenz.dsp, progs/demos/Lorenz/lorenzStatic.dsp,
441 progs/demos/One/one.dsp, progs/demos/One/oneStatic.dsp,
442 progs/demos/demos.dsw, progs/demos/shapes/shapes.dsp,
443 progs/demos/shapes/shapesStatic.dsp: Undo svn:eol-style=CR/LF for MSVC
446 2006-09-26 Joe Krahn <krahn@niehs.nih.gov>
448 * include/GL/freeglut_std.h, src/freeglut_joystick.c,
449 src/freeglut_state.c, src/freeglut_window.c: Added
450 FREEGLUT_LIB_PRAGMAS to control MS library pragmas, and fixed NOMINMAX
452 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp,
453 progs/demos/CallbackMaker/CallbackMaker.dsp,
454 progs/demos/CallbackMaker/CallbackMakerStatic.dsp,
455 progs/demos/Fractals/Fractals.dsp,
456 progs/demos/Fractals/FractalsStatic.dsp,
457 progs/demos/Fractals_random/Fractals_random.dsp,
458 progs/demos/Fractals_random/Fractals_randomStatic.dsp,
459 progs/demos/Lorenz/lorenz.dsp, progs/demos/Lorenz/lorenzStatic.dsp,
460 progs/demos/One/one.dsp, progs/demos/One/oneStatic.dsp,
461 progs/demos/demos.dsw, progs/demos/shapes/shapes.dsp,
462 progs/demos/shapes/shapesStatic.dsp: Added svn:eol-style=CRLF property
463 to MSVC project/workspace files.
465 2006-09-25 John F. Fay <john.fay.ctr@eglin.af.mil>
467 * src/freeglut_window.c: Fixing a typo bug in the display mode checking
468 (removing multisampling if it is not supported)
470 2006-09-25 Joe Krahn <krahn@niehs.nih.gov>
472 * src/freeglut_state.c: Fixed a small mistake in the previous commit for
474 * src/freeglut_state.c: Added proper support for number of mouse buttons
475 in X11, and a keyboard in Windows CE. Also, several glutGet results
476 returning TRUE/FALSE were changed to 1/0, because the actual return
477 type is int (although they are technically the same in practice).
479 2006-09-24 Joe Krahn <krahn@niehs.nih.gov>
481 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c:
482 Converted Time counter to a uniform unsigned long it value. The
483 initialized flag was redundant with the main Initialized flag, and
484 conversion of timeval to milliseconds in POSIX makes the code cleaner.
485 Timeval has a longer range, but the time value is already limited by
488 2006-09-23 Joe Krahn <krahn@niehs.nih.gov>
490 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c:
491 Removed WindowState.IsGameMode; it is redundant with
492 Structure.GameModeWindow
494 2006-09-21 John F. Fay <john.fay.ctr@eglin.af.mil>
496 * src/freeglut_state.c, src/freeglut_window.c: Adding support for the
497 multisampling query per bug report 1274193
498 * ChangeLog, src/freeglut_main.c: Fixing Bug #1398196 - Windows message
501 2006-09-21 Joe Krahn <krahn@niehs.nih.gov>
503 * src/freeglut_cursor.c: test (comment edited)
505 2006-09-21 John F. Fay <john.fay.ctr@eglin.af.mil>
507 * ChangeLog, src/freeglut_init.c: Adding temporary fix to
508 "glutInitDisplayString" to ignore numerical assignments
509 * ChangeLog, src/freeglut_window.c: Adding multisampling to *nix and
510 Windows; also some other pixel format enhancements to Windows
511 * ChangeLog, progs/demos/CallbackMaker/CallbackMaker.c: Enhancing the
513 * ChangeLog, src/freeglut_cursor.c, src/freeglut_display.c,
514 src/freeglut_ext.c, src/freeglut_gamemode.c,
515 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
516 src/freeglut_input_devices.c, src/freeglut_internal.h,
517 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
518 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_teapot.c,
519 src/freeglut_teapot_data.h, src/freeglut_window.c: Joe Krahn's changes
520 to "TARGET_HOST" defined constants
521 * ChangeLog, src/freeglut_internal.h, src/freeglut_joystick.c,
522 src/freeglut_main.c, src/freeglut_window.c: Fixing two minor bugs,
524 * ChangeLog, src/freeglut_gamemode.c, src/freeglut_internal.h,
525 src/freeglut_menu.c, src/freeglut_state.c, src/freeglut_structure.c:
526 Changing "GameMode" to "GameModeWindow ... and testing whether I can
529 2006-08-05 Sven Panne <sven.panne@aedion.de>
531 * ChangeLog, progs/demos/Fractals/fractals.c,
532 progs/demos/Fractals_random/fractals_random.c,
533 progs/demos/Lorenz/lorenz.c: Check fgets for return value to avoid
535 * freeglut.spec: Fixed typo in date
536 * freeglut.spec: Updated build requirements for SuSE 10.1
538 2005-10-12 Sven Panne <sven.panne@aedion.de>
540 * ., .cvsignore: Ooops, forgot to ingore INSTALL and install-sh in
542 * ChangeLog, include/GL/freeglut_ext.h, include/GL/freeglut_std.h: Moved
543 GLUT_INIT_STATE to <GL/freeglut_ext.h>, it is not part of the original
545 * ., .cvsignore, ChangeLog, INSTALL, autogen.sh, install-sh,
546 mkinstalldirs: Simply use autoreconf in autogen.sh, it is much simpler
547 and the recommended way in the autotools documentation. Removed
548 INSTALL, install-sh and mkinstalldirs, they are either unused or
549 automatically generated by autogen.sh.
551 2005-10-06 John F. Fay <john.fay.ctr@eglin.af.mil>
553 * include/GL/freeglut_ext.h: Allowing compilation of Windows version by
554 removing DLL decorations from deprecated joystick interface extensions
555 * src/freeglut_window.c: Implementing Stereo in Windows
557 2005-09-07 Sven Panne <sven.panne@aedion.de>
559 * ChangeLog, src/Makefile.am: Use target-specific *_CPPFLAGS, not the
561 * ChangeLog, autogen.sh: Use -Wall for automake to catch some buglets,
562 deprecated stuff, etc.
564 2005-09-04 Sven Panne <sven.panne@aedion.de>
566 * ChangeLog, autogen.sh: Silenced autogen.sh
568 2005-08-31 John F. Fay <john.fay.ctr@eglin.af.mil>
570 * freeglut.rc, freeglut.tgt, freeglut.wpj, freeglut_static.tgt:
571 Necessary files for Open Watcom support
572 * src/freeglut_internal.h: Adding Open Watcom support
573 * ChangeLog, README.win32: Documenting support for Open Watcom
574 * include/GL/freeglut_std.h: Implementing WATCOM support
576 2005-07-14 Sven Panne <sven.panne@aedion.de>
578 * src/freeglut_input_devices.c: Nuked useless bit-fiddling, pointed out
579 by John. I was a bit too quick to cut-n-paste the cfmakeraw()
580 definition into our code... :-]
581 * ChangeLog, src/freeglutdll.def: Synched the DLL definitions with
583 * ChangeLog, src/freeglut_cursor.c: Fixed the GLUT_CURSOR_INHERIT logic
586 Note that this commit is untested, but at least it looks better than
587 before. We really a need a cursor test program.
589 2005-07-13 John F. Fay <john.fay.ctr@eglin.af.mil>
591 * src/freeglut_cursor.c: Fixing a cursor bug in \"GLUT_CURSOR_INHERIT\"
593 2005-07-13 Sven Panne <sven.panne@aedion.de>
595 * ChangeLog, configure.ac: Improve autoconf magic: To detect headers
596 like GL/gl.h, it might be necessary to temporarily use the X11 flags
597 found by AC_PATH_XTRA.
598 * ChangeLog, src/freeglut_joystick.c: Avoid gcc warnings for some
599 joystick code (e.g. on Solaris).
600 * src/freeglut_input_devices.c: Tiny cleanup only...
601 * ChangeLog, src/freeglut_input_devices.c: Solaris doesn't have
602 cfmakeraw, but it is only a convenience function for some
603 bit-fiddling, anyway.
605 2005-07-08 Sven Panne <sven.panne@aedion.de>
607 * ChangeLog, include/GL/freeglut_ext.h, src/freeglut_ext.c,
608 src/freeglut_internal.h: Made all the "glutJoystickXXX" functions part
609 of the freeglut extensions. If this is not what we want, we can easily
610 #ifdef this away again...
611 * ChangeLog, src/freeglut_geometry.c: Made a few global arrays "static",
612 avoiding namespace pollution. The only externally visible symbols
613 should either be from the GLUT API ("glutXXX") or internal freeglut
614 entities ("fgYYY"). Reformatted things a bit on the way.
616 2005-07-06 Sven Panne <sven.panne@aedion.de>
618 * ChangeLog, src/freeglut_main.c: We only have pending redisplay
619 callbacks when the window wants to be redisplayed *and* it is visible.
620 Otherwise we won't redraw, anyway, and immediately discover that
621 there's still something to do, etc. etc., leading to 100% CPU load.
622 * ChangeLog, src/freeglut_main.c: Removed redundant code.
623 * ChangeLog, src/freeglut_init.c: X11 only: Destroy the global menu
624 rendering context when deinitializing. The visual/context handling for
625 menus is still rather obscure, though...
626 * progs/demos/Lorenz/lorenz.c: Reverting previous commit: %lf is a valid
627 format specifier for the scanf familiy of functions only, not for the
630 2005-07-05 John F. Fay <john.fay.ctr@eglin.af.mil>
632 * src/freeglut_main.c: Implementing the new menu context variable names
634 * src/freeglut_internal.h: Changing a comment ... nothing big.
635 * progs/demos/Lorenz/lorenz.c: Fixing output formats ... nothing big
637 2005-07-05 Sven Panne <sven.panne@aedion.de>
639 * ChangeLog, src/freeglut_state.c, src/freeglut_window.c: X11 only: Free
640 XVisualInfo structures when they are not needed anymore, fixing a
641 space leak. Not perfect for menus yet...
642 * src/freeglut_internal.h, src/freeglut_window.c: Tiny change to make
643 grep's life easier: Rename the fields of the menu context. Not really
644 worth a ChangeLog entry...
646 IMHO it looks like we could kill the whole MenuContext stuff, it is of
647 no use currently and some things look strange, like e.g. having a
648 context per menu. The latter is not OK when a menu is attached to
651 2005-07-02 Sven Panne <sven.panne@aedion.de>
653 * ChangeLog, src/freeglut_init.c, src/freeglut_internal.h,
654 src/freeglut_main.c, src/freeglut_state.c: Handle modifiers in
655 MotionNotify events, too. This fixes bug #1227920 (glutGetModifiers
656 not set/allowed in mouse callbacks). In addition, some related cleanup
658 * ChangeLog, src/freeglut_joystick.c: Partial fixes for bug #1218900
659 (freeglut-2.4.0 on FreeBSD).
660 * ChangeLog, Makefile.am: Remove wrong "execute" bits when creating a
661 distribution. This fixes bug #961938 (Executable bit set on non exe
663 * configure.ac: Tiny cosmetic change, not worth a ChangeLog entry.
664 * ChangeLog: Added John's missing ChangeLog entry.
666 2005-07-01 John F. Fay <john.fay.ctr@eglin.af.mil>
668 * freeglut.dsp, freeglut_static.dsp: Adding the
669 \"freeglut_input_devices.c\" file to the Windows project files
671 2005-07-01 Sven Panne <sven.panne@aedion.de>
673 * ChangeLog, configure.ac, src/Makefile.am: Some steps toward
674 compilation under MinGW. Note that there are still linking troubles
676 * src/freeglut_internal.h: Fixed #ifdef for ChangeDisplaySettingsEx
678 * ChangeLog, src/freeglut_input_devices.c: Silenced a signed/unsigned
679 mismatched via a cast.
680 * ChangeLog, src/freeglut_internal.h: MinGW is lacking a prototype for
681 ChangeDisplaySettingsEx, so supply one in this case. Note that this
682 should better be handled via autoconf than via cpp.
683 * ChangeLog, Makefile.am: Removed redundant files from EXTRA_DIST.
685 2005-06-30 Sven Panne <sven.panne@aedion.de>
687 * src/freeglut_main.c: Ooops, forgot to set the current window in the
688 last commit. I'll have to test better before comitting... :-]
689 * ChangeLog, src/freeglut_main.c: When a window is iconified, only an
690 UnmapNotify is sent, not a VisibilityNotify, so we have to handle the
691 window status callback in the former case, too. This fixes bug #763442
692 (Call the visibility callback when minimizing a window).
693 * ChangeLog, src/freeglut_main.c: Cleaned up
694 CreateNotify/ConfigureNotify handling.
695 * src/freeglut_main.c: Ooops, forgot to dump a few fields in some
697 * ChangeLog, configure.ac, src/freeglut_main.c: Added --enable-debug
698 configure flag. Currently it only turns on X11 event tracing, but in
699 the future we could add more.
701 Note: freeglut_main.c could benefit from some restructuring to clean
702 up the #ifdefs and cut down the sizes of some extremely long
704 * ., .cvsignore: Ignore files generated during RPM build.
706 2005-06-23 John F. Fay <john.fay.ctr@eglin.af.mil>
708 * doc/freeglut_user_interface.html: Fixing the documentation regarding
709 callbacks and geometry shape additions
710 * progs/demos/Fractals/Fractals.dsp,
711 progs/demos/Fractals/FractalsStatic.dsp,
712 progs/demos/Fractals_random/Fractals_random.dsp,
713 progs/demos/Fractals_random/Fractals_randomStatic.dsp,
714 progs/demos/Lorenz/lorenz.dsp, progs/demos/Lorenz/lorenzStatic.dsp,
715 progs/demos/One/one.dsp, progs/demos/One/oneStatic.dsp,
716 progs/demos/shapes/shapes.dsp, progs/demos/shapes/shapesStatic.dsp:
717 Adding separate static library and DLL demonstration program projects
718 * progs/demos/CallbackMaker/CallbackMaker.dsp,
719 progs/demos/CallbackMaker/CallbackMakerStatic.dsp: Adding separate
720 demo program projects for static library and DLL versions
721 * progs/demos/demos.dsw: Adding support for separate static library demo
723 * ChangeLog: Keeping current ...
724 * src/freeglut_input_devices.c: New file for Joe Krahn\'s dials input
727 2005-06-22 John F. Fay <john.fay.ctr@eglin.af.mil>
729 * src/freeglut_geometry.c: Fixing a bug in the Sierpinski sponge code
730 that made the application crash if called with number of levels < 0
731 * src/Makefile.am, src/freeglut_init.c, src/freeglut_internal.h,
732 src/freeglut_joystick.c, src/freeglut_state.c: Joe Krahn\'s input
733 (dials) device implementation.
735 2005-06-14 Sven Panne <sven.panne@aedion.de>
737 * ChangeLog, freeglut.spec: Added an RPM spec file based on the one
738 shipped with SuSE 9.3.
740 2005-06-10 James Jones <puggles@users.sourceforge.net>
742 * ChangeLog, configure.ac: Release of 2.4.0
744 2005-06-02 James Jones <puggles@users.sourceforge.net>
746 * ChangeLog, configure.ac, src/freeglut_internal.h: 2.4.0 Release
749 2005-05-26 John F. Fay <john.fay.ctr@eglin.af.mil>
751 * src/freeglut_main.c: Takeshi Nishimura\'s changes to make the Windows
752 mouse wheel/button mapping match that of X11; also fixing a typo in
753 the associated mouse callback argument list
755 2005-05-26 James Jones <puggles@users.sourceforge.net>
757 * ChangeLog, configure.ac: 2.4.0 RC4 updates
758 * src/freeglut_main.c: Fix joysticks so they are polled by their timer
759 correctly. (Dan Torop)
761 2005-05-24 Sven Panne <sven.panne@aedion.de>
763 * ChangeLog, src/freeglut_gamemode.c: The original glutEnterGameMode()
764 returns the window id of the game mode window, not TRUE/FALSE, we
765 should better follow that. Note that most man pages claim that this
766 function returns void, but this is definitely wrong.
767 * ChangeLog, src/freeglut_gamemode.c, src/freeglut_main.c: When
768 switching to game mode under X11, no ConfigureNotify event will happen
769 and consequently no reshape callback will ever be called via the
770 normal mechanism. To fix this, note that the game mode window needs to
771 be resized and handle this before redraw.
773 2005-05-22 Sven Panne <sven.panne@aedion.de>
775 * ChangeLog, src/freeglut_ext.c: Guarantee consistency of
776 names/addresses in glutGetProcAddress by using a macro. In addition,
777 this avoids any non-constant initializer issues which might be raised
778 when using WinDoze GCCs. The additional code overhead is negligible,
779 at least for x86 (a few instructions per name).
780 * ChangeLog, configure.ac: Lowering minimum autoconf version required.
782 2005-05-20 James Jones <puggles@users.sourceforge.net>
784 * ChangeLog: Tag for 2.4.0 RC3
787 2005-05-19 Sven Panne <sven.panne@aedion.de>
789 * src/freeglut_gamemode.c: Fixed SF bug #1204256: Off-by-one error in
790 X11 mode switching. The code which changes the X11 video mode has an
791 off-by-one error, resulting in a wrong mode or segfault. I've
792 refactored the code slighty to make it hopefully clearer what's going
793 on and corrected some #ifdefs on the way. Now at least the "One" demo
795 * src/freeglut_window.c: Fixed SF bug #1204261: Mini space leak when
796 creating an X11 window (X11 text property values have to be freed
799 2005-05-18 John F. Fay <john.fay.ctr@eglin.af.mil>
801 * src/freeglut_gamemode.c: Removing a C++ comment and simplifying the
804 2005-05-17 John F. Fay <john.fay.ctr@eglin.af.mil>
806 * src/freeglut_gamemode.c: Misiek\'s changes to fix Game Mode--getting
807 display settings under Windows and setting the window size correctly
808 on all operating systems.
810 2005-05-16 James Jones <puggles@users.sourceforge.net>
812 * ChangeLog: Mark for 2.4 RC 2
814 2005-05-13 John F. Fay <john.fay.ctr@eglin.af.mil>
816 * src/freeglut_menu.c: Removing two unused variables so this will
817 compile on Linux with -Wall
819 2005-05-12 John F. Fay <john.fay.ctr@eglin.af.mil>
821 * ChangeLog: Updating the ChangeLog ...
822 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c:
823 Takeshi Nishimura\'s menu changes--menus should now work properly. Use
824 the GLUT \"GLUTmech\" and \"walker\" demos to test them.
825 * src/freeglut_main.c: Takeshi Nishimura\'s menu fixes
827 2005-05-09 James Jones <puggles@users.sourceforge.net>
829 * ChangeLog, Makefile.am, configure.ac: Freeglut 2.4.0 Release Candidate
832 2005-05-06 Sven Panne <sven.panne@aedion.de>
834 * ChangeLog, progs/demos/shapes/shapes.c: Fixed a cuboctahedron vertex,
835 implemented wire mode for that shape.
836 * ChangeLog, progs/demos/shapes/shapes.c, src/freeglut_internal.h,
837 src/freeglut_main.c: Necessary compilation fixes for newer GCCs (e.g.
838 3.3.5, 4.0). Side effect: The shapes demo has a new 'i' key now.
840 2005-05-05 John F. Fay <john.fay.ctr@eglin.af.mil>
842 * ChangeLog: Updated the ChangeLog again ...
844 2005-05-04 John F. Fay <john.fay.ctr@eglin.af.mil>
846 * progs/demos/shapes/shapes.c: Replacing the original \"freeglut\"
847 \"shapes\" demo with the much snazzier OpenGLUT \"shapes\" demo. Many
848 thanks to the OpenGLUT community for writing it. The copyright notice
849 stays in the program.
850 * src/freeglut_main.c: Changing hard-coded constant (number of mouse
851 buttons = 3) to a \"glutDeviceGet\" call in two places under X11
852 * src/freeglutdll.def: Changing the version number from 2.0 to 2.4.0 ...
853 do we need to add any new interface functions?
854 * src/freeglut_internal.h: Removing an unused variable
855 * src/freeglut_window.c: Adding a comment on why \"freeglut\" differs
856 from GLUT in a particular way
857 * src/freeglut_joystick.c: Removing an unused function
858 * src/freeglut_init.c: Making the \"key repeat\" initialization
859 consistent with the rest of its usage; also making the
860 \"initDisplayString\" ever-so-slightly mroe general
861 * ChangeLog, TODO, src/freeglut_window.c: Updating the ChangeLog and
862 TODO files in preparation for the upcoming release
864 2005-04-29 John F. Fay <john.fay.ctr@eglin.af.mil>
866 * src/freeglut_joystick.c: Adding a \"TODO\" comment about dynamically
867 allocating joystick buttonj and axis arrays
868 * ChangeLog: Updationg the ChangeLog ...
870 2005-04-28 John F. Fay <john.fay.ctr@eglin.af.mil>
872 * README.win32: Adding a \"README.Win32\" file with instructions on how
873 to install \"freeglut\" under Windows.
874 * src/freeglut_main.c: Adding Window Exit event handling to the Windows
875 code; also adding a note that eventually it would be good to handle
876 the Window Entry event
878 2005-04-27 John F. Fay <john.fay.ctr@eglin.af.mil>
880 * src/freeglut_window.c: Fixing bug [ 1111218 ] fullscreen not working
881 Better late than never.
882 * src/freeglut_init.c: Fixing Bug Report [ 1160442 ]
883 glutGet(GLUT_ELAPSED_TIME) is too granular
885 2005-04-26 John F. Fay <john.fay.ctr@eglin.af.mil>
887 * src/freeglut_internal.h, src/freeglut_structure.c: Fixing the
888 typecasts on the callback fetches and invocations to allow
889 \"freeglut\" to compile with GCC 4.0
890 * src/freeglut_menu.c: Fixing erroneous implementation of Takeshi\'s fix
891 * src/Makefile.am: Changing include path from relative to absolute to
892 support off-directory builds (Yuri D\'Elia, March 22, 5:59 PM)
893 * LISEZ_MOI: Adding \"LISEZ-MOI\", the French version of \"README\"
895 2005-04-25 John F. Fay <john.fay.ctr@eglin.af.mil>
897 * ChangeLog: Updating the ChangeLog ... it seems to be something of a
898 stepchild if we\'re not careful.
900 2005-04-22 John F. Fay <john.fay.ctr@eglin.af.mil>
902 * src/freeglut_menu.c: Yuri D\'Elia\'s changes to get the virtual
903 maximum screen extent instead of the actual screen size.
904 * src/freeglut_gamemode.c: Yuri D\'Elia\'s changes to the game mode
906 * src/freeglut_structure.c: Change a hard-coded number to a defined
907 constant and add some initializations
908 * src/freeglut_cursor.c: Removing duplicate cursor code. This and the
909 previous change (in freeglut_main.c) apparently got combined.
910 * ChangeLog: Updating the ChangeLog to reflect activity over the past
912 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
913 src/freeglut_display.c, src/freeglut_gamemode.c,
914 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
915 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c,
916 src/freeglut_window.c: Trying again to change \"fgStructure.Window\"
917 to \"fgStructure.CurrentWindow\" and \"fgStructure.Menu\" to
918 \"fgStructure.CurrentMenu\" for easier maintenance.
920 2005-04-15 John F. Fay <john.fay.ctr@eglin.af.mil>
922 * ChangeLog: Updating the ChangeLog as a means of testing pCVSc
923 * src/freeglut_internal.h: Testing!
925 2005-03-23 Brian Paul
927 * include/GL/freeglut_ext.h: added comment about AUX flags
929 2005-02-16 Brian Paul
931 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
932 src/freeglut_structure.c, src/freeglut_window.c: fixes for menus being
933 attached to multiple buttons/windows (John Fay)
934 * src/freeglut_callbacks.c: added error check (John Fay)
936 2005-02-15 Brian Paul
938 * src/freeglut_init.c, src/freeglut_window.c: AUX buffers for Windows
941 2005-02-11 Brian Paul
943 * include/GL/freeglut_ext.h, src/freeglut_init.c, src/freeglut_window.c:
944 Aux color buffer support. Pass one of GLUT_AUX[1234] to
945 glutInitDisplayMode. Only implemented/tested on GLX, not Windows.
946 * include/GL/freeglut_ext.h, src/freeglut_ext.c,
947 src/freeglut_internal.h: Fix object/function pointer inconsistencies
948 which are a problem for gcc 3.4.2. Added GLUTproc type, returned by
949 glutGetProcAddress().
951 2005-01-23 Sven Panne <sven.panne@aedion.de>
953 * configure.ac: autoconf 2.58 is enough
954 * src/freeglut_callbacks.c, src/freeglut_internal.h: Stylistic change
955 only (added "do { ... } while( 0 )" around multi-statement macros)
956 * configure.ac, src/freeglut_joystick.c, src/freeglut_main.c: Testing
957 for errno.h is overkill. :-)
958 * src/freeglut_cursor.c, src/freeglut_main.c: Windows platforms only:
959 Merged some cursor-related code from John Fay (with minor changes)
961 2005-01-05 Sven Panne <sven.panne@aedion.de>
963 * src/freeglut_ext.c, src/freeglut_font.c, src/freeglut_main.c,
964 src/freeglut_state.c, src/freeglut_window.c: Hopefully removed all
965 damage done by commits without merge
966 * ChangeLog, src/freeglut_cursor.c: Reworked the X11 part of
967 glutSetCursor, fixing bug #764187 (Variable mouse pointers don't work)
968 on the way: * Use slightly more compatible cursor shapes for
969 GLUT_CURSOR_RIGHT_ARROW and GLUT_CURSOR_LEFT_ARROW. * Refactored and
970 fixed the erroneous code for GLUT_CURSOR_NONE. * Removed the incorrect
971 use of XFreeCursor and use a cache of cursors instead. Cursors are
972 never freed now, we could do this e.g. via reference countig if this
973 is really needed. * Fixed error handling. * Unknown cursor types are
974 an error now. * Now the window state always corresponds to the wanted
975 cursorID, even in the case of GLUT_CURSOR_FULL_CROSSHAIR.
977 NOTE: I am not sure where the cursor cache should really reside,
978 currently it is simply a file-local variable.
980 2005-01-03 Sven Panne <sven.panne@aedion.de>
982 * ChangeLog, src/freeglut_gamemode.c: Fixed part of bug #926883 (Video
983 mode matching code, memory leaks, fullscreen), i.e. issue warnings
984 when XF86VidModeFOO fails.
985 * ChangeLog, src/freeglut_gamemode.c: (234) Fixed part of bug #926883
986 (Video mode matching code, memory leaks, fullscreen): Now we first try
987 to get an exact mode match, ignoring the refresh rate if none could be
988 found. This way the X11 part and the WinDoze behave similarly. NOTE:
989 We still don't behave like GLUT, because it has a wider notion of
990 "best" match. We have to refactor and extend freeglut quite a bit to
992 * ChangeLog, src/freeglut_gamemode.c: Fixed part of bug #926883 (Video
993 mode matching code, memory leaks, fullscreen), i.e. memory leak caused
994 by not freeing the mode lines returned by XF86VidModeGetAllModeLines
995 * ChangeLog, src/freeglut_window.c: Improved error message a bit when no
996 suitable visual could be found (X11 only).
997 * configure.ac, src/freeglut_internal.h, src/freeglut_main.c: autoconf'd
999 * src/freeglut_joystick.c: Removed redundant #include
1000 * ChangeLog, configure.ac, src/freeglut_joystick.c, src/freeglut_main.c:
1001 autoconf'd <errno.h> handling and removed an unused '#include
1003 * configure.ac, src/freeglut_joystick.c, src/freeglut_main.c: autoconf'd
1004 <limits.h> and <sys/param.h> handling, removing MIN/MAX macros on the
1006 * src/freeglut_internal.h: Cosmetics.
1007 * configure.ac, src/freeglut_joystick.c: autoconf'd <fcntl.h> and
1008 <sys/ioctl.h> handling
1009 * src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c:
1010 Improved <sys/typed.h> / <unistd.h> handling as suggested by the
1012 * configure.ac, progs/demos/Lorenz/lorenz.c, src/freeglut_internal.h,
1013 src/freeglut_main.c: Fixed <sys/time.h> / <time.h> handling as
1014 suggested by the autoconf docs.
1015 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
1016 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
1017 src/freeglut_font_data.c, src/freeglut_gamemode.c,
1018 src/freeglut_geometry.c, src/freeglut_init.c, src/freeglut_internal.h,
1019 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
1020 src/freeglut_misc.c, src/freeglut_overlay.c, src/freeglut_state.c,
1021 src/freeglut_structure.c, src/freeglut_teapot.c,
1022 src/freeglut_videoresize.c, src/freeglut_window.c: Moved '#include
1023 "config.h"' to freeglut_internal.h, we will need it there soon and it
1024 makes everything a bit shorter.
1025 * ChangeLog: Resurrected my recent additions which were nuked by the
1026 previous commit, adding the latest change on the way. :-(
1027 * acconfig.h: Removed acconfig.h, it is deprecated and we don't need it.
1028 * src/freeglut_cursor.c, src/freeglut_font.c, src/freeglut_init.c,
1029 src/freeglut_structure.c: Make it compile again with "-Wall -pedantic
1030 -Werror", redoing quite a few things I've fixed already a few days
1031 ago. Have today's commits been done by copying instead of merging? :-(
1033 2005-01-03 James Jones <puggles@users.sourceforge.net>
1035 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
1036 src/freeglut_window.c: Changes remove duplicate menu code from
1037 "freeglut_window.c" and put it into one place in "freeglut_menu.c"
1038 where it belongs. - John Fay
1039 * ChangeLog: General ChangeLog Updates
1040 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
1041 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
1042 src/freeglut_gamemode.c, src/freeglut_geometry.c, src/freeglut_init.c,
1043 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
1044 src/freeglut_menu.c, src/freeglut_misc.c, src/freeglut_state.c,
1045 src/freeglut_structure.c, src/freeglut_teapot.c,
1046 src/freeglut_teapot_data.h, src/freeglut_window.c: Adding
1047 initialization checking to all GLUT interface functions and removing
1048 asserts from the rest of the code - John Fay
1050 2005-01-01 Sven Panne <sven.panne@aedion.de>
1052 * ChangeLog, src/Makefile.am: Added missing files from "src"
1053 subdirectory to dist.
1054 * AUTHORS: Synched with project member list on SourceForge
1055 * ChangeLog, Makefile.am, configure.ac: Modernized configure.ac a bit
1056 and added a rule to Makefile.am to update libtool. Note that all gcc
1057 compiler warnings are now on by default.
1058 * ChangeLog, include/GL/freeglut_std.h,
1059 progs/demos/CallbackMaker/CallbackMaker.c,
1060 progs/demos/Fractals_random/fractals_random.c,
1061 progs/demos/Lorenz/lorenz.c, progs/demos/One/one.c,
1062 src/freeglut_cursor.c, src/freeglut_font.c, src/freeglut_init.c,
1063 src/freeglut_teapot_data.h: Make "gcc -Wall -pedantic -Werror" happy.
1064 * ., .cvsignore: Ignore files generated by autoscan.
1065 * ChangeLog, INSTALL, configure.ac, configure.in: Renamed "configure.in"
1066 to the officially preferred "configure.ac".
1067 * stamp-h, stamp-h.in: Removed unused stamp-h* files, configure
1068 generates them (a single stamp-h1, to be exact).
1069 * ChangeLog, Makefile.am: Added eMbedded Visual Tools project/workspace
1070 files to distribution.
1071 * ., .cvsignore: Ignore distribution tar files
1073 2004-12-31 Sven Panne <sven.panne@aedion.de>
1075 * ChangeLog, src/freeglut_main.c: Fixed first bug of #1064195 (two
1076 things when using signals): Don't issue a warning about select when a
1077 non-blocked signal was caught. This makes sense and is more compatible
1079 * ChangeLog, src/freeglut_font.c: Fixed bug #1040435 (glutBitmapString()
1081 * ChangeLog: Alas, the ChangeLog has not the usual ChangeLog format, so
1082 tell (X)Emacs about that fact.
1083 * ChangeLog, src/freeglut_window.c: Fixed bug #1045054 (KeyReleaseMask
1085 * ChangeLog, src/freeglut_state.c: Fixed bug #1087642
1086 (glutDeviceGet(GLUT_DEVICE_KEY_REPEAT) unimplemented).
1087 * ChangeLog, src/freeglut_ext.c: Fixed bug #1079530 (glutGetProcAddress
1088 and geometric objects).
1089 * ., .cvsignore, doc, doc/.cvsignore, include, include/.cvsignore,
1090 include/GL, include/GL/.cvsignore, progs, progs/.cvsignore,
1091 progs/demos, progs/demos/.cvsignore, progs/demos/CallbackMaker,
1092 progs/demos/CallbackMaker/.cvsignore, progs/demos/Fractals,
1093 progs/demos/Fractals/.cvsignore, progs/demos/Fractals_random,
1094 progs/demos/Fractals_random/.cvsignore, progs/demos/Lorenz,
1095 progs/demos/Lorenz/.cvsignore, progs/demos/One,
1096 progs/demos/One/.cvsignore, progs/demos/shapes,
1097 progs/demos/shapes/.cvsignore, src, src/.cvsignore: Improved
1100 2004-12-17 James Jones <puggles@users.sourceforge.net>
1102 * src/freeglut_cursor.c, src/freeglut_display.c,
1103 src/freeglut_internal.h, src/freeglut_menu.c, src/freeglut_misc.c,
1104 src/freeglut_window.c: Some assertion changes / removals from Dr. John
1107 2004-10-06 Brian Paul
1109 * src/freeglut_callbacks.c, src/freeglut_internal.h,
1110 src/freeglut_joystick.c, src/freeglut_state.c: joystick init fixes
1113 2004-10-05 Brian Paul
1115 * src/freeglut_main.c: updated comments (John Fay)
1116 * src/freeglut_init.c, src/freeglut_main.c, src/freeglut_window.c:
1117 improved comments and mouse coord adjustments (John Fay)
1118 * src/freeglut_init.c: more clean-ups, fixes from John Fay
1120 2004-09-23 Brian Paul
1122 * src/freeglut_font.c, src/freeglut_stroke_mono_roman.c,
1123 src/freeglut_stroke_roman.c: font updates from John Fay
1124 * src/freeglut_main.c: more updates from John Fay
1125 * src/freeglut_geometry.c, src/freeglut_init.c: assorted updates from
1128 2004-09-15 James Jones <puggles@users.sourceforge.net>
1130 * src/freeglut_init.c: Fix to glutInit() command-line argument
1131 compaction - Patch #1027724 from takeshi2
1133 2004-09-13 Brian Paul
1135 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
1136 src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1137 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_state.c,
1138 src/freeglut_window.c: more updates from John Fay
1139 * src/freeglut_cursor.c, src/freeglut_gamemode.c,
1140 src/freeglut_geometry.c, src/freeglut_init.c, src/freeglut_internal.h,
1141 src/freeglut_joystick.c, src/freeglut_main.c,
1142 src/freeglut_structure.c, src/freeglut_teapot.c,
1143 src/freeglut_window.c: some function renaming, etc (John Fay)
1145 2004-09-10 Brian Paul
1147 * src/freeglut_callbacks.c, src/freeglut_init.c,
1148 src/freeglut_internal.h, src/freeglut_main.c: joystick updates from
1150 * src/freeglut_cursor.c, src/freeglut_font_data.c,
1151 src/freeglut_gamemode.c, src/freeglut_geometry.c, src/freeglut_init.c,
1152 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
1153 src/freeglut_menu.c, src/freeglut_misc.c, src/freeglut_state.c,
1154 src/freeglut_stroke_mono_roman.c, src/freeglut_stroke_roman.c,
1155 src/freeglut_structure.c, src/freeglut_teapot.c,
1156 src/freeglut_window.c: updated comments from John Fay
1158 2004-08-11 James Jones <puggles@users.sourceforge.net>
1160 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c:
1161 Fix a game mode crashing bug, conditional compilation for Windows, and
1162 comment out some diagnostic prints (John Fay)
1164 2004-08-05 James Jones <puggles@users.sourceforge.net>
1166 * src/freeglut_window.c: Implements Richard Rauch's request that the
1167 warning about indirect rendering contexts be suppressed for his BSD
1169 * src/freeglut_teapot_data.h: Someone used C++ style comments in a C
1170 file... tisk tisk...
1171 * src/freeglut_font.c: Bugfix for "glutBitmapString" so that it now
1172 handles end-of-line characters properly (Richard Rauch)
1173 * README: Incremental update ... (John Fay)
1175 2004-06-29 Brian Paul
1177 * src/freeglut_structure.c: give menu windows the title 'freeglut menu'
1179 * src/freeglut_window.c: move glXMakeCurrent() to after the point where
1180 the window's title is set (helps Chromium)
1182 2004-05-13 James Jones <puggles@users.sourceforge.net>
1184 * freeglut.dsp, freeglut_static.dsp: Add one more header file to MSVC
1187 2004-05-12 James Jones <puggles@users.sourceforge.net>
1189 * include/GL/freeglut_ext.h, include/GL/freeglut_std.h: John Fay:
1190 Direct/indirect rendering context change, fix a bug that somebody
1191 reported (about needing "GLUT_XLIB_IMPLEMENTATION" defined) and remove
1192 a false deprecation of a function.
1193 * src/freeglut_main.c: John Fay: A bug fix re: behavior of the code when
1194 the user clicks the "x" to close a window, and commentary to a message
1195 type with fixes for a Windows event processing bug.
1196 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_state.c,
1197 src/freeglut_window.c: John Fay: Implement the modified logic of the
1198 direct/indirect rendering context.
1199 * src/freeglut_font.c, src/freeglut_font_data.c: John Fay: Implement the
1200 upper end of the bitmapped fonts (beyond ASCII code 127). The fonts
1201 are very close to the GLUT fonts.
1202 * src/freeglut_teapot.c, src/freeglut_teapot_data.h: John Fay: These
1203 files implement the teapot for WINCE.
1204 * src/freeglut_internal.h: John Fay: Remove some obsolete defined
1206 * freeglut.dsp, freeglut_static.dsp: John Fay: Add
1207 "freeglut_glutfont_definitions.c" to the build and tell it to look in
1208 the "include" directory for the <GL/freeglut.h> file.
1210 2004-03-28 Steve Baker <steve@sjbaker.org>
1212 * progs/demos/shapes/shapes.c: Removed unnecessary initialisation.
1213 * progs/demos/shapes/shapes.c: Added a cullface test.
1217 * freeglut_evc4.vcp, src/freeglut_gx.cpp, src/freeglut_init.c,
1218 src/freeglut_main.c: removed .cpp file (using LoadLibrary() instead)
1219 removed modified gx.h file cleaned up all // and tabs
1223 * src/freeglut_main.c: Prevent exceeding array bounds in X11 key-repeat
1228 * freeglut_evc4.vcp, src/freeglut_ext.c, src/freeglut_gx.cpp,
1229 src/freeglut_init.c, src/freeglut_main.c, src/freeglut_misc.c,
1230 src/freeglut_state.c, src/freeglut_window.c: replaced all tabs with 4
1231 spaces replaced all // with /* */ block fixed freeglut_gx.cpp file
1232 with #if TARGET_HOST_WINCE
1236 * src/freeglut_init.c, src/freeglut_main.c, src/freeglut_state.c:
1237 Whitespace conversion - tabs to 4 spaces
1238 * src/freeglut_window.c: Revert X11 fgCloseWindow to 1.38 pre-offscreen
1243 * freeglut_evc4.vcp, src/freeglut_gx.cpp, src/freeglut_main.c: fixed
1244 mouse position and keyboard mapping. added c-wrapper cpp file for
1246 * freeglut_evc4.vcp, freeglut_evc4.vcw, include/GL/freeglut_std.h,
1247 src/freeglut_cursor.c, src/freeglut_display.c, src/freeglut_ext.c,
1248 src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1249 src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_misc.c,
1250 src/freeglut_state.c, src/freeglut_window.c: added support for
1251 WindowsCE (building on top of klimt)
1255 * src/freeglut_main.c: Repeat-key handling for Win32 Utilise both
1256 FreeGLUT state and per-window filtering modes
1260 * ChangeLog: Forgot to update the ChangeLog for the benefit of those who
1261 do not have CVS or Web access.
1262 * configure.in, include/GL/freeglut_ext.h, src/freeglut_internal.h,
1263 src/freeglut_window.c: Completed removal of all support for the
1264 offscreen rendering.
1266 If you wish to do offscreen supportin a portable manner, you will no
1267 longer be able to do so with current versions of freeglut.
1268 * progs/demos/Makefile.am: Removed Makefile support for the offscreen
1270 * progs/demos/One/one.c, progs/demos/offscreen: Removed offscreen demo
1275 * src/Makefile.am: Provide local include path to automake for
1280 * src/freeglut_window.c: Code formatting tweak
1281 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1282 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c:
1283 Resolution of X11 key-repeat handling
1285 glutSetKeyRepeat is global to all FreeGLUT windows in the application
1286 glutIgnoreKeyRepeat is a per-window over-ride
1288 To avoid nasty global X11 state interaction, or GLUT-style event queue
1289 filtering - the approach in FreeGLUT is to use the current key state
1290 XQueryKeymap to detect and ignore KeyRelease/KeyPress pairs that are
1294 http://pyopengl.sourceforge.net/documentation/manual/glutSetKeyRepeat.3GLUT.xml
1295 http://pyopengl.sourceforge.net/documentation/manual/glutIgnoreKeyRepeat.3GLUT.xml
1296 * src/freeglut_callbacks.c, src/freeglut_cursor.c, src/freeglut_ext.c,
1297 src/freeglut_font.c, src/freeglut_font_data.c,
1298 src/freeglut_gamemode.c, src/freeglut_geometry.c,
1299 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
1300 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
1301 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
1302 Stripped out tabs and end-of-line whitespace Differences are in
1307 * src/freeglut_window.c: Resolve [ 853044 ] FreeGLUT menus on Win32 in
1308 task bar and ALT-TAB list CreateWindowEx(WS_EX_TOOLWINDOW,...)
1309 extended style suppresses the popup menu window from the taskbar or
1314 * src/freeglut_init.c: ignoreKeyRepeat mode in FreeGLUT is TRUE by
1315 default For compatibility with GLUT, the mode should be FALSE by
1316 default This issues was probably undetected until now because
1317 ignoreKeyRepeat didn't yet work.
1318 * src/freeglut_main.c: Resolved bug #869765 glutIgnoreKeyRepeat() Fix
1319 (Win32) glutIgnoreKeyRepeat now behaves correctly on Win32
1320 * src/freeglut_internal.h: C++ style comment converted to C style
1322 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
1323 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
1324 src/freeglut_font_data.c, src/freeglut_gamemode.c,
1325 src/freeglut_geometry.c, src/freeglut_init.c, src/freeglut_joystick.c,
1326 src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_misc.c,
1327 src/freeglut_overlay.c, src/freeglut_state.c,
1328 src/freeglut_structure.c, src/freeglut_teapot.c,
1329 src/freeglut_videoresize.c, src/freeglut_window.c: Include freeglut
1330 header via <GL/freeglut.h> rather than "../include/GL/freeglut.h" This
1331 allows some additional flexibility with file layout. It should be the
1332 responsibility of the build environment, rather than at source level.
1333 This change tested on MSVC 6, cygwin and mingw32 gcc and Linux gcc.
1337 * src/freeglut_joystick.c: According to John F. Fay: The variable
1338 "num_axes" should be "joy->num_axes".
1342 * src/freeglut_gamemode.c: Removed nonstandard #warning constructs.
1343 Converted to XXX comments. (These are warnings about gamemode features
1344 not working the same on some systems as on others. The semantics of
1345 gamemode are dubious, since it was never formally documented, and has
1346 for a long time worked in different ways on different systems, so it
1347 is arguable that there is nothing really wrong with systems that don't
1348 support resolution-changes.)
1349 * src/freeglut_callbacks.c: Fixed the bug where glutDisplayFunc() was
1350 effectively invoking glutPostRedsiplay(). This is wrong on the face of
1351 it, and may be at root for some of the annoying "timing" issues we've
1352 had with redisplay events being called inappopriately.
1356 * progs/demos/offscreen/Makefile.am: I had rubbed the
1357 offscreen/Makefile.am off from the shapes demo. I forgot to remove a
1358 couple of references to the shapes.c and shapes.dsp (.dsw?) files.
1359 * configure.in, include/GL/freeglut_ext.h, progs/demos/Makefile.am,
1360 progs/demos/offscreen, progs/demos/offscreen/Makefile.am,
1361 progs/demos/offscreen/offscreen.c: Added "offscreen" demo, a very
1362 simple program that produces an onscreen window and, upon command,
1363 renders a similar offscreen display and writes the result to disk.
1365 Also, modified the build structure for UNIX_X11 to autobuild the demo.
1366 (Not done for WIN32 at this time.)
1368 Also, forgot to previously commit the updated freeglut_ext.h include.
1373 * src/freeglut_window.c: Minor comment adjustments.
1377 * src/freeglut_geometry.c: Refinements to comments
1381 * src/freeglut_joystick.c: Normalized the style of the new joystick a
1383 * src/freeglut_main.c: For some reason, the X "expose" event handler was
1384 *directly* calling the display handler in the client. (Okay, it was
1385 calling a function that operates on the window handle.)
1387 If you have any complexity to the display code, this can be painful to
1388 watch. I can't think of a good reason to do the display immediately,
1389 so I fixed the code to do a glutPostRedisplay().
1390 * src/freeglut_joystick.c: A commit on behalf of John (in turn, and in
1391 part, also on behalf of Thierry).
1393 * Renamed some of the old PLIB functions to have glut* prefixes. (I
1394 guess that there is some thought about exporting them to the API.)
1396 * Changes from Thierry for FreeBSD support, and/or results of testing?
1398 * I re-merged an XXX comment re. NetBSD/amd64 and propogated a comment
1399 on a duplicated #define for FreeBSD. We need the GNU autoconfig stuff
1400 to be updated by someone who groks it, now.
1404 * src/freeglut_init.c: Commit of John's tidying-up of a comment, closing
1405 out an XXX comment that I wrote. Thanks, John.
1409 * src/freeglut_window.c: ...AND a tab snuck into my changes for
1410 GLUT_OFFSCREEN support. Mea culpa.
1411 * src/freeglut_joystick.c: Removed a ^M that snuck into the #pragma for
1412 the new joystick code.
1413 * src/freeglut_window.c: Ooops. We don't want people to be able to
1414 create a subwindow of an offscreen window. (^& This is no longer
1417 (Actually, it would be nice if it would work, but I don't think that
1418 you can subwindow a pixmap in UNIX_X11, and assume that subwindowing
1419 offscreen doesn't work on WIN32, either.)
1420 * ChangeLog: Added entries for the joystick updates and the offscreen
1421 experimental support.
1422 * src/freeglut_joystick.c: Changed a couple of XXX comments. Added a new
1423 one. These all the nest of #ifs in the BSD section of the new joystick
1425 * progs/demos/CallbackMaker/CallbackMaker.c: "Heavy editing" by John to
1426 his CallbackMaker demo.
1427 * src/freeglut_joystick.c: John added a #pragma to the joystick code for
1429 * src/freeglut_internal.h, src/freeglut_window.c: Adds GLUT_OFFSCREEN as
1430 a display mode option. This includes:
1432 * Recognizing the mode when you call glutCreateWindow(). (Offscreen
1433 looks and acts like a top-level window in many ways.)
1435 * During the life of the offscreen "window", various window-management
1436 functions are modified to respect offscreen status.
1438 (Excepting reshaping windows, there is not much useful interpretation
1439 for managment of offscreen areas. Reshaping is possibly more work than
1440 it's worth to support, and GLUT specs allow us to ignore the request.)
1442 * Cleanup for "offscreen" windows is a little different than for
1445 Windows still don't start up quite ideally. Offscreen windows should
1446 probably get a reshape event, but not a display.
1450 * src/freeglut_init.c, src/freeglut_joystick.c: Big import of updated
1451 joystick code from PLIB, with permission from Steve Baker. Most of the
1452 adaptation done by John, with a little bit of testing and changes by
1453 Thierry Thomas and myself. Seems to compile on:
1455 WIN32 Red Hat LINUX FreeBSD NetBSD/amd64
1459 * src/freeglut_main.c: Close a bug whereby events can be delayed
1460 arbitrarily long if they get caught between the socket and the
1461 client-side queue on X, sometime after glutMainLoopEvent()'s loop
1462 quits and before the sleep code is invoked.
1466 * src/freeglut_main.c: Ammended a comment on fgCheckJoystickCallback().
1467 * src/freeglut_main.c: Minor style normalizations to minimize the diffs
1468 between *now* and from before John's changes. No functional changes:
1470 * Removed some hard TABs introduced. * Removed some
1471 spaces-at-end-of-line introduced. * A couple of function calls were
1474 I did this separately only because I don't like messing with other
1475 people's commits. (I don't like feeling like the style police, either,
1476 but when I mess with the commit, there's no room for reverting my
1477 interference if it is deemed undesirable...)
1478 * src/freeglut_main.c: Some changes from John.
1480 The main attraction seems to be correcting a bug with the action-on-
1485 * src/freeglut_main.c, src/freeglut_window.c: Win32 glutIconifyWindow()
1486 patch contributed by John F. Fay Restrict resize callbacks to visible
1487 windows When iconified via glutIconifyWindow(), don't pass (0,0) to
1488 resize callback Note that minimising the window via the menu or
1489 minimise button is not yet resolved.
1493 * src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_structure.c:
1494 Split a few overlong lines.
1496 Adjusted some spacing in a few spots to be more consistant with
1497 freeglut style. Including one unindented if() body.
1499 Eliminated a dead variable.
1500 * src/freeglut_joystick.c: Changed several #ifdef's to proper #if's.
1502 * src/freeglut_main.c: Hm... I thought that I committed this last night.
1505 This is Nigel's modified fgSleepForEvents(), essentially. Take 2.
1509 * include/GL/freeglut_std.h: Three supported win32 compilation
1510 environments: MSVC, Cygwin and MingW32 #pragma is specific to MS
1512 * src/freeglut_internal.h: Explicitly cast function pointer to (void *)
1513 in SET_WCB since all callbacks stored as void pointers suppress gcc
1514 -Wall -pendantic "noise"
1515 * src/freeglut_structure.c: Typesafe handling of temporary window
1516 destroy callback Move assignment out of while test, scope temporary
1517 inside loop Be explicit about assignment/comparison in if test for gcc
1518 peace of mind suppress gcc -Wall -pendantic "noise"
1519 * src/freeglut_internal.h: Three supported win32 compilation
1520 environments: MSVC, Cygwin and MingW32 The windows mmsystem header
1521 need only be included internally to freeglut strdup vs _strdup is
1522 specific to the MS compiler
1523 * src/freeglut_font.c: strlen expects (char *), rather than (unsigned
1524 char *) suppress gcc -Wall -pendantic "noise"
1525 * src/freeglut_cursor.c: Replace assignment of array to struct with
1526 field-by-field assignment suppress gcc -Wall -pendantic "noise"
1527 * src/freeglut_menu.c: glutBitmapString and glutBitmapLength expect
1528 (unsigned char *) rather than (char *) suppress gcc in -Wall
1530 * src/freeglut_joystick.c: Replace #ifdef WIN32 with #ifdef
1531 TARGET_HOST_WIN32, as per FreeGLUT convention
1532 * src/freeglut_init.c: fgState.FPSInterval is unsigned int (GLuint),
1533 environment variable GLUT_FPS can be negative
1534 * src/freeglut_window.c: OpenGL context is not made current on Win32
1535 until fgSetWindow is called. This resolves severe problems observed in
1537 * src/freeglut_window.c: #pragma message is only understood my MS
1538 compiler #if defined(_MSC_VER) .. #endif
1539 * src/freeglut_state.c: Resolve bug 864978 - GLUT_OWNS_JOYSTICK
1541 * src/freeglut_main.c: Tidy nested if/else to suppress gcc -Wall
1542 -pedantic noise gcc suggests explicit braces to avoid ambiguous `else'
1546 * progs/demos/CallbackMaker/CallbackMaker.c,
1547 progs/demos/Fractals/fractals.c,
1548 progs/demos/Fractals_random/fractals_random.c: Configuring with
1549 "--enable-warnings" broke three demos: * CallbackMaker defined, but
1550 did not use, the Joystick() function (a callback for the freeglut
1551 joystick interface). I uncommented the callback-registration. I assume
1552 that it was commented out because it was spammy. (freeglut does
1553 joysticks by polling with a timer.) Perhaps a longer interval than
1554 10ms would be advisable?
1556 * fractals.c used strcpy() without getting the prototype. Added
1557 #include <string.h> at the top.
1559 * fractals_random.c had the same problem as fractals.c.
1563 * src/freeglut_main.c: Moved the window-resize code so that it happens
1564 whenever there is a pending resize for the window, whether or not the
1565 window is visible or in need of a redisplay. The resize is now done
1566 before the visibility and need-to-redisplay checks.
1570 * src/freeglut_structure.c: Got rid of those int/ptr warnings on AMD64.
1571 (The code was casting an {int} to a pointer, and later retrieving the
1572 int by another cast. It should be safe provided that pointers are at
1573 least as big as {int}, but GCC was giving warnings on my system,
1575 * src/freeglut_main.c, src/freeglut_structure.c: Several
1576 test-on-assignment cases have been converted to stop GCC from
1577 complaining about if( a = get_a_value_for_a( ) ) type code.
1581 * src/freeglut_internal.h: Ooops, left some cruft in a comment in the
1582 header when committing the last patch. Cleaned up.
1583 * src/freeglut_callbacks.c, src/freeglut_internal.h,
1584 src/freeglut_structure.c: Wrote SET_WCB() to set a window callback.
1585 This lets us out of using the FETCH_WCB() as an lvalue (which it
1586 shouldn't, since the value of the FETCH is cast to the correct
1587 function-pointer type).
1589 2003-12-15 James Jones <puggles@users.sourceforge.net>
1591 * progs/demos/Fractals/Fractals.dsp: Change the destination directory of
1592 the debug version to "Debug" (John Fay)
1594 2003-12-13 James Jones <puggles@users.sourceforge.net>
1596 * ChangeLog: Release 2.2.0
1600 * src/freeglut_main.c, src/freeglut_window.c: Stripped out TABs that got
1603 There were no changes other than replacing about 10 to 12 TABs with a
1604 visually-suitable number of spaces, so this can probably be blindly
1605 treated as equivalent to the previous versions of the two affected
1608 2003-12-11 Christopher John Purnell
1610 * src/freeglut_internal.h, src/freeglut_structure.c: The deferred window
1611 destruction code was destroying the windows in reverse order. This
1612 cased a crash when the call to glutDestroyWindow() for a sub windows
1613 was immediately followed by a call to glutDestroyWindow() for it's
1614 parent. fgCloseWindows() would call fgDestroyWindow() for the parent
1615 first fgDestroyWindws() would recurse over the children and then
1616 fgCloseWindows() would call fgDestroyWindow() again for the child.
1618 I've replaced the single linked list with one of our two way link list
1619 structures. I've also moved it into fgStructure because that seemed
1620 the consistent thing to do.
1622 I said the the deferred windows destruction causes more problems then
1625 2003-12-11 James Jones <puggles@users.sourceforge.net>
1627 * progs/demos/CallbackMaker/Makefile.am: Include project file in the
1629 * ChangeLog: Updates for 2.2.0 RC2
1630 * progs/demos/demos.dsw: Add shapes to the Visual C workspace.
1631 * progs/demos/shapes/Makefile.am: Package the visual C project file with
1633 * configure.in: Set the version to 2.2.0
1634 * src/freeglut_gamemode.c, src/freeglut_main.c, src/freeglut_window.c:
1635 Nigel Stewart's Win32 window-sizing fix for game mode
1636 * progs/demos/One/one.c: Disable/enable lighting in the "one.c" demo
1638 * progs/demos/CallbackMaker/CallbackMaker.dsp: Add some essentials to
1639 get this program to compile (Nigel)
1640 * src/freeglut_internal.h: Update to reflect 2.2.0 release
1641 * ChangeLog: Note the release of 2.2.0 RC1
1645 * src/freeglut_structure.c, src/freeglut_window.c: John correctly
1646 observed that the initialization {OldHeight} and {OldWidth} in the
1647 window structure should be done for both windows and sub-windows, and
1648 the easiest way to do this is in the
1649 freeglut_structure.c:fgCreateWindow() code. So, transplant one line.
1653 * src/freeglut_main.c: Commit of John's change to stop an infinite-loop
1654 condition when the only windows left are freeglut menu windows, and
1655 correctly calls exit() if we drop out of the main loop without having
1656 requested any freeglut extensions to glutMainLoop() handling.
1660 * progs/demos/shapes/shapes.c, progs/demos/shapes/shapes.dsp: Two from
1663 * Updated shapes.c. I think that it's just reformatting and the
1664 addition of some comments.
1666 * Added shapes.dsp, a Microsoft Visual C++ Developer Studio Project
1667 file for building shapes on WIN32 with MSVC++.
1669 2003-12-03 Christopher John Purnell
1671 * configure.in: Added an option to enable gcc compiler warnings. I've
1672 explicitly excluded the one about adding parentheses.
1676 * src/freeglut_main.c: Touched up several comments, pointing up things
1677 that may be worth reflect- ing upon in the future.
1678 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_window.c:
1679 Hrm. I misunderstood the purpose of {window->State.Width} and
1680 {...Height}. Those are *not* records of the old values, but rather of
1681 the *desired* *new* values, hence it was inappropriate to use them in
1682 ConfigureNotify X11 event handling. Doing so introduced some new
1685 So, I created OldHeight and OldWidth in the window State structure,
1686 and *those* do what I require.
1688 I also stripped out the obsolete comment about getting extra/bogus
1689 reshape events. (Though I maintain that an application should be
1690 robust against them, freeglut should no longer generate them if the
1691 window has not changed size since last reported.)
1695 * src/freeglut_main.c: Changed Create/ConfigureNotify handling in
1698 * Just need to call GETWINDOW() once. Ooops. Heh. * Update
1699 {window->State} with the new size of the window. * If the window-size
1700 has NOT changed, then do NOT call the Reshape event.
1701 * src/freeglut_main.c: Added an "XXX" earmark for post-release
1702 contemplation. (The point is definitely in need of consideration, I
1703 believe, but is not immediately a major bug, so I'd rather not mess
1704 with it at the risk of postponing a release "soon".)
1705 * src/freeglut_main.c: Ensure that the time-out for sleeping is never
1707 * src/freeglut_main.c: Fixed a bug for UNIX_X11 where window reshape
1708 events were causing freeglut to mark the window as *needing* a reshape
1709 (which during general display callback handling would result in
1710 effectively a glutReshapeWindow()).
1712 The code is now system-dependant. It should be abstracted to a
1713 function, but is presently copied in two places. Sorry.
1715 Also, inverted the order of the associated if()/else check (in both
1716 WIN32 and UNIX_X11 branches) since the former "else" part was a
1717 one-line callback invocation.
1719 This fixes two seemingly unrelated bugs that I was seeing in UNIX_X11.
1721 2003-12-01 Christopher John Purnell
1723 * src/freeglut_internal.h: Added missing prototype for new list
1726 2003-11-28 Christopher John Purnell
1728 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1729 src/freeglut_structure.c: Timer optimizations. Made the list of
1730 pendinig timers ordered. Added a free list of used timer structures.
1731 * src/freeglut_callbacks.c: Timer optimizations.
1732 * src/freeglut_window.c: Fixed windows compilation problem with last
1735 2003-11-27 Christopher John Purnell
1737 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c,
1738 src/freeglut_structure.c, src/freeglut_window.c: Window close fix. The
1739 default behaiour should now be the same as with glut.
1743 * src/freeglut_init.c: Added change from Nigel to have resize events
1744 cause redraw events in WIN32. Also slightly reshuffled comments to
1745 deal with line-wrap issues.
1749 * src/freeglut_main.c: John reported, and fixed, a problem that recent
1750 changes caused for the Lorenz demo (seems to be WIN32 specific).
1751 * src/freeglut_structure.c: Update from John: Removed the freeglut hack
1752 of decrementing the highst-window-ID marker when the highest window is
1753 deleted. (This was a half-way measure for an idea that was decided to
1754 be dubious in the first place.)
1755 * configure.in, progs/demos/Makefile.am, progs/demos/shapes,
1756 progs/demos/shapes/Makefile.am, progs/demos/shapes/shapes.c: Added a
1757 new demo (from Nigel) showing some of the basic GLUT geometry shapes.
1758 "shapes" is the name of the demo.
1759 * include/GL/freeglut_ext.h, src/freeglut_geometry.c: Commit of work
1762 Massive rework of the geometric primitive code. Includes a new
1763 primitive (cylinder; solid and wireframe) and corresponding update to
1764 freeglut_ext.h for the prototype.
1765 * src/freeglut_internal.h, src/freeglut_main.c,
1766 src/freeglut_structure.c: More work from John (sorry for
1769 * We forgot to bump our version number in freeglut_internal.h It is
1770 now at 2.0.2 (actually, I think that 2.1.0 might be a better choice),
1771 which is presumably going to be our next formal release. 2.0.1 is
1772 incorrectly identified as 2.0.0 in the header.
1774 * A typo in a comment has been corrected ("than"/"that").
1776 * Numerous "manual" checks for callbacks are omitted now, since
1777 INVOKE_WCB() does this for us. These were holdovers from the
1778 pre-INVOKE_WCB() days. There may be some very subtle changes in
1779 freeglut behavior, since freeglut used to test the callbacks a little
1780 earlier in some cases and may have skipped some minor things (like
1781 changes to the current window) in some special cases, otherwise. It is
1782 not believed that any documented behavior is broken, and it is
1783 unlikely---not to say impossible---that any extant applications will
1784 detect the change. It is even possible that there is no external
1785 behavioral change in freeglut.
1787 This also significantly simplifies some sections of code that used to
1788 have conditional execution. "Unconditional code is simpler code" as
1789 one of the comments used to say.
1791 * Lots of XXX commentary is now removed. Some of it was obsoleted by
1792 other changes, some by changes from John.
1793 * src/freeglut_internal.h, src/freeglut_main.c,
1794 src/freeglut_structure.c: Change from John (I removed a couple of
1795 spaces from a couple of lines in his freeglut_internal.h file where
1796 they were wrapping in EMACS; otherwise, the files are exactly as he
1799 The change unifies the WIN32 and UNIX_X11 code by defining our own
1800 window-handle-type in freeglut_internal.h. This let John rip out some
1801 #if garbage in several places. The result is clearer code.
1807 * src/freeglut_font.c, src/freeglut_geometry.c,
1808 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
1809 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
1810 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c,
1811 src/freeglut_window.c: Numerous style normalizations from John:
1813 * Convert "return( value );" to "return value;" * Normalize spacing
1814 around semicolons. * Remove extraneous parens. * Split multi-statement
1815 lines into multiple lines. (Mostly things of the form: "if( condition
1817 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_window.c:
1818 All changes are from John, except for: (a) I re-inserted the meat of a
1819 comment that I still feel is relavent. (b) I fixed a compile-time
1820 error in the UNIX_X11 code where a variable is declared after
1821 executable code in a block without creating a new sub-block for the
1824 Changes from John include: (a) Style revision. (b) Changes to postpone
1825 the handling of window resizes.
1827 Lots of lines were changed, but I think that thos two cover the ground
1828 that he hit. See the diffs for details.
1830 2003-11-18 Christopher John Purnell
1832 * src/freeglut_cursor.c, src/freeglut_ext.c, src/freeglut_geometry.c,
1833 src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1834 src/freeglut_menu.c, src/freeglut_state.c, src/freeglut_structure.c:
1835 Lots of stuff that John F. Fay pointed out. Plus some changes to
1836 remove gcc warnings.
1838 2003-11-17 Christopher John Purnell
1840 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1841 src/freeglut_state.c, src/freeglut_structure.c: Fix spelling mistake
1842 in a variable name. Added a comment for John Fay. Added the copyright
1843 notice for XParseGeometry source.
1845 2003-11-16 Christopher John Purnell
1847 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1848 src/freeglut_state.c, src/freeglut_structure.c: Made Modifers variable
1849 global as per glut classic.
1850 * src/freeglut_init.c: Removed old unused glutInitDisplayString code.
1851 Reformated new glutInitDisplayString and XParseGeometry code.
1852 * src/freeglut_init.c: Use XParseGeometry for better geometry parsing.
1853 Moved geometry parsing to after fgInitialize() so we can use the
1854 screen size to correctly calculate negative positions in the geometry
1855 string. Copied the code for XParseGeometry from the X11 sources for
1856 use in the Win32 version. freeglut now passes test1 of the glut test
1859 2003-11-15 Christopher John Purnell
1861 * src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1862 src/freeglut_main.c, src/freeglut_structure.c, src/freeglut_window.c:
1863 Removed the state variable BuildingAMenu. Instead pass a new parameter
1864 isMenu to fgCreateWindow(). Elsewhere use window->IsMenu.
1865 * src/freeglut_init.c: freeglut_assert_ready is going to have to go at
1866 some point. But for now I've moved setting fgState.Initalized to
1868 * src/freeglut_callbacks.c, src/freeglut_display.c,
1869 src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1870 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
1871 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c,
1872 src/freeglut_window.c: Replace TRUE with GL_TRUE and FALSE with
1873 GL_FALSE where the type is GLboolean.
1877 * src/freeglut_main.c, src/freeglut_menu.c: Normalized the spacing
1878 around symbols, for the most part. Ho-hum.
1880 2003-11-15 Christopher John Purnell
1882 * src/freeglut_main.c: Added a call to fgDeinitialize() before the call
1883 to exit() in fgError().
1887 * src/freeglut_joystick.c: Style normalizations to the joystick code.
1889 2003-11-15 Christopher John Purnell
1891 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1892 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
1893 Added a new state variable "Initalized". Replaced referenced to
1894 Time.Set with this new variable where appropriate. fgElapsedTime() now
1895 set the start time if Time.Set is false. Moved
1896 glutGet(GLUT_ELAPSED_TIME) handling to before the assert.
1900 * src/freeglut_internal.h: Normalized the internal header's style a bit.
1901 * src/freeglut_init.c: Plowed one more file this morning. Still just
1902 trivial formatting issues.
1904 And I left alone the "INIT DISPLAY STRING PARSING" section, since it
1905 still appears to be in flux.
1906 * src/freeglut_font.c, src/freeglut_gamemode.c: Yet more trivial style
1909 Sorry, but that's all that I'm up to at the moment. On the plus,
1910 excepting the font_data file (which I've been skipping), up through
1911 this file, I think that the code style is pretty close to uniform.
1912 * src/freeglut_font.c: Minor style corrections.
1913 * src/freeglut_display.c: Minor spacing quibble.
1914 * src/freeglut_cursor.c: Added a brief explanatory note to the X code
1915 for GLUT_CURSOR_NONE.
1917 Corrected the indentation of a block of code.
1918 * src/freeglut_window.c: Noted one of a few cases where we do something
1919 immediately that could more efficiently be postponed, quite
1920 easily---and which GLUT promises *is* to be postponed. (It is unlikely
1921 that the difference will break any apps, but postponing should be
1924 No real change, just a comment in the code.
1928 * ChangeLog: Updated ChangeLog for the day.
1929 * include/GL/freeglut_std.h, progs/demos/One/one.c, src/freeglut_ext.c,
1930 src/freeglut_font.c: Removal of all remaining TABs in the freeglut
1931 *.[ch] files. (I missed a few in the "one" demo, it seems, and some
1932 more crept back into freeglut_(ext|font).c, presumably due to my own
1933 edits when I forgot to use the "freeglut-c-mode" in EMACS.)
1934 * progs/demos/One/one.c: Moved glutInit*() functions ahead of
1935 glutInit(). (This is proper use of glutInit() in general, since it
1936 allows the user to override settings via {argc, argv} command-line
1938 * progs/demos/One/one.c: Style normalizations: Removed CRs and hard TABs
1940 * ChangeLog, src/freeglut_structure.c: Corrected the numbering of the
1941 ChangeLog (there were two (110)s).
1943 Added entries summarizing my commits since September or late August,
1944 for the benefit of those lacking both CVS and web access.
1945 * progs/demos/demos.dsw: Added CRs to the ends of all lines in MS
1946 developer studio demos.dsw file..
1950 * src/freeglut_main.c: John's fix for the minimize/close/maximize
1951 controls no longer working. WIN32 expected us to pass the message on
1952 up the chain (or do something else with it), rather than just throwing
1953 away the event, for a certain class of events. (See the diffs for more
1956 The code is also slightly reformatted from what was previously in the
1958 * freeglut.dsp, freeglut_static.dsp,
1959 progs/demos/CallbackMaker/CallbackMaker.dsp, progs/demos/demos.dsw: A
1960 *.dsp file for CallbackMaker in the demos.
1962 Plus updated *.dsp and *.dsw files to reflect the new freeglut header
1965 NOTE: The prior version of the *.dsw file does not in fact have CRs. I
1966 thought that it did. For consistancy, I am not putting them in in this
1967 version, either. (At least one person said that his MSVC++ system is
1968 happy with the current files. If there are problems, we can easily add
1969 the CRs, but that should be a separate commit...)
1970 * configure.in, progs/demos/CallbackMaker,
1971 progs/demos/CallbackMaker/CallbackMaker.c,
1972 progs/demos/CallbackMaker/Makefile.am,
1973 progs/demos/Fractals_random/fractals_random.c,
1974 progs/demos/Makefile.am: New demo from John: CallbackMaker.
1976 This demo shows the use of every callback that you can register with
1977 freeglut, and also generates event reports so that you can see what is
1978 happening to the program as it runs.
1980 Not much to look at, but both utilitarian and a practical example.
1982 Please double-check that I updated everything that needs to be
1983 updated. I reran autogen.sh and ./configure, and it built okay for me.
1985 * src/freeglut_structure.c: Hm. I thought that I already hit this file
1986 for style normalization. Oh well... Should be no functional changes.
1987 Should be pretty close to in-line with the style of changes that I've
1988 been making else- where.
1989 * src/freeglut_structure.c: Ooops. Forgot that we already had a call to
1990 fgClearCallBacks() in the code and added a second one. I just deleted
1992 * src/freeglut_structure.c: Added Nigel's suggested code to clear all
1993 but the destroy callback early on, leaving Destroy to be cleared later
1994 after the last possible point where it should be invoked.
1995 * src/freeglut_menu.c: Modified the menus to refer to {border} rather
1996 than {FREEGLUT_MENU_BORDER}, in fghDisplayMenuBox(). The local
1997 variable was already defined and used for some purposes, so we might
1998 as well use it throughout. It does serve to shorten and clarify the
1999 code a bit---though I have mixed feelings about creating aliases that
2002 Still, the variable already existed and was already used in places.
2003 (We could even move it into the freeglut state, or make it a {const
2006 Oh well. Stuff to ponder.
2007 * src/freeglut_cursor.c: Well, a couple of days have gone by, so I
2008 assume that items (a) and (b) in the freeglut_cursor.c file's "Open
2009 issues" comment are now satisfactor- ily closed.
2011 I also partially implemented some error-checking, using my limited
2012 understanding of how Xlib users are supposed to do this. (No one
2013 commented about the lack of error-checking, pro or con. Perhaps
2014 someone will care to comment now?)
2016 At present, it just will print out a warning, via fgWarning(). In part
2017 because I'm not sure what is best to do, and in part because failure
2018 to set the cursor type is probably not a fatal problem.
2020 2003-11-08 Christopher John Purnell
2022 * progs/demos/Fractals/Makefile.am,
2023 progs/demos/Fractals_random/Makefile.am,
2024 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Applied
2025 Braden McDaniel's non-srcdir build patch.
2029 * src/freeglut_menu.c: A first pass over freeglut_menu.c to bring it in
2030 line with the rest of freeglut's style. Mostly re-indenting and
2031 splitting long lines. For those that may be concerned: No, I didn't do
2032 any more arrangments of the form (CONST == a) rather than (a ==
2034 * progs/demos/Fractals_random/fractals_random.c: Altered the way that
2035 the {random} value (from 0..3) is chosen.
2037 Previously, it picked out two adjacent bits in the result of rand().
2038 Unfortunately, these adjacent bits (at least on NetBSD) have a certain
2039 amount of dependance. After a period (perhaps a thousand or so?), it
2040 starts to repeat the pattern of those two bits. (I think; I haven't
2041 actually tested that directly.) This presumably is locking it into a
2042 an an N-way attractor on the "snowflake", such that if you zoom in a
2043 ways, you will start to see some spots *quickly* are colored, and
2044 others are *never* colored.
2046 What I've done now is to pick up two widely-spaced bits in a single
2047 rand() call. (Perhaps we would do as well to pick up something like
2048 bit #16 from two consecutive rand() calls?) These widely-spaced bits
2049 have a lower statistical dependance on one another (if I can get away
2050 with using that term for an arithmetic operation; though since stats
2051 has more to do with sampling and less to do with true randomness, I
2054 The net effect, at leats on NetBSD, is far better snowflake if you
2059 * src/freeglut_main.c: From John:
2061 [This] implements the visible/invisible for Windows. It does NOT call
2062 the visibility callback, though.
2063 * src/freeglut_main.c: Stripped out the now truly extraneous {braces} in
2066 if( ... ) { INVOKE_WCB( ... ); }
2068 Check for compiling on WIN32.
2069 * src/freeglut_internal.h: Adopted Eero Pajarre's suggestion of using a
2070 do { ... } while rather than { ... } for the INVOKE_WCB() macro. This
2071 lets it be used "more like a function", in that:
2073 if( ... ) INVOKE_WCB( ... ); else ...
2076 * src/freeglut_main.c: Pure code janitoring: Shuffled the order of some
2077 of the case statements in the UNIX_X11 X event processing loop. (In
2078 general, it's nice to have case statements sorted, especially when you
2079 have a *huge* switch statement like this. That makes it easier to find
2080 the one that you're looking for, and to see if a certain case is
2082 * src/freeglut_main.c: Combined EnterNotify and LeaveNotify event
2083 processing in the UNIX_X11 event loop.
2084 * src/freeglut_main.c: Added ReparentNotify case to UNIX_X11 event loop,
2085 to catch the extraneous ReparentNotify event types (type 21).
2086 * src/freeglut_internal.h, src/freeglut_structure.c: Oh well, I might as
2087 well add the call to clear callbacks on window destruction. Also
2088 renamed the function to do this: fgClearCallBacks(). Ho-hum.
2089 * src/freeglut_internal.h, src/freeglut_structure.c: Added
2090 fgInitCallBacks() to freeglut_structure.c. (The function takes an
2091 {SFG_Window *}.) Added prototype to freeglut_internal.h. Added use of
2092 the function to the window initialization. (Don't count on calloc(),
2093 which sets all bits to 0.)
2094 * src/freeglut_gamemode.c: Style normalization; removal of
2095 say-nothing-useful comments.
2096 * src/freeglut_font.c: Normalized the style of freeglut_font.c No
2097 substantial alterations.
2098 * src/freeglut_ext.c: Somewhat normalized the style of this file.
2100 Also moved the "glutMouseWheelFunc" extension down into the
2101 "extensions" part of the table. (Purely internal organization. It will
2103 * src/freeglut_display.c: Further normalization of the code's style. No
2104 substantial changes.
2105 * src/freeglut_cursor.c: Split one last overlong line in
2107 * src/freeglut_cursor.c: Added GLUT_CURSOR_NONE support in UNIX_X11
2108 (well, NetBSD; you lot need to try it on others; (^&).
2110 Deallocated some resources that we are creating. VERY slight memory
2111 leak, but plugged now.
2113 These two complete the first two "Open issues" ( (a) and (b) ). The
2114 first one also completes X support for glutSetCursor(). If others can
2115 verify, we can fully demote the outstanding bug over this to
2118 I'll delete the dead Open issues and re-letter the others if someone
2119 will cross-check me. Or if no one says anything in a day or two. (^&
2120 * src/freeglut_cursor.c: Further normalized the style of the cursor
2122 * src/freeglut_callbacks.c: Slight style improvements. Two rules of
2123 thumb that are almost always good to apply:
2125 * Don't write a == CONST. Instead, write CONST == a. Or, more
2126 generally (in C like languages): Avoid putting an lvalue on the
2127 left-hand side of an == comparison. (For consistancy, I try to avoid
2128 lvalues on the left- hand side of any comparison---but == is the most
2131 (An "lvalue" is a value that can safely go on the left side of an "="
2132 assignment, of course. (^&)
2134 * Do not write if( !condition ) return; other_thing; return;
2136 (See page 18 of K&P's _The Elements of Programming Style_.)
2138 Instead, it is better to just write:
2140 if( condition ) other_thing; return;
2142 There are times when sacrificing structured programming (e.g., via
2143 multiple return statements) is okay. But, here, there is no apparent
2144 gain---indeed, there seems only loss---in the non-structured code.
2145 * src/freeglut_main.c: Grr. Forgot to enable the "freeglut" C
2146 programming mode in EMACS, and had a few TABs in the last commit. This
2148 * src/freeglut_main.c: Minor corrections to the UNIX_X11 mouse-wheel
2149 support. In part this reflects that {button} is already shifted to the
2150 GLUT numbering, and hence should be counted as 3&4, 5&6, etc.
2152 The other change was simply to clarify the computation of {direction}.
2153 The original code did some clever arithmetic. The new code is more
2154 straightforward, even if it requires more lines to express.
2158 * src/freeglut_main.c: Ooops. I screwed up on part of John's fixes.
2161 I think that I have his fix properly committed now. Mea culpa.
2162 * src/freeglut_callbacks.c, src/freeglut_internal.h,
2163 src/freeglut_main.c, src/freeglut_structure.c: Cleanup pass after
2164 committing callback conversion (from structure to array-of-pointers).
2165 Mostly deleted commented-out struct-based code. Also added some XXX
2166 comments that I though should be pondered. (My own pair of eyes, and
2167 one brain cell, were not sufficient at this time to decide what to do
2168 for those ponderables. (^&)
2169 * src/freeglut_callbacks.c, src/freeglut_init.c,
2170 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
2171 src/freeglut_misc.c, src/freeglut_structure.c: Converted the
2172 "Callbacks" structure (with named members holding individual callback
2173 pointers) to a "CallBacks" array in fgState. (This is to allow us to
2174 write a loop to clear all callbacks from windows when the window is
2175 dead/dying. Using this, we can safely assign NULL to each in a loop.)
2177 Support includes two new macros, FETCH_WCB() and INVOKE_WCB(). See
2178 freeglut_internal.h for more details there.
2180 Some typedefs of function pointer types were altered to make them more
2181 uniform (necessary for the macros).
2183 All references to window-based callbacks in freeglut are updated to
2186 Old usages will cause compile-time errors.
2188 As a side bonus, the new invocation macro sets the current window and
2189 checks pointers so that these common steps can be uniformly done on
2190 every window-based callback. This makes it easier to do things right.
2191 At the same time, the array notation (and now required associated
2192 casts) make it harder to bypass the macros and abuse the function
2193 pointers, in general.
2195 After this commit, I will go through the code and clean up dangling
2196 issues about formatting. This commit is just a "it now works, let's
2197 checkpoint it" type of affair.
2198 * src/freeglut_main.c: From John, a couple of lines needed to be changed
2199 to fix the mouse wheel support on WIN32.
2200 * progs/demos/Fractals_random/fractals_random.c: Update from John:
2201 Includes mouse button, mouse motion, and mouse wheel support.
2205 * src/freeglut_menu.c: Multiple changes from John. Style issues, plus a
2206 bug-fix to check a pointer before deallocating some memory.
2208 He also removed one obsolete comment, and added some more comments.
2209 * src/freeglut_main.c: Some changes, mostly from John. Mostly style
2212 One bug fix from John: Execution state bug-fix in glutMainLoop(), per
2215 One fix from me: Changed "if( ButtonPress )" to "if( pressed )".
2216 {ButtonPress} is a constant.
2217 * progs/demos/Fractals_random/fractals_random.c: Per John's emailed
2218 desire to have all files obey UNIX EOL conventions, I have stripped
2219 out carriage returns from this file.
2221 This is the *only* change, but every line is touched. If you want to
2222 see the real differences between older and newer versions, you will
2223 have to get local copies of each and first match their EOL
2225 * progs/demos/Lorenz/lorenz.c: Update from John:
2227 I [John] added a feature to check for memory leaks under Windows.
2228 * progs/demos/Fractals_random/fractals_random.c: Update from John:
2230 I [John] converted everything to double precision to avoid compiler
2231 warnings. I also added a feature to check for memory leaks under
2232 Windows and removed a memory leak (surprise!).
2233 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
2234 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
2235 src/freeglut_gamemode.c, src/freeglut_geometry.c,
2236 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
2237 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
2238 src/freeglut_misc.c, src/freeglut_overlay.c, src/freeglut_state.c,
2239 src/freeglut_structure.c, src/freeglut_teapot.c,
2240 src/freeglut_videoresize.c, src/freeglut_window.c: Got rid of the
2241 G_LOG_DOMAIN junk, per discussion on the mailing list.
2242 * src/freeglut_callbacks.c: Minor formatting quibbles. (The brain isn't
2243 up to anything more serious at the moment.)
2244 * src/freeglut_main.c: Missed a block where one level was 2-space
2247 Nit-picked a few other lines for consistancy.
2251 * src/freeglut_init.c: Fixed a memory leak (thanks for the correction,
2254 Smoothed over some code style issues while I was here, but left the
2255 init-string parsing alone for now.
2256 * freeglut13.dsp, freeglutdll.dsp, freeglutstatic.dsw: Deleted 3 files
2257 (again?) from CVS, on John's request. Old/obsolete MSVC++ project
2258 files. (freeglut13.dsp, freeglutdll.dsp, freeglutstatic.dsw)
2259 * src/freeglut_main.c, src/freeglut_structure.c: * Indentation issues. *
2260 Pulled some common code into a nicely packaged function. * Found some
2262 * src/freeglut_main.c: Heh.
2264 Forgot to wrap the fgGetXModifiers() in a #if. Fixed.
2265 * src/freeglut_main.c: Extracted some common code to a subroutine, in
2266 glutMainLoopEvent(). (The common code was a snippet to compute X
2267 keyboard modifiers as a bit-mask of GLUT symbols.)
2268 * src/freeglut_main.c: Caught a few more little style issues.
2269 * src/freeglut_main.c: Added a "case" for an X event that we turn on but
2270 do not use. ({MapNotify}). We already caught {MappingNotify} and
2272 * src/freeglut_main.c: * Fixed a bug in the X11 handling of
2273 scrollwheel/mouse. The old code, I believe, checked if *either* a
2274 wheel or button callback was set, and then decided which to use---and
2275 unconditionally called it. I left the "either" check in, but added
2276 additional checks before actually doing the invocation. * Lots of
2277 reformatting. Massive. The usual suspects, though, and fairly trivial:
2278 Re-indenting to standard size, shuffling some spaces to match the
2279 freeglut "standard" of: if( ... ) ...and: func( ... )
2283 * src/freeglut_callbacks.c: Cleaned up one macro definition.
2285 Picked up an over-long line that I missed before.
2286 * src/freeglut_callbacks.c: Fit some long lines to 80 columns.
2287 * src/freeglut_cursor.c, src/freeglut_display.c,
2288 src/freeglut_gamemode.c, src/freeglut_geometry.c: Last of the hard
2289 TABs in the src/*.c files.
2290 * src/freeglut_init.c, src/freeglut_joystick.c, src/freeglut_main.c,
2291 src/freeglut_menu.c, src/freeglut_state.c: En masse removal of most (I
2292 think) of the remaining hard TABs in files. There are still a couple
2293 of files that need to be hit.
2294 * src/freeglut_window.c: Picked up some stray TABs scattered in this
2296 * src/freeglut_window.c: Noted by XXX comments that the XFlush() calls
2297 probably shouldn't be there. Flushing the X protocol stack every
2298 little bit both adds clutter to the code and may impede performance.
2300 It seems that we should be able to get rid of these, though allowing
2301 client code to directly call glutMainLoopEvent() does make it a little
2304 Something to ponder.
2305 * src/freeglut_window.c: Polished off the say-nothing-new comments and
2306 lines-over-80-columns in freeglut_window.c
2308 There should be no functional changes.
2309 * src/freeglut_window.c: Missed a few say-nothing-new comments in
2310 fgOpenWindow(). Eeep. Should be better now. (^&
2311 * src/freeglut_window.c: Cleansed fgCloseWindow(): * say-nothing-new
2312 comments axed. * de-TABbed. * Made the white-space to be consistant.
2313 * src/freeglut_window.c: Cleaned up fgOpenWindow(): * Removed TABs. *
2314 Made indentation consistant. * Deleted say-nothing-new comments. *
2315 Changed an *error*check* from an assert to an if(). (The error-check
2316 was on window creation; we don't want to lose that if the user
2317 compiles with asserts deactivated. Also, assert()s really tell us more
2318 about programming errors, rather than run-time errors, so it is a
2319 little misleading to use assert() for error-checks, even if you can
2320 depend upon assert()s never being compiled away to null statements.) *
2321 Added some XXX comments for things that bear some rumination.
2322 * src/freeglut_window.c: Cleanup to fgSetWindow(). The usual suspects: *
2323 Removed tabs. * Made indentation consistant. * Killed off
2324 say-nothing-new comments.
2325 * src/freeglut_window.c: Cleanup to fgSetupixelFormat(). Should be no
2328 Code facelift included:
2330 * Consistant indentation. * Removal of all TABs (there were a bunch).
2331 * Fit to 80 columns.
2332 * src/freeglut_window.c: There should be no changes to code
2333 functionality, though a fair bit of little changes to the code
2336 * Fit the comments at the start of the file to fit 80 columns. * Noted
2337 an unusual feature of the ATTRIB() macro. * Added ATTRIB_VAL() macro
2338 which is really just two ATTRIB()s. This lets us put things like
2339 {ATTRIB (GLX_RED_SIZE); ATTRIB (1);} on one statement: {ATTRIB_VAL
2340 (GLX_RED_SIZE, 1);}. I did this to preserve some of the layout of
2341 information while also avoiding the nasty semi-visible ";" in the
2342 middle of a line of code. And by putting the {braces} in the macro
2343 definition, I was able to visually clean code of the form: if
2344 (condition) { ATTRIB( X ); ATTRIB( 1 ); } ...rewriting as: if
2345 (condition) ATTRIB_VAL( X, 1 ); * Eliminated a bunch of
2346 say-nothing-new comments in fgChooseVisual(). * Combined some
2347 semi-useful comments into a block comment summarizing a loop.
2351 * src/freeglut_structure.c: Finished off most of the issues with
2352 freeglut_structure.c, from a stylistic point of view (at least,
2353 insofar as: The original file's code was INCON- SISTANT. I did not
2354 remove the "!= NULL" stuff, did not address the shortest-branch-first
2355 issue for if-else statements, and left some rather ugly "if (x) {...
2356 return y} /* else do this */ return NULL;" garbage. This should, I
2357 think, be re-written as "if (x) return y; else return NULL;" or even
2358 better, "ret = NULL; if (x) ret = y; return ret;"
2360 In short, the code still has some issues, but I think that it's a bit
2363 (Oh, I also got rid of oustanding TABs.)
2364 * src/freeglut_structure.c: Eliminated most of the say-nothing-new
2367 Fit most of the code to no more than 80 columns.
2369 Raised some issues about completeness/correctness of trying to
2370 decrement the max-window-ID (apparently in order to partially recycle
2371 some window IDs to slightly slow the rate of growth of window IDs). (I
2372 didn't change what the code does, though.)
2374 The functionality of the code should be unchanged.
2375 * src/freeglut_main.c: Forgot to set {direction} explicitly to +/- 1 for
2376 freeglut mouse-wheel API on MS-WINDOWS. Oops.
2378 Now it should always report +/- 1 on MS-WINDOWS, per the spec.
2379 * src/freeglut_main.c: Minor fix to allow for multiple ticks to be
2380 received at one time by the WIN32 code. Take abs(direction) as the
2381 number of ticks, and count it down.
2383 <stdlib.h> *should* be included by freeglut_internal.h, I think, so it
2384 should be okay; otherwise add a suitable #include.
2385 * src/freeglut_main.c: Grrr. My attempt to commit got aborted, and the
2386 commit message was lost. Now I've lost track of what I said I'd done.
2389 * Fixed some issues with multiple wheels. * Noted in comments some
2390 issues about other-than-3-real-buttons. * Fixed formatting to fit 80
2391 columns. * Removed some BCPL/C++ style comments (//) that are not
2392 legal, and which, if memory servers, are not even strictly legal when
2393 disabled by preprocessor directives. E.g.,
2395 #if 0 not-syntactically-valid-C #endif
2397 ...is not legal. Though most cpp's will discard the bracketed material
2398 completely before the main C compiler pass has a chance to analyze the
2399 syntax. (MSVC++ and GCC both don't seem to mind the BCPL style
2400 comments in plain C, but let's keep the sources clean, eh?) * Fixed a
2401 problem that would have caused freeglut to report doubled wheel events
2404 Not tested other than compiling. Personally, I think that the
2405 interface is inherently broken at this point unless you are willing to
2406 get user- configuration. (Which would then solve the complaint that
2407 Steve had about computing the tick-size on behalf of applications.)
2408 I.e., there is NO WAY to know if we have the right buttons to start
2409 wheels at, or if there are any buttons after the first wheel(s), etc.
2410 We just have to guess---and if we are wrong, we can get varying
2411 degrees of brokeness.
2413 2003-10-29 Christopher John Purnell
2415 * src/freeglut_window.c: There is a problem with the way I did
2416 glutFullscreen() in my last commit. So I've copied the way the game
2417 mode does it. It's not ideal but it works. The glutGet() for the
2418 window border sizes will also have to be fixed at some point.
2419 * src/freeglut_window.c: Rewrote glutFullscreen(). It now correctly
2420 places the window in X11. It now uses system dependant code for more
2421 efficient use of windowing system calls.
2425 * src/freeglut_joystick.c: Should be no real changes to the code
2428 I missed a few lines that went past 80 columns. (^&
2430 Also made formatting more consistant.
2432 Added a couple of XXX comments re. FreeBSD vs. general BSD #ifdef's.
2433 * src/freeglut_joystick.c: Should be entirely superficial changes to
2436 * Fit lines to 80 columns. (It does get tiresome seeing long lines
2437 forced to break by the right-hand border of windows...(^&) *
2438 Eliminated say-nothing-new comments. * Made formatting more consistant
2439 in spots. * Eliminated some hard TAB characters.
2440 * src/freeglut_joystick.c: Added Thierry's change to include
2441 sys/param.h. This lets us pick out version numbers for OS releases
2442 corresponding to system headers.
2444 I modified it to also work with NetBSD; I cannot confirm if it is safe
2445 with any other systems, so it remains protected by a #if.
2446 * src/freeglut_state.c: Deleted some say-nothing-new comments.
2448 Added some XXX's where comments seemed to require future attention.
2450 Added some new comments with XXX's where future attention seems
2452 * src/freeglut_state.c: Deleted a bunch of say-nothing-new comments.
2453 Someday, there shall be an end to them.
2454 * src/freeglut_state.c: Previous changes were made without the freeglut
2455 major mode in EMACS. Re-tweaked some lines (mostly got rid of some
2456 TABs, but also resulted in some changed indentation).
2458 Reformatted a big comment to fit to 80 columns.
2460 Removed bogus references to "Linux". (UNIX, and/or X11 were relavent,
2461 and "UNIX/X11" was substituted for "Linux" in those places. This
2462 includes UNIX-alike systems.)
2463 * src/freeglut_state.c: Rewrote the TODO BEFORE THE STABLE RELEASE
2464 comment to fit to 80 columns.
2466 Cleanup of fghGetConfig(). (One return statement, simpler code.)
2468 Made glutSetOption() have a more consistant style---and also got its
2469 lines to stay under 80 columns.
2470 * src/freeglut_misc.c: Got the last of the say-nothing-new comments in
2473 (I would have picked them up before, but wanted the bug-fix and
2474 conversion-to-error-message changes to go in before I did more
2476 * src/freeglut_cursor.c, src/freeglut_main.c, src/freeglut_misc.c: *
2477 Fixed a bug that I introduced in fgWarning()/fgError(): I thought that
2478 ((a) || (b)) was defined to have value as: (a) if (a) != 0 (b) if (a)
2481 ...instead, it has value 0/1. This was causing a bug. It's probably
2482 just as well, since what I was trying to do definitely fell into the
2483 category of "clever code" rather than "clear code".
2487 * Made glutSetKeyRepeat() call fgError() if you go out of range. (The
2488 old code silently did nothing---not even a warning.)
2490 If it is really desirable to keep running, we should probably at least
2491 generate an fgWarning().
2493 * Deleted some say-nothing-new comments.
2495 * XXX added: Is glutSetKeyRepeat() deprecated?
2499 * include/GL/freeglut_ext.h, src/freeglut_callbacks.c,
2500 src/freeglut_ext.c, src/freeglut_internal.h, src/freeglut_main.c:
2501 Commit, mostly of work from John:
2503 * Removed some say-nothing-useful comments. * Added some tentative
2504 mouse-wheel support. * Fairly massive reformatting of code.
2506 I made some secondary changes to his changes:
2508 * One compilation error was fixed (missing close-paren + semicolon). *
2509 Deleted a few ore say-nothing-useful comments. * Some of John's code
2510 was strangely formatted to the point that it seemed completely out of
2511 place, so I took the liberty of reformatting it. Since I used GNU
2512 EMACS's <tab> key (which re-indents rather than inserts TAB
2513 characters), I had to propogate some indentation changes a little
2514 further than the bare necessity to match up with John's changes. (John
2515 seems to shoot for 2-space indents, while EMACS (and I, I confess)
2516 strongly prefer 4-space indents. The code that I was re-indenting had
2517 been put to 8-space indents, however.)
2519 I have *not* tested the code beyond compiling. I assume that John did
2520 (and that the compilation error was a result a minor change just
2521 before asking me to commit).
2522 * src/freeglut_cursor.c: Re-indentation style changes from John.
2524 There should be no alterations to how the code performs.
2526 (I modified how the X11 section of the set-cursor code is indented to
2527 slightly better match (IMHO) the rest of his changes.)
2531 * src/freeglut_menu.c: Converted a few "x != NULL" tests to "x" for
2534 I think that I've touched enough lines of source for one morning.
2535 * src/freeglut_menu.c: Cleaned up a little redundancy in a comment on
2536 the {menu_pen_*} variables.
2537 * src/freeglut_menu.c: Removed about 90 lines of say-nothing-new
2540 The code should be functionally unaltered by these changes.
2541 * src/freeglut_menu.c: Propogated a pointer-check from menu-attach to
2542 menu-detach. (Apparently, in some cases, the Menu member variable can
2545 Corrected the menu-attach code to make sure that both Window and Menu
2546 pointers are non-NULL (rather than "at least one").
2548 Rewrote button-checks to more simply and more clearly assert that the
2549 "menu button" is a valid button for menu actions: Instead of
2550 laboriously comparing against the three valid buttons (0, 1, 2 or
2551 GLUT_BUTTON_*), we do a simpler range-check and the upper bound is
2552 {FREEGLUT_MAX_MENUS}, allowing us to change the number of menuable
2553 buttons fairly easily in the future.
2555 Also deleted a few say-nothing-new comments.
2556 * src/freeglut_menu.c: Cosmetic changes (mostly deleted a few more
2557 say-nothing-new comments). The functionality of the code should be
2559 * src/freeglut_menu.c: Changed an "#elif TARGET_HOST_UNIX_X11" to
2560 "#else", since this simply governed menu aesthetics. I think that it's
2561 better to have a default that works than to break completely, should
2562 freeglut ever be ported to a new (non-WIN32, non-UNIX/X11) target.
2563 * src/freeglut_menu.c: Minor modifications to the menus:
2565 * Updated an old "TODO BEFORE STABLE" comment.
2567 * Expanded a comment re. some #define macros.
2569 * Made colors and font choice system dependant. The UNIX freeglut
2570 menus look more like UNIX GLUT menus, now. (This is PURELY a cosmetic
2571 change. But it achieves better compatibility visually.)
2572 * src/freeglut_main.c: Cleaned up glutMainLoop() a bit:
2574 * Deleted numerous say-nothing-new comments. * Reformatted a
2575 say-something-useful comment to fit on an 80-column display.
2576 * src/freeglut_main.c: Partially (re-?)unified some of the
2577 glutMainLoopEvent() code. The only code that really needs to be
2578 system-specific is the window event handling, which in MS-WINDOWS is
2579 tucked into a separate function. In UNIX/X11, it's all spilled out
2580 into glutMainLoopEvent() for some reason.
2582 If the X11 code could be tucked into another function,
2583 glutMainLoopEvent() could be platform-independant.
2587 * src/freeglut_main.c: Moved the idle callback out of
2588 glutMainLoopEvent() and into glutMainLoop(), per discussion on the
2589 list. The code looks okay, to me, though I remain less than wholly
2590 convinced that treating idles as special cases is the best way to go.
2591 Still, a case can be made for taking "non-event" idle callbacks out of
2592 the "event loop". From an organizational perspective, I think that
2593 it's an improvement, and it fixes a bug for at least one program.
2594 * src/freeglut_menu.c: Added John's text-positioning modification.
2596 The lines that he was altering were very oddly-split, so while I was
2597 at it, I repaired the line-break damage.
2598 * src/freeglut_joystick.c: Committed change from Nigel to fix the
2599 joystick bug. (The joystick code was not setting the GLUT window prior
2600 to calling callbacks.)
2602 Please verify. If so, this closes out, I think, the latter half of
2603 that bug report, so anyone with the means to modify/close bug reports
2604 should do so upon verification of the fix.
2605 * src/freeglut_main.c: Superficial cleanup of the code. Mostly taking
2610 /* * <Enslish recapituation of the single following C statement> */
2611 <single C statement>
2615 ... <single C statement>
2617 freeglut_main.c still has a lot of that in it, but it looks a bit
2619 * src/freeglut_init.c: Added some error-checking (particularly w.r.t.
2622 Deleted numerous 4-line "padding" sequences of C-as-English trans-
2623 literation comments.
2625 Re-indented some (but not all) code that is using 2-space indentation.
2626 (Most of the freeglut code seems to be using 4-space indentation.)
2628 I did not touch the "INIT DISPLAY STRING PARSING" code, since it is
2629 filled with a ton of over-long lines and also appears to be in more
2630 flux than the rest of the code. (Well, I added one error-check to a
2632 * src/freeglut_font.c: Removed two more bogus "carriage return"
2633 references where the comments were in fact talking about a line feed
2634 (a.k.a. newline, LF, ^J, \n, ...).
2635 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c:
2636 Fixed the buglet about failing to report the program's name on error-
2637 messages. Please test. (Modified glutInit(), the state structure, and
2638 the warn/err functions.)
2640 2003-10-23 James Jones <puggles@users.sourceforge.net>
2642 * ChangeLog: Released 2.0.1
2644 2003-10-21 Christopher John Purnell
2646 * configure.in, include/GL/Makefile.am, include/GL/freeglut.h,
2647 include/GL/freeglut_std.h, include/GL/glut.h,
2648 progs/demos/Fractals/Makefile.am,
2649 progs/demos/Fractals_random/Makefile.am,
2650 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am,
2651 src/Makefile.am: Added --disable-replace-glut option to autoconf
2654 2003-10-15 James Jones <puggles@users.sourceforge.net>
2656 * NEWS: Noted the release of 2.0.0
2657 * configure.in: Version bump
2661 * src/freeglut_font.c: Swept the freeglut_font.c for comment cleanup: *
2662 Got rid of the "rewrite C as English" comments. * Corrected several
2663 bogus references to "carriage returns" (in strings). The symbols were
2664 newlines or EOLs or LFs (\n). They were *not* carriage returns or CRs
2665 (\r). * Clarified the comments on glBitmap() calls.
2669 * progs/demos/Fractals/fractals.c,
2670 progs/demos/Fractals_random/fractals_random.c: Small bug-fix that's
2673 Modified the two Fractals* demos so that they only clear (for the
2674 random one) or redraw (for the non-random one) if there is need to do
2675 so. (E.g., pressing the space bar should not clear and redraw the
2676 random fractal since no parameters are altered.)
2677 * src/freeglut_cursor.c, src/freeglut_display.c: Removed the obsolete
2678 hack (or very ill-conceived dream), fgDisplayCursor().
2679 * src/freeglut_display.c: Cleaned up some of the style issues (mostly
2680 "fluff" comments) in freeglut_display.c.
2681 * src/freeglut_cursor.c: Comment-cleaning sweep.
2683 Mostly got rid of the say-it-in-English comments that were adding 1
2684 line of English and 2 or 3 lines of filler for each of several lines
2685 of C code. Updated a couple of other comments, and tweaked some
2687 * src/freeglut_callbacks.c: Cleaned up the comments a bit in the
2688 callbacks.c file (mostly removed some of the
2689 kill-4-lines-to-translate-one-line-of-C-into-English comments).
2693 * src/freeglut_cursor.c: Added all missing GLUT cursor types for X11.
2695 (Type NONE is not properly supported, yet.)
2697 Corrected behavior for the several old types: * Wrong glyphs. *
2698 Reversed glyphs (left/right confusion!)
2700 There are some remaining imperfections, but it's a lot closer to GLUT
2705 * src/freeglut_callbacks.c: Three tidying-up changes to the code of
2706 freeglut_callbacks.c; none of them are Earth-shattering, but as I
2707 swept through looking somewhat more systematically for errors, I
2708 picked these off. See the diff's for details.
2709 * src/freeglut_callbacks.c: Fixed a basic readability/style error in the
2710 code. (Two statements per line are almost never a good idea; in this
2711 case the combined line was past 80 columns.)
2712 * src/freeglut_callbacks.c: Added a safety-check on a memory allocation.
2713 (Timers were using dynamic memory allocation but NOT checking the
2715 * src/freeglut_menu.c: Committed two lines from John to help fix the
2717 * src/freeglut_callbacks.c: Check the glutDisplayFunc() callback for
2718 being a NULL pointer. This is illegal and is disallowed in GLUT 3.0+,
2719 so we disallow it too in freeglut 2.0.1+
2723 * progs/demos/Fractals/fractals.c,
2724 progs/demos/Fractals_random/fractals_random.c: Applied John's updated
2725 ReadConfigFile() changes to the fractals demos.
2726 * progs/demos/Fractals_random/fractals_random.c: Fixed: * glutInit()
2727 ordering w.r.t. glutInit*() and {argv} processing. * Aspect ratio. *
2728 Removed depth-buffer usage. (Also done for Fractals in previous
2730 * progs/demos/Fractals/fractals.c: A few minor changes: * glutInit*()
2731 calls should preceed glutInit(), per se, generally. This is so that
2732 glutInit()'s configuration (which picks up on user parameters) can
2733 override application defaults. * glutInit() should be called before
2734 ANY attempt to process {argv, argc}. This is because there may be
2735 GLUT/freeglut parameters (such as "-display" on X11). * If the window
2736 is tall and skinny, rather than short and squat, we need to handle
2737 aspect ratios differently.
2739 The first is a user-interface bug. The second is a serious bug
2740 (especially since the demo assumes that argv[1] contains a filename).
2741 The third is a display bug.
2745 * src/freeglut_main.c: Changed CreateNotify (in X11 ONLY) to act like a
2746 ConfigureNotify event.
2748 This is done so that subwindows on X11 will get "resize" events when
2749 they are created. Old GLUT did this---presumably by design in order to
2750 ensure that (a) All windows get notified of their size as soon as the
2751 window exists, and (b) probably more importantly, so that windows and
2752 sub-windows behave as much alike as possible. I believe that GLUT was
2753 right to do this, and I believe that compatibility requires this (I
2754 have a sample program that breaks in freeglut but not GLUT without
2757 I did not touch the Microsoft side, because I don't know what their OS
2758 does---nor if old GLUT was historically system-dependant about this.
2760 2003-10-08 Eric Sandall
2762 * ChangeLog, src/freeglut_menu.c: freeglut_menu.c:217,519,532: Fix menus
2763 to stay in the window (John Fay)
2767 * src/freeglut_menu.c: Several updates from John and myself.
2769 The broad outlines are:
2771 * Color schemes are now in variables, are closer to old GLUT, and are
2772 system dependant (as old GLUT did). * You can change the font to any
2773 bitmapped font more easily, which can aid in finding a better
2774 approximation. (Old GLUT does not seem to have used a GLUT font for
2775 the menus, which causes problems for us.) The menus rescale
2776 automatically, including the triangle "arrow" for sub-menus. * Menus
2777 have real borders, and the placement of highlighting is much improved.
2778 * src/freeglut_main.c: Fixed a bug in the menu callback behavior. Menus
2779 were not setting the current window correctly.
2781 2003-10-06 Eric Sandall
2783 * ChangeLog, src/freeglut_menu.c: freeglut_menu.c:328 Fix submenu
2786 2003-10-04 James Jones <puggles@users.sourceforge.net>
2788 * ChangeLog, src/freeglut_main.c, src/freeglut_structure.c: Tweaking for
2789 menu behavior in Linux regarding mouse whatnot - John Fay
2793 * src/freeglut_joystick.c: Applied a patch from "extraeme@netbsd.org" to
2794 add joystick support. Untested, but it compiles for me.
2796 Should also add Joystick support for older FreeBSD systems. Also
2798 * src/freeglut_main.c: Added support for more arbitrary number of mouse
2799 buttons (though only the first three can work with menus), in X. This
2800 closes a compatibility gap with old GLUT, and leaves us the option of
2801 supporting scroll-wheels properly.
2803 2003-09-27 Christopher John Purnell
2805 * progs/demos/Fractals/Makefile.am,
2806 progs/demos/Fractals_random/Makefile.am,
2807 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Don't
2810 2003-09-26 James Jones <puggles@users.sourceforge.net>
2812 * progs/demos/Makefile.am: Package the demos.dsw file.
2813 * progs/demos/demos.dsw: Demos workspace for MSVC users
2817 * src/freeglut_main.c: Corrected a bug w.r.t. display and joystick
2818 events. When getting ready to sleep, we need to go through ALL windows
2819 to check for pending joysticks and to check for pending redisplays. I
2820 was just going through all TOP- LEVEL windows. Eeek. This won't do.
2822 2003-09-23 Brian Paul
2824 * progs/demos/Fractals_random/fractals_random.c: added needClear flag to
2825 take care of initial window clear and window resize clears
2829 * src/freeglut_init.c: Per Nigel Stewart's comments, converted
2831 #ifdef TARGET_HOST_...
2837 in src/freeglut_init.c. These changes should not have any functional
2838 impact at this time, but you don't want bad examples lying around to
2839 trip people up later.
2840 * progs/demos/Fractals_random/fractals_random.c, src/freeglut_main.c,
2841 src/freeglut_window.c: Fixed: * GLUT_SINGLE now should behave more or
2842 less correctly. Thanks to Brian Paul!
2844 * Sleeping is now cognizant of outstanding redisplays.
2846 * Fractals_random has been restored more or less to as-before, save
2847 that it uses the more minimal glFlush() rather than glutSwapBuffers().
2848 glutSwapBuffers() was only required when freeglut was incorrectly
2849 handling promotion to double-buffering.
2853 * src/freeglut_main.c: Moved the #include/#ifdef/#define stuff up to the
2856 Changed #ifdef to #if, per Nigel(?)'s comment. Ooops.
2858 2003-09-22 Christopher John Purnell
2860 * progs/demos/Fractals/Makefile.am,
2861 progs/demos/Fractals_random/Makefile.am,
2862 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Fix to
2863 allow demos to compile before freeglut has been installed.
2865 2003-09-22 James Jones <puggles@users.sourceforge.net>
2867 * progs/demos/Fractals_random/fractals_random.c: Add an idle function to
2868 ensure that the screen gets drawn even when callbacks are not
2869 generated by the mouse/keyboard.
2871 2003-09-21 James Jones <puggles@users.sourceforge.net>
2873 * progs/demos/Fractals/fractals.c,
2874 progs/demos/Fractals_random/fractals_random.c: Note the possible
2875 buffer overflow in window_title
2876 * progs/demos/Fractals/fractals.c: Fix the window title.
2877 * progs/demos/Fractals_random/fractals_random.c: Fix window title, and
2878 ensure that the random integer is not forced to be zero (Thanks
2881 2003-09-20 James Jones <puggles@users.sourceforge.net>
2883 * src/freeglut_main.c: Richard Rauch's patch to ensure that freeglut
2884 does not use 100% CPU even while idling.
2885 * src/freeglut_font.c: Resolution for bug 809561 reported by Nigel
2886 Stewart, regarding a possible array underflow error of -1 in the event
2887 of "character" being zero.
2889 2003-09-14 Christopher John Purnell
2891 * configure.in, progs/demos/Fractals/Makefile.am,
2892 progs/demos/Fractals_random/Makefile.am,
2893 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am,
2894 src/Makefile.am: Removed unused AC_PROG_RANLIB from configure.in Added
2895 passing of $(X_CFLAGS) to compiler.
2897 2003-09-14 James Jones <puggles@users.sourceforge.net>
2899 * include/GL/glut.h: Resolve bug 806008 -- let Microsoft's compiler know
2900 to use Windows libraries even if not using our project files.
2902 2003-09-13 James Jones <puggles@users.sourceforge.net>
2904 * ChangeLog: Taking care of keeping things mostly up-to-date
2905 * TODO: Most everything's been resolved for the 2.0.0 release.
2906 * src/freeglut_joystick.c: Thierry Thomas said that FreeBSD has no
2907 machine/joystick.h, instead a sys/joystick.h. I've made the change --
2908 here's hoping it works.
2909 * progs/demos/One/one.c: Removed the incorrect relative path for
2910 including freeglut.h
2911 * progs/demos/Fractals/Makefile.am,
2912 progs/demos/Fractals_random/Makefile.am,
2913 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Made all
2914 demos compile. Thanks to Thierry Thomas for reporting bug 802809,
2915 which alerted that *none* of the demos compiled automatically!
2916 * src/freeglut_main.c: Nigel Stewart's joystick fix (for hopefully all
2917 platforms), SourceForge bug 805481
2918 * progs/demos/Lorenz/lorenz.dsp, progs/demos/One/one.dsp: Fix location
2919 of the include files from a fixed to relative path. Closes bug 805477
2920 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp, freeglutstatic.dsw:
2921 Add dos line endings. Fixes bug 805476
2923 2003-09-10 Christopher John Purnell
2925 * src/freeglut_joystick.c: A minor fix to that last commit.
2926 * src/freeglut_joystick.c: Removed some remaining glib depandancy.
2928 2003-09-10 James Jones <puggles@users.sourceforge.net>
2930 * src/freeglut_main.c: Re-add catches for the case in which a menu
2931 callback destroys the menu. - John Fay
2933 2003-09-09 Christopher John Purnell
2935 * src/freeglut_main.c: More to fix a deinitialization related crash.
2936 * src/freeglut_structure.c: Fix for a deinitialization related crash.
2938 2003-09-08 James Jones <puggles@users.sourceforge.net>
2940 * src/freeglut_main.c, src/freeglut_structure.c: Menus should deallocate
2941 better now - John Fay
2943 2003-09-05 James Jones <puggles@users.sourceforge.net>
2945 * Makefile.am: Add freeglut_static.dsp to the releases
2947 2003-09-03 Christopher John Purnell
2949 * src/freeglut_gamemode.c: Moved #ifdef for non XFree86 X11 compile.
2951 2003-09-02 Christopher John Purnell
2953 * src/freeglut_window.c: Fix to stop fgSetWindow(NULL) crashing on X11.
2955 2003-08-29 James Jones <puggles@users.sourceforge.net>
2957 * src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_structure.c:
2958 These change a bunch of assignments to calls to set the current window
2959 correctly, and also (possibly) fixes most of the remaining menu
2961 * src/freeglut_main.c: Another typecast bugfix from John Fay
2963 2003-08-28 Christopher John Purnell
2965 * src/freeglut_init.c: Changed #ifdef to #if
2967 2003-08-28 James Jones <puggles@users.sourceforge.net>
2969 * src/freeglut_font.c: change the GLUT stroke function arguments from
2970 "const char *" to "const unsigned char *" - John Fay
2971 * include/GL/freeglut_ext.h, include/GL/glut.h: Changes stroke function
2972 arguments from "const char*" to "const unsigned char *" - John Fay
2974 2003-08-28 Christopher John Purnell
2976 * freeglut-1.3: Removing files from old freeglut-1.3 directory.
2978 2003-08-28 James Jones <puggles@users.sourceforge.net>
2980 * src/freeglut_callbacks.c, src/freeglut_geometry.c,
2981 src/freeglut_init.c, src/freeglut_joystick.c, src/freeglut_main.c,
2982 src/freeglut_menu.c, src/freeglut_structure.c: Casting changes, John
2985 2003-08-27 James Jones <puggles@users.sourceforge.net>
2987 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
2988 src/freeglut_menu.c: Major overhaul to the menu system, by John Fay
2990 2003-08-27 Christopher John Purnell
2992 * include/GL/freeglut.h, include/GL/freeglut_ext.h, include/GL/glut.h:
2993 Added double underscores to the header included macros.
2995 2003-08-20 Christopher John Purnell
2997 * src/freeglut_gamemode.c: Minor typo fix
2999 2003-08-19 Christopher John Purnell
3001 * src/freeglut_gamemode.c: Moving that "#if TARGET_HOST_UNIX_X11" to the
3004 2003-08-17 Christopher John Purnell
3006 * ChangeLog, src/freeglut_gamemode.c, src/freeglut_internal.h,
3007 src/freeglut_window.c: Game mode fixes from Bernhard Kaindl and Eric
3010 2003-08-05 Christopher John Purnell
3012 * src/Makefile.am, src/freeglut_menu.c, src/freeglut_window.c,
3013 src/mwmborder.c: Using override_redirect instead of motif wm hints. It
3014 now rasies the menu windows before showing them. Move the show to
3015 after the reshape and position so we don't get a flash of the menu
3016 window at it's old size and position.
3017 * src/mwmborder.c: I suspect a lot of people will not have motif
3020 2003-08-05 Eric Sandall
3022 * ChangeLog, src/Makefile.am, src/freeglut_window.c: (98)
3023 src/Makefile.am:34 Added mwmborder.c (99) src/freeglut_window.c:67
3024 Removed #included "mwmborder.c"
3025 * ChangeLog, src/freeglut_main.c: src/freeglut_main.c:816 and :1571, set
3026 the current window (John F. Fay)
3028 2003-08-04 Christopher John Purnell
3030 * src/freeglut_state.c: Added X11 code for
3031 glutGet(GLUT_WINDOW_BORDER_WIDTH) and
3032 glutGet(GLUT_WINDOW_HEADER_HEIGHT).
3033 * src/freeglut_internal.h, src/freeglut_state.c: Replacing
3034 glutGet(GLUT_WINDOW_X) and glutGet(GLUT_WINDOW_Y) on X11 with
3035 something that works. Also a minor correction to the xf86vidmode
3038 2003-08-04 James Jones <puggles@users.sourceforge.net>
3040 * src/freeglut_window.c: Keep the X11 decoration-zapping code confined
3041 to X11-using platforms! Oops!
3042 * src/freeglut_window.c, src/mwmborder.c: Menus' decorations are removed
3043 on Linux. Not sure if we want the mwmborder.c a separate file or not;
3044 doing it separate for right now. Makefile was not updated, since the
3045 .c is just #included.
3047 2003-08-03 Christopher John Purnell
3049 * configure.in: Got rid of configure warnings when using a newer
3052 2003-08-02 Christopher John Purnell
3054 * src/freeglut_glutfont_definitions.c, src/freeglut_internal.h: Putting
3055 stuff back that was undone with the menu code committed.
3057 2003-08-02 James Jones <puggles@users.sourceforge.net>
3059 * src/freeglut_callbacks.c, src/freeglut_display.c,
3060 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
3061 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
3062 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
3063 Major menu changes (they appear in their own window, have own
3064 rendering context) by John Fay and a little by James C. Jones. They
3065 work perfectly on Win32, and work... on Linux.
3067 2003-08-01 Christopher John Purnell
3069 * configure.in, src/Makefile.am, src/freeglut_glutfont_definitions.c,
3070 src/freeglut_internal.h: Added autoconf detection for the xf86 vid
3073 2003-08-01 Eric Sandall
3075 * ChangeLog, src/freeglut_window.c: src/freeglut_window.c:551 Removed
3076 extra carriage return for Windows users (John F. Fay)
3077 * ChangeLog: Credit Dave Reed for fix
3078 * ChangeLog, src/freeglut_internal.h: src/freeglut_initial.c:91 Added
3079 check for SOLARIS OS
3081 2003-07-23 Christopher John Purnell
3083 * include/GL/glut.h, src/Makefile.am, src/freeglut_font.c,
3084 src/freeglut_glutfont_definitions.c: This should put an end to the
3085 font binary compatibility issue.
3087 2003-07-23 Eric Sandall
3089 * ChangeLog, src/freeglut_window.c: src/freeglut_window.c Windowing
3091 * ChangeLog, doc/Makefile.am: doc/Makefile.am:4 Removed trailing
3092 backslash and added an empty last line
3094 2003-07-23 Brian Paul
3096 * doc/download.html: no change, testing CVS
3098 2003-07-22 Brian Paul
3100 * doc/download.html: no change, just testing CVS
3102 2003-07-22 Eric Sandall
3104 * ChangeLog, freeglut.lsm: freeglut.lsm:3 Removed 'beta' label for next
3105 release, thanks to Bernhard Kaindl.
3107 2003-07-21 Christopher John Purnell
3109 * src/Makefile.am: The version info had the revision and the age
3112 2003-07-21 Eric Sandall
3114 * ChangeLog, src/Makefile.am: src/Makefile.am:38 Changed versioning to
3115 11:0:8 thanks to Bernhard Kaindl
3117 2003-07-17 Eric Sandall
3119 * ChangeLog, freeglut.dsp, freeglut_static.dsp: Applied John F. Fay's
3120 fixes to freeglut.dsp and freeglut_static.dsp
3121 * ChangeLog, src/freeglut_state.c: Changed the overlay
3122 (freeglut_state.c:662) to return FALSE, as it's not imp lemented yet
3124 2003-07-12 Andreas Umbach <marvin@dataway.ch>
3126 * src/Makefile.am: renamed freeglut library to glut, bumped version info
3128 * configure.in: bumped version number to 2.0.0
3129 * Makefile.am, configure.in, doc/Makefile.am, include/GL/Makefile.am,
3130 progs/Makefile.am, progs/demos/Fractals/Makefile.am,
3131 progs/demos/Fractals_random/Makefile.am,
3132 progs/demos/Lorenz/Makefile.am, progs/demos/Makefile.am,
3133 progs/demos/One/Makefile.am, src/Makefile.am: changes for make dist
3134 * freeglut13.plg: MSVC generated file
3136 2003-07-11 Christopher John Purnell
3138 * include/GL/glut.h, src/freeglut_font.c: Fix for the font binary
3139 compatibility problem.
3141 2003-07-10 Christopher John Purnell
3143 * src/Makefile.am: Changed to build libfreeglut.so.2.0.0
3145 2003-07-10 James Jones <puggles@users.sourceforge.net>
3147 * TODO, freeglut.dsp, freeglut_static.dsp: Changes to TODO, Windows
3148 files - from John Fay
3149 * progs/demos/Fractals_random/Fractals_random.dsp: Changes by John Fay
3150 * progs/demos/Fractals/Fractals.dsp, progs/demos/Fractals/fractals.c:
3151 Changes to the Fractals demo by John Fay
3152 * progs/demos/One/one.dsp: Initial project file from John Fay
3153 * progs/demos/Lorenz/lorenz.c, progs/demos/Lorenz/lorenz.dsp:
3154 Modifications from John Fay
3156 2003-07-07 Christopher John Purnell
3158 * src/freeglut_main.c: glutMainLoopEvent() was not closing windows
3159 properly. Moved call to fgCloseWindows() from glutMainLoop() to the
3160 end of glutMainLoopEvent().
3162 2003-07-03 Eric Sandall
3164 * ChangeLog, src/freeglut_misc.c: Removed unused char *ptr from
3167 2003-07-02 Christopher John Purnell
3169 * src/freeglut_main.c: It was crashing on and event for a unknown
3172 2003-07-02 Brian Paul
3174 * src/freeglut_misc.c: rewrite of glutExtensionSupported - works
3177 2003-07-02 Eric Sandall
3179 * ChangeLog: * Removed tests directory
3180 * ChangeLog, Makefile.am, configure.in, progs/demos/One,
3181 progs/demos/One/Makefile.am, progs/demos/One/one.c, tests: * Removed
3182 genfonts/genstrokes code, updated configure.in and Makefile.in
3184 * Moved tests/one.c into progs/demos/One/one.c, updated configure.in
3186 * genfonts: Removed genfonts
3188 2003-07-02 Christopher John Purnell
3190 * genfonts/to_stroke.y: Added some semicolons that yacc was warning
3193 2003-07-01 James Jones <puggles@users.sourceforge.net>
3195 * AUTHORS: John Fay commanded me to add my name to the file. He's crazy,
3198 2003-07-01 Eric Sandall
3200 * ChangeLog, src/freeglut_misc.c: Fixed the 'ptr + len' problem in
3203 2003-07-01 Brian Paul
3205 * doc/freeglut_user_interface.html: version bumps
3206 * tests/Makefile.am: bump version to 2.0
3207 * src/Makefile.am, src/freeglutdll.def: bump versions to 2.0
3208 * src/freeglut_gamemode.c: xf86VidMode error checking (Andrew
3211 2003-06-30 Brian Paul
3213 * progs/demos/Lorenz, progs/demos/Lorenz/lorenz.c,
3214 progs/demos/Lorenz/lorenz.dsp: Lorenz attractor demo (John Fay)
3215 * freeglut.dsp, freeglut_static.dsp: updates from John Fay
3217 2003-06-28 Eric Sandall
3219 * ChangeLog, include/GL/Makefile.am: Now installs freeglut_ext.h and
3220 glut.h to /usr/include/GL (was missing before)
3222 2003-06-27 Brian Paul
3224 * include/GL/freeglut_ext.h, src/freeglut_init.c,
3225 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_state.c,
3226 src/freeglut_stroke_mono_roman.c: XF86 game mode fixes, context
3227 sharing option. (John Fay)
3229 2003-06-25 Eric Sandall
3231 * ChangeLog: Added another of my changes (freeglut.kdevelop) and fixed
3232 the version number for my MS VS change (*.dsp)
3234 2003-06-25 Brian Paul
3236 * src/freeglut_internal.h: version bumps
3237 * freeglut.lsm, include/GL/glut.h, src/freeglut_stroke_mono_roman.c,
3238 src/freeglut_stroke_roman.c: Assorted version 2.0.0 updates (John
3240 * doc/freeglut_user_interface.html: updated version, italicize freeglut
3243 2003-06-25 Eric Sandall
3245 * ChangeLog, freeglut.dsp, freeglut_static.dsp: Added 'freeglut_ext.c'
3246 to the project files 'freeglut.dsp' and 'freeglut_static.dsp' (New
3249 2003-06-24 Andreas Umbach <marvin@dataway.ch>
3251 * ChangeLog: Fixed autogen.sh and removed aclocal.m4
3252 * aclocal.m4: this file is autogenerated by aclocal
3253 * autogen.sh: fixed aclocal / autoheader order; some cosmetics
3255 2003-06-24 Eric Sandall
3257 * freeglut.kdevelop: Project file for Gideon (KDevelop 3.0)
3259 2003-06-23 Eric Sandall
3261 * ChangeLog, Makefile.am, TODO, configure.in, freeglut.dsp,
3262 freeglut.kdevprj, freeglut13.dsp, freeglut13.plg, freeglut_static.dsp,
3263 freeglutdll.dsp, src, src/Makefile.am, src/freeglut_callbacks.c,
3264 src/freeglut_cursor.c, src/freeglut_display.c, src/freeglut_ext.c,
3265 src/freeglut_font.c, src/freeglut_font_data.c,
3266 src/freeglut_gamemode.c, src/freeglut_geometry.c, src/freeglut_init.c,
3267 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
3268 src/freeglut_menu.c, src/freeglut_misc.c, src/freeglut_overlay.c,
3269 src/freeglut_state.c, src/freeglut_stroke_mono_roman.c,
3270 src/freeglut_stroke_roman.c, src/freeglut_structure.c,
3271 src/freeglut_teapot.c, src/freeglut_videoresize.c,
3272 src/freeglut_window.c, src/freeglutdll.def, src/templates,
3273 src/templates/cpp_template, src/templates/header_template,
3274 tests/Makefile.am: Changed all references to the 'freeglut-1.3'
3275 directory to 'src', copied 'freeglut-1.3' to 'src' and added all files
3276 from 'src' to the repository (TODO #34).
3277 * ChangeLog: Updated ChangeLog with my aclocal.m4 change
3278 * aclocal.m4: Updated aclocal.m4 with aclocal 1.7.3 (was created with
3281 2003-06-23 Brian Paul
3283 * freeglut-1.3/freeglut_geometry.c: adjusted precision (John Fay)
3284 * doc/freeglut_user_interface.html, freeglut-1.3/freeglut_display.c,
3285 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3286 freeglut-1.3/freeglut_teapot.c, include/GL/freeglut_ext.h,
3287 include/GL/glut.h: Assorted updates from John Fay.
3289 2003-06-20 Eric Sandall
3291 * TODO: Updated TODO from John Fay
3293 2003-06-20 Brian Paul
3295 * progs, progs/demos, progs/demos/Fractals,
3296 progs/demos/Fractals/Fractals.dsp, progs/demos/Fractals/fractals.c,
3297 progs/demos/Fractals/fractals.dat, progs/demos/Fractals_random,
3298 progs/demos/Fractals_random/Fractals_random.dsp,
3299 progs/demos/Fractals_random/fractals.dat,
3300 progs/demos/Fractals_random/fractals_random.c: Fractal demo (John Fay)
3302 2003-06-20 Eric Sandall
3304 * ChangeLog: Added the autogen.sh addition to ChangeLog
3305 * autogen.sh: Initial version of autogen.sh, tested here and creates the
3308 2003-06-20 Brian Paul
3310 * freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_state.c:
3311 Windows patches (Eero Pajarre)
3312 * NEWS: list the 1.4 release (fill in date) - this is a cvs check-in
3315 2003-06-19 Don Heyse <dheyse@hotmail.com>
3317 * freeglut-1.3/freeglut_joystick.c: Oops, missed the
3318 fghJoystickRawRead() fix for FreeBSD.
3320 2003-06-19 Brian Paul
3322 * doc/freeglut_user_interface.html, freeglut-1.3/freeglut_display.c,
3323 freeglut-1.3/freeglut_ext.c, freeglut-1.3/freeglut_internal.h,
3324 freeglut-1.3/freeglut_main.c: s/FreeGLUT/freeglut/
3326 2003-06-19 Don Heyse <dheyse@hotmail.com>
3328 * freeglut-1.3/freeglut_joystick.c: Applied tthierry's patch to fix
3329 compiling on FreeBSD.
3331 2003-06-19 Brian Paul
3333 * freeglut-1.3/freeglut_internal.h: added VERSION_MAJOR/MINOR/PATCH
3334 * doc/freeglut_user_interface.html: restore text lost from previous
3336 * include/GL/glut.h: s/FREEGLUT_VERSION_1_3/FREEGLUT_VERSION_1_4/
3338 2003-06-19 Eric Sandall
3340 * include/GL/freeglut_ext.h, include/GL/glut.h: GLUT_VERSION updates
3343 2003-06-18 Eric Sandall
3345 * AUTHORS: Forgot a file...looked so innocous just sitting there... :)
3346 * ChangeLog, doc/freeglut_user_interface.html,
3347 freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_ext.c,
3348 freeglut-1.3/freeglut_internal.h, freeglut-1.3/freeglut_menu.c,
3349 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_teapot.c,
3350 freeglut-1.3/freeglut_window.c, include/GL/freeglut_ext.h: * Hopefully
3351 I did THIS one right (used 'cvs update' to Merge)
3353 Authors - The first update in quite a while
3355 ChangeLog - Added the recent changes
3357 freeglut_callbacks.c - Added Aleksandar Donev's menu destruction
3360 freeglut_internal.h - Added the user data to the structures and made
3361 the menu state/status callbacks window-independent
3363 freeglut_menu.c - Removed several OpenGL compiler warnings and added
3364 A. Donev's menu user data functions
3366 freeglut_structure.c - Added Aleksandar Donev's menu destruction
3369 freeglut_teapot.c - Removed or suppressed several compiler warnings
3371 freeglut_window.c - Updated the window positioning code and added A.
3372 Donev's window user data
3374 freeglut_ext.h - Added the menu destruction callback and user data
3376 * freeglut-1.3/freeglut_ext.h: * Removed freeglut_ext.h (wasn't supposed
3379 2003-06-18 Brian Paul
3381 * doc/freeglut_user_interface.html, freeglut-1.3/freeglut_internal.h,
3382 freeglut-1.3/freeglut_state.c, include/GL/freeglut_ext.h,
3383 include/GL/glut.h: Added FREEGLUT_VERSION_1_3. Added GLUT_VERSION for
3384 glutGet(). Added glutGet() documentation.
3385 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_ext.h,
3386 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_internal.h,
3387 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_state.c,
3388 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_window.c:
3389 remove DOS-style CR characters
3390 * doc/freeglut_user_interface.html: added glutGetProcAddress and
3392 * ChangeLog: added glutGetProcAddress() and GLUT_FPS
3394 2003-06-17 Brian Paul
3396 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_init.c,
3397 freeglut-1.3/freeglut_internal.h: restore GLUT_FPS env var feature
3398 lost in previous check-in
3400 2003-06-17 Eric Sandall
3402 * ChangeLog: * Updated ChangeLog
3403 * freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_structure.c: Set
3404 #4: * Fixes a couple of compiler warnings and other bugs. *
3405 freeglut_main.c: Removes a compiler warning * freeglut_structure.c:
3406 Sets the current window before calling the window closure callback *
3407 Possibly other changes
3408 * freeglut-1.3/freeglut_ext.h: * Rest of Set #3
3409 * freeglut-1.3/freeglut_state.c: Set #3: Fixes for window positioning
3411 * freeglut-1.3/freeglut_init.c: Eero Pajarre's GLUT_ICON code for
3413 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_internal.h,
3414 freeglut-1.3/freeglut_window.c: First group of patches: Adds
3415 single-buffered rendering (or its emulation) in Windows.
3417 2003-06-17 Brian Paul
3419 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_init.c,
3420 freeglut-1.3/freeglut_internal.h: added GLUT_FPS env var option
3421 * freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_ext.c,
3422 include/GL/freeglut_ext.h: added glutGetProcAddress()
3424 2003-06-12 Don Heyse <dheyse@hotmail.com>
3426 * freeglut-1.3/freeglut_main.c: Fix the keyboard up callback and a
3428 * freeglut-1.3/freeglut_structure.c: Set the current window before
3429 calling the window closure callback.
3430 * freeglut-1.3/freeglut_state.c, include/GL/freeglut_ext.h: John's
3431 window positioning corrections.
3432 * freeglut-1.3/freeglut_init.c: Eero Pajarre's icon code.
3433 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_internal.h,
3434 freeglut-1.3/freeglut_window.c: Single buffered rendering for Windows.
3436 2003-06-02 Don Heyse <dheyse@hotmail.com>
3438 * doc/freeglut_user_interface.html: John Documented InitWindowPosition
3439 extensions and added some kbd fn info.
3440 * ChangeLog: Documented Johns changes from May 03.
3441 * freeglut-1.3/freeglut_state.c: Do not allow glutGet to reposition the
3442 window 1 pixel toward bottom right.
3443 * freeglut-1.3/freeglut_main.c: Pass mouse pos to Windows kbd callback.
3444 Resequenced a few things for UNIX.
3446 2003-03-23 Christopher John Purnell
3448 * freeglut-1.3/freeglut_gamemode.c: Applied patch to fix GameMode issues
3449 supplied by Bernhard Kaindl.
3451 2003-03-12 Don Heyse <dheyse@hotmail.com>
3453 * include/GL/glut.h: Switch to ANSI C comments.
3454 * freeglut-1.3/freeglut_cursor.c, freeglut-1.3/freeglut_display.c,
3455 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_geometry.c,
3456 freeglut-1.3/freeglut_internal.h, freeglut-1.3/freeglut_joystick.c,
3457 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_structure.c,
3458 freeglut-1.3/freeglut_window.c: Switch to ANSI C comments. Removed
3459 always true tests on unsigned char. Single buffering fix..
3461 2003-02-13 Don Heyse <dheyse@hotmail.com>
3463 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp: Switching to John
3464 Fays version of the VC++ project files.
3466 2003-02-08 Steve Baker <steve@sjbaker.org>
3468 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_joystick.c:
3469 Removed erroneous GPL license comments.
3471 2003-02-07 Don Heyse <dheyse@hotmail.com>
3473 * freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_cursor.c,
3474 freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_font_data.c,
3475 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3476 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_joystick.c,
3477 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_overlay.c,
3478 freeglut-1.3/freeglut_stroke_mono_roman.c,
3479 freeglut-1.3/freeglut_stroke_roman.c, freeglut-1.3/freeglut_teapot.c,
3480 freeglut-1.3/freeglut_videoresize.c: Moved freeglut_internal.h to the
3481 freeglut source code private directory.
3482 * freeglut-1.3/freeglut_structure.c: SubWindow border thickness fix.
3483 Overlay changes in glutGet.
3484 * freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3485 freeglut-1.3/freeglut_state.c, freeglut-1.3/freeglut_window.c: Johns
3486 changes for layers, fgSetWindow, and fgSetupPixelFormat.
3487 * freeglut-1.3/freeglut_font.c: John fixed a bug that make bitmap font
3488 one pixel wider than its drawn.
3489 * freeglut-1.3/freeglut_internal.h, include/GL/freeglut_internal.h:
3490 Moved freeglut_internal.h to the private directory with the other
3492 * include/GL/freeglut.h, include/GL/freeglut_ext.h, include/GL/glut.h:
3493 Broke freeglut.h into glut.h and freeglut_ext.h
3495 2003-01-06 Don Heyse <dheyse@hotmail.com>
3497 * freeglut-1.3/freeglutdll.def: Exports file for Win32 dll. One EXPORT
3498 for each FGAPI line in freeglut.h
3500 2003-01-04 Steve Baker <steve@sjbaker.org>
3502 * aclocal.m4, freeglut-1.3/freeglut_joystick.c: Cleanup joystick
3505 2002-12-10 Don Heyse <dheyse@hotmail.com>
3507 * freeglut.dsw, freeglutdll.dsp: Allow DLL and static library build on
3509 * include/GL/freeglut.h: Added check for FREEGLUT_DLL to allow static &
3510 DLL build on Windows.
3512 2002-12-04 Don Heyse <dheyse@hotmail.com>
3514 * freeglut-1.3/freeglut_font_data.c: More bitmap font spacing fixes from
3517 2002-11-29 Don Heyse <dheyse@hotmail.com>
3519 * freeglut-1.3/freeglut_init.c: Fixed Win95 crash when getenv("DISPLAY")
3521 * freeglut-1.3/freeglut_font_data.c: The lowercase t in helvetica12 was
3523 * freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c:
3524 Adjusted character spacing on a few fonts.
3525 * ChangeLog: Many updates from John Fay.
3526 * freeglutstatic.dsw: Added Visual C++ 6 Static library project for John
3529 2002-11-28 Don Heyse <dheyse@hotmail.com>
3531 * freeglut.dsp: Visual C++ 6 project file for static freeglut lib.
3532 * include/GL/freeglut.h, include/GL/freeglut_internal.h: Many updates
3533 from John Fay. (freeglut.h may need a small change to allow Win32 DLL
3535 * freeglut-1.3/freeglut_geometry.c: Many updates from John Fay.
3536 * freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_cursor.c,
3537 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c,
3538 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_init.c,
3539 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3540 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_state.c,
3541 freeglut-1.3/freeglut_stroke_mono_roman.c,
3542 freeglut-1.3/freeglut_stroke_roman.c,
3543 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_window.c:
3544 Many updates from John Fay.
3545 * freeglut-1.3/freeglut_joystick.c: Fixes from freeglut_portable patch.
3546 Memory leak fix from John. Return_if_fail fix.
3548 2002-11-26 Don Heyse <dheyse@hotmail.com>
3550 * doc/freeglut_user_interface.html: Added on behalf of John Fay.
3552 2002-10-22 Don Heyse <dheyse@hotmail.com>
3554 * freeglut-1.3/freeglut_geometry.c: Implemented tetrahedra, octahedra,
3555 dodecahedra, and icosahedra. Checked in on behalf of John F. Fay
3556 <john.fay@eglin.af.mil>.
3558 2002-05-20 Don Heyse <dheyse@hotmail.com>
3560 * freeglut-1.3/freeglut_font.c: Fixed previous fix so it compiles.
3562 2002-05-20 Christopher John Purnell
3564 * freeglut-1.3/freeglut_font.c: My bad.
3566 2002-05-18 Christopher John Purnell
3568 * freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_font.c,
3569 freeglut-1.3/freeglut_stroke_mono_roman.c,
3570 freeglut-1.3/freeglut_stroke_roman.c, genfonts/Roman_M.src,
3571 genfonts/lex.l, genfonts/to_stroke.y, genfonts/wfont.h,
3572 include/GL/freeglut.h, include/GL/freeglut_internal.h: Added stroke
3575 2002-05-17 Christopher John Purnell
3577 * freeglut-1.3/freeglut_cursor.c, freeglut-1.3/freeglut_display.c,
3578 freeglut-1.3/freeglut_overlay.c, freeglut-1.3/freeglut_teapot.c,
3579 freeglut-1.3/freeglut_videoresize.c, tests/one.c: Removed some DOS
3582 2002-05-16 Christopher John Purnell
3584 * freeglut-1.3/freeglut_main.c: Removed one last glib call.
3586 2002-01-20 Steve Baker <steve@sjbaker.org>
3588 * README, freeglut-1.3/.deps/freeglut_callbacks.P,
3589 freeglut-1.3/.deps/freeglut_cursor.P,
3590 freeglut-1.3/.deps/freeglut_display.P,
3591 freeglut-1.3/.deps/freeglut_font.P,
3592 freeglut-1.3/.deps/freeglut_font_data.P,
3593 freeglut-1.3/.deps/freeglut_gamemode.P,
3594 freeglut-1.3/.deps/freeglut_geometry.P,
3595 freeglut-1.3/.deps/freeglut_init.P,
3596 freeglut-1.3/.deps/freeglut_joystick.P,
3597 freeglut-1.3/.deps/freeglut_main.P,
3598 freeglut-1.3/.deps/freeglut_menu.P,
3599 freeglut-1.3/.deps/freeglut_misc.P,
3600 freeglut-1.3/.deps/freeglut_overlay.P,
3601 freeglut-1.3/.deps/freeglut_state.P,
3602 freeglut-1.3/.deps/freeglut_structure.P,
3603 freeglut-1.3/.deps/freeglut_teapot.P: Removed a bunch of '.P' files
3604 that don't belong in the CVS archive.
3606 2001-08-05 Christopher John Purnell
3608 * freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_main.c,
3609 freeglut-1.3/freeglut_window.c, include/GL/freeglut_internal.h: Added
3610 keyup events code. Added missing specal keys. Made menu callbacks
3612 * freeglut-1.3/freeglut_window.c: More position tweeks.
3614 2001-08-04 Christopher John Purnell
3616 * freeglut-1.3/freeglut_main.c, include/GL/freeglut.h: Fixed redisplay
3617 bug. Fixed modifier values.
3618 * freeglut-1.3/freeglut_window.c: Improved window positioning.
3620 2001-07-30 Christopher John Purnell
3622 * freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_structure.c: A
3625 2001-07-30 Andreas Umbach <marvin@dataway.ch>
3627 * freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_main.c: one more
3629 * include/GL/freeglut_internal.h: removed glib dependencies from win32
3630 * freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_init.c,
3631 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_window.c: -
3632 removed glib dependencies from win32 code
3634 2001-07-29 Christopher John Purnell
3636 * freeglut-1.3/freeglut_structure.c: Fixed bug list code.
3637 * freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_callbacks.c,
3638 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c,
3639 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3640 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_joystick.c,
3641 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3642 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_state.c,
3643 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_window.c,
3644 genfonts/Makefile.am, genfonts/genfonts.c, genfonts/genstroke.c,
3645 include/GL/freeglut.h, include/GL/freeglut_internal.h: Removed glib
3647 * configure.in, freeglut-1.3/Makefile.am, genfonts/Makefile.am: The
3648 build system now looks for X.
3650 2001-07-27 Steve Baker <steve@sjbaker.org>
3652 * doc, doc/download.html, doc/freeglut.html, doc/freeglut_logo.png,
3653 doc/index.html, doc/ogl_sm.png, doc/progress.html, doc/structure.html:
3655 * genfonts/.deps, tests/.deps: Removed some more files that don't belong
3657 * configure, freeglut-1.3/Makefile, freeglut-1.3/Makefile.in,
3658 genfonts/Makefile, genfonts/Makefile.in, include/GL/Makefile,
3659 include/GL/Makefile.in, include/Makefile, include/Makefile.in,
3660 tests/Makefile, tests/Makefile.in: Removed files checked in in error.
3661 * freeglut-1.3/.deps, freeglut-1.3/.deps/freeglut_callbacks.P,
3662 freeglut-1.3/.deps/freeglut_cursor.P,
3663 freeglut-1.3/.deps/freeglut_display.P,
3664 freeglut-1.3/.deps/freeglut_font.P,
3665 freeglut-1.3/.deps/freeglut_font_data.P,
3666 freeglut-1.3/.deps/freeglut_gamemode.P,
3667 freeglut-1.3/.deps/freeglut_geometry.P,
3668 freeglut-1.3/.deps/freeglut_init.P,
3669 freeglut-1.3/.deps/freeglut_joystick.P,
3670 freeglut-1.3/.deps/freeglut_main.P,
3671 freeglut-1.3/.deps/freeglut_menu.P,
3672 freeglut-1.3/.deps/freeglut_misc.P,
3673 freeglut-1.3/.deps/freeglut_overlay.P,
3674 freeglut-1.3/.deps/freeglut_state.P,
3675 freeglut-1.3/.deps/freeglut_structure.P,
3676 freeglut-1.3/.deps/freeglut_teapot.P,
3677 freeglut-1.3/.deps/freeglut_videoresize.P,
3678 freeglut-1.3/.deps/freeglut_window.P, freeglut-1.3/Makefile,
3679 freeglut-1.3/Makefile.in: Initial revision
3680 * ., AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, NEWS, README,
3681 TODO, acconfig.h, aclocal.m4, configure, configure.in, freeglut-1.3,
3682 freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_callbacks.c,
3683 freeglut-1.3/freeglut_cursor.c, freeglut-1.3/freeglut_display.c,
3684 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c,
3685 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3686 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_joystick.c,
3687 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3688 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_overlay.c,
3689 freeglut-1.3/freeglut_state.c, freeglut-1.3/freeglut_structure.c,
3690 freeglut-1.3/freeglut_teapot.c, freeglut-1.3/freeglut_videoresize.c,
3691 freeglut-1.3/freeglut_window.c, freeglut-1.3/templates,
3692 freeglut-1.3/templates/cpp_template,
3693 freeglut-1.3/templates/header_template, freeglut.dsw,
3694 freeglut.kdevprj, freeglut.lsm, freeglut13.dsp, freeglut13.plg,
3695 genfonts, genfonts/.deps, genfonts/.deps/genfonts.P,
3696 genfonts/.deps/genstroke.P, genfonts/Makefile, genfonts/Makefile.am,
3697 genfonts/Makefile.in, genfonts/Roman.src, genfonts/Roman_M.src,
3698 genfonts/genfonts.c, genfonts/genstroke.c, include, include/GL,
3699 include/GL/Makefile, include/GL/Makefile.am, include/GL/Makefile.in,
3700 include/GL/freeglut.h, include/GL/freeglut_internal.h,
3701 include/Makefile, include/Makefile.am, include/Makefile.in,
3702 install-sh, mkinstalldirs, stamp-h, stamp-h.in, tests, tests/.deps,
3703 tests/.deps/one.P, tests/Makefile, tests/Makefile.am,
3704 tests/Makefile.in, tests/one.c: Initial revision