[haiku-development] Re: Cario and Skia

  • From: Urias McCullough <umccullough@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Thu, 23 Feb 2012 11:02:15 -0800

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

Other related posts: