[Libreoffice] Questions about gtk3 port
Lucas Baudin
xapantu at gmail.com
Mon Sep 12 12:18:35 PDT 2011
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
More information about the LibreOffice
mailing list