Re: Canvas shortcomings

On 15 Jun 2001, Havoc Pennington wrote:

> Gustavo João Alves Marques Carneiro <ee96090 fe up pt> writes:
> >   Hmm. In GTK? You mean we could *print* widgets to postscript? That would
> > be very interesting.. :)
> Well, sort of. ;-)
> >   Anyway, I have made a small library called nxplot. There is a base class
> > GObject, Nxplot, that has virtual methods (the rendering API). Its API is
> > modeled after libplot.
> >   Derived from Nxplot is NxplotLibplot that is a libplot (from GNU
> > plotting utils) based implementation that can render either to a
> > GtkDrawingArea or to a file with any of the libplot's supported types
> > (too many to remember).
> >   Also I have NxplotArtft, that is a libart_lgpl and freetype2 based
> > renderer, that renderes to a pixel buffer and draws into a GtkDrawingArea
> > with GdkRgb.
> >   A Gdk based renderer should be easy too.
> >   So, it's not that hard to implement such a thing. And GnomePrint could
> > easily be extended with a Gdk based renderer, I guess. Then, GnomeCanvas
> > would use a single API (GnomePrint) and the world would become a better
> > place. :)
> >   Anyway I can help, I'm available, if given plenty of time (I'm a slow
> > programmer :)
> > 
> We want something a bit more ambitious, along the lines of Java2D I
> believe. That's why it's hard. ;-)

Just curious, but what do think about using a display postscript(DPS)
system? I was originally looking into adding Java2D functionality into
gdk. However, I discovered display postcript which is meant to excecute
a postscript program on a display server (such as X). Postscript has the
advatage of having a well defined image model (as does Java2D), device
independent output, and being somewhat of a standard.

Also it already exists to some extent. The GNUStep project
( is implementing a DPS layer, and there exist an
X server extention (
 to support DPS. Further pooling of efforts would benefit gtk+ as well
as these projects.

Also postscript is a language, so there is no need to create a complete
API wrapper, although that might be usefull too.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]