Commit Graph

404 Commits

Author SHA1 Message Date
rkrolib
64443c7c4b Moved the window-resize code so that it happens whenever there is a
pending resize for the window, whether or not the window is visible or
in need of a redisplay.  The resize is now done before the visibility
and need-to-redisplay checks.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@414 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-23 08:39:44 +00:00
rkrolib
38fb597973 Got rid of those int/ptr warnings on AMD64. (The code was
casting an {int} to a pointer, and later retrieving the int
by another cast.  It should be safe provided that pointers
are at least as big as {int}, but GCC was giving warnings on
my system, so...fixed.)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@413 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-22 22:13:20 +00:00
rkrolib
69c32f5e17 Several test-on-assignment cases have been converted to stop GCC from
complaining about  if( a = get_a_value_for_a( ) ) type code.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@412 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-22 21:39:18 +00:00
rkrolib
0687f2f596 Ooops, left some cruft in a comment in the header when committing the
last patch.  Cleaned up.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@411 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-19 01:00:07 +00:00
rkrolib
a7d846c36b Wrote SET_WCB() to set a window callback. This lets us out of using
the FETCH_WCB() as an lvalue (which it shouldn't, since the value of
the FETCH is cast to the correct function-pointer type).


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@410 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-19 00:54:27 +00:00
puggles
686cb62330 Change the destination directory of the debug version to "Debug" (John Fay)
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@409 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-15 17:18:37 +00:00
puggles
76a87d1864 Add a newline to "make all make install" so that it'll ... work!
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@408 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-14 04:55:28 +00:00
puggles
019099a2a2 Keep from claiming 100% compatibility. Richard pointed out this was false advertising and James needs to be shot three times in the stomach and then beheaded by a spoon that is too big.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@407 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-14 02:04:29 +00:00
puggles
ffcd263378 Fix link to the project interface (was pointing at the old typo3 interface!)
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@406 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-13 20:30:01 +00:00
puggles
280fb4a52f Add a placeholder message until we update this page with real progress and timeline information.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@405 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-13 19:17:08 +00:00
puggles
8407d17ee9 Initial import
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@404 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-13 18:58:30 +00:00
puggles
ae6a201f0e Initial import of the web page -- Release of 2.2.0
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@403 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-13 18:56:30 +00:00
puggles
3212d13152 Uh, re-add since the module works.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@402 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-13 04:51:03 +00:00
puggles
1fe055088a Undo the pseudo-module now that I've added a real web-src module
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@401 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-13 04:47:12 +00:00
puggles
878f58d35b First try of getting the web page to work via CVS.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@400 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-13 03:52:54 +00:00
puggles
8625b93f73 Release 2.2.0
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@398 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-13 01:43:57 +00:00
rkrolib
8fdfd1e769 Stripped out TABs that got reintroduced.
There were no changes other than replacing about 10 to 12 TABs with a
visually-suitable number of spaces, so this can probably be blindly treated
as equivalent to the previous versions of the two affected files.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@397 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-11 22:13:03 +00:00
cjp
103f7e8d87 The deferred window destruction code was destroying the windows in reverse
order.  This cased a crash when the call to glutDestroyWindow() for a sub
windows was immediately followed by a call to glutDestroyWindow() for it's
parent. fgCloseWindows() would call fgDestroyWindow() for the parent first
fgDestroyWindws() would recurse over the children and then fgCloseWindows()
would call fgDestroyWindow() again for the child.

I've replaced the single linked list with one of our two way link list
structures.  I've also moved it into fgStructure because that seemed the
consistent thing to do.

I said the the deferred windows destruction causes more problems then it
solves.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@396 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-11 21:29:43 +00:00
puggles
a28a6de82f Include project file in the distribution.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@395 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-11 20:53:14 +00:00
puggles
2cbec9d142 Updates for 2.2.0 RC2
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@394 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-11 19:56:59 +00:00
puggles
a04ca6e4d8 Add shapes to the Visual C workspace.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@392 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-11 19:51:11 +00:00
puggles
3d300c8f38 Package the visual C project file with the distribution
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@391 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-11 19:02:07 +00:00
puggles
d305033c78 Set the version to 2.2.0
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@390 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-11 18:57:32 +00:00
puggles
5707f479d4 Nigel Stewart's Win32 window-sizing fix for game mode
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@389 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-11 18:53:06 +00:00
puggles
de8936fe30 Disable/enable lighting in the "one.c" demo (John Fay)
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@388 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-11 18:49:38 +00:00
puggles
9438a576ba Add some essentials to get this program to compile (Nigel)
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@387 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-11 17:05:44 +00:00
puggles
d725e892b8 Update to reflect 2.2.0 release
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@386 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-11 17:03:09 +00:00
puggles
a24ffcc0bc Note the release of 2.2.0 RC1
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@385 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-11 01:48:08 +00:00
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