Commit Graph

370 Commits

Author SHA1 Message Date
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
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
rkrolib
b1c4e6beb8 A *.dsp file for CallbackMaker in the demos.
Plus updated *.dsp and *.dsw files to reflect the new freeglut header
file.

NOTE: The prior version of the *.dsw file does not in fact have CRs.  I
thought that it did.  For consistancy, I am not putting them in in this
version, either.  (At least one person said that his MSVC++ system is
happy with the current files.  If there are problems, we can easily add
the CRs, but that should be a separate commit...)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@333 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-10 17:04:05 +00:00
rkrolib
6829d65fb3 New demo from John: CallbackMaker.
This demo shows the use of every callback that you can register with
freeglut, and also generates event reports so that you can see what is
happening to the program as it runs.

Not much to look at, but both utilitarian and a practical example.

Please double-check that I updated everything that needs to be updated.
I reran autogen.sh and ./configure, and it built okay for me.  (^&


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@332 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-10 16:01:05 +00:00
rkrolib
9623350767 Hm. I thought that I already hit this file for style normalization.
Oh well...  Should be no functional changes.  Should be pretty
close to in-line with the style of changes that I've been making else-
where.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@331 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-10 10:00:21 +00:00
rkrolib
1023b7eb84 Ooops. Forgot that we already had a call to fgClearCallBacks() in the
code and added a second one.  I just deleted the new one.  Sorry.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@330 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-10 09:45:47 +00:00
rkrolib
f02f918842 Added Nigel's suggested code to clear all but the destroy callback early
on, leaving Destroy to be cleared later after the last possible point
where it should be invoked.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@329 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-10 09:42:14 +00:00
rkrolib
6230b2de2a Modified the menus to refer to {border} rather than {FREEGLUT_MENU_BORDER},
in fghDisplayMenuBox().  The local variable was already defined and used
for some purposes, so we might as well use it throughout.  It does serve
to shorten and clarify the code a bit---though I have mixed feelings about
creating aliases that way.

Still, the variable already existed and was already used in places.  (We
could even move it into the freeglut state, or make it a {const static}
value...)

Oh well.  Stuff to ponder.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@328 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-10 01:21:06 +00:00
rkrolib
fb26d91989 Well, a couple of days have gone by, so I assume that items (a) and (b)
in the freeglut_cursor.c file's "Open issues" comment are now satisfactor-
ily closed.

I also partially implemented some error-checking, using my limited
understanding of how Xlib users are supposed to do this.  (No one commented
about the lack of error-checking, pro or con.  Perhaps someone will care to
comment now?)

At present, it just will print out a warning, via fgWarning().  In part
because I'm not sure what is best to do, and in part because failure to
set the cursor type is probably not a fatal problem.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@327 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-10 00:32:15 +00:00
cjp
85e34f0062 Applied Braden McDaniel's non-srcdir build patch.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@326 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-08 17:40:42 +00:00
rkrolib
6bf9d27035 A first pass over freeglut_menu.c to bring it in line with the rest of
freeglut's style.  Mostly re-indenting and splitting long lines.
For those that may be concerned: No, I didn't do any more arrangments
of the form (CONST == a) rather than (a == CONST).  (^&


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@325 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-08 11:28:34 +00:00
rkrolib
9c070e4f9b Altered the way that the {random} value (from 0..3) is chosen.
Previously, it picked out two adjacent bits in the result of rand().
Unfortunately, these adjacent bits (at least on NetBSD) have a certain
amount of dependance.  After a period (perhaps a thousand or so?), it
starts to repeat the pattern of those two bits.  (I think; I haven't
actually tested that directly.)  This presumably is locking it into a
an an N-way attractor on the "snowflake", such that if you zoom in a
ways, you will start to see some spots *quickly* are colored, and
others are *never* colored.

What I've done now is to pick up two widely-spaced bits in a single
rand() call.  (Perhaps we would do as well to pick up something like
bit #16 from two consecutive rand() calls?)  These widely-spaced bits
have a lower statistical dependance on one another (if I can get away
with using that term for an arithmetic operation; though since stats
has more to do with sampling and less to do with true randomness, I
may be safe).

The net effect, at leats on NetBSD, is far better snowflake if you zoom
in on it.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@324 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-08 01:56:45 +00:00
rkrolib
acd65a4212 From John:
[This] implements the visible/invisible for Windows.  It does
NOT call the visibility callback, though.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@323 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-07 17:30:32 +00:00
rkrolib
d7896b09ab Stripped out the now truly extraneous {braces} in such forms as:
if( ... )
{
    INVOKE_WCB( ... );
}

Check for compiling on WIN32.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@322 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-07 15:50:56 +00:00
rkrolib
9108ab693f Adopted Eero Pajarre's suggestion of using a do { ... } while
rather than { ... } for the INVOKE_WCB() macro.  This lets it
be used "more like a function", in that:

if( ... )
    INVOKE_WCB( ... );
else
    ...

...is now legal.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@321 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-07 15:30:59 +00:00
rkrolib
711ab5fdac Pure code janitoring: Shuffled the order of some of the case statements
in the UNIX_X11 X event processing loop.  (In general, it's nice to have
case statements sorted, especially when you have a *huge* switch statement
like this.  That makes it easier to find the one that you're looking for,
and to see if a certain case is defined...)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@320 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-07 10:32:38 +00:00
rkrolib
6f0ae8796a Combined EnterNotify and LeaveNotify event processing in the UNIX_X11
event loop.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@319 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-07 10:26:37 +00:00
rkrolib
91a94e44bc Added ReparentNotify case to UNIX_X11 event loop, to catch the extraneous
ReparentNotify event types (type 21).


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@318 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-07 10:22:31 +00:00
rkrolib
2ddf15c536 Oh well, I might as well add the call to clear callbacks on window
destruction.  Also renamed the function to do this: fgClearCallBacks().
Ho-hum.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@317 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-07 10:18:10 +00:00
rkrolib
89cbd97e02 Added fgInitCallBacks() to freeglut_structure.c. (The function takes
an {SFG_Window *}.)  Added prototype to freeglut_internal.h.  Added use
of the function to the window initialization.  (Don't count on calloc(),
which sets all bits to 0.)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@316 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-07 09:55:43 +00:00
rkrolib
ca361547ec Style normalization; removal of say-nothing-useful comments.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@315 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-07 08:46:53 +00:00
rkrolib
5621aa7fcb Normalized the style of freeglut_font.c No substantial alterations.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@314 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-07 08:25:30 +00:00
rkrolib
85b7b49ead Somewhat normalized the style of this file.
Also moved the "glutMouseWheelFunc" extension down into the "extensions"
part of the table.  (Purely internal organization.  It will still be
found.)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@313 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-07 08:06:10 +00:00
rkrolib
d8b2c1d571 Further normalization of the code's style. No substantial changes.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@312 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-07 07:57:03 +00:00
rkrolib
e6b59a4b45 Split one last overlong line in freeglut_cursor.c.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@311 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-07 07:48:13 +00:00
rkrolib
658305f2c9 Added GLUT_CURSOR_NONE support in UNIX_X11 (well, NetBSD; you lot need
to try it on others; (^&).

Deallocated some resources that we are creating.  VERY slight memory leak,
but plugged now.


These two complete the first two "Open issues" ( (a) and (b) ).  The first
one also completes X support for glutSetCursor().  If others can verify,
we can fully demote the outstanding bug over this to WIN32-specific.

I'll delete the dead Open issues and re-letter the others if someone will
cross-check me.  Or if no one says anything in a day or two.  (^&


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@310 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-07 07:46:08 +00:00
rkrolib
d8f572533b Further normalized the style of the cursor code.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@309 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-07 06:25:20 +00:00
rkrolib
aeeabeff93 Slight style improvements. Two rules of thumb that are almost always
good to apply:

 * Don't write a == CONST.  Instead, write CONST == a.  Or, more generally
   (in C like languages): Avoid putting an lvalue on the left-hand side of
   an == comparison.  (For consistancy, I try to avoid lvalues on the left-
   hand side of any comparison---but == is the most notorious.)

   (An "lvalue" is a value that can safely go on the left side of an
   "=" assignment, of course.  (^&)

 * Do not write
       if( !condition )
           return;
       other_thing;
       return;

   (See page 18 of K&P's _The Elements of Programming Style_.)

   Instead, it is better to just write:

       if( condition )
           other_thing;
       return;

   There are times when sacrificing structured programming (e.g., via
   multiple return statements) is okay.  But, here, there is no apparent
   gain---indeed, there seems only loss---in the non-structured code.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@308 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-07 06:12:58 +00:00
rkrolib
974e38bfbd Grr. Forgot to enable the "freeglut" C programming mode in EMACS, and
had a few TABs in the last commit.  This fixes that.  Sorry.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@307 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-07 05:46:33 +00:00
rkrolib
869780207d Minor corrections to the UNIX_X11 mouse-wheel support. In part this
reflects that {button} is already shifted to the GLUT numbering, and
hence should be counted as 3&4, 5&6, etc.

The other change was simply to clarify the computation of {direction}.
The original code did some clever arithmetic.  The new code is more
straightforward, even if it requires more lines to express.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@306 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-07 05:43:34 +00:00
rkrolib
2ff70b671c Ooops. I screwed up on part of John's fixes. Sorry.
I think that I have his fix properly committed now.  Mea culpa.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@305 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-06 23:40:21 +00:00
rkrolib
65dde7f632 Cleanup pass after committing callback conversion (from structure to
array-of-pointers).  Mostly deleted commented-out struct-based code.
Also added some XXX comments that I though should be pondered.  (My
own pair of eyes, and one brain cell, were not sufficient at this time
to decide what to do for those ponderables.  (^&)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@304 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-06 23:29:55 +00:00
rkrolib
80a523394c Converted the "Callbacks" structure (with named members holding individual
callback pointers) to a "CallBacks" array in fgState.  (This is to allow
us to write a loop to clear all callbacks from windows when the window is
dead/dying.  Using this, we can safely assign NULL to each in a loop.)

Support includes two new macros, FETCH_WCB() and INVOKE_WCB().  See
freeglut_internal.h for more details there.

Some typedefs of function pointer types were altered to make them more
uniform (necessary for the macros).

All references to window-based callbacks in freeglut are updated to
use the new macros.

Old usages will cause compile-time errors.

As a side bonus, the new invocation macro sets the current window and
checks pointers so that these common steps can be uniformly done on
every window-based callback.  This makes it easier to do things right.
At the same time, the array notation (and now required associated casts)
make it harder to bypass the macros and abuse the function pointers,
in general.

After this commit, I will go through the code and clean up dangling issues
about formatting.  This commit is just a "it now works, let's checkpoint it"
type of affair.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@303 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-06 22:09:35 +00:00
rkrolib
b7dd45a935 From John, a couple of lines needed to be changed to fix the mouse wheel
support on WIN32.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@302 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-06 21:41:17 +00:00
rkrolib
406636047f Update from John: Includes mouse button, mouse motion, and mouse wheel
support.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@301 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-06 21:38:21 +00:00
rkrolib
0b588cdcb7 Multiple changes from John. Style issues, plus a bug-fix to check
a pointer before deallocating some memory.

He also removed one obsolete comment, and added some more comments.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@300 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-04 18:47:26 +00:00
rkrolib
585433d174 Some changes, mostly from John. Mostly style changes.
One bug fix from John: Execution state bug-fix in glutMainLoop(), per his
post yesterday.

One fix from me: Changed "if( ButtonPress )" to "if( pressed )".
{ButtonPress} is a constant.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@299 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-04 18:16:52 +00:00
rkrolib
3a18a26d74 Update from John:
I [John] added a feature to check for memory leaks under Windows.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@297 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-04 15:53:49 +00:00
rkrolib
8df7ae3c29 Update from John:
I [John] converted everything to double precision to avoid compiler
warnings.  I also added a feature to check for memory leaks under
Windows and removed a memory leak (surprise!).


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@296 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-04 15:32:57 +00:00
rkrolib
cc38ef07e9 Got rid of the G_LOG_DOMAIN junk, per discussion on the mailing list.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@295 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-04 01:30:32 +00:00
rkrolib
30a7dfb0c4 Minor formatting quibbles. (The brain isn't up to anything more serious
at the moment.)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@294 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-04 01:17:18 +00:00
rkrolib
2c356e1221 Missed a block where one level was 2-space indented.
Nit-picked a few other lines for consistancy.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@293 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-04 01:10:13 +00:00
rkrolib
9b257588e0 Fixed a memory leak (thanks for the correction, John!).
Smoothed over some code style issues while I was here, but left the
init-string parsing alone for now.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@292 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-03 21:41:07 +00:00
rkrolib
7c699fab2f Deleted 3 files (again?) from CVS, on John's request. Old/obsolete
MSVC++ project files.
(freeglut13.dsp, freeglutdll.dsp, freeglutstatic.dsw)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@291 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-03 21:28:54 +00:00
rkrolib
5342fe966f * Indentation issues.
* Pulled some common code into a nicely packaged function.
 * Found some pointer/int issues.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@290 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-03 21:25:11 +00:00
rkrolib
fa26d7b700 Heh.
Forgot to wrap the fgGetXModifiers() in a #if.  Fixed.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@289 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-03 10:56:48 +00:00
rkrolib
cced36cf2b Extracted some common code to a subroutine, in glutMainLoopEvent().
(The common code was a snippet to compute X keyboard modifiers as a
bit-mask of GLUT symbols.)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@288 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-03 10:51:26 +00:00
rkrolib
9b944ec457 Caught a few more little style issues.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@287 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-03 10:31:41 +00:00
rkrolib
2ab6b22f80 Added a "case" for an X event that we turn on but do not use.
({MapNotify}).  We already caught {MappingNotify} and {UnmapNotify}.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@286 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-03 10:29:30 +00:00
rkrolib
31c0809e28 * Fixed a bug in the X11 handling of scrollwheel/mouse. The old code,
I believe, checked if *either* a wheel or button callback was set,
   and then decided which to use---and unconditionally called it.
   I left the "either" check in, but added additional checks before
   actually doing the invocation.
 * Lots of reformatting.  Massive.  The usual suspects, though, and fairly
   trivial: Re-indenting to standard size, shuffling some spaces to match
   the freeglut "standard" of:
     if( ... )
   ...and:
     func( ... )


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@285 7f0cb862-5218-0410-a997-914c9d46530a
2003-11-03 10:05:07 +00:00
rkrolib
01dc2daa05 Cleaned up one macro definition.
Picked up an over-long line that I missed before.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@284 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-31 20:51:56 +00:00
rkrolib
d519c9292d Fit some long lines to 80 columns.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@283 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-31 20:49:07 +00:00
rkrolib
02e53500a7 Last of the hard TABs in the src/*.c files.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@282 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-31 13:40:08 +00:00
rkrolib
c89d0c24d9 En masse removal of most (I think) of the remaining hard TABs in files.
There are still a couple of files that need to be hit.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@281 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-31 11:33:12 +00:00
rkrolib
5a1317c0f4 Picked up some stray TABs scattered in this file.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@280 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-31 11:28:14 +00:00
rkrolib
d1bfaa5c4b Noted by XXX comments that the XFlush() calls probably shouldn't be there.
Flushing the X protocol stack every little bit both adds clutter to the
code and may impede performance.

It seems that we should be able to get rid of these, though
allowing client code to directly call glutMainLoopEvent() does make it
a little more complicated.

Something to ponder.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@279 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-31 11:25:23 +00:00
rkrolib
a92096db1a Polished off the say-nothing-new comments and lines-over-80-columns in
freeglut_window.c

There should be no functional changes.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@278 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-31 11:11:48 +00:00
rkrolib
350de30921 Missed a few say-nothing-new comments in fgOpenWindow().
Eeep.  Should be better now.  (^&


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@277 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-31 06:25:34 +00:00
rkrolib
a1c14f4cf5 Cleansed fgCloseWindow():
* say-nothing-new comments axed.
 * de-TABbed.
 * Made the white-space to be consistant.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@276 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-31 06:20:07 +00:00
rkrolib
6674df547f Cleaned up fgOpenWindow():
* Removed TABs.
 * Made indentation consistant.
 * Deleted say-nothing-new comments.
 * Changed an *error*check* from an assert to an if().
   (The error-check was on window creation; we don't want to
    lose that if the user compiles with asserts deactivated.
    Also, assert()s really tell us more about programming errors,
    rather than run-time errors, so it is a little misleading to
    use assert() for error-checks, even if you can depend upon
    assert()s never being compiled away to null statements.)
 * Added some XXX comments for things that bear some rumination.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@275 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-31 06:11:25 +00:00
rkrolib
ba6ee1d34a Cleanup to fgSetWindow(). The usual suspects:
* Removed tabs.
 * Made indentation consistant.
 * Killed off say-nothing-new comments.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@274 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-31 05:34:19 +00:00
rkrolib
570e2aa0b6 Cleanup to fgSetupixelFormat(). Should be no functional changes.
Code facelift included:

 * Consistant indentation.
 * Removal of all TABs (there were a bunch).
 * Fit to 80 columns.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@273 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-31 04:25:34 +00:00
rkrolib
807042d126 There should be no changes to code functionality, though a fair bit of
little changes to the code appearance.

 * Fit the comments at the start of the file to fit 80 columns.
 * Noted an unusual feature of the ATTRIB() macro.
 * Added ATTRIB_VAL() macro which is really just two ATTRIB()s.
   This lets us put things like {ATTRIB (GLX_RED_SIZE); ATTRIB (1);}
   on one statement: {ATTRIB_VAL (GLX_RED_SIZE, 1);}.
   I did this to preserve some of the layout of information while also
   avoiding the nasty semi-visible ";" in the middle of a line of code.
   And by putting the {braces} in the macro definition, I was able to
   visually clean code of the form:
       if (condition)
       {
           ATTRIB( X ); ATTRIB( 1 );
       }
   ...rewriting as:
       if (condition)
           ATTRIB_VAL( X, 1 );
 * Eliminated a bunch of say-nothing-new comments in fgChooseVisual().
 * Combined some semi-useful comments into a block comment summarizing
   a loop.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@272 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-31 03:37:27 +00:00
rkrolib
92b5fb9d59 Finished off most of the issues with freeglut_structure.c, from a stylistic
point of view (at least, insofar as: The original file's code was INCON-
SISTANT.  I did not remove the "!= NULL" stuff, did not address the
shortest-branch-first issue for if-else statements, and left some rather
ugly "if (x) {... return y} /* else do this */ return NULL;" garbage.
This should, I think, be re-written as "if (x) return y; else return NULL;"
or even better, "ret = NULL; if (x) ret = y; return ret;"

In short, the code still has some issues, but I think that it's a bit
better.

(Oh, I also got rid of oustanding TABs.)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@271 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-30 04:43:08 +00:00
rkrolib
191ff25528 Eliminated most of the say-nothing-new comments.
Fit most of the code to no more than 80 columns.

Raised some issues about completeness/correctness of trying to
decrement the max-window-ID (apparently in order to partially
recycle some window IDs to slightly slow the rate of growth of
window IDs).  (I didn't change what the code does, though.)


The functionality of the code should be unchanged.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@270 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-30 04:36:54 +00:00
rkrolib
3eec065016 Forgot to set {direction} explicitly to +/- 1 for freeglut mouse-wheel
API on MS-WINDOWS.  Oops.

Now it should always report +/- 1 on MS-WINDOWS, per the spec.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@269 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-30 03:51:33 +00:00
rkrolib
df711af72f Minor fix to allow for multiple ticks to be received at one time by the
WIN32 code.  Take abs(direction) as the number of ticks, and count it
down.

<stdlib.h> *should* be included by freeglut_internal.h, I think, so it
should be okay; otherwise add a suitable #include.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@268 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-30 03:20:24 +00:00
rkrolib
c2f23f0bb2 Grrr. My attempt to commit got aborted, and the commit message was lost.
Now I've lost track of what I said I'd done.  Something like:

 * Fixed some issues with multiple wheels.
 * Noted in comments some issues about other-than-3-real-buttons.
 * Fixed formatting to fit 80 columns.
 * Removed some BCPL/C++ style comments (//) that are not legal, and
   which, if memory servers, are not even strictly legal when disabled
   by preprocessor directives.  E.g.,

   #if 0
     not-syntactically-valid-C
   #endif

   ...is not legal.  Though most cpp's will discard the bracketed material
   completely before the main C compiler pass has a chance to analyze the
   syntax.  (MSVC++ and GCC both don't seem to mind the BCPL style comments
   in plain C, but let's keep the sources clean, eh?)
 * Fixed a problem that would have caused freeglut to report doubled
   wheel events under XFree86.

Not tested other than compiling.  Personally, I think that the interface
is inherently broken at this point unless you are willing to get user-
configuration.  (Which would then solve the complaint that Steve had
about computing the tick-size on behalf of applications.)  I.e., there
is NO WAY to know if we have the right buttons to start wheels at, or
if there are any buttons after the first wheel(s), etc.  We just have to
guess---and if we are wrong, we can get varying degrees of brokeness.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@267 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-30 03:08:16 +00:00
cjp
2682a53352 There is a problem with the way I did glutFullscreen() in my last commit.
So I've copied the way the game mode does it.  It's not ideal but it works.
The glutGet() for the window border sizes will also have to be fixed at
some point.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@266 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-29 23:01:56 +00:00
cjp
1ac66fba61 Rewrote glutFullscreen().
It now correctly places the window in X11.
It now uses system dependant code for more efficient use of
windowing system calls.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@265 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-29 18:19:17 +00:00
rkrolib
3d344ad2de Should be no real changes to the code function.
I missed a few lines that went past 80 columns.  (^&

Also made formatting more consistant.

Added a couple of XXX comments re. FreeBSD vs. general BSD #ifdef's.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@264 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-29 18:05:48 +00:00
rkrolib
1b7f3df686 Should be entirely superficial changes to code style:
* Fit lines to 80 columns.  (It does get tiresome seeing long lines
   forced to break by the right-hand border of windows...(^&)
 * Eliminated say-nothing-new comments.
 * Made formatting more consistant in spots.
 * Eliminated some hard TAB characters.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@263 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-29 17:44:42 +00:00
rkrolib
126e447121 Added Thierry's change to include sys/param.h. This lets us pick out version
numbers for OS releases corresponding to system headers.

I modified it to also work with NetBSD; I cannot confirm if it is safe with
any other systems, so it remains protected by a #if.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@262 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-29 17:29:10 +00:00
rkrolib
faf725fe15 Deleted some say-nothing-new comments.
Added some XXX's where comments seemed to require future attention.

Added some new comments with XXX's where future attention seems profitable.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@261 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-29 07:49:59 +00:00
rkrolib
4078f9a7a9 Deleted a bunch of say-nothing-new comments. Someday, there shall
be an end to them.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@260 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-29 07:18:10 +00:00
rkrolib
b46806dc31 Previous changes were made without the freeglut major mode in EMACS.
Re-tweaked some lines (mostly got rid of some TABs, but also resulted
in some changed indentation).

Reformatted a big comment to fit to 80 columns.

Removed bogus references to "Linux".  (UNIX, and/or X11 were relavent,
and "UNIX/X11" was substituted for "Linux" in those places.  This includes
UNIX-alike systems.)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@259 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-29 07:13:55 +00:00
rkrolib
2abe3abee5 Rewrote the TODO BEFORE THE STABLE RELEASE comment to fit to 80 columns.
Cleanup of fghGetConfig().  (One return statement, simpler code.)

Made glutSetOption() have a more consistant style---and also got its lines
to stay under 80 columns.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@258 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-29 06:57:07 +00:00
rkrolib
3365de2c4a Got the last of the say-nothing-new comments in freeglut_misc.c.
(I would have picked them up before, but wanted the bug-fix and
conversion-to-error-message changes to go in before I did more
superficial stuff.)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@257 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-29 06:43:32 +00:00
rkrolib
9da07cd41f * Fixed a bug that I introduced in fgWarning()/fgError(): I thought that
((a) || (b)) was defined to have value as:
     (a) if (a) != 0
     (b) if (a) == 0

   ...instead, it has value 0/1.  This was causing a bug.  It's probably
   just as well, since what I was trying to do definitely fell into the
   category of "clever code" rather than "clear code".

   Sorry.

 * Made glutSetKeyRepeat() call fgError() if you go out of range.  (The
   old code silently did nothing---not even a warning.)

   If it is really desirable to keep running, we should probably at least
   generate an fgWarning().

 * Deleted some say-nothing-new comments.

 * XXX added: Is glutSetKeyRepeat() deprecated?


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@256 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-29 06:40:51 +00:00
rkrolib
4672072aa7 Commit, mostly of work from John:
* Removed some say-nothing-useful comments.
 * Added some tentative mouse-wheel support.
 * Fairly massive reformatting of code.

I made some secondary changes to his changes:

 * One compilation error was fixed (missing close-paren + semicolon).
 * Deleted a few ore say-nothing-useful comments.
 * Some of John's code was strangely formatted to the point that it
   seemed completely out of place, so I took the liberty of reformatting
   it.  Since I used GNU EMACS's <tab> key (which re-indents rather than
   inserts TAB characters), I had to propogate some indentation changes
   a little further than the bare necessity to match up with John's
   changes.  (John seems to shoot for 2-space indents, while EMACS
   (and I, I confess) strongly prefer 4-space indents.  The code that
   I was re-indenting had been put to 8-space indents, however.)

I have *not* tested the code beyond compiling.  I assume that John did
(and that the compilation error was a result a minor change just before
asking me to commit).


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@255 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-28 20:17:39 +00:00
rkrolib
12bdb86d17 Re-indentation style changes from John.
There should be no alterations to how the code performs.

(I modified how the X11 section of the set-cursor code is indented to
slightly better match (IMHO) the rest of his changes.)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@254 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-28 19:37:09 +00:00
rkrolib
6096e031d5 Converted a few "x != NULL" tests to "x" for clarity.
I think that I've touched enough lines of source for one morning.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@253 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-27 15:38:14 +00:00
rkrolib
e4937ca1da Cleaned up a little redundancy in a comment on the {menu_pen_*} variables.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@252 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-27 13:51:35 +00:00
rkrolib
ffdfeec61e Removed about 90 lines of say-nothing-new comments.
The code should be functionally unaltered by these changes.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@251 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-27 13:47:55 +00:00
rkrolib
09d6d7342e Propogated a pointer-check from menu-attach to menu-detach. (Apparently,
in some cases, the Menu member variable can be NULL.)

Corrected the menu-attach code to make sure that both Window and Menu
pointers are non-NULL (rather than "at least one").

Rewrote button-checks to more simply and more clearly assert that the
"menu button" is a valid button for menu actions: Instead of laboriously
comparing against the three valid buttons (0, 1, 2 or GLUT_BUTTON_*),
we do a simpler range-check and the upper bound is {FREEGLUT_MAX_MENUS},
allowing us to change the number of menuable buttons fairly easily in
the future.

Also deleted a few say-nothing-new comments.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@250 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-27 06:39:57 +00:00
rkrolib
763b02a955 Cosmetic changes (mostly deleted a few more say-nothing-new comments).
The functionality of the code should be unchanged.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@249 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-27 05:45:48 +00:00
rkrolib
914a40acb4 Changed an "#elif TARGET_HOST_UNIX_X11" to "#else", since this simply
governed menu aesthetics.  I think that it's better to have a default
that works than to break completely, should freeglut ever be ported to
a new (non-WIN32, non-UNIX/X11) target.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@248 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-27 05:36:29 +00:00
rkrolib
f5a588101e Minor modifications to the menus:
* Updated an old "TODO BEFORE STABLE" comment.

 * Expanded a comment re. some #define macros.

 * Made colors and font choice system dependant.  The UNIX freeglut
   menus look more like UNIX GLUT menus, now.  (This is PURELY a
   cosmetic change.  But it achieves better compatibility visually.)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@247 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-27 05:32:14 +00:00
rkrolib
b906986ac4 Cleaned up glutMainLoop() a bit:
* Deleted numerous say-nothing-new comments.
 * Reformatted a say-something-useful comment to fit on an 80-column
   display.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@246 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-27 05:12:09 +00:00
rkrolib
4eeaaaa08c Partially (re-?)unified some of the glutMainLoopEvent() code. The only
code that really needs to be system-specific is the window event handling,
which in MS-WINDOWS is tucked into a separate function.  In UNIX/X11, it's
all spilled out into glutMainLoopEvent() for some reason.

If the X11 code could be tucked into another function, glutMainLoopEvent()
could be platform-independant.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@245 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-27 05:03:31 +00:00
rkrolib
09723d91eb Moved the idle callback out of glutMainLoopEvent() and into
glutMainLoop(), per discussion on the list.  The code looks okay,
to me, though I remain less than wholly convinced that treating idles
as special cases is the best way to go.  Still, a case can be made
for taking "non-event" idle callbacks out of the "event loop".
From an organizational perspective, I think that it's an improvement,
and it fixes a bug for at least one program.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@244 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-26 06:13:50 +00:00
rkrolib
9f78016727 Added John's text-positioning modification.
The lines that he was altering were very oddly-split, so while I was at
it, I repaired the line-break damage.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@243 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-26 05:59:15 +00:00
rkrolib
1ea15ad9e1 Committed change from Nigel to fix the joystick bug. (The joystick
code was not setting the GLUT window prior to calling callbacks.)

Please verify.  If so, this closes out, I think, the latter half of
that bug report, so anyone with the means to modify/close bug reports
should do so upon verification of the fix.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@242 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-26 05:44:07 +00:00
rkrolib
9464f61d1f Superficial cleanup of the code. Mostly taking lines such as:
...

  /*
   * <Enslish recapituation of the single following C statement>
   */
  <single C statement>

...and rewrote as:

  ...
  <single C statement>


freeglut_main.c still has a lot of that in it, but it looks a bit
better, now.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@241 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-26 05:38:12 +00:00
rkrolib
14801c8908 Added some error-checking (particularly w.r.t. strdup()).
Deleted numerous 4-line "padding" sequences of C-as-English trans-
literation comments.

Re-indented some (but not all) code that is using 2-space indentation.
(Most of the freeglut code seems to be using 4-space indentation.)


I did not touch the "INIT DISPLAY STRING PARSING" code, since it is
filled with a ton of over-long lines and also appears to be in more
flux than the rest of the code.  (Well, I added one error-check
to a strdup().)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@240 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-26 05:19:02 +00:00
rkrolib
6f7dc9821f Removed two more bogus "carriage return" references where the comments
were in fact talking about a line feed (a.k.a. newline, LF, ^J, \n, ...).


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@239 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-26 04:44:43 +00:00
rkrolib
04c6d13777 Fixed the buglet about failing to report the program's name on error-
messages.  Please test.  (Modified glutInit(), the state structure,
and the warn/err functions.)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@238 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-26 04:39:27 +00:00
puggles
fb3db77b9a Released 2.0.1
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@237 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-23 21:43:19 +00:00
cjp
f0f690766a Added --disable-replace-glut option to autoconf configure.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@236 7f0cb862-5218-0410-a997-914c9d46530a
2003-10-21 11:41:54 +00:00