On Sat, 17 Feb 2007 18:08:59 -0000, "Charles Moir" wrote: > So I agree with Alex that, if the worst comes to the worst, and we do > not release CDraw, Cairo is a perfectly good fall back, and in some ways > a better solution (e.g. because it's using the platform's standard > rendering library instead). OK. Hopefully you know understand the "what about CDraw?" sentiment a bit better now. An easy way to understand it is "has the worst come to the worst after all?". Some people, (speaking from personal experience), have just mentally filed away the Xara source code as, "that might be interesting if it becomes free software at some point". So it would be useful to know if the CDraw source release will never happen. Assuming it will not, then some of those same people might update their opinion to "definitely not interesting" or "it might be interesting to work to make the the software become free". Over the past year, while the release plans of CDraw have been quite uncertain, (license file states intent to release source, but no other visible signs are given), there's been very little motivation for anyone to invest work into freeing the xara code, (since what would be the point if CDraw were made free shortly after thereby eliminating most of the value of that work). > I know Inkscape have often mentioned a > desire to move to Cairo for similar reasons. And so the sentiment that > Xara Xtreme is useless without CDraw is plainly just not true. Yes, inkscape has been quite interested, and inkscape has actually been progressing nicely on this front. It's got cairo-based PDF export code now, (which is motivating some improvements in cairo's PDF export quality), and very recently, there have been very promising experiments at using cairo to render the main "canvas" of inkscape itself. So that's just plain happening, (as I imagine it would also happen for Xara if it were free). > And for someone that knew Cairo or studied the CDraw interface in Xara > Xtreme this is not really that difficult a job. I would bet who knew > what they were doing could have something operational in days (obviously > a lot longer to get it fully functional). OK. Let's see what happens. I know cairo and I'm willing to help anyone that wants to do this and needs assistance from someone that knows cairo. I've even made available a version of the xaralx code that is freely redistributable under the terms of the GPL alone, (no additional permissions granted), as it does not include the CDraw binary. Instead, this version consists of the minimum number of stubs I could identify necessary to link, (quite a few more than are listed in gdraw.h and gdraw2.h as there are other function prototypes scattered throughout the Kernel/ directory that are also apparently implemented in CDraw.a). Currently, the stubs simply print a message to stderr giving the name of the unimplemented function, and generally return 0. The only functions I've given a non-stub interface to are the first two that are hit b the program, (GDraw_GetVersion and GDraw_ContextLength). With these two in place, the program stops generating internal errors at startup and actually runs. It basically just doesn't draw anything, (well, it does draw a little bit of something---things like the non-antialiased real-times scribbling with the pencil show up, as do Bézier control handles, but not much past that). If anyone wants to checkout the source as I've put it together, it's available by means of git[*] with the following command: git clone git://people.freedesktop.org/~cworth/xaralx After that clone, you'll get the tree I created. You'll also have access to all of the xaralx code history as available in the upstream subversion repository, (assuming that the subversion->git import process worked correctly). And there's a "non-free" branch that contains the exact contents of what is in subversion. The changes I made can also be browsed online here: http://gitweb.freedesktop.org/?p=users/cworth/xaralx If anyone wants to work to make this a viable port of xaralx to cairo, I would be glad to assist, and to host changes here. I don't know that I'll actually be spending a lot of time on this myself. Oh, and I haven't gone through the paperwork necessary to contribute co-copyright to Xara (or whomever). If this work ever gets to a point where that would be interesting, and someone would want that, please ask me. -Carl [*] If you need a git client, you can probably install it through your distribution of choice---likely with a package name of git-core. Or you can obtain it from its home on the internet: http://git.or.cz/
Attachment:
pgpiQrsDLbkIq.pgp
Description: PGP signature