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