1 2009-03-10 John F. Fay <john.fay.ctr@eglin.af.mil>
3 * progs/demos/demos.dsw: Adding the "smooth_opengl3" demo
5 2009-03-09 John F. Fay <john.fay.ctr@eglin.af.mil>
7 * include/GL/freeglut_std.h: Making the definition of
8 "WIN32_LEAN_AND_MEAN" conditional to enhance compatibility with GLEW
9 per suggestion by Diederick C. Niehorster in e-mail dated Mon 3/9/2009
11 * progs/demos/Fractals/fractals.c: Setting the "fractals" demo initial
12 number of levels to 4 per suggestion from Diederick C. Niehorster
13 [diederick@niehorster.eu] in e-mail dated Mon 3/9/2009 5:29 AM
15 2009-03-01 John F. Fay <john.fay.ctr@eglin.af.mil>
17 * progs/demos/CallbackMaker/CallbackMaker.c,
18 progs/demos/Lorenz/lorenz.c, progs/demos/shapes/shapes.c: Fixing
19 Microsoft compatibility with the new "vsnprintf" by putting an
20 underscore in front of it if WIN32 is defined but __CYGWIN__ is not
22 2009-03-01 Sven Panne <sven.panne@aedion.de>
24 * configure.ac: We do not depend on GLU anymore
25 * README.win32: Added notes for building under Cygwin
26 * src/Makefile.am: To build shared libraries on Windows, one has to
27 declare explicitly that there are no undefined symbols during linking.
28 No idea why, but this seems to be the only way to enable this on
29 Cygwin via -mno-cygwin. Hopefully this won't cause problems on other
30 platforms (which has to be tested).
31 * progs/demos/smooth_opengl3/smooth_opengl3.c: Windows fun again: Use
32 the correct calling convention for OpenGL extension entries.
34 2009-02-28 Sven Panne <sven.panne@aedion.de>
36 * progs/demos/smooth_opengl3/smooth_opengl3.c: When -mno-cygwin is used,
37 we get ancient GL headers, so be a bit more conservative.
38 * progs/demos/Fractals_random/fractals_random.c,
39 progs/demos/Lorenz/lorenz.c, progs/demos/shapes/shapes.c:
40 _CrtDumpMemoryLeaks and its header are Microsoft-specific, e.g. Cygwin
42 * src/freeglut_window.c: Do not try to destroy a GLX context when there
43 is none, e.g. when glXCreateContextAttribsARB is not there.
44 * src/freeglut_joystick.c: Use snprintf or _snprintf instead of the
45 potentially dangerous sprintf to avoid warnings.
47 NOTE: Due to excessive use of #ifdefs, the joystick code is on the
48 border of being unmaintainable! I could only check that it compiles
49 cleanly on my Linux box. Others should test this on their platforms
50 (Windows, Mac OS X, *BSD) to make sure that nothing has been broken.
51 * progs/demos/CallbackMaker/CallbackMaker.c,
52 progs/demos/Lorenz/lorenz.c, progs/demos/shapes/shapes.c: Use
53 vsnprintf instead of the potentially dangerous sprintf to avoid
54 warnings. Using snprintf directly would be a little bit more tricky,
55 because once again Microsoft decided to avoid followind standards and
56 provide _snprintf instead. We could use this, too, but this would
57 require an additional autoconf check, which I'd like to avoid, if
60 Note: If VS *still* issues warnings, but this time about vsnprintf,
61 somebody should add some pragmas or whatever is needed to shut up that
62 warning, it would be silly.
63 * progs/demos/Lorenz/lorenz.c: Position the distance message closer to
64 the middle of the window, it has been far, far off to the upper right.
65 * src/freeglut_internal.h: Synched version number with configure.ac. We
66 should better remove this redundancy and calculate this from
67 configure.ac directly.
69 2009-02-19 John F. Fay <john.fay.ctr@eglin.af.mil>
71 * progs/demos/smooth_opengl3/smooth_opengl3.dsp,
72 progs/demos/smooth_opengl3/smooth_opengl3Static.dsp: Fixing the
73 DOS/Linux line ending problems in the progs/demos/smooth_opengl3
76 2009-02-18 John F. Fay <john.fay.ctr@eglin.af.mil>
78 * src/freeglut_window.c: Fixing a build error caused by a variable
79 declaration being out of place
81 2009-02-15 Sven Panne <sven.panne@aedion.de>
83 * progs/demos/smooth_opengl3/smooth_opengl3.c: Final changes to make the
84 example fully OpenGL-3.0-compliant:
86 * Use vertex attribute arrays.
88 * Use our own projection matrix.
90 * Do not use deprecated vertex/fragment shader variables.
91 * progs/demos/smooth_opengl3/smooth_opengl3.c: Use GLSL shaders (still
92 1.20, though). Dump GL info.
93 * progs/demos/smooth_opengl3/smooth_opengl3.c: Added a commandline
94 option for 'classic' contexts. Aesthetic changes.
95 * progs/demos/smooth_opengl3/smooth_opengl3.c: Use VBOs in new example.
98 2009-02-14 Sven Panne <sven.panne@aedion.de>
100 * configure.ac, progs/demos/Makefile.am, progs/demos/smooth_opengl3,
101 progs/demos/smooth_opengl3/Makefile.am,
102 progs/demos/smooth_opengl3/smooth_opengl3.c,
103 progs/demos/smooth_opengl3/smooth_opengl3.dsp,
104 progs/demos/smooth_opengl3/smooth_opengl3Static.dsp: Initial version
105 of a fully OpenGL-3.0-compliant of the famous smooth.c from the Red
106 Book. What has been done already:
108 * Explicitly request a forward-compatible 3.0 context
110 * Report GL errors, if any, at a few crucial places
112 * Replaced gluOrtho2D with a home-grown matrix + glLoadMatrixf
114 What remains to be done:
116 * Use vertex shaders and fragment shaders
118 * Use vertex buffer objects
120 2009-02-13 Sven Panne <sven.panne@aedion.de>
122 * README: Mention autogen.sh
123 * src/freeglut_window.c: Synchronized WGL behavior with GLX
124 implementation: Do not call the new context creation API when it is
125 not required. Fixing a bug in a previous commit on the way... :-}
126 * src/freeglut_internal.h, src/freeglut_window.c: More refactorings:
127 Removed useless return value. Simplified control structures even more.
128 * src/freeglut_window.c: Refactoring only (replace nested conditionals
129 with guard clauses), making the normal path of execution much clearer.
130 * configure.ac: We have added some API entries, so we have to update
131 library version information conforming to
132 http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
133 * autogen.sh, configure.ac: Avoid CR\LF vs. LF troubles when using
134 TortoiseSVN plus Cygwin.
135 * .: Ignore config.lt, too. It seems to be generated by recent
138 2009-02-13 John F. Fay <john.fay.ctr@eglin.af.mil>
140 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_window.c:
141 Adding OpenGL 3.0 context detection for Windows per e-mail from Paul
142 Martz dated Thu 2/12/2009 9:03 AM (more or less)
144 2009-02-03 John F. Fay <john.fay.ctr@eglin.af.mil>
146 * README: Adding some instructions about building on a *nix platform to
148 * include/GL/freeglut_ext.h, src/freeglut_main.c: Removing some errant
149 tabs, fixing ticket #2137721, and adding special-key capability to
150 recognizing the NumLock, Delete, and keypad '5' keys
151 * src/freeglut_joystick.c, src/freeglut_main.c: A further response to
152 bug [ 1804696 ] Warnings when building on OpenSolaris -- per comment
153 by Nigel Stewart on that bug report
155 2009-02-02 John F. Fay <john.fay.ctr@eglin.af.mil>
157 * src/freeglut_internal.h, src/freeglut_joystick.c: Fixing bug [ 1804696
158 ] Warnings when building on OpenSolaris as updated 2/2/09 by Nigel
161 2008-11-20 Sven Panne <sven.panne@aedion.de>
163 * src/freeglut_glutfont_definitions.c, src/freeglut_internal.h: Yet
164 another try to make the font definitions compile on all platforms.
166 2008-11-17 John F. Fay <john.fay.ctr@eglin.af.mil>
168 * src/freeglut_glutfont_definitions.c, src/freeglut_internal.h: Allowing
169 "freeglut" to compile without errors under *nix. Before this, there
170 were problems with conflicting definitions of the GLUT font
173 2008-11-06 Sven Panne <sven.panne@aedion.de>
175 * src/freeglut_main.c: Ooops, forgot one file in the previous commit
176 (fix for "--without-x").
177 * configure.ac: Use autoconf to detect gettimeofday instead of broken
180 Note: freeglut compiles under Cygwin now, even when "--without-x" is
181 used for configuration.
182 * configure.ac: We need to link against winmm under Cygwin when
183 --without-x is used to get timeBeginPeriod, timeEndPeriod, joyGetPosEx
185 * src/freeglut_window.c: Fixed first parameter of CreateWindow call,
186 used for multisampling on Windows. It compiles, but it is otherwise
189 2008-11-05 Sven Panne <sven.panne@aedion.de>
191 * src/freeglut_misc.c: Be conservative about the presence of
193 * src/freeglut_glutfont_definitions.c, src/freeglut_stroke_mono_roman.c,
194 src/freeglut_stroke_roman.c: freeglut_internal.h needs some GL types,
195 but it is not self-contained. TODO: Move freeglut.h #include into
196 freeglut_internal.h itself?
197 * src/freeglut_window.c: Removed the annoying "Unable to create direct
198 context rendering..." warning, it served no real purpose, and on some
199 platforms there simply is no such thing as a direct context.
200 * progs/demos/CallbackMaker, progs/demos/Fractals,
201 progs/demos/Fractals_random, progs/demos/Lorenz, progs/demos/One,
202 progs/demos/shapes: Ignore *.exe
203 * src/freeglut_ext.c: Handle new glutInitContext* API entries in
205 * src/freeglut_internal.h: Make freeglut compile under Cygwin, which has
206 an ancient GLX header
208 2008-11-02 Sven Panne <sven.panne@aedion.de>
210 * include/GL/freeglut_ext.h, src/freeglut_init.c,
211 src/freeglut_internal.h, src/freeglut_state.c, src/freeglut_window.c:
212 Added OpenGL 3.0 context creation API entries
214 glutInitContextVersion, glutInitContextFlags
216 and their related constants
218 GLUT_INIT_MAJOR_VERSION GLUT_INIT_MINOR_VERSION GLUT_INIT_FLAGS
220 GLUT_DEBUG GLUT_FORWARD_COMPATIBLE
222 Note that this works with GLX only currently, the glutInitContext* API
223 entries have no effect for WGL yet.
225 TODO: Centralize the context creation code for WGL (the harder part)
226 and use the new wglCreateContextAttribsARB API entry (the easy part,
227 re-use most of the GLX code).
228 * src/freeglut_window.c: Refactored GLX context creation into a single
229 function, centralizing things to be changed for OpenGL 3.0 context
230 creation and removing some cut-n-paste.
231 * src/freeglut_ext.c, src/freeglut_internal.h: Make a
232 wgl/glXGetProcAddress abstraction available internally. We will need
233 this to get the new context creation function.
234 * src/freeglut_misc.c: Do not depend on GLU, it will vanish in the
235 future, at least in its current form.
236 * src/freeglut_internal.h: Removed superfluous #includes.
237 * configure.ac: Fix for bug #1709675 ("probably not be so
238 ISO-conformant"): The C compiler flag -Werror is not used by default
239 anymore, a separate configure flag --enable-warnings-as-errors has
240 been introduced for this purpose, which is off by default.
241 * configure.ac: Added AM_PROG_CC_C_O to configure.ac, removing a warning
242 during autogen.sh. This flag seems to be necessary for per-target
243 flags (used in demo programs) nowadays.
245 2008-07-21 John F. Fay <john.fay.ctr@eglin.af.mil>
247 * configure.ac, src/Makefile.am: Implementing a patch from Jocelyn
248 Frechot (thank you, Jocelyn) that "should enable the XInput extension
249 management with the autotools." See e-mail of Sun 7/20/2008 12:01 PM.
251 2008-07-10 John F. Fay <john.fay.ctr@eglin.af.mil>
253 * src/freeglut_ext.c: Adding "glutExit" to the functions in
254 "fghGetProcAddress" in accordance with an e-mail from Jocelyn Frechot
255 dated Tue 7/8/2008 12:26 PM
257 2008-04-05 John F. Fay <john.fay.ctr@eglin.af.mil>
259 * src/freeglut_main.c: Adding "SC_MONITORPOWER" and other new options to
260 the "wParam" option list (e-mail from Ron Larkin, 3/17/08, 11:00 AM)
262 2007-12-02 John F. Fay <john.fay.ctr@eglin.af.mil>
264 * include/GL/freeglut_ext.h, src/freeglut_display.c, src/freeglut_ext.c,
265 src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
266 src/freeglut_state.c, src/freeglut_window.c: Adding
267 "glutFullScreenToggle" for X11 -- still needs implementation in
268 Windows (e-mail by Jocelyn Frechot, Sun 11/25/2007 11:29 AM)
270 2007-12-01 John F. Fay <john.fay.ctr@eglin.af.mil>
272 * src/freeglut_window.c: Fixing the window position for asynchronous X11
273 implementations (e-mail by Jocelyn Frechot, Sun 11/25/2007 11:29 AM)
275 2007-11-26 John F. Fay <john.fay.ctr@eglin.af.mil>
277 * progs/demos/Fractals/fractals.c: Making a demo program that uses
280 2007-11-12 John F. Fay <john.fay.ctr@eglin.af.mil>
282 * include/GL/freeglut_ext.h, src/freeglut_ext.c, src/freeglut_init.c,
283 src/freeglut_internal.h, src/freeglut_state.c,
284 src/freeglut_structure.c, src/freeglut_window.c: Implementing Jocelyn
285 Frechot's changes -- see e-mail of Thursday, 11/8/2007 9:12 AM.
287 2007-10-02 John F. Fay <john.fay.ctr@eglin.af.mil>
289 * src/freeglut_joystick.c: Removing more Win64 build warnings from
292 2007-09-30 John F. Fay <john.fay.ctr@eglin.af.mil>
294 * src/freeglut_main.c: Removing the final compiler warning when building
295 on Win75 -- thank you, Antonio Mattos.
297 2007-09-29 John F. Fay <john.fay.ctr@eglin.af.mil>
299 * src/freeglut_cursor.c: Removing the remaining compiler warnings from
300 the cursor code, thanks to Antonio Mattos of Brazil. The double
301 type-casting is needed because of a bug in the new MSVC; there is a
302 discussion on the web on this subject.
304 2007-09-25 John F. Fay <john.fay.ctr@eglin.af.mil>
306 * src/freeglut_cursor.c: Changing the cursor definition macro for newer
307 versions of MSVC -- thanks to "Mattos" of Brazil
308 * src/freeglut_window.c: More changes for Jocelyn Frechot's
309 multisampling changes. The library builds now. It still needs some
310 testing with sample cases under X11.
312 2007-09-23 John F. Fay <john.fay.ctr@eglin.af.mil>
314 * src/freeglut_window.c: Fixing a remaining bug in the multisampling
315 change ... there may be more ...
317 2007-09-22 John F. Fay <john.fay.ctr@eglin.af.mil>
319 * src/freeglut_internal.h, src/freeglut_state.c,
320 src/freeglut_structure.c, src/freeglut_window.c: Putting in Jocelyn
321 Frechot's X11 visual context changes. THIS WILL BREAK THE BUILD as I
322 am unable to test it on a Linux machine here. Somebody please test it
325 2007-09-21 John F. Fay <john.fay.ctr@eglin.af.mil>
327 * src/freeglut_init.c, src/freeglut_main.c, src/freeglut_misc.c:
328 Removing compiler warnings in MSVC 2005 build
329 * include/GL/freeglut_ext.h, src/freeglut_init.c: Implementing Larry
330 Ramey's "glutExit" feature (see e-mails from him on 11/9/05, 6/28/06)
332 2007-09-19 John F. Fay <john.fay.ctr@eglin.af.mil>
334 * include/GL/freeglut_std.h, src/freeglut_window.c: Implementing first
335 part of Windows version of "GLUT_CAPTIONLESS" and "GLUT_BORDERLESS"
336 per feature request "[ 1197016 ] need GLUT_CAPTIONLESS window option".
337 Needs more work; menus are slightly mispositioned, X11 version does
338 not support it, banner appears at beginning but disappears on window
339 resize. But this is a start.
340 * src/freeglut_main.c: Fixing Linux key-repeat mode bug reported in "[
341 1796845 ] Keyboard events are lost when key repeat is enabled."
342 * src/freeglut_joystick.c: Fixing a build error on SuSE described in bug
343 report "[ 1792047 ] freeglut_joystick.c error"
345 2007-09-18 John F. Fay <john.fay.ctr@eglin.af.mil>
347 * src/freeglut_window.c: Implementing feature request "[ 947118 ] Popup
348 menu is hidden under the TOPMOST window"
349 * src/freeglut_menu.c: Adding Takeshi Nishimura's Feature Request "[
350 1045202 ] Cope with a menu with many items" -- sorry it took so long.
351 * src/freeglut_window.c: Addressing Feature Request #1307049 that
352 "freeglut" should return 0 if "glutGetWindow" is called without a
353 prior call to "glutInit", rather than terminating on error.
354 * freeglut.dep, freeglut.mak, freeglut_static.dep, freeglut_static.mak:
355 Added Windows "nmake" Makefiles and dependency files for the two
356 "freeglut" projects in accordance with Feature Request #1454543
358 2007-09-16 John F. Fay <john.fay.ctr@eglin.af.mil>
360 * src/freeglut_window.c: Fixing bug #1688954, submitted in Marcy '07. I
361 changed "FREEGLUT" to _T("FREEGLUT") and nothing changed on my Windows
362 XP system. If this will allow it to work on Vista, then in it goes.
363 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c,
364 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
365 Fixing bug report #1052151 from October 2004.
367 2006-11-28 John F. Fay <john.fay.ctr@eglin.af.mil>
369 * FrequentlyAskedQuestions: Adding a Frequently Asked Questions file
371 2006-09-28 Joe Krahn <krahn@niehs.nih.gov>
373 * src/freeglut_state.c, src/freeglut_window.c: Removed incorrect comment
374 about internal WGL/ARB definitions. I actually had put those comments
375 in because I had meant to go back and re-check the WGL extension. But,
376 maybe locally defined extensions should be kept in a separate include
379 2006-09-27 Joe Krahn <krahn@niehs.nih.gov>
381 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp,
382 progs/demos/CallbackMaker/CallbackMaker.dsp,
383 progs/demos/CallbackMaker/CallbackMakerStatic.dsp,
384 progs/demos/Fractals/Fractals.dsp,
385 progs/demos/Fractals/FractalsStatic.dsp,
386 progs/demos/Fractals_random/Fractals_random.dsp,
387 progs/demos/Fractals_random/Fractals_randomStatic.dsp,
388 progs/demos/Lorenz/lorenz.dsp, progs/demos/Lorenz/lorenzStatic.dsp,
389 progs/demos/One/one.dsp, progs/demos/One/oneStatic.dsp,
390 progs/demos/demos.dsw, progs/demos/shapes/shapes.dsp,
391 progs/demos/shapes/shapesStatic.dsp: Undo svn:eol-style=CR/LF for MSVC
394 2006-09-26 Joe Krahn <krahn@niehs.nih.gov>
396 * include/GL/freeglut_std.h, src/freeglut_joystick.c,
397 src/freeglut_state.c, src/freeglut_window.c: Added
398 FREEGLUT_LIB_PRAGMAS to control MS library pragmas, and fixed NOMINMAX
400 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp,
401 progs/demos/CallbackMaker/CallbackMaker.dsp,
402 progs/demos/CallbackMaker/CallbackMakerStatic.dsp,
403 progs/demos/Fractals/Fractals.dsp,
404 progs/demos/Fractals/FractalsStatic.dsp,
405 progs/demos/Fractals_random/Fractals_random.dsp,
406 progs/demos/Fractals_random/Fractals_randomStatic.dsp,
407 progs/demos/Lorenz/lorenz.dsp, progs/demos/Lorenz/lorenzStatic.dsp,
408 progs/demos/One/one.dsp, progs/demos/One/oneStatic.dsp,
409 progs/demos/demos.dsw, progs/demos/shapes/shapes.dsp,
410 progs/demos/shapes/shapesStatic.dsp: Added svn:eol-style=CRLF property
411 to MSVC project/workspace files.
413 2006-09-25 John F. Fay <john.fay.ctr@eglin.af.mil>
415 * src/freeglut_window.c: Fixing a typo bug in the display mode checking
416 (removing multisampling if it is not supported)
418 2006-09-25 Joe Krahn <krahn@niehs.nih.gov>
420 * src/freeglut_state.c: Fixed a small mistake in the previous commit for
422 * src/freeglut_state.c: Added proper support for number of mouse buttons
423 in X11, and a keyboard in Windows CE. Also, several glutGet results
424 returning TRUE/FALSE were changed to 1/0, because the actual return
425 type is int (although they are technically the same in practice).
427 2006-09-24 Joe Krahn <krahn@niehs.nih.gov>
429 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c:
430 Converted Time counter to a uniform unsigned long it value. The
431 initialized flag was redundant with the main Initialized flag, and
432 conversion of timeval to milliseconds in POSIX makes the code cleaner.
433 Timeval has a longer range, but the time value is already limited by
436 2006-09-23 Joe Krahn <krahn@niehs.nih.gov>
438 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c:
439 Removed WindowState.IsGameMode; it is redundant with
440 Structure.GameModeWindow
442 2006-09-21 John F. Fay <john.fay.ctr@eglin.af.mil>
444 * src/freeglut_state.c, src/freeglut_window.c: Adding support for the
445 multisampling query per bug report 1274193
446 * ChangeLog, src/freeglut_main.c: Fixing Bug #1398196 - Windows message
449 2006-09-21 Joe Krahn <krahn@niehs.nih.gov>
451 * src/freeglut_cursor.c: test (comment edited)
453 2006-09-21 John F. Fay <john.fay.ctr@eglin.af.mil>
455 * ChangeLog, src/freeglut_init.c: Adding temporary fix to
456 "glutInitDisplayString" to ignore numerical assignments
457 * ChangeLog, src/freeglut_window.c: Adding multisampling to *nix and
458 Windows; also some other pixel format enhancements to Windows
459 * ChangeLog, progs/demos/CallbackMaker/CallbackMaker.c: Enhancing the
461 * ChangeLog, src/freeglut_cursor.c, src/freeglut_display.c,
462 src/freeglut_ext.c, src/freeglut_gamemode.c,
463 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
464 src/freeglut_input_devices.c, src/freeglut_internal.h,
465 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
466 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_teapot.c,
467 src/freeglut_teapot_data.h, src/freeglut_window.c: Joe Krahn's changes
468 to "TARGET_HOST" defined constants
469 * ChangeLog, src/freeglut_internal.h, src/freeglut_joystick.c,
470 src/freeglut_main.c, src/freeglut_window.c: Fixing two minor bugs,
472 * ChangeLog, src/freeglut_gamemode.c, src/freeglut_internal.h,
473 src/freeglut_menu.c, src/freeglut_state.c, src/freeglut_structure.c:
474 Changing "GameMode" to "GameModeWindow ... and testing whether I can
477 2006-08-05 Sven Panne <sven.panne@aedion.de>
479 * ChangeLog, progs/demos/Fractals/fractals.c,
480 progs/demos/Fractals_random/fractals_random.c,
481 progs/demos/Lorenz/lorenz.c: Check fgets for return value to avoid
483 * freeglut.spec: Fixed typo in date
484 * freeglut.spec: Updated build requirements for SuSE 10.1
486 2005-10-12 Sven Panne <sven.panne@aedion.de>
488 * ., .cvsignore: Ooops, forgot to ingore INSTALL and install-sh in
490 * ChangeLog, include/GL/freeglut_ext.h, include/GL/freeglut_std.h: Moved
491 GLUT_INIT_STATE to <GL/freeglut_ext.h>, it is not part of the original
493 * ., .cvsignore, ChangeLog, INSTALL, autogen.sh, install-sh,
494 mkinstalldirs: Simply use autoreconf in autogen.sh, it is much simpler
495 and the recommended way in the autotools documentation. Removed
496 INSTALL, install-sh and mkinstalldirs, they are either unused or
497 automatically generated by autogen.sh.
499 2005-10-06 John F. Fay <john.fay.ctr@eglin.af.mil>
501 * include/GL/freeglut_ext.h: Allowing compilation of Windows version by
502 removing DLL decorations from deprecated joystick interface extensions
503 * src/freeglut_window.c: Implementing Stereo in Windows
505 2005-09-07 Sven Panne <sven.panne@aedion.de>
507 * ChangeLog, src/Makefile.am: Use target-specific *_CPPFLAGS, not the
509 * ChangeLog, autogen.sh: Use -Wall for automake to catch some buglets,
510 deprecated stuff, etc.
512 2005-09-04 Sven Panne <sven.panne@aedion.de>
514 * ChangeLog, autogen.sh: Silenced autogen.sh
516 2005-08-31 John F. Fay <john.fay.ctr@eglin.af.mil>
518 * freeglut.rc, freeglut.tgt, freeglut.wpj, freeglut_static.tgt:
519 Necessary files for Open Watcom support
520 * src/freeglut_internal.h: Adding Open Watcom support
521 * ChangeLog, README.win32: Documenting support for Open Watcom
522 * include/GL/freeglut_std.h: Implementing WATCOM support
524 2005-07-14 Sven Panne <sven.panne@aedion.de>
526 * src/freeglut_input_devices.c: Nuked useless bit-fiddling, pointed out
527 by John. I was a bit too quick to cut-n-paste the cfmakeraw()
528 definition into our code... :-]
529 * ChangeLog, src/freeglutdll.def: Synched the DLL definitions with
531 * ChangeLog, src/freeglut_cursor.c: Fixed the GLUT_CURSOR_INHERIT logic
534 Note that this commit is untested, but at least it looks better than
535 before. We really a need a cursor test program.
537 2005-07-13 John F. Fay <john.fay.ctr@eglin.af.mil>
539 * src/freeglut_cursor.c: Fixing a cursor bug in \"GLUT_CURSOR_INHERIT\"
541 2005-07-13 Sven Panne <sven.panne@aedion.de>
543 * ChangeLog, configure.ac: Improve autoconf magic: To detect headers
544 like GL/gl.h, it might be necessary to temporarily use the X11 flags
545 found by AC_PATH_XTRA.
546 * ChangeLog, src/freeglut_joystick.c: Avoid gcc warnings for some
547 joystick code (e.g. on Solaris).
548 * src/freeglut_input_devices.c: Tiny cleanup only...
549 * ChangeLog, src/freeglut_input_devices.c: Solaris doesn't have
550 cfmakeraw, but it is only a convenience function for some
551 bit-fiddling, anyway.
553 2005-07-08 Sven Panne <sven.panne@aedion.de>
555 * ChangeLog, include/GL/freeglut_ext.h, src/freeglut_ext.c,
556 src/freeglut_internal.h: Made all the "glutJoystickXXX" functions part
557 of the freeglut extensions. If this is not what we want, we can easily
558 #ifdef this away again...
559 * ChangeLog, src/freeglut_geometry.c: Made a few global arrays "static",
560 avoiding namespace pollution. The only externally visible symbols
561 should either be from the GLUT API ("glutXXX") or internal freeglut
562 entities ("fgYYY"). Reformatted things a bit on the way.
564 2005-07-06 Sven Panne <sven.panne@aedion.de>
566 * ChangeLog, src/freeglut_main.c: We only have pending redisplay
567 callbacks when the window wants to be redisplayed *and* it is visible.
568 Otherwise we won't redraw, anyway, and immediately discover that
569 there's still something to do, etc. etc., leading to 100% CPU load.
570 * ChangeLog, src/freeglut_main.c: Removed redundant code.
571 * ChangeLog, src/freeglut_init.c: X11 only: Destroy the global menu
572 rendering context when deinitializing. The visual/context handling for
573 menus is still rather obscure, though...
574 * progs/demos/Lorenz/lorenz.c: Reverting previous commit: %lf is a valid
575 format specifier for the scanf familiy of functions only, not for the
578 2005-07-05 John F. Fay <john.fay.ctr@eglin.af.mil>
580 * src/freeglut_main.c: Implementing the new menu context variable names
582 * src/freeglut_internal.h: Changing a comment ... nothing big.
583 * progs/demos/Lorenz/lorenz.c: Fixing output formats ... nothing big
585 2005-07-05 Sven Panne <sven.panne@aedion.de>
587 * ChangeLog, src/freeglut_state.c, src/freeglut_window.c: X11 only: Free
588 XVisualInfo structures when they are not needed anymore, fixing a
589 space leak. Not perfect for menus yet...
590 * src/freeglut_internal.h, src/freeglut_window.c: Tiny change to make
591 grep's life easier: Rename the fields of the menu context. Not really
592 worth a ChangeLog entry...
594 IMHO it looks like we could kill the whole MenuContext stuff, it is of
595 no use currently and some things look strange, like e.g. having a
596 context per menu. The latter is not OK when a menu is attached to
599 2005-07-02 Sven Panne <sven.panne@aedion.de>
601 * ChangeLog, src/freeglut_init.c, src/freeglut_internal.h,
602 src/freeglut_main.c, src/freeglut_state.c: Handle modifiers in
603 MotionNotify events, too. This fixes bug #1227920 (glutGetModifiers
604 not set/allowed in mouse callbacks). In addition, some related cleanup
606 * ChangeLog, src/freeglut_joystick.c: Partial fixes for bug #1218900
607 (freeglut-2.4.0 on FreeBSD).
608 * ChangeLog, Makefile.am: Remove wrong "execute" bits when creating a
609 distribution. This fixes bug #961938 (Executable bit set on non exe
611 * configure.ac: Tiny cosmetic change, not worth a ChangeLog entry.
612 * ChangeLog: Added John's missing ChangeLog entry.
614 2005-07-01 John F. Fay <john.fay.ctr@eglin.af.mil>
616 * freeglut.dsp, freeglut_static.dsp: Adding the
617 \"freeglut_input_devices.c\" file to the Windows project files
619 2005-07-01 Sven Panne <sven.panne@aedion.de>
621 * ChangeLog, configure.ac, src/Makefile.am: Some steps toward
622 compilation under MinGW. Note that there are still linking troubles
624 * src/freeglut_internal.h: Fixed #ifdef for ChangeDisplaySettingsEx
626 * ChangeLog, src/freeglut_input_devices.c: Silenced a signed/unsigned
627 mismatched via a cast.
628 * ChangeLog, src/freeglut_internal.h: MinGW is lacking a prototype for
629 ChangeDisplaySettingsEx, so supply one in this case. Note that this
630 should better be handled via autoconf than via cpp.
631 * ChangeLog, Makefile.am: Removed redundant files from EXTRA_DIST.
633 2005-06-30 Sven Panne <sven.panne@aedion.de>
635 * src/freeglut_main.c: Ooops, forgot to set the current window in the
636 last commit. I'll have to test better before comitting... :-]
637 * ChangeLog, src/freeglut_main.c: When a window is iconified, only an
638 UnmapNotify is sent, not a VisibilityNotify, so we have to handle the
639 window status callback in the former case, too. This fixes bug #763442
640 (Call the visibility callback when minimizing a window).
641 * ChangeLog, src/freeglut_main.c: Cleaned up
642 CreateNotify/ConfigureNotify handling.
643 * src/freeglut_main.c: Ooops, forgot to dump a few fields in some
645 * ChangeLog, configure.ac, src/freeglut_main.c: Added --enable-debug
646 configure flag. Currently it only turns on X11 event tracing, but in
647 the future we could add more.
649 Note: freeglut_main.c could benefit from some restructuring to clean
650 up the #ifdefs and cut down the sizes of some extremely long
652 * ., .cvsignore: Ignore files generated during RPM build.
654 2005-06-23 John F. Fay <john.fay.ctr@eglin.af.mil>
656 * doc/freeglut_user_interface.html: Fixing the documentation regarding
657 callbacks and geometry shape additions
658 * progs/demos/Fractals/Fractals.dsp,
659 progs/demos/Fractals/FractalsStatic.dsp,
660 progs/demos/Fractals_random/Fractals_random.dsp,
661 progs/demos/Fractals_random/Fractals_randomStatic.dsp,
662 progs/demos/Lorenz/lorenz.dsp, progs/demos/Lorenz/lorenzStatic.dsp,
663 progs/demos/One/one.dsp, progs/demos/One/oneStatic.dsp,
664 progs/demos/shapes/shapes.dsp, progs/demos/shapes/shapesStatic.dsp:
665 Adding separate static library and DLL demonstration program projects
666 * progs/demos/CallbackMaker/CallbackMaker.dsp,
667 progs/demos/CallbackMaker/CallbackMakerStatic.dsp: Adding separate
668 demo program projects for static library and DLL versions
669 * progs/demos/demos.dsw: Adding support for separate static library demo
671 * ChangeLog: Keeping current ...
672 * src/freeglut_input_devices.c: New file for Joe Krahn\'s dials input
675 2005-06-22 John F. Fay <john.fay.ctr@eglin.af.mil>
677 * src/freeglut_geometry.c: Fixing a bug in the Sierpinski sponge code
678 that made the application crash if called with number of levels < 0
679 * src/Makefile.am, src/freeglut_init.c, src/freeglut_internal.h,
680 src/freeglut_joystick.c, src/freeglut_state.c: Joe Krahn\'s input
681 (dials) device implementation.
683 2005-06-14 Sven Panne <sven.panne@aedion.de>
685 * ChangeLog, freeglut.spec: Added an RPM spec file based on the one
686 shipped with SuSE 9.3.
688 2005-06-10 James Jones <puggles@users.sourceforge.net>
690 * ChangeLog, configure.ac: Release of 2.4.0
692 2005-06-02 James Jones <puggles@users.sourceforge.net>
694 * ChangeLog, configure.ac, src/freeglut_internal.h: 2.4.0 Release
697 2005-05-26 John F. Fay <john.fay.ctr@eglin.af.mil>
699 * src/freeglut_main.c: Takeshi Nishimura\'s changes to make the Windows
700 mouse wheel/button mapping match that of X11; also fixing a typo in
701 the associated mouse callback argument list
703 2005-05-26 James Jones <puggles@users.sourceforge.net>
705 * ChangeLog, configure.ac: 2.4.0 RC4 updates
706 * src/freeglut_main.c: Fix joysticks so they are polled by their timer
707 correctly. (Dan Torop)
709 2005-05-24 Sven Panne <sven.panne@aedion.de>
711 * ChangeLog, src/freeglut_gamemode.c: The original glutEnterGameMode()
712 returns the window id of the game mode window, not TRUE/FALSE, we
713 should better follow that. Note that most man pages claim that this
714 function returns void, but this is definitely wrong.
715 * ChangeLog, src/freeglut_gamemode.c, src/freeglut_main.c: When
716 switching to game mode under X11, no ConfigureNotify event will happen
717 and consequently no reshape callback will ever be called via the
718 normal mechanism. To fix this, note that the game mode window needs to
719 be resized and handle this before redraw.
721 2005-05-22 Sven Panne <sven.panne@aedion.de>
723 * ChangeLog, src/freeglut_ext.c: Guarantee consistency of
724 names/addresses in glutGetProcAddress by using a macro. In addition,
725 this avoids any non-constant initializer issues which might be raised
726 when using WinDoze GCCs. The additional code overhead is negligible,
727 at least for x86 (a few instructions per name).
728 * ChangeLog, configure.ac: Lowering minimum autoconf version required.
730 2005-05-20 James Jones <puggles@users.sourceforge.net>
732 * ChangeLog: Tag for 2.4.0 RC3
735 2005-05-19 Sven Panne <sven.panne@aedion.de>
737 * src/freeglut_gamemode.c: Fixed SF bug #1204256: Off-by-one error in
738 X11 mode switching. The code which changes the X11 video mode has an
739 off-by-one error, resulting in a wrong mode or segfault. I've
740 refactored the code slighty to make it hopefully clearer what's going
741 on and corrected some #ifdefs on the way. Now at least the "One" demo
743 * src/freeglut_window.c: Fixed SF bug #1204261: Mini space leak when
744 creating an X11 window (X11 text property values have to be freed
747 2005-05-18 John F. Fay <john.fay.ctr@eglin.af.mil>
749 * src/freeglut_gamemode.c: Removing a C++ comment and simplifying the
752 2005-05-17 John F. Fay <john.fay.ctr@eglin.af.mil>
754 * src/freeglut_gamemode.c: Misiek\'s changes to fix Game Mode--getting
755 display settings under Windows and setting the window size correctly
756 on all operating systems.
758 2005-05-16 James Jones <puggles@users.sourceforge.net>
760 * ChangeLog: Mark for 2.4 RC 2
762 2005-05-13 John F. Fay <john.fay.ctr@eglin.af.mil>
764 * src/freeglut_menu.c: Removing two unused variables so this will
765 compile on Linux with -Wall
767 2005-05-12 John F. Fay <john.fay.ctr@eglin.af.mil>
769 * ChangeLog: Updating the ChangeLog ...
770 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c:
771 Takeshi Nishimura\'s menu changes--menus should now work properly. Use
772 the GLUT \"GLUTmech\" and \"walker\" demos to test them.
773 * src/freeglut_main.c: Takeshi Nishimura\'s menu fixes
775 2005-05-09 James Jones <puggles@users.sourceforge.net>
777 * ChangeLog, Makefile.am, configure.ac: Freeglut 2.4.0 Release Candidate
780 2005-05-06 Sven Panne <sven.panne@aedion.de>
782 * ChangeLog, progs/demos/shapes/shapes.c: Fixed a cuboctahedron vertex,
783 implemented wire mode for that shape.
784 * ChangeLog, progs/demos/shapes/shapes.c, src/freeglut_internal.h,
785 src/freeglut_main.c: Necessary compilation fixes for newer GCCs (e.g.
786 3.3.5, 4.0). Side effect: The shapes demo has a new 'i' key now.
788 2005-05-05 John F. Fay <john.fay.ctr@eglin.af.mil>
790 * ChangeLog: Updated the ChangeLog again ...
792 2005-05-04 John F. Fay <john.fay.ctr@eglin.af.mil>
794 * progs/demos/shapes/shapes.c: Replacing the original \"freeglut\"
795 \"shapes\" demo with the much snazzier OpenGLUT \"shapes\" demo. Many
796 thanks to the OpenGLUT community for writing it. The copyright notice
797 stays in the program.
798 * src/freeglut_main.c: Changing hard-coded constant (number of mouse
799 buttons = 3) to a \"glutDeviceGet\" call in two places under X11
800 * src/freeglutdll.def: Changing the version number from 2.0 to 2.4.0 ...
801 do we need to add any new interface functions?
802 * src/freeglut_internal.h: Removing an unused variable
803 * src/freeglut_window.c: Adding a comment on why \"freeglut\" differs
804 from GLUT in a particular way
805 * src/freeglut_joystick.c: Removing an unused function
806 * src/freeglut_init.c: Making the \"key repeat\" initialization
807 consistent with the rest of its usage; also making the
808 \"initDisplayString\" ever-so-slightly mroe general
809 * ChangeLog, TODO, src/freeglut_window.c: Updating the ChangeLog and
810 TODO files in preparation for the upcoming release
812 2005-04-29 John F. Fay <john.fay.ctr@eglin.af.mil>
814 * src/freeglut_joystick.c: Adding a \"TODO\" comment about dynamically
815 allocating joystick buttonj and axis arrays
816 * ChangeLog: Updationg the ChangeLog ...
818 2005-04-28 John F. Fay <john.fay.ctr@eglin.af.mil>
820 * README.win32: Adding a \"README.Win32\" file with instructions on how
821 to install \"freeglut\" under Windows.
822 * src/freeglut_main.c: Adding Window Exit event handling to the Windows
823 code; also adding a note that eventually it would be good to handle
824 the Window Entry event
826 2005-04-27 John F. Fay <john.fay.ctr@eglin.af.mil>
828 * src/freeglut_window.c: Fixing bug [ 1111218 ] fullscreen not working
829 Better late than never.
830 * src/freeglut_init.c: Fixing Bug Report [ 1160442 ]
831 glutGet(GLUT_ELAPSED_TIME) is too granular
833 2005-04-26 John F. Fay <john.fay.ctr@eglin.af.mil>
835 * src/freeglut_internal.h, src/freeglut_structure.c: Fixing the
836 typecasts on the callback fetches and invocations to allow
837 \"freeglut\" to compile with GCC 4.0
838 * src/freeglut_menu.c: Fixing erroneous implementation of Takeshi\'s fix
839 * src/Makefile.am: Changing include path from relative to absolute to
840 support off-directory builds (Yuri D\'Elia, March 22, 5:59 PM)
841 * LISEZ_MOI: Adding \"LISEZ-MOI\", the French version of \"README\"
843 2005-04-25 John F. Fay <john.fay.ctr@eglin.af.mil>
845 * ChangeLog: Updating the ChangeLog ... it seems to be something of a
846 stepchild if we\'re not careful.
848 2005-04-22 John F. Fay <john.fay.ctr@eglin.af.mil>
850 * src/freeglut_menu.c: Yuri D\'Elia\'s changes to get the virtual
851 maximum screen extent instead of the actual screen size.
852 * src/freeglut_gamemode.c: Yuri D\'Elia\'s changes to the game mode
854 * src/freeglut_structure.c: Change a hard-coded number to a defined
855 constant and add some initializations
856 * src/freeglut_cursor.c: Removing duplicate cursor code. This and the
857 previous change (in freeglut_main.c) apparently got combined.
858 * ChangeLog: Updating the ChangeLog to reflect activity over the past
860 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
861 src/freeglut_display.c, src/freeglut_gamemode.c,
862 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
863 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c,
864 src/freeglut_window.c: Trying again to change \"fgStructure.Window\"
865 to \"fgStructure.CurrentWindow\" and \"fgStructure.Menu\" to
866 \"fgStructure.CurrentMenu\" for easier maintenance.
868 2005-04-15 John F. Fay <john.fay.ctr@eglin.af.mil>
870 * ChangeLog: Updating the ChangeLog as a means of testing pCVSc
871 * src/freeglut_internal.h: Testing!
873 2005-03-23 Brian Paul
875 * include/GL/freeglut_ext.h: added comment about AUX flags
877 2005-02-16 Brian Paul
879 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
880 src/freeglut_structure.c, src/freeglut_window.c: fixes for menus being
881 attached to multiple buttons/windows (John Fay)
882 * src/freeglut_callbacks.c: added error check (John Fay)
884 2005-02-15 Brian Paul
886 * src/freeglut_init.c, src/freeglut_window.c: AUX buffers for Windows
889 2005-02-11 Brian Paul
891 * include/GL/freeglut_ext.h, src/freeglut_init.c, src/freeglut_window.c:
892 Aux color buffer support. Pass one of GLUT_AUX[1234] to
893 glutInitDisplayMode. Only implemented/tested on GLX, not Windows.
894 * include/GL/freeglut_ext.h, src/freeglut_ext.c,
895 src/freeglut_internal.h: Fix object/function pointer inconsistencies
896 which are a problem for gcc 3.4.2. Added GLUTproc type, returned by
897 glutGetProcAddress().
899 2005-01-23 Sven Panne <sven.panne@aedion.de>
901 * configure.ac: autoconf 2.58 is enough
902 * src/freeglut_callbacks.c, src/freeglut_internal.h: Stylistic change
903 only (added "do { ... } while( 0 )" around multi-statement macros)
904 * configure.ac, src/freeglut_joystick.c, src/freeglut_main.c: Testing
905 for errno.h is overkill. :-)
906 * src/freeglut_cursor.c, src/freeglut_main.c: Windows platforms only:
907 Merged some cursor-related code from John Fay (with minor changes)
909 2005-01-05 Sven Panne <sven.panne@aedion.de>
911 * src/freeglut_ext.c, src/freeglut_font.c, src/freeglut_main.c,
912 src/freeglut_state.c, src/freeglut_window.c: Hopefully removed all
913 damage done by commits without merge
914 * ChangeLog, src/freeglut_cursor.c: Reworked the X11 part of
915 glutSetCursor, fixing bug #764187 (Variable mouse pointers don't work)
916 on the way: * Use slightly more compatible cursor shapes for
917 GLUT_CURSOR_RIGHT_ARROW and GLUT_CURSOR_LEFT_ARROW. * Refactored and
918 fixed the erroneous code for GLUT_CURSOR_NONE. * Removed the incorrect
919 use of XFreeCursor and use a cache of cursors instead. Cursors are
920 never freed now, we could do this e.g. via reference countig if this
921 is really needed. * Fixed error handling. * Unknown cursor types are
922 an error now. * Now the window state always corresponds to the wanted
923 cursorID, even in the case of GLUT_CURSOR_FULL_CROSSHAIR.
925 NOTE: I am not sure where the cursor cache should really reside,
926 currently it is simply a file-local variable.
928 2005-01-03 Sven Panne <sven.panne@aedion.de>
930 * ChangeLog, src/freeglut_gamemode.c: Fixed part of bug #926883 (Video
931 mode matching code, memory leaks, fullscreen), i.e. issue warnings
932 when XF86VidModeFOO fails.
933 * ChangeLog, src/freeglut_gamemode.c: (234) Fixed part of bug #926883
934 (Video mode matching code, memory leaks, fullscreen): Now we first try
935 to get an exact mode match, ignoring the refresh rate if none could be
936 found. This way the X11 part and the WinDoze behave similarly. NOTE:
937 We still don't behave like GLUT, because it has a wider notion of
938 "best" match. We have to refactor and extend freeglut quite a bit to
940 * ChangeLog, src/freeglut_gamemode.c: Fixed part of bug #926883 (Video
941 mode matching code, memory leaks, fullscreen), i.e. memory leak caused
942 by not freeing the mode lines returned by XF86VidModeGetAllModeLines
943 * ChangeLog, src/freeglut_window.c: Improved error message a bit when no
944 suitable visual could be found (X11 only).
945 * configure.ac, src/freeglut_internal.h, src/freeglut_main.c: autoconf'd
947 * src/freeglut_joystick.c: Removed redundant #include
948 * ChangeLog, configure.ac, src/freeglut_joystick.c, src/freeglut_main.c:
949 autoconf'd <errno.h> handling and removed an unused '#include
951 * configure.ac, src/freeglut_joystick.c, src/freeglut_main.c: autoconf'd
952 <limits.h> and <sys/param.h> handling, removing MIN/MAX macros on the
954 * src/freeglut_internal.h: Cosmetics.
955 * configure.ac, src/freeglut_joystick.c: autoconf'd <fcntl.h> and
956 <sys/ioctl.h> handling
957 * src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c:
958 Improved <sys/typed.h> / <unistd.h> handling as suggested by the
960 * configure.ac, progs/demos/Lorenz/lorenz.c, src/freeglut_internal.h,
961 src/freeglut_main.c: Fixed <sys/time.h> / <time.h> handling as
962 suggested by the autoconf docs.
963 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
964 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
965 src/freeglut_font_data.c, src/freeglut_gamemode.c,
966 src/freeglut_geometry.c, src/freeglut_init.c, src/freeglut_internal.h,
967 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
968 src/freeglut_misc.c, src/freeglut_overlay.c, src/freeglut_state.c,
969 src/freeglut_structure.c, src/freeglut_teapot.c,
970 src/freeglut_videoresize.c, src/freeglut_window.c: Moved '#include
971 "config.h"' to freeglut_internal.h, we will need it there soon and it
972 makes everything a bit shorter.
973 * ChangeLog: Resurrected my recent additions which were nuked by the
974 previous commit, adding the latest change on the way. :-(
975 * acconfig.h: Removed acconfig.h, it is deprecated and we don't need it.
976 * src/freeglut_cursor.c, src/freeglut_font.c, src/freeglut_init.c,
977 src/freeglut_structure.c: Make it compile again with "-Wall -pedantic
978 -Werror", redoing quite a few things I've fixed already a few days
979 ago. Have today's commits been done by copying instead of merging? :-(
981 2005-01-03 James Jones <puggles@users.sourceforge.net>
983 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
984 src/freeglut_window.c: Changes remove duplicate menu code from
985 "freeglut_window.c" and put it into one place in "freeglut_menu.c"
986 where it belongs. - John Fay
987 * ChangeLog: General ChangeLog Updates
988 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
989 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
990 src/freeglut_gamemode.c, src/freeglut_geometry.c, src/freeglut_init.c,
991 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
992 src/freeglut_menu.c, src/freeglut_misc.c, src/freeglut_state.c,
993 src/freeglut_structure.c, src/freeglut_teapot.c,
994 src/freeglut_teapot_data.h, src/freeglut_window.c: Adding
995 initialization checking to all GLUT interface functions and removing
996 asserts from the rest of the code - John Fay
998 2005-01-01 Sven Panne <sven.panne@aedion.de>
1000 * ChangeLog, src/Makefile.am: Added missing files from "src"
1001 subdirectory to dist.
1002 * AUTHORS: Synched with project member list on SourceForge
1003 * ChangeLog, Makefile.am, configure.ac: Modernized configure.ac a bit
1004 and added a rule to Makefile.am to update libtool. Note that all gcc
1005 compiler warnings are now on by default.
1006 * ChangeLog, include/GL/freeglut_std.h,
1007 progs/demos/CallbackMaker/CallbackMaker.c,
1008 progs/demos/Fractals_random/fractals_random.c,
1009 progs/demos/Lorenz/lorenz.c, progs/demos/One/one.c,
1010 src/freeglut_cursor.c, src/freeglut_font.c, src/freeglut_init.c,
1011 src/freeglut_teapot_data.h: Make "gcc -Wall -pedantic -Werror" happy.
1012 * ., .cvsignore: Ignore files generated by autoscan.
1013 * ChangeLog, INSTALL, configure.ac, configure.in: Renamed "configure.in"
1014 to the officially preferred "configure.ac".
1015 * stamp-h, stamp-h.in: Removed unused stamp-h* files, configure
1016 generates them (a single stamp-h1, to be exact).
1017 * ChangeLog, Makefile.am: Added eMbedded Visual Tools project/workspace
1018 files to distribution.
1019 * ., .cvsignore: Ignore distribution tar files
1021 2004-12-31 Sven Panne <sven.panne@aedion.de>
1023 * ChangeLog, src/freeglut_main.c: Fixed first bug of #1064195 (two
1024 things when using signals): Don't issue a warning about select when a
1025 non-blocked signal was caught. This makes sense and is more compatible
1027 * ChangeLog, src/freeglut_font.c: Fixed bug #1040435 (glutBitmapString()
1029 * ChangeLog: Alas, the ChangeLog has not the usual ChangeLog format, so
1030 tell (X)Emacs about that fact.
1031 * ChangeLog, src/freeglut_window.c: Fixed bug #1045054 (KeyReleaseMask
1033 * ChangeLog, src/freeglut_state.c: Fixed bug #1087642
1034 (glutDeviceGet(GLUT_DEVICE_KEY_REPEAT) unimplemented).
1035 * ChangeLog, src/freeglut_ext.c: Fixed bug #1079530 (glutGetProcAddress
1036 and geometric objects).
1037 * ., .cvsignore, doc, doc/.cvsignore, include, include/.cvsignore,
1038 include/GL, include/GL/.cvsignore, progs, progs/.cvsignore,
1039 progs/demos, progs/demos/.cvsignore, progs/demos/CallbackMaker,
1040 progs/demos/CallbackMaker/.cvsignore, progs/demos/Fractals,
1041 progs/demos/Fractals/.cvsignore, progs/demos/Fractals_random,
1042 progs/demos/Fractals_random/.cvsignore, progs/demos/Lorenz,
1043 progs/demos/Lorenz/.cvsignore, progs/demos/One,
1044 progs/demos/One/.cvsignore, progs/demos/shapes,
1045 progs/demos/shapes/.cvsignore, src, src/.cvsignore: Improved
1048 2004-12-17 James Jones <puggles@users.sourceforge.net>
1050 * src/freeglut_cursor.c, src/freeglut_display.c,
1051 src/freeglut_internal.h, src/freeglut_menu.c, src/freeglut_misc.c,
1052 src/freeglut_window.c: Some assertion changes / removals from Dr. John
1055 2004-10-06 Brian Paul
1057 * src/freeglut_callbacks.c, src/freeglut_internal.h,
1058 src/freeglut_joystick.c, src/freeglut_state.c: joystick init fixes
1061 2004-10-05 Brian Paul
1063 * src/freeglut_main.c: updated comments (John Fay)
1064 * src/freeglut_init.c, src/freeglut_main.c, src/freeglut_window.c:
1065 improved comments and mouse coord adjustments (John Fay)
1066 * src/freeglut_init.c: more clean-ups, fixes from John Fay
1068 2004-09-23 Brian Paul
1070 * src/freeglut_font.c, src/freeglut_stroke_mono_roman.c,
1071 src/freeglut_stroke_roman.c: font updates from John Fay
1072 * src/freeglut_main.c: more updates from John Fay
1073 * src/freeglut_geometry.c, src/freeglut_init.c: assorted updates from
1076 2004-09-15 James Jones <puggles@users.sourceforge.net>
1078 * src/freeglut_init.c: Fix to glutInit() command-line argument
1079 compaction - Patch #1027724 from takeshi2
1081 2004-09-13 Brian Paul
1083 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
1084 src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1085 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_state.c,
1086 src/freeglut_window.c: more updates from John Fay
1087 * src/freeglut_cursor.c, src/freeglut_gamemode.c,
1088 src/freeglut_geometry.c, src/freeglut_init.c, src/freeglut_internal.h,
1089 src/freeglut_joystick.c, src/freeglut_main.c,
1090 src/freeglut_structure.c, src/freeglut_teapot.c,
1091 src/freeglut_window.c: some function renaming, etc (John Fay)
1093 2004-09-10 Brian Paul
1095 * src/freeglut_callbacks.c, src/freeglut_init.c,
1096 src/freeglut_internal.h, src/freeglut_main.c: joystick updates from
1098 * src/freeglut_cursor.c, src/freeglut_font_data.c,
1099 src/freeglut_gamemode.c, src/freeglut_geometry.c, src/freeglut_init.c,
1100 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
1101 src/freeglut_menu.c, src/freeglut_misc.c, src/freeglut_state.c,
1102 src/freeglut_stroke_mono_roman.c, src/freeglut_stroke_roman.c,
1103 src/freeglut_structure.c, src/freeglut_teapot.c,
1104 src/freeglut_window.c: updated comments from John Fay
1106 2004-08-11 James Jones <puggles@users.sourceforge.net>
1108 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c:
1109 Fix a game mode crashing bug, conditional compilation for Windows, and
1110 comment out some diagnostic prints (John Fay)
1112 2004-08-05 James Jones <puggles@users.sourceforge.net>
1114 * src/freeglut_window.c: Implements Richard Rauch's request that the
1115 warning about indirect rendering contexts be suppressed for his BSD
1117 * src/freeglut_teapot_data.h: Someone used C++ style comments in a C
1118 file... tisk tisk...
1119 * src/freeglut_font.c: Bugfix for "glutBitmapString" so that it now
1120 handles end-of-line characters properly (Richard Rauch)
1121 * README: Incremental update ... (John Fay)
1123 2004-06-29 Brian Paul
1125 * src/freeglut_structure.c: give menu windows the title 'freeglut menu'
1127 * src/freeglut_window.c: move glXMakeCurrent() to after the point where
1128 the window's title is set (helps Chromium)
1130 2004-05-13 James Jones <puggles@users.sourceforge.net>
1132 * freeglut.dsp, freeglut_static.dsp: Add one more header file to MSVC
1135 2004-05-12 James Jones <puggles@users.sourceforge.net>
1137 * include/GL/freeglut_ext.h, include/GL/freeglut_std.h: John Fay:
1138 Direct/indirect rendering context change, fix a bug that somebody
1139 reported (about needing "GLUT_XLIB_IMPLEMENTATION" defined) and remove
1140 a false deprecation of a function.
1141 * src/freeglut_main.c: John Fay: A bug fix re: behavior of the code when
1142 the user clicks the "x" to close a window, and commentary to a message
1143 type with fixes for a Windows event processing bug.
1144 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_state.c,
1145 src/freeglut_window.c: John Fay: Implement the modified logic of the
1146 direct/indirect rendering context.
1147 * src/freeglut_font.c, src/freeglut_font_data.c: John Fay: Implement the
1148 upper end of the bitmapped fonts (beyond ASCII code 127). The fonts
1149 are very close to the GLUT fonts.
1150 * src/freeglut_teapot.c, src/freeglut_teapot_data.h: John Fay: These
1151 files implement the teapot for WINCE.
1152 * src/freeglut_internal.h: John Fay: Remove some obsolete defined
1154 * freeglut.dsp, freeglut_static.dsp: John Fay: Add
1155 "freeglut_glutfont_definitions.c" to the build and tell it to look in
1156 the "include" directory for the <GL/freeglut.h> file.
1158 2004-03-28 Steve Baker <steve@sjbaker.org>
1160 * progs/demos/shapes/shapes.c: Removed unnecessary initialisation.
1161 * progs/demos/shapes/shapes.c: Added a cullface test.
1165 * freeglut_evc4.vcp, src/freeglut_gx.cpp, src/freeglut_init.c,
1166 src/freeglut_main.c: removed .cpp file (using LoadLibrary() instead)
1167 removed modified gx.h file cleaned up all // and tabs
1171 * src/freeglut_main.c: Prevent exceeding array bounds in X11 key-repeat
1176 * freeglut_evc4.vcp, src/freeglut_ext.c, src/freeglut_gx.cpp,
1177 src/freeglut_init.c, src/freeglut_main.c, src/freeglut_misc.c,
1178 src/freeglut_state.c, src/freeglut_window.c: replaced all tabs with 4
1179 spaces replaced all // with /* */ block fixed freeglut_gx.cpp file
1180 with #if TARGET_HOST_WINCE
1184 * src/freeglut_init.c, src/freeglut_main.c, src/freeglut_state.c:
1185 Whitespace conversion - tabs to 4 spaces
1186 * src/freeglut_window.c: Revert X11 fgCloseWindow to 1.38 pre-offscreen
1191 * freeglut_evc4.vcp, src/freeglut_gx.cpp, src/freeglut_main.c: fixed
1192 mouse position and keyboard mapping. added c-wrapper cpp file for
1194 * freeglut_evc4.vcp, freeglut_evc4.vcw, include/GL/freeglut_std.h,
1195 src/freeglut_cursor.c, src/freeglut_display.c, src/freeglut_ext.c,
1196 src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1197 src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_misc.c,
1198 src/freeglut_state.c, src/freeglut_window.c: added support for
1199 WindowsCE (building on top of klimt)
1203 * src/freeglut_main.c: Repeat-key handling for Win32 Utilise both
1204 FreeGLUT state and per-window filtering modes
1208 * ChangeLog: Forgot to update the ChangeLog for the benefit of those who
1209 do not have CVS or Web access.
1210 * configure.in, include/GL/freeglut_ext.h, src/freeglut_internal.h,
1211 src/freeglut_window.c: Completed removal of all support for the
1212 offscreen rendering.
1214 If you wish to do offscreen supportin a portable manner, you will no
1215 longer be able to do so with current versions of freeglut.
1216 * progs/demos/Makefile.am: Removed Makefile support for the offscreen
1218 * progs/demos/One/one.c, progs/demos/offscreen: Removed offscreen demo
1223 * src/Makefile.am: Provide local include path to automake for
1228 * src/freeglut_window.c: Code formatting tweak
1229 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1230 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c:
1231 Resolution of X11 key-repeat handling
1233 glutSetKeyRepeat is global to all FreeGLUT windows in the application
1234 glutIgnoreKeyRepeat is a per-window over-ride
1236 To avoid nasty global X11 state interaction, or GLUT-style event queue
1237 filtering - the approach in FreeGLUT is to use the current key state
1238 XQueryKeymap to detect and ignore KeyRelease/KeyPress pairs that are
1242 http://pyopengl.sourceforge.net/documentation/manual/glutSetKeyRepeat.3GLUT.xml
1243 http://pyopengl.sourceforge.net/documentation/manual/glutIgnoreKeyRepeat.3GLUT.xml
1244 * src/freeglut_callbacks.c, src/freeglut_cursor.c, src/freeglut_ext.c,
1245 src/freeglut_font.c, src/freeglut_font_data.c,
1246 src/freeglut_gamemode.c, src/freeglut_geometry.c,
1247 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
1248 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
1249 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
1250 Stripped out tabs and end-of-line whitespace Differences are in
1255 * src/freeglut_window.c: Resolve [ 853044 ] FreeGLUT menus on Win32 in
1256 task bar and ALT-TAB list CreateWindowEx(WS_EX_TOOLWINDOW,...)
1257 extended style suppresses the popup menu window from the taskbar or
1262 * src/freeglut_init.c: ignoreKeyRepeat mode in FreeGLUT is TRUE by
1263 default For compatibility with GLUT, the mode should be FALSE by
1264 default This issues was probably undetected until now because
1265 ignoreKeyRepeat didn't yet work.
1266 * src/freeglut_main.c: Resolved bug #869765 glutIgnoreKeyRepeat() Fix
1267 (Win32) glutIgnoreKeyRepeat now behaves correctly on Win32
1268 * src/freeglut_internal.h: C++ style comment converted to C style
1270 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
1271 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
1272 src/freeglut_font_data.c, src/freeglut_gamemode.c,
1273 src/freeglut_geometry.c, src/freeglut_init.c, src/freeglut_joystick.c,
1274 src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_misc.c,
1275 src/freeglut_overlay.c, src/freeglut_state.c,
1276 src/freeglut_structure.c, src/freeglut_teapot.c,
1277 src/freeglut_videoresize.c, src/freeglut_window.c: Include freeglut
1278 header via <GL/freeglut.h> rather than "../include/GL/freeglut.h" This
1279 allows some additional flexibility with file layout. It should be the
1280 responsibility of the build environment, rather than at source level.
1281 This change tested on MSVC 6, cygwin and mingw32 gcc and Linux gcc.
1285 * src/freeglut_joystick.c: According to John F. Fay: The variable
1286 "num_axes" should be "joy->num_axes".
1290 * src/freeglut_gamemode.c: Removed nonstandard #warning constructs.
1291 Converted to XXX comments. (These are warnings about gamemode features
1292 not working the same on some systems as on others. The semantics of
1293 gamemode are dubious, since it was never formally documented, and has
1294 for a long time worked in different ways on different systems, so it
1295 is arguable that there is nothing really wrong with systems that don't
1296 support resolution-changes.)
1297 * src/freeglut_callbacks.c: Fixed the bug where glutDisplayFunc() was
1298 effectively invoking glutPostRedsiplay(). This is wrong on the face of
1299 it, and may be at root for some of the annoying "timing" issues we've
1300 had with redisplay events being called inappopriately.
1304 * progs/demos/offscreen/Makefile.am: I had rubbed the
1305 offscreen/Makefile.am off from the shapes demo. I forgot to remove a
1306 couple of references to the shapes.c and shapes.dsp (.dsw?) files.
1307 * configure.in, include/GL/freeglut_ext.h, progs/demos/Makefile.am,
1308 progs/demos/offscreen, progs/demos/offscreen/Makefile.am,
1309 progs/demos/offscreen/offscreen.c: Added "offscreen" demo, a very
1310 simple program that produces an onscreen window and, upon command,
1311 renders a similar offscreen display and writes the result to disk.
1313 Also, modified the build structure for UNIX_X11 to autobuild the demo.
1314 (Not done for WIN32 at this time.)
1316 Also, forgot to previously commit the updated freeglut_ext.h include.
1321 * src/freeglut_window.c: Minor comment adjustments.
1325 * src/freeglut_geometry.c: Refinements to comments
1329 * src/freeglut_joystick.c: Normalized the style of the new joystick a
1331 * src/freeglut_main.c: For some reason, the X "expose" event handler was
1332 *directly* calling the display handler in the client. (Okay, it was
1333 calling a function that operates on the window handle.)
1335 If you have any complexity to the display code, this can be painful to
1336 watch. I can't think of a good reason to do the display immediately,
1337 so I fixed the code to do a glutPostRedisplay().
1338 * src/freeglut_joystick.c: A commit on behalf of John (in turn, and in
1339 part, also on behalf of Thierry).
1341 * Renamed some of the old PLIB functions to have glut* prefixes. (I
1342 guess that there is some thought about exporting them to the API.)
1344 * Changes from Thierry for FreeBSD support, and/or results of testing?
1346 * I re-merged an XXX comment re. NetBSD/amd64 and propogated a comment
1347 on a duplicated #define for FreeBSD. We need the GNU autoconfig stuff
1348 to be updated by someone who groks it, now.
1352 * src/freeglut_init.c: Commit of John's tidying-up of a comment, closing
1353 out an XXX comment that I wrote. Thanks, John.
1357 * src/freeglut_window.c: ...AND a tab snuck into my changes for
1358 GLUT_OFFSCREEN support. Mea culpa.
1359 * src/freeglut_joystick.c: Removed a ^M that snuck into the #pragma for
1360 the new joystick code.
1361 * src/freeglut_window.c: Ooops. We don't want people to be able to
1362 create a subwindow of an offscreen window. (^& This is no longer
1365 (Actually, it would be nice if it would work, but I don't think that
1366 you can subwindow a pixmap in UNIX_X11, and assume that subwindowing
1367 offscreen doesn't work on WIN32, either.)
1368 * ChangeLog: Added entries for the joystick updates and the offscreen
1369 experimental support.
1370 * src/freeglut_joystick.c: Changed a couple of XXX comments. Added a new
1371 one. These all the nest of #ifs in the BSD section of the new joystick
1373 * progs/demos/CallbackMaker/CallbackMaker.c: "Heavy editing" by John to
1374 his CallbackMaker demo.
1375 * src/freeglut_joystick.c: John added a #pragma to the joystick code for
1377 * src/freeglut_internal.h, src/freeglut_window.c: Adds GLUT_OFFSCREEN as
1378 a display mode option. This includes:
1380 * Recognizing the mode when you call glutCreateWindow(). (Offscreen
1381 looks and acts like a top-level window in many ways.)
1383 * During the life of the offscreen "window", various window-management
1384 functions are modified to respect offscreen status.
1386 (Excepting reshaping windows, there is not much useful interpretation
1387 for managment of offscreen areas. Reshaping is possibly more work than
1388 it's worth to support, and GLUT specs allow us to ignore the request.)
1390 * Cleanup for "offscreen" windows is a little different than for
1393 Windows still don't start up quite ideally. Offscreen windows should
1394 probably get a reshape event, but not a display.
1398 * src/freeglut_init.c, src/freeglut_joystick.c: Big import of updated
1399 joystick code from PLIB, with permission from Steve Baker. Most of the
1400 adaptation done by John, with a little bit of testing and changes by
1401 Thierry Thomas and myself. Seems to compile on:
1403 WIN32 Red Hat LINUX FreeBSD NetBSD/amd64
1407 * src/freeglut_main.c: Close a bug whereby events can be delayed
1408 arbitrarily long if they get caught between the socket and the
1409 client-side queue on X, sometime after glutMainLoopEvent()'s loop
1410 quits and before the sleep code is invoked.
1414 * src/freeglut_main.c: Ammended a comment on fgCheckJoystickCallback().
1415 * src/freeglut_main.c: Minor style normalizations to minimize the diffs
1416 between *now* and from before John's changes. No functional changes:
1418 * Removed some hard TABs introduced. * Removed some
1419 spaces-at-end-of-line introduced. * A couple of function calls were
1422 I did this separately only because I don't like messing with other
1423 people's commits. (I don't like feeling like the style police, either,
1424 but when I mess with the commit, there's no room for reverting my
1425 interference if it is deemed undesirable...)
1426 * src/freeglut_main.c: Some changes from John.
1428 The main attraction seems to be correcting a bug with the action-on-
1433 * src/freeglut_main.c, src/freeglut_window.c: Win32 glutIconifyWindow()
1434 patch contributed by John F. Fay Restrict resize callbacks to visible
1435 windows When iconified via glutIconifyWindow(), don't pass (0,0) to
1436 resize callback Note that minimising the window via the menu or
1437 minimise button is not yet resolved.
1441 * src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_structure.c:
1442 Split a few overlong lines.
1444 Adjusted some spacing in a few spots to be more consistant with
1445 freeglut style. Including one unindented if() body.
1447 Eliminated a dead variable.
1448 * src/freeglut_joystick.c: Changed several #ifdef's to proper #if's.
1450 * src/freeglut_main.c: Hm... I thought that I committed this last night.
1453 This is Nigel's modified fgSleepForEvents(), essentially. Take 2.
1457 * include/GL/freeglut_std.h: Three supported win32 compilation
1458 environments: MSVC, Cygwin and MingW32 #pragma is specific to MS
1460 * src/freeglut_internal.h: Explicitly cast function pointer to (void *)
1461 in SET_WCB since all callbacks stored as void pointers suppress gcc
1462 -Wall -pendantic "noise"
1463 * src/freeglut_structure.c: Typesafe handling of temporary window
1464 destroy callback Move assignment out of while test, scope temporary
1465 inside loop Be explicit about assignment/comparison in if test for gcc
1466 peace of mind suppress gcc -Wall -pendantic "noise"
1467 * src/freeglut_internal.h: Three supported win32 compilation
1468 environments: MSVC, Cygwin and MingW32 The windows mmsystem header
1469 need only be included internally to freeglut strdup vs _strdup is
1470 specific to the MS compiler
1471 * src/freeglut_font.c: strlen expects (char *), rather than (unsigned
1472 char *) suppress gcc -Wall -pendantic "noise"
1473 * src/freeglut_cursor.c: Replace assignment of array to struct with
1474 field-by-field assignment suppress gcc -Wall -pendantic "noise"
1475 * src/freeglut_menu.c: glutBitmapString and glutBitmapLength expect
1476 (unsigned char *) rather than (char *) suppress gcc in -Wall
1478 * src/freeglut_joystick.c: Replace #ifdef WIN32 with #ifdef
1479 TARGET_HOST_WIN32, as per FreeGLUT convention
1480 * src/freeglut_init.c: fgState.FPSInterval is unsigned int (GLuint),
1481 environment variable GLUT_FPS can be negative
1482 * src/freeglut_window.c: OpenGL context is not made current on Win32
1483 until fgSetWindow is called. This resolves severe problems observed in
1485 * src/freeglut_window.c: #pragma message is only understood my MS
1486 compiler #if defined(_MSC_VER) .. #endif
1487 * src/freeglut_state.c: Resolve bug 864978 - GLUT_OWNS_JOYSTICK
1489 * src/freeglut_main.c: Tidy nested if/else to suppress gcc -Wall
1490 -pedantic noise gcc suggests explicit braces to avoid ambiguous `else'
1494 * progs/demos/CallbackMaker/CallbackMaker.c,
1495 progs/demos/Fractals/fractals.c,
1496 progs/demos/Fractals_random/fractals_random.c: Configuring with
1497 "--enable-warnings" broke three demos: * CallbackMaker defined, but
1498 did not use, the Joystick() function (a callback for the freeglut
1499 joystick interface). I uncommented the callback-registration. I assume
1500 that it was commented out because it was spammy. (freeglut does
1501 joysticks by polling with a timer.) Perhaps a longer interval than
1502 10ms would be advisable?
1504 * fractals.c used strcpy() without getting the prototype. Added
1505 #include <string.h> at the top.
1507 * fractals_random.c had the same problem as fractals.c.
1511 * src/freeglut_main.c: Moved the window-resize code so that it happens
1512 whenever there is a pending resize for the window, whether or not the
1513 window is visible or in need of a redisplay. The resize is now done
1514 before the visibility and need-to-redisplay checks.
1518 * src/freeglut_structure.c: Got rid of those int/ptr warnings on AMD64.
1519 (The code was casting an {int} to a pointer, and later retrieving the
1520 int by another cast. It should be safe provided that pointers are at
1521 least as big as {int}, but GCC was giving warnings on my system,
1523 * src/freeglut_main.c, src/freeglut_structure.c: Several
1524 test-on-assignment cases have been converted to stop GCC from
1525 complaining about if( a = get_a_value_for_a( ) ) type code.
1529 * src/freeglut_internal.h: Ooops, left some cruft in a comment in the
1530 header when committing the last patch. Cleaned up.
1531 * src/freeglut_callbacks.c, src/freeglut_internal.h,
1532 src/freeglut_structure.c: Wrote SET_WCB() to set a window callback.
1533 This lets us out of using the FETCH_WCB() as an lvalue (which it
1534 shouldn't, since the value of the FETCH is cast to the correct
1535 function-pointer type).
1537 2003-12-15 James Jones <puggles@users.sourceforge.net>
1539 * progs/demos/Fractals/Fractals.dsp: Change the destination directory of
1540 the debug version to "Debug" (John Fay)
1542 2003-12-13 James Jones <puggles@users.sourceforge.net>
1544 * ChangeLog: Release 2.2.0
1548 * src/freeglut_main.c, src/freeglut_window.c: Stripped out TABs that got
1551 There were no changes other than replacing about 10 to 12 TABs with a
1552 visually-suitable number of spaces, so this can probably be blindly
1553 treated as equivalent to the previous versions of the two affected
1556 2003-12-11 Christopher John Purnell
1558 * src/freeglut_internal.h, src/freeglut_structure.c: The deferred window
1559 destruction code was destroying the windows in reverse order. This
1560 cased a crash when the call to glutDestroyWindow() for a sub windows
1561 was immediately followed by a call to glutDestroyWindow() for it's
1562 parent. fgCloseWindows() would call fgDestroyWindow() for the parent
1563 first fgDestroyWindws() would recurse over the children and then
1564 fgCloseWindows() would call fgDestroyWindow() again for the child.
1566 I've replaced the single linked list with one of our two way link list
1567 structures. I've also moved it into fgStructure because that seemed
1568 the consistent thing to do.
1570 I said the the deferred windows destruction causes more problems then
1573 2003-12-11 James Jones <puggles@users.sourceforge.net>
1575 * progs/demos/CallbackMaker/Makefile.am: Include project file in the
1577 * ChangeLog: Updates for 2.2.0 RC2
1578 * progs/demos/demos.dsw: Add shapes to the Visual C workspace.
1579 * progs/demos/shapes/Makefile.am: Package the visual C project file with
1581 * configure.in: Set the version to 2.2.0
1582 * src/freeglut_gamemode.c, src/freeglut_main.c, src/freeglut_window.c:
1583 Nigel Stewart's Win32 window-sizing fix for game mode
1584 * progs/demos/One/one.c: Disable/enable lighting in the "one.c" demo
1586 * progs/demos/CallbackMaker/CallbackMaker.dsp: Add some essentials to
1587 get this program to compile (Nigel)
1588 * src/freeglut_internal.h: Update to reflect 2.2.0 release
1589 * ChangeLog: Note the release of 2.2.0 RC1
1593 * src/freeglut_structure.c, src/freeglut_window.c: John correctly
1594 observed that the initialization {OldHeight} and {OldWidth} in the
1595 window structure should be done for both windows and sub-windows, and
1596 the easiest way to do this is in the
1597 freeglut_structure.c:fgCreateWindow() code. So, transplant one line.
1601 * src/freeglut_main.c: Commit of John's change to stop an infinite-loop
1602 condition when the only windows left are freeglut menu windows, and
1603 correctly calls exit() if we drop out of the main loop without having
1604 requested any freeglut extensions to glutMainLoop() handling.
1608 * progs/demos/shapes/shapes.c, progs/demos/shapes/shapes.dsp: Two from
1611 * Updated shapes.c. I think that it's just reformatting and the
1612 addition of some comments.
1614 * Added shapes.dsp, a Microsoft Visual C++ Developer Studio Project
1615 file for building shapes on WIN32 with MSVC++.
1617 2003-12-03 Christopher John Purnell
1619 * configure.in: Added an option to enable gcc compiler warnings. I've
1620 explicitly excluded the one about adding parentheses.
1624 * src/freeglut_main.c: Touched up several comments, pointing up things
1625 that may be worth reflect- ing upon in the future.
1626 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_window.c:
1627 Hrm. I misunderstood the purpose of {window->State.Width} and
1628 {...Height}. Those are *not* records of the old values, but rather of
1629 the *desired* *new* values, hence it was inappropriate to use them in
1630 ConfigureNotify X11 event handling. Doing so introduced some new
1633 So, I created OldHeight and OldWidth in the window State structure,
1634 and *those* do what I require.
1636 I also stripped out the obsolete comment about getting extra/bogus
1637 reshape events. (Though I maintain that an application should be
1638 robust against them, freeglut should no longer generate them if the
1639 window has not changed size since last reported.)
1643 * src/freeglut_main.c: Changed Create/ConfigureNotify handling in
1646 * Just need to call GETWINDOW() once. Ooops. Heh. * Update
1647 {window->State} with the new size of the window. * If the window-size
1648 has NOT changed, then do NOT call the Reshape event.
1649 * src/freeglut_main.c: Added an "XXX" earmark for post-release
1650 contemplation. (The point is definitely in need of consideration, I
1651 believe, but is not immediately a major bug, so I'd rather not mess
1652 with it at the risk of postponing a release "soon".)
1653 * src/freeglut_main.c: Ensure that the time-out for sleeping is never
1655 * src/freeglut_main.c: Fixed a bug for UNIX_X11 where window reshape
1656 events were causing freeglut to mark the window as *needing* a reshape
1657 (which during general display callback handling would result in
1658 effectively a glutReshapeWindow()).
1660 The code is now system-dependant. It should be abstracted to a
1661 function, but is presently copied in two places. Sorry.
1663 Also, inverted the order of the associated if()/else check (in both
1664 WIN32 and UNIX_X11 branches) since the former "else" part was a
1665 one-line callback invocation.
1667 This fixes two seemingly unrelated bugs that I was seeing in UNIX_X11.
1669 2003-12-01 Christopher John Purnell
1671 * src/freeglut_internal.h: Added missing prototype for new list
1674 2003-11-28 Christopher John Purnell
1676 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1677 src/freeglut_structure.c: Timer optimizations. Made the list of
1678 pendinig timers ordered. Added a free list of used timer structures.
1679 * src/freeglut_callbacks.c: Timer optimizations.
1680 * src/freeglut_window.c: Fixed windows compilation problem with last
1683 2003-11-27 Christopher John Purnell
1685 * src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c,
1686 src/freeglut_structure.c, src/freeglut_window.c: Window close fix. The
1687 default behaiour should now be the same as with glut.
1691 * src/freeglut_init.c: Added change from Nigel to have resize events
1692 cause redraw events in WIN32. Also slightly reshuffled comments to
1693 deal with line-wrap issues.
1697 * src/freeglut_main.c: John reported, and fixed, a problem that recent
1698 changes caused for the Lorenz demo (seems to be WIN32 specific).
1699 * src/freeglut_structure.c: Update from John: Removed the freeglut hack
1700 of decrementing the highst-window-ID marker when the highest window is
1701 deleted. (This was a half-way measure for an idea that was decided to
1702 be dubious in the first place.)
1703 * configure.in, progs/demos/Makefile.am, progs/demos/shapes,
1704 progs/demos/shapes/Makefile.am, progs/demos/shapes/shapes.c: Added a
1705 new demo (from Nigel) showing some of the basic GLUT geometry shapes.
1706 "shapes" is the name of the demo.
1707 * include/GL/freeglut_ext.h, src/freeglut_geometry.c: Commit of work
1710 Massive rework of the geometric primitive code. Includes a new
1711 primitive (cylinder; solid and wireframe) and corresponding update to
1712 freeglut_ext.h for the prototype.
1713 * src/freeglut_internal.h, src/freeglut_main.c,
1714 src/freeglut_structure.c: More work from John (sorry for
1717 * We forgot to bump our version number in freeglut_internal.h It is
1718 now at 2.0.2 (actually, I think that 2.1.0 might be a better choice),
1719 which is presumably going to be our next formal release. 2.0.1 is
1720 incorrectly identified as 2.0.0 in the header.
1722 * A typo in a comment has been corrected ("than"/"that").
1724 * Numerous "manual" checks for callbacks are omitted now, since
1725 INVOKE_WCB() does this for us. These were holdovers from the
1726 pre-INVOKE_WCB() days. There may be some very subtle changes in
1727 freeglut behavior, since freeglut used to test the callbacks a little
1728 earlier in some cases and may have skipped some minor things (like
1729 changes to the current window) in some special cases, otherwise. It is
1730 not believed that any documented behavior is broken, and it is
1731 unlikely---not to say impossible---that any extant applications will
1732 detect the change. It is even possible that there is no external
1733 behavioral change in freeglut.
1735 This also significantly simplifies some sections of code that used to
1736 have conditional execution. "Unconditional code is simpler code" as
1737 one of the comments used to say.
1739 * Lots of XXX commentary is now removed. Some of it was obsoleted by
1740 other changes, some by changes from John.
1741 * src/freeglut_internal.h, src/freeglut_main.c,
1742 src/freeglut_structure.c: Change from John (I removed a couple of
1743 spaces from a couple of lines in his freeglut_internal.h file where
1744 they were wrapping in EMACS; otherwise, the files are exactly as he
1747 The change unifies the WIN32 and UNIX_X11 code by defining our own
1748 window-handle-type in freeglut_internal.h. This let John rip out some
1749 #if garbage in several places. The result is clearer code.
1755 * src/freeglut_font.c, src/freeglut_geometry.c,
1756 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
1757 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
1758 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c,
1759 src/freeglut_window.c: Numerous style normalizations from John:
1761 * Convert "return( value );" to "return value;" * Normalize spacing
1762 around semicolons. * Remove extraneous parens. * Split multi-statement
1763 lines into multiple lines. (Mostly things of the form: "if( condition
1765 * src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_window.c:
1766 All changes are from John, except for: (a) I re-inserted the meat of a
1767 comment that I still feel is relavent. (b) I fixed a compile-time
1768 error in the UNIX_X11 code where a variable is declared after
1769 executable code in a block without creating a new sub-block for the
1772 Changes from John include: (a) Style revision. (b) Changes to postpone
1773 the handling of window resizes.
1775 Lots of lines were changed, but I think that thos two cover the ground
1776 that he hit. See the diffs for details.
1778 2003-11-18 Christopher John Purnell
1780 * src/freeglut_cursor.c, src/freeglut_ext.c, src/freeglut_geometry.c,
1781 src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1782 src/freeglut_menu.c, src/freeglut_state.c, src/freeglut_structure.c:
1783 Lots of stuff that John F. Fay pointed out. Plus some changes to
1784 remove gcc warnings.
1786 2003-11-17 Christopher John Purnell
1788 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1789 src/freeglut_state.c, src/freeglut_structure.c: Fix spelling mistake
1790 in a variable name. Added a comment for John Fay. Added the copyright
1791 notice for XParseGeometry source.
1793 2003-11-16 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: Made Modifers variable
1797 global as per glut classic.
1798 * src/freeglut_init.c: Removed old unused glutInitDisplayString code.
1799 Reformated new glutInitDisplayString and XParseGeometry code.
1800 * src/freeglut_init.c: Use XParseGeometry for better geometry parsing.
1801 Moved geometry parsing to after fgInitialize() so we can use the
1802 screen size to correctly calculate negative positions in the geometry
1803 string. Copied the code for XParseGeometry from the X11 sources for
1804 use in the Win32 version. freeglut now passes test1 of the glut test
1807 2003-11-15 Christopher John Purnell
1809 * src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1810 src/freeglut_main.c, src/freeglut_structure.c, src/freeglut_window.c:
1811 Removed the state variable BuildingAMenu. Instead pass a new parameter
1812 isMenu to fgCreateWindow(). Elsewhere use window->IsMenu.
1813 * src/freeglut_init.c: freeglut_assert_ready is going to have to go at
1814 some point. But for now I've moved setting fgState.Initalized to
1816 * src/freeglut_callbacks.c, src/freeglut_display.c,
1817 src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
1818 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
1819 src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c,
1820 src/freeglut_window.c: Replace TRUE with GL_TRUE and FALSE with
1821 GL_FALSE where the type is GLboolean.
1825 * src/freeglut_main.c, src/freeglut_menu.c: Normalized the spacing
1826 around symbols, for the most part. Ho-hum.
1828 2003-11-15 Christopher John Purnell
1830 * src/freeglut_main.c: Added a call to fgDeinitialize() before the call
1831 to exit() in fgError().
1835 * src/freeglut_joystick.c: Style normalizations to the joystick code.
1837 2003-11-15 Christopher John Purnell
1839 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
1840 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
1841 Added a new state variable "Initalized". Replaced referenced to
1842 Time.Set with this new variable where appropriate. fgElapsedTime() now
1843 set the start time if Time.Set is false. Moved
1844 glutGet(GLUT_ELAPSED_TIME) handling to before the assert.
1848 * src/freeglut_internal.h: Normalized the internal header's style a bit.
1849 * src/freeglut_init.c: Plowed one more file this morning. Still just
1850 trivial formatting issues.
1852 And I left alone the "INIT DISPLAY STRING PARSING" section, since it
1853 still appears to be in flux.
1854 * src/freeglut_font.c, src/freeglut_gamemode.c: Yet more trivial style
1857 Sorry, but that's all that I'm up to at the moment. On the plus,
1858 excepting the font_data file (which I've been skipping), up through
1859 this file, I think that the code style is pretty close to uniform.
1860 * src/freeglut_font.c: Minor style corrections.
1861 * src/freeglut_display.c: Minor spacing quibble.
1862 * src/freeglut_cursor.c: Added a brief explanatory note to the X code
1863 for GLUT_CURSOR_NONE.
1865 Corrected the indentation of a block of code.
1866 * src/freeglut_window.c: Noted one of a few cases where we do something
1867 immediately that could more efficiently be postponed, quite
1868 easily---and which GLUT promises *is* to be postponed. (It is unlikely
1869 that the difference will break any apps, but postponing should be
1872 No real change, just a comment in the code.
1876 * ChangeLog: Updated ChangeLog for the day.
1877 * include/GL/freeglut_std.h, progs/demos/One/one.c, src/freeglut_ext.c,
1878 src/freeglut_font.c: Removal of all remaining TABs in the freeglut
1879 *.[ch] files. (I missed a few in the "one" demo, it seems, and some
1880 more crept back into freeglut_(ext|font).c, presumably due to my own
1881 edits when I forgot to use the "freeglut-c-mode" in EMACS.)
1882 * progs/demos/One/one.c: Moved glutInit*() functions ahead of
1883 glutInit(). (This is proper use of glutInit() in general, since it
1884 allows the user to override settings via {argc, argv} command-line
1886 * progs/demos/One/one.c: Style normalizations: Removed CRs and hard TABs
1888 * ChangeLog, src/freeglut_structure.c: Corrected the numbering of the
1889 ChangeLog (there were two (110)s).
1891 Added entries summarizing my commits since September or late August,
1892 for the benefit of those lacking both CVS and web access.
1893 * progs/demos/demos.dsw: Added CRs to the ends of all lines in MS
1894 developer studio demos.dsw file..
1898 * src/freeglut_main.c: John's fix for the minimize/close/maximize
1899 controls no longer working. WIN32 expected us to pass the message on
1900 up the chain (or do something else with it), rather than just throwing
1901 away the event, for a certain class of events. (See the diffs for more
1904 The code is also slightly reformatted from what was previously in the
1906 * freeglut.dsp, freeglut_static.dsp,
1907 progs/demos/CallbackMaker/CallbackMaker.dsp, progs/demos/demos.dsw: A
1908 *.dsp file for CallbackMaker in the demos.
1910 Plus updated *.dsp and *.dsw files to reflect the new freeglut header
1913 NOTE: The prior version of the *.dsw file does not in fact have CRs. I
1914 thought that it did. For consistancy, I am not putting them in in this
1915 version, either. (At least one person said that his MSVC++ system is
1916 happy with the current files. If there are problems, we can easily add
1917 the CRs, but that should be a separate commit...)
1918 * configure.in, progs/demos/CallbackMaker,
1919 progs/demos/CallbackMaker/CallbackMaker.c,
1920 progs/demos/CallbackMaker/Makefile.am,
1921 progs/demos/Fractals_random/fractals_random.c,
1922 progs/demos/Makefile.am: New demo from John: CallbackMaker.
1924 This demo shows the use of every callback that you can register with
1925 freeglut, and also generates event reports so that you can see what is
1926 happening to the program as it runs.
1928 Not much to look at, but both utilitarian and a practical example.
1930 Please double-check that I updated everything that needs to be
1931 updated. I reran autogen.sh and ./configure, and it built okay for me.
1933 * src/freeglut_structure.c: Hm. I thought that I already hit this file
1934 for style normalization. Oh well... Should be no functional changes.
1935 Should be pretty close to in-line with the style of changes that I've
1936 been making else- where.
1937 * src/freeglut_structure.c: Ooops. Forgot that we already had a call to
1938 fgClearCallBacks() in the code and added a second one. I just deleted
1940 * src/freeglut_structure.c: Added Nigel's suggested code to clear all
1941 but the destroy callback early on, leaving Destroy to be cleared later
1942 after the last possible point where it should be invoked.
1943 * src/freeglut_menu.c: Modified the menus to refer to {border} rather
1944 than {FREEGLUT_MENU_BORDER}, in fghDisplayMenuBox(). The local
1945 variable was already defined and used for some purposes, so we might
1946 as well use it throughout. It does serve to shorten and clarify the
1947 code a bit---though I have mixed feelings about creating aliases that
1950 Still, the variable already existed and was already used in places.
1951 (We could even move it into the freeglut state, or make it a {const
1954 Oh well. Stuff to ponder.
1955 * src/freeglut_cursor.c: Well, a couple of days have gone by, so I
1956 assume that items (a) and (b) in the freeglut_cursor.c file's "Open
1957 issues" comment are now satisfactor- ily closed.
1959 I also partially implemented some error-checking, using my limited
1960 understanding of how Xlib users are supposed to do this. (No one
1961 commented about the lack of error-checking, pro or con. Perhaps
1962 someone will care to comment now?)
1964 At present, it just will print out a warning, via fgWarning(). In part
1965 because I'm not sure what is best to do, and in part because failure
1966 to set the cursor type is probably not a fatal problem.
1968 2003-11-08 Christopher John Purnell
1970 * progs/demos/Fractals/Makefile.am,
1971 progs/demos/Fractals_random/Makefile.am,
1972 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Applied
1973 Braden McDaniel's non-srcdir build patch.
1977 * src/freeglut_menu.c: A first pass over freeglut_menu.c to bring it in
1978 line with the rest of freeglut's style. Mostly re-indenting and
1979 splitting long lines. For those that may be concerned: No, I didn't do
1980 any more arrangments of the form (CONST == a) rather than (a ==
1982 * progs/demos/Fractals_random/fractals_random.c: Altered the way that
1983 the {random} value (from 0..3) is chosen.
1985 Previously, it picked out two adjacent bits in the result of rand().
1986 Unfortunately, these adjacent bits (at least on NetBSD) have a certain
1987 amount of dependance. After a period (perhaps a thousand or so?), it
1988 starts to repeat the pattern of those two bits. (I think; I haven't
1989 actually tested that directly.) This presumably is locking it into a
1990 an an N-way attractor on the "snowflake", such that if you zoom in a
1991 ways, you will start to see some spots *quickly* are colored, and
1992 others are *never* colored.
1994 What I've done now is to pick up two widely-spaced bits in a single
1995 rand() call. (Perhaps we would do as well to pick up something like
1996 bit #16 from two consecutive rand() calls?) These widely-spaced bits
1997 have a lower statistical dependance on one another (if I can get away
1998 with using that term for an arithmetic operation; though since stats
1999 has more to do with sampling and less to do with true randomness, I
2002 The net effect, at leats on NetBSD, is far better snowflake if you
2007 * src/freeglut_main.c: From John:
2009 [This] implements the visible/invisible for Windows. It does NOT call
2010 the visibility callback, though.
2011 * src/freeglut_main.c: Stripped out the now truly extraneous {braces} in
2014 if( ... ) { INVOKE_WCB( ... ); }
2016 Check for compiling on WIN32.
2017 * src/freeglut_internal.h: Adopted Eero Pajarre's suggestion of using a
2018 do { ... } while rather than { ... } for the INVOKE_WCB() macro. This
2019 lets it be used "more like a function", in that:
2021 if( ... ) INVOKE_WCB( ... ); else ...
2024 * src/freeglut_main.c: Pure code janitoring: Shuffled the order of some
2025 of the case statements in the UNIX_X11 X event processing loop. (In
2026 general, it's nice to have case statements sorted, especially when you
2027 have a *huge* switch statement like this. That makes it easier to find
2028 the one that you're looking for, and to see if a certain case is
2030 * src/freeglut_main.c: Combined EnterNotify and LeaveNotify event
2031 processing in the UNIX_X11 event loop.
2032 * src/freeglut_main.c: Added ReparentNotify case to UNIX_X11 event loop,
2033 to catch the extraneous ReparentNotify event types (type 21).
2034 * src/freeglut_internal.h, src/freeglut_structure.c: Oh well, I might as
2035 well add the call to clear callbacks on window destruction. Also
2036 renamed the function to do this: fgClearCallBacks(). Ho-hum.
2037 * src/freeglut_internal.h, src/freeglut_structure.c: Added
2038 fgInitCallBacks() to freeglut_structure.c. (The function takes an
2039 {SFG_Window *}.) Added prototype to freeglut_internal.h. Added use of
2040 the function to the window initialization. (Don't count on calloc(),
2041 which sets all bits to 0.)
2042 * src/freeglut_gamemode.c: Style normalization; removal of
2043 say-nothing-useful comments.
2044 * src/freeglut_font.c: Normalized the style of freeglut_font.c No
2045 substantial alterations.
2046 * src/freeglut_ext.c: Somewhat normalized the style of this file.
2048 Also moved the "glutMouseWheelFunc" extension down into the
2049 "extensions" part of the table. (Purely internal organization. It will
2051 * src/freeglut_display.c: Further normalization of the code's style. No
2052 substantial changes.
2053 * src/freeglut_cursor.c: Split one last overlong line in
2055 * src/freeglut_cursor.c: Added GLUT_CURSOR_NONE support in UNIX_X11
2056 (well, NetBSD; you lot need to try it on others; (^&).
2058 Deallocated some resources that we are creating. VERY slight memory
2059 leak, but plugged now.
2061 These two complete the first two "Open issues" ( (a) and (b) ). The
2062 first one also completes X support for glutSetCursor(). If others can
2063 verify, we can fully demote the outstanding bug over this to
2066 I'll delete the dead Open issues and re-letter the others if someone
2067 will cross-check me. Or if no one says anything in a day or two. (^&
2068 * src/freeglut_cursor.c: Further normalized the style of the cursor
2070 * src/freeglut_callbacks.c: Slight style improvements. Two rules of
2071 thumb that are almost always good to apply:
2073 * Don't write a == CONST. Instead, write CONST == a. Or, more
2074 generally (in C like languages): Avoid putting an lvalue on the
2075 left-hand side of an == comparison. (For consistancy, I try to avoid
2076 lvalues on the left- hand side of any comparison---but == is the most
2079 (An "lvalue" is a value that can safely go on the left side of an "="
2080 assignment, of course. (^&)
2082 * Do not write if( !condition ) return; other_thing; return;
2084 (See page 18 of K&P's _The Elements of Programming Style_.)
2086 Instead, it is better to just write:
2088 if( condition ) other_thing; return;
2090 There are times when sacrificing structured programming (e.g., via
2091 multiple return statements) is okay. But, here, there is no apparent
2092 gain---indeed, there seems only loss---in the non-structured code.
2093 * src/freeglut_main.c: Grr. Forgot to enable the "freeglut" C
2094 programming mode in EMACS, and had a few TABs in the last commit. This
2096 * src/freeglut_main.c: Minor corrections to the UNIX_X11 mouse-wheel
2097 support. In part this reflects that {button} is already shifted to the
2098 GLUT numbering, and hence should be counted as 3&4, 5&6, etc.
2100 The other change was simply to clarify the computation of {direction}.
2101 The original code did some clever arithmetic. The new code is more
2102 straightforward, even if it requires more lines to express.
2106 * src/freeglut_main.c: Ooops. I screwed up on part of John's fixes.
2109 I think that I have his fix properly committed now. Mea culpa.
2110 * src/freeglut_callbacks.c, src/freeglut_internal.h,
2111 src/freeglut_main.c, src/freeglut_structure.c: Cleanup pass after
2112 committing callback conversion (from structure to array-of-pointers).
2113 Mostly deleted commented-out struct-based code. Also added some XXX
2114 comments that I though should be pondered. (My own pair of eyes, and
2115 one brain cell, were not sufficient at this time to decide what to do
2116 for those ponderables. (^&)
2117 * src/freeglut_callbacks.c, src/freeglut_init.c,
2118 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
2119 src/freeglut_misc.c, src/freeglut_structure.c: Converted the
2120 "Callbacks" structure (with named members holding individual callback
2121 pointers) to a "CallBacks" array in fgState. (This is to allow us to
2122 write a loop to clear all callbacks from windows when the window is
2123 dead/dying. Using this, we can safely assign NULL to each in a loop.)
2125 Support includes two new macros, FETCH_WCB() and INVOKE_WCB(). See
2126 freeglut_internal.h for more details there.
2128 Some typedefs of function pointer types were altered to make them more
2129 uniform (necessary for the macros).
2131 All references to window-based callbacks in freeglut are updated to
2134 Old usages will cause compile-time errors.
2136 As a side bonus, the new invocation macro sets the current window and
2137 checks pointers so that these common steps can be uniformly done on
2138 every window-based callback. This makes it easier to do things right.
2139 At the same time, the array notation (and now required associated
2140 casts) make it harder to bypass the macros and abuse the function
2141 pointers, in general.
2143 After this commit, I will go through the code and clean up dangling
2144 issues about formatting. This commit is just a "it now works, let's
2145 checkpoint it" type of affair.
2146 * src/freeglut_main.c: From John, a couple of lines needed to be changed
2147 to fix the mouse wheel support on WIN32.
2148 * progs/demos/Fractals_random/fractals_random.c: Update from John:
2149 Includes mouse button, mouse motion, and mouse wheel support.
2153 * src/freeglut_menu.c: Multiple changes from John. Style issues, plus a
2154 bug-fix to check a pointer before deallocating some memory.
2156 He also removed one obsolete comment, and added some more comments.
2157 * src/freeglut_main.c: Some changes, mostly from John. Mostly style
2160 One bug fix from John: Execution state bug-fix in glutMainLoop(), per
2163 One fix from me: Changed "if( ButtonPress )" to "if( pressed )".
2164 {ButtonPress} is a constant.
2165 * progs/demos/Fractals_random/fractals_random.c: Per John's emailed
2166 desire to have all files obey UNIX EOL conventions, I have stripped
2167 out carriage returns from this file.
2169 This is the *only* change, but every line is touched. If you want to
2170 see the real differences between older and newer versions, you will
2171 have to get local copies of each and first match their EOL
2173 * progs/demos/Lorenz/lorenz.c: Update from John:
2175 I [John] added a feature to check for memory leaks under Windows.
2176 * progs/demos/Fractals_random/fractals_random.c: Update from John:
2178 I [John] converted everything to double precision to avoid compiler
2179 warnings. I also added a feature to check for memory leaks under
2180 Windows and removed a memory leak (surprise!).
2181 * src/freeglut_callbacks.c, src/freeglut_cursor.c,
2182 src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
2183 src/freeglut_gamemode.c, src/freeglut_geometry.c,
2184 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
2185 src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
2186 src/freeglut_misc.c, src/freeglut_overlay.c, src/freeglut_state.c,
2187 src/freeglut_structure.c, src/freeglut_teapot.c,
2188 src/freeglut_videoresize.c, src/freeglut_window.c: Got rid of the
2189 G_LOG_DOMAIN junk, per discussion on the mailing list.
2190 * src/freeglut_callbacks.c: Minor formatting quibbles. (The brain isn't
2191 up to anything more serious at the moment.)
2192 * src/freeglut_main.c: Missed a block where one level was 2-space
2195 Nit-picked a few other lines for consistancy.
2199 * src/freeglut_init.c: Fixed a memory leak (thanks for the correction,
2202 Smoothed over some code style issues while I was here, but left the
2203 init-string parsing alone for now.
2204 * freeglut13.dsp, freeglutdll.dsp, freeglutstatic.dsw: Deleted 3 files
2205 (again?) from CVS, on John's request. Old/obsolete MSVC++ project
2206 files. (freeglut13.dsp, freeglutdll.dsp, freeglutstatic.dsw)
2207 * src/freeglut_main.c, src/freeglut_structure.c: * Indentation issues. *
2208 Pulled some common code into a nicely packaged function. * Found some
2210 * src/freeglut_main.c: Heh.
2212 Forgot to wrap the fgGetXModifiers() in a #if. Fixed.
2213 * src/freeglut_main.c: Extracted some common code to a subroutine, in
2214 glutMainLoopEvent(). (The common code was a snippet to compute X
2215 keyboard modifiers as a bit-mask of GLUT symbols.)
2216 * src/freeglut_main.c: Caught a few more little style issues.
2217 * src/freeglut_main.c: Added a "case" for an X event that we turn on but
2218 do not use. ({MapNotify}). We already caught {MappingNotify} and
2220 * src/freeglut_main.c: * Fixed a bug in the X11 handling of
2221 scrollwheel/mouse. The old code, I believe, checked if *either* a
2222 wheel or button callback was set, and then decided which to use---and
2223 unconditionally called it. I left the "either" check in, but added
2224 additional checks before actually doing the invocation. * Lots of
2225 reformatting. Massive. The usual suspects, though, and fairly trivial:
2226 Re-indenting to standard size, shuffling some spaces to match the
2227 freeglut "standard" of: if( ... ) ...and: func( ... )
2231 * src/freeglut_callbacks.c: Cleaned up one macro definition.
2233 Picked up an over-long line that I missed before.
2234 * src/freeglut_callbacks.c: Fit some long lines to 80 columns.
2235 * src/freeglut_cursor.c, src/freeglut_display.c,
2236 src/freeglut_gamemode.c, src/freeglut_geometry.c: Last of the hard
2237 TABs in the src/*.c files.
2238 * src/freeglut_init.c, src/freeglut_joystick.c, src/freeglut_main.c,
2239 src/freeglut_menu.c, src/freeglut_state.c: En masse removal of most (I
2240 think) of the remaining hard TABs in files. There are still a couple
2241 of files that need to be hit.
2242 * src/freeglut_window.c: Picked up some stray TABs scattered in this
2244 * src/freeglut_window.c: Noted by XXX comments that the XFlush() calls
2245 probably shouldn't be there. Flushing the X protocol stack every
2246 little bit both adds clutter to the code and may impede performance.
2248 It seems that we should be able to get rid of these, though allowing
2249 client code to directly call glutMainLoopEvent() does make it a little
2252 Something to ponder.
2253 * src/freeglut_window.c: Polished off the say-nothing-new comments and
2254 lines-over-80-columns in freeglut_window.c
2256 There should be no functional changes.
2257 * src/freeglut_window.c: Missed a few say-nothing-new comments in
2258 fgOpenWindow(). Eeep. Should be better now. (^&
2259 * src/freeglut_window.c: Cleansed fgCloseWindow(): * say-nothing-new
2260 comments axed. * de-TABbed. * Made the white-space to be consistant.
2261 * src/freeglut_window.c: Cleaned up fgOpenWindow(): * Removed TABs. *
2262 Made indentation consistant. * Deleted say-nothing-new comments. *
2263 Changed an *error*check* from an assert to an if(). (The error-check
2264 was on window creation; we don't want to lose that if the user
2265 compiles with asserts deactivated. Also, assert()s really tell us more
2266 about programming errors, rather than run-time errors, so it is a
2267 little misleading to use assert() for error-checks, even if you can
2268 depend upon assert()s never being compiled away to null statements.) *
2269 Added some XXX comments for things that bear some rumination.
2270 * src/freeglut_window.c: Cleanup to fgSetWindow(). The usual suspects: *
2271 Removed tabs. * Made indentation consistant. * Killed off
2272 say-nothing-new comments.
2273 * src/freeglut_window.c: Cleanup to fgSetupixelFormat(). Should be no
2276 Code facelift included:
2278 * Consistant indentation. * Removal of all TABs (there were a bunch).
2279 * Fit to 80 columns.
2280 * src/freeglut_window.c: There should be no changes to code
2281 functionality, though a fair bit of little changes to the code
2284 * Fit the comments at the start of the file to fit 80 columns. * Noted
2285 an unusual feature of the ATTRIB() macro. * Added ATTRIB_VAL() macro
2286 which is really just two ATTRIB()s. This lets us put things like
2287 {ATTRIB (GLX_RED_SIZE); ATTRIB (1);} on one statement: {ATTRIB_VAL
2288 (GLX_RED_SIZE, 1);}. I did this to preserve some of the layout of
2289 information while also avoiding the nasty semi-visible ";" in the
2290 middle of a line of code. And by putting the {braces} in the macro
2291 definition, I was able to visually clean code of the form: if
2292 (condition) { ATTRIB( X ); ATTRIB( 1 ); } ...rewriting as: if
2293 (condition) ATTRIB_VAL( X, 1 ); * Eliminated a bunch of
2294 say-nothing-new comments in fgChooseVisual(). * Combined some
2295 semi-useful comments into a block comment summarizing a loop.
2299 * src/freeglut_structure.c: Finished off most of the issues with
2300 freeglut_structure.c, from a stylistic point of view (at least,
2301 insofar as: The original file's code was INCON- SISTANT. I did not
2302 remove the "!= NULL" stuff, did not address the shortest-branch-first
2303 issue for if-else statements, and left some rather ugly "if (x) {...
2304 return y} /* else do this */ return NULL;" garbage. This should, I
2305 think, be re-written as "if (x) return y; else return NULL;" or even
2306 better, "ret = NULL; if (x) ret = y; return ret;"
2308 In short, the code still has some issues, but I think that it's a bit
2311 (Oh, I also got rid of oustanding TABs.)
2312 * src/freeglut_structure.c: Eliminated most of the say-nothing-new
2315 Fit most of the code to no more than 80 columns.
2317 Raised some issues about completeness/correctness of trying to
2318 decrement the max-window-ID (apparently in order to partially recycle
2319 some window IDs to slightly slow the rate of growth of window IDs). (I
2320 didn't change what the code does, though.)
2322 The functionality of the code should be unchanged.
2323 * src/freeglut_main.c: Forgot to set {direction} explicitly to +/- 1 for
2324 freeglut mouse-wheel API on MS-WINDOWS. Oops.
2326 Now it should always report +/- 1 on MS-WINDOWS, per the spec.
2327 * src/freeglut_main.c: Minor fix to allow for multiple ticks to be
2328 received at one time by the WIN32 code. Take abs(direction) as the
2329 number of ticks, and count it down.
2331 <stdlib.h> *should* be included by freeglut_internal.h, I think, so it
2332 should be okay; otherwise add a suitable #include.
2333 * src/freeglut_main.c: Grrr. My attempt to commit got aborted, and the
2334 commit message was lost. Now I've lost track of what I said I'd done.
2337 * Fixed some issues with multiple wheels. * Noted in comments some
2338 issues about other-than-3-real-buttons. * Fixed formatting to fit 80
2339 columns. * Removed some BCPL/C++ style comments (//) that are not
2340 legal, and which, if memory servers, are not even strictly legal when
2341 disabled by preprocessor directives. E.g.,
2343 #if 0 not-syntactically-valid-C #endif
2345 ...is not legal. Though most cpp's will discard the bracketed material
2346 completely before the main C compiler pass has a chance to analyze the
2347 syntax. (MSVC++ and GCC both don't seem to mind the BCPL style
2348 comments in plain C, but let's keep the sources clean, eh?) * Fixed a
2349 problem that would have caused freeglut to report doubled wheel events
2352 Not tested other than compiling. Personally, I think that the
2353 interface is inherently broken at this point unless you are willing to
2354 get user- configuration. (Which would then solve the complaint that
2355 Steve had about computing the tick-size on behalf of applications.)
2356 I.e., there is NO WAY to know if we have the right buttons to start
2357 wheels at, or if there are any buttons after the first wheel(s), etc.
2358 We just have to guess---and if we are wrong, we can get varying
2359 degrees of brokeness.
2361 2003-10-29 Christopher John Purnell
2363 * src/freeglut_window.c: There is a problem with the way I did
2364 glutFullscreen() in my last commit. So I've copied the way the game
2365 mode does it. It's not ideal but it works. The glutGet() for the
2366 window border sizes will also have to be fixed at some point.
2367 * src/freeglut_window.c: Rewrote glutFullscreen(). It now correctly
2368 places the window in X11. It now uses system dependant code for more
2369 efficient use of windowing system calls.
2373 * src/freeglut_joystick.c: Should be no real changes to the code
2376 I missed a few lines that went past 80 columns. (^&
2378 Also made formatting more consistant.
2380 Added a couple of XXX comments re. FreeBSD vs. general BSD #ifdef's.
2381 * src/freeglut_joystick.c: Should be entirely superficial changes to
2384 * Fit lines to 80 columns. (It does get tiresome seeing long lines
2385 forced to break by the right-hand border of windows...(^&) *
2386 Eliminated say-nothing-new comments. * Made formatting more consistant
2387 in spots. * Eliminated some hard TAB characters.
2388 * src/freeglut_joystick.c: Added Thierry's change to include
2389 sys/param.h. This lets us pick out version numbers for OS releases
2390 corresponding to system headers.
2392 I modified it to also work with NetBSD; I cannot confirm if it is safe
2393 with any other systems, so it remains protected by a #if.
2394 * src/freeglut_state.c: Deleted some say-nothing-new comments.
2396 Added some XXX's where comments seemed to require future attention.
2398 Added some new comments with XXX's where future attention seems
2400 * src/freeglut_state.c: Deleted a bunch of say-nothing-new comments.
2401 Someday, there shall be an end to them.
2402 * src/freeglut_state.c: Previous changes were made without the freeglut
2403 major mode in EMACS. Re-tweaked some lines (mostly got rid of some
2404 TABs, but also resulted in some changed indentation).
2406 Reformatted a big comment to fit to 80 columns.
2408 Removed bogus references to "Linux". (UNIX, and/or X11 were relavent,
2409 and "UNIX/X11" was substituted for "Linux" in those places. This
2410 includes UNIX-alike systems.)
2411 * src/freeglut_state.c: Rewrote the TODO BEFORE THE STABLE RELEASE
2412 comment to fit to 80 columns.
2414 Cleanup of fghGetConfig(). (One return statement, simpler code.)
2416 Made glutSetOption() have a more consistant style---and also got its
2417 lines to stay under 80 columns.
2418 * src/freeglut_misc.c: Got the last of the say-nothing-new comments in
2421 (I would have picked them up before, but wanted the bug-fix and
2422 conversion-to-error-message changes to go in before I did more
2424 * src/freeglut_cursor.c, src/freeglut_main.c, src/freeglut_misc.c: *
2425 Fixed a bug that I introduced in fgWarning()/fgError(): I thought that
2426 ((a) || (b)) was defined to have value as: (a) if (a) != 0 (b) if (a)
2429 ...instead, it has value 0/1. This was causing a bug. It's probably
2430 just as well, since what I was trying to do definitely fell into the
2431 category of "clever code" rather than "clear code".
2435 * Made glutSetKeyRepeat() call fgError() if you go out of range. (The
2436 old code silently did nothing---not even a warning.)
2438 If it is really desirable to keep running, we should probably at least
2439 generate an fgWarning().
2441 * Deleted some say-nothing-new comments.
2443 * XXX added: Is glutSetKeyRepeat() deprecated?
2447 * include/GL/freeglut_ext.h, src/freeglut_callbacks.c,
2448 src/freeglut_ext.c, src/freeglut_internal.h, src/freeglut_main.c:
2449 Commit, mostly of work from John:
2451 * Removed some say-nothing-useful comments. * Added some tentative
2452 mouse-wheel support. * Fairly massive reformatting of code.
2454 I made some secondary changes to his changes:
2456 * One compilation error was fixed (missing close-paren + semicolon). *
2457 Deleted a few ore say-nothing-useful comments. * Some of John's code
2458 was strangely formatted to the point that it seemed completely out of
2459 place, so I took the liberty of reformatting it. Since I used GNU
2460 EMACS's <tab> key (which re-indents rather than inserts TAB
2461 characters), I had to propogate some indentation changes a little
2462 further than the bare necessity to match up with John's changes. (John
2463 seems to shoot for 2-space indents, while EMACS (and I, I confess)
2464 strongly prefer 4-space indents. The code that I was re-indenting had
2465 been put to 8-space indents, however.)
2467 I have *not* tested the code beyond compiling. I assume that John did
2468 (and that the compilation error was a result a minor change just
2469 before asking me to commit).
2470 * src/freeglut_cursor.c: Re-indentation style changes from John.
2472 There should be no alterations to how the code performs.
2474 (I modified how the X11 section of the set-cursor code is indented to
2475 slightly better match (IMHO) the rest of his changes.)
2479 * src/freeglut_menu.c: Converted a few "x != NULL" tests to "x" for
2482 I think that I've touched enough lines of source for one morning.
2483 * src/freeglut_menu.c: Cleaned up a little redundancy in a comment on
2484 the {menu_pen_*} variables.
2485 * src/freeglut_menu.c: Removed about 90 lines of say-nothing-new
2488 The code should be functionally unaltered by these changes.
2489 * src/freeglut_menu.c: Propogated a pointer-check from menu-attach to
2490 menu-detach. (Apparently, in some cases, the Menu member variable can
2493 Corrected the menu-attach code to make sure that both Window and Menu
2494 pointers are non-NULL (rather than "at least one").
2496 Rewrote button-checks to more simply and more clearly assert that the
2497 "menu button" is a valid button for menu actions: Instead of
2498 laboriously comparing against the three valid buttons (0, 1, 2 or
2499 GLUT_BUTTON_*), we do a simpler range-check and the upper bound is
2500 {FREEGLUT_MAX_MENUS}, allowing us to change the number of menuable
2501 buttons fairly easily in the future.
2503 Also deleted a few say-nothing-new comments.
2504 * src/freeglut_menu.c: Cosmetic changes (mostly deleted a few more
2505 say-nothing-new comments). The functionality of the code should be
2507 * src/freeglut_menu.c: Changed an "#elif TARGET_HOST_UNIX_X11" to
2508 "#else", since this simply governed menu aesthetics. I think that it's
2509 better to have a default that works than to break completely, should
2510 freeglut ever be ported to a new (non-WIN32, non-UNIX/X11) target.
2511 * src/freeglut_menu.c: Minor modifications to the menus:
2513 * Updated an old "TODO BEFORE STABLE" comment.
2515 * Expanded a comment re. some #define macros.
2517 * Made colors and font choice system dependant. The UNIX freeglut
2518 menus look more like UNIX GLUT menus, now. (This is PURELY a cosmetic
2519 change. But it achieves better compatibility visually.)
2520 * src/freeglut_main.c: Cleaned up glutMainLoop() a bit:
2522 * Deleted numerous say-nothing-new comments. * Reformatted a
2523 say-something-useful comment to fit on an 80-column display.
2524 * src/freeglut_main.c: Partially (re-?)unified some of the
2525 glutMainLoopEvent() code. The only code that really needs to be
2526 system-specific is the window event handling, which in MS-WINDOWS is
2527 tucked into a separate function. In UNIX/X11, it's all spilled out
2528 into glutMainLoopEvent() for some reason.
2530 If the X11 code could be tucked into another function,
2531 glutMainLoopEvent() could be platform-independant.
2535 * src/freeglut_main.c: Moved the idle callback out of
2536 glutMainLoopEvent() and into glutMainLoop(), per discussion on the
2537 list. The code looks okay, to me, though I remain less than wholly
2538 convinced that treating idles as special cases is the best way to go.
2539 Still, a case can be made for taking "non-event" idle callbacks out of
2540 the "event loop". From an organizational perspective, I think that
2541 it's an improvement, and it fixes a bug for at least one program.
2542 * src/freeglut_menu.c: Added John's text-positioning modification.
2544 The lines that he was altering were very oddly-split, so while I was
2545 at it, I repaired the line-break damage.
2546 * src/freeglut_joystick.c: Committed change from Nigel to fix the
2547 joystick bug. (The joystick code was not setting the GLUT window prior
2548 to calling callbacks.)
2550 Please verify. If so, this closes out, I think, the latter half of
2551 that bug report, so anyone with the means to modify/close bug reports
2552 should do so upon verification of the fix.
2553 * src/freeglut_main.c: Superficial cleanup of the code. Mostly taking
2558 /* * <Enslish recapituation of the single following C statement> */
2559 <single C statement>
2563 ... <single C statement>
2565 freeglut_main.c still has a lot of that in it, but it looks a bit
2567 * src/freeglut_init.c: Added some error-checking (particularly w.r.t.
2570 Deleted numerous 4-line "padding" sequences of C-as-English trans-
2571 literation comments.
2573 Re-indented some (but not all) code that is using 2-space indentation.
2574 (Most of the freeglut code seems to be using 4-space indentation.)
2576 I did not touch the "INIT DISPLAY STRING PARSING" code, since it is
2577 filled with a ton of over-long lines and also appears to be in more
2578 flux than the rest of the code. (Well, I added one error-check to a
2580 * src/freeglut_font.c: Removed two more bogus "carriage return"
2581 references where the comments were in fact talking about a line feed
2582 (a.k.a. newline, LF, ^J, \n, ...).
2583 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c:
2584 Fixed the buglet about failing to report the program's name on error-
2585 messages. Please test. (Modified glutInit(), the state structure, and
2586 the warn/err functions.)
2588 2003-10-23 James Jones <puggles@users.sourceforge.net>
2590 * ChangeLog: Released 2.0.1
2592 2003-10-21 Christopher John Purnell
2594 * configure.in, include/GL/Makefile.am, include/GL/freeglut.h,
2595 include/GL/freeglut_std.h, include/GL/glut.h,
2596 progs/demos/Fractals/Makefile.am,
2597 progs/demos/Fractals_random/Makefile.am,
2598 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am,
2599 src/Makefile.am: Added --disable-replace-glut option to autoconf
2602 2003-10-15 James Jones <puggles@users.sourceforge.net>
2604 * NEWS: Noted the release of 2.0.0
2605 * configure.in: Version bump
2609 * src/freeglut_font.c: Swept the freeglut_font.c for comment cleanup: *
2610 Got rid of the "rewrite C as English" comments. * Corrected several
2611 bogus references to "carriage returns" (in strings). The symbols were
2612 newlines or EOLs or LFs (\n). They were *not* carriage returns or CRs
2613 (\r). * Clarified the comments on glBitmap() calls.
2617 * progs/demos/Fractals/fractals.c,
2618 progs/demos/Fractals_random/fractals_random.c: Small bug-fix that's
2621 Modified the two Fractals* demos so that they only clear (for the
2622 random one) or redraw (for the non-random one) if there is need to do
2623 so. (E.g., pressing the space bar should not clear and redraw the
2624 random fractal since no parameters are altered.)
2625 * src/freeglut_cursor.c, src/freeglut_display.c: Removed the obsolete
2626 hack (or very ill-conceived dream), fgDisplayCursor().
2627 * src/freeglut_display.c: Cleaned up some of the style issues (mostly
2628 "fluff" comments) in freeglut_display.c.
2629 * src/freeglut_cursor.c: Comment-cleaning sweep.
2631 Mostly got rid of the say-it-in-English comments that were adding 1
2632 line of English and 2 or 3 lines of filler for each of several lines
2633 of C code. Updated a couple of other comments, and tweaked some
2635 * src/freeglut_callbacks.c: Cleaned up the comments a bit in the
2636 callbacks.c file (mostly removed some of the
2637 kill-4-lines-to-translate-one-line-of-C-into-English comments).
2641 * src/freeglut_cursor.c: Added all missing GLUT cursor types for X11.
2643 (Type NONE is not properly supported, yet.)
2645 Corrected behavior for the several old types: * Wrong glyphs. *
2646 Reversed glyphs (left/right confusion!)
2648 There are some remaining imperfections, but it's a lot closer to GLUT
2653 * src/freeglut_callbacks.c: Three tidying-up changes to the code of
2654 freeglut_callbacks.c; none of them are Earth-shattering, but as I
2655 swept through looking somewhat more systematically for errors, I
2656 picked these off. See the diff's for details.
2657 * src/freeglut_callbacks.c: Fixed a basic readability/style error in the
2658 code. (Two statements per line are almost never a good idea; in this
2659 case the combined line was past 80 columns.)
2660 * src/freeglut_callbacks.c: Added a safety-check on a memory allocation.
2661 (Timers were using dynamic memory allocation but NOT checking the
2663 * src/freeglut_menu.c: Committed two lines from John to help fix the
2665 * src/freeglut_callbacks.c: Check the glutDisplayFunc() callback for
2666 being a NULL pointer. This is illegal and is disallowed in GLUT 3.0+,
2667 so we disallow it too in freeglut 2.0.1+
2671 * progs/demos/Fractals/fractals.c,
2672 progs/demos/Fractals_random/fractals_random.c: Applied John's updated
2673 ReadConfigFile() changes to the fractals demos.
2674 * progs/demos/Fractals_random/fractals_random.c: Fixed: * glutInit()
2675 ordering w.r.t. glutInit*() and {argv} processing. * Aspect ratio. *
2676 Removed depth-buffer usage. (Also done for Fractals in previous
2678 * progs/demos/Fractals/fractals.c: A few minor changes: * glutInit*()
2679 calls should preceed glutInit(), per se, generally. This is so that
2680 glutInit()'s configuration (which picks up on user parameters) can
2681 override application defaults. * glutInit() should be called before
2682 ANY attempt to process {argv, argc}. This is because there may be
2683 GLUT/freeglut parameters (such as "-display" on X11). * If the window
2684 is tall and skinny, rather than short and squat, we need to handle
2685 aspect ratios differently.
2687 The first is a user-interface bug. The second is a serious bug
2688 (especially since the demo assumes that argv[1] contains a filename).
2689 The third is a display bug.
2693 * src/freeglut_main.c: Changed CreateNotify (in X11 ONLY) to act like a
2694 ConfigureNotify event.
2696 This is done so that subwindows on X11 will get "resize" events when
2697 they are created. Old GLUT did this---presumably by design in order to
2698 ensure that (a) All windows get notified of their size as soon as the
2699 window exists, and (b) probably more importantly, so that windows and
2700 sub-windows behave as much alike as possible. I believe that GLUT was
2701 right to do this, and I believe that compatibility requires this (I
2702 have a sample program that breaks in freeglut but not GLUT without
2705 I did not touch the Microsoft side, because I don't know what their OS
2706 does---nor if old GLUT was historically system-dependant about this.
2708 2003-10-08 Eric Sandall
2710 * ChangeLog, src/freeglut_menu.c: freeglut_menu.c:217,519,532: Fix menus
2711 to stay in the window (John Fay)
2715 * src/freeglut_menu.c: Several updates from John and myself.
2717 The broad outlines are:
2719 * Color schemes are now in variables, are closer to old GLUT, and are
2720 system dependant (as old GLUT did). * You can change the font to any
2721 bitmapped font more easily, which can aid in finding a better
2722 approximation. (Old GLUT does not seem to have used a GLUT font for
2723 the menus, which causes problems for us.) The menus rescale
2724 automatically, including the triangle "arrow" for sub-menus. * Menus
2725 have real borders, and the placement of highlighting is much improved.
2726 * src/freeglut_main.c: Fixed a bug in the menu callback behavior. Menus
2727 were not setting the current window correctly.
2729 2003-10-06 Eric Sandall
2731 * ChangeLog, src/freeglut_menu.c: freeglut_menu.c:328 Fix submenu
2734 2003-10-04 James Jones <puggles@users.sourceforge.net>
2736 * ChangeLog, src/freeglut_main.c, src/freeglut_structure.c: Tweaking for
2737 menu behavior in Linux regarding mouse whatnot - John Fay
2741 * src/freeglut_joystick.c: Applied a patch from "extraeme@netbsd.org" to
2742 add joystick support. Untested, but it compiles for me.
2744 Should also add Joystick support for older FreeBSD systems. Also
2746 * src/freeglut_main.c: Added support for more arbitrary number of mouse
2747 buttons (though only the first three can work with menus), in X. This
2748 closes a compatibility gap with old GLUT, and leaves us the option of
2749 supporting scroll-wheels properly.
2751 2003-09-27 Christopher John Purnell
2753 * progs/demos/Fractals/Makefile.am,
2754 progs/demos/Fractals_random/Makefile.am,
2755 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Don't
2758 2003-09-26 James Jones <puggles@users.sourceforge.net>
2760 * progs/demos/Makefile.am: Package the demos.dsw file.
2761 * progs/demos/demos.dsw: Demos workspace for MSVC users
2765 * src/freeglut_main.c: Corrected a bug w.r.t. display and joystick
2766 events. When getting ready to sleep, we need to go through ALL windows
2767 to check for pending joysticks and to check for pending redisplays. I
2768 was just going through all TOP- LEVEL windows. Eeek. This won't do.
2770 2003-09-23 Brian Paul
2772 * progs/demos/Fractals_random/fractals_random.c: added needClear flag to
2773 take care of initial window clear and window resize clears
2777 * src/freeglut_init.c: Per Nigel Stewart's comments, converted
2779 #ifdef TARGET_HOST_...
2785 in src/freeglut_init.c. These changes should not have any functional
2786 impact at this time, but you don't want bad examples lying around to
2787 trip people up later.
2788 * progs/demos/Fractals_random/fractals_random.c, src/freeglut_main.c,
2789 src/freeglut_window.c: Fixed: * GLUT_SINGLE now should behave more or
2790 less correctly. Thanks to Brian Paul!
2792 * Sleeping is now cognizant of outstanding redisplays.
2794 * Fractals_random has been restored more or less to as-before, save
2795 that it uses the more minimal glFlush() rather than glutSwapBuffers().
2796 glutSwapBuffers() was only required when freeglut was incorrectly
2797 handling promotion to double-buffering.
2801 * src/freeglut_main.c: Moved the #include/#ifdef/#define stuff up to the
2804 Changed #ifdef to #if, per Nigel(?)'s comment. Ooops.
2806 2003-09-22 Christopher John Purnell
2808 * progs/demos/Fractals/Makefile.am,
2809 progs/demos/Fractals_random/Makefile.am,
2810 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Fix to
2811 allow demos to compile before freeglut has been installed.
2813 2003-09-22 James Jones <puggles@users.sourceforge.net>
2815 * progs/demos/Fractals_random/fractals_random.c: Add an idle function to
2816 ensure that the screen gets drawn even when callbacks are not
2817 generated by the mouse/keyboard.
2819 2003-09-21 James Jones <puggles@users.sourceforge.net>
2821 * progs/demos/Fractals/fractals.c,
2822 progs/demos/Fractals_random/fractals_random.c: Note the possible
2823 buffer overflow in window_title
2824 * progs/demos/Fractals/fractals.c: Fix the window title.
2825 * progs/demos/Fractals_random/fractals_random.c: Fix window title, and
2826 ensure that the random integer is not forced to be zero (Thanks
2829 2003-09-20 James Jones <puggles@users.sourceforge.net>
2831 * src/freeglut_main.c: Richard Rauch's patch to ensure that freeglut
2832 does not use 100% CPU even while idling.
2833 * src/freeglut_font.c: Resolution for bug 809561 reported by Nigel
2834 Stewart, regarding a possible array underflow error of -1 in the event
2835 of "character" being zero.
2837 2003-09-14 Christopher John Purnell
2839 * configure.in, progs/demos/Fractals/Makefile.am,
2840 progs/demos/Fractals_random/Makefile.am,
2841 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am,
2842 src/Makefile.am: Removed unused AC_PROG_RANLIB from configure.in Added
2843 passing of $(X_CFLAGS) to compiler.
2845 2003-09-14 James Jones <puggles@users.sourceforge.net>
2847 * include/GL/glut.h: Resolve bug 806008 -- let Microsoft's compiler know
2848 to use Windows libraries even if not using our project files.
2850 2003-09-13 James Jones <puggles@users.sourceforge.net>
2852 * ChangeLog: Taking care of keeping things mostly up-to-date
2853 * TODO: Most everything's been resolved for the 2.0.0 release.
2854 * src/freeglut_joystick.c: Thierry Thomas said that FreeBSD has no
2855 machine/joystick.h, instead a sys/joystick.h. I've made the change --
2856 here's hoping it works.
2857 * progs/demos/One/one.c: Removed the incorrect relative path for
2858 including freeglut.h
2859 * progs/demos/Fractals/Makefile.am,
2860 progs/demos/Fractals_random/Makefile.am,
2861 progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Made all
2862 demos compile. Thanks to Thierry Thomas for reporting bug 802809,
2863 which alerted that *none* of the demos compiled automatically!
2864 * src/freeglut_main.c: Nigel Stewart's joystick fix (for hopefully all
2865 platforms), SourceForge bug 805481
2866 * progs/demos/Lorenz/lorenz.dsp, progs/demos/One/one.dsp: Fix location
2867 of the include files from a fixed to relative path. Closes bug 805477
2868 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp, freeglutstatic.dsw:
2869 Add dos line endings. Fixes bug 805476
2871 2003-09-10 Christopher John Purnell
2873 * src/freeglut_joystick.c: A minor fix to that last commit.
2874 * src/freeglut_joystick.c: Removed some remaining glib depandancy.
2876 2003-09-10 James Jones <puggles@users.sourceforge.net>
2878 * src/freeglut_main.c: Re-add catches for the case in which a menu
2879 callback destroys the menu. - John Fay
2881 2003-09-09 Christopher John Purnell
2883 * src/freeglut_main.c: More to fix a deinitialization related crash.
2884 * src/freeglut_structure.c: Fix for a deinitialization related crash.
2886 2003-09-08 James Jones <puggles@users.sourceforge.net>
2888 * src/freeglut_main.c, src/freeglut_structure.c: Menus should deallocate
2889 better now - John Fay
2891 2003-09-05 James Jones <puggles@users.sourceforge.net>
2893 * Makefile.am: Add freeglut_static.dsp to the releases
2895 2003-09-03 Christopher John Purnell
2897 * src/freeglut_gamemode.c: Moved #ifdef for non XFree86 X11 compile.
2899 2003-09-02 Christopher John Purnell
2901 * src/freeglut_window.c: Fix to stop fgSetWindow(NULL) crashing on X11.
2903 2003-08-29 James Jones <puggles@users.sourceforge.net>
2905 * src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_structure.c:
2906 These change a bunch of assignments to calls to set the current window
2907 correctly, and also (possibly) fixes most of the remaining menu
2909 * src/freeglut_main.c: Another typecast bugfix from John Fay
2911 2003-08-28 Christopher John Purnell
2913 * src/freeglut_init.c: Changed #ifdef to #if
2915 2003-08-28 James Jones <puggles@users.sourceforge.net>
2917 * src/freeglut_font.c: change the GLUT stroke function arguments from
2918 "const char *" to "const unsigned char *" - John Fay
2919 * include/GL/freeglut_ext.h, include/GL/glut.h: Changes stroke function
2920 arguments from "const char*" to "const unsigned char *" - John Fay
2922 2003-08-28 Christopher John Purnell
2924 * freeglut-1.3: Removing files from old freeglut-1.3 directory.
2926 2003-08-28 James Jones <puggles@users.sourceforge.net>
2928 * src/freeglut_callbacks.c, src/freeglut_geometry.c,
2929 src/freeglut_init.c, src/freeglut_joystick.c, src/freeglut_main.c,
2930 src/freeglut_menu.c, src/freeglut_structure.c: Casting changes, John
2933 2003-08-27 James Jones <puggles@users.sourceforge.net>
2935 * src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
2936 src/freeglut_menu.c: Major overhaul to the menu system, by John Fay
2938 2003-08-27 Christopher John Purnell
2940 * include/GL/freeglut.h, include/GL/freeglut_ext.h, include/GL/glut.h:
2941 Added double underscores to the header included macros.
2943 2003-08-20 Christopher John Purnell
2945 * src/freeglut_gamemode.c: Minor typo fix
2947 2003-08-19 Christopher John Purnell
2949 * src/freeglut_gamemode.c: Moving that "#if TARGET_HOST_UNIX_X11" to the
2952 2003-08-17 Christopher John Purnell
2954 * ChangeLog, src/freeglut_gamemode.c, src/freeglut_internal.h,
2955 src/freeglut_window.c: Game mode fixes from Bernhard Kaindl and Eric
2958 2003-08-05 Christopher John Purnell
2960 * src/Makefile.am, src/freeglut_menu.c, src/freeglut_window.c,
2961 src/mwmborder.c: Using override_redirect instead of motif wm hints. It
2962 now rasies the menu windows before showing them. Move the show to
2963 after the reshape and position so we don't get a flash of the menu
2964 window at it's old size and position.
2965 * src/mwmborder.c: I suspect a lot of people will not have motif
2968 2003-08-05 Eric Sandall
2970 * ChangeLog, src/Makefile.am, src/freeglut_window.c: (98)
2971 src/Makefile.am:34 Added mwmborder.c (99) src/freeglut_window.c:67
2972 Removed #included "mwmborder.c"
2973 * ChangeLog, src/freeglut_main.c: src/freeglut_main.c:816 and :1571, set
2974 the current window (John F. Fay)
2976 2003-08-04 Christopher John Purnell
2978 * src/freeglut_state.c: Added X11 code for
2979 glutGet(GLUT_WINDOW_BORDER_WIDTH) and
2980 glutGet(GLUT_WINDOW_HEADER_HEIGHT).
2981 * src/freeglut_internal.h, src/freeglut_state.c: Replacing
2982 glutGet(GLUT_WINDOW_X) and glutGet(GLUT_WINDOW_Y) on X11 with
2983 something that works. Also a minor correction to the xf86vidmode
2986 2003-08-04 James Jones <puggles@users.sourceforge.net>
2988 * src/freeglut_window.c: Keep the X11 decoration-zapping code confined
2989 to X11-using platforms! Oops!
2990 * src/freeglut_window.c, src/mwmborder.c: Menus' decorations are removed
2991 on Linux. Not sure if we want the mwmborder.c a separate file or not;
2992 doing it separate for right now. Makefile was not updated, since the
2993 .c is just #included.
2995 2003-08-03 Christopher John Purnell
2997 * configure.in: Got rid of configure warnings when using a newer
3000 2003-08-02 Christopher John Purnell
3002 * src/freeglut_glutfont_definitions.c, src/freeglut_internal.h: Putting
3003 stuff back that was undone with the menu code committed.
3005 2003-08-02 James Jones <puggles@users.sourceforge.net>
3007 * src/freeglut_callbacks.c, src/freeglut_display.c,
3008 src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
3009 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
3010 src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
3011 Major menu changes (they appear in their own window, have own
3012 rendering context) by John Fay and a little by James C. Jones. They
3013 work perfectly on Win32, and work... on Linux.
3015 2003-08-01 Christopher John Purnell
3017 * configure.in, src/Makefile.am, src/freeglut_glutfont_definitions.c,
3018 src/freeglut_internal.h: Added autoconf detection for the xf86 vid
3021 2003-08-01 Eric Sandall
3023 * ChangeLog, src/freeglut_window.c: src/freeglut_window.c:551 Removed
3024 extra carriage return for Windows users (John F. Fay)
3025 * ChangeLog: Credit Dave Reed for fix
3026 * ChangeLog, src/freeglut_internal.h: src/freeglut_initial.c:91 Added
3027 check for SOLARIS OS
3029 2003-07-23 Christopher John Purnell
3031 * include/GL/glut.h, src/Makefile.am, src/freeglut_font.c,
3032 src/freeglut_glutfont_definitions.c: This should put an end to the
3033 font binary compatibility issue.
3035 2003-07-23 Eric Sandall
3037 * ChangeLog, src/freeglut_window.c: src/freeglut_window.c Windowing
3039 * ChangeLog, doc/Makefile.am: doc/Makefile.am:4 Removed trailing
3040 backslash and added an empty last line
3042 2003-07-23 Brian Paul
3044 * doc/download.html: no change, testing CVS
3046 2003-07-22 Brian Paul
3048 * doc/download.html: no change, just testing CVS
3050 2003-07-22 Eric Sandall
3052 * ChangeLog, freeglut.lsm: freeglut.lsm:3 Removed 'beta' label for next
3053 release, thanks to Bernhard Kaindl.
3055 2003-07-21 Christopher John Purnell
3057 * src/Makefile.am: The version info had the revision and the age
3060 2003-07-21 Eric Sandall
3062 * ChangeLog, src/Makefile.am: src/Makefile.am:38 Changed versioning to
3063 11:0:8 thanks to Bernhard Kaindl
3065 2003-07-17 Eric Sandall
3067 * ChangeLog, freeglut.dsp, freeglut_static.dsp: Applied John F. Fay's
3068 fixes to freeglut.dsp and freeglut_static.dsp
3069 * ChangeLog, src/freeglut_state.c: Changed the overlay
3070 (freeglut_state.c:662) to return FALSE, as it's not imp lemented yet
3072 2003-07-12 Andreas Umbach <marvin@dataway.ch>
3074 * src/Makefile.am: renamed freeglut library to glut, bumped version info
3076 * configure.in: bumped version number to 2.0.0
3077 * Makefile.am, configure.in, doc/Makefile.am, include/GL/Makefile.am,
3078 progs/Makefile.am, progs/demos/Fractals/Makefile.am,
3079 progs/demos/Fractals_random/Makefile.am,
3080 progs/demos/Lorenz/Makefile.am, progs/demos/Makefile.am,
3081 progs/demos/One/Makefile.am, src/Makefile.am: changes for make dist
3082 * freeglut13.plg: MSVC generated file
3084 2003-07-11 Christopher John Purnell
3086 * include/GL/glut.h, src/freeglut_font.c: Fix for the font binary
3087 compatibility problem.
3089 2003-07-10 Christopher John Purnell
3091 * src/Makefile.am: Changed to build libfreeglut.so.2.0.0
3093 2003-07-10 James Jones <puggles@users.sourceforge.net>
3095 * TODO, freeglut.dsp, freeglut_static.dsp: Changes to TODO, Windows
3096 files - from John Fay
3097 * progs/demos/Fractals_random/Fractals_random.dsp: Changes by John Fay
3098 * progs/demos/Fractals/Fractals.dsp, progs/demos/Fractals/fractals.c:
3099 Changes to the Fractals demo by John Fay
3100 * progs/demos/One/one.dsp: Initial project file from John Fay
3101 * progs/demos/Lorenz/lorenz.c, progs/demos/Lorenz/lorenz.dsp:
3102 Modifications from John Fay
3104 2003-07-07 Christopher John Purnell
3106 * src/freeglut_main.c: glutMainLoopEvent() was not closing windows
3107 properly. Moved call to fgCloseWindows() from glutMainLoop() to the
3108 end of glutMainLoopEvent().
3110 2003-07-03 Eric Sandall
3112 * ChangeLog, src/freeglut_misc.c: Removed unused char *ptr from
3115 2003-07-02 Christopher John Purnell
3117 * src/freeglut_main.c: It was crashing on and event for a unknown
3120 2003-07-02 Brian Paul
3122 * src/freeglut_misc.c: rewrite of glutExtensionSupported - works
3125 2003-07-02 Eric Sandall
3127 * ChangeLog: * Removed tests directory
3128 * ChangeLog, Makefile.am, configure.in, progs/demos/One,
3129 progs/demos/One/Makefile.am, progs/demos/One/one.c, tests: * Removed
3130 genfonts/genstrokes code, updated configure.in and Makefile.in
3132 * Moved tests/one.c into progs/demos/One/one.c, updated configure.in
3134 * genfonts: Removed genfonts
3136 2003-07-02 Christopher John Purnell
3138 * genfonts/to_stroke.y: Added some semicolons that yacc was warning
3141 2003-07-01 James Jones <puggles@users.sourceforge.net>
3143 * AUTHORS: John Fay commanded me to add my name to the file. He's crazy,
3146 2003-07-01 Eric Sandall
3148 * ChangeLog, src/freeglut_misc.c: Fixed the 'ptr + len' problem in
3151 2003-07-01 Brian Paul
3153 * doc/freeglut_user_interface.html: version bumps
3154 * tests/Makefile.am: bump version to 2.0
3155 * src/Makefile.am, src/freeglutdll.def: bump versions to 2.0
3156 * src/freeglut_gamemode.c: xf86VidMode error checking (Andrew
3159 2003-06-30 Brian Paul
3161 * progs/demos/Lorenz, progs/demos/Lorenz/lorenz.c,
3162 progs/demos/Lorenz/lorenz.dsp: Lorenz attractor demo (John Fay)
3163 * freeglut.dsp, freeglut_static.dsp: updates from John Fay
3165 2003-06-28 Eric Sandall
3167 * ChangeLog, include/GL/Makefile.am: Now installs freeglut_ext.h and
3168 glut.h to /usr/include/GL (was missing before)
3170 2003-06-27 Brian Paul
3172 * include/GL/freeglut_ext.h, src/freeglut_init.c,
3173 src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_state.c,
3174 src/freeglut_stroke_mono_roman.c: XF86 game mode fixes, context
3175 sharing option. (John Fay)
3177 2003-06-25 Eric Sandall
3179 * ChangeLog: Added another of my changes (freeglut.kdevelop) and fixed
3180 the version number for my MS VS change (*.dsp)
3182 2003-06-25 Brian Paul
3184 * src/freeglut_internal.h: version bumps
3185 * freeglut.lsm, include/GL/glut.h, src/freeglut_stroke_mono_roman.c,
3186 src/freeglut_stroke_roman.c: Assorted version 2.0.0 updates (John
3188 * doc/freeglut_user_interface.html: updated version, italicize freeglut
3191 2003-06-25 Eric Sandall
3193 * ChangeLog, freeglut.dsp, freeglut_static.dsp: Added 'freeglut_ext.c'
3194 to the project files 'freeglut.dsp' and 'freeglut_static.dsp' (New
3197 2003-06-24 Andreas Umbach <marvin@dataway.ch>
3199 * ChangeLog: Fixed autogen.sh and removed aclocal.m4
3200 * aclocal.m4: this file is autogenerated by aclocal
3201 * autogen.sh: fixed aclocal / autoheader order; some cosmetics
3203 2003-06-24 Eric Sandall
3205 * freeglut.kdevelop: Project file for Gideon (KDevelop 3.0)
3207 2003-06-23 Eric Sandall
3209 * ChangeLog, Makefile.am, TODO, configure.in, freeglut.dsp,
3210 freeglut.kdevprj, freeglut13.dsp, freeglut13.plg, freeglut_static.dsp,
3211 freeglutdll.dsp, src, src/Makefile.am, src/freeglut_callbacks.c,
3212 src/freeglut_cursor.c, src/freeglut_display.c, src/freeglut_ext.c,
3213 src/freeglut_font.c, src/freeglut_font_data.c,
3214 src/freeglut_gamemode.c, src/freeglut_geometry.c, src/freeglut_init.c,
3215 src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
3216 src/freeglut_menu.c, src/freeglut_misc.c, src/freeglut_overlay.c,
3217 src/freeglut_state.c, src/freeglut_stroke_mono_roman.c,
3218 src/freeglut_stroke_roman.c, src/freeglut_structure.c,
3219 src/freeglut_teapot.c, src/freeglut_videoresize.c,
3220 src/freeglut_window.c, src/freeglutdll.def, src/templates,
3221 src/templates/cpp_template, src/templates/header_template,
3222 tests/Makefile.am: Changed all references to the 'freeglut-1.3'
3223 directory to 'src', copied 'freeglut-1.3' to 'src' and added all files
3224 from 'src' to the repository (TODO #34).
3225 * ChangeLog: Updated ChangeLog with my aclocal.m4 change
3226 * aclocal.m4: Updated aclocal.m4 with aclocal 1.7.3 (was created with
3229 2003-06-23 Brian Paul
3231 * freeglut-1.3/freeglut_geometry.c: adjusted precision (John Fay)
3232 * doc/freeglut_user_interface.html, freeglut-1.3/freeglut_display.c,
3233 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3234 freeglut-1.3/freeglut_teapot.c, include/GL/freeglut_ext.h,
3235 include/GL/glut.h: Assorted updates from John Fay.
3237 2003-06-20 Eric Sandall
3239 * TODO: Updated TODO from John Fay
3241 2003-06-20 Brian Paul
3243 * progs, progs/demos, progs/demos/Fractals,
3244 progs/demos/Fractals/Fractals.dsp, progs/demos/Fractals/fractals.c,
3245 progs/demos/Fractals/fractals.dat, progs/demos/Fractals_random,
3246 progs/demos/Fractals_random/Fractals_random.dsp,
3247 progs/demos/Fractals_random/fractals.dat,
3248 progs/demos/Fractals_random/fractals_random.c: Fractal demo (John Fay)
3250 2003-06-20 Eric Sandall
3252 * ChangeLog: Added the autogen.sh addition to ChangeLog
3253 * autogen.sh: Initial version of autogen.sh, tested here and creates the
3256 2003-06-20 Brian Paul
3258 * freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_state.c:
3259 Windows patches (Eero Pajarre)
3260 * NEWS: list the 1.4 release (fill in date) - this is a cvs check-in
3263 2003-06-19 Don Heyse <dheyse@hotmail.com>
3265 * freeglut-1.3/freeglut_joystick.c: Oops, missed the
3266 fghJoystickRawRead() fix for FreeBSD.
3268 2003-06-19 Brian Paul
3270 * doc/freeglut_user_interface.html, freeglut-1.3/freeglut_display.c,
3271 freeglut-1.3/freeglut_ext.c, freeglut-1.3/freeglut_internal.h,
3272 freeglut-1.3/freeglut_main.c: s/FreeGLUT/freeglut/
3274 2003-06-19 Don Heyse <dheyse@hotmail.com>
3276 * freeglut-1.3/freeglut_joystick.c: Applied tthierry's patch to fix
3277 compiling on FreeBSD.
3279 2003-06-19 Brian Paul
3281 * freeglut-1.3/freeglut_internal.h: added VERSION_MAJOR/MINOR/PATCH
3282 * doc/freeglut_user_interface.html: restore text lost from previous
3284 * include/GL/glut.h: s/FREEGLUT_VERSION_1_3/FREEGLUT_VERSION_1_4/
3286 2003-06-19 Eric Sandall
3288 * include/GL/freeglut_ext.h, include/GL/glut.h: GLUT_VERSION updates
3291 2003-06-18 Eric Sandall
3293 * AUTHORS: Forgot a file...looked so innocous just sitting there... :)
3294 * ChangeLog, doc/freeglut_user_interface.html,
3295 freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_ext.c,
3296 freeglut-1.3/freeglut_internal.h, freeglut-1.3/freeglut_menu.c,
3297 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_teapot.c,
3298 freeglut-1.3/freeglut_window.c, include/GL/freeglut_ext.h: * Hopefully
3299 I did THIS one right (used 'cvs update' to Merge)
3301 Authors - The first update in quite a while
3303 ChangeLog - Added the recent changes
3305 freeglut_callbacks.c - Added Aleksandar Donev's menu destruction
3308 freeglut_internal.h - Added the user data to the structures and made
3309 the menu state/status callbacks window-independent
3311 freeglut_menu.c - Removed several OpenGL compiler warnings and added
3312 A. Donev's menu user data functions
3314 freeglut_structure.c - Added Aleksandar Donev's menu destruction
3317 freeglut_teapot.c - Removed or suppressed several compiler warnings
3319 freeglut_window.c - Updated the window positioning code and added A.
3320 Donev's window user data
3322 freeglut_ext.h - Added the menu destruction callback and user data
3324 * freeglut-1.3/freeglut_ext.h: * Removed freeglut_ext.h (wasn't supposed
3327 2003-06-18 Brian Paul
3329 * doc/freeglut_user_interface.html, freeglut-1.3/freeglut_internal.h,
3330 freeglut-1.3/freeglut_state.c, include/GL/freeglut_ext.h,
3331 include/GL/glut.h: Added FREEGLUT_VERSION_1_3. Added GLUT_VERSION for
3332 glutGet(). Added glutGet() documentation.
3333 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_ext.h,
3334 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_internal.h,
3335 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_state.c,
3336 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_window.c:
3337 remove DOS-style CR characters
3338 * doc/freeglut_user_interface.html: added glutGetProcAddress and
3340 * ChangeLog: added glutGetProcAddress() and GLUT_FPS
3342 2003-06-17 Brian Paul
3344 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_init.c,
3345 freeglut-1.3/freeglut_internal.h: restore GLUT_FPS env var feature
3346 lost in previous check-in
3348 2003-06-17 Eric Sandall
3350 * ChangeLog: * Updated ChangeLog
3351 * freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_structure.c: Set
3352 #4: * Fixes a couple of compiler warnings and other bugs. *
3353 freeglut_main.c: Removes a compiler warning * freeglut_structure.c:
3354 Sets the current window before calling the window closure callback *
3355 Possibly other changes
3356 * freeglut-1.3/freeglut_ext.h: * Rest of Set #3
3357 * freeglut-1.3/freeglut_state.c: Set #3: Fixes for window positioning
3359 * freeglut-1.3/freeglut_init.c: Eero Pajarre's GLUT_ICON code for
3361 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_internal.h,
3362 freeglut-1.3/freeglut_window.c: First group of patches: Adds
3363 single-buffered rendering (or its emulation) in Windows.
3365 2003-06-17 Brian Paul
3367 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_init.c,
3368 freeglut-1.3/freeglut_internal.h: added GLUT_FPS env var option
3369 * freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_ext.c,
3370 include/GL/freeglut_ext.h: added glutGetProcAddress()
3372 2003-06-12 Don Heyse <dheyse@hotmail.com>
3374 * freeglut-1.3/freeglut_main.c: Fix the keyboard up callback and a
3376 * freeglut-1.3/freeglut_structure.c: Set the current window before
3377 calling the window closure callback.
3378 * freeglut-1.3/freeglut_state.c, include/GL/freeglut_ext.h: John's
3379 window positioning corrections.
3380 * freeglut-1.3/freeglut_init.c: Eero Pajarre's icon code.
3381 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_internal.h,
3382 freeglut-1.3/freeglut_window.c: Single buffered rendering for Windows.
3384 2003-06-02 Don Heyse <dheyse@hotmail.com>
3386 * doc/freeglut_user_interface.html: John Documented InitWindowPosition
3387 extensions and added some kbd fn info.
3388 * ChangeLog: Documented Johns changes from May 03.
3389 * freeglut-1.3/freeglut_state.c: Do not allow glutGet to reposition the
3390 window 1 pixel toward bottom right.
3391 * freeglut-1.3/freeglut_main.c: Pass mouse pos to Windows kbd callback.
3392 Resequenced a few things for UNIX.
3394 2003-03-23 Christopher John Purnell
3396 * freeglut-1.3/freeglut_gamemode.c: Applied patch to fix GameMode issues
3397 supplied by Bernhard Kaindl.
3399 2003-03-12 Don Heyse <dheyse@hotmail.com>
3401 * include/GL/glut.h: Switch to ANSI C comments.
3402 * freeglut-1.3/freeglut_cursor.c, freeglut-1.3/freeglut_display.c,
3403 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_geometry.c,
3404 freeglut-1.3/freeglut_internal.h, freeglut-1.3/freeglut_joystick.c,
3405 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_structure.c,
3406 freeglut-1.3/freeglut_window.c: Switch to ANSI C comments. Removed
3407 always true tests on unsigned char. Single buffering fix..
3409 2003-02-13 Don Heyse <dheyse@hotmail.com>
3411 * freeglut.dsp, freeglut.dsw, freeglut_static.dsp: Switching to John
3412 Fays version of the VC++ project files.
3414 2003-02-08 Steve Baker <steve@sjbaker.org>
3416 * freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_joystick.c:
3417 Removed erroneous GPL license comments.
3419 2003-02-07 Don Heyse <dheyse@hotmail.com>
3421 * freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_cursor.c,
3422 freeglut-1.3/freeglut_display.c, freeglut-1.3/freeglut_font_data.c,
3423 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3424 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_joystick.c,
3425 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_overlay.c,
3426 freeglut-1.3/freeglut_stroke_mono_roman.c,
3427 freeglut-1.3/freeglut_stroke_roman.c, freeglut-1.3/freeglut_teapot.c,
3428 freeglut-1.3/freeglut_videoresize.c: Moved freeglut_internal.h to the
3429 freeglut source code private directory.
3430 * freeglut-1.3/freeglut_structure.c: SubWindow border thickness fix.
3431 Overlay changes in glutGet.
3432 * freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3433 freeglut-1.3/freeglut_state.c, freeglut-1.3/freeglut_window.c: Johns
3434 changes for layers, fgSetWindow, and fgSetupPixelFormat.
3435 * freeglut-1.3/freeglut_font.c: John fixed a bug that make bitmap font
3436 one pixel wider than its drawn.
3437 * freeglut-1.3/freeglut_internal.h, include/GL/freeglut_internal.h:
3438 Moved freeglut_internal.h to the private directory with the other
3440 * include/GL/freeglut.h, include/GL/freeglut_ext.h, include/GL/glut.h:
3441 Broke freeglut.h into glut.h and freeglut_ext.h
3443 2003-01-06 Don Heyse <dheyse@hotmail.com>
3445 * freeglut-1.3/freeglutdll.def: Exports file for Win32 dll. One EXPORT
3446 for each FGAPI line in freeglut.h
3448 2003-01-04 Steve Baker <steve@sjbaker.org>
3450 * aclocal.m4, freeglut-1.3/freeglut_joystick.c: Cleanup joystick
3453 2002-12-10 Don Heyse <dheyse@hotmail.com>
3455 * freeglut.dsw, freeglutdll.dsp: Allow DLL and static library build on
3457 * include/GL/freeglut.h: Added check for FREEGLUT_DLL to allow static &
3458 DLL build on Windows.
3460 2002-12-04 Don Heyse <dheyse@hotmail.com>
3462 * freeglut-1.3/freeglut_font_data.c: More bitmap font spacing fixes from
3465 2002-11-29 Don Heyse <dheyse@hotmail.com>
3467 * freeglut-1.3/freeglut_init.c: Fixed Win95 crash when getenv("DISPLAY")
3469 * freeglut-1.3/freeglut_font_data.c: The lowercase t in helvetica12 was
3471 * freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c:
3472 Adjusted character spacing on a few fonts.
3473 * ChangeLog: Many updates from John Fay.
3474 * freeglutstatic.dsw: Added Visual C++ 6 Static library project for John
3477 2002-11-28 Don Heyse <dheyse@hotmail.com>
3479 * freeglut.dsp: Visual C++ 6 project file for static freeglut lib.
3480 * include/GL/freeglut.h, include/GL/freeglut_internal.h: Many updates
3481 from John Fay. (freeglut.h may need a small change to allow Win32 DLL
3483 * freeglut-1.3/freeglut_geometry.c: Many updates from John Fay.
3484 * freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_cursor.c,
3485 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c,
3486 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_init.c,
3487 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3488 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_state.c,
3489 freeglut-1.3/freeglut_stroke_mono_roman.c,
3490 freeglut-1.3/freeglut_stroke_roman.c,
3491 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_window.c:
3492 Many updates from John Fay.
3493 * freeglut-1.3/freeglut_joystick.c: Fixes from freeglut_portable patch.
3494 Memory leak fix from John. Return_if_fail fix.
3496 2002-11-26 Don Heyse <dheyse@hotmail.com>
3498 * doc/freeglut_user_interface.html: Added on behalf of John Fay.
3500 2002-10-22 Don Heyse <dheyse@hotmail.com>
3502 * freeglut-1.3/freeglut_geometry.c: Implemented tetrahedra, octahedra,
3503 dodecahedra, and icosahedra. Checked in on behalf of John F. Fay
3504 <john.fay@eglin.af.mil>.
3506 2002-05-20 Don Heyse <dheyse@hotmail.com>
3508 * freeglut-1.3/freeglut_font.c: Fixed previous fix so it compiles.
3510 2002-05-20 Christopher John Purnell
3512 * freeglut-1.3/freeglut_font.c: My bad.
3514 2002-05-18 Christopher John Purnell
3516 * freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_font.c,
3517 freeglut-1.3/freeglut_stroke_mono_roman.c,
3518 freeglut-1.3/freeglut_stroke_roman.c, genfonts/Roman_M.src,
3519 genfonts/lex.l, genfonts/to_stroke.y, genfonts/wfont.h,
3520 include/GL/freeglut.h, include/GL/freeglut_internal.h: Added stroke
3523 2002-05-17 Christopher John Purnell
3525 * freeglut-1.3/freeglut_cursor.c, freeglut-1.3/freeglut_display.c,
3526 freeglut-1.3/freeglut_overlay.c, freeglut-1.3/freeglut_teapot.c,
3527 freeglut-1.3/freeglut_videoresize.c, tests/one.c: Removed some DOS
3530 2002-05-16 Christopher John Purnell
3532 * freeglut-1.3/freeglut_main.c: Removed one last glib call.
3534 2002-01-20 Steve Baker <steve@sjbaker.org>
3536 * README, freeglut-1.3/.deps/freeglut_callbacks.P,
3537 freeglut-1.3/.deps/freeglut_cursor.P,
3538 freeglut-1.3/.deps/freeglut_display.P,
3539 freeglut-1.3/.deps/freeglut_font.P,
3540 freeglut-1.3/.deps/freeglut_font_data.P,
3541 freeglut-1.3/.deps/freeglut_gamemode.P,
3542 freeglut-1.3/.deps/freeglut_geometry.P,
3543 freeglut-1.3/.deps/freeglut_init.P,
3544 freeglut-1.3/.deps/freeglut_joystick.P,
3545 freeglut-1.3/.deps/freeglut_main.P,
3546 freeglut-1.3/.deps/freeglut_menu.P,
3547 freeglut-1.3/.deps/freeglut_misc.P,
3548 freeglut-1.3/.deps/freeglut_overlay.P,
3549 freeglut-1.3/.deps/freeglut_state.P,
3550 freeglut-1.3/.deps/freeglut_structure.P,
3551 freeglut-1.3/.deps/freeglut_teapot.P: Removed a bunch of '.P' files
3552 that don't belong in the CVS archive.
3554 2001-08-05 Christopher John Purnell
3556 * freeglut-1.3/freeglut_callbacks.c, freeglut-1.3/freeglut_main.c,
3557 freeglut-1.3/freeglut_window.c, include/GL/freeglut_internal.h: Added
3558 keyup events code. Added missing specal keys. Made menu callbacks
3560 * freeglut-1.3/freeglut_window.c: More position tweeks.
3562 2001-08-04 Christopher John Purnell
3564 * freeglut-1.3/freeglut_main.c, include/GL/freeglut.h: Fixed redisplay
3565 bug. Fixed modifier values.
3566 * freeglut-1.3/freeglut_window.c: Improved window positioning.
3568 2001-07-30 Christopher John Purnell
3570 * freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_structure.c: A
3573 2001-07-30 Andreas Umbach <marvin@dataway.ch>
3575 * freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_main.c: one more
3577 * include/GL/freeglut_internal.h: removed glib dependencies from win32
3578 * freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_init.c,
3579 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_window.c: -
3580 removed glib dependencies from win32 code
3582 2001-07-29 Christopher John Purnell
3584 * freeglut-1.3/freeglut_structure.c: Fixed bug list code.
3585 * freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_callbacks.c,
3586 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c,
3587 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3588 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_joystick.c,
3589 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3590 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_state.c,
3591 freeglut-1.3/freeglut_structure.c, freeglut-1.3/freeglut_window.c,
3592 genfonts/Makefile.am, genfonts/genfonts.c, genfonts/genstroke.c,
3593 include/GL/freeglut.h, include/GL/freeglut_internal.h: Removed glib
3595 * configure.in, freeglut-1.3/Makefile.am, genfonts/Makefile.am: The
3596 build system now looks for X.
3598 2001-07-27 Steve Baker <steve@sjbaker.org>
3600 * doc, doc/download.html, doc/freeglut.html, doc/freeglut_logo.png,
3601 doc/index.html, doc/ogl_sm.png, doc/progress.html, doc/structure.html:
3603 * genfonts/.deps, tests/.deps: Removed some more files that don't belong
3605 * configure, freeglut-1.3/Makefile, freeglut-1.3/Makefile.in,
3606 genfonts/Makefile, genfonts/Makefile.in, include/GL/Makefile,
3607 include/GL/Makefile.in, include/Makefile, include/Makefile.in,
3608 tests/Makefile, tests/Makefile.in: Removed files checked in in error.
3609 * freeglut-1.3/.deps, freeglut-1.3/.deps/freeglut_callbacks.P,
3610 freeglut-1.3/.deps/freeglut_cursor.P,
3611 freeglut-1.3/.deps/freeglut_display.P,
3612 freeglut-1.3/.deps/freeglut_font.P,
3613 freeglut-1.3/.deps/freeglut_font_data.P,
3614 freeglut-1.3/.deps/freeglut_gamemode.P,
3615 freeglut-1.3/.deps/freeglut_geometry.P,
3616 freeglut-1.3/.deps/freeglut_init.P,
3617 freeglut-1.3/.deps/freeglut_joystick.P,
3618 freeglut-1.3/.deps/freeglut_main.P,
3619 freeglut-1.3/.deps/freeglut_menu.P,
3620 freeglut-1.3/.deps/freeglut_misc.P,
3621 freeglut-1.3/.deps/freeglut_overlay.P,
3622 freeglut-1.3/.deps/freeglut_state.P,
3623 freeglut-1.3/.deps/freeglut_structure.P,
3624 freeglut-1.3/.deps/freeglut_teapot.P,
3625 freeglut-1.3/.deps/freeglut_videoresize.P,
3626 freeglut-1.3/.deps/freeglut_window.P, freeglut-1.3/Makefile,
3627 freeglut-1.3/Makefile.in: Initial revision
3628 * ., AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, NEWS, README,
3629 TODO, acconfig.h, aclocal.m4, configure, configure.in, freeglut-1.3,
3630 freeglut-1.3/Makefile.am, freeglut-1.3/freeglut_callbacks.c,
3631 freeglut-1.3/freeglut_cursor.c, freeglut-1.3/freeglut_display.c,
3632 freeglut-1.3/freeglut_font.c, freeglut-1.3/freeglut_font_data.c,
3633 freeglut-1.3/freeglut_gamemode.c, freeglut-1.3/freeglut_geometry.c,
3634 freeglut-1.3/freeglut_init.c, freeglut-1.3/freeglut_joystick.c,
3635 freeglut-1.3/freeglut_main.c, freeglut-1.3/freeglut_menu.c,
3636 freeglut-1.3/freeglut_misc.c, freeglut-1.3/freeglut_overlay.c,
3637 freeglut-1.3/freeglut_state.c, freeglut-1.3/freeglut_structure.c,
3638 freeglut-1.3/freeglut_teapot.c, freeglut-1.3/freeglut_videoresize.c,
3639 freeglut-1.3/freeglut_window.c, freeglut-1.3/templates,
3640 freeglut-1.3/templates/cpp_template,
3641 freeglut-1.3/templates/header_template, freeglut.dsw,
3642 freeglut.kdevprj, freeglut.lsm, freeglut13.dsp, freeglut13.plg,
3643 genfonts, genfonts/.deps, genfonts/.deps/genfonts.P,
3644 genfonts/.deps/genstroke.P, genfonts/Makefile, genfonts/Makefile.am,
3645 genfonts/Makefile.in, genfonts/Roman.src, genfonts/Roman_M.src,
3646 genfonts/genfonts.c, genfonts/genstroke.c, include, include/GL,
3647 include/GL/Makefile, include/GL/Makefile.am, include/GL/Makefile.in,
3648 include/GL/freeglut.h, include/GL/freeglut_internal.h,
3649 include/Makefile, include/Makefile.am, include/Makefile.in,
3650 install-sh, mkinstalldirs, stamp-h, stamp-h.in, tests, tests/.deps,
3651 tests/.deps/one.P, tests/Makefile, tests/Makefile.am,
3652 tests/Makefile.in, tests/one.c: Initial revision