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