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