[gtk+/gtk-style-context: 260/490] GtkStyleContext: Add gtk_style_context_new().



commit e8365f8c04b45a1c403944af26c808adeb3cb743
Author: Carlos Garnacho <carlosg gnome org>
Date:   Tue Oct 19 18:42:00 2010 +0200

    GtkStyleContext: Add gtk_style_context_new().

 docs/reference/gtk/gtk3-sections.txt |    1 +
 gtk/gtkstylecontext.c                |   23 ++++++++++++++++++++++
 gtk/gtkstylecontext.h                |   35 +++++++++++++++++++++++++--------
 3 files changed, 50 insertions(+), 9 deletions(-)
---
diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt
index b8ba9a3..86b5eb7 100644
--- a/docs/reference/gtk/gtk3-sections.txt
+++ b/docs/reference/gtk/gtk3-sections.txt
@@ -5413,6 +5413,7 @@ gtk_style_set_get_type
 <FILE>gtkstylecontext</FILE>
 <TITLE>GtkStyleContext</TITLE>
 GtkStyleContext
+gtk_style_context_new
 gtk_style_context_add_provider
 gtk_style_context_add_provider_for_screen
 gtk_style_context_get
diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c
index b571d86..f0456a4 100644
--- a/gtk/gtkstylecontext.c
+++ b/gtk/gtkstylecontext.c
@@ -985,6 +985,29 @@ style_provider_remove (GList            **list,
 }
 
 /**
+ * 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
  * @provider: a #GtkStyleProvider
diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h
index ad1a2ff..ce5fc0d 100644
--- a/gtk/gtkstylecontext.h
+++ b/gtk/gtkstylecontext.h
@@ -33,16 +33,16 @@ G_BEGIN_DECLS
 #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;
 
@@ -51,6 +51,8 @@ struct _GtkStyleContextClass
 
 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);
@@ -82,9 +84,9 @@ void          gtk_style_context_set_state    (GtkStyleContext *context,
                                               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);
@@ -146,8 +148,6 @@ void gtk_style_context_push_animatable_region (GtkStyleContext *context,
                                                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,
@@ -158,6 +158,23 @@ void           _gtk_style_context_coalesce_animation_areas   (GtkStyleContext *c
                                                               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,



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