return FALSE;
}
+/**
+ * gtk_style_context_new:
+ *
+ * Creates a standalone #GtkStyleContext, this style context
+ * won't be attached to any widget nor screen, so you may want
+ * to call gtk_style_context_set_path() and
+ * gtk_style_context_set_screen() yourself.
+ *
+ * <note>
+ * This function is only useful when using the theming layer
+ * separated from GTK+, if you are using #GtkStyleContext to
+ * theme #GtkWidget<!-- -->s, use gtk_widget_get_style_context()
+ * in order to get a style context ready to theme the widget.
+ * </note>
+ *
+ * Returns: A newly created #GtkStyleContext.
+ **/
+GtkStyleContext *
+gtk_style_context_new (void)
+{
+ return g_object_new (GTK_TYPE_STYLE_CONTEXT, NULL);
+}
+
/**
* gtk_style_context_add_provider:
* @context: a #GtkStyleContext
#define GTK_IS_STYLE_CONTEXT_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GTK_TYPE_STYLE_CONTEXT))
#define GTK_STYLE_CONTEXT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_STYLE_CONTEXT, GtkStyleContextClass))
-typedef struct _GtkStyleContext GtkStyleContext;
-typedef struct _GtkStyleContextClass GtkStyleContextClass;
+typedef struct GtkStyleContext GtkStyleContext;
+typedef struct GtkStyleContextClass GtkStyleContextClass;
-struct _GtkStyleContext
+struct GtkStyleContext
{
GObject parent_object;
gpointer priv;
};
-struct _GtkStyleContextClass
+struct GtkStyleContextClass
{
GObjectClass parent_class;
GType gtk_style_context_get_type (void) G_GNUC_CONST;
+GtkStyleContext * gtk_style_context_new (void);
+
void gtk_style_context_add_provider_for_screen (GdkScreen *screen,
GtkStyleProvider *provider,
guint priority);
GtkStateFlags flags);
GtkStateFlags gtk_style_context_get_state (GtkStyleContext *context);
-gboolean gtk_style_context_state_is_running (GtkStyleContext *context,
- GtkStateType state,
- gdouble *progress);
+gboolean gtk_style_context_is_state_set (GtkStyleContext *context,
+ GtkStateType state,
+ gdouble *progress);
void gtk_style_context_set_path (GtkStyleContext *context,
GtkWidgetPath *path);
gpointer region_id);
void gtk_style_context_pop_animatable_region (GtkStyleContext *context);
-void gtk_style_context_invalidate (GtkStyleContext *context);
-void gtk_style_context_reset_widgets (GdkScreen *screen);
/* Semi-private API */
const GValue * _gtk_style_context_peek_style_property (GtkStyleContext *context,
gint rel_x,
gint rel_y);
+/* Animation for state changes */
+void gtk_style_context_state_transition_start (GtkStyleContext *context,
+ gpointer identifier,
+ GtkWidget *widget,
+ GtkStateType state,
+ gboolean value,
+ GdkRectangle *rect);
+void gtk_style_context_state_transition_update (GtkStyleContext *context,
+ gpointer identifier,
+ GdkRectangle *rect,
+ GtkStateType state);
+void gtk_style_context_state_transition_stop (GtkStyleContext *context,
+ gpointer identifier);
+
+void gtk_style_context_invalidate (GtkStyleContext *context);
+void gtk_style_context_reset_widgets (GdkScreen *screen);
+
/* Paint methods */
void gtk_render_check (GtkStyleContext *context,
cairo_t *cr,