1 /* 2 Copyright © 2004 Callum McKenzie 3 Copyright © 2007, 2008, 2009 Christian Persch 4 5 This library is free software: you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation, either version 3 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 /* Authors: Callum McKenzie <callum@physics.otago.ac.nz> */ 20 21 #ifndef AR_CARD_THEMES_H 22 #define AR_CARD_THEMES_H 23 24 #include <glib.h> 25 #include <gdk-pixbuf/gdk-pixbuf.h> 26 #include <gtk/gtk.h> 27 28 #include "ar-card-theme.h" 29 30 G_BEGIN_DECLS 31 32 #define AR_TYPE_CARD_THEMES (ar_card_themes_get_type ()) 33 #define AR_CARD_THEMES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AR_TYPE_CARD_THEMES, ArCardThemes)) 34 #define AR_CARD_THEMES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AR_TYPE_CARD_THEMES, ArCardThemesClass)) 35 #define AR_IS_CARD_THEMES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AR_TYPE_CARD_THEMES)) 36 #define AR_IS_CARD_THEMES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AR_TYPE_CARD_THEMES)) 37 #define AR_CARD_THEMES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AR_TYPE_CARD_THEMES, ArCardThemesClass)) 38 39 typedef struct _ArCardThemesClass ArCardThemesClass; 40 typedef struct _ArCardThemes ArCardThemes; 41 42 GType ar_card_themes_get_type (void); 43 44 ArCardThemes *ar_card_themes_new (void); 45 46 void ar_card_themes_request_themes (ArCardThemes *theme_manager); 47 48 gboolean ar_card_themes_get_themes_loaded (ArCardThemes *theme_manager); 49 50 GList *ar_card_themes_get_themes (ArCardThemes *theme_manager); 51 52 ArCardTheme *ar_card_themes_get_theme (ArCardThemes *theme_manager, 53 ArCardThemeInfo *info); 54 55 ArCardTheme *ar_card_themes_get_theme_by_name (ArCardThemes *theme_manager, 56 const char *theme_name); 57 58 ArCardTheme *ar_card_themes_get_theme_any (ArCardThemes *theme_manager); 59 60 void ar_card_themes_install_themes (ArCardThemes *theme_manager, 61 GtkWidget *parent_window, 62 guint user_time); 63 64 G_END_DECLS 65 66 #endif /* AR_CARD_THEMES_H */ 67