Cairo predecessor comparsion (continued, was Re: [cairo] Cairo and GdiPlus or two win32 backends)

Hans Breuer hans at breuer.org
Sun Jan 16 15:38:23 PST 2005


Hans Breuer wrote:
[following up on myself cause I accidential hit send too early;]
> My dia-cairo page [2] compares the output of Cairo with the output of 
> other already existing plug-ins. The nice thingh here is the simple 
> ability to compare Cairo to most of it 'predecessors' :
> 
> * Cairo
>   + would allow much more eye candy (not that relevant for Dia though
>     cause there is almost no transparency in Dia yet)
>   + probably has the nicest API (but IMHO only for application developers,
>     not for Cairo backend implementaion)
>   - does not support dashed bezier lines [3]
>   - cairo_surface_create_for_image() require a pixel format incompatible
>     with gdk-pixbuf and also insist to keep the data allocated by the
>     API user [3]
     - apparently quite a bunch of work still remains to be done (new
       tesselator, pdf backend, PostScript which is not a huge bitmap,
       integration with GDI, ...)
> 
> * Gdk (Cairo is supposed to be *the* Gtk+ drawing api) :
>   + produces better bitmap rendering through gdk-pixbuf
>   + already has PangoLayou rendering based on the native font engine
     - no plans to address printers
> 
> * Libart (antialised rendering to bitmaps, common usage in GNOME)
>   - no text support
     - no vector output
     + works quite well beside that
> 
> * GnomePrint 
     + does run on win32; integrating with real GDI printing shouldn't
       be much work. And they *are* accepting patches ;-)
     + quite well integrated with Gtk/GNOME already
     + apparently does not resample images either (see wmf)
     - lack of PDF compression though some supportive functions for that
       appear to be available

> * wmf + native printing (Cairo is supposed to become the high level
>   printing API for Gtk+ applications) :
>   + preserves bitmaps with their original resolution (what you see
>     is what you had)
     + can be used for vector based clipboard or file exchange
>   - requires win32
> 

Note: this comnparsion is biased by the needs of Dia [4] for a drawing API. 
Obviously things like full SVG rendering require more support which mostly 
already is supported by Cairo.

> Thanks,
>     Hans
> 
> [1] http://lists.freedesktop.org/archives/cairo/2005-January/002604.html
> [2] http://hans.breuer.org/dia/dia-cairo.htm
> [3] http://lists.freedesktop.org/archives/cairo/2004-May/001466.html
   [4] http://www.gnome.org/projects/dia/
> 
-------- Hans "at" Breuer "dot" Org -----------
Tell me what you need, and I'll tell you how to
get along without it.                -- Dilbert



More information about the cairo mailing list