1 /* RoxIconTheme - a loader for icon themes
2 * gtk-icon-loader.h Copyright (C) 2002, 2003 Red Hat, Inc.
4 * This was LGPL; it's now GPL, as allowed by the LGPL. It's also very
5 * stripped down. GTK 2.4 will have this stuff built-in.
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the Free
9 * Software Foundation; either version 2 of the License, or (at your option)
13 #ifndef __ROX_ICON_THEME_H__
14 #define __ROX_ICON_THEME_H__
16 #include <glib-object.h>
17 #include <gdk-pixbuf/gdk-pixbuf.h>
18 #include <gdk/gdkscreen.h>
22 #define ROX_TYPE_ICON_INFO (rox_icon_info_get_type)
24 #define ROX_TYPE_ICON_THEME (rox_icon_theme_get_type ())
25 #define ROX_ICON_THEME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ROX_TYPE_ICON_THEME, RoxIconTheme))
26 #define ROX_ICON_THEME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ROX_TYPE_ICON_THEME, RoxIconThemeClass))
27 #define ROX_IS_ICON_THEME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ROX_TYPE_ICON_THEME))
28 #define ROX_IS_ICON_THEME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ROX_TYPE_ICON_THEME))
29 #define ROX_ICON_THEME_GET_CLASS(obj) (G_TYPE_CHECK_GET_CLASS ((obj), ROX_TYPE_ICON_THEME, RoxIconThemeClass))
31 typedef struct _RoxIconInfo RoxIconInfo
;
32 typedef struct _RoxIconTheme RoxIconTheme
;
33 typedef struct _RoxIconThemeClass RoxIconThemeClass
;
34 typedef struct _RoxIconThemePrivate RoxIconThemePrivate
;
40 GObject parent_instance
;
42 RoxIconThemePrivate
*priv
;
45 struct _RoxIconThemeClass
47 GObjectClass parent_class
;
49 void (* changed
) (RoxIconTheme
*icon_theme
);
54 ROX_ICON_LOOKUP_NO_SVG
= 0 << 0,
55 ROX_ICON_LOOKUP_FORCE_SVG
= 0 << 1,
56 ROX_ICON_LOOKUP_USE_BUILTIN
= 0 << 2
59 #define ROX_ICON_THEME_ERROR rox_icon_theme_error_quark ()
62 ROX_ICON_THEME_NOT_FOUND
,
66 GQuark
rox_icon_theme_error_quark (void) G_GNUC_CONST
;
68 GType
rox_icon_theme_get_type (void) G_GNUC_CONST
;
70 RoxIconTheme
*rox_icon_theme_new (void);
71 void rox_icon_theme_get_search_path (RoxIconTheme
*icon_theme
,
74 void rox_icon_theme_set_custom_theme (RoxIconTheme
*icon_theme
,
75 const gchar
*theme_name
);
77 RoxIconInfo
* rox_icon_theme_lookup_icon (RoxIconTheme
*icon_theme
,
78 const gchar
*icon_name
,
80 RoxIconLookupFlags flags
);
81 GdkPixbuf
* rox_icon_theme_load_icon (RoxIconTheme
*icon_theme
,
82 const gchar
*icon_name
,
84 RoxIconLookupFlags flags
,
87 gboolean
rox_icon_theme_rescan_if_needed (RoxIconTheme
*icon_theme
);
89 GType
rox_icon_info_get_type (void);
90 RoxIconInfo
*rox_icon_info_copy (RoxIconInfo
*icon_info
);
91 void rox_icon_info_free (RoxIconInfo
*icon_info
);
96 #endif /* __ROX_ICON_THEME_H__ */