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