1 2009-03-16 Sven Panne <sven.panne@aedion.de>
3 * src/freeglutdll.def: Added missing API entries.
5 2009-03-10 John F. Fay <john.fay.ctr@eglin.af.mil>
7 * progs/demos/demos.dsw: Adding the "smooth_opengl3" demo
9 2009-03-09 John F. Fay <john.fay.ctr@eglin.af.mil>
11 * include/GL/freeglut_std.h: Making the definition of
12 "WIN32_LEAN_AND_MEAN" conditional to enhance compatibility with GLEW
13 per suggestion by Diederick C. Niehorster in e-mail dated Mon 3/9/2009
15 * progs/demos/Fractals/fractals.c: Setting the "fractals" demo initial
16 number of levels to 4 per suggestion from Diederick C. Niehorster
17 [diederick@niehorster.eu] in e-mail dated Mon 3/9/2009 5:29 AM
19 2009-03-01 John F. Fay <john.fay.ctr@eglin.af.mil>
21 * progs/demos/CallbackMaker/CallbackMaker.c,
22 progs/demos/Lorenz/lorenz.c, progs/demos/shapes/shapes.c: Fixing
23 Microsoft compatibility with the new "vsnprintf" by putting an
24 underscore in front of it if WIN32 is defined but __CYGWIN__ is not
26 2009-03-01 Sven Panne <sven.panne@aedion.de>
28 * configure.ac: We do not depend on GLU anymore
29 * README.win32: Added notes for building under Cygwin
30 * src/Makefile.am: To build shared libraries on Windows, one has to
31 declare explicitly that there are no undefined symbols during linking.
32 No idea why, but this seems to be the only way to enable this on
33 Cygwin via -mno-cygwin. Hopefully this won't cause problems on other
34 platforms (which has to be tested).
35 * progs/demos/smooth_opengl3/smooth_opengl3.c: Windows fun again: Use
36 the correct calling convention for OpenGL extension entries.
38 2009-02-28 Sven Panne <sven.panne@aedion.de>
40 * progs/demos/smooth_opengl3/smooth_opengl3.c: When -mno-cygwin is used,
41 we get ancient GL headers, so be a bit more conservative.
42 * progs/demos/Fractals_random/fractals_random.c,
43 progs/demos/Lorenz/lorenz.c, progs/demos/shapes/shapes.c:
44 _CrtDumpMemoryLeaks and its header are Microsoft-specific, e.g. Cygwin
46 * src/freeglut_window.c: Do not try to destroy a GLX context when there
47 is none, e.g. when glXCreateContextAttribsARB is not there.
48 * src/freeglut_joystick.c: Use snprintf or _snprintf instead of the
49 potentially dangerous sprintf to avoid warnings.
51 NOTE: Due to excessive use of #ifdefs, the joystick code is on the
52 border of being unmaintainable! I could only check that it compiles
53 cleanly on my Linux box. Others should test this on their platforms
54 (Windows, Mac OS X, *BSD) to make sure that nothing has been broken.
55 * progs/demos/CallbackMaker/CallbackMaker.c,
56 progs/demos/Lorenz/lorenz.c, progs/demos/shapes/shapes.c: Use
57 vsnprintf instead of the potentially dangerous sprintf to avoid
58 warnings. Using snprintf directly would be a little bit more tricky,
59 because once again Microsoft decided to avoid followind standards and
60 provide _snprintf instead. We could use this, too, but this would
61 require an additional autoconf check, which I'd like to avoid, if
64 Note: If VS *still* issues warnings, but this time about vsnprintf,
65 somebody should add some pragmas or whatever is needed to shut up that
66 warning, it would be silly.
67 * progs/demos/Lorenz/lorenz.c: Position the distance message closer to
68 the middle of the window, it has been far, far off to the upper right.
69 * src/freeglut_internal.h: Synched version number with configure.ac. We
70 should better remove this redundancy and calculate this from
71 configure.ac directly.
73 2009-02-19 John F. Fay <john.fay.ctr@eglin.af.mil>
75 * progs/demos/smooth_opengl3/smooth_opengl3.dsp,
76 progs/demos/smooth_opengl3/smooth_opengl3Static.dsp: Fixing the
77 DOS/Linux line ending problems in the progs/demos/smooth_opengl3
80 2009-02-18 John F. Fay <john.fay.ctr@eglin.af.mil>
82 * src/freeglut_window.c: Fixing a build error caused by a variable
83 declaration being out of place
85 2009-02-15 Sven Panne <sven.panne@aedion.de>
87 * progs/demos/smooth_opengl3/smooth_opengl3.c: Final changes to make the
88 example fully OpenGL-3.0-compliant:
90 * Use vertex attribute arrays.
92 * Use our own projection matrix.
94 * Do not use deprecated vertex/fragment shader variables.
95 * progs/demos/smooth_opengl3/smooth_opengl3.c: Use GLSL shaders (still
96 1.20, though). Dump GL info.
97 * progs/demos/smooth_opengl3/smooth_opengl3.c: Added a commandline
98 option for 'classic' contexts. Aesthetic changes.
99 * progs/demos/smooth_opengl3/smooth_opengl3.c: Use VBOs in new example.
100 Added a few comments.
102 2009-02-14 Sven Panne <sven.panne@aedion.de>
104 * configure.ac, progs/demos/Makefile.am, progs/demos/smooth_opengl3,
105 progs/demos/smooth_opengl3/Makefile.am,
106 progs/demos/smooth_opengl3/smooth_opengl3.c,
107 progs/demos/smooth_opengl3/smooth_opengl3.dsp,
108 progs/demos/smooth_opengl3/smooth_opengl3Static.dsp: Initial version
109 of a fully OpenGL-3.0-compliant of the famous smooth.c from the Red
110 Book. What has been done already:
112 * Explicitly request a forward-compatible 3.0 context
114 * Report GL errors, if any, at a few crucial places
116 * Replaced gluOrtho2D with a home-grown matrix + glLoadMatrixf
118 What remains to be done:
120 * Use vertex shaders and fragment shaders
122 * Use vertex buffer objects
124 2009-02-13 Sven Panne <sven.panne@aedion.de>
126 * README: Mention autogen.sh
127 * src/freeglut_window.c: Synchronized WGL behavior with GLX
128 implementation: Do not call the new context creation API when it is
129 not required. Fixing a bug in a previous commit on the way... :-}
130 * src/freeglut_internal.h, src/freeglut_window.c: More refactorings:
131 Removed useless return value. Simplified control structures even more.
132 * src/freeglut_window.c: Refactoring only (replace nested conditionals
133 with guard clauses), making the normal path of execution much clearer.
134 * configure.ac: We have added some API entries, so we have to update
135 library version information conforming to
136 http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
137 * autogen.sh, configure.ac: Avoid CR\LF vs. LF troubles when using
138 TortoiseSVN plus Cygwin.
139 * .: Ignore config.lt, too. It seems to be generated by recent
142 2009-02-13 John F. Fay <john.fay.ctr@eglin.af.mil>
144 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_window.c:
145 Adding OpenGL 3.0 context detection for Windows per e-mail from Paul
146 Martz dated Thu 2/12/2009 9:03 AM (more or less)
148 2009-02-03 John F. Fay <john.fay.ctr@eglin.af.mil>
150 * README: Adding some instructions about building on a *nix platform to
152 * include/GL/freeglut_ext.h, src/freeglut_main.c: Removing some errant
153 tabs, fixing ticket #2137721, and adding special-key capability to
154 recognizing the NumLock, Delete, and keypad '5' keys
155 * src/freeglut_joystick.c, src/freeglut_main.c: A further response to
156 bug [ 1804696 ] Warnings when building on OpenSolaris -- per comment
157 by Nigel Stewart on that bug report
159 2009-02-02 John F. Fay <john.fay.ctr@eglin.af.mil>
161 * src/freeglut_internal.h, src/freeglut_joystick.c: Fixing bug [ 1804696
162 ] Warnings when building on OpenSolaris as updated 2/2/09 by Nigel
165 2008-11-20 Sven Panne <sven.panne@aedion.de>
167 * src/freeglut_glutfont_definitions.c, src/freeglut_internal.h: Yet
168 another try to make the font definitions compile on all platforms.
170 2008-11-17 John F. Fay <john.fay.ctr@eglin.af.mil>
172 * src/freeglut_glutfont_definitions.c, src/freeglut_internal.h: Allowing
173 "freeglut" to compile without errors under *nix. Before this, there
174 were problems with conflicting definitions of the GLUT font
177 2008-11-06 Sven Panne <sven.panne@aedion.de>
179 * src/freeglut_main.c: Ooops, forgot one file in the previous commit
180 (fix for "--without-x").
181 * configure.ac: Use autoconf to detect gettimeofday instead of broken
184 Note: freeglut compiles under Cygwin now, even when "--without-x" is
185 used for configuration.
186 * configure.ac: We need to link against winmm under Cygwin when
187 --without-x is used to get timeBeginPeriod, timeEndPeriod, joyGetPosEx
189 * src/freeglut_window.c: Fixed first parameter of CreateWindow call,
190 used for multisampling on Windows. It compiles, but it is otherwise
193 2008-11-05 Sven Panne <sven.panne@aedion.de>
195 * src/freeglut_misc.c: Be conservative about the presence of
197 * src/freeglut_glutfont_definitions.c, src/freeglut_stroke_mono_roman.c,
198 src/freeglut_stroke_roman.c: freeglut_internal.h needs some GL types,
199 but it is not self-contained. TODO: Move freeglut.h #include into
200 freeglut_internal.h itself?
201 * src/freeglut_window.c: Removed the annoying "Unable to create direct
202 context rendering..." warning, it served no real purpose, and on some
203 platforms there simply is no such thing as a direct context.
204 * progs/demos/CallbackMaker, progs/demos/Fractals,
205 progs/demos/Fractals_random, progs/demos/Lorenz, progs/demos/One,
206 progs/demos/shapes: Ignore *.exe
207 * src/freeglut_ext.c: Handle new glutInitContext* API entries in
209 * src/freeglut_internal.h: Make freeglut compile under Cygwin, which has
210 an ancient GLX header
212 2008-11-02 Sven Panne <sven.panne@aedion.de>
214 * include/GL/freeglut_ext.h, src/freeglut_init.c,
215 src/freeglut_internal.h, src/freeglut_state.c, src/freeglut_window.c:
216 Added OpenGL 3.0 context creation API entries
218 glutInitContextVersion, glutInitContextFlags
220 and their related constants
222 GLUT_INIT_MAJOR_VERSION GLUT_INIT_MINOR_VERSION GLUT_INIT_FLAGS
224 GLUT_DEBUG GLUT_FORWARD_COMPATIBLE
226 Note that this works with GLX only currently, the glutInitContext* API
227 entries have no effect for WGL yet.
229 TODO: Centralize the context creation code for WGL (the harder part)
230 and use the new wglCreateContextAttribsARB API entry (the easy part,
231 re-use most of the GLX code).
232 * src/freeglut_window.c: Refactored GLX context creation into a single
233 function, centralizing things to be changed for OpenGL 3.0 context
234 creation and removing some cut-n-paste.
235 * src/freeglut_ext.c, src/freeglut_internal.h: Make a
236 wgl/glXGetProcAddress abstraction available internally. We will need
237 this to get the new context creation function.
238 * src/freeglut_misc.c: Do not depend on GLU, it will vanish in the
239 future, at least in its current form.
240 * src/freeglut_internal.h: Removed superfluous #includes.
241 * configure.ac: Fix for bug #1709675 ("probably not be so
242 ISO-conformant"): The C compiler flag -Werror is not used by default
243 anymore, a separate configure flag --enable-warnings-as-errors has
244 been introduced for this purpose, which is off by default.
245 * configure.ac: Added AM_PROG_CC_C_O to configure.ac, removing a warning
246 during autogen.sh. This flag seems to be necessary for per-target
247 flags (used in demo programs) nowadays.
249 2008-07-21 John F. Fay <john.fay.ctr@eglin.af.mil>
251 * configure.ac, src/Makefile.am: Implementing a patch from Jocelyn
252 Frechot (thank you, Jocelyn) that "should enable the XInput extension
253 management with the autotools." See e-mail of Sun 7/20/2008 12:01 PM.
255 2008-07-10 John F. Fay <john.fay.ctr@eglin.af.mil>
257 * src/freeglut_ext.c: Adding "glutExit" to the functions in
258 "fghGetProcAddress" in accordance with an e-mail from Jocelyn Frechot
259 dated Tue 7/8/2008 12:26 PM
261 2008-04-05 John F. Fay <john.fay.ctr@eglin.af.mil>
263 * src/freeglut_main.c: Adding "SC_MONITORPOWER" and other new options to
264 the "wParam" option list (e-mail from Ron Larkin, 3/17/08, 11:00 AM)
266 2007-12-02 John F. Fay <john.fay.ctr@eglin.af.mil>
268 * include/GL/freeglut_ext.h, src/freeglut_display.c, src/freeglut_ext.c,
269 src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
270 src/freeglut_state.c, src/freeglut_window.c: Adding
271 "glutFullScreenToggle" for X11 -- still needs implementation in
272 Windows (e-mail by Jocelyn Frechot, Sun 11/25/2007 11:29 AM)
274 2007-12-01 John F. Fay <john.fay.ctr@eglin.af.mil>
276 * src/freeglut_window.c: Fixing the window position for asynchronous X11
277 implementations (e-mail by Jocelyn Frechot, Sun 11/25/2007 11:29 AM)
279 2007-11-26 John F. Fay <john.fay.ctr@eglin.af.mil>
281 * progs/demos/Fractals/fractals.c: Making a demo program that uses
284 2007-11-12 John F. Fay <john.fay.ctr@eglin.af.mil>
286 * include/GL/freeglut_ext.h, src/freeglut_ext.c, src/freeglut_init.c,
287 src/freeglut_internal.h, src/freeglut_state.c,
288 src/freeglut_structure.c, src/freeglut_window.c: Implementing Jocelyn
289 Frechot's changes -- see e-mail of Thursday, 11/8/2007 9:12 AM.
291 2007-10-02 John F. Fay <john.fay.ctr@eglin.af.mil>
293 * src/freeglut_joystick.c: Removing more Win64 build warnings from
296 2007-09-30 John F. Fay <john.fay.ctr@eglin.af.mil>
298 * src/freeglut_main.c: Removing the final compiler warning when building
299 on Win75 -- thank you, Antonio Mattos.
301 2007-09-29 John F. Fay <john.fay.ctr@eglin.af.mil>
303 * src/freeglut_cursor.c: Removing the remaining compiler warnings from
304 the cursor code, thanks to Antonio Mattos of Brazil. The double
305 type-casting is needed because of a bug in the new MSVC; there is a
306 discussion on the web on this subject.
308 2007-09-25 John F. Fay <john.fay.ctr@eglin.af.mil>
310 * src/freeglut_cursor.c: Changing the cursor definition macro for newer
311 versions of MSVC -- thanks to "Mattos" of Brazil
312 * src/freeglut_window.c: More changes for Jocelyn Frechot's
313 multisampling changes. The library builds now. It still needs some
314 testing with sample cases under X11.
316 2007-09-23 John F. Fay <john.fay.ctr@eglin.af.mil>
318 * src/freeglut_window.c: Fixing a remaining bug in the multisampling
319 change ... there may be more ...
321 2007-09-22 John F. Fay <john.fay.ctr@eglin.af.mil>
323 * src/freeglut_internal.h, src/freeglut_state.c,
324 src/freeglut_structure.c, src/freeglut_window.c: Putting in Jocelyn
325 Frechot's X11 visual context changes. THIS WILL BREAK THE BUILD as I
326 am unable to test it on a Linux machine here. Somebody please test it
329 2007-09-21 John F. Fay <john.fay.ctr@eglin.af.mil>
331 * src/freeglut_init.c, src/freeglut_main.c, src/freeglut_misc.c:
332 Removing compiler warnings in MSVC 2005 build
333 * include/GL/freeglut_ext.h, src/freeglut_init.c: Implementing Larry
334 Ramey's "glutExit" feature (see e-mails from him on 11/9/05, 6/28/06)
336 2007-09-19 John F. Fay <john.fay.ctr@eglin.af.mil>
338 * include/GL/freeglut_std.h, src/freeglut_window.c: Implementing first
339 part of Windows version of "GLUT_CAPTIONLESS" and "GLUT_BORDERLESS"
340 per feature request "[ 1197016 ] need GLUT_CAPTIONLESS window option".
341 Needs more work; menus are slightly mispositioned, X11 version does
342 not support it, banner appears at beginning but disappears on window
343 resize. But this is a start.
344 * src/freeglut_main.c: Fixing Linux key-repeat mode bug reported in "[
345 1796845 ] Keyboard events are lost when key repeat is enabled."
346 * src/freeglut_joystick.c: Fixing a build error on SuSE described in bug
347 report "[ 1792047 ] freeglut_joystick.c error"
349 2007-09-18 John F. Fay <john.fay.ctr@eglin.af.mil>
351 * src/freeglut_window.c: Implementing feature request "[ 947118 ] Popup
352 menu is hidden under the TOPMOST window"
353 * src/freeglut_menu.c: Adding Takeshi Nishimura's Feature Request "[
354 1045202 ] Cope with a menu with many items" -- sorry it took so long.
355 * src/freeglut_window.c: Addressing Feature Request #1307049 that
356 "freeglut" should return 0 if "glutGetWindow" is called without a
357 prior call to "glutInit", rather than terminating on error.
358 * freeglut.dep, freeglut.mak, freeglut_static.dep, freeglut_static.mak:
359 Added Windows "nmake" Makefiles and dependency files for the two
360 "freeglut" projects in accordance with Feature Request #1454543
362 2007-09-16 John F. Fay <john.fay.ctr@eglin.af.mil>
364 * src/freeglut_window.c: Fixing bug #1688954, submitted in Marcy '07. I
365 changed "FREEGLUT" to _T("FREEGLUT") and nothing changed on my Windows
366 XP system. If this will allow it to work on Vista, then in it goes.
367 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c,
368 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
369 Fixing bug report #1052151 from October 2004.
371 2006-11-28 John F. Fay <john.fay.ctr@eglin.af.mil>
373 * FrequentlyAskedQuestions: Adding a Frequently Asked Questions file
375 2006-09-28 Joe Krahn <krahn@niehs.nih.gov>
377 * src/freeglut_state.c, src/freeglut_window.c: Removed incorrect comment
378 about internal WGL/ARB definitions. I actually had put those comments
379 in because I had meant to go back and re-check the WGL extension. But,
380 maybe locally defined extensions should be kept in a separate include
383 2006-09-27 Joe Krahn <krahn@niehs.nih.gov>
385 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp,
386 progs/demos/CallbackMaker/CallbackMaker.dsp,
387 progs/demos/CallbackMaker/CallbackMakerStatic.dsp,
388 progs/demos/Fractals/Fractals.dsp,
389 progs/demos/Fractals/FractalsStatic.dsp,
390 progs/demos/Fractals_random/Fractals_random.dsp,
391 progs/demos/Fractals_random/Fractals_randomStatic.dsp,
392 progs/demos/Lorenz/lorenz.dsp, progs/demos/Lorenz/lorenzStatic.dsp,
393 progs/demos/One/one.dsp, progs/demos/One/oneStatic.dsp,
394 progs/demos/demos.dsw, progs/demos/shapes/shapes.dsp,
395 progs/demos/shapes/shapesStatic.dsp: Undo svn:eol-style=CR/LF for MSVC
398 2006-09-26 Joe Krahn <krahn@niehs.nih.gov>
400 * include/GL/freeglut_std.h, src/freeglut_joystick.c,
401 src/freeglut_state.c, src/freeglut_window.c: Added
402 FREEGLUT_LIB_PRAGMAS to control MS library pragmas, and fixed NOMINMAX
404 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp,
405 progs/demos/CallbackMaker/CallbackMaker.dsp,
406 progs/demos/CallbackMaker/CallbackMakerStatic.dsp,
407 progs/demos/Fractals/Fractals.dsp,
408 progs/demos/Fractals/FractalsStatic.dsp,
409 progs/demos/Fractals_random/Fractals_random.dsp,
410 progs/demos/Fractals_random/Fractals_randomStatic.dsp,
411 progs/demos/Lorenz/lorenz.dsp, progs/demos/Lorenz/lorenzStatic.dsp,
412 progs/demos/One/one.dsp, progs/demos/One/oneStatic.dsp,
413 progs/demos/demos.dsw, progs/demos/shapes/shapes.dsp,
414 progs/demos/shapes/shapesStatic.dsp: Added svn:eol-style=CRLF property
415 to MSVC project/workspace files.
417 2006-09-25 John F. Fay <john.fay.ctr@eglin.af.mil>
419 * src/freeglut_window.c: Fixing a typo bug in the display mode checking
420 (removing multisampling if it is not supported)
422 2006-09-25 Joe Krahn <krahn@niehs.nih.gov>
424 * src/freeglut_state.c: Fixed a small mistake in the previous commit for
426 * src/freeglut_state.c: Added proper support for number of mouse buttons
427 in X11, and a keyboard in Windows CE. Also, several glutGet results
428 returning TRUE/FALSE were changed to 1/0, because the actual return
429 type is int (although they are technically the same in practice).
431 2006-09-24 Joe Krahn <krahn@niehs.nih.gov>
433 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c:
434 Converted Time counter to a uniform unsigned long it value. The
435 initialized flag was redundant with the main Initialized flag, and
436 conversion of timeval to milliseconds in POSIX makes the code cleaner.
437 Timeval has a longer range, but the time value is already limited by
440 2006-09-23 Joe Krahn <krahn@niehs.nih.gov>
442 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c:
443 Removed WindowState.IsGameMode; it is redundant with
444 Structure.GameModeWindow
446 2006-09-21 John F. Fay <john.fay.ctr@eglin.af.mil>
448 * src/freeglut_state.c, src/freeglut_window.c: Adding support for the
449 multisampling query per bug report 1274193
450 * ChangeLog, src/freeglut_main.c: Fixing Bug #1398196 - Windows message
453 2006-09-21 Joe Krahn <krahn@niehs.nih.gov>
455 * src/freeglut_cursor.c: test (comment edited)
457 2006-09-21 John F. Fay <john.fay.ctr@eglin.af.mil>
459 * ChangeLog, src/freeglut_init.c: Adding temporary fix to
460 "glutInitDisplayString" to ignore numerical assignments
461 * ChangeLog, src/freeglut_window.c: Adding multisampling to *nix and
462 Windows; also some other pixel format enhancements to Windows
463 * ChangeLog, progs/demos/CallbackMaker/CallbackMaker.c: Enhancing the
465 * ChangeLog, src/freeglut_cursor.c, src/freeglut_display.c,
466 src/freeglut_ext.c, src/freeglut_gamemode.c,
467 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
468 src/freeglut_input_devices.c, src/freeglut_internal.h,
469 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
470 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_teapot.c,
471 src/freeglut_teapot_data.h, src/freeglut_window.c: Joe Krahn's changes
472 to "TARGET_HOST" defined constants
473 * ChangeLog, src/freeglut_internal.h, src/freeglut_joystick.c,
474 src/freeglut_main.c, src/freeglut_window.c: Fixing two minor bugs,
476 * ChangeLog, src/freeglut_gamemode.c, src/freeglut_internal.h,
477 src/freeglut_menu.c, src/freeglut_state.c, src/freeglut_structure.c:
478 Changing "GameMode" to "GameModeWindow ... and testing whether I can
481 2006-08-05 Sven Panne <sven.panne@aedion.de>
483 * ChangeLog, progs/demos/Fractals/fractals.c,
484 progs/demos/Fractals_random/fractals_random.c,
485 progs/demos/Lorenz/lorenz.c: Check fgets for return value to avoid
487 * freeglut.spec: Fixed typo in date
488 * freeglut.spec: Updated build requirements for SuSE 10.1
490 2005-10-12 Sven Panne <sven.panne@aedion.de>
492 * ., .cvsignore: Ooops, forgot to ingore INSTALL and install-sh in
494 * ChangeLog, include/GL/freeglut_ext.h, include/GL/freeglut_std.h: Moved
495 GLUT_INIT_STATE to <GL/freeglut_ext.h>, it is not part of the original
497 * ., .cvsignore, ChangeLog, INSTALL, autogen.sh, install-sh,
498 mkinstalldirs: Simply use autoreconf in autogen.sh, it is much simpler
499 and the recommended way in the autotools documentation. Removed
500 INSTALL, install-sh and mkinstalldirs, they are either unused or
501 automatically generated by autogen.sh.
503 2005-10-06 John F. Fay <john.fay.ctr@eglin.af.mil>
505 * include/GL/freeglut_ext.h: Allowing compilation of Windows version by
506 removing DLL decorations from deprecated joystick interface extensions
507 * src/freeglut_window.c: Implementing Stereo in Windows
509 2005-09-07 Sven Panne <sven.panne@aedion.de>
511 * ChangeLog, src/Makefile.am: Use target-specific *_CPPFLAGS, not the
513 * ChangeLog, autogen.sh: Use -Wall for automake to catch some buglets,
514 deprecated stuff, etc.
516 2005-09-04 Sven Panne <sven.panne@aedion.de>
518 * ChangeLog, autogen.sh: Silenced autogen.sh
520 2005-08-31 John F. Fay <john.fay.ctr@eglin.af.mil>
522 * freeglut.rc, freeglut.tgt, freeglut.wpj, freeglut_static.tgt:
523 Necessary files for Open Watcom support
524 * src/freeglut_internal.h: Adding Open Watcom support
525 * ChangeLog, README.win32: Documenting support for Open Watcom
526 * include/GL/freeglut_std.h: Implementing WATCOM support
528 2005-07-14 Sven Panne <sven.panne@aedion.de>
530 * src/freeglut_input_devices.c: Nuked useless bit-fiddling, pointed out
531 by John. I was a bit too quick to cut-n-paste the cfmakeraw()
532 definition into our code... :-]
533 * ChangeLog, src/freeglutdll.def: Synched the DLL definitions with
535 * ChangeLog, src/freeglut_cursor.c: Fixed the GLUT_CURSOR_INHERIT logic
538 Note that this commit is untested, but at least it looks better than
539 before. We really a need a cursor test program.
541 2005-07-13 John F. Fay <john.fay.ctr@eglin.af.mil>
543 * src/freeglut_cursor.c: Fixing a cursor bug in \"GLUT_CURSOR_INHERIT\"
545 2005-07-13 Sven Panne <sven.panne@aedion.de>
547 * ChangeLog, configure.ac: Improve autoconf magic: To detect headers
548 like GL/gl.h, it might be necessary to temporarily use the X11 flags
549 found by AC_PATH_XTRA.
550 * ChangeLog, src/freeglut_joystick.c: Avoid gcc warnings for some
551 joystick code (e.g. on Solaris).
552 * src/freeglut_input_devices.c: Tiny cleanup only...
553 * ChangeLog, src/freeglut_input_devices.c: Solaris doesn't have
554 cfmakeraw, but it is only a convenience function for some
555 bit-fiddling, anyway.
557 2005-07-08 Sven Panne <sven.panne@aedion.de>
559 * ChangeLog, include/GL/freeglut_ext.h, src/freeglut_ext.c,
560 src/freeglut_internal.h: Made all the "glutJoystickXXX" functions part
561 of the freeglut extensions. If this is not what we want, we can easily
562 #ifdef this away again...
563 * ChangeLog, src/freeglut_geometry.c: Made a few global arrays "static",
564 avoiding namespace pollution. The only externally visible symbols
565 should either be from the GLUT API ("glutXXX") or internal freeglut
566 entities ("fgYYY"). Reformatted things a bit on the way.
568 2005-07-06 Sven Panne <sven.panne@aedion.de>
570 * ChangeLog, src/freeglut_main.c: We only have pending redisplay
571 callbacks when the window wants to be redisplayed *and* it is visible.
572 Otherwise we won't redraw, anyway, and immediately discover that
573 there's still something to do, etc. etc., leading to 100% CPU load.
574 * ChangeLog, src/freeglut_main.c: Removed redundant code.
575 * ChangeLog, src/freeglut_init.c: X11 only: Destroy the global menu
576 rendering context when deinitializing. The visual/context handling for
577 menus is still rather obscure, though...
578 * progs/demos/Lorenz/lorenz.c: Reverting previous commit: %lf is a valid
579 format specifier for the scanf familiy of functions only, not for the
582 2005-07-05 John F. Fay <john.fay.ctr@eglin.af.mil>
584 * src/freeglut_main.c: Implementing the new menu context variable names
586 * src/freeglut_internal.h: Changing a comment ... nothing big.
587 * progs/demos/Lorenz/lorenz.c: Fixing output formats ... nothing big
589 2005-07-05 Sven Panne <sven.panne@aedion.de>
591 * ChangeLog, src/freeglut_state.c, src/freeglut_window.c: X11 only: Free
592 XVisualInfo structures when they are not needed anymore, fixing a
593 space leak. Not perfect for menus yet...
594 * src/freeglut_internal.h, src/freeglut_window.c: Tiny change to make
595 grep's life easier: Rename the fields of the menu context. Not really
596 worth a ChangeLog entry...
598 IMHO it looks like we could kill the whole MenuContext stuff, it is of
599 no use currently and some things look strange, like e.g. having a
600 context per menu. The latter is not OK when a menu is attached to
603 2005-07-02 Sven Panne <sven.panne@aedion.de>
605 * ChangeLog, src/freeglut_init.c, src/freeglut_internal.h,
606 src/freeglut_main.c, src/freeglut_state.c: Handle modifiers in
607 MotionNotify events, too. This fixes bug #1227920 (glutGetModifiers
608 not set/allowed in mouse callbacks). In addition, some related cleanup
610 * ChangeLog, src/freeglut_joystick.c: Partial fixes for bug #1218900
611 (freeglut-2.4.0 on FreeBSD).
612 * ChangeLog, Makefile.am: Remove wrong "execute" bits when creating a
613 distribution. This fixes bug #961938 (Executable bit set on non exe
615 * configure.ac: Tiny cosmetic change, not worth a ChangeLog entry.
616 * ChangeLog: Added John's missing ChangeLog entry.
618 2005-07-01 John F. Fay <john.fay.ctr@eglin.af.mil>
620 * freeglut.dsp, freeglut_static.dsp: Adding the
621 \"freeglut_input_devices.c\" file to the Windows project files
623 2005-07-01 Sven Panne <sven.panne@aedion.de>
625 * ChangeLog, configure.ac, src/Makefile.am: Some steps toward
626 compilation under MinGW. Note that there are still linking troubles
628 * src/freeglut_internal.h: Fixed #ifdef for ChangeDisplaySettingsEx
630 * ChangeLog, src/freeglut_input_devices.c: Silenced a signed/unsigned
631 mismatched via a cast.
632 * ChangeLog, src/freeglut_internal.h: MinGW is lacking a prototype for
633 ChangeDisplaySettingsEx, so supply one in this case. Note that this
634 should better be handled via autoconf than via cpp.
635 * ChangeLog, Makefile.am: Removed redundant files from EXTRA_DIST.
637 2005-06-30 Sven Panne <sven.panne@aedion.de>
639 * src/freeglut_main.c: Ooops, forgot to set the current window in the
640 last commit. I'll have to test better before comitting... :-]
641 * ChangeLog, src/freeglut_main.c: When a window is iconified, only an
642 UnmapNotify is sent, not a VisibilityNotify, so we have to handle the
643 window status callback in the former case, too. This fixes bug #763442
644 (Call the visibility callback when minimizing a window).
645 * ChangeLog, src/freeglut_main.c: Cleaned up
646 CreateNotify/ConfigureNotify handling.
647 * src/freeglut_main.c: Ooops, forgot to dump a few fields in some
649 * ChangeLog, configure.ac, src/freeglut_main.c: Added --enable-debug
650 configure flag. Currently it only turns on X11 event tracing, but in
651 the future we could add more.
653 Note: freeglut_main.c could benefit from some restructuring to clean
654 up the #ifdefs and cut down the sizes of some extremely long
656 * ., .cvsignore: Ignore files generated during RPM build.
658 2005-06-23 John F. Fay <john.fay.ctr@eglin.af.mil>
660 * doc/freeglut_user_interface.html: Fixing the documentation regarding
661 callbacks and geometry shape additions
662 * progs/demos/Fractals/Fractals.dsp,
663 progs/demos/Fractals/FractalsStatic.dsp,
664 progs/demos/Fractals_random/Fractals_random.dsp,
665 progs/demos/Fractals_random/Fractals_randomStatic.dsp,
666 progs/demos/Lorenz/lorenz.dsp, progs/demos/Lorenz/lorenzStatic.dsp,
667 progs/demos/One/one.dsp, progs/demos/One/oneStatic.dsp,
668 progs/demos/shapes/shapes.dsp, progs/demos/shapes/shapesStatic.dsp:
669 Adding separate static library and DLL demonstration program projects
670 * progs/demos/CallbackMaker/CallbackMaker.dsp,
671 progs/demos/CallbackMaker/CallbackMakerStatic.dsp: Adding separate
672 demo program projects for static library and DLL versions
673 * progs/demos/demos.dsw: Adding support for separate static library demo
675 * ChangeLog: Keeping current ...
676 * src/freeglut_input_devices.c: New file for Joe Krahn\'s dials input
679 2005-06-22 John F. Fay <john.fay.ctr@eglin.af.mil>
681 * src/freeglut_geometry.c: Fixing a bug in the Sierpinski sponge code
682 that made the application crash if called with number of levels < 0
683 * src/Makefile.am, src/freeglut_init.c, src/freeglut_internal.h,
684 src/freeglut_joystick.c, src/freeglut_state.c: Joe Krahn\'s input
685 (dials) device implementation.
687 2005-06-14 Sven Panne <sven.panne@aedion.de>
689 * ChangeLog, freeglut.spec: Added an RPM spec file based on the one
690 shipped with SuSE 9.3.
692 2005-06-10 James Jones <puggles@users.sourceforge.net>
694 * ChangeLog, configure.ac: Release of 2.4.0
696 2005-06-02 James Jones <puggles@users.sourceforge.net>
698 * ChangeLog, configure.ac, src/freeglut_internal.h: 2.4.0 Release
701 2005-05-26 John F. Fay <john.fay.ctr@eglin.af.mil>
703 * src/freeglut_main.c: Takeshi Nishimura\'s changes to make the Windows
704 mouse wheel/button mapping match that of X11; also fixing a typo in
705 the associated mouse callback argument list
707 2005-05-26 James Jones <puggles@users.sourceforge.net>
709 * ChangeLog, configure.ac: 2.4.0 RC4 updates
710 * src/freeglut_main.c: Fix joysticks so they are polled by their timer
711 correctly. (Dan Torop)
713 2005-05-24 Sven Panne <sven.panne@aedion.de>
715 * ChangeLog, src/freeglut_gamemode.c: The original glutEnterGameMode()
716 returns the window id of the game mode window, not TRUE/FALSE, we
717 should better follow that. Note that most man pages claim that this
718 function returns void, but this is definitely wrong.
719 * ChangeLog, src/freeglut_gamemode.c, src/freeglut_main.c: When
720 switching to game mode under X11, no ConfigureNotify event will happen
721 and consequently no reshape callback will ever be called via the
722 normal mechanism. To fix this, note that the game mode window needs to
723 be resized and handle this before redraw.
725 2005-05-22 Sven Panne <sven.panne@aedion.de>
727 * ChangeLog, src/freeglut_ext.c: Guarantee consistency of
728 names/addresses in glutGetProcAddress by using a macro. In addition,
729 this avoids any non-constant initializer issues which might be raised
730 when using WinDoze GCCs. The additional code overhead is negligible,
731 at least for x86 (a few instructions per name).
732 * ChangeLog, configure.ac: Lowering minimum autoconf version required.
734 2005-05-20 James Jones <puggles@users.sourceforge.net>
736 * ChangeLog: Tag for 2.4.0 RC3
739 2005-05-19 Sven Panne <sven.panne@aedion.de>
741 * src/freeglut_gamemode.c: Fixed SF bug #1204256: Off-by-one error in
742 X11 mode switching. The code which changes the X11 video mode has an
743 off-by-one error, resulting in a wrong mode or segfault. I've
744 refactored the code slighty to make it hopefully clearer what's going
745 on and corrected some #ifdefs on the way. Now at least the "One" demo
747 * src/freeglut_window.c: Fixed SF bug #1204261: Mini space leak when
748 creating an X11 window (X11 text property values have to be freed
751 2005-05-18 John F. Fay <john.fay.ctr@eglin.af.mil>
753 * src/freeglut_gamemode.c: Removing a C++ comment and simplifying the
756 2005-05-17 John F. Fay <john.fay.ctr@eglin.af.mil>
758 * src/freeglut_gamemode.c: Misiek\'s changes to fix Game Mode--getting
759 display settings under Windows and setting the window size correctly
760 on all operating systems.
762 2005-05-16 James Jones <puggles@users.sourceforge.net>
764 * ChangeLog: Mark for 2.4 RC 2
766 2005-05-13 John F. Fay <john.fay.ctr@eglin.af.mil>
768 * src/freeglut_menu.c: Removing two unused variables so this will
769 compile on Linux with -Wall
771 2005-05-12 John F. Fay <john.fay.ctr@eglin.af.mil>
773 * ChangeLog: Updating the ChangeLog ...
774 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c:
775 Takeshi Nishimura\'s menu changes--menus should now work properly. Use
776 the GLUT \"GLUTmech\" and \"walker\" demos to test them.
777 * src/freeglut_main.c: Takeshi Nishimura\'s menu fixes
779 2005-05-09 James Jones <puggles@users.sourceforge.net>
781 * ChangeLog, Makefile.am, configure.ac: Freeglut 2.4.0 Release Candidate
784 2005-05-06 Sven Panne <sven.panne@aedion.de>
786 * ChangeLog, progs/demos/shapes/shapes.c: Fixed a cuboctahedron vertex,
787 implemented wire mode for that shape.
788 * ChangeLog, progs/demos/shapes/shapes.c, src/freeglut_internal.h,
789 src/freeglut_main.c: Necessary compilation fixes for newer GCCs (e.g.
790 3.3.5, 4.0). Side effect: The shapes demo has a new 'i' key now.
792 2005-05-05 John F. Fay <john.fay.ctr@eglin.af.mil>
794 * ChangeLog: Updated the ChangeLog again ...
796 2005-05-04 John F. Fay <john.fay.ctr@eglin.af.mil>
798 * progs/demos/shapes/shapes.c: Replacing the original \"freeglut\"
799 \"shapes\" demo with the much snazzier OpenGLUT \"shapes\" demo. Many
800 thanks to the OpenGLUT community for writing it. The copyright notice
801 stays in the program.
802 * src/freeglut_main.c: Changing hard-coded constant (number of mouse
803 buttons = 3) to a \"glutDeviceGet\" call in two places under X11
804 * src/freeglutdll.def: Changing the version number from 2.0 to 2.4.0 ...
805 do we need to add any new interface functions?
806 * src/freeglut_internal.h: Removing an unused variable
807 * src/freeglut_window.c: Adding a comment on why \"freeglut\" differs
808 from GLUT in a particular way
809 * src/freeglut_joystick.c: Removing an unused function
810 * src/freeglut_init.c: Making the \"key repeat\" initialization
811 consistent with the rest of its usage; also making the
812 \"initDisplayString\" ever-so-slightly mroe general
813 * ChangeLog, TODO, src/freeglut_window.c: Updating the ChangeLog and
814 TODO files in preparation for the upcoming release
816 2005-04-29 John F. Fay <john.fay.ctr@eglin.af.mil>
818 * src/freeglut_joystick.c: Adding a \"TODO\" comment about dynamically
819 allocating joystick buttonj and axis arrays
820 * ChangeLog: Updationg the ChangeLog ...
822 2005-04-28 John F. Fay <john.fay.ctr@eglin.af.mil>
824 * README.win32: Adding a \"README.Win32\" file with instructions on how
825 to install \"freeglut\" under Windows.
826 * src/freeglut_main.c: Adding Window Exit event handling to the Windows
827 code; also adding a note that eventually it would be good to handle
828 the Window Entry event
830 2005-04-27 John F. Fay <john.fay.ctr@eglin.af.mil>
832 * src/freeglut_window.c: Fixing bug [ 1111218 ] fullscreen not working
833 Better late than never.
834 * src/freeglut_init.c: Fixing Bug Report [ 1160442 ]
835 glutGet(GLUT_ELAPSED_TIME) is too granular
837 2005-04-26 John F. Fay <john.fay.ctr@eglin.af.mil>
839 * src/freeglut_internal.h, src/freeglut_structure.c: Fixing the
840 typecasts on the callback fetches and invocations to allow
841 \"freeglut\" to compile with GCC 4.0
842 * src/freeglut_menu.c: Fixing erroneous implementation of Takeshi\'s fix
843 * src/Makefile.am: Changing include path from relative to absolute to
844 support off-directory builds (Yuri D\'Elia, March 22, 5:59 PM)
845 * LISEZ_MOI: Adding \"LISEZ-MOI\", the French version of \"README\"
847 2005-04-25 John F. Fay <john.fay.ctr@eglin.af.mil>
849 * ChangeLog: Updating the ChangeLog ... it seems to be something of a
850 stepchild if we\'re not careful.
852 2005-04-22 John F. Fay <john.fay.ctr@eglin.af.mil>
854 * src/freeglut_menu.c: Yuri D\'Elia\'s changes to get the virtual
855 maximum screen extent instead of the actual screen size.
856 * src/freeglut_gamemode.c: Yuri D\'Elia\'s changes to the game mode
858 * src/freeglut_structure.c: Change a hard-coded number to a defined
859 constant and add some initializations
860 * src/freeglut_cursor.c: Removing duplicate cursor code. This and the
861 previous change (in freeglut_main.c) apparently got combined.
862 * ChangeLog: Updating the ChangeLog to reflect activity over the past
864 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
865 src/freeglut_display.c, src/freeglut_gamemode.c,
866 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
867 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c,
868 src/freeglut_window.c: Trying again to change \"fgStructure.Window\"
869 to \"fgStructure.CurrentWindow\" and \"fgStructure.Menu\" to
870 \"fgStructure.CurrentMenu\" for easier maintenance.
872 2005-04-15 John F. Fay <john.fay.ctr@eglin.af.mil>
874 * ChangeLog: Updating the ChangeLog as a means of testing pCVSc
875 * src/freeglut_internal.h: Testing!
877 2005-03-23 Brian Paul
879 * include/GL/freeglut_ext.h: added comment about AUX flags
881 2005-02-16 Brian Paul
883 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
884 src/freeglut_structure.c, src/freeglut_window.c: fixes for menus being
885 attached to multiple buttons/windows (John Fay)
886 * src/freeglut_callbacks.c: added error check (John Fay)
888 2005-02-15 Brian Paul
890 * src/freeglut_init.c, src/freeglut_window.c: AUX buffers for Windows
893 2005-02-11 Brian Paul
895 * include/GL/freeglut_ext.h, src/freeglut_init.c, src/freeglut_window.c:
896 Aux color buffer support. Pass one of GLUT_AUX[1234] to
897 glutInitDisplayMode. Only implemented/tested on GLX, not Windows.
898 * include/GL/freeglut_ext.h, src/freeglut_ext.c,
899 src/freeglut_internal.h: Fix object/function pointer inconsistencies
900 which are a problem for gcc 3.4.2. Added GLUTproc type, returned by
901 glutGetProcAddress().
903 2005-01-23 Sven Panne <sven.panne@aedion.de>
905 * configure.ac: autoconf 2.58 is enough
906 * src/freeglut_callbacks.c, src/freeglut_internal.h: Stylistic change
907 only (added "do { ... } while( 0 )" around multi-statement macros)
908 * configure.ac, src/freeglut_joystick.c, src/freeglut_main.c: Testing
909 for errno.h is overkill. :-)
910 * src/freeglut_cursor.c, src/freeglut_main.c: Windows platforms only:
911 Merged some cursor-related code from John Fay (with minor changes)
913 2005-01-05 Sven Panne <sven.panne@aedion.de>
915 * src/freeglut_ext.c, src/freeglut_font.c, src/freeglut_main.c,
916 src/freeglut_state.c, src/freeglut_window.c: Hopefully removed all
917 damage done by commits without merge
918 * ChangeLog, src/freeglut_cursor.c: Reworked the X11 part of
919 glutSetCursor, fixing bug #764187 (Variable mouse pointers don't work)
920 on the way: * Use slightly more compatible cursor shapes for
921 GLUT_CURSOR_RIGHT_ARROW and GLUT_CURSOR_LEFT_ARROW. * Refactored and
922 fixed the erroneous code for GLUT_CURSOR_NONE. * Removed the incorrect
923 use of XFreeCursor and use a cache of cursors instead. Cursors are
924 never freed now, we could do this e.g. via reference countig if this
925 is really needed. * Fixed error handling. * Unknown cursor types are
926 an error now. * Now the window state always corresponds to the wanted
927 cursorID, even in the case of GLUT_CURSOR_FULL_CROSSHAIR.
929 NOTE: I am not sure where the cursor cache should really reside,
930 currently it is simply a file-local variable.
932 2005-01-03 Sven Panne <sven.panne@aedion.de>
934 * ChangeLog, src/freeglut_gamemode.c: Fixed part of bug #926883 (Video
935 mode matching code, memory leaks, fullscreen), i.e. issue warnings
936 when XF86VidModeFOO fails.
937 * ChangeLog, src/freeglut_gamemode.c: (234) Fixed part of bug #926883
938 (Video mode matching code, memory leaks, fullscreen): Now we first try
939 to get an exact mode match, ignoring the refresh rate if none could be
940 found. This way the X11 part and the WinDoze behave similarly. NOTE:
941 We still don't behave like GLUT, because it has a wider notion of
942 "best" match. We have to refactor and extend freeglut quite a bit to
944 * ChangeLog, src/freeglut_gamemode.c: Fixed part of bug #926883 (Video
945 mode matching code, memory leaks, fullscreen), i.e. memory leak caused
946 by not freeing the mode lines returned by XF86VidModeGetAllModeLines
947 * ChangeLog, src/freeglut_window.c: Improved error message a bit when no
948 suitable visual could be found (X11 only).
949 * configure.ac, src/freeglut_internal.h, src/freeglut_main.c: autoconf'd
951 * src/freeglut_joystick.c: Removed redundant #include
952 * ChangeLog, configure.ac, src/freeglut_joystick.c, src/freeglut_main.c:
953 autoconf'd <errno.h> handling and removed an unused '#include
955 * configure.ac, src/freeglut_joystick.c, src/freeglut_main.c: autoconf'd
956 <limits.h> and <sys/param.h> handling, removing MIN/MAX macros on the
958 * src/freeglut_internal.h: Cosmetics.
959 * configure.ac, src/freeglut_joystick.c: autoconf'd <fcntl.h> and
960 <sys/ioctl.h> handling
961 * src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c:
962 Improved <sys/typed.h> / <unistd.h> handling as suggested by the
964 * configure.ac, progs/demos/Lorenz/lorenz.c, src/freeglut_internal.h,
965 src/freeglut_main.c: Fixed <sys/time.h> / <time.h> handling as
966 suggested by the autoconf docs.
967 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
968 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
969 src/freeglut_font_data.c, src/freeglut_gamemode.c,
970 src/freeglut_geometry.c, src/freeglut_init.c, src/freeglut_internal.h,
971 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
972 src/freeglut_misc.c, src/freeglut_overlay.c, src/freeglut_state.c,
973 src/freeglut_structure.c, src/freeglut_teapot.c,
974 src/freeglut_videoresize.c, src/freeglut_window.c: Moved '#include
975 "config.h"' to freeglut_internal.h, we will need it there soon and it
976 makes everything a bit shorter.
977 * ChangeLog: Resurrected my recent additions which were nuked by the
978 previous commit, adding the latest change on the way. :-(
979 * acconfig.h: Removed acconfig.h, it is deprecated and we don't need it.
980 * src/freeglut_cursor.c, src/freeglut_font.c, src/freeglut_init.c,
981 src/freeglut_structure.c: Make it compile again with "-Wall -pedantic
982 -Werror", redoing quite a few things I've fixed already a few days
983 ago. Have today's commits been done by copying instead of merging? :-(
985 2005-01-03 James Jones <puggles@users.sourceforge.net>
987 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
988 src/freeglut_window.c: Changes remove duplicate menu code from
989 "freeglut_window.c" and put it into one place in "freeglut_menu.c"
990 where it belongs. - John Fay
991 * ChangeLog: General ChangeLog Updates
992 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
993 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
994 src/freeglut_gamemode.c, src/freeglut_geometry.c, src/freeglut_init.c,
995 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
996 src/freeglut_menu.c, src/freeglut_misc.c, src/freeglut_state.c,
997 src/freeglut_structure.c, src/freeglut_teapot.c,
998 src/freeglut_teapot_data.h, src/freeglut_window.c: Adding
999 initialization checking to all GLUT interface functions and removing
1000 asserts from the rest of the code - John Fay
1002 2005-01-01 Sven Panne <sven.panne@aedion.de>
1004 * ChangeLog, src/Makefile.am: Added missing files from "src"
1005 subdirectory to dist.
1006 * AUTHORS: Synched with project member list on SourceForge
1007 * ChangeLog, Makefile.am, configure.ac: Modernized configure.ac a bit
1008 and added a rule to Makefile.am to update libtool. Note that all gcc
1009 compiler warnings are now on by default.
1010 * ChangeLog, include/GL/freeglut_std.h,
1011 progs/demos/CallbackMaker/CallbackMaker.c,
1012 progs/demos/Fractals_random/fractals_random.c,
1013 progs/demos/Lorenz/lorenz.c, progs/demos/One/one.c,
1014 src/freeglut_cursor.c, src/freeglut_font.c, src/freeglut_init.c,
1015 src/freeglut_teapot_data.h: Make "gcc -Wall -pedantic -Werror" happy.
1016 * ., .cvsignore: Ignore files generated by autoscan.
1017 * ChangeLog, INSTALL, configure.ac, configure.in: Renamed "configure.in"
1018 to the officially preferred "configure.ac".
1019 * stamp-h, stamp-h.in: Removed unused stamp-h* files, configure
1020 generates them (a single stamp-h1, to be exact).
1021 * ChangeLog, Makefile.am: Added eMbedded Visual Tools project/workspace
1022 files to distribution.
1023 * ., .cvsignore: Ignore distribution tar files
1025 2004-12-31 Sven Panne <sven.panne@aedion.de>
1027 * ChangeLog, src/freeglut_main.c: Fixed first bug of #1064195 (two
1028 things when using signals): Don't issue a warning about select when a
1029 non-blocked signal was caught. This makes sense and is more compatible
1031 * ChangeLog, src/freeglut_font.c: Fixed bug #1040435 (glutBitmapString()
1033 * ChangeLog: Alas, the ChangeLog has not the usual ChangeLog format, so
1034 tell (X)Emacs about that fact.
1035 * ChangeLog, src/freeglut_window.c: Fixed bug #1045054 (KeyReleaseMask
1037 * ChangeLog, src/freeglut_state.c: Fixed bug #1087642
1038 (glutDeviceGet(GLUT_DEVICE_KEY_REPEAT) unimplemented).
1039 * ChangeLog, src/freeglut_ext.c: Fixed bug #1079530 (glutGetProcAddress
1040 and geometric objects).
1041 * ., .cvsignore, doc, doc/.cvsignore, include, include/.cvsignore,
1042 include/GL, include/GL/.cvsignore, progs, progs/.cvsignore,
1043 progs/demos, progs/demos/.cvsignore, progs/demos/CallbackMaker,
1044 progs/demos/CallbackMaker/.cvsignore, progs/demos/Fractals,
1045 progs/demos/Fractals/.cvsignore, progs/demos/Fractals_random,
1046 progs/demos/Fractals_random/.cvsignore, progs/demos/Lorenz,
1047 progs/demos/Lorenz/.cvsignore, progs/demos/One,
1048 progs/demos/One/.cvsignore, progs/demos/shapes,
1049 progs/demos/shapes/.cvsignore, src, src/.cvsignore: Improved
1052 2004-12-17 James Jones <puggles@users.sourceforge.net>
1054 * src/freeglut_cursor.c, src/freeglut_display.c,
1055 src/freeglut_internal.h, src/freeglut_menu.c, src/freeglut_misc.c,
1056 src/freeglut_window.c: Some assertion changes / removals from Dr. John
1059 2004-10-06 Brian Paul
1061 * src/freeglut_callbacks.c, src/freeglut_internal.h,
1062 src/freeglut_joystick.c, src/freeglut_state.c: joystick init fixes
1065 2004-10-05 Brian Paul
1067 * src/freeglut_main.c: updated comments (John Fay)
1068 * src/freeglut_init.c, src/freeglut_main.c, src/freeglut_window.c:
1069 improved comments and mouse coord adjustments (John Fay)
1070 * src/freeglut_init.c: more clean-ups, fixes from John Fay
1072 2004-09-23 Brian Paul
1074 * src/freeglut_font.c, src/freeglut_stroke_mono_roman.c,
1075 src/freeglut_stroke_roman.c: font updates from John Fay
1076 * src/freeglut_main.c: more updates from John Fay
1077 * src/freeglut_geometry.c, src/freeglut_init.c: assorted updates from
1080 2004-09-15 James Jones <puggles@users.sourceforge.net>
1082 * src/freeglut_init.c: Fix to glutInit() command-line argument
1083 compaction - Patch #1027724 from takeshi2
1085 2004-09-13 Brian Paul
1087 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
1088 src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1089 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_state.c,
1090 src/freeglut_window.c: more updates from John Fay
1091 * src/freeglut_cursor.c, src/freeglut_gamemode.c,
1092 src/freeglut_geometry.c, src/freeglut_init.c, src/freeglut_internal.h,
1093 src/freeglut_joystick.c, src/freeglut_main.c,
1094 src/freeglut_structure.c, src/freeglut_teapot.c,
1095 src/freeglut_window.c: some function renaming, etc (John Fay)
1097 2004-09-10 Brian Paul
1099 * src/freeglut_callbacks.c, src/freeglut_init.c,
1100 src/freeglut_internal.h, src/freeglut_main.c: joystick updates from
1102 * src/freeglut_cursor.c, src/freeglut_font_data.c,
1103 src/freeglut_gamemode.c, src/freeglut_geometry.c, src/freeglut_init.c,
1104 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
1105 src/freeglut_menu.c, src/freeglut_misc.c, src/freeglut_state.c,
1106 src/freeglut_stroke_mono_roman.c, src/freeglut_stroke_roman.c,
1107 src/freeglut_structure.c, src/freeglut_teapot.c,
1108 src/freeglut_window.c: updated comments from John Fay
1110 2004-08-11 James Jones <puggles@users.sourceforge.net>
1112 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c:
1113 Fix a game mode crashing bug, conditional compilation for Windows, and
1114 comment out some diagnostic prints (John Fay)
1116 2004-08-05 James Jones <puggles@users.sourceforge.net>
1118 * src/freeglut_window.c: Implements Richard Rauch's request that the
1119 warning about indirect rendering contexts be suppressed for his BSD
1121 * src/freeglut_teapot_data.h: Someone used C++ style comments in a C
1122 file... tisk tisk...
1123 * src/freeglut_font.c: Bugfix for "glutBitmapString" so that it now
1124 handles end-of-line characters properly (Richard Rauch)
1125 * README: Incremental update ... (John Fay)
1127 2004-06-29 Brian Paul
1129 * src/freeglut_structure.c: give menu windows the title 'freeglut menu'
1131 * src/freeglut_window.c: move glXMakeCurrent() to after the point where
1132 the window's title is set (helps Chromium)
1134 2004-05-13 James Jones <puggles@users.sourceforge.net>
1136 * freeglut.dsp, freeglut_static.dsp: Add one more header file to MSVC
1139 2004-05-12 James Jones <puggles@users.sourceforge.net>
1141 * include/GL/freeglut_ext.h, include/GL/freeglut_std.h: John Fay:
1142 Direct/indirect rendering context change, fix a bug that somebody
1143 reported (about needing "GLUT_XLIB_IMPLEMENTATION" defined) and remove
1144 a false deprecation of a function.
1145 * src/freeglut_main.c: John Fay: A bug fix re: behavior of the code when
1146 the user clicks the "x" to close a window, and commentary to a message
1147 type with fixes for a Windows event processing bug.
1148 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_state.c,
1149 src/freeglut_window.c: John Fay: Implement the modified logic of the
1150 direct/indirect rendering context.
1151 * src/freeglut_font.c, src/freeglut_font_data.c: John Fay: Implement the
1152 upper end of the bitmapped fonts (beyond ASCII code 127). The fonts
1153 are very close to the GLUT fonts.
1154 * src/freeglut_teapot.c, src/freeglut_teapot_data.h: John Fay: These
1155 files implement the teapot for WINCE.
1156 * src/freeglut_internal.h: John Fay: Remove some obsolete defined
1158 * freeglut.dsp, freeglut_static.dsp: John Fay: Add
1159 "freeglut_glutfont_definitions.c" to the build and tell it to look in
1160 the "include" directory for the <GL/freeglut.h> file.
1162 2004-03-28 Steve Baker <steve@sjbaker.org>
1164 * progs/demos/shapes/shapes.c: Removed unnecessary initialisation.
1165 * progs/demos/shapes/shapes.c: Added a cullface test.
1169 * freeglut_evc4.vcp, src/freeglut_gx.cpp, src/freeglut_init.c,
1170 src/freeglut_main.c: removed .cpp file (using LoadLibrary() instead)
1171 removed modified gx.h file cleaned up all // and tabs
1175 * src/freeglut_main.c: Prevent exceeding array bounds in X11 key-repeat
1180 * freeglut_evc4.vcp, src/freeglut_ext.c, src/freeglut_gx.cpp,
1181 src/freeglut_init.c, src/freeglut_main.c, src/freeglut_misc.c,
1182 src/freeglut_state.c, src/freeglut_window.c: replaced all tabs with 4
1183 spaces replaced all // with /* */ block fixed freeglut_gx.cpp file
1184 with #if TARGET_HOST_WINCE
1188 * src/freeglut_init.c, src/freeglut_main.c, src/freeglut_state.c:
1189 Whitespace conversion - tabs to 4 spaces
1190 * src/freeglut_window.c: Revert X11 fgCloseWindow to 1.38 pre-offscreen
1195 * freeglut_evc4.vcp, src/freeglut_gx.cpp, src/freeglut_main.c: fixed
1196 mouse position and keyboard mapping. added c-wrapper cpp file for
1198 * freeglut_evc4.vcp, freeglut_evc4.vcw, include/GL/freeglut_std.h,
1199 src/freeglut_cursor.c, src/freeglut_display.c, src/freeglut_ext.c,
1200 src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1201 src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_misc.c,
1202 src/freeglut_state.c, src/freeglut_window.c: added support for
1203 WindowsCE (building on top of klimt)
1207 * src/freeglut_main.c: Repeat-key handling for Win32 Utilise both
1208 FreeGLUT state and per-window filtering modes
1212 * ChangeLog: Forgot to update the ChangeLog for the benefit of those who
1213 do not have CVS or Web access.
1214 * configure.in, include/GL/freeglut_ext.h, src/freeglut_internal.h,
1215 src/freeglut_window.c: Completed removal of all support for the
1216 offscreen rendering.
1218 If you wish to do offscreen supportin a portable manner, you will no
1219 longer be able to do so with current versions of freeglut.
1220 * progs/demos/Makefile.am: Removed Makefile support for the offscreen
1222 * progs/demos/One/one.c, progs/demos/offscreen: Removed offscreen demo
1227 * src/Makefile.am: Provide local include path to automake for
1232 * src/freeglut_window.c: Code formatting tweak
1233 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1234 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c:
1235 Resolution of X11 key-repeat handling
1237 glutSetKeyRepeat is global to all FreeGLUT windows in the application
1238 glutIgnoreKeyRepeat is a per-window over-ride
1240 To avoid nasty global X11 state interaction, or GLUT-style event queue
1241 filtering - the approach in FreeGLUT is to use the current key state
1242 XQueryKeymap to detect and ignore KeyRelease/KeyPress pairs that are
1246 http://pyopengl.sourceforge.net/documentation/manual/glutSetKeyRepeat.3GLUT.xml
1247 http://pyopengl.sourceforge.net/documentation/manual/glutIgnoreKeyRepeat.3GLUT.xml
1248 * src/freeglut_callbacks.c, src/freeglut_cursor.c, src/freeglut_ext.c,
1249 src/freeglut_font.c, src/freeglut_font_data.c,
1250 src/freeglut_gamemode.c, src/freeglut_geometry.c,
1251 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
1252 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
1253 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
1254 Stripped out tabs and end-of-line whitespace Differences are in
1259 * src/freeglut_window.c: Resolve [ 853044 ] FreeGLUT menus on Win32 in
1260 task bar and ALT-TAB list CreateWindowEx(WS_EX_TOOLWINDOW,...)
1261 extended style suppresses the popup menu window from the taskbar or
1266 * src/freeglut_init.c: ignoreKeyRepeat mode in FreeGLUT is TRUE by
1267 default For compatibility with GLUT, the mode should be FALSE by
1268 default This issues was probably undetected until now because
1269 ignoreKeyRepeat didn't yet work.
1270 * src/freeglut_main.c: Resolved bug #869765 glutIgnoreKeyRepeat() Fix
1271 (Win32) glutIgnoreKeyRepeat now behaves correctly on Win32
1272 * src/freeglut_internal.h: C++ style comment converted to C style
1274 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
1275 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
1276 src/freeglut_font_data.c, src/freeglut_gamemode.c,
1277 src/freeglut_geometry.c, src/freeglut_init.c, src/freeglut_joystick.c,
1278 src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_misc.c,
1279 src/freeglut_overlay.c, src/freeglut_state.c,
1280 src/freeglut_structure.c, src/freeglut_teapot.c,
1281 src/freeglut_videoresize.c, src/freeglut_window.c: Include freeglut
1282 header via <GL/freeglut.h> rather than "../include/GL/freeglut.h" This
1283 allows some additional flexibility with file layout. It should be the
1284 responsibility of the build environment, rather than at source level.
1285 This change tested on MSVC 6, cygwin and mingw32 gcc and Linux gcc.
1289 * src/freeglut_joystick.c: According to John F. Fay: The variable
1290 "num_axes" should be "joy->num_axes".
1294 * src/freeglut_gamemode.c: Removed nonstandard #warning constructs.
1295 Converted to XXX comments. (These are warnings about gamemode features
1296 not working the same on some systems as on others. The semantics of
1297 gamemode are dubious, since it was never formally documented, and has
1298 for a long time worked in different ways on different systems, so it
1299 is arguable that there is nothing really wrong with systems that don't
1300 support resolution-changes.)
1301 * src/freeglut_callbacks.c: Fixed the bug where glutDisplayFunc() was
1302 effectively invoking glutPostRedsiplay(). This is wrong on the face of
1303 it, and may be at root for some of the annoying "timing" issues we've
1304 had with redisplay events being called inappopriately.
1308 * progs/demos/offscreen/Makefile.am: I had rubbed the
1309 offscreen/Makefile.am off from the shapes demo. I forgot to remove a
1310 couple of references to the shapes.c and shapes.dsp (.dsw?) files.
1311 * configure.in, include/GL/freeglut_ext.h, progs/demos/Makefile.am,
1312 progs/demos/offscreen, progs/demos/offscreen/Makefile.am,
1313 progs/demos/offscreen/offscreen.c: Added "offscreen" demo, a very
1314 simple program that produces an onscreen window and, upon command,
1315 renders a similar offscreen display and writes the result to disk.
1317 Also, modified the build structure for UNIX_X11 to autobuild the demo.
1318 (Not done for WIN32 at this time.)
1320 Also, forgot to previously commit the updated freeglut_ext.h include.
1325 * src/freeglut_window.c: Minor comment adjustments.
1329 * src/freeglut_geometry.c: Refinements to comments
1333 * src/freeglut_joystick.c: Normalized the style of the new joystick a
1335 * src/freeglut_main.c: For some reason, the X "expose" event handler was
1336 *directly* calling the display handler in the client. (Okay, it was
1337 calling a function that operates on the window handle.)
1339 If you have any complexity to the display code, this can be painful to
1340 watch. I can't think of a good reason to do the display immediately,
1341 so I fixed the code to do a glutPostRedisplay().
1342 * src/freeglut_joystick.c: A commit on behalf of John (in turn, and in
1343 part, also on behalf of Thierry).
1345 * Renamed some of the old PLIB functions to have glut* prefixes. (I
1346 guess that there is some thought about exporting them to the API.)
1348 * Changes from Thierry for FreeBSD support, and/or results of testing?
1350 * I re-merged an XXX comment re. NetBSD/amd64 and propogated a comment
1351 on a duplicated #define for FreeBSD. We need the GNU autoconfig stuff
1352 to be updated by someone who groks it, now.
1356 * src/freeglut_init.c: Commit of John's tidying-up of a comment, closing
1357 out an XXX comment that I wrote. Thanks, John.
1361 * src/freeglut_window.c: ...AND a tab snuck into my changes for
1362 GLUT_OFFSCREEN support. Mea culpa.
1363 * src/freeglut_joystick.c: Removed a ^M that snuck into the #pragma for
1364 the new joystick code.
1365 * src/freeglut_window.c: Ooops. We don't want people to be able to
1366 create a subwindow of an offscreen window. (^& This is no longer
1369 (Actually, it would be nice if it would work, but I don't think that
1370 you can subwindow a pixmap in UNIX_X11, and assume that subwindowing
1371 offscreen doesn't work on WIN32, either.)
1372 * ChangeLog: Added entries for the joystick updates and the offscreen
1373 experimental support.
1374 * src/freeglut_joystick.c: Changed a couple of XXX comments. Added a new
1375 one. These all the nest of #ifs in the BSD section of the new joystick
1377 * progs/demos/CallbackMaker/CallbackMaker.c: "Heavy editing" by John to
1378 his CallbackMaker demo.
1379 * src/freeglut_joystick.c: John added a #pragma to the joystick code for
1381 * src/freeglut_internal.h, src/freeglut_window.c: Adds GLUT_OFFSCREEN as
1382 a display mode option. This includes:
1384 * Recognizing the mode when you call glutCreateWindow(). (Offscreen
1385 looks and acts like a top-level window in many ways.)
1387 * During the life of the offscreen "window", various window-management
1388 functions are modified to respect offscreen status.
1390 (Excepting reshaping windows, there is not much useful interpretation
1391 for managment of offscreen areas. Reshaping is possibly more work than
1392 it's worth to support, and GLUT specs allow us to ignore the request.)
1394 * Cleanup for "offscreen" windows is a little different than for
1397 Windows still don't start up quite ideally. Offscreen windows should
1398 probably get a reshape event, but not a display.
1402 * src/freeglut_init.c, src/freeglut_joystick.c: Big import of updated
1403 joystick code from PLIB, with permission from Steve Baker. Most of the
1404 adaptation done by John, with a little bit of testing and changes by
1405 Thierry Thomas and myself. Seems to compile on:
1407 WIN32 Red Hat LINUX FreeBSD NetBSD/amd64
1411 * src/freeglut_main.c: Close a bug whereby events can be delayed
1412 arbitrarily long if they get caught between the socket and the
1413 client-side queue on X, sometime after glutMainLoopEvent()'s loop
1414 quits and before the sleep code is invoked.
1418 * src/freeglut_main.c: Ammended a comment on fgCheckJoystickCallback().
1419 * src/freeglut_main.c: Minor style normalizations to minimize the diffs
1420 between *now* and from before John's changes. No functional changes:
1422 * Removed some hard TABs introduced. * Removed some
1423 spaces-at-end-of-line introduced. * A couple of function calls were
1426 I did this separately only because I don't like messing with other
1427 people's commits. (I don't like feeling like the style police, either,
1428 but when I mess with the commit, there's no room for reverting my
1429 interference if it is deemed undesirable...)
1430 * src/freeglut_main.c: Some changes from John.
1432 The main attraction seems to be correcting a bug with the action-on-
1437 * src/freeglut_main.c, src/freeglut_window.c: Win32 glutIconifyWindow()
1438 patch contributed by John F. Fay Restrict resize callbacks to visible
1439 windows When iconified via glutIconifyWindow(), don't pass (0,0) to
1440 resize callback Note that minimising the window via the menu or
1441 minimise button is not yet resolved.
1445 * src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_structure.c:
1446 Split a few overlong lines.
1448 Adjusted some spacing in a few spots to be more consistant with
1449 freeglut style. Including one unindented if() body.
1451 Eliminated a dead variable.
1452 * src/freeglut_joystick.c: Changed several #ifdef's to proper #if's.
1454 * src/freeglut_main.c: Hm... I thought that I committed this last night.
1457 This is Nigel's modified fgSleepForEvents(), essentially. Take 2.
1461 * include/GL/freeglut_std.h: Three supported win32 compilation
1462 environments: MSVC, Cygwin and MingW32 #pragma is specific to MS
1464 * src/freeglut_internal.h: Explicitly cast function pointer to (void *)
1465 in SET_WCB since all callbacks stored as void pointers suppress gcc
1466 -Wall -pendantic "noise"
1467 * src/freeglut_structure.c: Typesafe handling of temporary window
1468 destroy callback Move assignment out of while test, scope temporary
1469 inside loop Be explicit about assignment/comparison in if test for gcc
1470 peace of mind suppress gcc -Wall -pendantic "noise"
1471 * src/freeglut_internal.h: Three supported win32 compilation
1472 environments: MSVC, Cygwin and MingW32 The windows mmsystem header
1473 need only be included internally to freeglut strdup vs _strdup is
1474 specific to the MS compiler
1475 * src/freeglut_font.c: strlen expects (char *), rather than (unsigned
1476 char *) suppress gcc -Wall -pendantic "noise"
1477 * src/freeglut_cursor.c: Replace assignment of array to struct with
1478 field-by-field assignment suppress gcc -Wall -pendantic "noise"
1479 * src/freeglut_menu.c: glutBitmapString and glutBitmapLength expect
1480 (unsigned char *) rather than (char *) suppress gcc in -Wall
1482 * src/freeglut_joystick.c: Replace #ifdef WIN32 with #ifdef
1483 TARGET_HOST_WIN32, as per FreeGLUT convention
1484 * src/freeglut_init.c: fgState.FPSInterval is unsigned int (GLuint),
1485 environment variable GLUT_FPS can be negative
1486 * src/freeglut_window.c: OpenGL context is not made current on Win32
1487 until fgSetWindow is called. This resolves severe problems observed in
1489 * src/freeglut_window.c: #pragma message is only understood my MS
1490 compiler #if defined(_MSC_VER) .. #endif
1491 * src/freeglut_state.c: Resolve bug 864978 - GLUT_OWNS_JOYSTICK
1493 * src/freeglut_main.c: Tidy nested if/else to suppress gcc -Wall
1494 -pedantic noise gcc suggests explicit braces to avoid ambiguous `else'
1498 * progs/demos/CallbackMaker/CallbackMaker.c,
1499 progs/demos/Fractals/fractals.c,
1500 progs/demos/Fractals_random/fractals_random.c: Configuring with
1501 "--enable-warnings" broke three demos: * CallbackMaker defined, but
1502 did not use, the Joystick() function (a callback for the freeglut
1503 joystick interface). I uncommented the callback-registration. I assume
1504 that it was commented out because it was spammy. (freeglut does
1505 joysticks by polling with a timer.) Perhaps a longer interval than
1506 10ms would be advisable?
1508 * fractals.c used strcpy() without getting the prototype. Added
1509 #include <string.h> at the top.
1511 * fractals_random.c had the same problem as fractals.c.
1515 * src/freeglut_main.c: Moved the window-resize code so that it happens
1516 whenever there is a pending resize for the window, whether or not the
1517 window is visible or in need of a redisplay. The resize is now done
1518 before the visibility and need-to-redisplay checks.
1522 * src/freeglut_structure.c: Got rid of those int/ptr warnings on AMD64.
1523 (The code was casting an {int} to a pointer, and later retrieving the
1524 int by another cast. It should be safe provided that pointers are at
1525 least as big as {int}, but GCC was giving warnings on my system,
1527 * src/freeglut_main.c, src/freeglut_structure.c: Several
1528 test-on-assignment cases have been converted to stop GCC from
1529 complaining about if( a = get_a_value_for_a( ) ) type code.
1533 * src/freeglut_internal.h: Ooops, left some cruft in a comment in the
1534 header when committing the last patch. Cleaned up.
1535 * src/freeglut_callbacks.c, src/freeglut_internal.h,
1536 src/freeglut_structure.c: Wrote SET_WCB() to set a window callback.
1537 This lets us out of using the FETCH_WCB() as an lvalue (which it
1538 shouldn't, since the value of the FETCH is cast to the correct
1539 function-pointer type).
1541 2003-12-15 James Jones <puggles@users.sourceforge.net>
1543 * progs/demos/Fractals/Fractals.dsp: Change the destination directory of
1544 the debug version to "Debug" (John Fay)
1546 2003-12-13 James Jones <puggles@users.sourceforge.net>
1548 * ChangeLog: Release 2.2.0
1552 * src/freeglut_main.c, src/freeglut_window.c: Stripped out TABs that got
1555 There were no changes other than replacing about 10 to 12 TABs with a
1556 visually-suitable number of spaces, so this can probably be blindly
1557 treated as equivalent to the previous versions of the two affected
1560 2003-12-11 Christopher John Purnell
1562 * src/freeglut_internal.h, src/freeglut_structure.c: The deferred window
1563 destruction code was destroying the windows in reverse order. This
1564 cased a crash when the call to glutDestroyWindow() for a sub windows
1565 was immediately followed by a call to glutDestroyWindow() for it's
1566 parent. fgCloseWindows() would call fgDestroyWindow() for the parent
1567 first fgDestroyWindws() would recurse over the children and then
1568 fgCloseWindows() would call fgDestroyWindow() again for the child.
1570 I've replaced the single linked list with one of our two way link list
1571 structures. I've also moved it into fgStructure because that seemed
1572 the consistent thing to do.
1574 I said the the deferred windows destruction causes more problems then
1577 2003-12-11 James Jones <puggles@users.sourceforge.net>
1579 * progs/demos/CallbackMaker/Makefile.am: Include project file in the
1581 * ChangeLog: Updates for 2.2.0 RC2
1582 * progs/demos/demos.dsw: Add shapes to the Visual C workspace.
1583 * progs/demos/shapes/Makefile.am: Package the visual C project file with
1585 * configure.in: Set the version to 2.2.0
1586 * src/freeglut_gamemode.c, src/freeglut_main.c, src/freeglut_window.c:
1587 Nigel Stewart's Win32 window-sizing fix for game mode
1588 * progs/demos/One/one.c: Disable/enable lighting in the "one.c" demo
1590 * progs/demos/CallbackMaker/CallbackMaker.dsp: Add some essentials to
1591 get this program to compile (Nigel)
1592 * src/freeglut_internal.h: Update to reflect 2.2.0 release
1593 * ChangeLog: Note the release of 2.2.0 RC1
1597 * src/freeglut_structure.c, src/freeglut_window.c: John correctly
1598 observed that the initialization {OldHeight} and {OldWidth} in the
1599 window structure should be done for both windows and sub-windows, and
1600 the easiest way to do this is in the
1601 freeglut_structure.c:fgCreateWindow() code. So, transplant one line.
1605 * src/freeglut_main.c: Commit of John's change to stop an infinite-loop
1606 condition when the only windows left are freeglut menu windows, and
1607 correctly calls exit() if we drop out of the main loop without having
1608 requested any freeglut extensions to glutMainLoop() handling.
1612 * progs/demos/shapes/shapes.c, progs/demos/shapes/shapes.dsp: Two from
1615 * Updated shapes.c. I think that it's just reformatting and the
1616 addition of some comments.
1618 * Added shapes.dsp, a Microsoft Visual C++ Developer Studio Project
1619 file for building shapes on WIN32 with MSVC++.
1621 2003-12-03 Christopher John Purnell
1623 * configure.in: Added an option to enable gcc compiler warnings. I've
1624 explicitly excluded the one about adding parentheses.
1628 * src/freeglut_main.c: Touched up several comments, pointing up things
1629 that may be worth reflect- ing upon in the future.
1630 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_window.c:
1631 Hrm. I misunderstood the purpose of {window->State.Width} and
1632 {...Height}. Those are *not* records of the old values, but rather of
1633 the *desired* *new* values, hence it was inappropriate to use them in
1634 ConfigureNotify X11 event handling. Doing so introduced some new
1637 So, I created OldHeight and OldWidth in the window State structure,
1638 and *those* do what I require.
1640 I also stripped out the obsolete comment about getting extra/bogus
1641 reshape events. (Though I maintain that an application should be
1642 robust against them, freeglut should no longer generate them if the
1643 window has not changed size since last reported.)
1647 * src/freeglut_main.c: Changed Create/ConfigureNotify handling in
1650 * Just need to call GETWINDOW() once. Ooops. Heh. * Update
1651 {window->State} with the new size of the window. * If the window-size
1652 has NOT changed, then do NOT call the Reshape event.
1653 * src/freeglut_main.c: Added an "XXX" earmark for post-release
1654 contemplation. (The point is definitely in need of consideration, I
1655 believe, but is not immediately a major bug, so I'd rather not mess
1656 with it at the risk of postponing a release "soon".)
1657 * src/freeglut_main.c: Ensure that the time-out for sleeping is never
1659 * src/freeglut_main.c: Fixed a bug for UNIX_X11 where window reshape
1660 events were causing freeglut to mark the window as *needing* a reshape
1661 (which during general display callback handling would result in
1662 effectively a glutReshapeWindow()).
1664 The code is now system-dependant. It should be abstracted to a
1665 function, but is presently copied in two places. Sorry.
1667 Also, inverted the order of the associated if()/else check (in both
1668 WIN32 and UNIX_X11 branches) since the former "else" part was a
1669 one-line callback invocation.
1671 This fixes two seemingly unrelated bugs that I was seeing in UNIX_X11.
1673 2003-12-01 Christopher John Purnell
1675 * src/freeglut_internal.h: Added missing prototype for new list
1678 2003-11-28 Christopher John Purnell
1680 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1681 src/freeglut_structure.c: Timer optimizations. Made the list of
1682 pendinig timers ordered. Added a free list of used timer structures.
1683 * src/freeglut_callbacks.c: Timer optimizations.
1684 * src/freeglut_window.c: Fixed windows compilation problem with last
1687 2003-11-27 Christopher John Purnell
1689 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c,
1690 src/freeglut_structure.c, src/freeglut_window.c: Window close fix. The
1691 default behaiour should now be the same as with glut.
1695 * src/freeglut_init.c: Added change from Nigel to have resize events
1696 cause redraw events in WIN32. Also slightly reshuffled comments to
1697 deal with line-wrap issues.
1701 * src/freeglut_main.c: John reported, and fixed, a problem that recent
1702 changes caused for the Lorenz demo (seems to be WIN32 specific).
1703 * src/freeglut_structure.c: Update from John: Removed the freeglut hack
1704 of decrementing the highst-window-ID marker when the highest window is
1705 deleted. (This was a half-way measure for an idea that was decided to
1706 be dubious in the first place.)
1707 * configure.in, progs/demos/Makefile.am, progs/demos/shapes,
1708 progs/demos/shapes/Makefile.am, progs/demos/shapes/shapes.c: Added a
1709 new demo (from Nigel) showing some of the basic GLUT geometry shapes.
1710 "shapes" is the name of the demo.
1711 * include/GL/freeglut_ext.h, src/freeglut_geometry.c: Commit of work
1714 Massive rework of the geometric primitive code. Includes a new
1715 primitive (cylinder; solid and wireframe) and corresponding update to
1716 freeglut_ext.h for the prototype.
1717 * src/freeglut_internal.h, src/freeglut_main.c,
1718 src/freeglut_structure.c: More work from John (sorry for
1721 * We forgot to bump our version number in freeglut_internal.h It is
1722 now at 2.0.2 (actually, I think that 2.1.0 might be a better choice),
1723 which is presumably going to be our next formal release. 2.0.1 is
1724 incorrectly identified as 2.0.0 in the header.
1726 * A typo in a comment has been corrected ("than"/"that").
1728 * Numerous "manual" checks for callbacks are omitted now, since
1729 INVOKE_WCB() does this for us. These were holdovers from the
1730 pre-INVOKE_WCB() days. There may be some very subtle changes in
1731 freeglut behavior, since freeglut used to test the callbacks a little
1732 earlier in some cases and may have skipped some minor things (like
1733 changes to the current window) in some special cases, otherwise. It is
1734 not believed that any documented behavior is broken, and it is
1735 unlikely---not to say impossible---that any extant applications will
1736 detect the change. It is even possible that there is no external
1737 behavioral change in freeglut.
1739 This also significantly simplifies some sections of code that used to
1740 have conditional execution. "Unconditional code is simpler code" as
1741 one of the comments used to say.
1743 * Lots of XXX commentary is now removed. Some of it was obsoleted by
1744 other changes, some by changes from John.
1745 * src/freeglut_internal.h, src/freeglut_main.c,
1746 src/freeglut_structure.c: Change from John (I removed a couple of
1747 spaces from a couple of lines in his freeglut_internal.h file where
1748 they were wrapping in EMACS; otherwise, the files are exactly as he
1751 The change unifies the WIN32 and UNIX_X11 code by defining our own
1752 window-handle-type in freeglut_internal.h. This let John rip out some
1753 #if garbage in several places. The result is clearer code.
1759 * src/freeglut_font.c, src/freeglut_geometry.c,
1760 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
1761 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
1762 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c,
1763 src/freeglut_window.c: Numerous style normalizations from John:
1765 * Convert "return( value );" to "return value;" * Normalize spacing
1766 around semicolons. * Remove extraneous parens. * Split multi-statement
1767 lines into multiple lines. (Mostly things of the form: "if( condition
1769 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_window.c:
1770 All changes are from John, except for: (a) I re-inserted the meat of a
1771 comment that I still feel is relavent. (b) I fixed a compile-time
1772 error in the UNIX_X11 code where a variable is declared after
1773 executable code in a block without creating a new sub-block for the
1776 Changes from John include: (a) Style revision. (b) Changes to postpone
1777 the handling of window resizes.
1779 Lots of lines were changed, but I think that thos two cover the ground
1780 that he hit. See the diffs for details.
1782 2003-11-18 Christopher John Purnell
1784 * src/freeglut_cursor.c, src/freeglut_ext.c, src/freeglut_geometry.c,
1785 src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1786 src/freeglut_menu.c, src/freeglut_state.c, src/freeglut_structure.c:
1787 Lots of stuff that John F. Fay pointed out. Plus some changes to
1788 remove gcc warnings.
1790 2003-11-17 Christopher John Purnell
1792 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1793 src/freeglut_state.c, src/freeglut_structure.c: Fix spelling mistake
1794 in a variable name. Added a comment for John Fay. Added the copyright
1795 notice for XParseGeometry source.
1797 2003-11-16 Christopher John Purnell
1799 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1800 src/freeglut_state.c, src/freeglut_structure.c: Made Modifers variable
1801 global as per glut classic.
1802 * src/freeglut_init.c: Removed old unused glutInitDisplayString code.
1803 Reformated new glutInitDisplayString and XParseGeometry code.
1804 * src/freeglut_init.c: Use XParseGeometry for better geometry parsing.
1805 Moved geometry parsing to after fgInitialize() so we can use the
1806 screen size to correctly calculate negative positions in the geometry
1807 string. Copied the code for XParseGeometry from the X11 sources for
1808 use in the Win32 version. freeglut now passes test1 of the glut test
1811 2003-11-15 Christopher John Purnell
1813 * src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1814 src/freeglut_main.c, src/freeglut_structure.c, src/freeglut_window.c:
1815 Removed the state variable BuildingAMenu. Instead pass a new parameter
1816 isMenu to fgCreateWindow(). Elsewhere use window->IsMenu.
1817 * src/freeglut_init.c: freeglut_assert_ready is going to have to go at
1818 some point. But for now I've moved setting fgState.Initalized to
1820 * src/freeglut_callbacks.c, src/freeglut_display.c,
1821 src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1822 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
1823 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c,
1824 src/freeglut_window.c: Replace TRUE with GL_TRUE and FALSE with
1825 GL_FALSE where the type is GLboolean.
1829 * src/freeglut_main.c, src/freeglut_menu.c: Normalized the spacing
1830 around symbols, for the most part. Ho-hum.
1832 2003-11-15 Christopher John Purnell
1834 * src/freeglut_main.c: Added a call to fgDeinitialize() before the call
1835 to exit() in fgError().
1839 * src/freeglut_joystick.c: Style normalizations to the joystick code.
1841 2003-11-15 Christopher John Purnell
1843 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1844 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
1845 Added a new state variable "Initalized". Replaced referenced to
1846 Time.Set with this new variable where appropriate. fgElapsedTime() now
1847 set the start time if Time.Set is false. Moved
1848 glutGet(GLUT_ELAPSED_TIME) handling to before the assert.
1852 * src/freeglut_internal.h: Normalized the internal header's style a bit.
1853 * src/freeglut_init.c: Plowed one more file this morning. Still just
1854 trivial formatting issues.
1856 And I left alone the "INIT DISPLAY STRING PARSING" section, since it
1857 still appears to be in flux.
1858 * src/freeglut_font.c, src/freeglut_gamemode.c: Yet more trivial style
1861 Sorry, but that's all that I'm up to at the moment. On the plus,
1862 excepting the font_data file (which I've been skipping), up through
1863 this file, I think that the code style is pretty close to uniform.
1864 * src/freeglut_font.c: Minor style corrections.
1865 * src/freeglut_display.c: Minor spacing quibble.
1866 * src/freeglut_cursor.c: Added a brief explanatory note to the X code
1867 for GLUT_CURSOR_NONE.
1869 Corrected the indentation of a block of code.
1870 * src/freeglut_window.c: Noted one of a few cases where we do something
1871 immediately that could more efficiently be postponed, quite
1872 easily---and which GLUT promises *is* to be postponed. (It is unlikely
1873 that the difference will break any apps, but postponing should be
1876 No real change, just a comment in the code.
1880 * ChangeLog: Updated ChangeLog for the day.
1881 * include/GL/freeglut_std.h, progs/demos/One/one.c, src/freeglut_ext.c,
1882 src/freeglut_font.c: Removal of all remaining TABs in the freeglut
1883 *.[ch] files. (I missed a few in the "one" demo, it seems, and some
1884 more crept back into freeglut_(ext|font).c, presumably due to my own
1885 edits when I forgot to use the "freeglut-c-mode" in EMACS.)
1886 * progs/demos/One/one.c: Moved glutInit*() functions ahead of
1887 glutInit(). (This is proper use of glutInit() in general, since it
1888 allows the user to override settings via {argc, argv} command-line
1890 * progs/demos/One/one.c: Style normalizations: Removed CRs and hard TABs
1892 * ChangeLog, src/freeglut_structure.c: Corrected the numbering of the
1893 ChangeLog (there were two (110)s).
1895 Added entries summarizing my commits since September or late August,
1896 for the benefit of those lacking both CVS and web access.
1897 * progs/demos/demos.dsw: Added CRs to the ends of all lines in MS
1898 developer studio demos.dsw file..
1902 * src/freeglut_main.c: John's fix for the minimize/close/maximize
1903 controls no longer working. WIN32 expected us to pass the message on
1904 up the chain (or do something else with it), rather than just throwing
1905 away the event, for a certain class of events. (See the diffs for more
1908 The code is also slightly reformatted from what was previously in the
1910 * freeglut.dsp, freeglut_static.dsp,
1911 progs/demos/CallbackMaker/CallbackMaker.dsp, progs/demos/demos.dsw: A
1912 *.dsp file for CallbackMaker in the demos.
1914 Plus updated *.dsp and *.dsw files to reflect the new freeglut header
1917 NOTE: The prior version of the *.dsw file does not in fact have CRs. I
1918 thought that it did. For consistancy, I am not putting them in in this
1919 version, either. (At least one person said that his MSVC++ system is
1920 happy with the current files. If there are problems, we can easily add
1921 the CRs, but that should be a separate commit...)
1922 * configure.in, progs/demos/CallbackMaker,
1923 progs/demos/CallbackMaker/CallbackMaker.c,
1924 progs/demos/CallbackMaker/Makefile.am,
1925 progs/demos/Fractals_random/fractals_random.c,
1926 progs/demos/Makefile.am: New demo from John: CallbackMaker.
1928 This demo shows the use of every callback that you can register with
1929 freeglut, and also generates event reports so that you can see what is
1930 happening to the program as it runs.
1932 Not much to look at, but both utilitarian and a practical example.
1934 Please double-check that I updated everything that needs to be
1935 updated. I reran autogen.sh and ./configure, and it built okay for me.
1937 * src/freeglut_structure.c: Hm. I thought that I already hit this file
1938 for style normalization. Oh well... Should be no functional changes.
1939 Should be pretty close to in-line with the style of changes that I've
1940 been making else- where.
1941 * src/freeglut_structure.c: Ooops. Forgot that we already had a call to
1942 fgClearCallBacks() in the code and added a second one. I just deleted
1944 * src/freeglut_structure.c: Added Nigel's suggested code to clear all
1945 but the destroy callback early on, leaving Destroy to be cleared later
1946 after the last possible point where it should be invoked.
1947 * src/freeglut_menu.c: Modified the menus to refer to {border} rather
1948 than {FREEGLUT_MENU_BORDER}, in fghDisplayMenuBox(). The local
1949 variable was already defined and used for some purposes, so we might
1950 as well use it throughout. It does serve to shorten and clarify the
1951 code a bit---though I have mixed feelings about creating aliases that
1954 Still, the variable already existed and was already used in places.
1955 (We could even move it into the freeglut state, or make it a {const
1958 Oh well. Stuff to ponder.
1959 * src/freeglut_cursor.c: Well, a couple of days have gone by, so I
1960 assume that items (a) and (b) in the freeglut_cursor.c file's "Open
1961 issues" comment are now satisfactor- ily closed.
1963 I also partially implemented some error-checking, using my limited
1964 understanding of how Xlib users are supposed to do this. (No one
1965 commented about the lack of error-checking, pro or con. Perhaps
1966 someone will care to comment now?)
1968 At present, it just will print out a warning, via fgWarning(). In part
1969 because I'm not sure what is best to do, and in part because failure
1970 to set the cursor type is probably not a fatal problem.
1972 2003-11-08 Christopher John Purnell
1974 * progs/demos/Fractals/Makefile.am,
1975 progs/demos/Fractals_random/Makefile.am,
1976 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Applied
1977 Braden McDaniel's non-srcdir build patch.
1981 * src/freeglut_menu.c: A first pass over freeglut_menu.c to bring it in
1982 line with the rest of freeglut's style. Mostly re-indenting and
1983 splitting long lines. For those that may be concerned: No, I didn't do
1984 any more arrangments of the form (CONST == a) rather than (a ==
1986 * progs/demos/Fractals_random/fractals_random.c: Altered the way that
1987 the {random} value (from 0..3) is chosen.
1989 Previously, it picked out two adjacent bits in the result of rand().
1990 Unfortunately, these adjacent bits (at least on NetBSD) have a certain
1991 amount of dependance. After a period (perhaps a thousand or so?), it
1992 starts to repeat the pattern of those two bits. (I think; I haven't
1993 actually tested that directly.) This presumably is locking it into a
1994 an an N-way attractor on the "snowflake", such that if you zoom in a
1995 ways, you will start to see some spots *quickly* are colored, and
1996 others are *never* colored.
1998 What I've done now is to pick up two widely-spaced bits in a single
1999 rand() call. (Perhaps we would do as well to pick up something like
2000 bit #16 from two consecutive rand() calls?) These widely-spaced bits
2001 have a lower statistical dependance on one another (if I can get away
2002 with using that term for an arithmetic operation; though since stats
2003 has more to do with sampling and less to do with true randomness, I
2006 The net effect, at leats on NetBSD, is far better snowflake if you
2011 * src/freeglut_main.c: From John:
2013 [This] implements the visible/invisible for Windows. It does NOT call
2014 the visibility callback, though.
2015 * src/freeglut_main.c: Stripped out the now truly extraneous {braces} in
2018 if( ... ) { INVOKE_WCB( ... ); }
2020 Check for compiling on WIN32.
2021 * src/freeglut_internal.h: Adopted Eero Pajarre's suggestion of using a
2022 do { ... } while rather than { ... } for the INVOKE_WCB() macro. This
2023 lets it be used "more like a function", in that:
2025 if( ... ) INVOKE_WCB( ... ); else ...
2028 * src/freeglut_main.c: Pure code janitoring: Shuffled the order of some
2029 of the case statements in the UNIX_X11 X event processing loop. (In
2030 general, it's nice to have case statements sorted, especially when you
2031 have a *huge* switch statement like this. That makes it easier to find
2032 the one that you're looking for, and to see if a certain case is
2034 * src/freeglut_main.c: Combined EnterNotify and LeaveNotify event
2035 processing in the UNIX_X11 event loop.
2036 * src/freeglut_main.c: Added ReparentNotify case to UNIX_X11 event loop,
2037 to catch the extraneous ReparentNotify event types (type 21).
2038 * src/freeglut_internal.h, src/freeglut_structure.c: Oh well, I might as
2039 well add the call to clear callbacks on window destruction. Also
2040 renamed the function to do this: fgClearCallBacks(). Ho-hum.
2041 * src/freeglut_internal.h, src/freeglut_structure.c: Added
2042 fgInitCallBacks() to freeglut_structure.c. (The function takes an
2043 {SFG_Window *}.) Added prototype to freeglut_internal.h. Added use of
2044 the function to the window initialization. (Don't count on calloc(),
2045 which sets all bits to 0.)
2046 * src/freeglut_gamemode.c: Style normalization; removal of
2047 say-nothing-useful comments.
2048 * src/freeglut_font.c: Normalized the style of freeglut_font.c No
2049 substantial alterations.
2050 * src/freeglut_ext.c: Somewhat normalized the style of this file.
2052 Also moved the "glutMouseWheelFunc" extension down into the
2053 "extensions" part of the table. (Purely internal organization. It will
2055 * src/freeglut_display.c: Further normalization of the code's style. No
2056 substantial changes.
2057 * src/freeglut_cursor.c: Split one last overlong line in
2059 * src/freeglut_cursor.c: Added GLUT_CURSOR_NONE support in UNIX_X11
2060 (well, NetBSD; you lot need to try it on others; (^&).
2062 Deallocated some resources that we are creating. VERY slight memory
2063 leak, but plugged now.
2065 These two complete the first two "Open issues" ( (a) and (b) ). The
2066 first one also completes X support for glutSetCursor(). If others can
2067 verify, we can fully demote the outstanding bug over this to
2070 I'll delete the dead Open issues and re-letter the others if someone
2071 will cross-check me. Or if no one says anything in a day or two. (^&
2072 * src/freeglut_cursor.c: Further normalized the style of the cursor
2074 * src/freeglut_callbacks.c: Slight style improvements. Two rules of
2075 thumb that are almost always good to apply:
2077 * Don't write a == CONST. Instead, write CONST == a. Or, more
2078 generally (in C like languages): Avoid putting an lvalue on the
2079 left-hand side of an == comparison. (For consistancy, I try to avoid
2080 lvalues on the left- hand side of any comparison---but == is the most
2083 (An "lvalue" is a value that can safely go on the left side of an "="
2084 assignment, of course. (^&)
2086 * Do not write if( !condition ) return; other_thing; return;
2088 (See page 18 of K&P's _The Elements of Programming Style_.)
2090 Instead, it is better to just write:
2092 if( condition ) other_thing; return;
2094 There are times when sacrificing structured programming (e.g., via
2095 multiple return statements) is okay. But, here, there is no apparent
2096 gain---indeed, there seems only loss---in the non-structured code.
2097 * src/freeglut_main.c: Grr. Forgot to enable the "freeglut" C
2098 programming mode in EMACS, and had a few TABs in the last commit. This
2100 * src/freeglut_main.c: Minor corrections to the UNIX_X11 mouse-wheel
2101 support. In part this reflects that {button} is already shifted to the
2102 GLUT numbering, and hence should be counted as 3&4, 5&6, etc.
2104 The other change was simply to clarify the computation of {direction}.
2105 The original code did some clever arithmetic. The new code is more
2106 straightforward, even if it requires more lines to express.
2110 * src/freeglut_main.c: Ooops. I screwed up on part of John's fixes.
2113 I think that I have his fix properly committed now. Mea culpa.
2114 * src/freeglut_callbacks.c, src/freeglut_internal.h,
2115 src/freeglut_main.c, src/freeglut_structure.c: Cleanup pass after
2116 committing callback conversion (from structure to array-of-pointers).
2117 Mostly deleted commented-out struct-based code. Also added some XXX
2118 comments that I though should be pondered. (My own pair of eyes, and
2119 one brain cell, were not sufficient at this time to decide what to do
2120 for those ponderables. (^&)
2121 * src/freeglut_callbacks.c, src/freeglut_init.c,
2122 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
2123 src/freeglut_misc.c, src/freeglut_structure.c: Converted the
2124 "Callbacks" structure (with named members holding individual callback
2125 pointers) to a "CallBacks" array in fgState. (This is to allow us to
2126 write a loop to clear all callbacks from windows when the window is
2127 dead/dying. Using this, we can safely assign NULL to each in a loop.)
2129 Support includes two new macros, FETCH_WCB() and INVOKE_WCB(). See
2130 freeglut_internal.h for more details there.
2132 Some typedefs of function pointer types were altered to make them more
2133 uniform (necessary for the macros).
2135 All references to window-based callbacks in freeglut are updated to
2138 Old usages will cause compile-time errors.
2140 As a side bonus, the new invocation macro sets the current window and
2141 checks pointers so that these common steps can be uniformly done on
2142 every window-based callback. This makes it easier to do things right.
2143 At the same time, the array notation (and now required associated
2144 casts) make it harder to bypass the macros and abuse the function
2145 pointers, in general.
2147 After this commit, I will go through the code and clean up dangling
2148 issues about formatting. This commit is just a "it now works, let's
2149 checkpoint it" type of affair.
2150 * src/freeglut_main.c: From John, a couple of lines needed to be changed
2151 to fix the mouse wheel support on WIN32.
2152 * progs/demos/Fractals_random/fractals_random.c: Update from John:
2153 Includes mouse button, mouse motion, and mouse wheel support.
2157 * src/freeglut_menu.c: Multiple changes from John. Style issues, plus a
2158 bug-fix to check a pointer before deallocating some memory.
2160 He also removed one obsolete comment, and added some more comments.
2161 * src/freeglut_main.c: Some changes, mostly from John. Mostly style
2164 One bug fix from John: Execution state bug-fix in glutMainLoop(), per
2167 One fix from me: Changed "if( ButtonPress )" to "if( pressed )".
2168 {ButtonPress} is a constant.
2169 * progs/demos/Fractals_random/fractals_random.c: Per John's emailed
2170 desire to have all files obey UNIX EOL conventions, I have stripped
2171 out carriage returns from this file.
2173 This is the *only* change, but every line is touched. If you want to
2174 see the real differences between older and newer versions, you will
2175 have to get local copies of each and first match their EOL
2177 * progs/demos/Lorenz/lorenz.c: Update from John:
2179 I [John] added a feature to check for memory leaks under Windows.
2180 * progs/demos/Fractals_random/fractals_random.c: Update from John:
2182 I [John] converted everything to double precision to avoid compiler
2183 warnings. I also added a feature to check for memory leaks under
2184 Windows and removed a memory leak (surprise!).
2185 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
2186 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
2187 src/freeglut_gamemode.c, src/freeglut_geometry.c,
2188 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
2189 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
2190 src/freeglut_misc.c, src/freeglut_overlay.c, src/freeglut_state.c,
2191 src/freeglut_structure.c, src/freeglut_teapot.c,
2192 src/freeglut_videoresize.c, src/freeglut_window.c: Got rid of the
2193 G_LOG_DOMAIN junk, per discussion on the mailing list.
2194 * src/freeglut_callbacks.c: Minor formatting quibbles. (The brain isn't
2195 up to anything more serious at the moment.)
2196 * src/freeglut_main.c: Missed a block where one level was 2-space
2199 Nit-picked a few other lines for consistancy.
2203 * src/freeglut_init.c: Fixed a memory leak (thanks for the correction,
2206 Smoothed over some code style issues while I was here, but left the
2207 init-string parsing alone for now.
2208 * freeglut13.dsp, freeglutdll.dsp, freeglutstatic.dsw: Deleted 3 files
2209 (again?) from CVS, on John's request. Old/obsolete MSVC++ project
2210 files. (freeglut13.dsp, freeglutdll.dsp, freeglutstatic.dsw)
2211 * src/freeglut_main.c, src/freeglut_structure.c: * Indentation issues. *
2212 Pulled some common code into a nicely packaged function. * Found some
2214 * src/freeglut_main.c: Heh.
2216 Forgot to wrap the fgGetXModifiers() in a #if. Fixed.
2217 * src/freeglut_main.c: Extracted some common code to a subroutine, in
2218 glutMainLoopEvent(). (The common code was a snippet to compute X
2219 keyboard modifiers as a bit-mask of GLUT symbols.)
2220 * src/freeglut_main.c: Caught a few more little style issues.
2221 * src/freeglut_main.c: Added a "case" for an X event that we turn on but
2222 do not use. ({MapNotify}). We already caught {MappingNotify} and
2224 * src/freeglut_main.c: * Fixed a bug in the X11 handling of
2225 scrollwheel/mouse. The old code, I believe, checked if *either* a
2226 wheel or button callback was set, and then decided which to use---and
2227 unconditionally called it. I left the "either" check in, but added
2228 additional checks before actually doing the invocation. * Lots of
2229 reformatting. Massive. The usual suspects, though, and fairly trivial:
2230 Re-indenting to standard size, shuffling some spaces to match the
2231 freeglut "standard" of: if( ... ) ...and: func( ... )
2235 * src/freeglut_callbacks.c: Cleaned up one macro definition.
2237 Picked up an over-long line that I missed before.
2238 * src/freeglut_callbacks.c: Fit some long lines to 80 columns.
2239 * src/freeglut_cursor.c, src/freeglut_display.c,
2240 src/freeglut_gamemode.c, src/freeglut_geometry.c: Last of the hard
2241 TABs in the src/*.c files.
2242 * src/freeglut_init.c, src/freeglut_joystick.c, src/freeglut_main.c,
2243 src/freeglut_menu.c, src/freeglut_state.c: En masse removal of most (I
2244 think) of the remaining hard TABs in files. There are still a couple
2245 of files that need to be hit.
2246 * src/freeglut_window.c: Picked up some stray TABs scattered in this
2248 * src/freeglut_window.c: Noted by XXX comments that the XFlush() calls
2249 probably shouldn't be there. Flushing the X protocol stack every
2250 little bit both adds clutter to the code and may impede performance.
2252 It seems that we should be able to get rid of these, though allowing
2253 client code to directly call glutMainLoopEvent() does make it a little
2256 Something to ponder.
2257 * src/freeglut_window.c: Polished off the say-nothing-new comments and
2258 lines-over-80-columns in freeglut_window.c
2260 There should be no functional changes.
2261 * src/freeglut_window.c: Missed a few say-nothing-new comments in
2262 fgOpenWindow(). Eeep. Should be better now. (^&
2263 * src/freeglut_window.c: Cleansed fgCloseWindow(): * say-nothing-new
2264 comments axed. * de-TABbed. * Made the white-space to be consistant.
2265 * src/freeglut_window.c: Cleaned up fgOpenWindow(): * Removed TABs. *
2266 Made indentation consistant. * Deleted say-nothing-new comments. *
2267 Changed an *error*check* from an assert to an if(). (The error-check
2268 was on window creation; we don't want to lose that if the user
2269 compiles with asserts deactivated. Also, assert()s really tell us more
2270 about programming errors, rather than run-time errors, so it is a
2271 little misleading to use assert() for error-checks, even if you can
2272 depend upon assert()s never being compiled away to null statements.) *
2273 Added some XXX comments for things that bear some rumination.
2274 * src/freeglut_window.c: Cleanup to fgSetWindow(). The usual suspects: *
2275 Removed tabs. * Made indentation consistant. * Killed off
2276 say-nothing-new comments.
2277 * src/freeglut_window.c: Cleanup to fgSetupixelFormat(). Should be no
2280 Code facelift included:
2282 * Consistant indentation. * Removal of all TABs (there were a bunch).
2283 * Fit to 80 columns.
2284 * src/freeglut_window.c: There should be no changes to code
2285 functionality, though a fair bit of little changes to the code
2288 * Fit the comments at the start of the file to fit 80 columns. * Noted
2289 an unusual feature of the ATTRIB() macro. * Added ATTRIB_VAL() macro
2290 which is really just two ATTRIB()s. This lets us put things like
2291 {ATTRIB (GLX_RED_SIZE); ATTRIB (1);} on one statement: {ATTRIB_VAL
2292 (GLX_RED_SIZE, 1);}. I did this to preserve some of the layout of
2293 information while also avoiding the nasty semi-visible ";" in the
2294 middle of a line of code. And by putting the {braces} in the macro
2295 definition, I was able to visually clean code of the form: if
2296 (condition) { ATTRIB( X ); ATTRIB( 1 ); } ...rewriting as: if
2297 (condition) ATTRIB_VAL( X, 1 ); * Eliminated a bunch of
2298 say-nothing-new comments in fgChooseVisual(). * Combined some
2299 semi-useful comments into a block comment summarizing a loop.
2303 * src/freeglut_structure.c: Finished off most of the issues with
2304 freeglut_structure.c, from a stylistic point of view (at least,
2305 insofar as: The original file's code was INCON- SISTANT. I did not
2306 remove the "!= NULL" stuff, did not address the shortest-branch-first
2307 issue for if-else statements, and left some rather ugly "if (x) {...
2308 return y} /* else do this */ return NULL;" garbage. This should, I
2309 think, be re-written as "if (x) return y; else return NULL;" or even
2310 better, "ret = NULL; if (x) ret = y; return ret;"
2312 In short, the code still has some issues, but I think that it's a bit
2315 (Oh, I also got rid of oustanding TABs.)
2316 * src/freeglut_structure.c: Eliminated most of the say-nothing-new
2319 Fit most of the code to no more than 80 columns.
2321 Raised some issues about completeness/correctness of trying to
2322 decrement the max-window-ID (apparently in order to partially recycle
2323 some window IDs to slightly slow the rate of growth of window IDs). (I
2324 didn't change what the code does, though.)
2326 The functionality of the code should be unchanged.
2327 * src/freeglut_main.c: Forgot to set {direction} explicitly to +/- 1 for
2328 freeglut mouse-wheel API on MS-WINDOWS. Oops.
2330 Now it should always report +/- 1 on MS-WINDOWS, per the spec.
2331 * src/freeglut_main.c: Minor fix to allow for multiple ticks to be
2332 received at one time by the WIN32 code. Take abs(direction) as the
2333 number of ticks, and count it down.
2335 <stdlib.h> *should* be included by freeglut_internal.h, I think, so it
2336 should be okay; otherwise add a suitable #include.
2337 * src/freeglut_main.c: Grrr. My attempt to commit got aborted, and the
2338 commit message was lost. Now I've lost track of what I said I'd done.
2341 * Fixed some issues with multiple wheels. * Noted in comments some
2342 issues about other-than-3-real-buttons. * Fixed formatting to fit 80
2343 columns. * Removed some BCPL/C++ style comments (//) that are not
2344 legal, and which, if memory servers, are not even strictly legal when
2345 disabled by preprocessor directives. E.g.,
2347 #if 0 not-syntactically-valid-C #endif
2349 ...is not legal. Though most cpp's will discard the bracketed material
2350 completely before the main C compiler pass has a chance to analyze the
2351 syntax. (MSVC++ and GCC both don't seem to mind the BCPL style
2352 comments in plain C, but let's keep the sources clean, eh?) * Fixed a
2353 problem that would have caused freeglut to report doubled wheel events
2356 Not tested other than compiling. Personally, I think that the
2357 interface is inherently broken at this point unless you are willing to
2358 get user- configuration. (Which would then solve the complaint that
2359 Steve had about computing the tick-size on behalf of applications.)
2360 I.e., there is NO WAY to know if we have the right buttons to start
2361 wheels at, or if there are any buttons after the first wheel(s), etc.
2362 We just have to guess---and if we are wrong, we can get varying
2363 degrees of brokeness.
2365 2003-10-29 Christopher John Purnell
2367 * src/freeglut_window.c: There is a problem with the way I did
2368 glutFullscreen() in my last commit. So I've copied the way the game
2369 mode does it. It's not ideal but it works. The glutGet() for the
2370 window border sizes will also have to be fixed at some point.
2371 * src/freeglut_window.c: Rewrote glutFullscreen(). It now correctly
2372 places the window in X11. It now uses system dependant code for more
2373 efficient use of windowing system calls.
2377 * src/freeglut_joystick.c: Should be no real changes to the code
2380 I missed a few lines that went past 80 columns. (^&
2382 Also made formatting more consistant.
2384 Added a couple of XXX comments re. FreeBSD vs. general BSD #ifdef's.
2385 * src/freeglut_joystick.c: Should be entirely superficial changes to
2388 * Fit lines to 80 columns. (It does get tiresome seeing long lines
2389 forced to break by the right-hand border of windows...(^&) *
2390 Eliminated say-nothing-new comments. * Made formatting more consistant
2391 in spots. * Eliminated some hard TAB characters.
2392 * src/freeglut_joystick.c: Added Thierry's change to include
2393 sys/param.h. This lets us pick out version numbers for OS releases
2394 corresponding to system headers.
2396 I modified it to also work with NetBSD; I cannot confirm if it is safe
2397 with any other systems, so it remains protected by a #if.
2398 * src/freeglut_state.c: Deleted some say-nothing-new comments.
2400 Added some XXX's where comments seemed to require future attention.
2402 Added some new comments with XXX's where future attention seems
2404 * src/freeglut_state.c: Deleted a bunch of say-nothing-new comments.
2405 Someday, there shall be an end to them.
2406 * src/freeglut_state.c: Previous changes were made without the freeglut
2407 major mode in EMACS. Re-tweaked some lines (mostly got rid of some
2408 TABs, but also resulted in some changed indentation).
2410 Reformatted a big comment to fit to 80 columns.
2412 Removed bogus references to "Linux". (UNIX, and/or X11 were relavent,
2413 and "UNIX/X11" was substituted for "Linux" in those places. This
2414 includes UNIX-alike systems.)
2415 * src/freeglut_state.c: Rewrote the TODO BEFORE THE STABLE RELEASE
2416 comment to fit to 80 columns.
2418 Cleanup of fghGetConfig(). (One return statement, simpler code.)
2420 Made glutSetOption() have a more consistant style---and also got its
2421 lines to stay under 80 columns.
2422 * src/freeglut_misc.c: Got the last of the say-nothing-new comments in
2425 (I would have picked them up before, but wanted the bug-fix and
2426 conversion-to-error-message changes to go in before I did more
2428 * src/freeglut_cursor.c, src/freeglut_main.c, src/freeglut_misc.c: *
2429 Fixed a bug that I introduced in fgWarning()/fgError(): I thought that
2430 ((a) || (b)) was defined to have value as: (a) if (a) != 0 (b) if (a)
2433 ...instead, it has value 0/1. This was causing a bug. It's probably
2434 just as well, since what I was trying to do definitely fell into the
2435 category of "clever code" rather than "clear code".
2439 * Made glutSetKeyRepeat() call fgError() if you go out of range. (The
2440 old code silently did nothing---not even a warning.)
2442 If it is really desirable to keep running, we should probably at least
2443 generate an fgWarning().
2445 * Deleted some say-nothing-new comments.
2447 * XXX added: Is glutSetKeyRepeat() deprecated?
2451 * include/GL/freeglut_ext.h, src/freeglut_callbacks.c,
2452 src/freeglut_ext.c, src/freeglut_internal.h, src/freeglut_main.c:
2453 Commit, mostly of work from John:
2455 * Removed some say-nothing-useful comments. * Added some tentative
2456 mouse-wheel support. * Fairly massive reformatting of code.
2458 I made some secondary changes to his changes:
2460 * One compilation error was fixed (missing close-paren + semicolon). *
2461 Deleted a few ore say-nothing-useful comments. * Some of John's code
2462 was strangely formatted to the point that it seemed completely out of
2463 place, so I took the liberty of reformatting it. Since I used GNU
2464 EMACS's <tab> key (which re-indents rather than inserts TAB
2465 characters), I had to propogate some indentation changes a little
2466 further than the bare necessity to match up with John's changes. (John
2467 seems to shoot for 2-space indents, while EMACS (and I, I confess)
2468 strongly prefer 4-space indents. The code that I was re-indenting had
2469 been put to 8-space indents, however.)
2471 I have *not* tested the code beyond compiling. I assume that John did
2472 (and that the compilation error was a result a minor change just
2473 before asking me to commit).
2474 * src/freeglut_cursor.c: Re-indentation style changes from John.
2476 There should be no alterations to how the code performs.
2478 (I modified how the X11 section of the set-cursor code is indented to
2479 slightly better match (IMHO) the rest of his changes.)
2483 * src/freeglut_menu.c: Converted a few "x != NULL" tests to "x" for
2486 I think that I've touched enough lines of source for one morning.
2487 * src/freeglut_menu.c: Cleaned up a little redundancy in a comment on
2488 the {menu_pen_*} variables.
2489 * src/freeglut_menu.c: Removed about 90 lines of say-nothing-new
2492 The code should be functionally unaltered by these changes.
2493 * src/freeglut_menu.c: Propogated a pointer-check from menu-attach to
2494 menu-detach. (Apparently, in some cases, the Menu member variable can
2497 Corrected the menu-attach code to make sure that both Window and Menu
2498 pointers are non-NULL (rather than "at least one").
2500 Rewrote button-checks to more simply and more clearly assert that the
2501 "menu button" is a valid button for menu actions: Instead of
2502 laboriously comparing against the three valid buttons (0, 1, 2 or
2503 GLUT_BUTTON_*), we do a simpler range-check and the upper bound is
2504 {FREEGLUT_MAX_MENUS}, allowing us to change the number of menuable
2505 buttons fairly easily in the future.
2507 Also deleted a few say-nothing-new comments.
2508 * src/freeglut_menu.c: Cosmetic changes (mostly deleted a few more
2509 say-nothing-new comments). The functionality of the code should be
2511 * src/freeglut_menu.c: Changed an "#elif TARGET_HOST_UNIX_X11" to
2512 "#else", since this simply governed menu aesthetics. I think that it's
2513 better to have a default that works than to break completely, should
2514 freeglut ever be ported to a new (non-WIN32, non-UNIX/X11) target.
2515 * src/freeglut_menu.c: Minor modifications to the menus:
2517 * Updated an old "TODO BEFORE STABLE" comment.
2519 * Expanded a comment re. some #define macros.
2521 * Made colors and font choice system dependant. The UNIX freeglut
2522 menus look more like UNIX GLUT menus, now. (This is PURELY a cosmetic
2523 change. But it achieves better compatibility visually.)
2524 * src/freeglut_main.c: Cleaned up glutMainLoop() a bit:
2526 * Deleted numerous say-nothing-new comments. * Reformatted a
2527 say-something-useful comment to fit on an 80-column display.
2528 * src/freeglut_main.c: Partially (re-?)unified some of the
2529 glutMainLoopEvent() code. The only code that really needs to be
2530 system-specific is the window event handling, which in MS-WINDOWS is
2531 tucked into a separate function. In UNIX/X11, it's all spilled out
2532 into glutMainLoopEvent() for some reason.
2534 If the X11 code could be tucked into another function,
2535 glutMainLoopEvent() could be platform-independant.
2539 * src/freeglut_main.c: Moved the idle callback out of
2540 glutMainLoopEvent() and into glutMainLoop(), per discussion on the
2541 list. The code looks okay, to me, though I remain less than wholly
2542 convinced that treating idles as special cases is the best way to go.
2543 Still, a case can be made for taking "non-event" idle callbacks out of
2544 the "event loop". From an organizational perspective, I think that
2545 it's an improvement, and it fixes a bug for at least one program.
2546 * src/freeglut_menu.c: Added John's text-positioning modification.
2548 The lines that he was altering were very oddly-split, so while I was
2549 at it, I repaired the line-break damage.
2550 * src/freeglut_joystick.c: Committed change from Nigel to fix the
2551 joystick bug. (The joystick code was not setting the GLUT window prior
2552 to calling callbacks.)
2554 Please verify. If so, this closes out, I think, the latter half of
2555 that bug report, so anyone with the means to modify/close bug reports
2556 should do so upon verification of the fix.
2557 * src/freeglut_main.c: Superficial cleanup of the code. Mostly taking
2562 /* * <Enslish recapituation of the single following C statement> */
2563 <single C statement>
2567 ... <single C statement>
2569 freeglut_main.c still has a lot of that in it, but it looks a bit
2571 * src/freeglut_init.c: Added some error-checking (particularly w.r.t.
2574 Deleted numerous 4-line "padding" sequences of C-as-English trans-
2575 literation comments.
2577 Re-indented some (but not all) code that is using 2-space indentation.
2578 (Most of the freeglut code seems to be using 4-space indentation.)
2580 I did not touch the "INIT DISPLAY STRING PARSING" code, since it is
2581 filled with a ton of over-long lines and also appears to be in more
2582 flux than the rest of the code. (Well, I added one error-check to a
2584 * src/freeglut_font.c: Removed two more bogus "carriage return"
2585 references where the comments were in fact talking about a line feed
2586 (a.k.a. newline, LF, ^J, \n, ...).
2587 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c:
2588 Fixed the buglet about failing to report the program's name on error-
2589 messages. Please test. (Modified glutInit(), the state structure, and
2590 the warn/err functions.)
2592 2003-10-23 James Jones <puggles@users.sourceforge.net>
2594 * ChangeLog: Released 2.0.1
2596 2003-10-21 Christopher John Purnell
2598 * configure.in, include/GL/Makefile.am, include/GL/freeglut.h,
2599 include/GL/freeglut_std.h, include/GL/glut.h,
2600 progs/demos/Fractals/Makefile.am,
2601 progs/demos/Fractals_random/Makefile.am,
2602 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am,
2603 src/Makefile.am: Added --disable-replace-glut option to autoconf
2606 2003-10-15 James Jones <puggles@users.sourceforge.net>
2608 * NEWS: Noted the release of 2.0.0
2609 * configure.in: Version bump
2613 * src/freeglut_font.c: Swept the freeglut_font.c for comment cleanup: *
2614 Got rid of the "rewrite C as English" comments. * Corrected several
2615 bogus references to "carriage returns" (in strings). The symbols were
2616 newlines or EOLs or LFs (\n). They were *not* carriage returns or CRs
2617 (\r). * Clarified the comments on glBitmap() calls.
2621 * progs/demos/Fractals/fractals.c,
2622 progs/demos/Fractals_random/fractals_random.c: Small bug-fix that's
2625 Modified the two Fractals* demos so that they only clear (for the
2626 random one) or redraw (for the non-random one) if there is need to do
2627 so. (E.g., pressing the space bar should not clear and redraw the
2628 random fractal since no parameters are altered.)
2629 * src/freeglut_cursor.c, src/freeglut_display.c: Removed the obsolete
2630 hack (or very ill-conceived dream), fgDisplayCursor().
2631 * src/freeglut_display.c: Cleaned up some of the style issues (mostly
2632 "fluff" comments) in freeglut_display.c.
2633 * src/freeglut_cursor.c: Comment-cleaning sweep.
2635 Mostly got rid of the say-it-in-English comments that were adding 1
2636 line of English and 2 or 3 lines of filler for each of several lines
2637 of C code. Updated a couple of other comments, and tweaked some
2639 * src/freeglut_callbacks.c: Cleaned up the comments a bit in the
2640 callbacks.c file (mostly removed some of the
2641 kill-4-lines-to-translate-one-line-of-C-into-English comments).
2645 * src/freeglut_cursor.c: Added all missing GLUT cursor types for X11.
2647 (Type NONE is not properly supported, yet.)
2649 Corrected behavior for the several old types: * Wrong glyphs. *
2650 Reversed glyphs (left/right confusion!)
2652 There are some remaining imperfections, but it's a lot closer to GLUT
2657 * src/freeglut_callbacks.c: Three tidying-up changes to the code of
2658 freeglut_callbacks.c; none of them are Earth-shattering, but as I
2659 swept through looking somewhat more systematically for errors, I
2660 picked these off. See the diff's for details.
2661 * src/freeglut_callbacks.c: Fixed a basic readability/style error in the
2662 code. (Two statements per line are almost never a good idea; in this
2663 case the combined line was past 80 columns.)
2664 * src/freeglut_callbacks.c: Added a safety-check on a memory allocation.
2665 (Timers were using dynamic memory allocation but NOT checking the
2667 * src/freeglut_menu.c: Committed two lines from John to help fix the
2669 * src/freeglut_callbacks.c: Check the glutDisplayFunc() callback for
2670 being a NULL pointer. This is illegal and is disallowed in GLUT 3.0+,
2671 so we disallow it too in freeglut 2.0.1+
2675 * progs/demos/Fractals/fractals.c,
2676 progs/demos/Fractals_random/fractals_random.c: Applied John's updated
2677 ReadConfigFile() changes to the fractals demos.
2678 * progs/demos/Fractals_random/fractals_random.c: Fixed: * glutInit()
2679 ordering w.r.t. glutInit*() and {argv} processing. * Aspect ratio. *
2680 Removed depth-buffer usage. (Also done for Fractals in previous
2682 * progs/demos/Fractals/fractals.c: A few minor changes: * glutInit*()
2683 calls should preceed glutInit(), per se, generally. This is so that
2684 glutInit()'s configuration (which picks up on user parameters) can
2685 override application defaults. * glutInit() should be called before
2686 ANY attempt to process {argv, argc}. This is because there may be
2687 GLUT/freeglut parameters (such as "-display" on X11). * If the window
2688 is tall and skinny, rather than short and squat, we need to handle
2689 aspect ratios differently.
2691 The first is a user-interface bug. The second is a serious bug
2692 (especially since the demo assumes that argv[1] contains a filename).
2693 The third is a display bug.
2697 * src/freeglut_main.c: Changed CreateNotify (in X11 ONLY) to act like a
2698 ConfigureNotify event.
2700 This is done so that subwindows on X11 will get "resize" events when
2701 they are created. Old GLUT did this---presumably by design in order to
2702 ensure that (a) All windows get notified of their size as soon as the
2703 window exists, and (b) probably more importantly, so that windows and
2704 sub-windows behave as much alike as possible. I believe that GLUT was
2705 right to do this, and I believe that compatibility requires this (I
2706 have a sample program that breaks in freeglut but not GLUT without
2709 I did not touch the Microsoft side, because I don't know what their OS
2710 does---nor if old GLUT was historically system-dependant about this.
2712 2003-10-08 Eric Sandall
2714 * ChangeLog, src/freeglut_menu.c: freeglut_menu.c:217,519,532: Fix menus
2715 to stay in the window (John Fay)
2719 * src/freeglut_menu.c: Several updates from John and myself.
2721 The broad outlines are:
2723 * Color schemes are now in variables, are closer to old GLUT, and are
2724 system dependant (as old GLUT did). * You can change the font to any
2725 bitmapped font more easily, which can aid in finding a better
2726 approximation. (Old GLUT does not seem to have used a GLUT font for
2727 the menus, which causes problems for us.) The menus rescale
2728 automatically, including the triangle "arrow" for sub-menus. * Menus
2729 have real borders, and the placement of highlighting is much improved.
2730 * src/freeglut_main.c: Fixed a bug in the menu callback behavior. Menus
2731 were not setting the current window correctly.
2733 2003-10-06 Eric Sandall
2735 * ChangeLog, src/freeglut_menu.c: freeglut_menu.c:328 Fix submenu
2738 2003-10-04 James Jones <puggles@users.sourceforge.net>
2740 * ChangeLog, src/freeglut_main.c, src/freeglut_structure.c: Tweaking for
2741 menu behavior in Linux regarding mouse whatnot - John Fay
2745 * src/freeglut_joystick.c: Applied a patch from "extraeme@netbsd.org" to
2746 add joystick support. Untested, but it compiles for me.
2748 Should also add Joystick support for older FreeBSD systems. Also
2750 * src/freeglut_main.c: Added support for more arbitrary number of mouse
2751 buttons (though only the first three can work with menus), in X. This
2752 closes a compatibility gap with old GLUT, and leaves us the option of
2753 supporting scroll-wheels properly.
2755 2003-09-27 Christopher John Purnell
2757 * progs/demos/Fractals/Makefile.am,
2758 progs/demos/Fractals_random/Makefile.am,
2759 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Don't
2762 2003-09-26 James Jones <puggles@users.sourceforge.net>
2764 * progs/demos/Makefile.am: Package the demos.dsw file.
2765 * progs/demos/demos.dsw: Demos workspace for MSVC users
2769 * src/freeglut_main.c: Corrected a bug w.r.t. display and joystick
2770 events. When getting ready to sleep, we need to go through ALL windows
2771 to check for pending joysticks and to check for pending redisplays. I
2772 was just going through all TOP- LEVEL windows. Eeek. This won't do.
2774 2003-09-23 Brian Paul
2776 * progs/demos/Fractals_random/fractals_random.c: added needClear flag to
2777 take care of initial window clear and window resize clears
2781 * src/freeglut_init.c: Per Nigel Stewart's comments, converted
2783 #ifdef TARGET_HOST_...
2789 in src/freeglut_init.c. These changes should not have any functional
2790 impact at this time, but you don't want bad examples lying around to
2791 trip people up later.
2792 * progs/demos/Fractals_random/fractals_random.c, src/freeglut_main.c,
2793 src/freeglut_window.c: Fixed: * GLUT_SINGLE now should behave more or
2794 less correctly. Thanks to Brian Paul!
2796 * Sleeping is now cognizant of outstanding redisplays.
2798 * Fractals_random has been restored more or less to as-before, save
2799 that it uses the more minimal glFlush() rather than glutSwapBuffers().
2800 glutSwapBuffers() was only required when freeglut was incorrectly
2801 handling promotion to double-buffering.
2805 * src/freeglut_main.c: Moved the #include/#ifdef/#define stuff up to the
2808 Changed #ifdef to #if, per Nigel(?)'s comment. Ooops.
2810 2003-09-22 Christopher John Purnell
2812 * progs/demos/Fractals/Makefile.am,
2813 progs/demos/Fractals_random/Makefile.am,
2814 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Fix to
2815 allow demos to compile before freeglut has been installed.
2817 2003-09-22 James Jones <puggles@users.sourceforge.net>
2819 * progs/demos/Fractals_random/fractals_random.c: Add an idle function to
2820 ensure that the screen gets drawn even when callbacks are not
2821 generated by the mouse/keyboard.
2823 2003-09-21 James Jones <puggles@users.sourceforge.net>
2825 * progs/demos/Fractals/fractals.c,
2826 progs/demos/Fractals_random/fractals_random.c: Note the possible
2827 buffer overflow in window_title
2828 * progs/demos/Fractals/fractals.c: Fix the window title.
2829 * progs/demos/Fractals_random/fractals_random.c: Fix window title, and
2830 ensure that the random integer is not forced to be zero (Thanks
2833 2003-09-20 James Jones <puggles@users.sourceforge.net>
2835 * src/freeglut_main.c: Richard Rauch's patch to ensure that freeglut
2836 does not use 100% CPU even while idling.
2837 * src/freeglut_font.c: Resolution for bug 809561 reported by Nigel
2838 Stewart, regarding a possible array underflow error of -1 in the event
2839 of "character" being zero.
2841 2003-09-14 Christopher John Purnell
2843 * configure.in, progs/demos/Fractals/Makefile.am,
2844 progs/demos/Fractals_random/Makefile.am,
2845 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am,
2846 src/Makefile.am: Removed unused AC_PROG_RANLIB from configure.in Added
2847 passing of $(X_CFLAGS) to compiler.
2849 2003-09-14 James Jones <puggles@users.sourceforge.net>
2851 * include/GL/glut.h: Resolve bug 806008 -- let Microsoft's compiler know
2852 to use Windows libraries even if not using our project files.
2854 2003-09-13 James Jones <puggles@users.sourceforge.net>
2856 * ChangeLog: Taking care of keeping things mostly up-to-date
2857 * TODO: Most everything's been resolved for the 2.0.0 release.
2858 * src/freeglut_joystick.c: Thierry Thomas said that FreeBSD has no
2859 machine/joystick.h, instead a sys/joystick.h. I've made the change --
2860 here's hoping it works.
2861 * progs/demos/One/one.c: Removed the incorrect relative path for
2862 including freeglut.h
2863 * progs/demos/Fractals/Makefile.am,
2864 progs/demos/Fractals_random/Makefile.am,
2865 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Made all
2866 demos compile. Thanks to Thierry Thomas for reporting bug 802809,
2867 which alerted that *none* of the demos compiled automatically!
2868 * src/freeglut_main.c: Nigel Stewart's joystick fix (for hopefully all
2869 platforms), SourceForge bug 805481
2870 * progs/demos/Lorenz/lorenz.dsp, progs/demos/One/one.dsp: Fix location
2871 of the include files from a fixed to relative path. Closes bug 805477
2872 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp, freeglutstatic.dsw:
2873 Add dos line endings. Fixes bug 805476
2875 2003-09-10 Christopher John Purnell
2877 * src/freeglut_joystick.c: A minor fix to that last commit.
2878 * src/freeglut_joystick.c: Removed some remaining glib depandancy.
2880 2003-09-10 James Jones <puggles@users.sourceforge.net>
2882 * src/freeglut_main.c: Re-add catches for the case in which a menu
2883 callback destroys the menu. - John Fay
2885 2003-09-09 Christopher John Purnell
2887 * src/freeglut_main.c: More to fix a deinitialization related crash.
2888 * src/freeglut_structure.c: Fix for a deinitialization related crash.
2890 2003-09-08 James Jones <puggles@users.sourceforge.net>
2892 * src/freeglut_main.c, src/freeglut_structure.c: Menus should deallocate
2893 better now - John Fay
2895 2003-09-05 James Jones <puggles@users.sourceforge.net>
2897 * Makefile.am: Add freeglut_static.dsp to the releases
2899 2003-09-03 Christopher John Purnell
2901 * src/freeglut_gamemode.c: Moved #ifdef for non XFree86 X11 compile.
2903 2003-09-02 Christopher John Purnell
2905 * src/freeglut_window.c: Fix to stop fgSetWindow(NULL) crashing on X11.
2907 2003-08-29 James Jones <puggles@users.sourceforge.net>
2909 * src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_structure.c:
2910 These change a bunch of assignments to calls to set the current window
2911 correctly, and also (possibly) fixes most of the remaining menu
2913 * src/freeglut_main.c: Another typecast bugfix from John Fay
2915 2003-08-28 Christopher John Purnell
2917 * src/freeglut_init.c: Changed #ifdef to #if
2919 2003-08-28 James Jones <puggles@users.sourceforge.net>
2921 * src/freeglut_font.c: change the GLUT stroke function arguments from
2922 "const char *" to "const unsigned char *" - John Fay
2923 * include/GL/freeglut_ext.h, include/GL/glut.h: Changes stroke function
2924 arguments from "const char*" to "const unsigned char *" - John Fay
2926 2003-08-28 Christopher John Purnell
2928 * freeglut-1.3: Removing files from old freeglut-1.3 directory.
2930 2003-08-28 James Jones <puggles@users.sourceforge.net>
2932 * src/freeglut_callbacks.c, src/freeglut_geometry.c,
2933 src/freeglut_init.c, src/freeglut_joystick.c, src/freeglut_main.c,
2934 src/freeglut_menu.c, src/freeglut_structure.c: Casting changes, John
2937 2003-08-27 James Jones <puggles@users.sourceforge.net>
2939 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
2940 src/freeglut_menu.c: Major overhaul to the menu system, by John Fay
2942 2003-08-27 Christopher John Purnell
2944 * include/GL/freeglut.h, include/GL/freeglut_ext.h, include/GL/glut.h:
2945 Added double underscores to the header included macros.
2947 2003-08-20 Christopher John Purnell
2949 * src/freeglut_gamemode.c: Minor typo fix
2951 2003-08-19 Christopher John Purnell
2953 * src/freeglut_gamemode.c: Moving that "#if TARGET_HOST_UNIX_X11" to the
2956 2003-08-17 Christopher John Purnell
2958 * ChangeLog, src/freeglut_gamemode.c, src/freeglut_internal.h,
2959 src/freeglut_window.c: Game mode fixes from Bernhard Kaindl and Eric
2962 2003-08-05 Christopher John Purnell
2964 * src/Makefile.am, src/freeglut_menu.c, src/freeglut_window.c,
2965 src/mwmborder.c: Using override_redirect instead of motif wm hints. It
2966 now rasies the menu windows before showing them. Move the show to
2967 after the reshape and position so we don't get a flash of the menu
2968 window at it's old size and position.
2969 * src/mwmborder.c: I suspect a lot of people will not have motif
2972 2003-08-05 Eric Sandall
2974 * ChangeLog, src/Makefile.am, src/freeglut_window.c: (98)
2975 src/Makefile.am:34 Added mwmborder.c (99) src/freeglut_window.c:67
2976 Removed #included "mwmborder.c"
2977 * ChangeLog, src/freeglut_main.c: src/freeglut_main.c:816 and :1571, set
2978 the current window (John F. Fay)
2980 2003-08-04 Christopher John Purnell
2982 * src/freeglut_state.c: Added X11 code for
2983 glutGet(GLUT_WINDOW_BORDER_WIDTH) and
2984 glutGet(GLUT_WINDOW_HEADER_HEIGHT).
2985 * src/freeglut_internal.h, src/freeglut_state.c: Replacing
2986 glutGet(GLUT_WINDOW_X) and glutGet(GLUT_WINDOW_Y) on X11 with
2987 something that works. Also a minor correction to the xf86vidmode
2990 2003-08-04 James Jones <puggles@users.sourceforge.net>
2992 * src/freeglut_window.c: Keep the X11 decoration-zapping code confined
2993 to X11-using platforms! Oops!
2994 * src/freeglut_window.c, src/mwmborder.c: Menus' decorations are removed
2995 on Linux. Not sure if we want the mwmborder.c a separate file or not;
2996 doing it separate for right now. Makefile was not updated, since the
2997 .c is just #included.
2999 2003-08-03 Christopher John Purnell
3001 * configure.in: Got rid of configure warnings when using a newer
3004 2003-08-02 Christopher John Purnell
3006 * src/freeglut_glutfont_definitions.c, src/freeglut_internal.h: Putting
3007 stuff back that was undone with the menu code committed.
3009 2003-08-02 James Jones <puggles@users.sourceforge.net>
3011 * src/freeglut_callbacks.c, src/freeglut_display.c,
3012 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
3013 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
3014 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
3015 Major menu changes (they appear in their own window, have own
3016 rendering context) by John Fay and a little by James C. Jones. They
3017 work perfectly on Win32, and work... on Linux.
3019 2003-08-01 Christopher John Purnell
3021 * configure.in, src/Makefile.am, src/freeglut_glutfont_definitions.c,
3022 src/freeglut_internal.h: Added autoconf detection for the xf86 vid
3025 2003-08-01 Eric Sandall
3027 * ChangeLog, src/freeglut_window.c: src/freeglut_window.c:551 Removed
3028 extra carriage return for Windows users (John F. Fay)
3029 * ChangeLog: Credit Dave Reed for fix
3030 * ChangeLog, src/freeglut_internal.h: src/freeglut_initial.c:91 Added
3031 check for SOLARIS OS
3033 2003-07-23 Christopher John Purnell
3035 * include/GL/glut.h, src/Makefile.am, src/freeglut_font.c,
3036 src/freeglut_glutfont_definitions.c: This should put an end to the
3037 font binary compatibility issue.
3039 2003-07-23 Eric Sandall
3041 * ChangeLog, src/freeglut_window.c: src/freeglut_window.c Windowing
3043 * ChangeLog, doc/Makefile.am: doc/Makefile.am:4 Removed trailing
3044 backslash and added an empty last line
3046 2003-07-23 Brian Paul
3048 * doc/download.html: no change, testing CVS
3050 2003-07-22 Brian Paul
3052 * doc/download.html: no change, just testing CVS
3054 2003-07-22 Eric Sandall
3056 * ChangeLog, freeglut.lsm: freeglut.lsm:3 Removed 'beta' label for next
3057 release, thanks to Bernhard Kaindl.
3059 2003-07-21 Christopher John Purnell
3061 * src/Makefile.am: The version info had the revision and the age
3064 2003-07-21 Eric Sandall
3066 * ChangeLog, src/Makefile.am: src/Makefile.am:38 Changed versioning to
3067 11:0:8 thanks to Bernhard Kaindl
3069 2003-07-17 Eric Sandall
3071 * ChangeLog, freeglut.dsp, freeglut_static.dsp: Applied John F. Fay's
3072 fixes to freeglut.dsp and freeglut_static.dsp
3073 * ChangeLog, src/freeglut_state.c: Changed the overlay
3074 (freeglut_state.c:662) to return FALSE, as it's not imp lemented yet
3076 2003-07-12 Andreas Umbach <marvin@dataway.ch>
3078 * src/Makefile.am: renamed freeglut library to glut, bumped version info
3080 * configure.in: bumped version number to 2.0.0
3081 * Makefile.am, configure.in, doc/Makefile.am, include/GL/Makefile.am,
3082 progs/Makefile.am, progs/demos/Fractals/Makefile.am,
3083 progs/demos/Fractals_random/Makefile.am,
3084 progs/demos/Lorenz/Makefile.am, progs/demos/Makefile.am,
3085 progs/demos/One/Makefile.am, src/Makefile.am: changes for make dist
3086 * freeglut13.plg: MSVC generated file
3088 2003-07-11 Christopher John Purnell
3090 * include/GL/glut.h, src/freeglut_font.c: Fix for the font binary
3091 compatibility problem.
3093 2003-07-10 Christopher John Purnell
3095 * src/Makefile.am: Changed to build libfreeglut.so.2.0.0
3097 2003-07-10 James Jones <puggles@users.sourceforge.net>
3099 * TODO, freeglut.dsp, freeglut_static.dsp: Changes to TODO, Windows
3100 files - from John Fay
3101 * progs/demos/Fractals_random/Fractals_random.dsp: Changes by John Fay
3102 * progs/demos/Fractals/Fractals.dsp, progs/demos/Fractals/fractals.c:
3103 Changes to the Fractals demo by John Fay
3104 * progs/demos/One/one.dsp: Initial project file from John Fay
3105 * progs/demos/Lorenz/lorenz.c, progs/demos/Lorenz/lorenz.dsp:
3106 Modifications from John Fay
3108 2003-07-07 Christopher John Purnell
3110 * src/freeglut_main.c: glutMainLoopEvent() was not closing windows
3111 properly. Moved call to fgCloseWindows() from glutMainLoop() to the
3112 end of glutMainLoopEvent().
3114 2003-07-03 Eric Sandall
3116 * ChangeLog, src/freeglut_misc.c: Removed unused char *ptr from
3119 2003-07-02 Christopher John Purnell
3121 * src/freeglut_main.c: It was crashing on and event for a unknown
3124 2003-07-02 Brian Paul
3126 * src/freeglut_misc.c: rewrite of glutExtensionSupported - works
3129 2003-07-02 Eric Sandall
3131 * ChangeLog: * Removed tests directory
3132 * ChangeLog, Makefile.am, configure.in, progs/demos/One,
3133 progs/demos/One/Makefile.am, progs/demos/One/one.c, tests: * Removed
3134 genfonts/genstrokes code, updated configure.in and Makefile.in
3136 * Moved tests/one.c into progs/demos/One/one.c, updated configure.in
3138 * genfonts: Removed genfonts
3140 2003-07-02 Christopher John Purnell
3142 * genfonts/to_stroke.y: Added some semicolons that yacc was warning
3145 2003-07-01 James Jones <puggles@users.sourceforge.net>
3147 * AUTHORS: John Fay commanded me to add my name to the file. He's crazy,
3150 2003-07-01 Eric Sandall
3152 * ChangeLog, src/freeglut_misc.c: Fixed the 'ptr + len' problem in
3155 2003-07-01 Brian Paul
3157 * doc/freeglut_user_interface.html: version bumps
3158 * tests/Makefile.am: bump version to 2.0
3159 * src/Makefile.am, src/freeglutdll.def: bump versions to 2.0
3160 * src/freeglut_gamemode.c: xf86VidMode error checking (Andrew
3163 2003-06-30 Brian Paul
3165 * progs/demos/Lorenz, progs/demos/Lorenz/lorenz.c,
3166 progs/demos/Lorenz/lorenz.dsp: Lorenz attractor demo (John Fay)
3167 * freeglut.dsp, freeglut_static.dsp: updates from John Fay
3169 2003-06-28 Eric Sandall
3171 * ChangeLog, include/GL/Makefile.am: Now installs freeglut_ext.h and
3172 glut.h to /usr/include/GL (was missing before)
3174 2003-06-27 Brian Paul
3176 * include/GL/freeglut_ext.h, src/freeglut_init.c,
3177 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_state.c,
3178 src/freeglut_stroke_mono_roman.c: XF86 game mode fixes, context
3179 sharing option. (John Fay)
3181 2003-06-25 Eric Sandall
3183 * ChangeLog: Added another of my changes (freeglut.kdevelop) and fixed
3184 the version number for my MS VS change (*.dsp)
3186 2003-06-25 Brian Paul
3188 * src/freeglut_internal.h: version bumps
3189 * freeglut.lsm, include/GL/glut.h, src/freeglut_stroke_mono_roman.c,
3190 src/freeglut_stroke_roman.c: Assorted version 2.0.0 updates (John
3192 * doc/freeglut_user_interface.html: updated version, italicize freeglut
3195 2003-06-25 Eric Sandall
3197 * ChangeLog, freeglut.dsp, freeglut_static.dsp: Added 'freeglut_ext.c'
3198 to the project files 'freeglut.dsp' and 'freeglut_static.dsp' (New
3201 2003-06-24 Andreas Umbach <marvin@dataway.ch>
3203 * ChangeLog: Fixed autogen.sh and removed aclocal.m4
3204 * aclocal.m4: this file is autogenerated by aclocal
3205 * autogen.sh: fixed aclocal / autoheader order; some cosmetics
3207 2003-06-24 Eric Sandall
3209 * freeglut.kdevelop: Project file for Gideon (KDevelop 3.0)
3211 2003-06-23 Eric Sandall
3213 * ChangeLog, Makefile.am, TODO, configure.in, freeglut.dsp,
3214 freeglut.kdevprj, freeglut13.dsp, freeglut13.plg, freeglut_static.dsp,
3215 freeglutdll.dsp, src, src/Makefile.am, src/freeglut_callbacks.c,
3216 src/freeglut_cursor.c, src/freeglut_display.c, src/freeglut_ext.c,
3217 src/freeglut_font.c, src/freeglut_font_data.c,
3218 src/freeglut_gamemode.c, src/freeglut_geometry.c, src/freeglut_init.c,
3219 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
3220 src/freeglut_menu.c, src/freeglut_misc.c, src/freeglut_overlay.c,
3221 src/freeglut_state.c, src/freeglut_stroke_mono_roman.c,
3222 src/freeglut_stroke_roman.c, src/freeglut_structure.c,
3223 src/freeglut_teapot.c, src/freeglut_videoresize.c,
3224 src/freeglut_window.c, src/freeglutdll.def, src/templates,
3225 src/templates/cpp_template, src/templates/header_template,
3226 tests/Makefile.am: Changed all references to the 'freeglut-1.3'
3227 directory to 'src', copied 'freeglut-1.3' to 'src' and added all files
3228 from 'src' to the repository (TODO #34).
3229 * ChangeLog: Updated ChangeLog with my aclocal.m4 change
3230 * aclocal.m4: Updated aclocal.m4 with aclocal 1.7.3 (was created with
3233 2003-06-23 Brian Paul
3235 * freeglut-1.3/freeglut_geometry.c: adjusted precision (John Fay)
3236 * doc/freeglut_user_interface.html, freeglut-1.3/freeglut_display.c,
3237 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3238 freeglut-1.3/freeglut_teapot.c, include/GL/freeglut_ext.h,
3239 include/GL/glut.h: Assorted updates from John Fay.
3241 2003-06-20 Eric Sandall
3243 * TODO: Updated TODO from John Fay
3245 2003-06-20 Brian Paul
3247 * progs, progs/demos, progs/demos/Fractals,
3248 progs/demos/Fractals/Fractals.dsp, progs/demos/Fractals/fractals.c,
3249 progs/demos/Fractals/fractals.dat, progs/demos/Fractals_random,
3250 progs/demos/Fractals_random/Fractals_random.dsp,
3251 progs/demos/Fractals_random/fractals.dat,
3252 progs/demos/Fractals_random/fractals_random.c: Fractal demo (John Fay)
3254 2003-06-20 Eric Sandall
3256 * ChangeLog: Added the autogen.sh addition to ChangeLog
3257 * autogen.sh: Initial version of autogen.sh, tested here and creates the
3260 2003-06-20 Brian Paul
3262 * freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_state.c:
3263 Windows patches (Eero Pajarre)
3264 * NEWS: list the 1.4 release (fill in date) - this is a cvs check-in
3267 2003-06-19 Don Heyse <dheyse@hotmail.com>
3269 * freeglut-1.3/freeglut_joystick.c: Oops, missed the
3270 fghJoystickRawRead() fix for FreeBSD.
3272 2003-06-19 Brian Paul
3274 * doc/freeglut_user_interface.html, freeglut-1.3/freeglut_display.c,
3275 freeglut-1.3/freeglut_ext.c, freeglut-1.3/freeglut_internal.h,
3276 freeglut-1.3/freeglut_main.c: s/FreeGLUT/freeglut/
3278 2003-06-19 Don Heyse <dheyse@hotmail.com>
3280 * freeglut-1.3/freeglut_joystick.c: Applied tthierry's patch to fix
3281 compiling on FreeBSD.
3283 2003-06-19 Brian Paul
3285 * freeglut-1.3/freeglut_internal.h: added VERSION_MAJOR/MINOR/PATCH
3286 * doc/freeglut_user_interface.html: restore text lost from previous
3288 * include/GL/glut.h: s/FREEGLUT_VERSION_1_3/FREEGLUT_VERSION_1_4/
3290 2003-06-19 Eric Sandall
3292 * include/GL/freeglut_ext.h, include/GL/glut.h: GLUT_VERSION updates
3295 2003-06-18 Eric Sandall
3297 * AUTHORS: Forgot a file...looked so innocous just sitting there... :)
3298 * ChangeLog, doc/freeglut_user_interface.html,
3299 freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_ext.c,
3300 freeglut-1.3/freeglut_internal.h, freeglut-1.3/freeglut_menu.c,
3301 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_teapot.c,
3302 freeglut-1.3/freeglut_window.c, include/GL/freeglut_ext.h: * Hopefully
3303 I did THIS one right (used 'cvs update' to Merge)
3305 Authors - The first update in quite a while
3307 ChangeLog - Added the recent changes
3309 freeglut_callbacks.c - Added Aleksandar Donev's menu destruction
3312 freeglut_internal.h - Added the user data to the structures and made
3313 the menu state/status callbacks window-independent
3315 freeglut_menu.c - Removed several OpenGL compiler warnings and added
3316 A. Donev's menu user data functions
3318 freeglut_structure.c - Added Aleksandar Donev's menu destruction
3321 freeglut_teapot.c - Removed or suppressed several compiler warnings
3323 freeglut_window.c - Updated the window positioning code and added A.
3324 Donev's window user data
3326 freeglut_ext.h - Added the menu destruction callback and user data
3328 * freeglut-1.3/freeglut_ext.h: * Removed freeglut_ext.h (wasn't supposed
3331 2003-06-18 Brian Paul
3333 * doc/freeglut_user_interface.html, freeglut-1.3/freeglut_internal.h,
3334 freeglut-1.3/freeglut_state.c, include/GL/freeglut_ext.h,
3335 include/GL/glut.h: Added FREEGLUT_VERSION_1_3. Added GLUT_VERSION for
3336 glutGet(). Added glutGet() documentation.
3337 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_ext.h,
3338 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_internal.h,
3339 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_state.c,
3340 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_window.c:
3341 remove DOS-style CR characters
3342 * doc/freeglut_user_interface.html: added glutGetProcAddress and
3344 * ChangeLog: added glutGetProcAddress() and GLUT_FPS
3346 2003-06-17 Brian Paul
3348 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_init.c,
3349 freeglut-1.3/freeglut_internal.h: restore GLUT_FPS env var feature
3350 lost in previous check-in
3352 2003-06-17 Eric Sandall
3354 * ChangeLog: * Updated ChangeLog
3355 * freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_structure.c: Set
3356 #4: * Fixes a couple of compiler warnings and other bugs. *
3357 freeglut_main.c: Removes a compiler warning * freeglut_structure.c:
3358 Sets the current window before calling the window closure callback *
3359 Possibly other changes
3360 * freeglut-1.3/freeglut_ext.h: * Rest of Set #3
3361 * freeglut-1.3/freeglut_state.c: Set #3: Fixes for window positioning
3363 * freeglut-1.3/freeglut_init.c: Eero Pajarre's GLUT_ICON code for
3365 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_internal.h,
3366 freeglut-1.3/freeglut_window.c: First group of patches: Adds
3367 single-buffered rendering (or its emulation) in Windows.
3369 2003-06-17 Brian Paul
3371 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_init.c,
3372 freeglut-1.3/freeglut_internal.h: added GLUT_FPS env var option
3373 * freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_ext.c,
3374 include/GL/freeglut_ext.h: added glutGetProcAddress()
3376 2003-06-12 Don Heyse <dheyse@hotmail.com>
3378 * freeglut-1.3/freeglut_main.c: Fix the keyboard up callback and a
3380 * freeglut-1.3/freeglut_structure.c: Set the current window before
3381 calling the window closure callback.
3382 * freeglut-1.3/freeglut_state.c, include/GL/freeglut_ext.h: John's
3383 window positioning corrections.
3384 * freeglut-1.3/freeglut_init.c: Eero Pajarre's icon code.
3385 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_internal.h,
3386 freeglut-1.3/freeglut_window.c: Single buffered rendering for Windows.
3388 2003-06-02 Don Heyse <dheyse@hotmail.com>
3390 * doc/freeglut_user_interface.html: John Documented InitWindowPosition
3391 extensions and added some kbd fn info.
3392 * ChangeLog: Documented Johns changes from May 03.
3393 * freeglut-1.3/freeglut_state.c: Do not allow glutGet to reposition the
3394 window 1 pixel toward bottom right.
3395 * freeglut-1.3/freeglut_main.c: Pass mouse pos to Windows kbd callback.
3396 Resequenced a few things for UNIX.
3398 2003-03-23 Christopher John Purnell
3400 * freeglut-1.3/freeglut_gamemode.c: Applied patch to fix GameMode issues
3401 supplied by Bernhard Kaindl.
3403 2003-03-12 Don Heyse <dheyse@hotmail.com>
3405 * include/GL/glut.h: Switch to ANSI C comments.
3406 * freeglut-1.3/freeglut_cursor.c, freeglut-1.3/freeglut_display.c,
3407 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_geometry.c,
3408 freeglut-1.3/freeglut_internal.h, freeglut-1.3/freeglut_joystick.c,
3409 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_structure.c,
3410 freeglut-1.3/freeglut_window.c: Switch to ANSI C comments. Removed
3411 always true tests on unsigned char. Single buffering fix..
3413 2003-02-13 Don Heyse <dheyse@hotmail.com>
3415 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp: Switching to John
3416 Fays version of the VC++ project files.
3418 2003-02-08 Steve Baker <steve@sjbaker.org>
3420 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_joystick.c:
3421 Removed erroneous GPL license comments.
3423 2003-02-07 Don Heyse <dheyse@hotmail.com>
3425 * freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_cursor.c,
3426 freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_font_data.c,
3427 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3428 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_joystick.c,
3429 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_overlay.c,
3430 freeglut-1.3/freeglut_stroke_mono_roman.c,
3431 freeglut-1.3/freeglut_stroke_roman.c, freeglut-1.3/freeglut_teapot.c,
3432 freeglut-1.3/freeglut_videoresize.c: Moved freeglut_internal.h to the
3433 freeglut source code private directory.
3434 * freeglut-1.3/freeglut_structure.c: SubWindow border thickness fix.
3435 Overlay changes in glutGet.
3436 * freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3437 freeglut-1.3/freeglut_state.c, freeglut-1.3/freeglut_window.c: Johns
3438 changes for layers, fgSetWindow, and fgSetupPixelFormat.
3439 * freeglut-1.3/freeglut_font.c: John fixed a bug that make bitmap font
3440 one pixel wider than its drawn.
3441 * freeglut-1.3/freeglut_internal.h, include/GL/freeglut_internal.h:
3442 Moved freeglut_internal.h to the private directory with the other
3444 * include/GL/freeglut.h, include/GL/freeglut_ext.h, include/GL/glut.h:
3445 Broke freeglut.h into glut.h and freeglut_ext.h
3447 2003-01-06 Don Heyse <dheyse@hotmail.com>
3449 * freeglut-1.3/freeglutdll.def: Exports file for Win32 dll. One EXPORT
3450 for each FGAPI line in freeglut.h
3452 2003-01-04 Steve Baker <steve@sjbaker.org>
3454 * aclocal.m4, freeglut-1.3/freeglut_joystick.c: Cleanup joystick
3457 2002-12-10 Don Heyse <dheyse@hotmail.com>
3459 * freeglut.dsw, freeglutdll.dsp: Allow DLL and static library build on
3461 * include/GL/freeglut.h: Added check for FREEGLUT_DLL to allow static &
3462 DLL build on Windows.
3464 2002-12-04 Don Heyse <dheyse@hotmail.com>
3466 * freeglut-1.3/freeglut_font_data.c: More bitmap font spacing fixes from
3469 2002-11-29 Don Heyse <dheyse@hotmail.com>
3471 * freeglut-1.3/freeglut_init.c: Fixed Win95 crash when getenv("DISPLAY")
3473 * freeglut-1.3/freeglut_font_data.c: The lowercase t in helvetica12 was
3475 * freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c:
3476 Adjusted character spacing on a few fonts.
3477 * ChangeLog: Many updates from John Fay.
3478 * freeglutstatic.dsw: Added Visual C++ 6 Static library project for John
3481 2002-11-28 Don Heyse <dheyse@hotmail.com>
3483 * freeglut.dsp: Visual C++ 6 project file for static freeglut lib.
3484 * include/GL/freeglut.h, include/GL/freeglut_internal.h: Many updates
3485 from John Fay. (freeglut.h may need a small change to allow Win32 DLL
3487 * freeglut-1.3/freeglut_geometry.c: Many updates from John Fay.
3488 * freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_cursor.c,
3489 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c,
3490 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_init.c,
3491 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3492 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_state.c,
3493 freeglut-1.3/freeglut_stroke_mono_roman.c,
3494 freeglut-1.3/freeglut_stroke_roman.c,
3495 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_window.c:
3496 Many updates from John Fay.
3497 * freeglut-1.3/freeglut_joystick.c: Fixes from freeglut_portable patch.
3498 Memory leak fix from John. Return_if_fail fix.
3500 2002-11-26 Don Heyse <dheyse@hotmail.com>
3502 * doc/freeglut_user_interface.html: Added on behalf of John Fay.
3504 2002-10-22 Don Heyse <dheyse@hotmail.com>
3506 * freeglut-1.3/freeglut_geometry.c: Implemented tetrahedra, octahedra,
3507 dodecahedra, and icosahedra. Checked in on behalf of John F. Fay
3508 <john.fay@eglin.af.mil>.
3510 2002-05-20 Don Heyse <dheyse@hotmail.com>
3512 * freeglut-1.3/freeglut_font.c: Fixed previous fix so it compiles.
3514 2002-05-20 Christopher John Purnell
3516 * freeglut-1.3/freeglut_font.c: My bad.
3518 2002-05-18 Christopher John Purnell
3520 * freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_font.c,
3521 freeglut-1.3/freeglut_stroke_mono_roman.c,
3522 freeglut-1.3/freeglut_stroke_roman.c, genfonts/Roman_M.src,
3523 genfonts/lex.l, genfonts/to_stroke.y, genfonts/wfont.h,
3524 include/GL/freeglut.h, include/GL/freeglut_internal.h: Added stroke
3527 2002-05-17 Christopher John Purnell
3529 * freeglut-1.3/freeglut_cursor.c, freeglut-1.3/freeglut_display.c,
3530 freeglut-1.3/freeglut_overlay.c, freeglut-1.3/freeglut_teapot.c,
3531 freeglut-1.3/freeglut_videoresize.c, tests/one.c: Removed some DOS
3534 2002-05-16 Christopher John Purnell
3536 * freeglut-1.3/freeglut_main.c: Removed one last glib call.
3538 2002-01-20 Steve Baker <steve@sjbaker.org>
3540 * README, freeglut-1.3/.deps/freeglut_callbacks.P,
3541 freeglut-1.3/.deps/freeglut_cursor.P,
3542 freeglut-1.3/.deps/freeglut_display.P,
3543 freeglut-1.3/.deps/freeglut_font.P,
3544 freeglut-1.3/.deps/freeglut_font_data.P,
3545 freeglut-1.3/.deps/freeglut_gamemode.P,
3546 freeglut-1.3/.deps/freeglut_geometry.P,
3547 freeglut-1.3/.deps/freeglut_init.P,
3548 freeglut-1.3/.deps/freeglut_joystick.P,
3549 freeglut-1.3/.deps/freeglut_main.P,
3550 freeglut-1.3/.deps/freeglut_menu.P,
3551 freeglut-1.3/.deps/freeglut_misc.P,
3552 freeglut-1.3/.deps/freeglut_overlay.P,
3553 freeglut-1.3/.deps/freeglut_state.P,
3554 freeglut-1.3/.deps/freeglut_structure.P,
3555 freeglut-1.3/.deps/freeglut_teapot.P: Removed a bunch of '.P' files
3556 that don't belong in the CVS archive.
3558 2001-08-05 Christopher John Purnell
3560 * freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_main.c,
3561 freeglut-1.3/freeglut_window.c, include/GL/freeglut_internal.h: Added
3562 keyup events code. Added missing specal keys. Made menu callbacks
3564 * freeglut-1.3/freeglut_window.c: More position tweeks.
3566 2001-08-04 Christopher John Purnell
3568 * freeglut-1.3/freeglut_main.c, include/GL/freeglut.h: Fixed redisplay
3569 bug. Fixed modifier values.
3570 * freeglut-1.3/freeglut_window.c: Improved window positioning.
3572 2001-07-30 Christopher John Purnell
3574 * freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_structure.c: A
3577 2001-07-30 Andreas Umbach <marvin@dataway.ch>
3579 * freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_main.c: one more
3581 * include/GL/freeglut_internal.h: removed glib dependencies from win32
3582 * freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_init.c,
3583 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_window.c: -
3584 removed glib dependencies from win32 code
3586 2001-07-29 Christopher John Purnell
3588 * freeglut-1.3/freeglut_structure.c: Fixed bug list code.
3589 * freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_callbacks.c,
3590 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c,
3591 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3592 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_joystick.c,
3593 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3594 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_state.c,
3595 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_window.c,
3596 genfonts/Makefile.am, genfonts/genfonts.c, genfonts/genstroke.c,
3597 include/GL/freeglut.h, include/GL/freeglut_internal.h: Removed glib
3599 * configure.in, freeglut-1.3/Makefile.am, genfonts/Makefile.am: The
3600 build system now looks for X.
3602 2001-07-27 Steve Baker <steve@sjbaker.org>
3604 * doc, doc/download.html, doc/freeglut.html, doc/freeglut_logo.png,
3605 doc/index.html, doc/ogl_sm.png, doc/progress.html, doc/structure.html:
3607 * genfonts/.deps, tests/.deps: Removed some more files that don't belong
3609 * configure, freeglut-1.3/Makefile, freeglut-1.3/Makefile.in,
3610 genfonts/Makefile, genfonts/Makefile.in, include/GL/Makefile,
3611 include/GL/Makefile.in, include/Makefile, include/Makefile.in,
3612 tests/Makefile, tests/Makefile.in: Removed files checked in in error.
3613 * freeglut-1.3/.deps, freeglut-1.3/.deps/freeglut_callbacks.P,
3614 freeglut-1.3/.deps/freeglut_cursor.P,
3615 freeglut-1.3/.deps/freeglut_display.P,
3616 freeglut-1.3/.deps/freeglut_font.P,
3617 freeglut-1.3/.deps/freeglut_font_data.P,
3618 freeglut-1.3/.deps/freeglut_gamemode.P,
3619 freeglut-1.3/.deps/freeglut_geometry.P,
3620 freeglut-1.3/.deps/freeglut_init.P,
3621 freeglut-1.3/.deps/freeglut_joystick.P,
3622 freeglut-1.3/.deps/freeglut_main.P,
3623 freeglut-1.3/.deps/freeglut_menu.P,
3624 freeglut-1.3/.deps/freeglut_misc.P,
3625 freeglut-1.3/.deps/freeglut_overlay.P,
3626 freeglut-1.3/.deps/freeglut_state.P,
3627 freeglut-1.3/.deps/freeglut_structure.P,
3628 freeglut-1.3/.deps/freeglut_teapot.P,
3629 freeglut-1.3/.deps/freeglut_videoresize.P,
3630 freeglut-1.3/.deps/freeglut_window.P, freeglut-1.3/Makefile,
3631 freeglut-1.3/Makefile.in: Initial revision
3632 * ., AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, NEWS, README,
3633 TODO, acconfig.h, aclocal.m4, configure, configure.in, freeglut-1.3,
3634 freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_callbacks.c,
3635 freeglut-1.3/freeglut_cursor.c, freeglut-1.3/freeglut_display.c,
3636 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c,
3637 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3638 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_joystick.c,
3639 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3640 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_overlay.c,
3641 freeglut-1.3/freeglut_state.c, freeglut-1.3/freeglut_structure.c,
3642 freeglut-1.3/freeglut_teapot.c, freeglut-1.3/freeglut_videoresize.c,
3643 freeglut-1.3/freeglut_window.c, freeglut-1.3/templates,
3644 freeglut-1.3/templates/cpp_template,
3645 freeglut-1.3/templates/header_template, freeglut.dsw,
3646 freeglut.kdevprj, freeglut.lsm, freeglut13.dsp, freeglut13.plg,
3647 genfonts, genfonts/.deps, genfonts/.deps/genfonts.P,
3648 genfonts/.deps/genstroke.P, genfonts/Makefile, genfonts/Makefile.am,
3649 genfonts/Makefile.in, genfonts/Roman.src, genfonts/Roman_M.src,
3650 genfonts/genfonts.c, genfonts/genstroke.c, include, include/GL,
3651 include/GL/Makefile, include/GL/Makefile.am, include/GL/Makefile.in,
3652 include/GL/freeglut.h, include/GL/freeglut_internal.h,
3653 include/Makefile, include/Makefile.am, include/Makefile.in,
3654 install-sh, mkinstalldirs, stamp-h, stamp-h.in, tests, tests/.deps,
3655 tests/.deps/one.P, tests/Makefile, tests/Makefile.am,
3656 tests/Makefile.in, tests/one.c: Initial revision