]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkcsscomputedvaluesprivate.h
stylecontext: Do invalidation on first resize container
[~andy/gtk] / gtk / gtkcsscomputedvaluesprivate.h
index b382b25c2b850801de4b21a118d5259828220d48..5c88c72a335ed608d2951be7b91400c323376467 100644 (file)
@@ -12,8 +12,7 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  *
  * Authors: Benjamin Otte <otte@gnome.org>
  */
@@ -23,8 +22,9 @@
 
 #include <glib-object.h>
 
+#include "gtk/gtkbitmaskprivate.h"
 #include "gtk/gtkcsssection.h"
-#include "gtk/gtkstylecontext.h"
+#include "gtk/gtkcssvalueprivate.h"
 
 G_BEGIN_DECLS
 
@@ -35,15 +35,24 @@ G_BEGIN_DECLS
 #define GTK_IS_CSS_COMPUTED_VALUES_CLASS(obj)  (G_TYPE_CHECK_CLASS_TYPE (obj, GTK_TYPE_CSS_COMPUTED_VALUES))
 #define GTK_CSS_COMPUTED_VALUES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CSS_COMPUTED_VALUES, GtkCssComputedValuesClass))
 
-typedef struct _GtkCssComputedValues           GtkCssComputedValues;
+/* typedef struct _GtkCssComputedValues           GtkCssComputedValues; */
 typedef struct _GtkCssComputedValuesClass      GtkCssComputedValuesClass;
 
 struct _GtkCssComputedValues
 {
   GObject parent;
 
-  GValueArray           *values;
-  GPtrArray             *sections;
+  GPtrArray             *values;               /* the unanimated (aka intrinsic) values */
+  GPtrArray             *sections;             /* sections the values are defined in */
+
+  GPtrArray             *animated_values;      /* NULL or array of animated values/NULL if not animated */
+  gint64                 current_time;         /* the current time in our world */
+  GSList                *animations;           /* the running animations, least important one first */
+
+  GtkBitmask            *depends_on_parent;    /* for intrinsic values */
+  GtkBitmask            *equals_parent;        /* dito */
+  GtkBitmask            *depends_on_color;     /* dito */
+  GtkBitmask            *depends_on_font_size; /* dito */
 };
 
 struct _GtkCssComputedValuesClass
@@ -56,22 +65,40 @@ GType                   _gtk_css_computed_values_get_type             (void) G_G
 GtkCssComputedValues *  _gtk_css_computed_values_new                  (void);
 
 void                    _gtk_css_computed_values_compute_value        (GtkCssComputedValues     *values,
-                                                                       GtkStyleContext          *context,
+                                                                       GtkStyleProviderPrivate  *provider,
+                                                                       GtkCssComputedValues     *parent_values,
                                                                        guint                     id,
-                                                                       const GValue             *specified,
+                                                                       GtkCssValue              *specified,
                                                                        GtkCssSection            *section);
 void                    _gtk_css_computed_values_set_value            (GtkCssComputedValues     *values,
                                                                        guint                     id,
-                                                                       const GValue             *value,
+                                                                       GtkCssValue              *value,
+                                                                       GtkCssDependencies        dependencies,
                                                                        GtkCssSection            *section);
+void                    _gtk_css_computed_values_set_animated_value   (GtkCssComputedValues     *values,
+                                                                       guint                     id,
+                                                                       GtkCssValue              *value);
                                                                         
-const GValue *          _gtk_css_computed_values_get_value            (GtkCssComputedValues     *values,
+GtkCssValue *           _gtk_css_computed_values_get_value            (GtkCssComputedValues     *values,
                                                                        guint                     id);
-const GValue *          _gtk_css_computed_values_get_value_by_name    (GtkCssComputedValues     *values,
-                                                                       const char               *name);
 GtkCssSection *         _gtk_css_computed_values_get_section          (GtkCssComputedValues     *values,
                                                                        guint                     id);
+GtkCssValue *           _gtk_css_computed_values_get_intrinsic_value  (GtkCssComputedValues     *values,
+                                                                       guint                     id);
+GtkBitmask *            _gtk_css_computed_values_get_difference       (GtkCssComputedValues     *values,
+                                                                       GtkCssComputedValues     *other);
+GtkBitmask *            _gtk_css_computed_values_compute_dependencies (GtkCssComputedValues     *values,
+                                                                       const GtkBitmask         *parent_changes);
 
+void                    _gtk_css_computed_values_create_animations    (GtkCssComputedValues     *values,
+                                                                       GtkCssComputedValues     *parent_values,
+                                                                       gint64                    timestamp,
+                                                                       GtkStyleProviderPrivate  *provider,
+                                                                       GtkCssComputedValues     *source);
+GtkBitmask *            _gtk_css_computed_values_advance              (GtkCssComputedValues     *values,
+                                                                       gint64                    timestamp);
+void                    _gtk_css_computed_values_cancel_animations    (GtkCssComputedValues     *values);
+gboolean                _gtk_css_computed_values_is_static            (GtkCssComputedValues     *values);
 
 G_END_DECLS