On Fri, 12 Dec 2008 17:08:38 -0000 "Charles Lindsey" <c...@clerew.man.ac.uk> babbled:
> On Thu, 11 Dec 2008 14:23:51 -0000, Clemens Eisserer > <linuxhi...@gmail.com> wrote: > > >> From the plain X Server POV, antialiasing is always going to be hard, > >> because to do it you need to know the background color or pixmap, and > >> the > >> Xserver does not keep track of how you had earlier set it, so it is up > >> to > >> individual toolkits to keep track, and not all of them do. > > Well, using XRender nobody needs to keep track of anything, its just > > composition with a mask (which is generated by the CPU in the case of > > trapezoids). > > No, I think you miss my point (or else I miss yours). > > AIUI, the purpose of Xrender is to enable as much as possible of the image > information to be stored on the server, rather than in the client > application which may be far away over some network. > > So it allows you to to construct your image out of various bits and pieces > which may be more or less transparent. In the simplest cases (yes, I know > you can do more complicated things) you are simply trying to paint some > glyphs on top of a "background". But when you have combined those > together, all the server is allowed to store is the result of the > compositing - i.e. it has no knowledge of what was the original background > and was was the added glyph. > > And that is no problem at all, until you want to throw away the glyph that > was there before and write a new glyph in its place. And then you need to > know what the original background behind the old glyph was, but the server > does not have that information, and so it has to be kept in the > application, which is precisely what Xrender was trying to avoid :-( . > > Now even the original X-11 system allowed you to specify a background (as > a plain color, or as a pixmap - possibly tiled). But it never retained > that information, and it was the lack of that retention that I was > complaining about. what you want is a retained-mode rendering system... like a canvas! everything in a canvas is an object - text, backgrounds, overlays - you manipulate each item as you please and the canvas worries about how to redraw and thus make your changes come to life :) i know of one at least that makes all of this kind of hassle go away and works... for me... :) -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ras...@rasterman.com _______________________________________________ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg