X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkicontheme.h;h=0b4ee405f607073146ba022443481279e3e4baeb;hb=d97861bd8b338c3d25d7ffb5496edee9eee9bfbb;hp=74f6e300777bce00666b4e85d38427410b569545;hpb=33b19ed8ab26a175b145310d5c8061efad1ebc2d;p=~andy%2Fgtk diff --git a/gtk/gtkicontheme.h b/gtk/gtkicontheme.h index 74f6e3007..0b4ee405f 100644 --- a/gtk/gtkicontheme.h +++ b/gtk/gtkicontheme.h @@ -12,25 +12,28 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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. + * License along with this library. If not, see . */ -#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) -#error "Only can be included directly." -#endif - #ifndef __GTK_ICON_THEME_H__ #define __GTK_ICON_THEME_H__ -#include +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + #include #include +#include G_BEGIN_DECLS #define GTK_TYPE_ICON_INFO (gtk_icon_info_get_type ()) +#define GTK_ICON_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ICON_INFO, GtkIconInfo)) +#define GTK_ICON_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_ICON_INFO, GtkIconInfoClass)) +#define GTK_IS_ICON_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ICON_INFO)) +#define GTK_IS_ICON_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ICON_INFO)) +#define GTK_ICON_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ICON_INFO, GtkIconInfoClass)) #define GTK_TYPE_ICON_THEME (gtk_icon_theme_get_type ()) #define GTK_ICON_THEME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ICON_THEME, GtkIconTheme)) @@ -39,17 +42,35 @@ G_BEGIN_DECLS #define GTK_IS_ICON_THEME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ICON_THEME)) #define GTK_ICON_THEME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ICON_THEME, GtkIconThemeClass)) +/** + * GtkIconInfo: + * + * Contains information found when looking up an icon in + * an icon theme. + */ typedef struct _GtkIconInfo GtkIconInfo; +typedef struct _GtkIconInfoClass GtkIconInfoClass; typedef struct _GtkIconTheme GtkIconTheme; typedef struct _GtkIconThemeClass GtkIconThemeClass; typedef struct _GtkIconThemePrivate GtkIconThemePrivate; +/** + * GtkIconTheme: + * + * Acts as a database of information about an icon theme. + * Normally, you retrieve the icon theme for a particular + * screen using gtk_icon_theme_get_for_screen() and it + * will contain information about current icon theme for + * that screen, but you can also create a new #GtkIconTheme + * object and set the icon theme name explicitely using + * gtk_icon_theme_set_custom_theme(). + */ struct _GtkIconTheme { /*< private >*/ GObject parent_instance; - GtkIconThemePrivate *GSEAL (priv); + GtkIconThemePrivate *priv; }; struct _GtkIconThemeClass @@ -57,6 +78,12 @@ struct _GtkIconThemeClass GObjectClass parent_class; void (* changed) (GtkIconTheme *icon_theme); + + /* Padding for future expansion */ + void (*_gtk_reserved1) (void); + void (*_gtk_reserved2) (void); + void (*_gtk_reserved3) (void); + void (*_gtk_reserved4) (void); }; /** @@ -87,6 +114,11 @@ typedef enum GTK_ICON_LOOKUP_FORCE_SIZE = 1 << 4 } GtkIconLookupFlags; +/** + * GTK_ICON_THEME_ERROR: + * + * The #GQuark used for #GtkIconThemeError errors. + */ #define GTK_ICON_THEME_ERROR gtk_icon_theme_error_quark () /** @@ -103,15 +135,6 @@ typedef enum { GQuark gtk_icon_theme_error_quark (void); -#ifdef G_OS_WIN32 -/* Reserve old name for DLL ABI backward compatibility */ -#define gtk_icon_theme_set_search_path gtk_icon_theme_set_search_path_utf8 -#define gtk_icon_theme_get_search_path gtk_icon_theme_get_search_path_utf8 -#define gtk_icon_theme_append_search_path gtk_icon_theme_append_search_path_utf8 -#define gtk_icon_theme_prepend_search_path gtk_icon_theme_prepend_search_path_utf8 -#define gtk_icon_info_get_filename gtk_icon_info_get_filename_utf8 -#endif - GType gtk_icon_theme_get_type (void) G_GNUC_CONST; GtkIconTheme *gtk_icon_theme_new (void); @@ -169,17 +192,70 @@ void gtk_icon_theme_add_builtin_icon (const gchar *icon_name, GdkPixbuf *pixbuf); GType gtk_icon_info_get_type (void) G_GNUC_CONST; +GDK_DEPRECATED_IN_3_8_FOR(g_object_ref) GtkIconInfo * gtk_icon_info_copy (GtkIconInfo *icon_info); +GDK_DEPRECATED_IN_3_8_FOR(g_object_unref) void gtk_icon_info_free (GtkIconInfo *icon_info); GtkIconInfo * gtk_icon_info_new_for_pixbuf (GtkIconTheme *icon_theme, GdkPixbuf *pixbuf); gint gtk_icon_info_get_base_size (GtkIconInfo *icon_info); -G_CONST_RETURN gchar *gtk_icon_info_get_filename (GtkIconInfo *icon_info); +const gchar * gtk_icon_info_get_filename (GtkIconInfo *icon_info); GdkPixbuf * gtk_icon_info_get_builtin_pixbuf (GtkIconInfo *icon_info); GdkPixbuf * gtk_icon_info_load_icon (GtkIconInfo *icon_info, GError **error); +GDK_AVAILABLE_IN_3_8 +void gtk_icon_info_load_icon_async (GtkIconInfo *icon_info, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GDK_AVAILABLE_IN_3_8 +GdkPixbuf * gtk_icon_info_load_icon_finish (GtkIconInfo *icon_info, + GAsyncResult *res, + GError **error); +GdkPixbuf * gtk_icon_info_load_symbolic (GtkIconInfo *icon_info, + const GdkRGBA *fg, + const GdkRGBA *success_color, + const GdkRGBA *warning_color, + const GdkRGBA *error_color, + gboolean *was_symbolic, + GError **error); +GDK_AVAILABLE_IN_3_8 +void gtk_icon_info_load_symbolic_async (GtkIconInfo *icon_info, + const GdkRGBA *fg, + const GdkRGBA *success_color, + const GdkRGBA *warning_color, + const GdkRGBA *error_color, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GDK_AVAILABLE_IN_3_8 +GdkPixbuf * gtk_icon_info_load_symbolic_finish (GtkIconInfo *icon_info, + GAsyncResult *res, + gboolean *was_symbolic, + GError **error); +GdkPixbuf * gtk_icon_info_load_symbolic_for_context (GtkIconInfo *icon_info, + GtkStyleContext *context, + gboolean *was_symbolic, + GError **error); +GDK_AVAILABLE_IN_3_8 +void gtk_icon_info_load_symbolic_for_context_async (GtkIconInfo *icon_info, + GtkStyleContext *context, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GDK_AVAILABLE_IN_3_8 +GdkPixbuf * gtk_icon_info_load_symbolic_for_context_finish (GtkIconInfo *icon_info, + GAsyncResult *res, + gboolean *was_symbolic, + GError **error); +GDK_DEPRECATED_IN_3_0_FOR(gtk_icon_info_load_symbol_for_context) +GdkPixbuf * gtk_icon_info_load_symbolic_for_style (GtkIconInfo *icon_info, + GtkStyle *style, + GtkStateType state, + gboolean *was_symbolic, + GError **error); void gtk_icon_info_set_raw_coordinates (GtkIconInfo *icon_info, gboolean raw_coordinates); @@ -188,7 +264,7 @@ gboolean gtk_icon_info_get_embedded_rect (GtkIconInfo *icon_info gboolean gtk_icon_info_get_attach_points (GtkIconInfo *icon_info, GdkPoint **points, gint *n_points); -G_CONST_RETURN gchar *gtk_icon_info_get_display_name (GtkIconInfo *icon_info); +const gchar * gtk_icon_info_get_display_name (GtkIconInfo *icon_info); /* Non-public methods */ void _gtk_icon_theme_check_reload (GdkDisplay *display);