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