Re: [pyGEF-develop] Hello!
Status: Pre-Alpha
Brought to you by:
hrgerber
|
From: <pyg...@li...> - 2007-07-19 01:17:25
|
> I've always been pretty skeptical of "backend-independent" systems. > You're kind of stuck with the lowest common denominator. As it is, > GraphicsContext is a backend independent wrapper, as is Cairo (though at > least Cairo does it's own in-memory bitmap rendering). > > Actually, Cairo has a lot going for it -- it's powerful, flexible, under > active development, and is being used by Major projects (GTK and > Mozilla). It also gives you other output options: PDF, Postscript, > Printer? My main problem with Cairo is just that it seems to be overly entangled with GTK/Linux/GCC. I don't think it's really a problem inherent in Cairo, just it seems that's what the current user base is. It seems to be getting better slowly though. AGG has minimal dependencies and compiles pretty easily. In fact I think Maxim just recommends adding the AGG library files directly into your project, whatever platform/tool you use. Maybe from a Linux user's perspective AGG has the opposite problem of seeming too Windows-y. But I think AGG comes with makefiles and such for GCC/Linux right out of the box. Anyway, I know Cairo *can* be compiled and used on Windows, it's just it seems more like at the stage of "Hey look some guy managed to compile it on Windows too!" as opposed to intentionally and pro-actively supporting non-Linux, non-GTK usages. I understand Agg is faster - I wish Cairo used Agg as it's in-memory > renderer, but as it started with that part, it probably never will, and > at this point, I don't know that Agg really is any better than Cairo. > And performance improvements will come. Yeh. Probably the most interesting thing about AGG is that it is so pervasively templatized, allowing you to do things like create a dedicated pipeline for rendering directly to some odd image format just by changing one parameter and implementing a few low-level rasterization routines. In theory anyway :-). Anyway AGG is really more a construction kit for building vertex processing pipelines. Cairo, I think, is a concrete implementation of one particular pipeline. I wonder if it would be possible to use the Xara engine some how (GPL).... I think the current plan is BSD-like license, but I guess that could change. --bb |