Platform/GFX/GTK3: Difference between revisions

→‎Cairo: cairo is not the likely Gecko drawing engine
(Created page with "= Motivation = * GTK3 themes either don't or can't implement a GTK2 equivalent and distributions are using these GTK3 themes and so Firefox looks different. * New toolkit fe...")
 
(→‎Cairo: cairo is not the likely Gecko drawing engine)
Line 32: Line 32:
= Cairo =
= Cairo =


Currently the GTK3 port uses system cairo.  One option is to fix the
The GTK3 port is currently designed to use system cairo for Gecko drawingEventually, Gecko will probably use a different graphics system, but GTK themes will still need a system cairo context to draw. This will require a gfxCairoNativeRenderer or similar (c.f. [http://mxr.mozilla.org/mozilla-central/source/gfx/thebes/gfxXlibNativeRenderer.cpp]) to create a system-cairo context around a surface with appropriate clipping.
bugs with system cairo.   gfx/cairo/README has a list of patches applies to make upstream cairo work in Mozilla. The in-tree cairo version is old, so many of these may be fixed upstream or there may be new issues. The other option is to create a gfxSystemCairoNativeRenderer or similar to create a system-cairo context around a surface with appropriate clipping, so that GTK3 themes have a system-cairo context even in a tree-cairo build.


= Builds and Tests =
= Builds and Tests =


We need GTK3 installed on build and test machines, and to decide whether to ship GTK2 or GTK3 ports or both.
We need GTK3 installed on build and test machines, and to decide whether to ship GTK2 or GTK3 ports or both.
Confirmed users
85

edits