1 2009-03-16 Sven Panne <sven.panne@aedion.de>
3 * src/freeglut_state.c: Added GLUT_AUX and GLUT_MULTISAMPLE as possible
4 parameters for glutGet, making things more symmetric with
6 * src/freeglutdll.def: Added missing API entries.
8 2009-03-10 John F. Fay <john.fay.ctr@eglin.af.mil>
10 * progs/demos/demos.dsw: Adding the "smooth_opengl3" demo
12 2009-03-09 John F. Fay <john.fay.ctr@eglin.af.mil>
14 * include/GL/freeglut_std.h: Making the definition of
15 "WIN32_LEAN_AND_MEAN" conditional to enhance compatibility with GLEW
16 per suggestion by Diederick C. Niehorster in e-mail dated Mon 3/9/2009
18 * progs/demos/Fractals/fractals.c: Setting the "fractals" demo initial
19 number of levels to 4 per suggestion from Diederick C. Niehorster
20 [diederick@niehorster.eu] in e-mail dated Mon 3/9/2009 5:29 AM
22 2009-03-01 John F. Fay <john.fay.ctr@eglin.af.mil>
24 * progs/demos/CallbackMaker/CallbackMaker.c,
25 progs/demos/Lorenz/lorenz.c, progs/demos/shapes/shapes.c: Fixing
26 Microsoft compatibility with the new "vsnprintf" by putting an
27 underscore in front of it if WIN32 is defined but __CYGWIN__ is not
29 2009-03-01 Sven Panne <sven.panne@aedion.de>
31 * configure.ac: We do not depend on GLU anymore
32 * README.win32: Added notes for building under Cygwin
33 * src/Makefile.am: To build shared libraries on Windows, one has to
34 declare explicitly that there are no undefined symbols during linking.
35 No idea why, but this seems to be the only way to enable this on
36 Cygwin via -mno-cygwin. Hopefully this won't cause problems on other
37 platforms (which has to be tested).
38 * progs/demos/smooth_opengl3/smooth_opengl3.c: Windows fun again: Use
39 the correct calling convention for OpenGL extension entries.
41 2009-02-28 Sven Panne <sven.panne@aedion.de>
43 * progs/demos/smooth_opengl3/smooth_opengl3.c: When -mno-cygwin is used,
44 we get ancient GL headers, so be a bit more conservative.
45 * progs/demos/Fractals_random/fractals_random.c,
46 progs/demos/Lorenz/lorenz.c, progs/demos/shapes/shapes.c:
47 _CrtDumpMemoryLeaks and its header are Microsoft-specific, e.g. Cygwin
49 * src/freeglut_window.c: Do not try to destroy a GLX context when there
50 is none, e.g. when glXCreateContextAttribsARB is not there.
51 * src/freeglut_joystick.c: Use snprintf or _snprintf instead of the
52 potentially dangerous sprintf to avoid warnings.
54 NOTE: Due to excessive use of #ifdefs, the joystick code is on the
55 border of being unmaintainable! I could only check that it compiles
56 cleanly on my Linux box. Others should test this on their platforms
57 (Windows, Mac OS X, *BSD) to make sure that nothing has been broken.
58 * progs/demos/CallbackMaker/CallbackMaker.c,
59 progs/demos/Lorenz/lorenz.c, progs/demos/shapes/shapes.c: Use
60 vsnprintf instead of the potentially dangerous sprintf to avoid
61 warnings. Using snprintf directly would be a little bit more tricky,
62 because once again Microsoft decided to avoid followind standards and
63 provide _snprintf instead. We could use this, too, but this would
64 require an additional autoconf check, which I'd like to avoid, if
67 Note: If VS *still* issues warnings, but this time about vsnprintf,
68 somebody should add some pragmas or whatever is needed to shut up that
69 warning, it would be silly.
70 * progs/demos/Lorenz/lorenz.c: Position the distance message closer to
71 the middle of the window, it has been far, far off to the upper right.
72 * src/freeglut_internal.h: Synched version number with configure.ac. We
73 should better remove this redundancy and calculate this from
74 configure.ac directly.
76 2009-02-19 John F. Fay <john.fay.ctr@eglin.af.mil>
78 * progs/demos/smooth_opengl3/smooth_opengl3.dsp,
79 progs/demos/smooth_opengl3/smooth_opengl3Static.dsp: Fixing the
80 DOS/Linux line ending problems in the progs/demos/smooth_opengl3
83 2009-02-18 John F. Fay <john.fay.ctr@eglin.af.mil>
85 * src/freeglut_window.c: Fixing a build error caused by a variable
86 declaration being out of place
88 2009-02-15 Sven Panne <sven.panne@aedion.de>
90 * progs/demos/smooth_opengl3/smooth_opengl3.c: Final changes to make the
91 example fully OpenGL-3.0-compliant:
93 * Use vertex attribute arrays.
95 * Use our own projection matrix.
97 * Do not use deprecated vertex/fragment shader variables.
98 * progs/demos/smooth_opengl3/smooth_opengl3.c: Use GLSL shaders (still
99 1.20, though). Dump GL info.
100 * progs/demos/smooth_opengl3/smooth_opengl3.c: Added a commandline
101 option for 'classic' contexts. Aesthetic changes.
102 * progs/demos/smooth_opengl3/smooth_opengl3.c: Use VBOs in new example.
103 Added a few comments.
105 2009-02-14 Sven Panne <sven.panne@aedion.de>
107 * configure.ac, progs/demos/Makefile.am, progs/demos/smooth_opengl3,
108 progs/demos/smooth_opengl3/Makefile.am,
109 progs/demos/smooth_opengl3/smooth_opengl3.c,
110 progs/demos/smooth_opengl3/smooth_opengl3.dsp,
111 progs/demos/smooth_opengl3/smooth_opengl3Static.dsp: Initial version
112 of a fully OpenGL-3.0-compliant of the famous smooth.c from the Red
113 Book. What has been done already:
115 * Explicitly request a forward-compatible 3.0 context
117 * Report GL errors, if any, at a few crucial places
119 * Replaced gluOrtho2D with a home-grown matrix + glLoadMatrixf
121 What remains to be done:
123 * Use vertex shaders and fragment shaders
125 * Use vertex buffer objects
127 2009-02-13 Sven Panne <sven.panne@aedion.de>
129 * README: Mention autogen.sh
130 * src/freeglut_window.c: Synchronized WGL behavior with GLX
131 implementation: Do not call the new context creation API when it is
132 not required. Fixing a bug in a previous commit on the way... :-}
133 * src/freeglut_internal.h, src/freeglut_window.c: More refactorings:
134 Removed useless return value. Simplified control structures even more.
135 * src/freeglut_window.c: Refactoring only (replace nested conditionals
136 with guard clauses), making the normal path of execution much clearer.
137 * configure.ac: We have added some API entries, so we have to update
138 library version information conforming to
139 http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
140 * autogen.sh, configure.ac: Avoid CR\LF vs. LF troubles when using
141 TortoiseSVN plus Cygwin.
142 * .: Ignore config.lt, too. It seems to be generated by recent
145 2009-02-13 John F. Fay <john.fay.ctr@eglin.af.mil>
147 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_window.c:
148 Adding OpenGL 3.0 context detection for Windows per e-mail from Paul
149 Martz dated Thu 2/12/2009 9:03 AM (more or less)
151 2009-02-03 John F. Fay <john.fay.ctr@eglin.af.mil>
153 * README: Adding some instructions about building on a *nix platform to
155 * include/GL/freeglut_ext.h, src/freeglut_main.c: Removing some errant
156 tabs, fixing ticket #2137721, and adding special-key capability to
157 recognizing the NumLock, Delete, and keypad '5' keys
158 * src/freeglut_joystick.c, src/freeglut_main.c: A further response to
159 bug [ 1804696 ] Warnings when building on OpenSolaris -- per comment
160 by Nigel Stewart on that bug report
162 2009-02-02 John F. Fay <john.fay.ctr@eglin.af.mil>
164 * src/freeglut_internal.h, src/freeglut_joystick.c: Fixing bug [ 1804696
165 ] Warnings when building on OpenSolaris as updated 2/2/09 by Nigel
168 2008-11-20 Sven Panne <sven.panne@aedion.de>
170 * src/freeglut_glutfont_definitions.c, src/freeglut_internal.h: Yet
171 another try to make the font definitions compile on all platforms.
173 2008-11-17 John F. Fay <john.fay.ctr@eglin.af.mil>
175 * src/freeglut_glutfont_definitions.c, src/freeglut_internal.h: Allowing
176 "freeglut" to compile without errors under *nix. Before this, there
177 were problems with conflicting definitions of the GLUT font
180 2008-11-06 Sven Panne <sven.panne@aedion.de>
182 * src/freeglut_main.c: Ooops, forgot one file in the previous commit
183 (fix for "--without-x").
184 * configure.ac: Use autoconf to detect gettimeofday instead of broken
187 Note: freeglut compiles under Cygwin now, even when "--without-x" is
188 used for configuration.
189 * configure.ac: We need to link against winmm under Cygwin when
190 --without-x is used to get timeBeginPeriod, timeEndPeriod, joyGetPosEx
192 * src/freeglut_window.c: Fixed first parameter of CreateWindow call,
193 used for multisampling on Windows. It compiles, but it is otherwise
196 2008-11-05 Sven Panne <sven.panne@aedion.de>
198 * src/freeglut_misc.c: Be conservative about the presence of
200 * src/freeglut_glutfont_definitions.c, src/freeglut_stroke_mono_roman.c,
201 src/freeglut_stroke_roman.c: freeglut_internal.h needs some GL types,
202 but it is not self-contained. TODO: Move freeglut.h #include into
203 freeglut_internal.h itself?
204 * src/freeglut_window.c: Removed the annoying "Unable to create direct
205 context rendering..." warning, it served no real purpose, and on some
206 platforms there simply is no such thing as a direct context.
207 * progs/demos/CallbackMaker, progs/demos/Fractals,
208 progs/demos/Fractals_random, progs/demos/Lorenz, progs/demos/One,
209 progs/demos/shapes: Ignore *.exe
210 * src/freeglut_ext.c: Handle new glutInitContext* API entries in
212 * src/freeglut_internal.h: Make freeglut compile under Cygwin, which has
213 an ancient GLX header
215 2008-11-02 Sven Panne <sven.panne@aedion.de>
217 * include/GL/freeglut_ext.h, src/freeglut_init.c,
218 src/freeglut_internal.h, src/freeglut_state.c, src/freeglut_window.c:
219 Added OpenGL 3.0 context creation API entries
221 glutInitContextVersion, glutInitContextFlags
223 and their related constants
225 GLUT_INIT_MAJOR_VERSION GLUT_INIT_MINOR_VERSION GLUT_INIT_FLAGS
227 GLUT_DEBUG GLUT_FORWARD_COMPATIBLE
229 Note that this works with GLX only currently, the glutInitContext* API
230 entries have no effect for WGL yet.
232 TODO: Centralize the context creation code for WGL (the harder part)
233 and use the new wglCreateContextAttribsARB API entry (the easy part,
234 re-use most of the GLX code).
235 * src/freeglut_window.c: Refactored GLX context creation into a single
236 function, centralizing things to be changed for OpenGL 3.0 context
237 creation and removing some cut-n-paste.
238 * src/freeglut_ext.c, src/freeglut_internal.h: Make a
239 wgl/glXGetProcAddress abstraction available internally. We will need
240 this to get the new context creation function.
241 * src/freeglut_misc.c: Do not depend on GLU, it will vanish in the
242 future, at least in its current form.
243 * src/freeglut_internal.h: Removed superfluous #includes.
244 * configure.ac: Fix for bug #1709675 ("probably not be so
245 ISO-conformant"): The C compiler flag -Werror is not used by default
246 anymore, a separate configure flag --enable-warnings-as-errors has
247 been introduced for this purpose, which is off by default.
248 * configure.ac: Added AM_PROG_CC_C_O to configure.ac, removing a warning
249 during autogen.sh. This flag seems to be necessary for per-target
250 flags (used in demo programs) nowadays.
252 2008-07-21 John F. Fay <john.fay.ctr@eglin.af.mil>
254 * configure.ac, src/Makefile.am: Implementing a patch from Jocelyn
255 Frechot (thank you, Jocelyn) that "should enable the XInput extension
256 management with the autotools." See e-mail of Sun 7/20/2008 12:01 PM.
258 2008-07-10 John F. Fay <john.fay.ctr@eglin.af.mil>
260 * src/freeglut_ext.c: Adding "glutExit" to the functions in
261 "fghGetProcAddress" in accordance with an e-mail from Jocelyn Frechot
262 dated Tue 7/8/2008 12:26 PM
264 2008-04-05 John F. Fay <john.fay.ctr@eglin.af.mil>
266 * src/freeglut_main.c: Adding "SC_MONITORPOWER" and other new options to
267 the "wParam" option list (e-mail from Ron Larkin, 3/17/08, 11:00 AM)
269 2007-12-02 John F. Fay <john.fay.ctr@eglin.af.mil>
271 * include/GL/freeglut_ext.h, src/freeglut_display.c, src/freeglut_ext.c,
272 src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
273 src/freeglut_state.c, src/freeglut_window.c: Adding
274 "glutFullScreenToggle" for X11 -- still needs implementation in
275 Windows (e-mail by Jocelyn Frechot, Sun 11/25/2007 11:29 AM)
277 2007-12-01 John F. Fay <john.fay.ctr@eglin.af.mil>
279 * src/freeglut_window.c: Fixing the window position for asynchronous X11
280 implementations (e-mail by Jocelyn Frechot, Sun 11/25/2007 11:29 AM)
282 2007-11-26 John F. Fay <john.fay.ctr@eglin.af.mil>
284 * progs/demos/Fractals/fractals.c: Making a demo program that uses
287 2007-11-12 John F. Fay <john.fay.ctr@eglin.af.mil>
289 * include/GL/freeglut_ext.h, src/freeglut_ext.c, src/freeglut_init.c,
290 src/freeglut_internal.h, src/freeglut_state.c,
291 src/freeglut_structure.c, src/freeglut_window.c: Implementing Jocelyn
292 Frechot's changes -- see e-mail of Thursday, 11/8/2007 9:12 AM.
294 2007-10-02 John F. Fay <john.fay.ctr@eglin.af.mil>
296 * src/freeglut_joystick.c: Removing more Win64 build warnings from
299 2007-09-30 John F. Fay <john.fay.ctr@eglin.af.mil>
301 * src/freeglut_main.c: Removing the final compiler warning when building
302 on Win75 -- thank you, Antonio Mattos.
304 2007-09-29 John F. Fay <john.fay.ctr@eglin.af.mil>
306 * src/freeglut_cursor.c: Removing the remaining compiler warnings from
307 the cursor code, thanks to Antonio Mattos of Brazil. The double
308 type-casting is needed because of a bug in the new MSVC; there is a
309 discussion on the web on this subject.
311 2007-09-25 John F. Fay <john.fay.ctr@eglin.af.mil>
313 * src/freeglut_cursor.c: Changing the cursor definition macro for newer
314 versions of MSVC -- thanks to "Mattos" of Brazil
315 * src/freeglut_window.c: More changes for Jocelyn Frechot's
316 multisampling changes. The library builds now. It still needs some
317 testing with sample cases under X11.
319 2007-09-23 John F. Fay <john.fay.ctr@eglin.af.mil>
321 * src/freeglut_window.c: Fixing a remaining bug in the multisampling
322 change ... there may be more ...
324 2007-09-22 John F. Fay <john.fay.ctr@eglin.af.mil>
326 * src/freeglut_internal.h, src/freeglut_state.c,
327 src/freeglut_structure.c, src/freeglut_window.c: Putting in Jocelyn
328 Frechot's X11 visual context changes. THIS WILL BREAK THE BUILD as I
329 am unable to test it on a Linux machine here. Somebody please test it
332 2007-09-21 John F. Fay <john.fay.ctr@eglin.af.mil>
334 * src/freeglut_init.c, src/freeglut_main.c, src/freeglut_misc.c:
335 Removing compiler warnings in MSVC 2005 build
336 * include/GL/freeglut_ext.h, src/freeglut_init.c: Implementing Larry
337 Ramey's "glutExit" feature (see e-mails from him on 11/9/05, 6/28/06)
339 2007-09-19 John F. Fay <john.fay.ctr@eglin.af.mil>
341 * include/GL/freeglut_std.h, src/freeglut_window.c: Implementing first
342 part of Windows version of "GLUT_CAPTIONLESS" and "GLUT_BORDERLESS"
343 per feature request "[ 1197016 ] need GLUT_CAPTIONLESS window option".
344 Needs more work; menus are slightly mispositioned, X11 version does
345 not support it, banner appears at beginning but disappears on window
346 resize. But this is a start.
347 * src/freeglut_main.c: Fixing Linux key-repeat mode bug reported in "[
348 1796845 ] Keyboard events are lost when key repeat is enabled."
349 * src/freeglut_joystick.c: Fixing a build error on SuSE described in bug
350 report "[ 1792047 ] freeglut_joystick.c error"
352 2007-09-18 John F. Fay <john.fay.ctr@eglin.af.mil>
354 * src/freeglut_window.c: Implementing feature request "[ 947118 ] Popup
355 menu is hidden under the TOPMOST window"
356 * src/freeglut_menu.c: Adding Takeshi Nishimura's Feature Request "[
357 1045202 ] Cope with a menu with many items" -- sorry it took so long.
358 * src/freeglut_window.c: Addressing Feature Request #1307049 that
359 "freeglut" should return 0 if "glutGetWindow" is called without a
360 prior call to "glutInit", rather than terminating on error.
361 * freeglut.dep, freeglut.mak, freeglut_static.dep, freeglut_static.mak:
362 Added Windows "nmake" Makefiles and dependency files for the two
363 "freeglut" projects in accordance with Feature Request #1454543
365 2007-09-16 John F. Fay <john.fay.ctr@eglin.af.mil>
367 * src/freeglut_window.c: Fixing bug #1688954, submitted in Marcy '07. I
368 changed "FREEGLUT" to _T("FREEGLUT") and nothing changed on my Windows
369 XP system. If this will allow it to work on Vista, then in it goes.
370 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c,
371 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
372 Fixing bug report #1052151 from October 2004.
374 2006-11-28 John F. Fay <john.fay.ctr@eglin.af.mil>
376 * FrequentlyAskedQuestions: Adding a Frequently Asked Questions file
378 2006-09-28 Joe Krahn <krahn@niehs.nih.gov>
380 * src/freeglut_state.c, src/freeglut_window.c: Removed incorrect comment
381 about internal WGL/ARB definitions. I actually had put those comments
382 in because I had meant to go back and re-check the WGL extension. But,
383 maybe locally defined extensions should be kept in a separate include
386 2006-09-27 Joe Krahn <krahn@niehs.nih.gov>
388 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp,
389 progs/demos/CallbackMaker/CallbackMaker.dsp,
390 progs/demos/CallbackMaker/CallbackMakerStatic.dsp,
391 progs/demos/Fractals/Fractals.dsp,
392 progs/demos/Fractals/FractalsStatic.dsp,
393 progs/demos/Fractals_random/Fractals_random.dsp,
394 progs/demos/Fractals_random/Fractals_randomStatic.dsp,
395 progs/demos/Lorenz/lorenz.dsp, progs/demos/Lorenz/lorenzStatic.dsp,
396 progs/demos/One/one.dsp, progs/demos/One/oneStatic.dsp,
397 progs/demos/demos.dsw, progs/demos/shapes/shapes.dsp,
398 progs/demos/shapes/shapesStatic.dsp: Undo svn:eol-style=CR/LF for MSVC
401 2006-09-26 Joe Krahn <krahn@niehs.nih.gov>
403 * include/GL/freeglut_std.h, src/freeglut_joystick.c,
404 src/freeglut_state.c, src/freeglut_window.c: Added
405 FREEGLUT_LIB_PRAGMAS to control MS library pragmas, and fixed NOMINMAX
407 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp,
408 progs/demos/CallbackMaker/CallbackMaker.dsp,
409 progs/demos/CallbackMaker/CallbackMakerStatic.dsp,
410 progs/demos/Fractals/Fractals.dsp,
411 progs/demos/Fractals/FractalsStatic.dsp,
412 progs/demos/Fractals_random/Fractals_random.dsp,
413 progs/demos/Fractals_random/Fractals_randomStatic.dsp,
414 progs/demos/Lorenz/lorenz.dsp, progs/demos/Lorenz/lorenzStatic.dsp,
415 progs/demos/One/one.dsp, progs/demos/One/oneStatic.dsp,
416 progs/demos/demos.dsw, progs/demos/shapes/shapes.dsp,
417 progs/demos/shapes/shapesStatic.dsp: Added svn:eol-style=CRLF property
418 to MSVC project/workspace files.
420 2006-09-25 John F. Fay <john.fay.ctr@eglin.af.mil>
422 * src/freeglut_window.c: Fixing a typo bug in the display mode checking
423 (removing multisampling if it is not supported)
425 2006-09-25 Joe Krahn <krahn@niehs.nih.gov>
427 * src/freeglut_state.c: Fixed a small mistake in the previous commit for
429 * src/freeglut_state.c: Added proper support for number of mouse buttons
430 in X11, and a keyboard in Windows CE. Also, several glutGet results
431 returning TRUE/FALSE were changed to 1/0, because the actual return
432 type is int (although they are technically the same in practice).
434 2006-09-24 Joe Krahn <krahn@niehs.nih.gov>
436 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c:
437 Converted Time counter to a uniform unsigned long it value. The
438 initialized flag was redundant with the main Initialized flag, and
439 conversion of timeval to milliseconds in POSIX makes the code cleaner.
440 Timeval has a longer range, but the time value is already limited by
443 2006-09-23 Joe Krahn <krahn@niehs.nih.gov>
445 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c:
446 Removed WindowState.IsGameMode; it is redundant with
447 Structure.GameModeWindow
449 2006-09-21 John F. Fay <john.fay.ctr@eglin.af.mil>
451 * src/freeglut_state.c, src/freeglut_window.c: Adding support for the
452 multisampling query per bug report 1274193
453 * ChangeLog, src/freeglut_main.c: Fixing Bug #1398196 - Windows message
456 2006-09-21 Joe Krahn <krahn@niehs.nih.gov>
458 * src/freeglut_cursor.c: test (comment edited)
460 2006-09-21 John F. Fay <john.fay.ctr@eglin.af.mil>
462 * ChangeLog, src/freeglut_init.c: Adding temporary fix to
463 "glutInitDisplayString" to ignore numerical assignments
464 * ChangeLog, src/freeglut_window.c: Adding multisampling to *nix and
465 Windows; also some other pixel format enhancements to Windows
466 * ChangeLog, progs/demos/CallbackMaker/CallbackMaker.c: Enhancing the
468 * ChangeLog, src/freeglut_cursor.c, src/freeglut_display.c,
469 src/freeglut_ext.c, src/freeglut_gamemode.c,
470 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
471 src/freeglut_input_devices.c, src/freeglut_internal.h,
472 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
473 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_teapot.c,
474 src/freeglut_teapot_data.h, src/freeglut_window.c: Joe Krahn's changes
475 to "TARGET_HOST" defined constants
476 * ChangeLog, src/freeglut_internal.h, src/freeglut_joystick.c,
477 src/freeglut_main.c, src/freeglut_window.c: Fixing two minor bugs,
479 * ChangeLog, src/freeglut_gamemode.c, src/freeglut_internal.h,
480 src/freeglut_menu.c, src/freeglut_state.c, src/freeglut_structure.c:
481 Changing "GameMode" to "GameModeWindow ... and testing whether I can
484 2006-08-05 Sven Panne <sven.panne@aedion.de>
486 * ChangeLog, progs/demos/Fractals/fractals.c,
487 progs/demos/Fractals_random/fractals_random.c,
488 progs/demos/Lorenz/lorenz.c: Check fgets for return value to avoid
490 * freeglut.spec: Fixed typo in date
491 * freeglut.spec: Updated build requirements for SuSE 10.1
493 2005-10-12 Sven Panne <sven.panne@aedion.de>
495 * ., .cvsignore: Ooops, forgot to ingore INSTALL and install-sh in
497 * ChangeLog, include/GL/freeglut_ext.h, include/GL/freeglut_std.h: Moved
498 GLUT_INIT_STATE to <GL/freeglut_ext.h>, it is not part of the original
500 * ., .cvsignore, ChangeLog, INSTALL, autogen.sh, install-sh,
501 mkinstalldirs: Simply use autoreconf in autogen.sh, it is much simpler
502 and the recommended way in the autotools documentation. Removed
503 INSTALL, install-sh and mkinstalldirs, they are either unused or
504 automatically generated by autogen.sh.
506 2005-10-06 John F. Fay <john.fay.ctr@eglin.af.mil>
508 * include/GL/freeglut_ext.h: Allowing compilation of Windows version by
509 removing DLL decorations from deprecated joystick interface extensions
510 * src/freeglut_window.c: Implementing Stereo in Windows
512 2005-09-07 Sven Panne <sven.panne@aedion.de>
514 * ChangeLog, src/Makefile.am: Use target-specific *_CPPFLAGS, not the
516 * ChangeLog, autogen.sh: Use -Wall for automake to catch some buglets,
517 deprecated stuff, etc.
519 2005-09-04 Sven Panne <sven.panne@aedion.de>
521 * ChangeLog, autogen.sh: Silenced autogen.sh
523 2005-08-31 John F. Fay <john.fay.ctr@eglin.af.mil>
525 * freeglut.rc, freeglut.tgt, freeglut.wpj, freeglut_static.tgt:
526 Necessary files for Open Watcom support
527 * src/freeglut_internal.h: Adding Open Watcom support
528 * ChangeLog, README.win32: Documenting support for Open Watcom
529 * include/GL/freeglut_std.h: Implementing WATCOM support
531 2005-07-14 Sven Panne <sven.panne@aedion.de>
533 * src/freeglut_input_devices.c: Nuked useless bit-fiddling, pointed out
534 by John. I was a bit too quick to cut-n-paste the cfmakeraw()
535 definition into our code... :-]
536 * ChangeLog, src/freeglutdll.def: Synched the DLL definitions with
538 * ChangeLog, src/freeglut_cursor.c: Fixed the GLUT_CURSOR_INHERIT logic
541 Note that this commit is untested, but at least it looks better than
542 before. We really a need a cursor test program.
544 2005-07-13 John F. Fay <john.fay.ctr@eglin.af.mil>
546 * src/freeglut_cursor.c: Fixing a cursor bug in \"GLUT_CURSOR_INHERIT\"
548 2005-07-13 Sven Panne <sven.panne@aedion.de>
550 * ChangeLog, configure.ac: Improve autoconf magic: To detect headers
551 like GL/gl.h, it might be necessary to temporarily use the X11 flags
552 found by AC_PATH_XTRA.
553 * ChangeLog, src/freeglut_joystick.c: Avoid gcc warnings for some
554 joystick code (e.g. on Solaris).
555 * src/freeglut_input_devices.c: Tiny cleanup only...
556 * ChangeLog, src/freeglut_input_devices.c: Solaris doesn't have
557 cfmakeraw, but it is only a convenience function for some
558 bit-fiddling, anyway.
560 2005-07-08 Sven Panne <sven.panne@aedion.de>
562 * ChangeLog, include/GL/freeglut_ext.h, src/freeglut_ext.c,
563 src/freeglut_internal.h: Made all the "glutJoystickXXX" functions part
564 of the freeglut extensions. If this is not what we want, we can easily
565 #ifdef this away again...
566 * ChangeLog, src/freeglut_geometry.c: Made a few global arrays "static",
567 avoiding namespace pollution. The only externally visible symbols
568 should either be from the GLUT API ("glutXXX") or internal freeglut
569 entities ("fgYYY"). Reformatted things a bit on the way.
571 2005-07-06 Sven Panne <sven.panne@aedion.de>
573 * ChangeLog, src/freeglut_main.c: We only have pending redisplay
574 callbacks when the window wants to be redisplayed *and* it is visible.
575 Otherwise we won't redraw, anyway, and immediately discover that
576 there's still something to do, etc. etc., leading to 100% CPU load.
577 * ChangeLog, src/freeglut_main.c: Removed redundant code.
578 * ChangeLog, src/freeglut_init.c: X11 only: Destroy the global menu
579 rendering context when deinitializing. The visual/context handling for
580 menus is still rather obscure, though...
581 * progs/demos/Lorenz/lorenz.c: Reverting previous commit: %lf is a valid
582 format specifier for the scanf familiy of functions only, not for the
585 2005-07-05 John F. Fay <john.fay.ctr@eglin.af.mil>
587 * src/freeglut_main.c: Implementing the new menu context variable names
589 * src/freeglut_internal.h: Changing a comment ... nothing big.
590 * progs/demos/Lorenz/lorenz.c: Fixing output formats ... nothing big
592 2005-07-05 Sven Panne <sven.panne@aedion.de>
594 * ChangeLog, src/freeglut_state.c, src/freeglut_window.c: X11 only: Free
595 XVisualInfo structures when they are not needed anymore, fixing a
596 space leak. Not perfect for menus yet...
597 * src/freeglut_internal.h, src/freeglut_window.c: Tiny change to make
598 grep's life easier: Rename the fields of the menu context. Not really
599 worth a ChangeLog entry...
601 IMHO it looks like we could kill the whole MenuContext stuff, it is of
602 no use currently and some things look strange, like e.g. having a
603 context per menu. The latter is not OK when a menu is attached to
606 2005-07-02 Sven Panne <sven.panne@aedion.de>
608 * ChangeLog, src/freeglut_init.c, src/freeglut_internal.h,
609 src/freeglut_main.c, src/freeglut_state.c: Handle modifiers in
610 MotionNotify events, too. This fixes bug #1227920 (glutGetModifiers
611 not set/allowed in mouse callbacks). In addition, some related cleanup
613 * ChangeLog, src/freeglut_joystick.c: Partial fixes for bug #1218900
614 (freeglut-2.4.0 on FreeBSD).
615 * ChangeLog, Makefile.am: Remove wrong "execute" bits when creating a
616 distribution. This fixes bug #961938 (Executable bit set on non exe
618 * configure.ac: Tiny cosmetic change, not worth a ChangeLog entry.
619 * ChangeLog: Added John's missing ChangeLog entry.
621 2005-07-01 John F. Fay <john.fay.ctr@eglin.af.mil>
623 * freeglut.dsp, freeglut_static.dsp: Adding the
624 \"freeglut_input_devices.c\" file to the Windows project files
626 2005-07-01 Sven Panne <sven.panne@aedion.de>
628 * ChangeLog, configure.ac, src/Makefile.am: Some steps toward
629 compilation under MinGW. Note that there are still linking troubles
631 * src/freeglut_internal.h: Fixed #ifdef for ChangeDisplaySettingsEx
633 * ChangeLog, src/freeglut_input_devices.c: Silenced a signed/unsigned
634 mismatched via a cast.
635 * ChangeLog, src/freeglut_internal.h: MinGW is lacking a prototype for
636 ChangeDisplaySettingsEx, so supply one in this case. Note that this
637 should better be handled via autoconf than via cpp.
638 * ChangeLog, Makefile.am: Removed redundant files from EXTRA_DIST.
640 2005-06-30 Sven Panne <sven.panne@aedion.de>
642 * src/freeglut_main.c: Ooops, forgot to set the current window in the
643 last commit. I'll have to test better before comitting... :-]
644 * ChangeLog, src/freeglut_main.c: When a window is iconified, only an
645 UnmapNotify is sent, not a VisibilityNotify, so we have to handle the
646 window status callback in the former case, too. This fixes bug #763442
647 (Call the visibility callback when minimizing a window).
648 * ChangeLog, src/freeglut_main.c: Cleaned up
649 CreateNotify/ConfigureNotify handling.
650 * src/freeglut_main.c: Ooops, forgot to dump a few fields in some
652 * ChangeLog, configure.ac, src/freeglut_main.c: Added --enable-debug
653 configure flag. Currently it only turns on X11 event tracing, but in
654 the future we could add more.
656 Note: freeglut_main.c could benefit from some restructuring to clean
657 up the #ifdefs and cut down the sizes of some extremely long
659 * ., .cvsignore: Ignore files generated during RPM build.
661 2005-06-23 John F. Fay <john.fay.ctr@eglin.af.mil>
663 * doc/freeglut_user_interface.html: Fixing the documentation regarding
664 callbacks and geometry shape additions
665 * progs/demos/Fractals/Fractals.dsp,
666 progs/demos/Fractals/FractalsStatic.dsp,
667 progs/demos/Fractals_random/Fractals_random.dsp,
668 progs/demos/Fractals_random/Fractals_randomStatic.dsp,
669 progs/demos/Lorenz/lorenz.dsp, progs/demos/Lorenz/lorenzStatic.dsp,
670 progs/demos/One/one.dsp, progs/demos/One/oneStatic.dsp,
671 progs/demos/shapes/shapes.dsp, progs/demos/shapes/shapesStatic.dsp:
672 Adding separate static library and DLL demonstration program projects
673 * progs/demos/CallbackMaker/CallbackMaker.dsp,
674 progs/demos/CallbackMaker/CallbackMakerStatic.dsp: Adding separate
675 demo program projects for static library and DLL versions
676 * progs/demos/demos.dsw: Adding support for separate static library demo
678 * ChangeLog: Keeping current ...
679 * src/freeglut_input_devices.c: New file for Joe Krahn\'s dials input
682 2005-06-22 John F. Fay <john.fay.ctr@eglin.af.mil>
684 * src/freeglut_geometry.c: Fixing a bug in the Sierpinski sponge code
685 that made the application crash if called with number of levels < 0
686 * src/Makefile.am, src/freeglut_init.c, src/freeglut_internal.h,
687 src/freeglut_joystick.c, src/freeglut_state.c: Joe Krahn\'s input
688 (dials) device implementation.
690 2005-06-14 Sven Panne <sven.panne@aedion.de>
692 * ChangeLog, freeglut.spec: Added an RPM spec file based on the one
693 shipped with SuSE 9.3.
695 2005-06-10 James Jones <puggles@users.sourceforge.net>
697 * ChangeLog, configure.ac: Release of 2.4.0
699 2005-06-02 James Jones <puggles@users.sourceforge.net>
701 * ChangeLog, configure.ac, src/freeglut_internal.h: 2.4.0 Release
704 2005-05-26 John F. Fay <john.fay.ctr@eglin.af.mil>
706 * src/freeglut_main.c: Takeshi Nishimura\'s changes to make the Windows
707 mouse wheel/button mapping match that of X11; also fixing a typo in
708 the associated mouse callback argument list
710 2005-05-26 James Jones <puggles@users.sourceforge.net>
712 * ChangeLog, configure.ac: 2.4.0 RC4 updates
713 * src/freeglut_main.c: Fix joysticks so they are polled by their timer
714 correctly. (Dan Torop)
716 2005-05-24 Sven Panne <sven.panne@aedion.de>
718 * ChangeLog, src/freeglut_gamemode.c: The original glutEnterGameMode()
719 returns the window id of the game mode window, not TRUE/FALSE, we
720 should better follow that. Note that most man pages claim that this
721 function returns void, but this is definitely wrong.
722 * ChangeLog, src/freeglut_gamemode.c, src/freeglut_main.c: When
723 switching to game mode under X11, no ConfigureNotify event will happen
724 and consequently no reshape callback will ever be called via the
725 normal mechanism. To fix this, note that the game mode window needs to
726 be resized and handle this before redraw.
728 2005-05-22 Sven Panne <sven.panne@aedion.de>
730 * ChangeLog, src/freeglut_ext.c: Guarantee consistency of
731 names/addresses in glutGetProcAddress by using a macro. In addition,
732 this avoids any non-constant initializer issues which might be raised
733 when using WinDoze GCCs. The additional code overhead is negligible,
734 at least for x86 (a few instructions per name).
735 * ChangeLog, configure.ac: Lowering minimum autoconf version required.
737 2005-05-20 James Jones <puggles@users.sourceforge.net>
739 * ChangeLog: Tag for 2.4.0 RC3
742 2005-05-19 Sven Panne <sven.panne@aedion.de>
744 * src/freeglut_gamemode.c: Fixed SF bug #1204256: Off-by-one error in
745 X11 mode switching. The code which changes the X11 video mode has an
746 off-by-one error, resulting in a wrong mode or segfault. I've
747 refactored the code slighty to make it hopefully clearer what's going
748 on and corrected some #ifdefs on the way. Now at least the "One" demo
750 * src/freeglut_window.c: Fixed SF bug #1204261: Mini space leak when
751 creating an X11 window (X11 text property values have to be freed
754 2005-05-18 John F. Fay <john.fay.ctr@eglin.af.mil>
756 * src/freeglut_gamemode.c: Removing a C++ comment and simplifying the
759 2005-05-17 John F. Fay <john.fay.ctr@eglin.af.mil>
761 * src/freeglut_gamemode.c: Misiek\'s changes to fix Game Mode--getting
762 display settings under Windows and setting the window size correctly
763 on all operating systems.
765 2005-05-16 James Jones <puggles@users.sourceforge.net>
767 * ChangeLog: Mark for 2.4 RC 2
769 2005-05-13 John F. Fay <john.fay.ctr@eglin.af.mil>
771 * src/freeglut_menu.c: Removing two unused variables so this will
772 compile on Linux with -Wall
774 2005-05-12 John F. Fay <john.fay.ctr@eglin.af.mil>
776 * ChangeLog: Updating the ChangeLog ...
777 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c:
778 Takeshi Nishimura\'s menu changes--menus should now work properly. Use
779 the GLUT \"GLUTmech\" and \"walker\" demos to test them.
780 * src/freeglut_main.c: Takeshi Nishimura\'s menu fixes
782 2005-05-09 James Jones <puggles@users.sourceforge.net>
784 * ChangeLog, Makefile.am, configure.ac: Freeglut 2.4.0 Release Candidate
787 2005-05-06 Sven Panne <sven.panne@aedion.de>
789 * ChangeLog, progs/demos/shapes/shapes.c: Fixed a cuboctahedron vertex,
790 implemented wire mode for that shape.
791 * ChangeLog, progs/demos/shapes/shapes.c, src/freeglut_internal.h,
792 src/freeglut_main.c: Necessary compilation fixes for newer GCCs (e.g.
793 3.3.5, 4.0). Side effect: The shapes demo has a new 'i' key now.
795 2005-05-05 John F. Fay <john.fay.ctr@eglin.af.mil>
797 * ChangeLog: Updated the ChangeLog again ...
799 2005-05-04 John F. Fay <john.fay.ctr@eglin.af.mil>
801 * progs/demos/shapes/shapes.c: Replacing the original \"freeglut\"
802 \"shapes\" demo with the much snazzier OpenGLUT \"shapes\" demo. Many
803 thanks to the OpenGLUT community for writing it. The copyright notice
804 stays in the program.
805 * src/freeglut_main.c: Changing hard-coded constant (number of mouse
806 buttons = 3) to a \"glutDeviceGet\" call in two places under X11
807 * src/freeglutdll.def: Changing the version number from 2.0 to 2.4.0 ...
808 do we need to add any new interface functions?
809 * src/freeglut_internal.h: Removing an unused variable
810 * src/freeglut_window.c: Adding a comment on why \"freeglut\" differs
811 from GLUT in a particular way
812 * src/freeglut_joystick.c: Removing an unused function
813 * src/freeglut_init.c: Making the \"key repeat\" initialization
814 consistent with the rest of its usage; also making the
815 \"initDisplayString\" ever-so-slightly mroe general
816 * ChangeLog, TODO, src/freeglut_window.c: Updating the ChangeLog and
817 TODO files in preparation for the upcoming release
819 2005-04-29 John F. Fay <john.fay.ctr@eglin.af.mil>
821 * src/freeglut_joystick.c: Adding a \"TODO\" comment about dynamically
822 allocating joystick buttonj and axis arrays
823 * ChangeLog: Updationg the ChangeLog ...
825 2005-04-28 John F. Fay <john.fay.ctr@eglin.af.mil>
827 * README.win32: Adding a \"README.Win32\" file with instructions on how
828 to install \"freeglut\" under Windows.
829 * src/freeglut_main.c: Adding Window Exit event handling to the Windows
830 code; also adding a note that eventually it would be good to handle
831 the Window Entry event
833 2005-04-27 John F. Fay <john.fay.ctr@eglin.af.mil>
835 * src/freeglut_window.c: Fixing bug [ 1111218 ] fullscreen not working
836 Better late than never.
837 * src/freeglut_init.c: Fixing Bug Report [ 1160442 ]
838 glutGet(GLUT_ELAPSED_TIME) is too granular
840 2005-04-26 John F. Fay <john.fay.ctr@eglin.af.mil>
842 * src/freeglut_internal.h, src/freeglut_structure.c: Fixing the
843 typecasts on the callback fetches and invocations to allow
844 \"freeglut\" to compile with GCC 4.0
845 * src/freeglut_menu.c: Fixing erroneous implementation of Takeshi\'s fix
846 * src/Makefile.am: Changing include path from relative to absolute to
847 support off-directory builds (Yuri D\'Elia, March 22, 5:59 PM)
848 * LISEZ_MOI: Adding \"LISEZ-MOI\", the French version of \"README\"
850 2005-04-25 John F. Fay <john.fay.ctr@eglin.af.mil>
852 * ChangeLog: Updating the ChangeLog ... it seems to be something of a
853 stepchild if we\'re not careful.
855 2005-04-22 John F. Fay <john.fay.ctr@eglin.af.mil>
857 * src/freeglut_menu.c: Yuri D\'Elia\'s changes to get the virtual
858 maximum screen extent instead of the actual screen size.
859 * src/freeglut_gamemode.c: Yuri D\'Elia\'s changes to the game mode
861 * src/freeglut_structure.c: Change a hard-coded number to a defined
862 constant and add some initializations
863 * src/freeglut_cursor.c: Removing duplicate cursor code. This and the
864 previous change (in freeglut_main.c) apparently got combined.
865 * ChangeLog: Updating the ChangeLog to reflect activity over the past
867 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
868 src/freeglut_display.c, src/freeglut_gamemode.c,
869 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
870 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c,
871 src/freeglut_window.c: Trying again to change \"fgStructure.Window\"
872 to \"fgStructure.CurrentWindow\" and \"fgStructure.Menu\" to
873 \"fgStructure.CurrentMenu\" for easier maintenance.
875 2005-04-15 John F. Fay <john.fay.ctr@eglin.af.mil>
877 * ChangeLog: Updating the ChangeLog as a means of testing pCVSc
878 * src/freeglut_internal.h: Testing!
880 2005-03-23 Brian Paul
882 * include/GL/freeglut_ext.h: added comment about AUX flags
884 2005-02-16 Brian Paul
886 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
887 src/freeglut_structure.c, src/freeglut_window.c: fixes for menus being
888 attached to multiple buttons/windows (John Fay)
889 * src/freeglut_callbacks.c: added error check (John Fay)
891 2005-02-15 Brian Paul
893 * src/freeglut_init.c, src/freeglut_window.c: AUX buffers for Windows
896 2005-02-11 Brian Paul
898 * include/GL/freeglut_ext.h, src/freeglut_init.c, src/freeglut_window.c:
899 Aux color buffer support. Pass one of GLUT_AUX[1234] to
900 glutInitDisplayMode. Only implemented/tested on GLX, not Windows.
901 * include/GL/freeglut_ext.h, src/freeglut_ext.c,
902 src/freeglut_internal.h: Fix object/function pointer inconsistencies
903 which are a problem for gcc 3.4.2. Added GLUTproc type, returned by
904 glutGetProcAddress().
906 2005-01-23 Sven Panne <sven.panne@aedion.de>
908 * configure.ac: autoconf 2.58 is enough
909 * src/freeglut_callbacks.c, src/freeglut_internal.h: Stylistic change
910 only (added "do { ... } while( 0 )" around multi-statement macros)
911 * configure.ac, src/freeglut_joystick.c, src/freeglut_main.c: Testing
912 for errno.h is overkill. :-)
913 * src/freeglut_cursor.c, src/freeglut_main.c: Windows platforms only:
914 Merged some cursor-related code from John Fay (with minor changes)
916 2005-01-05 Sven Panne <sven.panne@aedion.de>
918 * src/freeglut_ext.c, src/freeglut_font.c, src/freeglut_main.c,
919 src/freeglut_state.c, src/freeglut_window.c: Hopefully removed all
920 damage done by commits without merge
921 * ChangeLog, src/freeglut_cursor.c: Reworked the X11 part of
922 glutSetCursor, fixing bug #764187 (Variable mouse pointers don't work)
923 on the way: * Use slightly more compatible cursor shapes for
924 GLUT_CURSOR_RIGHT_ARROW and GLUT_CURSOR_LEFT_ARROW. * Refactored and
925 fixed the erroneous code for GLUT_CURSOR_NONE. * Removed the incorrect
926 use of XFreeCursor and use a cache of cursors instead. Cursors are
927 never freed now, we could do this e.g. via reference countig if this
928 is really needed. * Fixed error handling. * Unknown cursor types are
929 an error now. * Now the window state always corresponds to the wanted
930 cursorID, even in the case of GLUT_CURSOR_FULL_CROSSHAIR.
932 NOTE: I am not sure where the cursor cache should really reside,
933 currently it is simply a file-local variable.
935 2005-01-03 Sven Panne <sven.panne@aedion.de>
937 * ChangeLog, src/freeglut_gamemode.c: Fixed part of bug #926883 (Video
938 mode matching code, memory leaks, fullscreen), i.e. issue warnings
939 when XF86VidModeFOO fails.
940 * ChangeLog, src/freeglut_gamemode.c: (234) Fixed part of bug #926883
941 (Video mode matching code, memory leaks, fullscreen): Now we first try
942 to get an exact mode match, ignoring the refresh rate if none could be
943 found. This way the X11 part and the WinDoze behave similarly. NOTE:
944 We still don't behave like GLUT, because it has a wider notion of
945 "best" match. We have to refactor and extend freeglut quite a bit to
947 * ChangeLog, src/freeglut_gamemode.c: Fixed part of bug #926883 (Video
948 mode matching code, memory leaks, fullscreen), i.e. memory leak caused
949 by not freeing the mode lines returned by XF86VidModeGetAllModeLines
950 * ChangeLog, src/freeglut_window.c: Improved error message a bit when no
951 suitable visual could be found (X11 only).
952 * configure.ac, src/freeglut_internal.h, src/freeglut_main.c: autoconf'd
954 * src/freeglut_joystick.c: Removed redundant #include
955 * ChangeLog, configure.ac, src/freeglut_joystick.c, src/freeglut_main.c:
956 autoconf'd <errno.h> handling and removed an unused '#include
958 * configure.ac, src/freeglut_joystick.c, src/freeglut_main.c: autoconf'd
959 <limits.h> and <sys/param.h> handling, removing MIN/MAX macros on the
961 * src/freeglut_internal.h: Cosmetics.
962 * configure.ac, src/freeglut_joystick.c: autoconf'd <fcntl.h> and
963 <sys/ioctl.h> handling
964 * src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c:
965 Improved <sys/typed.h> / <unistd.h> handling as suggested by the
967 * configure.ac, progs/demos/Lorenz/lorenz.c, src/freeglut_internal.h,
968 src/freeglut_main.c: Fixed <sys/time.h> / <time.h> handling as
969 suggested by the autoconf docs.
970 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
971 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
972 src/freeglut_font_data.c, src/freeglut_gamemode.c,
973 src/freeglut_geometry.c, src/freeglut_init.c, src/freeglut_internal.h,
974 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
975 src/freeglut_misc.c, src/freeglut_overlay.c, src/freeglut_state.c,
976 src/freeglut_structure.c, src/freeglut_teapot.c,
977 src/freeglut_videoresize.c, src/freeglut_window.c: Moved '#include
978 "config.h"' to freeglut_internal.h, we will need it there soon and it
979 makes everything a bit shorter.
980 * ChangeLog: Resurrected my recent additions which were nuked by the
981 previous commit, adding the latest change on the way. :-(
982 * acconfig.h: Removed acconfig.h, it is deprecated and we don't need it.
983 * src/freeglut_cursor.c, src/freeglut_font.c, src/freeglut_init.c,
984 src/freeglut_structure.c: Make it compile again with "-Wall -pedantic
985 -Werror", redoing quite a few things I've fixed already a few days
986 ago. Have today's commits been done by copying instead of merging? :-(
988 2005-01-03 James Jones <puggles@users.sourceforge.net>
990 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
991 src/freeglut_window.c: Changes remove duplicate menu code from
992 "freeglut_window.c" and put it into one place in "freeglut_menu.c"
993 where it belongs. - John Fay
994 * ChangeLog: General ChangeLog Updates
995 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
996 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
997 src/freeglut_gamemode.c, src/freeglut_geometry.c, src/freeglut_init.c,
998 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
999 src/freeglut_menu.c, src/freeglut_misc.c, src/freeglut_state.c,
1000 src/freeglut_structure.c, src/freeglut_teapot.c,
1001 src/freeglut_teapot_data.h, src/freeglut_window.c: Adding
1002 initialization checking to all GLUT interface functions and removing
1003 asserts from the rest of the code - John Fay
1005 2005-01-01 Sven Panne <sven.panne@aedion.de>
1007 * ChangeLog, src/Makefile.am: Added missing files from "src"
1008 subdirectory to dist.
1009 * AUTHORS: Synched with project member list on SourceForge
1010 * ChangeLog, Makefile.am, configure.ac: Modernized configure.ac a bit
1011 and added a rule to Makefile.am to update libtool. Note that all gcc
1012 compiler warnings are now on by default.
1013 * ChangeLog, include/GL/freeglut_std.h,
1014 progs/demos/CallbackMaker/CallbackMaker.c,
1015 progs/demos/Fractals_random/fractals_random.c,
1016 progs/demos/Lorenz/lorenz.c, progs/demos/One/one.c,
1017 src/freeglut_cursor.c, src/freeglut_font.c, src/freeglut_init.c,
1018 src/freeglut_teapot_data.h: Make "gcc -Wall -pedantic -Werror" happy.
1019 * ., .cvsignore: Ignore files generated by autoscan.
1020 * ChangeLog, INSTALL, configure.ac, configure.in: Renamed "configure.in"
1021 to the officially preferred "configure.ac".
1022 * stamp-h, stamp-h.in: Removed unused stamp-h* files, configure
1023 generates them (a single stamp-h1, to be exact).
1024 * ChangeLog, Makefile.am: Added eMbedded Visual Tools project/workspace
1025 files to distribution.
1026 * ., .cvsignore: Ignore distribution tar files
1028 2004-12-31 Sven Panne <sven.panne@aedion.de>
1030 * ChangeLog, src/freeglut_main.c: Fixed first bug of #1064195 (two
1031 things when using signals): Don't issue a warning about select when a
1032 non-blocked signal was caught. This makes sense and is more compatible
1034 * ChangeLog, src/freeglut_font.c: Fixed bug #1040435 (glutBitmapString()
1036 * ChangeLog: Alas, the ChangeLog has not the usual ChangeLog format, so
1037 tell (X)Emacs about that fact.
1038 * ChangeLog, src/freeglut_window.c: Fixed bug #1045054 (KeyReleaseMask
1040 * ChangeLog, src/freeglut_state.c: Fixed bug #1087642
1041 (glutDeviceGet(GLUT_DEVICE_KEY_REPEAT) unimplemented).
1042 * ChangeLog, src/freeglut_ext.c: Fixed bug #1079530 (glutGetProcAddress
1043 and geometric objects).
1044 * ., .cvsignore, doc, doc/.cvsignore, include, include/.cvsignore,
1045 include/GL, include/GL/.cvsignore, progs, progs/.cvsignore,
1046 progs/demos, progs/demos/.cvsignore, progs/demos/CallbackMaker,
1047 progs/demos/CallbackMaker/.cvsignore, progs/demos/Fractals,
1048 progs/demos/Fractals/.cvsignore, progs/demos/Fractals_random,
1049 progs/demos/Fractals_random/.cvsignore, progs/demos/Lorenz,
1050 progs/demos/Lorenz/.cvsignore, progs/demos/One,
1051 progs/demos/One/.cvsignore, progs/demos/shapes,
1052 progs/demos/shapes/.cvsignore, src, src/.cvsignore: Improved
1055 2004-12-17 James Jones <puggles@users.sourceforge.net>
1057 * src/freeglut_cursor.c, src/freeglut_display.c,
1058 src/freeglut_internal.h, src/freeglut_menu.c, src/freeglut_misc.c,
1059 src/freeglut_window.c: Some assertion changes / removals from Dr. John
1062 2004-10-06 Brian Paul
1064 * src/freeglut_callbacks.c, src/freeglut_internal.h,
1065 src/freeglut_joystick.c, src/freeglut_state.c: joystick init fixes
1068 2004-10-05 Brian Paul
1070 * src/freeglut_main.c: updated comments (John Fay)
1071 * src/freeglut_init.c, src/freeglut_main.c, src/freeglut_window.c:
1072 improved comments and mouse coord adjustments (John Fay)
1073 * src/freeglut_init.c: more clean-ups, fixes from John Fay
1075 2004-09-23 Brian Paul
1077 * src/freeglut_font.c, src/freeglut_stroke_mono_roman.c,
1078 src/freeglut_stroke_roman.c: font updates from John Fay
1079 * src/freeglut_main.c: more updates from John Fay
1080 * src/freeglut_geometry.c, src/freeglut_init.c: assorted updates from
1083 2004-09-15 James Jones <puggles@users.sourceforge.net>
1085 * src/freeglut_init.c: Fix to glutInit() command-line argument
1086 compaction - Patch #1027724 from takeshi2
1088 2004-09-13 Brian Paul
1090 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
1091 src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1092 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_state.c,
1093 src/freeglut_window.c: more updates from John Fay
1094 * src/freeglut_cursor.c, src/freeglut_gamemode.c,
1095 src/freeglut_geometry.c, src/freeglut_init.c, src/freeglut_internal.h,
1096 src/freeglut_joystick.c, src/freeglut_main.c,
1097 src/freeglut_structure.c, src/freeglut_teapot.c,
1098 src/freeglut_window.c: some function renaming, etc (John Fay)
1100 2004-09-10 Brian Paul
1102 * src/freeglut_callbacks.c, src/freeglut_init.c,
1103 src/freeglut_internal.h, src/freeglut_main.c: joystick updates from
1105 * src/freeglut_cursor.c, src/freeglut_font_data.c,
1106 src/freeglut_gamemode.c, src/freeglut_geometry.c, src/freeglut_init.c,
1107 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
1108 src/freeglut_menu.c, src/freeglut_misc.c, src/freeglut_state.c,
1109 src/freeglut_stroke_mono_roman.c, src/freeglut_stroke_roman.c,
1110 src/freeglut_structure.c, src/freeglut_teapot.c,
1111 src/freeglut_window.c: updated comments from John Fay
1113 2004-08-11 James Jones <puggles@users.sourceforge.net>
1115 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c:
1116 Fix a game mode crashing bug, conditional compilation for Windows, and
1117 comment out some diagnostic prints (John Fay)
1119 2004-08-05 James Jones <puggles@users.sourceforge.net>
1121 * src/freeglut_window.c: Implements Richard Rauch's request that the
1122 warning about indirect rendering contexts be suppressed for his BSD
1124 * src/freeglut_teapot_data.h: Someone used C++ style comments in a C
1125 file... tisk tisk...
1126 * src/freeglut_font.c: Bugfix for "glutBitmapString" so that it now
1127 handles end-of-line characters properly (Richard Rauch)
1128 * README: Incremental update ... (John Fay)
1130 2004-06-29 Brian Paul
1132 * src/freeglut_structure.c: give menu windows the title 'freeglut menu'
1134 * src/freeglut_window.c: move glXMakeCurrent() to after the point where
1135 the window's title is set (helps Chromium)
1137 2004-05-13 James Jones <puggles@users.sourceforge.net>
1139 * freeglut.dsp, freeglut_static.dsp: Add one more header file to MSVC
1142 2004-05-12 James Jones <puggles@users.sourceforge.net>
1144 * include/GL/freeglut_ext.h, include/GL/freeglut_std.h: John Fay:
1145 Direct/indirect rendering context change, fix a bug that somebody
1146 reported (about needing "GLUT_XLIB_IMPLEMENTATION" defined) and remove
1147 a false deprecation of a function.
1148 * src/freeglut_main.c: John Fay: A bug fix re: behavior of the code when
1149 the user clicks the "x" to close a window, and commentary to a message
1150 type with fixes for a Windows event processing bug.
1151 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_state.c,
1152 src/freeglut_window.c: John Fay: Implement the modified logic of the
1153 direct/indirect rendering context.
1154 * src/freeglut_font.c, src/freeglut_font_data.c: John Fay: Implement the
1155 upper end of the bitmapped fonts (beyond ASCII code 127). The fonts
1156 are very close to the GLUT fonts.
1157 * src/freeglut_teapot.c, src/freeglut_teapot_data.h: John Fay: These
1158 files implement the teapot for WINCE.
1159 * src/freeglut_internal.h: John Fay: Remove some obsolete defined
1161 * freeglut.dsp, freeglut_static.dsp: John Fay: Add
1162 "freeglut_glutfont_definitions.c" to the build and tell it to look in
1163 the "include" directory for the <GL/freeglut.h> file.
1165 2004-03-28 Steve Baker <steve@sjbaker.org>
1167 * progs/demos/shapes/shapes.c: Removed unnecessary initialisation.
1168 * progs/demos/shapes/shapes.c: Added a cullface test.
1172 * freeglut_evc4.vcp, src/freeglut_gx.cpp, src/freeglut_init.c,
1173 src/freeglut_main.c: removed .cpp file (using LoadLibrary() instead)
1174 removed modified gx.h file cleaned up all // and tabs
1178 * src/freeglut_main.c: Prevent exceeding array bounds in X11 key-repeat
1183 * freeglut_evc4.vcp, src/freeglut_ext.c, src/freeglut_gx.cpp,
1184 src/freeglut_init.c, src/freeglut_main.c, src/freeglut_misc.c,
1185 src/freeglut_state.c, src/freeglut_window.c: replaced all tabs with 4
1186 spaces replaced all // with /* */ block fixed freeglut_gx.cpp file
1187 with #if TARGET_HOST_WINCE
1191 * src/freeglut_init.c, src/freeglut_main.c, src/freeglut_state.c:
1192 Whitespace conversion - tabs to 4 spaces
1193 * src/freeglut_window.c: Revert X11 fgCloseWindow to 1.38 pre-offscreen
1198 * freeglut_evc4.vcp, src/freeglut_gx.cpp, src/freeglut_main.c: fixed
1199 mouse position and keyboard mapping. added c-wrapper cpp file for
1201 * freeglut_evc4.vcp, freeglut_evc4.vcw, include/GL/freeglut_std.h,
1202 src/freeglut_cursor.c, src/freeglut_display.c, src/freeglut_ext.c,
1203 src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1204 src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_misc.c,
1205 src/freeglut_state.c, src/freeglut_window.c: added support for
1206 WindowsCE (building on top of klimt)
1210 * src/freeglut_main.c: Repeat-key handling for Win32 Utilise both
1211 FreeGLUT state and per-window filtering modes
1215 * ChangeLog: Forgot to update the ChangeLog for the benefit of those who
1216 do not have CVS or Web access.
1217 * configure.in, include/GL/freeglut_ext.h, src/freeglut_internal.h,
1218 src/freeglut_window.c: Completed removal of all support for the
1219 offscreen rendering.
1221 If you wish to do offscreen supportin a portable manner, you will no
1222 longer be able to do so with current versions of freeglut.
1223 * progs/demos/Makefile.am: Removed Makefile support for the offscreen
1225 * progs/demos/One/one.c, progs/demos/offscreen: Removed offscreen demo
1230 * src/Makefile.am: Provide local include path to automake for
1235 * src/freeglut_window.c: Code formatting tweak
1236 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1237 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c:
1238 Resolution of X11 key-repeat handling
1240 glutSetKeyRepeat is global to all FreeGLUT windows in the application
1241 glutIgnoreKeyRepeat is a per-window over-ride
1243 To avoid nasty global X11 state interaction, or GLUT-style event queue
1244 filtering - the approach in FreeGLUT is to use the current key state
1245 XQueryKeymap to detect and ignore KeyRelease/KeyPress pairs that are
1249 http://pyopengl.sourceforge.net/documentation/manual/glutSetKeyRepeat.3GLUT.xml
1250 http://pyopengl.sourceforge.net/documentation/manual/glutIgnoreKeyRepeat.3GLUT.xml
1251 * src/freeglut_callbacks.c, src/freeglut_cursor.c, src/freeglut_ext.c,
1252 src/freeglut_font.c, src/freeglut_font_data.c,
1253 src/freeglut_gamemode.c, src/freeglut_geometry.c,
1254 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
1255 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
1256 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
1257 Stripped out tabs and end-of-line whitespace Differences are in
1262 * src/freeglut_window.c: Resolve [ 853044 ] FreeGLUT menus on Win32 in
1263 task bar and ALT-TAB list CreateWindowEx(WS_EX_TOOLWINDOW,...)
1264 extended style suppresses the popup menu window from the taskbar or
1269 * src/freeglut_init.c: ignoreKeyRepeat mode in FreeGLUT is TRUE by
1270 default For compatibility with GLUT, the mode should be FALSE by
1271 default This issues was probably undetected until now because
1272 ignoreKeyRepeat didn't yet work.
1273 * src/freeglut_main.c: Resolved bug #869765 glutIgnoreKeyRepeat() Fix
1274 (Win32) glutIgnoreKeyRepeat now behaves correctly on Win32
1275 * src/freeglut_internal.h: C++ style comment converted to C style
1277 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
1278 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
1279 src/freeglut_font_data.c, src/freeglut_gamemode.c,
1280 src/freeglut_geometry.c, src/freeglut_init.c, src/freeglut_joystick.c,
1281 src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_misc.c,
1282 src/freeglut_overlay.c, src/freeglut_state.c,
1283 src/freeglut_structure.c, src/freeglut_teapot.c,
1284 src/freeglut_videoresize.c, src/freeglut_window.c: Include freeglut
1285 header via <GL/freeglut.h> rather than "../include/GL/freeglut.h" This
1286 allows some additional flexibility with file layout. It should be the
1287 responsibility of the build environment, rather than at source level.
1288 This change tested on MSVC 6, cygwin and mingw32 gcc and Linux gcc.
1292 * src/freeglut_joystick.c: According to John F. Fay: The variable
1293 "num_axes" should be "joy->num_axes".
1297 * src/freeglut_gamemode.c: Removed nonstandard #warning constructs.
1298 Converted to XXX comments. (These are warnings about gamemode features
1299 not working the same on some systems as on others. The semantics of
1300 gamemode are dubious, since it was never formally documented, and has
1301 for a long time worked in different ways on different systems, so it
1302 is arguable that there is nothing really wrong with systems that don't
1303 support resolution-changes.)
1304 * src/freeglut_callbacks.c: Fixed the bug where glutDisplayFunc() was
1305 effectively invoking glutPostRedsiplay(). This is wrong on the face of
1306 it, and may be at root for some of the annoying "timing" issues we've
1307 had with redisplay events being called inappopriately.
1311 * progs/demos/offscreen/Makefile.am: I had rubbed the
1312 offscreen/Makefile.am off from the shapes demo. I forgot to remove a
1313 couple of references to the shapes.c and shapes.dsp (.dsw?) files.
1314 * configure.in, include/GL/freeglut_ext.h, progs/demos/Makefile.am,
1315 progs/demos/offscreen, progs/demos/offscreen/Makefile.am,
1316 progs/demos/offscreen/offscreen.c: Added "offscreen" demo, a very
1317 simple program that produces an onscreen window and, upon command,
1318 renders a similar offscreen display and writes the result to disk.
1320 Also, modified the build structure for UNIX_X11 to autobuild the demo.
1321 (Not done for WIN32 at this time.)
1323 Also, forgot to previously commit the updated freeglut_ext.h include.
1328 * src/freeglut_window.c: Minor comment adjustments.
1332 * src/freeglut_geometry.c: Refinements to comments
1336 * src/freeglut_joystick.c: Normalized the style of the new joystick a
1338 * src/freeglut_main.c: For some reason, the X "expose" event handler was
1339 *directly* calling the display handler in the client. (Okay, it was
1340 calling a function that operates on the window handle.)
1342 If you have any complexity to the display code, this can be painful to
1343 watch. I can't think of a good reason to do the display immediately,
1344 so I fixed the code to do a glutPostRedisplay().
1345 * src/freeglut_joystick.c: A commit on behalf of John (in turn, and in
1346 part, also on behalf of Thierry).
1348 * Renamed some of the old PLIB functions to have glut* prefixes. (I
1349 guess that there is some thought about exporting them to the API.)
1351 * Changes from Thierry for FreeBSD support, and/or results of testing?
1353 * I re-merged an XXX comment re. NetBSD/amd64 and propogated a comment
1354 on a duplicated #define for FreeBSD. We need the GNU autoconfig stuff
1355 to be updated by someone who groks it, now.
1359 * src/freeglut_init.c: Commit of John's tidying-up of a comment, closing
1360 out an XXX comment that I wrote. Thanks, John.
1364 * src/freeglut_window.c: ...AND a tab snuck into my changes for
1365 GLUT_OFFSCREEN support. Mea culpa.
1366 * src/freeglut_joystick.c: Removed a ^M that snuck into the #pragma for
1367 the new joystick code.
1368 * src/freeglut_window.c: Ooops. We don't want people to be able to
1369 create a subwindow of an offscreen window. (^& This is no longer
1372 (Actually, it would be nice if it would work, but I don't think that
1373 you can subwindow a pixmap in UNIX_X11, and assume that subwindowing
1374 offscreen doesn't work on WIN32, either.)
1375 * ChangeLog: Added entries for the joystick updates and the offscreen
1376 experimental support.
1377 * src/freeglut_joystick.c: Changed a couple of XXX comments. Added a new
1378 one. These all the nest of #ifs in the BSD section of the new joystick
1380 * progs/demos/CallbackMaker/CallbackMaker.c: "Heavy editing" by John to
1381 his CallbackMaker demo.
1382 * src/freeglut_joystick.c: John added a #pragma to the joystick code for
1384 * src/freeglut_internal.h, src/freeglut_window.c: Adds GLUT_OFFSCREEN as
1385 a display mode option. This includes:
1387 * Recognizing the mode when you call glutCreateWindow(). (Offscreen
1388 looks and acts like a top-level window in many ways.)
1390 * During the life of the offscreen "window", various window-management
1391 functions are modified to respect offscreen status.
1393 (Excepting reshaping windows, there is not much useful interpretation
1394 for managment of offscreen areas. Reshaping is possibly more work than
1395 it's worth to support, and GLUT specs allow us to ignore the request.)
1397 * Cleanup for "offscreen" windows is a little different than for
1400 Windows still don't start up quite ideally. Offscreen windows should
1401 probably get a reshape event, but not a display.
1405 * src/freeglut_init.c, src/freeglut_joystick.c: Big import of updated
1406 joystick code from PLIB, with permission from Steve Baker. Most of the
1407 adaptation done by John, with a little bit of testing and changes by
1408 Thierry Thomas and myself. Seems to compile on:
1410 WIN32 Red Hat LINUX FreeBSD NetBSD/amd64
1414 * src/freeglut_main.c: Close a bug whereby events can be delayed
1415 arbitrarily long if they get caught between the socket and the
1416 client-side queue on X, sometime after glutMainLoopEvent()'s loop
1417 quits and before the sleep code is invoked.
1421 * src/freeglut_main.c: Ammended a comment on fgCheckJoystickCallback().
1422 * src/freeglut_main.c: Minor style normalizations to minimize the diffs
1423 between *now* and from before John's changes. No functional changes:
1425 * Removed some hard TABs introduced. * Removed some
1426 spaces-at-end-of-line introduced. * A couple of function calls were
1429 I did this separately only because I don't like messing with other
1430 people's commits. (I don't like feeling like the style police, either,
1431 but when I mess with the commit, there's no room for reverting my
1432 interference if it is deemed undesirable...)
1433 * src/freeglut_main.c: Some changes from John.
1435 The main attraction seems to be correcting a bug with the action-on-
1440 * src/freeglut_main.c, src/freeglut_window.c: Win32 glutIconifyWindow()
1441 patch contributed by John F. Fay Restrict resize callbacks to visible
1442 windows When iconified via glutIconifyWindow(), don't pass (0,0) to
1443 resize callback Note that minimising the window via the menu or
1444 minimise button is not yet resolved.
1448 * src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_structure.c:
1449 Split a few overlong lines.
1451 Adjusted some spacing in a few spots to be more consistant with
1452 freeglut style. Including one unindented if() body.
1454 Eliminated a dead variable.
1455 * src/freeglut_joystick.c: Changed several #ifdef's to proper #if's.
1457 * src/freeglut_main.c: Hm... I thought that I committed this last night.
1460 This is Nigel's modified fgSleepForEvents(), essentially. Take 2.
1464 * include/GL/freeglut_std.h: Three supported win32 compilation
1465 environments: MSVC, Cygwin and MingW32 #pragma is specific to MS
1467 * src/freeglut_internal.h: Explicitly cast function pointer to (void *)
1468 in SET_WCB since all callbacks stored as void pointers suppress gcc
1469 -Wall -pendantic "noise"
1470 * src/freeglut_structure.c: Typesafe handling of temporary window
1471 destroy callback Move assignment out of while test, scope temporary
1472 inside loop Be explicit about assignment/comparison in if test for gcc
1473 peace of mind suppress gcc -Wall -pendantic "noise"
1474 * src/freeglut_internal.h: Three supported win32 compilation
1475 environments: MSVC, Cygwin and MingW32 The windows mmsystem header
1476 need only be included internally to freeglut strdup vs _strdup is
1477 specific to the MS compiler
1478 * src/freeglut_font.c: strlen expects (char *), rather than (unsigned
1479 char *) suppress gcc -Wall -pendantic "noise"
1480 * src/freeglut_cursor.c: Replace assignment of array to struct with
1481 field-by-field assignment suppress gcc -Wall -pendantic "noise"
1482 * src/freeglut_menu.c: glutBitmapString and glutBitmapLength expect
1483 (unsigned char *) rather than (char *) suppress gcc in -Wall
1485 * src/freeglut_joystick.c: Replace #ifdef WIN32 with #ifdef
1486 TARGET_HOST_WIN32, as per FreeGLUT convention
1487 * src/freeglut_init.c: fgState.FPSInterval is unsigned int (GLuint),
1488 environment variable GLUT_FPS can be negative
1489 * src/freeglut_window.c: OpenGL context is not made current on Win32
1490 until fgSetWindow is called. This resolves severe problems observed in
1492 * src/freeglut_window.c: #pragma message is only understood my MS
1493 compiler #if defined(_MSC_VER) .. #endif
1494 * src/freeglut_state.c: Resolve bug 864978 - GLUT_OWNS_JOYSTICK
1496 * src/freeglut_main.c: Tidy nested if/else to suppress gcc -Wall
1497 -pedantic noise gcc suggests explicit braces to avoid ambiguous `else'
1501 * progs/demos/CallbackMaker/CallbackMaker.c,
1502 progs/demos/Fractals/fractals.c,
1503 progs/demos/Fractals_random/fractals_random.c: Configuring with
1504 "--enable-warnings" broke three demos: * CallbackMaker defined, but
1505 did not use, the Joystick() function (a callback for the freeglut
1506 joystick interface). I uncommented the callback-registration. I assume
1507 that it was commented out because it was spammy. (freeglut does
1508 joysticks by polling with a timer.) Perhaps a longer interval than
1509 10ms would be advisable?
1511 * fractals.c used strcpy() without getting the prototype. Added
1512 #include <string.h> at the top.
1514 * fractals_random.c had the same problem as fractals.c.
1518 * src/freeglut_main.c: Moved the window-resize code so that it happens
1519 whenever there is a pending resize for the window, whether or not the
1520 window is visible or in need of a redisplay. The resize is now done
1521 before the visibility and need-to-redisplay checks.
1525 * src/freeglut_structure.c: Got rid of those int/ptr warnings on AMD64.
1526 (The code was casting an {int} to a pointer, and later retrieving the
1527 int by another cast. It should be safe provided that pointers are at
1528 least as big as {int}, but GCC was giving warnings on my system,
1530 * src/freeglut_main.c, src/freeglut_structure.c: Several
1531 test-on-assignment cases have been converted to stop GCC from
1532 complaining about if( a = get_a_value_for_a( ) ) type code.
1536 * src/freeglut_internal.h: Ooops, left some cruft in a comment in the
1537 header when committing the last patch. Cleaned up.
1538 * src/freeglut_callbacks.c, src/freeglut_internal.h,
1539 src/freeglut_structure.c: Wrote SET_WCB() to set a window callback.
1540 This lets us out of using the FETCH_WCB() as an lvalue (which it
1541 shouldn't, since the value of the FETCH is cast to the correct
1542 function-pointer type).
1544 2003-12-15 James Jones <puggles@users.sourceforge.net>
1546 * progs/demos/Fractals/Fractals.dsp: Change the destination directory of
1547 the debug version to "Debug" (John Fay)
1549 2003-12-13 James Jones <puggles@users.sourceforge.net>
1551 * ChangeLog: Release 2.2.0
1555 * src/freeglut_main.c, src/freeglut_window.c: Stripped out TABs that got
1558 There were no changes other than replacing about 10 to 12 TABs with a
1559 visually-suitable number of spaces, so this can probably be blindly
1560 treated as equivalent to the previous versions of the two affected
1563 2003-12-11 Christopher John Purnell
1565 * src/freeglut_internal.h, src/freeglut_structure.c: The deferred window
1566 destruction code was destroying the windows in reverse order. This
1567 cased a crash when the call to glutDestroyWindow() for a sub windows
1568 was immediately followed by a call to glutDestroyWindow() for it's
1569 parent. fgCloseWindows() would call fgDestroyWindow() for the parent
1570 first fgDestroyWindws() would recurse over the children and then
1571 fgCloseWindows() would call fgDestroyWindow() again for the child.
1573 I've replaced the single linked list with one of our two way link list
1574 structures. I've also moved it into fgStructure because that seemed
1575 the consistent thing to do.
1577 I said the the deferred windows destruction causes more problems then
1580 2003-12-11 James Jones <puggles@users.sourceforge.net>
1582 * progs/demos/CallbackMaker/Makefile.am: Include project file in the
1584 * ChangeLog: Updates for 2.2.0 RC2
1585 * progs/demos/demos.dsw: Add shapes to the Visual C workspace.
1586 * progs/demos/shapes/Makefile.am: Package the visual C project file with
1588 * configure.in: Set the version to 2.2.0
1589 * src/freeglut_gamemode.c, src/freeglut_main.c, src/freeglut_window.c:
1590 Nigel Stewart's Win32 window-sizing fix for game mode
1591 * progs/demos/One/one.c: Disable/enable lighting in the "one.c" demo
1593 * progs/demos/CallbackMaker/CallbackMaker.dsp: Add some essentials to
1594 get this program to compile (Nigel)
1595 * src/freeglut_internal.h: Update to reflect 2.2.0 release
1596 * ChangeLog: Note the release of 2.2.0 RC1
1600 * src/freeglut_structure.c, src/freeglut_window.c: John correctly
1601 observed that the initialization {OldHeight} and {OldWidth} in the
1602 window structure should be done for both windows and sub-windows, and
1603 the easiest way to do this is in the
1604 freeglut_structure.c:fgCreateWindow() code. So, transplant one line.
1608 * src/freeglut_main.c: Commit of John's change to stop an infinite-loop
1609 condition when the only windows left are freeglut menu windows, and
1610 correctly calls exit() if we drop out of the main loop without having
1611 requested any freeglut extensions to glutMainLoop() handling.
1615 * progs/demos/shapes/shapes.c, progs/demos/shapes/shapes.dsp: Two from
1618 * Updated shapes.c. I think that it's just reformatting and the
1619 addition of some comments.
1621 * Added shapes.dsp, a Microsoft Visual C++ Developer Studio Project
1622 file for building shapes on WIN32 with MSVC++.
1624 2003-12-03 Christopher John Purnell
1626 * configure.in: Added an option to enable gcc compiler warnings. I've
1627 explicitly excluded the one about adding parentheses.
1631 * src/freeglut_main.c: Touched up several comments, pointing up things
1632 that may be worth reflect- ing upon in the future.
1633 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_window.c:
1634 Hrm. I misunderstood the purpose of {window->State.Width} and
1635 {...Height}. Those are *not* records of the old values, but rather of
1636 the *desired* *new* values, hence it was inappropriate to use them in
1637 ConfigureNotify X11 event handling. Doing so introduced some new
1640 So, I created OldHeight and OldWidth in the window State structure,
1641 and *those* do what I require.
1643 I also stripped out the obsolete comment about getting extra/bogus
1644 reshape events. (Though I maintain that an application should be
1645 robust against them, freeglut should no longer generate them if the
1646 window has not changed size since last reported.)
1650 * src/freeglut_main.c: Changed Create/ConfigureNotify handling in
1653 * Just need to call GETWINDOW() once. Ooops. Heh. * Update
1654 {window->State} with the new size of the window. * If the window-size
1655 has NOT changed, then do NOT call the Reshape event.
1656 * src/freeglut_main.c: Added an "XXX" earmark for post-release
1657 contemplation. (The point is definitely in need of consideration, I
1658 believe, but is not immediately a major bug, so I'd rather not mess
1659 with it at the risk of postponing a release "soon".)
1660 * src/freeglut_main.c: Ensure that the time-out for sleeping is never
1662 * src/freeglut_main.c: Fixed a bug for UNIX_X11 where window reshape
1663 events were causing freeglut to mark the window as *needing* a reshape
1664 (which during general display callback handling would result in
1665 effectively a glutReshapeWindow()).
1667 The code is now system-dependant. It should be abstracted to a
1668 function, but is presently copied in two places. Sorry.
1670 Also, inverted the order of the associated if()/else check (in both
1671 WIN32 and UNIX_X11 branches) since the former "else" part was a
1672 one-line callback invocation.
1674 This fixes two seemingly unrelated bugs that I was seeing in UNIX_X11.
1676 2003-12-01 Christopher John Purnell
1678 * src/freeglut_internal.h: Added missing prototype for new list
1681 2003-11-28 Christopher John Purnell
1683 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1684 src/freeglut_structure.c: Timer optimizations. Made the list of
1685 pendinig timers ordered. Added a free list of used timer structures.
1686 * src/freeglut_callbacks.c: Timer optimizations.
1687 * src/freeglut_window.c: Fixed windows compilation problem with last
1690 2003-11-27 Christopher John Purnell
1692 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c,
1693 src/freeglut_structure.c, src/freeglut_window.c: Window close fix. The
1694 default behaiour should now be the same as with glut.
1698 * src/freeglut_init.c: Added change from Nigel to have resize events
1699 cause redraw events in WIN32. Also slightly reshuffled comments to
1700 deal with line-wrap issues.
1704 * src/freeglut_main.c: John reported, and fixed, a problem that recent
1705 changes caused for the Lorenz demo (seems to be WIN32 specific).
1706 * src/freeglut_structure.c: Update from John: Removed the freeglut hack
1707 of decrementing the highst-window-ID marker when the highest window is
1708 deleted. (This was a half-way measure for an idea that was decided to
1709 be dubious in the first place.)
1710 * configure.in, progs/demos/Makefile.am, progs/demos/shapes,
1711 progs/demos/shapes/Makefile.am, progs/demos/shapes/shapes.c: Added a
1712 new demo (from Nigel) showing some of the basic GLUT geometry shapes.
1713 "shapes" is the name of the demo.
1714 * include/GL/freeglut_ext.h, src/freeglut_geometry.c: Commit of work
1717 Massive rework of the geometric primitive code. Includes a new
1718 primitive (cylinder; solid and wireframe) and corresponding update to
1719 freeglut_ext.h for the prototype.
1720 * src/freeglut_internal.h, src/freeglut_main.c,
1721 src/freeglut_structure.c: More work from John (sorry for
1724 * We forgot to bump our version number in freeglut_internal.h It is
1725 now at 2.0.2 (actually, I think that 2.1.0 might be a better choice),
1726 which is presumably going to be our next formal release. 2.0.1 is
1727 incorrectly identified as 2.0.0 in the header.
1729 * A typo in a comment has been corrected ("than"/"that").
1731 * Numerous "manual" checks for callbacks are omitted now, since
1732 INVOKE_WCB() does this for us. These were holdovers from the
1733 pre-INVOKE_WCB() days. There may be some very subtle changes in
1734 freeglut behavior, since freeglut used to test the callbacks a little
1735 earlier in some cases and may have skipped some minor things (like
1736 changes to the current window) in some special cases, otherwise. It is
1737 not believed that any documented behavior is broken, and it is
1738 unlikely---not to say impossible---that any extant applications will
1739 detect the change. It is even possible that there is no external
1740 behavioral change in freeglut.
1742 This also significantly simplifies some sections of code that used to
1743 have conditional execution. "Unconditional code is simpler code" as
1744 one of the comments used to say.
1746 * Lots of XXX commentary is now removed. Some of it was obsoleted by
1747 other changes, some by changes from John.
1748 * src/freeglut_internal.h, src/freeglut_main.c,
1749 src/freeglut_structure.c: Change from John (I removed a couple of
1750 spaces from a couple of lines in his freeglut_internal.h file where
1751 they were wrapping in EMACS; otherwise, the files are exactly as he
1754 The change unifies the WIN32 and UNIX_X11 code by defining our own
1755 window-handle-type in freeglut_internal.h. This let John rip out some
1756 #if garbage in several places. The result is clearer code.
1762 * src/freeglut_font.c, src/freeglut_geometry.c,
1763 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
1764 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
1765 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c,
1766 src/freeglut_window.c: Numerous style normalizations from John:
1768 * Convert "return( value );" to "return value;" * Normalize spacing
1769 around semicolons. * Remove extraneous parens. * Split multi-statement
1770 lines into multiple lines. (Mostly things of the form: "if( condition
1772 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_window.c:
1773 All changes are from John, except for: (a) I re-inserted the meat of a
1774 comment that I still feel is relavent. (b) I fixed a compile-time
1775 error in the UNIX_X11 code where a variable is declared after
1776 executable code in a block without creating a new sub-block for the
1779 Changes from John include: (a) Style revision. (b) Changes to postpone
1780 the handling of window resizes.
1782 Lots of lines were changed, but I think that thos two cover the ground
1783 that he hit. See the diffs for details.
1785 2003-11-18 Christopher John Purnell
1787 * src/freeglut_cursor.c, src/freeglut_ext.c, src/freeglut_geometry.c,
1788 src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1789 src/freeglut_menu.c, src/freeglut_state.c, src/freeglut_structure.c:
1790 Lots of stuff that John F. Fay pointed out. Plus some changes to
1791 remove gcc warnings.
1793 2003-11-17 Christopher John Purnell
1795 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1796 src/freeglut_state.c, src/freeglut_structure.c: Fix spelling mistake
1797 in a variable name. Added a comment for John Fay. Added the copyright
1798 notice for XParseGeometry source.
1800 2003-11-16 Christopher John Purnell
1802 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1803 src/freeglut_state.c, src/freeglut_structure.c: Made Modifers variable
1804 global as per glut classic.
1805 * src/freeglut_init.c: Removed old unused glutInitDisplayString code.
1806 Reformated new glutInitDisplayString and XParseGeometry code.
1807 * src/freeglut_init.c: Use XParseGeometry for better geometry parsing.
1808 Moved geometry parsing to after fgInitialize() so we can use the
1809 screen size to correctly calculate negative positions in the geometry
1810 string. Copied the code for XParseGeometry from the X11 sources for
1811 use in the Win32 version. freeglut now passes test1 of the glut test
1814 2003-11-15 Christopher John Purnell
1816 * src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1817 src/freeglut_main.c, src/freeglut_structure.c, src/freeglut_window.c:
1818 Removed the state variable BuildingAMenu. Instead pass a new parameter
1819 isMenu to fgCreateWindow(). Elsewhere use window->IsMenu.
1820 * src/freeglut_init.c: freeglut_assert_ready is going to have to go at
1821 some point. But for now I've moved setting fgState.Initalized to
1823 * src/freeglut_callbacks.c, src/freeglut_display.c,
1824 src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1825 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
1826 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c,
1827 src/freeglut_window.c: Replace TRUE with GL_TRUE and FALSE with
1828 GL_FALSE where the type is GLboolean.
1832 * src/freeglut_main.c, src/freeglut_menu.c: Normalized the spacing
1833 around symbols, for the most part. Ho-hum.
1835 2003-11-15 Christopher John Purnell
1837 * src/freeglut_main.c: Added a call to fgDeinitialize() before the call
1838 to exit() in fgError().
1842 * src/freeglut_joystick.c: Style normalizations to the joystick code.
1844 2003-11-15 Christopher John Purnell
1846 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1847 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
1848 Added a new state variable "Initalized". Replaced referenced to
1849 Time.Set with this new variable where appropriate. fgElapsedTime() now
1850 set the start time if Time.Set is false. Moved
1851 glutGet(GLUT_ELAPSED_TIME) handling to before the assert.
1855 * src/freeglut_internal.h: Normalized the internal header's style a bit.
1856 * src/freeglut_init.c: Plowed one more file this morning. Still just
1857 trivial formatting issues.
1859 And I left alone the "INIT DISPLAY STRING PARSING" section, since it
1860 still appears to be in flux.
1861 * src/freeglut_font.c, src/freeglut_gamemode.c: Yet more trivial style
1864 Sorry, but that's all that I'm up to at the moment. On the plus,
1865 excepting the font_data file (which I've been skipping), up through
1866 this file, I think that the code style is pretty close to uniform.
1867 * src/freeglut_font.c: Minor style corrections.
1868 * src/freeglut_display.c: Minor spacing quibble.
1869 * src/freeglut_cursor.c: Added a brief explanatory note to the X code
1870 for GLUT_CURSOR_NONE.
1872 Corrected the indentation of a block of code.
1873 * src/freeglut_window.c: Noted one of a few cases where we do something
1874 immediately that could more efficiently be postponed, quite
1875 easily---and which GLUT promises *is* to be postponed. (It is unlikely
1876 that the difference will break any apps, but postponing should be
1879 No real change, just a comment in the code.
1883 * ChangeLog: Updated ChangeLog for the day.
1884 * include/GL/freeglut_std.h, progs/demos/One/one.c, src/freeglut_ext.c,
1885 src/freeglut_font.c: Removal of all remaining TABs in the freeglut
1886 *.[ch] files. (I missed a few in the "one" demo, it seems, and some
1887 more crept back into freeglut_(ext|font).c, presumably due to my own
1888 edits when I forgot to use the "freeglut-c-mode" in EMACS.)
1889 * progs/demos/One/one.c: Moved glutInit*() functions ahead of
1890 glutInit(). (This is proper use of glutInit() in general, since it
1891 allows the user to override settings via {argc, argv} command-line
1893 * progs/demos/One/one.c: Style normalizations: Removed CRs and hard TABs
1895 * ChangeLog, src/freeglut_structure.c: Corrected the numbering of the
1896 ChangeLog (there were two (110)s).
1898 Added entries summarizing my commits since September or late August,
1899 for the benefit of those lacking both CVS and web access.
1900 * progs/demos/demos.dsw: Added CRs to the ends of all lines in MS
1901 developer studio demos.dsw file..
1905 * src/freeglut_main.c: John's fix for the minimize/close/maximize
1906 controls no longer working. WIN32 expected us to pass the message on
1907 up the chain (or do something else with it), rather than just throwing
1908 away the event, for a certain class of events. (See the diffs for more
1911 The code is also slightly reformatted from what was previously in the
1913 * freeglut.dsp, freeglut_static.dsp,
1914 progs/demos/CallbackMaker/CallbackMaker.dsp, progs/demos/demos.dsw: A
1915 *.dsp file for CallbackMaker in the demos.
1917 Plus updated *.dsp and *.dsw files to reflect the new freeglut header
1920 NOTE: The prior version of the *.dsw file does not in fact have CRs. I
1921 thought that it did. For consistancy, I am not putting them in in this
1922 version, either. (At least one person said that his MSVC++ system is
1923 happy with the current files. If there are problems, we can easily add
1924 the CRs, but that should be a separate commit...)
1925 * configure.in, progs/demos/CallbackMaker,
1926 progs/demos/CallbackMaker/CallbackMaker.c,
1927 progs/demos/CallbackMaker/Makefile.am,
1928 progs/demos/Fractals_random/fractals_random.c,
1929 progs/demos/Makefile.am: New demo from John: CallbackMaker.
1931 This demo shows the use of every callback that you can register with
1932 freeglut, and also generates event reports so that you can see what is
1933 happening to the program as it runs.
1935 Not much to look at, but both utilitarian and a practical example.
1937 Please double-check that I updated everything that needs to be
1938 updated. I reran autogen.sh and ./configure, and it built okay for me.
1940 * src/freeglut_structure.c: Hm. I thought that I already hit this file
1941 for style normalization. Oh well... Should be no functional changes.
1942 Should be pretty close to in-line with the style of changes that I've
1943 been making else- where.
1944 * src/freeglut_structure.c: Ooops. Forgot that we already had a call to
1945 fgClearCallBacks() in the code and added a second one. I just deleted
1947 * src/freeglut_structure.c: Added Nigel's suggested code to clear all
1948 but the destroy callback early on, leaving Destroy to be cleared later
1949 after the last possible point where it should be invoked.
1950 * src/freeglut_menu.c: Modified the menus to refer to {border} rather
1951 than {FREEGLUT_MENU_BORDER}, in fghDisplayMenuBox(). The local
1952 variable was already defined and used for some purposes, so we might
1953 as well use it throughout. It does serve to shorten and clarify the
1954 code a bit---though I have mixed feelings about creating aliases that
1957 Still, the variable already existed and was already used in places.
1958 (We could even move it into the freeglut state, or make it a {const
1961 Oh well. Stuff to ponder.
1962 * src/freeglut_cursor.c: Well, a couple of days have gone by, so I
1963 assume that items (a) and (b) in the freeglut_cursor.c file's "Open
1964 issues" comment are now satisfactor- ily closed.
1966 I also partially implemented some error-checking, using my limited
1967 understanding of how Xlib users are supposed to do this. (No one
1968 commented about the lack of error-checking, pro or con. Perhaps
1969 someone will care to comment now?)
1971 At present, it just will print out a warning, via fgWarning(). In part
1972 because I'm not sure what is best to do, and in part because failure
1973 to set the cursor type is probably not a fatal problem.
1975 2003-11-08 Christopher John Purnell
1977 * progs/demos/Fractals/Makefile.am,
1978 progs/demos/Fractals_random/Makefile.am,
1979 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Applied
1980 Braden McDaniel's non-srcdir build patch.
1984 * src/freeglut_menu.c: A first pass over freeglut_menu.c to bring it in
1985 line with the rest of freeglut's style. Mostly re-indenting and
1986 splitting long lines. For those that may be concerned: No, I didn't do
1987 any more arrangments of the form (CONST == a) rather than (a ==
1989 * progs/demos/Fractals_random/fractals_random.c: Altered the way that
1990 the {random} value (from 0..3) is chosen.
1992 Previously, it picked out two adjacent bits in the result of rand().
1993 Unfortunately, these adjacent bits (at least on NetBSD) have a certain
1994 amount of dependance. After a period (perhaps a thousand or so?), it
1995 starts to repeat the pattern of those two bits. (I think; I haven't
1996 actually tested that directly.) This presumably is locking it into a
1997 an an N-way attractor on the "snowflake", such that if you zoom in a
1998 ways, you will start to see some spots *quickly* are colored, and
1999 others are *never* colored.
2001 What I've done now is to pick up two widely-spaced bits in a single
2002 rand() call. (Perhaps we would do as well to pick up something like
2003 bit #16 from two consecutive rand() calls?) These widely-spaced bits
2004 have a lower statistical dependance on one another (if I can get away
2005 with using that term for an arithmetic operation; though since stats
2006 has more to do with sampling and less to do with true randomness, I
2009 The net effect, at leats on NetBSD, is far better snowflake if you
2014 * src/freeglut_main.c: From John:
2016 [This] implements the visible/invisible for Windows. It does NOT call
2017 the visibility callback, though.
2018 * src/freeglut_main.c: Stripped out the now truly extraneous {braces} in
2021 if( ... ) { INVOKE_WCB( ... ); }
2023 Check for compiling on WIN32.
2024 * src/freeglut_internal.h: Adopted Eero Pajarre's suggestion of using a
2025 do { ... } while rather than { ... } for the INVOKE_WCB() macro. This
2026 lets it be used "more like a function", in that:
2028 if( ... ) INVOKE_WCB( ... ); else ...
2031 * src/freeglut_main.c: Pure code janitoring: Shuffled the order of some
2032 of the case statements in the UNIX_X11 X event processing loop. (In
2033 general, it's nice to have case statements sorted, especially when you
2034 have a *huge* switch statement like this. That makes it easier to find
2035 the one that you're looking for, and to see if a certain case is
2037 * src/freeglut_main.c: Combined EnterNotify and LeaveNotify event
2038 processing in the UNIX_X11 event loop.
2039 * src/freeglut_main.c: Added ReparentNotify case to UNIX_X11 event loop,
2040 to catch the extraneous ReparentNotify event types (type 21).
2041 * src/freeglut_internal.h, src/freeglut_structure.c: Oh well, I might as
2042 well add the call to clear callbacks on window destruction. Also
2043 renamed the function to do this: fgClearCallBacks(). Ho-hum.
2044 * src/freeglut_internal.h, src/freeglut_structure.c: Added
2045 fgInitCallBacks() to freeglut_structure.c. (The function takes an
2046 {SFG_Window *}.) Added prototype to freeglut_internal.h. Added use of
2047 the function to the window initialization. (Don't count on calloc(),
2048 which sets all bits to 0.)
2049 * src/freeglut_gamemode.c: Style normalization; removal of
2050 say-nothing-useful comments.
2051 * src/freeglut_font.c: Normalized the style of freeglut_font.c No
2052 substantial alterations.
2053 * src/freeglut_ext.c: Somewhat normalized the style of this file.
2055 Also moved the "glutMouseWheelFunc" extension down into the
2056 "extensions" part of the table. (Purely internal organization. It will
2058 * src/freeglut_display.c: Further normalization of the code's style. No
2059 substantial changes.
2060 * src/freeglut_cursor.c: Split one last overlong line in
2062 * src/freeglut_cursor.c: Added GLUT_CURSOR_NONE support in UNIX_X11
2063 (well, NetBSD; you lot need to try it on others; (^&).
2065 Deallocated some resources that we are creating. VERY slight memory
2066 leak, but plugged now.
2068 These two complete the first two "Open issues" ( (a) and (b) ). The
2069 first one also completes X support for glutSetCursor(). If others can
2070 verify, we can fully demote the outstanding bug over this to
2073 I'll delete the dead Open issues and re-letter the others if someone
2074 will cross-check me. Or if no one says anything in a day or two. (^&
2075 * src/freeglut_cursor.c: Further normalized the style of the cursor
2077 * src/freeglut_callbacks.c: Slight style improvements. Two rules of
2078 thumb that are almost always good to apply:
2080 * Don't write a == CONST. Instead, write CONST == a. Or, more
2081 generally (in C like languages): Avoid putting an lvalue on the
2082 left-hand side of an == comparison. (For consistancy, I try to avoid
2083 lvalues on the left- hand side of any comparison---but == is the most
2086 (An "lvalue" is a value that can safely go on the left side of an "="
2087 assignment, of course. (^&)
2089 * Do not write if( !condition ) return; other_thing; return;
2091 (See page 18 of K&P's _The Elements of Programming Style_.)
2093 Instead, it is better to just write:
2095 if( condition ) other_thing; return;
2097 There are times when sacrificing structured programming (e.g., via
2098 multiple return statements) is okay. But, here, there is no apparent
2099 gain---indeed, there seems only loss---in the non-structured code.
2100 * src/freeglut_main.c: Grr. Forgot to enable the "freeglut" C
2101 programming mode in EMACS, and had a few TABs in the last commit. This
2103 * src/freeglut_main.c: Minor corrections to the UNIX_X11 mouse-wheel
2104 support. In part this reflects that {button} is already shifted to the
2105 GLUT numbering, and hence should be counted as 3&4, 5&6, etc.
2107 The other change was simply to clarify the computation of {direction}.
2108 The original code did some clever arithmetic. The new code is more
2109 straightforward, even if it requires more lines to express.
2113 * src/freeglut_main.c: Ooops. I screwed up on part of John's fixes.
2116 I think that I have his fix properly committed now. Mea culpa.
2117 * src/freeglut_callbacks.c, src/freeglut_internal.h,
2118 src/freeglut_main.c, src/freeglut_structure.c: Cleanup pass after
2119 committing callback conversion (from structure to array-of-pointers).
2120 Mostly deleted commented-out struct-based code. Also added some XXX
2121 comments that I though should be pondered. (My own pair of eyes, and
2122 one brain cell, were not sufficient at this time to decide what to do
2123 for those ponderables. (^&)
2124 * src/freeglut_callbacks.c, src/freeglut_init.c,
2125 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
2126 src/freeglut_misc.c, src/freeglut_structure.c: Converted the
2127 "Callbacks" structure (with named members holding individual callback
2128 pointers) to a "CallBacks" array in fgState. (This is to allow us to
2129 write a loop to clear all callbacks from windows when the window is
2130 dead/dying. Using this, we can safely assign NULL to each in a loop.)
2132 Support includes two new macros, FETCH_WCB() and INVOKE_WCB(). See
2133 freeglut_internal.h for more details there.
2135 Some typedefs of function pointer types were altered to make them more
2136 uniform (necessary for the macros).
2138 All references to window-based callbacks in freeglut are updated to
2141 Old usages will cause compile-time errors.
2143 As a side bonus, the new invocation macro sets the current window and
2144 checks pointers so that these common steps can be uniformly done on
2145 every window-based callback. This makes it easier to do things right.
2146 At the same time, the array notation (and now required associated
2147 casts) make it harder to bypass the macros and abuse the function
2148 pointers, in general.
2150 After this commit, I will go through the code and clean up dangling
2151 issues about formatting. This commit is just a "it now works, let's
2152 checkpoint it" type of affair.
2153 * src/freeglut_main.c: From John, a couple of lines needed to be changed
2154 to fix the mouse wheel support on WIN32.
2155 * progs/demos/Fractals_random/fractals_random.c: Update from John:
2156 Includes mouse button, mouse motion, and mouse wheel support.
2160 * src/freeglut_menu.c: Multiple changes from John. Style issues, plus a
2161 bug-fix to check a pointer before deallocating some memory.
2163 He also removed one obsolete comment, and added some more comments.
2164 * src/freeglut_main.c: Some changes, mostly from John. Mostly style
2167 One bug fix from John: Execution state bug-fix in glutMainLoop(), per
2170 One fix from me: Changed "if( ButtonPress )" to "if( pressed )".
2171 {ButtonPress} is a constant.
2172 * progs/demos/Fractals_random/fractals_random.c: Per John's emailed
2173 desire to have all files obey UNIX EOL conventions, I have stripped
2174 out carriage returns from this file.
2176 This is the *only* change, but every line is touched. If you want to
2177 see the real differences between older and newer versions, you will
2178 have to get local copies of each and first match their EOL
2180 * progs/demos/Lorenz/lorenz.c: Update from John:
2182 I [John] added a feature to check for memory leaks under Windows.
2183 * progs/demos/Fractals_random/fractals_random.c: Update from John:
2185 I [John] converted everything to double precision to avoid compiler
2186 warnings. I also added a feature to check for memory leaks under
2187 Windows and removed a memory leak (surprise!).
2188 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
2189 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
2190 src/freeglut_gamemode.c, src/freeglut_geometry.c,
2191 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
2192 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
2193 src/freeglut_misc.c, src/freeglut_overlay.c, src/freeglut_state.c,
2194 src/freeglut_structure.c, src/freeglut_teapot.c,
2195 src/freeglut_videoresize.c, src/freeglut_window.c: Got rid of the
2196 G_LOG_DOMAIN junk, per discussion on the mailing list.
2197 * src/freeglut_callbacks.c: Minor formatting quibbles. (The brain isn't
2198 up to anything more serious at the moment.)
2199 * src/freeglut_main.c: Missed a block where one level was 2-space
2202 Nit-picked a few other lines for consistancy.
2206 * src/freeglut_init.c: Fixed a memory leak (thanks for the correction,
2209 Smoothed over some code style issues while I was here, but left the
2210 init-string parsing alone for now.
2211 * freeglut13.dsp, freeglutdll.dsp, freeglutstatic.dsw: Deleted 3 files
2212 (again?) from CVS, on John's request. Old/obsolete MSVC++ project
2213 files. (freeglut13.dsp, freeglutdll.dsp, freeglutstatic.dsw)
2214 * src/freeglut_main.c, src/freeglut_structure.c: * Indentation issues. *
2215 Pulled some common code into a nicely packaged function. * Found some
2217 * src/freeglut_main.c: Heh.
2219 Forgot to wrap the fgGetXModifiers() in a #if. Fixed.
2220 * src/freeglut_main.c: Extracted some common code to a subroutine, in
2221 glutMainLoopEvent(). (The common code was a snippet to compute X
2222 keyboard modifiers as a bit-mask of GLUT symbols.)
2223 * src/freeglut_main.c: Caught a few more little style issues.
2224 * src/freeglut_main.c: Added a "case" for an X event that we turn on but
2225 do not use. ({MapNotify}). We already caught {MappingNotify} and
2227 * src/freeglut_main.c: * Fixed a bug in the X11 handling of
2228 scrollwheel/mouse. The old code, I believe, checked if *either* a
2229 wheel or button callback was set, and then decided which to use---and
2230 unconditionally called it. I left the "either" check in, but added
2231 additional checks before actually doing the invocation. * Lots of
2232 reformatting. Massive. The usual suspects, though, and fairly trivial:
2233 Re-indenting to standard size, shuffling some spaces to match the
2234 freeglut "standard" of: if( ... ) ...and: func( ... )
2238 * src/freeglut_callbacks.c: Cleaned up one macro definition.
2240 Picked up an over-long line that I missed before.
2241 * src/freeglut_callbacks.c: Fit some long lines to 80 columns.
2242 * src/freeglut_cursor.c, src/freeglut_display.c,
2243 src/freeglut_gamemode.c, src/freeglut_geometry.c: Last of the hard
2244 TABs in the src/*.c files.
2245 * src/freeglut_init.c, src/freeglut_joystick.c, src/freeglut_main.c,
2246 src/freeglut_menu.c, src/freeglut_state.c: En masse removal of most (I
2247 think) of the remaining hard TABs in files. There are still a couple
2248 of files that need to be hit.
2249 * src/freeglut_window.c: Picked up some stray TABs scattered in this
2251 * src/freeglut_window.c: Noted by XXX comments that the XFlush() calls
2252 probably shouldn't be there. Flushing the X protocol stack every
2253 little bit both adds clutter to the code and may impede performance.
2255 It seems that we should be able to get rid of these, though allowing
2256 client code to directly call glutMainLoopEvent() does make it a little
2259 Something to ponder.
2260 * src/freeglut_window.c: Polished off the say-nothing-new comments and
2261 lines-over-80-columns in freeglut_window.c
2263 There should be no functional changes.
2264 * src/freeglut_window.c: Missed a few say-nothing-new comments in
2265 fgOpenWindow(). Eeep. Should be better now. (^&
2266 * src/freeglut_window.c: Cleansed fgCloseWindow(): * say-nothing-new
2267 comments axed. * de-TABbed. * Made the white-space to be consistant.
2268 * src/freeglut_window.c: Cleaned up fgOpenWindow(): * Removed TABs. *
2269 Made indentation consistant. * Deleted say-nothing-new comments. *
2270 Changed an *error*check* from an assert to an if(). (The error-check
2271 was on window creation; we don't want to lose that if the user
2272 compiles with asserts deactivated. Also, assert()s really tell us more
2273 about programming errors, rather than run-time errors, so it is a
2274 little misleading to use assert() for error-checks, even if you can
2275 depend upon assert()s never being compiled away to null statements.) *
2276 Added some XXX comments for things that bear some rumination.
2277 * src/freeglut_window.c: Cleanup to fgSetWindow(). The usual suspects: *
2278 Removed tabs. * Made indentation consistant. * Killed off
2279 say-nothing-new comments.
2280 * src/freeglut_window.c: Cleanup to fgSetupixelFormat(). Should be no
2283 Code facelift included:
2285 * Consistant indentation. * Removal of all TABs (there were a bunch).
2286 * Fit to 80 columns.
2287 * src/freeglut_window.c: There should be no changes to code
2288 functionality, though a fair bit of little changes to the code
2291 * Fit the comments at the start of the file to fit 80 columns. * Noted
2292 an unusual feature of the ATTRIB() macro. * Added ATTRIB_VAL() macro
2293 which is really just two ATTRIB()s. This lets us put things like
2294 {ATTRIB (GLX_RED_SIZE); ATTRIB (1);} on one statement: {ATTRIB_VAL
2295 (GLX_RED_SIZE, 1);}. I did this to preserve some of the layout of
2296 information while also avoiding the nasty semi-visible ";" in the
2297 middle of a line of code. And by putting the {braces} in the macro
2298 definition, I was able to visually clean code of the form: if
2299 (condition) { ATTRIB( X ); ATTRIB( 1 ); } ...rewriting as: if
2300 (condition) ATTRIB_VAL( X, 1 ); * Eliminated a bunch of
2301 say-nothing-new comments in fgChooseVisual(). * Combined some
2302 semi-useful comments into a block comment summarizing a loop.
2306 * src/freeglut_structure.c: Finished off most of the issues with
2307 freeglut_structure.c, from a stylistic point of view (at least,
2308 insofar as: The original file's code was INCON- SISTANT. I did not
2309 remove the "!= NULL" stuff, did not address the shortest-branch-first
2310 issue for if-else statements, and left some rather ugly "if (x) {...
2311 return y} /* else do this */ return NULL;" garbage. This should, I
2312 think, be re-written as "if (x) return y; else return NULL;" or even
2313 better, "ret = NULL; if (x) ret = y; return ret;"
2315 In short, the code still has some issues, but I think that it's a bit
2318 (Oh, I also got rid of oustanding TABs.)
2319 * src/freeglut_structure.c: Eliminated most of the say-nothing-new
2322 Fit most of the code to no more than 80 columns.
2324 Raised some issues about completeness/correctness of trying to
2325 decrement the max-window-ID (apparently in order to partially recycle
2326 some window IDs to slightly slow the rate of growth of window IDs). (I
2327 didn't change what the code does, though.)
2329 The functionality of the code should be unchanged.
2330 * src/freeglut_main.c: Forgot to set {direction} explicitly to +/- 1 for
2331 freeglut mouse-wheel API on MS-WINDOWS. Oops.
2333 Now it should always report +/- 1 on MS-WINDOWS, per the spec.
2334 * src/freeglut_main.c: Minor fix to allow for multiple ticks to be
2335 received at one time by the WIN32 code. Take abs(direction) as the
2336 number of ticks, and count it down.
2338 <stdlib.h> *should* be included by freeglut_internal.h, I think, so it
2339 should be okay; otherwise add a suitable #include.
2340 * src/freeglut_main.c: Grrr. My attempt to commit got aborted, and the
2341 commit message was lost. Now I've lost track of what I said I'd done.
2344 * Fixed some issues with multiple wheels. * Noted in comments some
2345 issues about other-than-3-real-buttons. * Fixed formatting to fit 80
2346 columns. * Removed some BCPL/C++ style comments (//) that are not
2347 legal, and which, if memory servers, are not even strictly legal when
2348 disabled by preprocessor directives. E.g.,
2350 #if 0 not-syntactically-valid-C #endif
2352 ...is not legal. Though most cpp's will discard the bracketed material
2353 completely before the main C compiler pass has a chance to analyze the
2354 syntax. (MSVC++ and GCC both don't seem to mind the BCPL style
2355 comments in plain C, but let's keep the sources clean, eh?) * Fixed a
2356 problem that would have caused freeglut to report doubled wheel events
2359 Not tested other than compiling. Personally, I think that the
2360 interface is inherently broken at this point unless you are willing to
2361 get user- configuration. (Which would then solve the complaint that
2362 Steve had about computing the tick-size on behalf of applications.)
2363 I.e., there is NO WAY to know if we have the right buttons to start
2364 wheels at, or if there are any buttons after the first wheel(s), etc.
2365 We just have to guess---and if we are wrong, we can get varying
2366 degrees of brokeness.
2368 2003-10-29 Christopher John Purnell
2370 * src/freeglut_window.c: There is a problem with the way I did
2371 glutFullscreen() in my last commit. So I've copied the way the game
2372 mode does it. It's not ideal but it works. The glutGet() for the
2373 window border sizes will also have to be fixed at some point.
2374 * src/freeglut_window.c: Rewrote glutFullscreen(). It now correctly
2375 places the window in X11. It now uses system dependant code for more
2376 efficient use of windowing system calls.
2380 * src/freeglut_joystick.c: Should be no real changes to the code
2383 I missed a few lines that went past 80 columns. (^&
2385 Also made formatting more consistant.
2387 Added a couple of XXX comments re. FreeBSD vs. general BSD #ifdef's.
2388 * src/freeglut_joystick.c: Should be entirely superficial changes to
2391 * Fit lines to 80 columns. (It does get tiresome seeing long lines
2392 forced to break by the right-hand border of windows...(^&) *
2393 Eliminated say-nothing-new comments. * Made formatting more consistant
2394 in spots. * Eliminated some hard TAB characters.
2395 * src/freeglut_joystick.c: Added Thierry's change to include
2396 sys/param.h. This lets us pick out version numbers for OS releases
2397 corresponding to system headers.
2399 I modified it to also work with NetBSD; I cannot confirm if it is safe
2400 with any other systems, so it remains protected by a #if.
2401 * src/freeglut_state.c: Deleted some say-nothing-new comments.
2403 Added some XXX's where comments seemed to require future attention.
2405 Added some new comments with XXX's where future attention seems
2407 * src/freeglut_state.c: Deleted a bunch of say-nothing-new comments.
2408 Someday, there shall be an end to them.
2409 * src/freeglut_state.c: Previous changes were made without the freeglut
2410 major mode in EMACS. Re-tweaked some lines (mostly got rid of some
2411 TABs, but also resulted in some changed indentation).
2413 Reformatted a big comment to fit to 80 columns.
2415 Removed bogus references to "Linux". (UNIX, and/or X11 were relavent,
2416 and "UNIX/X11" was substituted for "Linux" in those places. This
2417 includes UNIX-alike systems.)
2418 * src/freeglut_state.c: Rewrote the TODO BEFORE THE STABLE RELEASE
2419 comment to fit to 80 columns.
2421 Cleanup of fghGetConfig(). (One return statement, simpler code.)
2423 Made glutSetOption() have a more consistant style---and also got its
2424 lines to stay under 80 columns.
2425 * src/freeglut_misc.c: Got the last of the say-nothing-new comments in
2428 (I would have picked them up before, but wanted the bug-fix and
2429 conversion-to-error-message changes to go in before I did more
2431 * src/freeglut_cursor.c, src/freeglut_main.c, src/freeglut_misc.c: *
2432 Fixed a bug that I introduced in fgWarning()/fgError(): I thought that
2433 ((a) || (b)) was defined to have value as: (a) if (a) != 0 (b) if (a)
2436 ...instead, it has value 0/1. This was causing a bug. It's probably
2437 just as well, since what I was trying to do definitely fell into the
2438 category of "clever code" rather than "clear code".
2442 * Made glutSetKeyRepeat() call fgError() if you go out of range. (The
2443 old code silently did nothing---not even a warning.)
2445 If it is really desirable to keep running, we should probably at least
2446 generate an fgWarning().
2448 * Deleted some say-nothing-new comments.
2450 * XXX added: Is glutSetKeyRepeat() deprecated?
2454 * include/GL/freeglut_ext.h, src/freeglut_callbacks.c,
2455 src/freeglut_ext.c, src/freeglut_internal.h, src/freeglut_main.c:
2456 Commit, mostly of work from John:
2458 * Removed some say-nothing-useful comments. * Added some tentative
2459 mouse-wheel support. * Fairly massive reformatting of code.
2461 I made some secondary changes to his changes:
2463 * One compilation error was fixed (missing close-paren + semicolon). *
2464 Deleted a few ore say-nothing-useful comments. * Some of John's code
2465 was strangely formatted to the point that it seemed completely out of
2466 place, so I took the liberty of reformatting it. Since I used GNU
2467 EMACS's <tab> key (which re-indents rather than inserts TAB
2468 characters), I had to propogate some indentation changes a little
2469 further than the bare necessity to match up with John's changes. (John
2470 seems to shoot for 2-space indents, while EMACS (and I, I confess)
2471 strongly prefer 4-space indents. The code that I was re-indenting had
2472 been put to 8-space indents, however.)
2474 I have *not* tested the code beyond compiling. I assume that John did
2475 (and that the compilation error was a result a minor change just
2476 before asking me to commit).
2477 * src/freeglut_cursor.c: Re-indentation style changes from John.
2479 There should be no alterations to how the code performs.
2481 (I modified how the X11 section of the set-cursor code is indented to
2482 slightly better match (IMHO) the rest of his changes.)
2486 * src/freeglut_menu.c: Converted a few "x != NULL" tests to "x" for
2489 I think that I've touched enough lines of source for one morning.
2490 * src/freeglut_menu.c: Cleaned up a little redundancy in a comment on
2491 the {menu_pen_*} variables.
2492 * src/freeglut_menu.c: Removed about 90 lines of say-nothing-new
2495 The code should be functionally unaltered by these changes.
2496 * src/freeglut_menu.c: Propogated a pointer-check from menu-attach to
2497 menu-detach. (Apparently, in some cases, the Menu member variable can
2500 Corrected the menu-attach code to make sure that both Window and Menu
2501 pointers are non-NULL (rather than "at least one").
2503 Rewrote button-checks to more simply and more clearly assert that the
2504 "menu button" is a valid button for menu actions: Instead of
2505 laboriously comparing against the three valid buttons (0, 1, 2 or
2506 GLUT_BUTTON_*), we do a simpler range-check and the upper bound is
2507 {FREEGLUT_MAX_MENUS}, allowing us to change the number of menuable
2508 buttons fairly easily in the future.
2510 Also deleted a few say-nothing-new comments.
2511 * src/freeglut_menu.c: Cosmetic changes (mostly deleted a few more
2512 say-nothing-new comments). The functionality of the code should be
2514 * src/freeglut_menu.c: Changed an "#elif TARGET_HOST_UNIX_X11" to
2515 "#else", since this simply governed menu aesthetics. I think that it's
2516 better to have a default that works than to break completely, should
2517 freeglut ever be ported to a new (non-WIN32, non-UNIX/X11) target.
2518 * src/freeglut_menu.c: Minor modifications to the menus:
2520 * Updated an old "TODO BEFORE STABLE" comment.
2522 * Expanded a comment re. some #define macros.
2524 * Made colors and font choice system dependant. The UNIX freeglut
2525 menus look more like UNIX GLUT menus, now. (This is PURELY a cosmetic
2526 change. But it achieves better compatibility visually.)
2527 * src/freeglut_main.c: Cleaned up glutMainLoop() a bit:
2529 * Deleted numerous say-nothing-new comments. * Reformatted a
2530 say-something-useful comment to fit on an 80-column display.
2531 * src/freeglut_main.c: Partially (re-?)unified some of the
2532 glutMainLoopEvent() code. The only code that really needs to be
2533 system-specific is the window event handling, which in MS-WINDOWS is
2534 tucked into a separate function. In UNIX/X11, it's all spilled out
2535 into glutMainLoopEvent() for some reason.
2537 If the X11 code could be tucked into another function,
2538 glutMainLoopEvent() could be platform-independant.
2542 * src/freeglut_main.c: Moved the idle callback out of
2543 glutMainLoopEvent() and into glutMainLoop(), per discussion on the
2544 list. The code looks okay, to me, though I remain less than wholly
2545 convinced that treating idles as special cases is the best way to go.
2546 Still, a case can be made for taking "non-event" idle callbacks out of
2547 the "event loop". From an organizational perspective, I think that
2548 it's an improvement, and it fixes a bug for at least one program.
2549 * src/freeglut_menu.c: Added John's text-positioning modification.
2551 The lines that he was altering were very oddly-split, so while I was
2552 at it, I repaired the line-break damage.
2553 * src/freeglut_joystick.c: Committed change from Nigel to fix the
2554 joystick bug. (The joystick code was not setting the GLUT window prior
2555 to calling callbacks.)
2557 Please verify. If so, this closes out, I think, the latter half of
2558 that bug report, so anyone with the means to modify/close bug reports
2559 should do so upon verification of the fix.
2560 * src/freeglut_main.c: Superficial cleanup of the code. Mostly taking
2565 /* * <Enslish recapituation of the single following C statement> */
2566 <single C statement>
2570 ... <single C statement>
2572 freeglut_main.c still has a lot of that in it, but it looks a bit
2574 * src/freeglut_init.c: Added some error-checking (particularly w.r.t.
2577 Deleted numerous 4-line "padding" sequences of C-as-English trans-
2578 literation comments.
2580 Re-indented some (but not all) code that is using 2-space indentation.
2581 (Most of the freeglut code seems to be using 4-space indentation.)
2583 I did not touch the "INIT DISPLAY STRING PARSING" code, since it is
2584 filled with a ton of over-long lines and also appears to be in more
2585 flux than the rest of the code. (Well, I added one error-check to a
2587 * src/freeglut_font.c: Removed two more bogus "carriage return"
2588 references where the comments were in fact talking about a line feed
2589 (a.k.a. newline, LF, ^J, \n, ...).
2590 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c:
2591 Fixed the buglet about failing to report the program's name on error-
2592 messages. Please test. (Modified glutInit(), the state structure, and
2593 the warn/err functions.)
2595 2003-10-23 James Jones <puggles@users.sourceforge.net>
2597 * ChangeLog: Released 2.0.1
2599 2003-10-21 Christopher John Purnell
2601 * configure.in, include/GL/Makefile.am, include/GL/freeglut.h,
2602 include/GL/freeglut_std.h, include/GL/glut.h,
2603 progs/demos/Fractals/Makefile.am,
2604 progs/demos/Fractals_random/Makefile.am,
2605 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am,
2606 src/Makefile.am: Added --disable-replace-glut option to autoconf
2609 2003-10-15 James Jones <puggles@users.sourceforge.net>
2611 * NEWS: Noted the release of 2.0.0
2612 * configure.in: Version bump
2616 * src/freeglut_font.c: Swept the freeglut_font.c for comment cleanup: *
2617 Got rid of the "rewrite C as English" comments. * Corrected several
2618 bogus references to "carriage returns" (in strings). The symbols were
2619 newlines or EOLs or LFs (\n). They were *not* carriage returns or CRs
2620 (\r). * Clarified the comments on glBitmap() calls.
2624 * progs/demos/Fractals/fractals.c,
2625 progs/demos/Fractals_random/fractals_random.c: Small bug-fix that's
2628 Modified the two Fractals* demos so that they only clear (for the
2629 random one) or redraw (for the non-random one) if there is need to do
2630 so. (E.g., pressing the space bar should not clear and redraw the
2631 random fractal since no parameters are altered.)
2632 * src/freeglut_cursor.c, src/freeglut_display.c: Removed the obsolete
2633 hack (or very ill-conceived dream), fgDisplayCursor().
2634 * src/freeglut_display.c: Cleaned up some of the style issues (mostly
2635 "fluff" comments) in freeglut_display.c.
2636 * src/freeglut_cursor.c: Comment-cleaning sweep.
2638 Mostly got rid of the say-it-in-English comments that were adding 1
2639 line of English and 2 or 3 lines of filler for each of several lines
2640 of C code. Updated a couple of other comments, and tweaked some
2642 * src/freeglut_callbacks.c: Cleaned up the comments a bit in the
2643 callbacks.c file (mostly removed some of the
2644 kill-4-lines-to-translate-one-line-of-C-into-English comments).
2648 * src/freeglut_cursor.c: Added all missing GLUT cursor types for X11.
2650 (Type NONE is not properly supported, yet.)
2652 Corrected behavior for the several old types: * Wrong glyphs. *
2653 Reversed glyphs (left/right confusion!)
2655 There are some remaining imperfections, but it's a lot closer to GLUT
2660 * src/freeglut_callbacks.c: Three tidying-up changes to the code of
2661 freeglut_callbacks.c; none of them are Earth-shattering, but as I
2662 swept through looking somewhat more systematically for errors, I
2663 picked these off. See the diff's for details.
2664 * src/freeglut_callbacks.c: Fixed a basic readability/style error in the
2665 code. (Two statements per line are almost never a good idea; in this
2666 case the combined line was past 80 columns.)
2667 * src/freeglut_callbacks.c: Added a safety-check on a memory allocation.
2668 (Timers were using dynamic memory allocation but NOT checking the
2670 * src/freeglut_menu.c: Committed two lines from John to help fix the
2672 * src/freeglut_callbacks.c: Check the glutDisplayFunc() callback for
2673 being a NULL pointer. This is illegal and is disallowed in GLUT 3.0+,
2674 so we disallow it too in freeglut 2.0.1+
2678 * progs/demos/Fractals/fractals.c,
2679 progs/demos/Fractals_random/fractals_random.c: Applied John's updated
2680 ReadConfigFile() changes to the fractals demos.
2681 * progs/demos/Fractals_random/fractals_random.c: Fixed: * glutInit()
2682 ordering w.r.t. glutInit*() and {argv} processing. * Aspect ratio. *
2683 Removed depth-buffer usage. (Also done for Fractals in previous
2685 * progs/demos/Fractals/fractals.c: A few minor changes: * glutInit*()
2686 calls should preceed glutInit(), per se, generally. This is so that
2687 glutInit()'s configuration (which picks up on user parameters) can
2688 override application defaults. * glutInit() should be called before
2689 ANY attempt to process {argv, argc}. This is because there may be
2690 GLUT/freeglut parameters (such as "-display" on X11). * If the window
2691 is tall and skinny, rather than short and squat, we need to handle
2692 aspect ratios differently.
2694 The first is a user-interface bug. The second is a serious bug
2695 (especially since the demo assumes that argv[1] contains a filename).
2696 The third is a display bug.
2700 * src/freeglut_main.c: Changed CreateNotify (in X11 ONLY) to act like a
2701 ConfigureNotify event.
2703 This is done so that subwindows on X11 will get "resize" events when
2704 they are created. Old GLUT did this---presumably by design in order to
2705 ensure that (a) All windows get notified of their size as soon as the
2706 window exists, and (b) probably more importantly, so that windows and
2707 sub-windows behave as much alike as possible. I believe that GLUT was
2708 right to do this, and I believe that compatibility requires this (I
2709 have a sample program that breaks in freeglut but not GLUT without
2712 I did not touch the Microsoft side, because I don't know what their OS
2713 does---nor if old GLUT was historically system-dependant about this.
2715 2003-10-08 Eric Sandall
2717 * ChangeLog, src/freeglut_menu.c: freeglut_menu.c:217,519,532: Fix menus
2718 to stay in the window (John Fay)
2722 * src/freeglut_menu.c: Several updates from John and myself.
2724 The broad outlines are:
2726 * Color schemes are now in variables, are closer to old GLUT, and are
2727 system dependant (as old GLUT did). * You can change the font to any
2728 bitmapped font more easily, which can aid in finding a better
2729 approximation. (Old GLUT does not seem to have used a GLUT font for
2730 the menus, which causes problems for us.) The menus rescale
2731 automatically, including the triangle "arrow" for sub-menus. * Menus
2732 have real borders, and the placement of highlighting is much improved.
2733 * src/freeglut_main.c: Fixed a bug in the menu callback behavior. Menus
2734 were not setting the current window correctly.
2736 2003-10-06 Eric Sandall
2738 * ChangeLog, src/freeglut_menu.c: freeglut_menu.c:328 Fix submenu
2741 2003-10-04 James Jones <puggles@users.sourceforge.net>
2743 * ChangeLog, src/freeglut_main.c, src/freeglut_structure.c: Tweaking for
2744 menu behavior in Linux regarding mouse whatnot - John Fay
2748 * src/freeglut_joystick.c: Applied a patch from "extraeme@netbsd.org" to
2749 add joystick support. Untested, but it compiles for me.
2751 Should also add Joystick support for older FreeBSD systems. Also
2753 * src/freeglut_main.c: Added support for more arbitrary number of mouse
2754 buttons (though only the first three can work with menus), in X. This
2755 closes a compatibility gap with old GLUT, and leaves us the option of
2756 supporting scroll-wheels properly.
2758 2003-09-27 Christopher John Purnell
2760 * progs/demos/Fractals/Makefile.am,
2761 progs/demos/Fractals_random/Makefile.am,
2762 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Don't
2765 2003-09-26 James Jones <puggles@users.sourceforge.net>
2767 * progs/demos/Makefile.am: Package the demos.dsw file.
2768 * progs/demos/demos.dsw: Demos workspace for MSVC users
2772 * src/freeglut_main.c: Corrected a bug w.r.t. display and joystick
2773 events. When getting ready to sleep, we need to go through ALL windows
2774 to check for pending joysticks and to check for pending redisplays. I
2775 was just going through all TOP- LEVEL windows. Eeek. This won't do.
2777 2003-09-23 Brian Paul
2779 * progs/demos/Fractals_random/fractals_random.c: added needClear flag to
2780 take care of initial window clear and window resize clears
2784 * src/freeglut_init.c: Per Nigel Stewart's comments, converted
2786 #ifdef TARGET_HOST_...
2792 in src/freeglut_init.c. These changes should not have any functional
2793 impact at this time, but you don't want bad examples lying around to
2794 trip people up later.
2795 * progs/demos/Fractals_random/fractals_random.c, src/freeglut_main.c,
2796 src/freeglut_window.c: Fixed: * GLUT_SINGLE now should behave more or
2797 less correctly. Thanks to Brian Paul!
2799 * Sleeping is now cognizant of outstanding redisplays.
2801 * Fractals_random has been restored more or less to as-before, save
2802 that it uses the more minimal glFlush() rather than glutSwapBuffers().
2803 glutSwapBuffers() was only required when freeglut was incorrectly
2804 handling promotion to double-buffering.
2808 * src/freeglut_main.c: Moved the #include/#ifdef/#define stuff up to the
2811 Changed #ifdef to #if, per Nigel(?)'s comment. Ooops.
2813 2003-09-22 Christopher John Purnell
2815 * progs/demos/Fractals/Makefile.am,
2816 progs/demos/Fractals_random/Makefile.am,
2817 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Fix to
2818 allow demos to compile before freeglut has been installed.
2820 2003-09-22 James Jones <puggles@users.sourceforge.net>
2822 * progs/demos/Fractals_random/fractals_random.c: Add an idle function to
2823 ensure that the screen gets drawn even when callbacks are not
2824 generated by the mouse/keyboard.
2826 2003-09-21 James Jones <puggles@users.sourceforge.net>
2828 * progs/demos/Fractals/fractals.c,
2829 progs/demos/Fractals_random/fractals_random.c: Note the possible
2830 buffer overflow in window_title
2831 * progs/demos/Fractals/fractals.c: Fix the window title.
2832 * progs/demos/Fractals_random/fractals_random.c: Fix window title, and
2833 ensure that the random integer is not forced to be zero (Thanks
2836 2003-09-20 James Jones <puggles@users.sourceforge.net>
2838 * src/freeglut_main.c: Richard Rauch's patch to ensure that freeglut
2839 does not use 100% CPU even while idling.
2840 * src/freeglut_font.c: Resolution for bug 809561 reported by Nigel
2841 Stewart, regarding a possible array underflow error of -1 in the event
2842 of "character" being zero.
2844 2003-09-14 Christopher John Purnell
2846 * configure.in, progs/demos/Fractals/Makefile.am,
2847 progs/demos/Fractals_random/Makefile.am,
2848 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am,
2849 src/Makefile.am: Removed unused AC_PROG_RANLIB from configure.in Added
2850 passing of $(X_CFLAGS) to compiler.
2852 2003-09-14 James Jones <puggles@users.sourceforge.net>
2854 * include/GL/glut.h: Resolve bug 806008 -- let Microsoft's compiler know
2855 to use Windows libraries even if not using our project files.
2857 2003-09-13 James Jones <puggles@users.sourceforge.net>
2859 * ChangeLog: Taking care of keeping things mostly up-to-date
2860 * TODO: Most everything's been resolved for the 2.0.0 release.
2861 * src/freeglut_joystick.c: Thierry Thomas said that FreeBSD has no
2862 machine/joystick.h, instead a sys/joystick.h. I've made the change --
2863 here's hoping it works.
2864 * progs/demos/One/one.c: Removed the incorrect relative path for
2865 including freeglut.h
2866 * progs/demos/Fractals/Makefile.am,
2867 progs/demos/Fractals_random/Makefile.am,
2868 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Made all
2869 demos compile. Thanks to Thierry Thomas for reporting bug 802809,
2870 which alerted that *none* of the demos compiled automatically!
2871 * src/freeglut_main.c: Nigel Stewart's joystick fix (for hopefully all
2872 platforms), SourceForge bug 805481
2873 * progs/demos/Lorenz/lorenz.dsp, progs/demos/One/one.dsp: Fix location
2874 of the include files from a fixed to relative path. Closes bug 805477
2875 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp, freeglutstatic.dsw:
2876 Add dos line endings. Fixes bug 805476
2878 2003-09-10 Christopher John Purnell
2880 * src/freeglut_joystick.c: A minor fix to that last commit.
2881 * src/freeglut_joystick.c: Removed some remaining glib depandancy.
2883 2003-09-10 James Jones <puggles@users.sourceforge.net>
2885 * src/freeglut_main.c: Re-add catches for the case in which a menu
2886 callback destroys the menu. - John Fay
2888 2003-09-09 Christopher John Purnell
2890 * src/freeglut_main.c: More to fix a deinitialization related crash.
2891 * src/freeglut_structure.c: Fix for a deinitialization related crash.
2893 2003-09-08 James Jones <puggles@users.sourceforge.net>
2895 * src/freeglut_main.c, src/freeglut_structure.c: Menus should deallocate
2896 better now - John Fay
2898 2003-09-05 James Jones <puggles@users.sourceforge.net>
2900 * Makefile.am: Add freeglut_static.dsp to the releases
2902 2003-09-03 Christopher John Purnell
2904 * src/freeglut_gamemode.c: Moved #ifdef for non XFree86 X11 compile.
2906 2003-09-02 Christopher John Purnell
2908 * src/freeglut_window.c: Fix to stop fgSetWindow(NULL) crashing on X11.
2910 2003-08-29 James Jones <puggles@users.sourceforge.net>
2912 * src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_structure.c:
2913 These change a bunch of assignments to calls to set the current window
2914 correctly, and also (possibly) fixes most of the remaining menu
2916 * src/freeglut_main.c: Another typecast bugfix from John Fay
2918 2003-08-28 Christopher John Purnell
2920 * src/freeglut_init.c: Changed #ifdef to #if
2922 2003-08-28 James Jones <puggles@users.sourceforge.net>
2924 * src/freeglut_font.c: change the GLUT stroke function arguments from
2925 "const char *" to "const unsigned char *" - John Fay
2926 * include/GL/freeglut_ext.h, include/GL/glut.h: Changes stroke function
2927 arguments from "const char*" to "const unsigned char *" - John Fay
2929 2003-08-28 Christopher John Purnell
2931 * freeglut-1.3: Removing files from old freeglut-1.3 directory.
2933 2003-08-28 James Jones <puggles@users.sourceforge.net>
2935 * src/freeglut_callbacks.c, src/freeglut_geometry.c,
2936 src/freeglut_init.c, src/freeglut_joystick.c, src/freeglut_main.c,
2937 src/freeglut_menu.c, src/freeglut_structure.c: Casting changes, John
2940 2003-08-27 James Jones <puggles@users.sourceforge.net>
2942 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
2943 src/freeglut_menu.c: Major overhaul to the menu system, by John Fay
2945 2003-08-27 Christopher John Purnell
2947 * include/GL/freeglut.h, include/GL/freeglut_ext.h, include/GL/glut.h:
2948 Added double underscores to the header included macros.
2950 2003-08-20 Christopher John Purnell
2952 * src/freeglut_gamemode.c: Minor typo fix
2954 2003-08-19 Christopher John Purnell
2956 * src/freeglut_gamemode.c: Moving that "#if TARGET_HOST_UNIX_X11" to the
2959 2003-08-17 Christopher John Purnell
2961 * ChangeLog, src/freeglut_gamemode.c, src/freeglut_internal.h,
2962 src/freeglut_window.c: Game mode fixes from Bernhard Kaindl and Eric
2965 2003-08-05 Christopher John Purnell
2967 * src/Makefile.am, src/freeglut_menu.c, src/freeglut_window.c,
2968 src/mwmborder.c: Using override_redirect instead of motif wm hints. It
2969 now rasies the menu windows before showing them. Move the show to
2970 after the reshape and position so we don't get a flash of the menu
2971 window at it's old size and position.
2972 * src/mwmborder.c: I suspect a lot of people will not have motif
2975 2003-08-05 Eric Sandall
2977 * ChangeLog, src/Makefile.am, src/freeglut_window.c: (98)
2978 src/Makefile.am:34 Added mwmborder.c (99) src/freeglut_window.c:67
2979 Removed #included "mwmborder.c"
2980 * ChangeLog, src/freeglut_main.c: src/freeglut_main.c:816 and :1571, set
2981 the current window (John F. Fay)
2983 2003-08-04 Christopher John Purnell
2985 * src/freeglut_state.c: Added X11 code for
2986 glutGet(GLUT_WINDOW_BORDER_WIDTH) and
2987 glutGet(GLUT_WINDOW_HEADER_HEIGHT).
2988 * src/freeglut_internal.h, src/freeglut_state.c: Replacing
2989 glutGet(GLUT_WINDOW_X) and glutGet(GLUT_WINDOW_Y) on X11 with
2990 something that works. Also a minor correction to the xf86vidmode
2993 2003-08-04 James Jones <puggles@users.sourceforge.net>
2995 * src/freeglut_window.c: Keep the X11 decoration-zapping code confined
2996 to X11-using platforms! Oops!
2997 * src/freeglut_window.c, src/mwmborder.c: Menus' decorations are removed
2998 on Linux. Not sure if we want the mwmborder.c a separate file or not;
2999 doing it separate for right now. Makefile was not updated, since the
3000 .c is just #included.
3002 2003-08-03 Christopher John Purnell
3004 * configure.in: Got rid of configure warnings when using a newer
3007 2003-08-02 Christopher John Purnell
3009 * src/freeglut_glutfont_definitions.c, src/freeglut_internal.h: Putting
3010 stuff back that was undone with the menu code committed.
3012 2003-08-02 James Jones <puggles@users.sourceforge.net>
3014 * src/freeglut_callbacks.c, src/freeglut_display.c,
3015 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
3016 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
3017 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
3018 Major menu changes (they appear in their own window, have own
3019 rendering context) by John Fay and a little by James C. Jones. They
3020 work perfectly on Win32, and work... on Linux.
3022 2003-08-01 Christopher John Purnell
3024 * configure.in, src/Makefile.am, src/freeglut_glutfont_definitions.c,
3025 src/freeglut_internal.h: Added autoconf detection for the xf86 vid
3028 2003-08-01 Eric Sandall
3030 * ChangeLog, src/freeglut_window.c: src/freeglut_window.c:551 Removed
3031 extra carriage return for Windows users (John F. Fay)
3032 * ChangeLog: Credit Dave Reed for fix
3033 * ChangeLog, src/freeglut_internal.h: src/freeglut_initial.c:91 Added
3034 check for SOLARIS OS
3036 2003-07-23 Christopher John Purnell
3038 * include/GL/glut.h, src/Makefile.am, src/freeglut_font.c,
3039 src/freeglut_glutfont_definitions.c: This should put an end to the
3040 font binary compatibility issue.
3042 2003-07-23 Eric Sandall
3044 * ChangeLog, src/freeglut_window.c: src/freeglut_window.c Windowing
3046 * ChangeLog, doc/Makefile.am: doc/Makefile.am:4 Removed trailing
3047 backslash and added an empty last line
3049 2003-07-23 Brian Paul
3051 * doc/download.html: no change, testing CVS
3053 2003-07-22 Brian Paul
3055 * doc/download.html: no change, just testing CVS
3057 2003-07-22 Eric Sandall
3059 * ChangeLog, freeglut.lsm: freeglut.lsm:3 Removed 'beta' label for next
3060 release, thanks to Bernhard Kaindl.
3062 2003-07-21 Christopher John Purnell
3064 * src/Makefile.am: The version info had the revision and the age
3067 2003-07-21 Eric Sandall
3069 * ChangeLog, src/Makefile.am: src/Makefile.am:38 Changed versioning to
3070 11:0:8 thanks to Bernhard Kaindl
3072 2003-07-17 Eric Sandall
3074 * ChangeLog, freeglut.dsp, freeglut_static.dsp: Applied John F. Fay's
3075 fixes to freeglut.dsp and freeglut_static.dsp
3076 * ChangeLog, src/freeglut_state.c: Changed the overlay
3077 (freeglut_state.c:662) to return FALSE, as it's not imp lemented yet
3079 2003-07-12 Andreas Umbach <marvin@dataway.ch>
3081 * src/Makefile.am: renamed freeglut library to glut, bumped version info
3083 * configure.in: bumped version number to 2.0.0
3084 * Makefile.am, configure.in, doc/Makefile.am, include/GL/Makefile.am,
3085 progs/Makefile.am, progs/demos/Fractals/Makefile.am,
3086 progs/demos/Fractals_random/Makefile.am,
3087 progs/demos/Lorenz/Makefile.am, progs/demos/Makefile.am,
3088 progs/demos/One/Makefile.am, src/Makefile.am: changes for make dist
3089 * freeglut13.plg: MSVC generated file
3091 2003-07-11 Christopher John Purnell
3093 * include/GL/glut.h, src/freeglut_font.c: Fix for the font binary
3094 compatibility problem.
3096 2003-07-10 Christopher John Purnell
3098 * src/Makefile.am: Changed to build libfreeglut.so.2.0.0
3100 2003-07-10 James Jones <puggles@users.sourceforge.net>
3102 * TODO, freeglut.dsp, freeglut_static.dsp: Changes to TODO, Windows
3103 files - from John Fay
3104 * progs/demos/Fractals_random/Fractals_random.dsp: Changes by John Fay
3105 * progs/demos/Fractals/Fractals.dsp, progs/demos/Fractals/fractals.c:
3106 Changes to the Fractals demo by John Fay
3107 * progs/demos/One/one.dsp: Initial project file from John Fay
3108 * progs/demos/Lorenz/lorenz.c, progs/demos/Lorenz/lorenz.dsp:
3109 Modifications from John Fay
3111 2003-07-07 Christopher John Purnell
3113 * src/freeglut_main.c: glutMainLoopEvent() was not closing windows
3114 properly. Moved call to fgCloseWindows() from glutMainLoop() to the
3115 end of glutMainLoopEvent().
3117 2003-07-03 Eric Sandall
3119 * ChangeLog, src/freeglut_misc.c: Removed unused char *ptr from
3122 2003-07-02 Christopher John Purnell
3124 * src/freeglut_main.c: It was crashing on and event for a unknown
3127 2003-07-02 Brian Paul
3129 * src/freeglut_misc.c: rewrite of glutExtensionSupported - works
3132 2003-07-02 Eric Sandall
3134 * ChangeLog: * Removed tests directory
3135 * ChangeLog, Makefile.am, configure.in, progs/demos/One,
3136 progs/demos/One/Makefile.am, progs/demos/One/one.c, tests: * Removed
3137 genfonts/genstrokes code, updated configure.in and Makefile.in
3139 * Moved tests/one.c into progs/demos/One/one.c, updated configure.in
3141 * genfonts: Removed genfonts
3143 2003-07-02 Christopher John Purnell
3145 * genfonts/to_stroke.y: Added some semicolons that yacc was warning
3148 2003-07-01 James Jones <puggles@users.sourceforge.net>
3150 * AUTHORS: John Fay commanded me to add my name to the file. He's crazy,
3153 2003-07-01 Eric Sandall
3155 * ChangeLog, src/freeglut_misc.c: Fixed the 'ptr + len' problem in
3158 2003-07-01 Brian Paul
3160 * doc/freeglut_user_interface.html: version bumps
3161 * tests/Makefile.am: bump version to 2.0
3162 * src/Makefile.am, src/freeglutdll.def: bump versions to 2.0
3163 * src/freeglut_gamemode.c: xf86VidMode error checking (Andrew
3166 2003-06-30 Brian Paul
3168 * progs/demos/Lorenz, progs/demos/Lorenz/lorenz.c,
3169 progs/demos/Lorenz/lorenz.dsp: Lorenz attractor demo (John Fay)
3170 * freeglut.dsp, freeglut_static.dsp: updates from John Fay
3172 2003-06-28 Eric Sandall
3174 * ChangeLog, include/GL/Makefile.am: Now installs freeglut_ext.h and
3175 glut.h to /usr/include/GL (was missing before)
3177 2003-06-27 Brian Paul
3179 * include/GL/freeglut_ext.h, src/freeglut_init.c,
3180 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_state.c,
3181 src/freeglut_stroke_mono_roman.c: XF86 game mode fixes, context
3182 sharing option. (John Fay)
3184 2003-06-25 Eric Sandall
3186 * ChangeLog: Added another of my changes (freeglut.kdevelop) and fixed
3187 the version number for my MS VS change (*.dsp)
3189 2003-06-25 Brian Paul
3191 * src/freeglut_internal.h: version bumps
3192 * freeglut.lsm, include/GL/glut.h, src/freeglut_stroke_mono_roman.c,
3193 src/freeglut_stroke_roman.c: Assorted version 2.0.0 updates (John
3195 * doc/freeglut_user_interface.html: updated version, italicize freeglut
3198 2003-06-25 Eric Sandall
3200 * ChangeLog, freeglut.dsp, freeglut_static.dsp: Added 'freeglut_ext.c'
3201 to the project files 'freeglut.dsp' and 'freeglut_static.dsp' (New
3204 2003-06-24 Andreas Umbach <marvin@dataway.ch>
3206 * ChangeLog: Fixed autogen.sh and removed aclocal.m4
3207 * aclocal.m4: this file is autogenerated by aclocal
3208 * autogen.sh: fixed aclocal / autoheader order; some cosmetics
3210 2003-06-24 Eric Sandall
3212 * freeglut.kdevelop: Project file for Gideon (KDevelop 3.0)
3214 2003-06-23 Eric Sandall
3216 * ChangeLog, Makefile.am, TODO, configure.in, freeglut.dsp,
3217 freeglut.kdevprj, freeglut13.dsp, freeglut13.plg, freeglut_static.dsp,
3218 freeglutdll.dsp, src, src/Makefile.am, src/freeglut_callbacks.c,
3219 src/freeglut_cursor.c, src/freeglut_display.c, src/freeglut_ext.c,
3220 src/freeglut_font.c, src/freeglut_font_data.c,
3221 src/freeglut_gamemode.c, src/freeglut_geometry.c, src/freeglut_init.c,
3222 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
3223 src/freeglut_menu.c, src/freeglut_misc.c, src/freeglut_overlay.c,
3224 src/freeglut_state.c, src/freeglut_stroke_mono_roman.c,
3225 src/freeglut_stroke_roman.c, src/freeglut_structure.c,
3226 src/freeglut_teapot.c, src/freeglut_videoresize.c,
3227 src/freeglut_window.c, src/freeglutdll.def, src/templates,
3228 src/templates/cpp_template, src/templates/header_template,
3229 tests/Makefile.am: Changed all references to the 'freeglut-1.3'
3230 directory to 'src', copied 'freeglut-1.3' to 'src' and added all files
3231 from 'src' to the repository (TODO #34).
3232 * ChangeLog: Updated ChangeLog with my aclocal.m4 change
3233 * aclocal.m4: Updated aclocal.m4 with aclocal 1.7.3 (was created with
3236 2003-06-23 Brian Paul
3238 * freeglut-1.3/freeglut_geometry.c: adjusted precision (John Fay)
3239 * doc/freeglut_user_interface.html, freeglut-1.3/freeglut_display.c,
3240 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3241 freeglut-1.3/freeglut_teapot.c, include/GL/freeglut_ext.h,
3242 include/GL/glut.h: Assorted updates from John Fay.
3244 2003-06-20 Eric Sandall
3246 * TODO: Updated TODO from John Fay
3248 2003-06-20 Brian Paul
3250 * progs, progs/demos, progs/demos/Fractals,
3251 progs/demos/Fractals/Fractals.dsp, progs/demos/Fractals/fractals.c,
3252 progs/demos/Fractals/fractals.dat, progs/demos/Fractals_random,
3253 progs/demos/Fractals_random/Fractals_random.dsp,
3254 progs/demos/Fractals_random/fractals.dat,
3255 progs/demos/Fractals_random/fractals_random.c: Fractal demo (John Fay)
3257 2003-06-20 Eric Sandall
3259 * ChangeLog: Added the autogen.sh addition to ChangeLog
3260 * autogen.sh: Initial version of autogen.sh, tested here and creates the
3263 2003-06-20 Brian Paul
3265 * freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_state.c:
3266 Windows patches (Eero Pajarre)
3267 * NEWS: list the 1.4 release (fill in date) - this is a cvs check-in
3270 2003-06-19 Don Heyse <dheyse@hotmail.com>
3272 * freeglut-1.3/freeglut_joystick.c: Oops, missed the
3273 fghJoystickRawRead() fix for FreeBSD.
3275 2003-06-19 Brian Paul
3277 * doc/freeglut_user_interface.html, freeglut-1.3/freeglut_display.c,
3278 freeglut-1.3/freeglut_ext.c, freeglut-1.3/freeglut_internal.h,
3279 freeglut-1.3/freeglut_main.c: s/FreeGLUT/freeglut/
3281 2003-06-19 Don Heyse <dheyse@hotmail.com>
3283 * freeglut-1.3/freeglut_joystick.c: Applied tthierry's patch to fix
3284 compiling on FreeBSD.
3286 2003-06-19 Brian Paul
3288 * freeglut-1.3/freeglut_internal.h: added VERSION_MAJOR/MINOR/PATCH
3289 * doc/freeglut_user_interface.html: restore text lost from previous
3291 * include/GL/glut.h: s/FREEGLUT_VERSION_1_3/FREEGLUT_VERSION_1_4/
3293 2003-06-19 Eric Sandall
3295 * include/GL/freeglut_ext.h, include/GL/glut.h: GLUT_VERSION updates
3298 2003-06-18 Eric Sandall
3300 * AUTHORS: Forgot a file...looked so innocous just sitting there... :)
3301 * ChangeLog, doc/freeglut_user_interface.html,
3302 freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_ext.c,
3303 freeglut-1.3/freeglut_internal.h, freeglut-1.3/freeglut_menu.c,
3304 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_teapot.c,
3305 freeglut-1.3/freeglut_window.c, include/GL/freeglut_ext.h: * Hopefully
3306 I did THIS one right (used 'cvs update' to Merge)
3308 Authors - The first update in quite a while
3310 ChangeLog - Added the recent changes
3312 freeglut_callbacks.c - Added Aleksandar Donev's menu destruction
3315 freeglut_internal.h - Added the user data to the structures and made
3316 the menu state/status callbacks window-independent
3318 freeglut_menu.c - Removed several OpenGL compiler warnings and added
3319 A. Donev's menu user data functions
3321 freeglut_structure.c - Added Aleksandar Donev's menu destruction
3324 freeglut_teapot.c - Removed or suppressed several compiler warnings
3326 freeglut_window.c - Updated the window positioning code and added A.
3327 Donev's window user data
3329 freeglut_ext.h - Added the menu destruction callback and user data
3331 * freeglut-1.3/freeglut_ext.h: * Removed freeglut_ext.h (wasn't supposed
3334 2003-06-18 Brian Paul
3336 * doc/freeglut_user_interface.html, freeglut-1.3/freeglut_internal.h,
3337 freeglut-1.3/freeglut_state.c, include/GL/freeglut_ext.h,
3338 include/GL/glut.h: Added FREEGLUT_VERSION_1_3. Added GLUT_VERSION for
3339 glutGet(). Added glutGet() documentation.
3340 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_ext.h,
3341 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_internal.h,
3342 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_state.c,
3343 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_window.c:
3344 remove DOS-style CR characters
3345 * doc/freeglut_user_interface.html: added glutGetProcAddress and
3347 * ChangeLog: added glutGetProcAddress() and GLUT_FPS
3349 2003-06-17 Brian Paul
3351 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_init.c,
3352 freeglut-1.3/freeglut_internal.h: restore GLUT_FPS env var feature
3353 lost in previous check-in
3355 2003-06-17 Eric Sandall
3357 * ChangeLog: * Updated ChangeLog
3358 * freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_structure.c: Set
3359 #4: * Fixes a couple of compiler warnings and other bugs. *
3360 freeglut_main.c: Removes a compiler warning * freeglut_structure.c:
3361 Sets the current window before calling the window closure callback *
3362 Possibly other changes
3363 * freeglut-1.3/freeglut_ext.h: * Rest of Set #3
3364 * freeglut-1.3/freeglut_state.c: Set #3: Fixes for window positioning
3366 * freeglut-1.3/freeglut_init.c: Eero Pajarre's GLUT_ICON code for
3368 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_internal.h,
3369 freeglut-1.3/freeglut_window.c: First group of patches: Adds
3370 single-buffered rendering (or its emulation) in Windows.
3372 2003-06-17 Brian Paul
3374 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_init.c,
3375 freeglut-1.3/freeglut_internal.h: added GLUT_FPS env var option
3376 * freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_ext.c,
3377 include/GL/freeglut_ext.h: added glutGetProcAddress()
3379 2003-06-12 Don Heyse <dheyse@hotmail.com>
3381 * freeglut-1.3/freeglut_main.c: Fix the keyboard up callback and a
3383 * freeglut-1.3/freeglut_structure.c: Set the current window before
3384 calling the window closure callback.
3385 * freeglut-1.3/freeglut_state.c, include/GL/freeglut_ext.h: John's
3386 window positioning corrections.
3387 * freeglut-1.3/freeglut_init.c: Eero Pajarre's icon code.
3388 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_internal.h,
3389 freeglut-1.3/freeglut_window.c: Single buffered rendering for Windows.
3391 2003-06-02 Don Heyse <dheyse@hotmail.com>
3393 * doc/freeglut_user_interface.html: John Documented InitWindowPosition
3394 extensions and added some kbd fn info.
3395 * ChangeLog: Documented Johns changes from May 03.
3396 * freeglut-1.3/freeglut_state.c: Do not allow glutGet to reposition the
3397 window 1 pixel toward bottom right.
3398 * freeglut-1.3/freeglut_main.c: Pass mouse pos to Windows kbd callback.
3399 Resequenced a few things for UNIX.
3401 2003-03-23 Christopher John Purnell
3403 * freeglut-1.3/freeglut_gamemode.c: Applied patch to fix GameMode issues
3404 supplied by Bernhard Kaindl.
3406 2003-03-12 Don Heyse <dheyse@hotmail.com>
3408 * include/GL/glut.h: Switch to ANSI C comments.
3409 * freeglut-1.3/freeglut_cursor.c, freeglut-1.3/freeglut_display.c,
3410 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_geometry.c,
3411 freeglut-1.3/freeglut_internal.h, freeglut-1.3/freeglut_joystick.c,
3412 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_structure.c,
3413 freeglut-1.3/freeglut_window.c: Switch to ANSI C comments. Removed
3414 always true tests on unsigned char. Single buffering fix..
3416 2003-02-13 Don Heyse <dheyse@hotmail.com>
3418 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp: Switching to John
3419 Fays version of the VC++ project files.
3421 2003-02-08 Steve Baker <steve@sjbaker.org>
3423 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_joystick.c:
3424 Removed erroneous GPL license comments.
3426 2003-02-07 Don Heyse <dheyse@hotmail.com>
3428 * freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_cursor.c,
3429 freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_font_data.c,
3430 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3431 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_joystick.c,
3432 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_overlay.c,
3433 freeglut-1.3/freeglut_stroke_mono_roman.c,
3434 freeglut-1.3/freeglut_stroke_roman.c, freeglut-1.3/freeglut_teapot.c,
3435 freeglut-1.3/freeglut_videoresize.c: Moved freeglut_internal.h to the
3436 freeglut source code private directory.
3437 * freeglut-1.3/freeglut_structure.c: SubWindow border thickness fix.
3438 Overlay changes in glutGet.
3439 * freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3440 freeglut-1.3/freeglut_state.c, freeglut-1.3/freeglut_window.c: Johns
3441 changes for layers, fgSetWindow, and fgSetupPixelFormat.
3442 * freeglut-1.3/freeglut_font.c: John fixed a bug that make bitmap font
3443 one pixel wider than its drawn.
3444 * freeglut-1.3/freeglut_internal.h, include/GL/freeglut_internal.h:
3445 Moved freeglut_internal.h to the private directory with the other
3447 * include/GL/freeglut.h, include/GL/freeglut_ext.h, include/GL/glut.h:
3448 Broke freeglut.h into glut.h and freeglut_ext.h
3450 2003-01-06 Don Heyse <dheyse@hotmail.com>
3452 * freeglut-1.3/freeglutdll.def: Exports file for Win32 dll. One EXPORT
3453 for each FGAPI line in freeglut.h
3455 2003-01-04 Steve Baker <steve@sjbaker.org>
3457 * aclocal.m4, freeglut-1.3/freeglut_joystick.c: Cleanup joystick
3460 2002-12-10 Don Heyse <dheyse@hotmail.com>
3462 * freeglut.dsw, freeglutdll.dsp: Allow DLL and static library build on
3464 * include/GL/freeglut.h: Added check for FREEGLUT_DLL to allow static &
3465 DLL build on Windows.
3467 2002-12-04 Don Heyse <dheyse@hotmail.com>
3469 * freeglut-1.3/freeglut_font_data.c: More bitmap font spacing fixes from
3472 2002-11-29 Don Heyse <dheyse@hotmail.com>
3474 * freeglut-1.3/freeglut_init.c: Fixed Win95 crash when getenv("DISPLAY")
3476 * freeglut-1.3/freeglut_font_data.c: The lowercase t in helvetica12 was
3478 * freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c:
3479 Adjusted character spacing on a few fonts.
3480 * ChangeLog: Many updates from John Fay.
3481 * freeglutstatic.dsw: Added Visual C++ 6 Static library project for John
3484 2002-11-28 Don Heyse <dheyse@hotmail.com>
3486 * freeglut.dsp: Visual C++ 6 project file for static freeglut lib.
3487 * include/GL/freeglut.h, include/GL/freeglut_internal.h: Many updates
3488 from John Fay. (freeglut.h may need a small change to allow Win32 DLL
3490 * freeglut-1.3/freeglut_geometry.c: Many updates from John Fay.
3491 * freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_cursor.c,
3492 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c,
3493 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_init.c,
3494 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3495 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_state.c,
3496 freeglut-1.3/freeglut_stroke_mono_roman.c,
3497 freeglut-1.3/freeglut_stroke_roman.c,
3498 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_window.c:
3499 Many updates from John Fay.
3500 * freeglut-1.3/freeglut_joystick.c: Fixes from freeglut_portable patch.
3501 Memory leak fix from John. Return_if_fail fix.
3503 2002-11-26 Don Heyse <dheyse@hotmail.com>
3505 * doc/freeglut_user_interface.html: Added on behalf of John Fay.
3507 2002-10-22 Don Heyse <dheyse@hotmail.com>
3509 * freeglut-1.3/freeglut_geometry.c: Implemented tetrahedra, octahedra,
3510 dodecahedra, and icosahedra. Checked in on behalf of John F. Fay
3511 <john.fay@eglin.af.mil>.
3513 2002-05-20 Don Heyse <dheyse@hotmail.com>
3515 * freeglut-1.3/freeglut_font.c: Fixed previous fix so it compiles.
3517 2002-05-20 Christopher John Purnell
3519 * freeglut-1.3/freeglut_font.c: My bad.
3521 2002-05-18 Christopher John Purnell
3523 * freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_font.c,
3524 freeglut-1.3/freeglut_stroke_mono_roman.c,
3525 freeglut-1.3/freeglut_stroke_roman.c, genfonts/Roman_M.src,
3526 genfonts/lex.l, genfonts/to_stroke.y, genfonts/wfont.h,
3527 include/GL/freeglut.h, include/GL/freeglut_internal.h: Added stroke
3530 2002-05-17 Christopher John Purnell
3532 * freeglut-1.3/freeglut_cursor.c, freeglut-1.3/freeglut_display.c,
3533 freeglut-1.3/freeglut_overlay.c, freeglut-1.3/freeglut_teapot.c,
3534 freeglut-1.3/freeglut_videoresize.c, tests/one.c: Removed some DOS
3537 2002-05-16 Christopher John Purnell
3539 * freeglut-1.3/freeglut_main.c: Removed one last glib call.
3541 2002-01-20 Steve Baker <steve@sjbaker.org>
3543 * README, freeglut-1.3/.deps/freeglut_callbacks.P,
3544 freeglut-1.3/.deps/freeglut_cursor.P,
3545 freeglut-1.3/.deps/freeglut_display.P,
3546 freeglut-1.3/.deps/freeglut_font.P,
3547 freeglut-1.3/.deps/freeglut_font_data.P,
3548 freeglut-1.3/.deps/freeglut_gamemode.P,
3549 freeglut-1.3/.deps/freeglut_geometry.P,
3550 freeglut-1.3/.deps/freeglut_init.P,
3551 freeglut-1.3/.deps/freeglut_joystick.P,
3552 freeglut-1.3/.deps/freeglut_main.P,
3553 freeglut-1.3/.deps/freeglut_menu.P,
3554 freeglut-1.3/.deps/freeglut_misc.P,
3555 freeglut-1.3/.deps/freeglut_overlay.P,
3556 freeglut-1.3/.deps/freeglut_state.P,
3557 freeglut-1.3/.deps/freeglut_structure.P,
3558 freeglut-1.3/.deps/freeglut_teapot.P: Removed a bunch of '.P' files
3559 that don't belong in the CVS archive.
3561 2001-08-05 Christopher John Purnell
3563 * freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_main.c,
3564 freeglut-1.3/freeglut_window.c, include/GL/freeglut_internal.h: Added
3565 keyup events code. Added missing specal keys. Made menu callbacks
3567 * freeglut-1.3/freeglut_window.c: More position tweeks.
3569 2001-08-04 Christopher John Purnell
3571 * freeglut-1.3/freeglut_main.c, include/GL/freeglut.h: Fixed redisplay
3572 bug. Fixed modifier values.
3573 * freeglut-1.3/freeglut_window.c: Improved window positioning.
3575 2001-07-30 Christopher John Purnell
3577 * freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_structure.c: A
3580 2001-07-30 Andreas Umbach <marvin@dataway.ch>
3582 * freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_main.c: one more
3584 * include/GL/freeglut_internal.h: removed glib dependencies from win32
3585 * freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_init.c,
3586 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_window.c: -
3587 removed glib dependencies from win32 code
3589 2001-07-29 Christopher John Purnell
3591 * freeglut-1.3/freeglut_structure.c: Fixed bug list code.
3592 * freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_callbacks.c,
3593 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c,
3594 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3595 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_joystick.c,
3596 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3597 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_state.c,
3598 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_window.c,
3599 genfonts/Makefile.am, genfonts/genfonts.c, genfonts/genstroke.c,
3600 include/GL/freeglut.h, include/GL/freeglut_internal.h: Removed glib
3602 * configure.in, freeglut-1.3/Makefile.am, genfonts/Makefile.am: The
3603 build system now looks for X.
3605 2001-07-27 Steve Baker <steve@sjbaker.org>
3607 * doc, doc/download.html, doc/freeglut.html, doc/freeglut_logo.png,
3608 doc/index.html, doc/ogl_sm.png, doc/progress.html, doc/structure.html:
3610 * genfonts/.deps, tests/.deps: Removed some more files that don't belong
3612 * configure, freeglut-1.3/Makefile, freeglut-1.3/Makefile.in,
3613 genfonts/Makefile, genfonts/Makefile.in, include/GL/Makefile,
3614 include/GL/Makefile.in, include/Makefile, include/Makefile.in,
3615 tests/Makefile, tests/Makefile.in: Removed files checked in in error.
3616 * freeglut-1.3/.deps, freeglut-1.3/.deps/freeglut_callbacks.P,
3617 freeglut-1.3/.deps/freeglut_cursor.P,
3618 freeglut-1.3/.deps/freeglut_display.P,
3619 freeglut-1.3/.deps/freeglut_font.P,
3620 freeglut-1.3/.deps/freeglut_font_data.P,
3621 freeglut-1.3/.deps/freeglut_gamemode.P,
3622 freeglut-1.3/.deps/freeglut_geometry.P,
3623 freeglut-1.3/.deps/freeglut_init.P,
3624 freeglut-1.3/.deps/freeglut_joystick.P,
3625 freeglut-1.3/.deps/freeglut_main.P,
3626 freeglut-1.3/.deps/freeglut_menu.P,
3627 freeglut-1.3/.deps/freeglut_misc.P,
3628 freeglut-1.3/.deps/freeglut_overlay.P,
3629 freeglut-1.3/.deps/freeglut_state.P,
3630 freeglut-1.3/.deps/freeglut_structure.P,
3631 freeglut-1.3/.deps/freeglut_teapot.P,
3632 freeglut-1.3/.deps/freeglut_videoresize.P,
3633 freeglut-1.3/.deps/freeglut_window.P, freeglut-1.3/Makefile,
3634 freeglut-1.3/Makefile.in: Initial revision
3635 * ., AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, NEWS, README,
3636 TODO, acconfig.h, aclocal.m4, configure, configure.in, freeglut-1.3,
3637 freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_callbacks.c,
3638 freeglut-1.3/freeglut_cursor.c, freeglut-1.3/freeglut_display.c,
3639 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c,
3640 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3641 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_joystick.c,
3642 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3643 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_overlay.c,
3644 freeglut-1.3/freeglut_state.c, freeglut-1.3/freeglut_structure.c,
3645 freeglut-1.3/freeglut_teapot.c, freeglut-1.3/freeglut_videoresize.c,
3646 freeglut-1.3/freeglut_window.c, freeglut-1.3/templates,
3647 freeglut-1.3/templates/cpp_template,
3648 freeglut-1.3/templates/header_template, freeglut.dsw,
3649 freeglut.kdevprj, freeglut.lsm, freeglut13.dsp, freeglut13.plg,
3650 genfonts, genfonts/.deps, genfonts/.deps/genfonts.P,
3651 genfonts/.deps/genstroke.P, genfonts/Makefile, genfonts/Makefile.am,
3652 genfonts/Makefile.in, genfonts/Roman.src, genfonts/Roman_M.src,
3653 genfonts/genfonts.c, genfonts/genstroke.c, include, include/GL,
3654 include/GL/Makefile, include/GL/Makefile.am, include/GL/Makefile.in,
3655 include/GL/freeglut.h, include/GL/freeglut_internal.h,
3656 include/Makefile, include/Makefile.am, include/Makefile.in,
3657 install-sh, mkinstalldirs, stamp-h, stamp-h.in, tests, tests/.deps,
3658 tests/.deps/one.P, tests/Makefile, tests/Makefile.am,
3659 tests/Makefile.in, tests/one.c: Initial revision