On Thu, Feb 23, 2012 at 10:33 AM, Adrien Destugues <pulkomandy@xxxxxxxxxxxxx> wrote: > You can use either BDirectWindow, set a background BBitmap on a BView, or > use an overlay. > Remember that working that way instead of using BeAPI and the app_server > backend leads to : > * code duplication (all the graphics algorithms are in the app, while we > have working ones in the app_server) > * integration problems (you can draw on a BBitmap and a BDirectWindow using > the BeAPI, but it's not as good as the usual way) > > It feels just like the way Linux is working : while X11 has support for > drawing lines, curves, and so on, everyone just open a window and do their > own stuff in it. This makes things like a remote X11 session or a remote > app_server slower than needed (they need to carry the whole picture over the > network, instead of just the drawing commands). So it will never be as good > as a native implementation. The old Cairo BeOS code tried to wrap everything like this - and it was horrible. Cairo is a C API - Firefox created a C++ wrapper for it called Thebes... but that doesn't resolve the issue of having to build a C++ backend surface that integrates into Cairo. I think BeOS is the only platform that did that previously, and it never worked completely right. I suspect that code has since been excised, as it was unmaintained, and out of date. - Urias