Re: Sample line drawing app

Keith Packard <[email protected]>
Newsgroups gmane.comp.xfree86.render
Message-ID <E17B5Op-0006V0-00@localhost>
Around 21 o'clock on May 23, Jorge Valencia wrote:

> correct me if I'm wrong , but XRender seems to handle lines as polygons, how
> will this impact the performance and feasability of line characteristics?
> Can somebody confirm which line characteristics are currently supported by
> XRender when drawing AA lines?

You can draw anything you like with trapezoids, sometimes you just have to 
use a lot of trapezoids :-)

> line style? (solid, onoff, double)
> cap style?  (butt, notlast, projecting, round)
> join style? (bevel, miter, round)
> fill style? (solid, tiled, stippled, opaquestippled)

All of these will be implemented client-side by sending appropriate lists 
of trapezoids.  That's how the current server-side implementation works 
now, it's just hidden behind the Byzantine protocol spec.

Xrender has a polygon tesselation routine, but Carl Worth and I think that 
we should build a separate library (Xr) that would support client-side 
tesselation of the "usual" suspects as well as supporting the image
compositing based underlying pixelization model either with the Render 
extension or using GetImage/PutImage for X servers without Render support.

We should get started on a list of features for Xr; suggestions about the 
content would be welcome -- in particular, we need to pick the various 
primitive elements and a structure for gluing them together.  I'm thinking
of a stateful system like GL or Postscript to reduce the number of 
function parameters, but I don't write graphics apps for a living, so for 
those of you that do, now would be a good time to bring your favorite 
models forward.

Keith Packard        XFree86 Core Team        HP Cambridge Research Lab
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.