summaryrefslogtreecommitdiff
path: root/gtk/gtkrc.h
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkrc.h')
-rw-r--r--gtk/gtkrc.h48
1 files changed, 43 insertions, 5 deletions
diff --git a/gtk/gtkrc.h b/gtk/gtkrc.h
index 39bb324f08..8600f2138e 100644
--- a/gtk/gtkrc.h
+++ b/gtk/gtkrc.h
@@ -23,25 +23,52 @@
#include <gtk/gtkstyle.h>
#include <gtk/gtkwidget.h>
-
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
+typedef enum {
+ GTK_RC_FG = 1 << 0,
+ GTK_RC_BG = 1 << 1,
+ GTK_RC_TEXT = 1 << 2,
+ GTK_RC_BASE = 1 << 3
+} GtkRcFlags;
+
+struct _GtkRcStyle
+{
+ char *name;
+ char *font_name;
+ char *fontset_name;
+ char *bg_pixmap_name[5];
+
+ GtkRcFlags color_flags[5];
+ GdkColor fg[5];
+ GdkColor bg[5];
+ GdkColor text[5];
+ GdkColor base[5];
+
+ GtkThemeEngine *engine;
+ gpointer engine_data;
+
+ /* Private */
+ guint ref_count;
+};
void gtk_rc_init (void);
void gtk_rc_parse (const gchar *filename);
void gtk_rc_parse_string (const gchar *rc_string);
gboolean gtk_rc_reparse_all (void);
GtkStyle* gtk_rc_get_style (GtkWidget *widget);
-void gtk_rc_add_widget_name_style (GtkStyle *style,
+void gtk_rc_add_widget_name_style (GtkRcStyle *rc_style,
const gchar *pattern);
-void gtk_rc_add_widget_class_style (GtkStyle *style,
+void gtk_rc_add_widget_class_style (GtkRcStyle *rc_style,
const gchar *pattern);
-void gtk_rc_add_class_style (GtkStyle *style,
+void gtk_rc_add_class_style (GtkRcStyle *rc_style,
const gchar *pattern);
-
+GtkRcStyle *gtk_rc_style_new (void);
+void gtk_rc_style_ref (GtkRcStyle *rc_style);
+void gtk_rc_style_unref (GtkRcStyle *rc_style);
/* Tell gtkrc to use a custom routine to load images specified in rc files instead of
* the default xpm-only loader
@@ -53,6 +80,15 @@ typedef GdkPixmap * (*GtkImageLoader) (GdkWindow *window,
const gchar *filename);
void gtk_rc_set_image_loader(GtkImageLoader loader);
+GdkPixmap *gtk_rc_load_image (GdkColormap *colormap,
+ GdkColor *transparent_color,
+ const gchar *filename);
+gchar *gtk_rc_find_pixmap_in_path (GScanner *scanner,
+ gchar *pixmap_file);
+gchar *gtk_rc_find_module_in_path (GScanner *scanner,
+ gchar *module_file);
+gchar *gtk_rc_get_theme_dir(void);
+gchar *gtk_rc_get_module_dir(void);
/* private functions/definitions */
typedef enum {
@@ -82,6 +118,8 @@ typedef enum {
GTK_RC_TOKEN_APPLICATION,
GTK_RC_TOKEN_RC,
GTK_RC_TOKEN_HIGHEST,
+ GTK_RC_TOKEN_ENGINE,
+ GTK_RC_TOKEN_MODULE_PATH,
GTK_RC_TOKEN_LAST
} GtkRcTokenType;