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
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
* 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
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
(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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
[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