Gtk+ 3.0 Theming API Hackfest Minutes



Hello everyone,
at last, the hackfest is done, and that doesn't mean that we don't
have a whole lot of work ahead of us. But at least we have a team of
people trying to push an idea forward.

This is a rough summary of the agreements/plans we did during the hackfest:
* Get rid of style properties and replace them with global padding (on GtkBin)
* Get rid of GtkRCStyle and GtkStyle (Cody to work on a smooth migration path)
* An extensible GtkStyle replecament that allows to get rid of the
detail string (Carlos Garnacho's GtkStyleContext).
* All drawing funcitions to use a cario context and hide GtkWidget and
GdkWindow (Strong request from 3rd party toolkits)
* Use a CSS syntax for theme files (work with Jens to find a way to
make Qt and Gtk+ files somewhat compatible in the future if possible)
* Use CSS matching rules to apply to the scene graph (hierarchy, siblings...)
* Deprecate (polygon, diamond, tab, shadow primitives).
* New GtkStateType (bit field that allows multiple states at the same time).
* Have a comprehensive list of the widget parts (pseudo elements)
available in the toolkit. (Right now implicit in hierarchy+detail
string).
* Try to keep the primitives as small as possible (draw_part + special
cases like draw_text_layout...)
* Themed animation support (garnacho's timeline+stylecontext)
* Hit detection (allow engines to push the last shape drawn to the
style context, use of the transformation matrix to support layout
animations to detect hits).
* Basic CSS support in the default engine, full CSS support in a full
featured CSS engine (Robert Staudinger work on libcroco/libccss).
* ARGB by default
* Port the 2.x default engine to use cairo natively.

Yes, loads of crazy stuff, but we think we can do it, we would
appreciate any feedback.

Some branches where people are trying out stuff:
* git://github.com/aruiz/gtk-roles-and-siblings.git (hit detection
support based on garnacho's style-context, checkout the style-context
branch)
* git://github.com/garnacho/gtk-roles-and-siblings.git (garnacho's
style-context and animation support, checkout the style-context
branch)
* git://github.com/thos/gtk-cairo-engines.git (2.x default engine port to cairo)
* http://bzr-playground.gnome.org/~robsta/libccss-selection-engine/
(improvements towards support needed features of CSS)

-- 
Cheers,
Alberto Ruiz


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]