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