diff options
author | Owen Taylor <otaylor@redhat.com> | 2000-07-17 23:18:29 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2000-07-17 23:18:29 +0000 |
commit | b8dcd76c998315201651d7caf6452c10d1b6f9b4 (patch) | |
tree | 7b218deb9d49c935e1513291b60bd62aeb3c4f61 /gtk/gtkrc.h | |
parent | 2465ad85f9d97f15841b7d22a87fe08afc19a815 (diff) | |
download | gtk+-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.h | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/gtk/gtkrc.h b/gtk/gtkrc.h index 8fc54b1e7b..cba8e1f841 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 |