Commit Graph

1376 Commits

Author SHA1 Message Date
rkrolib
6a3df5043c John correctly observed that the initialization {OldHeight} and
{OldWidth} in the window structure should be done for both windows
and sub-windows, and the easiest way to do this is in the
freeglut_structure.c:fgCreateWindow() code.  So, transplant one line.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@383 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-11 00:08:49 +00:00
rkrolib
d4f3ec79de Commit of John's change to stop an infinite-loop condition when the
only windows left are freeglut menu windows, and correctly calls exit()
if we drop out of the main loop without having requested any freeglut
extensions to glutMainLoop() handling.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@382 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-10 23:59:45 +00:00
rkrolib
3ae658e166 Two from Nigel:
* Updated shapes.c.  I think that it's just reformatting and the addition
   of some comments.

 * Added shapes.dsp, a Microsoft Visual C++ Developer Studio Project file
   for building shapes on WIN32 with MSVC++.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@381 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-07 10:12:22 +00:00
cjp
a9d59e0c78 Added an option to enable gcc compiler warnings.
I've explicitly excluded the one about adding parentheses.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@380 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-03 19:03:13 +00:00
rkrolib
2e4d5de7c0 Touched up several comments, pointing up things that may be worth reflect-
ing upon in the future.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@379 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-03 09:57:01 +00:00
rkrolib
03cf899635 Hrm. I misunderstood the purpose of {window->State.Width} and
{...Height}.  Those are *not* records of the old values, but rather
of the *desired* *new* values, hence it was inappropriate to use them
in ConfigureNotify X11 event handling.  Doing so introduced some new
problems.

So, I created OldHeight and OldWidth in the window State structure,
and *those* do what I require.

I also stripped out the obsolete comment about getting extra/bogus
reshape events.  (Though I maintain that an application should be
robust against them, freeglut should no longer generate them if the
window has not changed size since last reported.)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@378 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-03 02:07:36 +00:00
rkrolib
60cc2c79ce Changed Create/ConfigureNotify handling in UNIX_X11:
* Just need to call GETWINDOW() once.  Ooops.  Heh.
 * Update {window->State} with the new size of the window.
 * If the window-size has NOT changed, then do NOT call the Reshape event.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@377 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-02 21:30:02 +00:00
rkrolib
1f312bc035 Added an "XXX" earmark for post-release contemplation. (The point is
definitely in need of consideration, I believe, but is not immediately
a major bug, so I'd rather not mess with it at the risk of postponing
a release "soon".)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@376 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-02 21:14:32 +00:00
rkrolib
642f60f651 Ensure that the time-out for sleeping is never negative.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@375 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-02 21:04:33 +00:00
rkrolib
819e8645b6 Fixed a bug for UNIX_X11 where window reshape events were causing freeglut
to mark the window as *needing* a reshape (which during general display
callback handling would result in effectively a glutReshapeWindow()).

The code is now system-dependant.  It should be abstracted to a function,
but is presently copied in two places.  Sorry.

Also, inverted the order of the associated if()/else check (in both
WIN32 and UNIX_X11 branches) since the former "else" part was a one-line
callback invocation.

This fixes two seemingly unrelated bugs that I was seeing in UNIX_X11.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@374 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-02 15:03:48 +00:00
cjp
d45a86a088 Added missing prototype for new list function.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@373 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-01 17:59:42 +00:00
cjp
e7a19a5546 Timer optimizations.
Made the list of pendinig timers ordered.
Added a free list of used timer structures.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@372 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-28 19:19:59 +00:00
cjp
e6de6c2e6f Timer optimizations.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@371 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-28 19:08:25 +00:00
cjp
5b391a7097 Fixed windows compilation problem with last update.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@370 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-28 12:04:24 +00:00
cjp
b309d468c4 Window close fix.
The default behaiour should now be the same as with glut.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@369 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-27 19:49:53 +00:00
rkrolib
9b36eb081b Added change from Nigel to have resize events cause redraw events in WIN32.
Also slightly reshuffled comments to deal with line-wrap issues.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@368 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-26 01:21:29 +00:00
rkrolib
0dd93cb5e1 John reported, and fixed, a problem that recent changes caused for
the Lorenz demo (seems to be WIN32 specific).


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@367 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-25 17:25:43 +00:00
rkrolib
1e09843db1 Update from John: Removed the freeglut hack of decrementing the
highst-window-ID marker when the highest window is deleted.  (This
was a half-way measure for an idea that was decided to be dubious
in the first place.)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@366 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-25 14:17:05 +00:00
rkrolib
efb92f27a8 Added a new demo (from Nigel) showing some of the basic GLUT geometry
shapes.  "shapes" is the name of the demo.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@365 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-25 14:10:35 +00:00
rkrolib
e1416ae642 Commit of work from Nigel:
Massive rework of the geometric primitive code.  Includes a new
primitive (cylinder; solid and wireframe) and corresponding update
to freeglut_ext.h for the prototype.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@364 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-25 13:53:19 +00:00
rkrolib
96ee3c4798 More work from John (sorry for procrastinating):
* We forgot to bump our version number in freeglut_internal.h
   It is now at 2.0.2 (actually, I think that 2.1.0 might be
   a better choice), which is presumably going to be our next
   formal release.  2.0.1 is incorrectly identified as 2.0.0 in
   the header.

 * A typo in a comment has been corrected ("than"/"that").

 * Numerous "manual" checks for callbacks are omitted now, since
   INVOKE_WCB() does this for us.  These were holdovers from the
   pre-INVOKE_WCB() days.  There may be some very subtle changes
   in freeglut behavior, since freeglut used to test the callbacks
   a little earlier in some cases and may have skipped some minor
   things (like changes to the current window) in some special cases,
   otherwise.  It is not believed that any documented behavior is
   broken, and it is unlikely---not to say impossible---that any
   extant applications will detect the change.  It is even possible
   that there is no external behavioral change in freeglut.

   This also significantly simplifies some sections of code that used
   to have conditional execution.  "Unconditional code is simpler code"
   as one of the comments used to say.

 * Lots of XXX commentary is now removed.  Some of it was obsoleted
   by other changes, some by changes from John.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@363 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-25 04:57:10 +00:00
rkrolib
db9108dfeb Change from John (I removed a couple of spaces from a couple of lines in
his freeglut_internal.h file where they were wrapping in EMACS; otherwise,
the files are exactly as he sent them to me).

The change unifies the WIN32 and UNIX_X11 code by defining our own
window-handle-type in freeglut_internal.h.  This let John rip out some
#if garbage in several places.  The result is clearer code.

Thanks, John!


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@362 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-25 04:21:48 +00:00
rkrolib
354569a7c4 Numerous style normalizations from John:
* Convert "return( value );" to "return value;"
 * Normalize spacing around semicolons.
 * Remove extraneous parens.
 * Split multi-statement lines into multiple lines.  (Mostly things
   of the form: "if( condition ) return;".)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@361 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-21 21:15:58 +00:00
rkrolib
7e7ff3191d All changes are from John, except for:
(a) I re-inserted the meat of a comment that I still feel is relavent.
 (b) I fixed a compile-time error in the UNIX_X11 code where a variable
     is declared after executable code in a block without creating
     a new sub-block for the declaration.

Changes from John include:
 (a) Style revision.
 (b) Changes to postpone the handling of window resizes.

Lots of lines were changed, but I think that thos two cover the ground that
he hit.  See the diffs for details.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@360 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-21 00:49:51 +00:00
cjp
1c7454b49d Lots of stuff that John F. Fay pointed out.
Plus some changes to remove gcc warnings.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@359 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-18 22:09:15 +00:00
cjp
6d21d76b1a Fix spelling mistake in a variable name.
Added a comment for John Fay.
Added the copyright notice for XParseGeometry source.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@358 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-17 21:11:33 +00:00
cjp
a437c328e9 Made Modifers variable global as per glut classic.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@357 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-16 14:10:35 +00:00
cjp
b47a8b1fcc Removed old unused glutInitDisplayString code.
Reformated new glutInitDisplayString and XParseGeometry code.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@356 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-16 13:49:49 +00:00
cjp
d906368add Use XParseGeometry for better geometry parsing.
Moved geometry parsing to after fgInitialize() so we can use the screen size
to correctly calculate negative positions in the geometry string.
Copied the code for XParseGeometry from the X11 sources for use in the
Win32 version.
freeglut now passes test1 of the glut test suite.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@355 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-16 01:41:18 +00:00
cjp
d161195cb4 Removed the state variable BuildingAMenu.
Instead pass a new parameter isMenu to fgCreateWindow().
Elsewhere use window->IsMenu.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@354 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-15 19:25:22 +00:00
cjp
22b6c59f34 freeglut_assert_ready is going to have to go at some point.
But for now I've moved setting fgState.Initalized to GL_FALSE.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@353 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-15 19:11:09 +00:00
cjp
3f70f7bdf2 Replace TRUE with GL_TRUE and FALSE with GL_FALSE where the type is
GLboolean.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@352 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-15 19:06:28 +00:00
rkrolib
06174f9086 Normalized the spacing around symbols, for the most part. Ho-hum.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@351 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-15 17:48:43 +00:00
cjp
e8cfcd2247 Added a call to fgDeinitialize() before the call to exit() in fgError().
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@350 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-15 16:52:46 +00:00
rkrolib
1fe1473fbb Style normalizations to the joystick code.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@349 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-15 16:39:46 +00:00
cjp
2b78c976ea Added a new state variable "Initalized".
Replaced referenced to Time.Set with this new variable where appropriate.
fgElapsedTime() now set the start time if Time.Set is false.
Moved glutGet(GLUT_ELAPSED_TIME) handling to before the assert.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@348 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-15 16:24:33 +00:00
rkrolib
6895440554 Normalized the internal header's style a bit.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@347 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-14 17:46:01 +00:00
rkrolib
26b98ad308 Plowed one more file this morning. Still just trivial formatting issues.
And I left alone the "INIT DISPLAY STRING PARSING" section, since
it still appears to be in flux.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@346 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-14 15:10:50 +00:00
rkrolib
d83464df48 Yet more trivial style normalizations.
Sorry, but that's all that I'm up to at the moment.  On the plus,
excepting the font_data file (which I've been skipping), up through
this file, I think that the code style is pretty close to uniform.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@345 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-14 14:59:49 +00:00
rkrolib
53dfc57542 Minor style corrections.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@344 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-14 14:52:15 +00:00
rkrolib
2b9010b0b1 Minor spacing quibble.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@343 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-14 14:39:20 +00:00
rkrolib
74e6d246ca Added a brief explanatory note to the X code for GLUT_CURSOR_NONE.
Corrected the indentation of a block of code.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@342 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-14 14:36:27 +00:00
rkrolib
1d2ade2f1c Noted one of a few cases where we do something immediately that could more
efficiently be postponed, quite easily---and which GLUT promises *is* to
be postponed.  (It is unlikely that the difference will break any apps, but
postponing should be easy...)

No real change, just a comment in the code.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@341 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-14 11:04:11 +00:00
rkrolib
4c4112fe92 Updated ChangeLog for the day.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@340 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-11 11:55:19 +00:00
rkrolib
b92f1915fe Removal of all remaining TABs in the freeglut *.[ch] files. (I missed a
few in the "one" demo, it seems, and some more crept back into
freeglut_(ext|font).c, presumably due to my own edits when I forgot to
use the "freeglut-c-mode" in EMACS.)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@339 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-11 11:52:14 +00:00
rkrolib
4ccdcf6f4e Moved glutInit*() functions ahead of glutInit(). (This is proper use of
glutInit() in general, since it allows the user to override settings via
{argc, argv} command-line params.)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@338 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-11 11:20:01 +00:00
rkrolib
48f65ac54d Style normalizations: Removed CRs and hard TABs mostly.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@337 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-11 11:18:16 +00:00
rkrolib
864ea93df3 Corrected the numbering of the ChangeLog (there were two (110)s).
Added entries summarizing my commits since September or late August, for
the benefit of those lacking both CVS and web access.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@336 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-11 09:05:14 +00:00
rkrolib
34f8ee3dca Added CRs to the ends of all lines in MS developer studio demos.dsw file..
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@335 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-11 03:35:47 +00:00
rkrolib
7621f53262 John's fix for the minimize/close/maximize controls no longer working.
WIN32 expected us to pass the message on up the chain (or do something
else with it), rather than just throwing away the event, for a certain
class of events.  (See the diffs for more details.)

The code is also slightly reformatted from what was previously in the
repository.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@334 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-10 18:19:53 +00:00