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

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

On Wed, 21 Feb 2007 15:44:09 +0000, Alex Bligh wrote:
> there that the latter is going to be harder. As I understand what
> Carl has done, he's produced a hacked up version of GDrawContext
> (or XaDrawContext or whatever it is called today) which calls Cairo
> not GDraw.

Heh. You probably shouldn't guess so much. If only because you'll give
me credit for doing much more than a really did.

First, all I did was remove libCDraw.a and then add a function stub
for every function whose absence was causing a link failure.

Second, I haven't added any calls into cairo yet.

> This could just as easily be a separate class. And we can
> tidy up the class interface to GDrawContext (rather than the CDraw
> 'C' API) so it makes fewer assumption about the underlying drawing
> engine relatively easily, I think.

If you know a better place to make the cut, feel free. I didn't spend
a lot of time, (read, none at all), trying to find a clean place to
make a break.

As is, the break I made wasn't very cleanly implemented in Xara. I had
expected the interface to be entirely defined in GDraw/gdraw.h, (and
maybe GDraw/gdraw2.h), but I ended up finding prototypes for functions
implemented in libCDraw.a hiding out in Kernel/bshadow2.h,
Kernel/cstroke.h, and Kernel/gclip.h.


Attachment: pgpAbTIrpsyH0.pgp
Description: PGP signature