455 Commits

Author SHA1 Message Date
rkrolib
889ff65585 Minor style normalizations to minimize the diffs between *now* and from
before John's changes.  No functional changes:

 * Removed some hard TABs introduced.
 * Removed some spaces-at-end-of-line introduced.
 * A couple of function calls were touched up.

I did this separately only because I don't like messing with other people's
commits.  (I don't like feeling like the style police, either, but when
I mess with the commit, there's no room for reverting my interference if
it is deemed undesirable...)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@447 7f0cb862-5218-0410-a997-914c9d46530a
2004-01-16 00:22:43 +00:00
rkrolib
5e022b0578 Some changes from John.
The main attraction seems to be correcting a bug with the action-on-
window-close.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@446 7f0cb862-5218-0410-a997-914c9d46530a
2004-01-16 00:17:23 +00:00
nigels
b9b95cdc8c Win32 glutIconifyWindow() patch contributed by John F. Fay
Restrict resize callbacks to visible windows
When iconified via glutIconifyWindow(), don't pass (0,0) to resize callback
Note that minimising the window via the menu or minimise button is not yet resolved.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@443 7f0cb862-5218-0410-a997-914c9d46530a
2004-01-05 15:49:14 +00:00
rkrolib
be6350a54f Split a few overlong lines.
Adjusted some spacing in a few spots to be more consistant with
freeglut style.  Including one unindented if() body.

Eliminated a dead variable.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@437 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-30 11:50:58 +00:00
rkrolib
ba4088e1f2 Changed several #ifdef's to proper #if's. Eeek. Oook.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@436 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-30 11:43:24 +00:00
rkrolib
5d5ba0e9e9 Hm... I thought that I committed this last night. What's up?
This is Nigel's modified fgSleepForEvents(), essentially.  Take 2.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@435 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-30 10:57:01 +00:00
nigels
4a51a82b08 Three supported win32 compilation environments: MSVC, Cygwin and MingW32
#pragma is specific to MS compiler


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@433 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-30 02:55:39 +00:00
nigels
176108b5eb Explicitly cast function pointer to (void *) in SET_WCB since all callbacks stored as void pointers
suppress gcc -Wall -pendantic "noise"


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@432 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-30 02:51:32 +00:00
nigels
2ed416a592 Typesafe handling of temporary window destroy callback
Move assignment out of while test, scope temporary inside loop
Be explicit about assignment/comparison in if test for gcc peace of mind
suppress gcc -Wall -pendantic "noise"


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@431 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-30 02:49:56 +00:00
nigels
54ba1965ee Three supported win32 compilation environments: MSVC, Cygwin and MingW32
The windows mmsystem header need only be included internally to freeglut
strdup vs _strdup is specific to the MS compiler


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@430 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-30 02:28:13 +00:00
nigels
b5452aeafe strlen expects (char *), rather than (unsigned char *)
suppress gcc -Wall -pendantic "noise"


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@429 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-30 02:24:05 +00:00
nigels
1fdd04c554 Replace assignment of array to struct with field-by-field assignment
suppress gcc -Wall -pendantic "noise"


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@428 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-30 02:22:11 +00:00
nigels
ddd877b469 glutBitmapString and glutBitmapLength expect (unsigned char *) rather than (char *)
suppress gcc in -Wall -pendantic "noise"


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@427 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-30 02:20:03 +00:00
nigels
4a7c8b153d Replace #ifdef WIN32 with #ifdef TARGET_HOST_WIN32, as per FreeGLUT convention
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@426 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-30 02:17:07 +00:00
nigels
4590373e8d fgState.FPSInterval is unsigned int (GLuint), environment variable GLUT_FPS can be negative
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@425 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-30 02:14:54 +00:00
nigels
d07ef326cd OpenGL context is not made current on Win32 until fgSetWindow is called.
This resolves severe problems observed in GLUI applications.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@424 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-30 02:01:53 +00:00
nigels
3585f68a7f #pragma message is only understood my MS compiler
#if defined(_MSC_VER) .. #endif


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@423 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-30 01:58:19 +00:00
nigels
4be32e042b Resolve bug 864978 - GLUT_OWNS_JOYSTICK unhandled
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@422 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-30 01:54:44 +00:00
nigels
5cc127d807 Tidy nested if/else to suppress gcc -Wall -pedantic noise
gcc suggests explicit braces to avoid ambiguous `else'


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@421 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-30 01:52:07 +00:00
rkrolib
e72b2158c0 Configuring with "--enable-warnings" broke three demos:
* CallbackMaker defined, but did not use, the Joystick() function
   (a callback for the freeglut joystick interface).  I uncommented
   the callback-registration.  I assume that it was commented out
   because it was spammy.  (freeglut does joysticks by polling with a
   timer.)  Perhaps a longer interval than 10ms would be advisable?

 * fractals.c used strcpy() without getting the prototype.  Added
   #include <string.h> at the top.

 * fractals_random.c had the same problem as fractals.c.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@415 7f0cb862-5218-0410-a997-914c9d46530a
2003-12-25 14:39:38 +00:00
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
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