|
|
Subscribe / Log in / New account

LPC: 25 years of X

LPC: 25 years of X

Posted Sep 27, 2009 21:17 UTC (Sun) by oak (guest, #2786)
Parent article: LPC: 25 years of X

> As an added bonus, the combination of ellipses and circular pens
requires the evaluation of quartic equations.

Nonsense. You can get the closest and furthest points on a circle on an
ellipse arc with just multiplication and addion and do the drawing based
on that. For an example, see the "generic_circle.c" file in
http://koti.mbnet.fi/tammat/src/wws_1.4.5.tar.gz

(X lets one to specify ellipses with width and height, W only by radius.
To get the W code to handle also half-pixel radiuses, one would need to
shift the values by one bit. WWS code was later adopted also for
MicroWindows / Nano-X window system.)


to post comments

LPC: 25 years of X

Posted Sep 29, 2009 9:13 UTC (Tue) by PO8 (guest, #41661) [Link] (2 responses)

Something was lost in translation, I think. Wide ellipses in X aren't specified as being drawn with a circular pen. Instead, they are specified as being drawn by moving a linear pen along the ellipse while holding it perpendicular to the ellipse. This turns out to be a really bad specification; the ellipses have these funny "hooks" and it really does require a nasty high-order polynomial to describe the inner and outer hull of the wide ellipse to the exact pixelization X requires. Worse are dashed ellipses, which turn out to be intractable altogether.

LPC: 25 years of X

Posted Sep 30, 2009 14:57 UTC (Wed) by dgm (subscriber, #49227) [Link]

For a closed ellipses both descriptions should be geometrically equivalent, shouldn't they? What I'm missing?

LPC: 25 years of X

Posted Sep 30, 2009 19:41 UTC (Wed) by oak (guest, #2786) [Link]

> Worse are dashed ellipses, which turn out to be intractable altogether.

These WWS doesn't implement. The lines can be patterned, but if I
remember correctly my code, the pattern is based on the window
co-ordinates (this way the patterns for overlapped elements would match).

Btw. If you test the code, the arc drawing can be a bit buggy, it doesn't
handle all the corner cases (I didn't anymore have that much time for WWS,
and there wasn't really any users for that feature :-)). I've understood
that this was fixed in the Microwindows/Nano-X adaption of the code. They
needed it for their Xlib emulation, so they have tested it properly.

Arc endpoint calculations are done in the client library so that server
doesn't need to do any floating point calculations (a bit similar strategy
to Xft in pushing work to clients that cause the work).

LPC: 25 years of X

Posted Oct 7, 2009 15:21 UTC (Wed) by Nerdbeard (guest, #61214) [Link] (1 responses)

Oh my, oh my. I ran W on MiNT, what seems like fifteen years ago. My poor 520STfm could not possibly host X, but W was a ton of fun. Thanks for reminding me about all that crazy stuff.

LPC: 25 years of X

Posted Oct 7, 2009 20:05 UTC (Wed) by oak (guest, #2786) [Link]

(This is not anymore that much related to X, but maybe here are also other
old Atari owners. I think this is kind of interesting also to others in
kind of a obscure "Oh Gosh, are people still doing stuff for
those" -way. :-))

There are no W users I know of, but I recently brushed the dust off the
code, updated it to build with latest GCC, liblua etc. and added Debian
packaging in case somebody wants to recapture the old feel of monochrome
graphics and W programming (it works on X using SDL):
http://koti.mbnet.fi/tammat/open.shtml#wws

And MiNT (the open source unix-like replacement for Atari TOS) is actually
still alive:
http://sparemint.org/mailinglist/Mailing-Lists/MiNT-List....

With EmuTOS, this meant that all the OS software was finally open source
(in beginning of this decade):
http://emutos.sourceforge.net/en/history.htm

Some people with extra time are still even creating new Atari compatible
hardware:
http://acp.atari.org/about.html

Or modeling old ones in VHDL:
http://www.experiment-s.de/en

And there are several emulators for them too, either intended as a
replacement new Atari machines (similar to what Amiga Forever does):
http://aranym.org/

Or just emulating the old machines as well as possible:
http://hatari.berlios.de/

...so that remaining demo coders can use it to do new Atari demos more
easily:
http://dhs.nu/


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds