summaryrefslogtreecommitdiff
path: root/gtk/gtkrc.h
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2000-07-17 23:18:29 +0000
committerOwen Taylor <otaylor@src.gnome.org>2000-07-17 23:18:29 +0000
commitb8dcd76c998315201651d7caf6452c10d1b6f9b4 (patch)
tree7b218deb9d49c935e1513291b60bd62aeb3c4f61 /gtk/gtkrc.h
parent2465ad85f9d97f15841b7d22a87fe08afc19a815 (diff)
downloadgdk-pixbuf-b8dcd76c998315201651d7caf6452c10d1b6f9b4.tar.gz
Restore code to paint the background of the text area which was
Mon Jul 17 18:52:38 2000 Owen Taylor <otaylor@redhat.com> * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to paint the background of the text area which was accidentally removed at some point. * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: - Move most of the functionality from the theme vtable into GtkRcStyleClass and GtkStyleClass. The moved vtable functions were changed a bit in the move to work better in their new home. - Get rid of the engine and engine_data fields from GtkRcStyle and GtkStyle; instead the theme engine derives theme-specific subclasses of GtkRcStyle and GtkStyle - Add extra dlsym() found entry point to themes, theme_create_rc_style(). * gtk/gtkstyle.c: Copy xthickness, ythickness fields in gtk_style_real_copy. * gtk/themes.[ch]: add a function gtk_theme_engine_register_type() to register a type associated with an engine. (The engine won't be unloaded as there is an instance of the type.)
Diffstat (limited to 'gtk/gtkrc.h')
-rw-r--r--gtk/gtkrc.h32
1 files changed, 25 insertions, 7 deletions
diff --git a/gtk/gtkrc.h b/gtk/gtkrc.h
index 8fc54b1e7..cba8e1f84 100644
--- a/gtk/gtkrc.h
+++ b/gtk/gtkrc.h
@@ -71,9 +71,6 @@ struct _GtkRcStyle
gint xthickness;
gint ythickness;
- GtkThemeEngine *engine;
- gpointer engine_data;
-
/*< private >*/
/* list of RC style lists including this RC style */
@@ -84,6 +81,27 @@ struct _GtkRcStyleClass
{
GObjectClass parent_class;
+ /* Create an empty RC style of the same type as this RC style.
+ * The default implementation, which does
+ * g_object_new (G_OBJECT_TYPE (style), NULL);
+ * should work in most cases.
+ */
+ GtkRcStyle *(*clone) (GtkRcStyle *rc_style);
+
+ /* Fill in engine specific parts of GtkRcStyle by parsing contents
+ * of brackets. Returns G_TOKEN_NONE if succesful, otherwise returns
+ * the token it expected but didn't get.
+ */
+ guint (*parse) (GtkRcStyle *rc_style, GScanner *scanner);
+
+ /* Combine RC style data from src into dest. If overriden, this
+ * function should chain to the parent.
+ */
+ void (*merge) (GtkRcStyle *dest, GtkRcStyle *src);
+
+ /* Create an empty style suitable to this RC style
+ */
+ GtkStyle *(*create_style) (GtkRcStyle *rc_style);
};
void gtk_rc_init (void);
@@ -101,10 +119,10 @@ void gtk_rc_add_widget_class_style (GtkRcStyle *rc_style,
void gtk_rc_add_class_style (GtkRcStyle *rc_style,
const gchar *pattern);
-GType gtk_rc_style_get_type (void);
-GtkRcStyle* gtk_rc_style_new (void);
-void gtk_rc_style_ref (GtkRcStyle *rc_style);
-void gtk_rc_style_unref (GtkRcStyle *rc_style);
+GType gtk_rc_style_get_type (void);
+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