summaryrefslogtreecommitdiff
path: root/gtk/gtkthemes.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/gtkthemes.h
parent2465ad85f9d97f15841b7d22a87fe08afc19a815 (diff)
downloadgtk+-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/gtkthemes.h')
-rw-r--r--gtk/gtkthemes.h59
1 files changed, 9 insertions, 50 deletions
diff --git a/gtk/gtkthemes.h b/gtk/gtkthemes.h
index a9903606b7..66111afc63 100644
--- a/gtk/gtkthemes.h
+++ b/gtk/gtkthemes.h
@@ -37,56 +37,15 @@
extern "C" {
#endif /* __cplusplus */
-
-struct _GtkThemeEngine {
- /* Fill in engine_data pointer in a GtkRcStyle by parsing contents
- * of brackets. Returns G_TOKEN_NONE if succesfull, otherwise returns
- * the token it expected but didn't get.
- */
- guint (*parse_rc_style) (GScanner *scanner, GtkRcStyle *rc_style);
-
- /* Combine RC style data from src into dest. If
- * dest->engine_data is NULL, it should be initialized to default
- * values.
- */
- void (*merge_rc_style) (GtkRcStyle *dest, GtkRcStyle *src);
-
- /* Fill in style->engine_data from rc_style->engine_data */
- void (*rc_style_to_style) (GtkStyle *style, GtkRcStyle *rc_style);
-
- /* Duplicate engine_data from src to dest. The engine_data will
- * not subsequently be modified except by a call to realize_style()
- * so if realize_style() does nothing, refcounting is appropriate.
- */
- void (*duplicate_style) (GtkStyle *dest, GtkStyle *src);
-
- /* If style needs to initialize for a particular colormap/depth
- * combination, do it here. style->colormap/style->depth will have
- * been set at this point, and style itself initialized for
- * the colormap
- */
- void (*realize_style) (GtkStyle *new_style);
-
- /* If style needs to clean up for a particular colormap/depth
- * combination, do it here.
- */
- void (*unrealize_style) (GtkStyle *new_style);
-
- /* Clean up rc_style->engine_data before rc_style is destroyed */
- void (*destroy_rc_style) (GtkRcStyle *rc_style);
-
- /* Clean up style->engine_data before style is destroyed */
- void (*destroy_style) (GtkStyle *style);
-
- void (*set_background) (GtkStyle *style,
- GdkWindow *window,
- GtkStateType state_type);
-};
-
-GtkThemeEngine *gtk_theme_engine_get (const gchar *name);
-void gtk_theme_engine_ref (GtkThemeEngine *engine);
-void gtk_theme_engine_unref (GtkThemeEngine *engine);
-
+GtkThemeEngine * gtk_theme_engine_get (const gchar *name);
+void gtk_theme_engine_ref (GtkThemeEngine *engine);
+void gtk_theme_engine_unref (GtkThemeEngine *engine);
+GtkRcStyle * gtk_theme_engine_create_rc_style (GtkThemeEngine *engine);
+
+GType gtk_theme_engine_register_type (GtkThemeEngine *engine,
+ GType parent_type,
+ const gchar *type_name,
+ const GTypeInfo *type_info);
#ifdef __cplusplus