diff options
author | Matthias Clasen <mclasen@redhat.com> | 2004-10-19 18:45:41 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2004-10-19 18:45:41 +0000 |
commit | 6fc2b8118a77a4d3f6d237d573805302db5e54b7 (patch) | |
tree | 3705cce0a4866838f8230b0e369e1c080c27cfc2 /gtk/gtkiconcache.h | |
parent | b087f7655108019d797ca6096077443761915431 (diff) | |
download | gtk+-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.h | 41 |
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__ */ |