X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkcsscomputedvaluesprivate.h;h=5c88c72a335ed608d2951be7b91400c323376467;hb=e1edc998a2e9c557030d207533932b3120e13fe5;hp=b382b25c2b850801de4b21a118d5259828220d48;hpb=6962b49a99eadc7f4266d13f66fca8611802fe09;p=~andy%2Fgtk diff --git a/gtk/gtkcsscomputedvaluesprivate.h b/gtk/gtkcsscomputedvaluesprivate.h index b382b25c2..5c88c72a3 100644 --- a/gtk/gtkcsscomputedvaluesprivate.h +++ b/gtk/gtkcsscomputedvaluesprivate.h @@ -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 . * * Authors: Benjamin Otte */ @@ -23,8 +22,9 @@ #include +#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