summaryrefslogtreecommitdiff
path: root/gtk/gtkiconcache.h
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2004-10-19 18:45:41 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2004-10-19 18:45:41 +0000
commit6fc2b8118a77a4d3f6d237d573805302db5e54b7 (patch)
tree3705cce0a4866838f8230b0e369e1c080c27cfc2 /gtk/gtkiconcache.h
parentb087f7655108019d797ca6096077443761915431 (diff)
downloadgtk+-6fc2b8118a77a4d3f6d237d573805302db5e54b7.tar.gz
Implement icon theme caching. (#154034, Martijn Vernooij, caching schema
2004-10-19 Matthias Clasen <mclasen@redhat.com> Implement icon theme caching. (#154034, Martijn Vernooij, caching schema proposed by Owen Taylor, initial implementation by Anders Carlsson) * gtk/gtkdebug.h: * gtk/gtkmain.c: Add a "icontheme" debug flag. * gtk/Makefile.am (gtk_c_sources): Add gtkiconcache.c (gtk_private_h_sources): Add gtkiconcache.h (bin_PROGRAMS): Add gtk-update-icon-cache * gtk/gtkicontheme.c: Use icon caches if they are available. Currently, GTK+ uses the cache to get information about the available sizes, image file formats and .icon files. The actual image data, and the .icon file contents are not cached yet. * gtk/updateiconcache.c: A cmdline utility for generating icon cache files. * gtk/gtkiconcache.h: * gtk/gtkiconcache.c: The glue code to mmap an icon cache file and manage the information it contains.
Diffstat (limited to 'gtk/gtkiconcache.h')
-rw-r--r--gtk/gtkiconcache.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/gtk/gtkiconcache.h b/gtk/gtkiconcache.h
new file mode 100644
index 0000000000..ee9d48aeb3
--- /dev/null
+++ b/gtk/gtkiconcache.h
@@ -0,0 +1,41 @@
+/* gtkiconcache.h
+ * Copyright (C) 2004 Anders Carlsson <andersca@gnome.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+#ifndef __GTK_ICON_CACHE_H__
+#define __GTK_ICON_CACHE_H__
+
+#include <gdk-pixbuf/gdk-pixbuf.h>
+
+typedef struct _GtkIconCache GtkIconCache;
+
+GtkIconCache *_gtk_icon_cache_new_for_path (const gchar *path);
+gboolean _gtk_icon_cache_has_directory (GtkIconCache *cache,
+ const gchar *directory);
+void _gtk_icon_cache_add_icons (GtkIconCache *cache,
+ const gchar *directory,
+ GHashTable *hash_table);
+
+gint _gtk_icon_cache_get_icon_flags (GtkIconCache *cache,
+ const gchar *icon_name,
+ const gchar *directory);
+
+GtkIconCache *_gtk_icon_cache_ref (GtkIconCache *cache);
+void _gtk_icon_cache_unref (GtkIconCache *cache);
+
+
+#endif /* __GTK_ICON_CACHE_H__ */