Notice style transitions that don't change how StThemeNode paints

Add st_theme_node_paint_equal() and use that to do two things:

 1) Avoid animating transitions where nothing changes.
 2) Copy cached painting state from the old theme node to the new
    theme node.

https://bugzilla.gnome.org/show_bug.cgi?id=627083
This commit is contained in:
Owen W. Taylor
2010-08-26 14:10:46 -04:00
parent b9f9dd948a
commit 5e7c25e136
9 changed files with 210 additions and 3 deletions

View File

@@ -191,11 +191,15 @@ void st_theme_node_get_paint_box (StThemeNode *node,
gboolean st_theme_node_geometry_equal (StThemeNode *node,
StThemeNode *other);
gboolean st_theme_node_paint_equal (StThemeNode *node,
StThemeNode *other);
void st_theme_node_paint (StThemeNode *node,
const ClutterActorBox *box,
guint8 paint_opacity);
void st_theme_node_copy_cached_paint_state (StThemeNode *node,
StThemeNode *other);
G_END_DECLS