[cairo] Making Cairo friendlier for embedded use

Mike Emmel mike.emmel at gmail.com
Mon Mar 27 07:37:40 PST 2006

On 3/23/06, Carl Worth <cworth at cworth.org> wrote:
> On Thu, 23 Mar 2006 16:25:07 -0500, "Sean Kelley" wrote:
> > I was wondering if anyone has been considering the long-term impact of
> > the floating point intensive Cairo on embedded products wishing to
> > make use of Gtk+?  In general, resource limited processors like ARM
> > lack an fpu.  Recent improvements such as softfloat in gcc have
> > helped.  But just curious if there are other developers on this list
> > who have a long term interest in staying in step with Gtk+
> > improvements beyond 2.6.  Currently I am doing an embedded design
> > based on Gtk+ 2.6.10.  I just was curious if there are other embedded
> > developers on this list.
> Hi Sean,
> I've had a lot of fun doing embedded stuff with X in the past,
> including very early versions of cairo.
> I haven't touched that stuff recently, but I don't think the
> floating-point requirements should have gotten much worse.
> Are you finding cairo to be particularly unfriendly due to
> floating-point arithmetic it does? Or was it more just the large
> percentage of floating-point arguments in the API that made you
> nervous?
> Cairo does accept all coordinates in floating-point and does run them
> through a floating-point transformation matrix. But very soon after
> that, the path coordinates are stored in fixed point, and most of the
> things like path stroking, path filling, trapezoid tessellation,
> trapezoid rasterization, and compositing all happen in fixed-point.
> So hopefully the bulk of the important work is happening in
> fixed-point already, (perhaps with the notable exception of gradient
> computations).
> But do let me know if you see specific problems in this area as it
> would certainly be possible for some effort to be put into moving some
> remaining floating-point pieces to fixed-point.

The font handling code seems to use floating point operations.
To really correct this I think we need to find out if the font engine
supports fixed point
and if so what depths to use. The interface can be fixed point instead
of floating point.
Right now for freetype there are multiple conversions from fixed to
floating point.


> And to answer part of your more general question. Yes, I for one am
> interested in seeing cairo continue to be an interesting thing to use
> for cool, embedded applications.
> -Carl
> _______________________________________________
> cairo mailing list
> cairo at cairographics.org
> http://cairographics.org/cgi-bin/mailman/listinfo/cairo

More information about the cairo mailing list