I have been wondering what the thoughts on creating an advanced AA vector based canvas like the gnome canvas, which could have multiple backends dependent upon what was available, are.
For instance it could use libart and gdkpixbuf under gtk1.2/gnome1.4, or gtk2, and under windows libart could be used, or it could have its own fallback solution faking it much like Tony Maro has done with some of his graphs.
Also a Cairo back end could be written once the api has stabalized and a good pascal header and OO bindings have been generated.
Obviously it would have to start small but much of what is needed could be added to the LCL interface itself, and math to graphmath,and would allow using lazarus to do things support advanced graphics manipulation such as svg etc.
And if this was done similarly to the LCL Interfaces then the front end would not be dependent on anything LCL interface or its own rendering backend directly, so new ones could be easily added.
To begin with perhaps the actual full back end could have a nice api to allow using on a standard paintbox on expose, with a call to render the cached canvas pixmap/pixbuf through, so it wouldn't even be so much a custom control at that point but a consistant sane wrappers. But once that was in place we could have an actual component which could store paths in the lfm etc, and allow using it for custom shaped controls and so forth.
So what do people think? comments or suggestions? :?: