[cairo] Serious concerns about cairo

Carl Worth cworth at cworth.org
Sat Sep 23 11:53:37 PDT 2006


On Sat, 23 Sep 2006 08:45:46 -0700, "Mike Emmel" wrote:
> I'd like to add that I think the decision to have binary compatibility
> was premature at best. A api freeze is even highly questionable.

You do understand that our API/ABI guarantees do not prevent us from
_adding_ anything we like to cairo?

From a brief skim of your email:

> Add one call to get the glyph index for a unicode char.
...
> Add drawing operations at least for ucs2 chars. No one doing advanced text
> layout works with utf8 you can't internally. There is no reason not to expose
...
> Next there is no way to get the current clip path or see if a clip is set.
> As with the path there is no function to reuse a complex clip path on
> multiple cairo context's.
...
> There is no way to get the surface back from a pattern that's a surface.
> I can get the type but not the surface. Same with all the pattern types.
> If its argb I can't get the color or gradient. This means I can't retrieve my
> surface from a pattern for further drawing.  Nor is their a matching
> create_similar
> function for patterns.

Everything you're talking about here sounds like additions, so the
API/ABI stability guarantees won't present any problem in adding any
of that.

And, significantly, some of it is already done. For instance, just
this week Vladimir committed new API for several of the things you ask
for in the last paragraph I quoted:

      cairo_get_dash
      cairo_get_dash_count
      cairo_pattern_get_rgba
      cairo_pattern_get_surface
      cairo_pattern_get_color_stop_rgba
      cairo_pattern_get_color_stop_count
      cairo_pattern_get_linear_points
      cairo_pattern_get_radial_circles

And for querying the current clip, Robert O'Callahan has recently
submitted an updated patch for that, (after going through several
rounds on the mailing list). I think he's just waiting for me to
review the latest version at this point.

So, these things are already being addressed, (and I'll note that in
both of the cases I just cited it's Mozilla that has been doing a lot
of the work for fleshing out a few missing pieces of API).

> I hope that other people implementing applications that seriously
> exercise the cairo api
> will speak up and voice there concerns if there is enough feedback
> then I hope that
> we can really review the state of cairo and consider addressing these
> concerns before
> considering the library robust enough for general use. If I'm the only
> one not happy with
> cairo then fine I'll except my position as a whiner but, I just think
> people haven't voiced their experiences with the library.

I agree that the more feedback we get the better the library will be.

I don't agree that we've not been getting feedback---as mentioned
above, the feedback from mozilla, (in the form of patches for desired
functionality), has been particularly valuable.

As for providing mapping from a unicode character to a glyph index,
there has been some discussion of this in the past. I'm not an expert
in this area, but the last time the issue came up I was convinced by
well-reasoned arguments against including this support in
cairo. Similar arguments might apply to a ucs2-based API, though I'm
not sure. Again, I'd have to dig up those conversations to remember
the details.

-Carl
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo/attachments/20060923/78fdccde/attachment.pgp


More information about the cairo mailing list