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

Re: [XaraXtreme-dev] Moving to Cairo (was Ping)

--On 21 February 2007 14:46 +0100 Jose Hevia <jose.francisco.hevia@xxxxxxxxx> wrote:

More than that, because no one wants a fork, so I'd say we'd help make
this happen in the official SVN builds. i.e. we create a branch, or just
the modify the main version, so that it can be used with Cairo instead
of / as well as CDraw.

There is no need to make a fork, just create a library libCDraw.a that
works with cairo, maybe it is possible to create a libCDraw bindings
to antigrain http://antigrain.com/ that is GPL too, and fast.

That sounds neat, but I don't think is actually quite the right solution,
because of the way the GDrawContext and friends work, and the fact the
interface to the CDraw library isn't as clean an API as it might be. I
think the best solution would be for Cairo rendering to be incorporated
natively into the mainline build at (roughly) the GDraw level (i.e. pretty
much what Carl says he has done, I haven't yet had time to look). If the
GDraw binary is present (for those who are happy installing "free as in
beer" binaries), it could (optionally) use that instead. Else the default
would be to use the binary.

This would seem to be the best of both worlds. It would also perhaps
help allow the Cairo renderer to be used (for example) for printing.

I don't think introducing what effectively would be a shim library
(converting CDraw calls to Cairo calls) is going to be particularly helpful
and it would maintain an API (the CDraw API) which wasn't particularly
polished and has no degree of guaranteed stability anyway.