Hi,Today, I tried to work on the gtk3 port, for the widget rendering. But I have some problems...
Let's take the button example.An easy way to draw a gtk3 button is to call gtk_render_frame (or background), with a cairo context. So, we can create the context using gdk_cairo_create. That's what is currently done in GtkSalGraphics::drawNativeControl. The problem is that we also have to support the normal headless mode. Currently, there is a bitmap array, where the native LibreOffice widgets can be drawn, and then, it is translated to cairo, in GtkFrame::renderArea. The problem is that this pixel array is only rgb, and, obviously, the widgets drawn by gtk functions (in drawNativeControl) are hidden by these pixels.
So, I would need some help to figure that out. How can we manage to paint this pixel buffer and the cairo surface correctly? e.g. for a button, the text of it will be drawn by the "headless mode", but the button itself by gtk, and the background of the window by the "headless mode" too... I took a look at the gtk2 code, but it seems it uses some X functions, and if I recall correctly, Michael wanted to remove all of them, so...
If anyone had some time to look at that, it would be cool, I don't see how this could be done...
Lucas