[cairo] [API] unbreak CAIRO_FONT_TYPE_ATSUI
spitzak at thefoundry.co.uk
Wed Mar 26 14:03:47 PDT 2008
Vladimir Vukicevic wrote:
> I have one issue still with the backend API -- I think we need to keep
> the high level API in terms of floating-point values, and not go to
> fixed point. So I'd hold off exposing it until we figured that out
I think a serious consideration should be made to making the backend api
include exactly every single cairo api that takes a cairo_t, no matter
how much it looks like cairo can always do it.
Most of what cairo does before the backend should be rearranged into
default or fallback implementations that the backend can call when it
does not have it's own implementation.
It seems that over history there have been lots of points where
insufficient information is passed to the backend and the solution has
been to make the backend resemble the public api more. If this was done
then no more of these changes would ever be necessary, for instance,
floating point would be passed by definition. Even if every backend
immediately converted to the same fixed-point format, there would be no
loss of code or speed, as the conversion would be done at the same point
current cairo does it, it's just that the backend indirection table is
done before, rather than after, the conversion.
Also I see no way a tokenizing or tee backend could be written without
this, and it seems like the pdf/ps backends are difficult without this.
Then again I may be talking complete nonsense because perhaps Cairo is
already written this way, but it sounds like it isn't because of
questions like this.
More information about the cairo