[gtk+/wip/actor: 24/25] xxx: cssbox style_updated



commit 9cb982b7ef4ed46b063c626772a3d1300286eb7c
Author: Benjamin Otte <otte redhat com>
Date:   Thu Dec 20 15:02:12 2012 +0100

    xxx: cssbox style_updated

 gtk/actors/gtkcssbox.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)
---
diff --git a/gtk/actors/gtkcssbox.c b/gtk/actors/gtkcssbox.c
index 1c5d1e7..e4ba4dc 100644
--- a/gtk/actors/gtkcssbox.c
+++ b/gtk/actors/gtkcssbox.c
@@ -23,6 +23,7 @@
 
 #include "gtkcssenumvalueprivate.h"
 #include "gtkcssnumbervalueprivate.h"
+#include "gtkcssstylepropertyprivate.h"
 #include "gtkcsstypesprivate.h"
 #include "gtkdebug.h"
 #include "gtkintl.h"
@@ -485,10 +486,21 @@ gtk_css_box_real_screen_changed (GtkActor  *actor,
 }
 
 static void
+gtk_css_box_real_style_updated (GtkCssActor      *actor,
+                                const GtkBitmask *changes)
+{
+  if (_gtk_css_style_property_changes_affect_size (changes))
+    _gtk_actor_queue_relayout (GTK_ACTOR (actor));
+  else
+    _gtk_actor_queue_redraw (GTK_ACTOR (actor));
+}
+
+static void
 _gtk_css_box_class_init (GtkCssBoxClass *klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkActorClass *actor_class = GTK_ACTOR_CLASS (klass);
+  GtkCssActorClass *css_actor_class = GTK_CSS_ACTOR_CLASS (klass);
 
   object_class->finalize = gtk_css_box_finalize;
   object_class->set_property = gtk_css_box_set_property;
@@ -504,6 +516,8 @@ _gtk_css_box_class_init (GtkCssBoxClass *klass)
   actor_class->allocate = gtk_css_box_real_allocate;
   actor_class->screen_changed = gtk_css_box_real_screen_changed;
 
+  css_actor_class->style_updated = gtk_css_box_real_style_updated;
+
   /**
    * GtkCssBox:state:
    *



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