summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2010-06-27 19:35:08 +0200
committerCarlos Garnacho <carlosg@gnome.org>2010-12-04 15:37:16 +0100
commit318e0f28eea281907589f94f93241d5d3659beb0 (patch)
tree3ebcdbcc2010bea4c88579f9f3a1269f2492418a /gtk
parentbe5d4adf6b9636bc4f3d8ce1248fd937965a6bcc (diff)
downloadgtk+-318e0f28eea281907589f94f93241d5d3659beb0.tar.gz
GtkStyleProvider: Add gtk_style_provider_get_icon_factory().
With this, style providers have a way to override default icon theme.
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtkstyleprovider.c16
-rw-r--r--gtk/gtkstyleprovider.h7
2 files changed, 23 insertions, 0 deletions
diff --git a/gtk/gtkstyleprovider.c b/gtk/gtkstyleprovider.c
index e67d4471c2..4240176f24 100644
--- a/gtk/gtkstyleprovider.c
+++ b/gtk/gtkstyleprovider.c
@@ -83,6 +83,22 @@ gtk_style_provider_get_style_property (GtkStyleProvider *provider,
return iface->get_style_property (provider, widget_path, property_name, value);
}
+GtkIconFactory *
+gtk_style_provider_get_icon_factory (GtkStyleProvider *provider,
+ GtkWidgetPath *path)
+{
+ GtkStyleProviderIface *iface;
+
+ g_return_val_if_fail (GTK_IS_STYLE_PROVIDER (provider), NULL);
+ g_return_val_if_fail (path != NULL, NULL);
+
+ iface = GTK_STYLE_PROVIDER_GET_IFACE (provider);
+
+ if (!iface->get_icon_factory)
+ return NULL;
+
+ return iface->get_icon_factory (provider, path);
+}
#define __GTK_STYLE_PROVIDER_C__
#include "gtkaliasdef.c"
diff --git a/gtk/gtkstyleprovider.h b/gtk/gtkstyleprovider.h
index 5fc30ed42b..6c3a57561e 100644
--- a/gtk/gtkstyleprovider.h
+++ b/gtk/gtkstyleprovider.h
@@ -22,6 +22,7 @@
#include <glib-object.h>
#include "gtkwidgetpath.h"
+#include "gtkiconfactory.h"
#include "gtkstyleset.h"
#include "gtkenums.h"
@@ -51,6 +52,9 @@ struct GtkStyleProviderIface
GtkWidgetPath *path,
const gchar *property_name,
GValue *value);
+
+ GtkIconFactory * (* get_icon_factory) (GtkStyleProvider *provider,
+ GtkWidgetPath *path);
};
GType gtk_style_provider_get_type (void) G_GNUC_CONST;
@@ -63,6 +67,9 @@ gboolean gtk_style_provider_get_style_property (GtkStyleProvider *provider,
const gchar *property_name,
GValue *value);
+GtkIconFactory * gtk_style_provider_get_icon_factory (GtkStyleProvider *provider,
+ GtkWidgetPath *path);
+
G_END_DECLS
#endif /* __GTK_STYLE_PROVIDER_H__ */