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