]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkstyle.h
Typo fix.
[~andy/gtk] / gtk / gtkstyle.h
index 0a53beb2a1deca6ca4339ce217d1fd133479ddf1..d07a126d37751259be4fdf276696ffb25988fd4b 100644 (file)
@@ -2,54 +2,77 @@
  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
  *
  * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
+ * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
  * version 2 of the License, or (at your option) any later version.
  *
  * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.         See the GNU
- * Library General Public License for more details.
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU Library General Public
+ * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+/*
+ * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
+ * file for a list of people on the GTK+ Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 #ifndef __GTK_STYLE_H__
 #define __GTK_STYLE_H__
 
 
 #include <gdk/gdk.h>
 #include <gtk/gtkenums.h>
+#include <pango/pango.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif /* __cplusplus */
 
-typedef struct _GtkStyle       GtkStyle;
-typedef struct _GtkStyleClass  GtkStyleClass;
+#define GTK_TYPE_STYLE              (gtk_style_get_type ())
+#define GTK_STYLE(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), GTK_TYPE_STYLE, GtkStyle))
+#define GTK_STYLE_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_STYLE, GtkStyleClass))
+#define GTK_IS_STYLE(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), GTK_TYPE_STYLE))
+#define GTK_IS_STYLE_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_STYLE))
+#define GTK_STYLE_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_STYLE, GtkStyleClass))
+
+#define GTK_TYPE_BORDER             (gtk_border_get_type ())
 
 /* Some forward declarations needed to rationalize the header
  * files.
  */
-
+typedef struct _GtkBorder      GtkBorder;
+typedef struct _GtkStyle       GtkStyle;
+typedef struct _GtkStyleClass  GtkStyleClass;
 typedef struct _GtkThemeEngine GtkThemeEngine;
 typedef struct _GtkRcStyle     GtkRcStyle;
+typedef struct _GtkIconSet     GtkIconSet;
+typedef struct _GtkIconSource  GtkIconSource;
+typedef struct _GtkRcProperty  GtkRcProperty;
+typedef gboolean (*GtkRcPropertyParser) (const GParamSpec *pspec,
+                                        const GString    *rc_string,
+                                        GValue           *property_value);
 
 /* We make this forward declaration here, since we pass
- * GtkWidgt's to the draw functions.
+ * GtkWidget's to the draw functions.
  */
 typedef struct _GtkWidget      GtkWidget;
 
-/* This is used for having dynamic style changing stuff */
-/* fg, bg, light, dark, mid, text, base */
-#define GTK_STYLE_NUM_STYLECOLORS() 7*5
-
-#define        GTK_STYLE_ATTACHED(style)       (((GtkStyle*)(style))->attach_count > 0)
+#define GTK_STYLE_ATTACHED(style)      (GTK_STYLE (style)->attach_count > 0)
 
 struct _GtkStyle
 {
+  GObject parent_instance;
+
+  /*< public >*/
+  
   GdkColor fg[5];
   GdkColor bg[5];
   GdkColor light[5];
@@ -57,11 +80,15 @@ struct _GtkStyle
   GdkColor mid[5];
   GdkColor text[5];
   GdkColor base[5];
-
+  GdkColor text_aa[5];         /* Halfway between text/base */
+  
   GdkColor black;
   GdkColor white;
-  GdkFont *font;
-
+  PangoFontDescription *font_desc;
+  
+  gint xthickness;
+  gint ythickness;
+  
   GdkGC *fg_gc[5];
   GdkGC *bg_gc[5];
   GdkGC *light_gc[5];
@@ -69,695 +96,805 @@ struct _GtkStyle
   GdkGC *mid_gc[5];
   GdkGC *text_gc[5];
   GdkGC *base_gc[5];
+  GdkGC *text_aa_gc[5];
   GdkGC *black_gc;
   GdkGC *white_gc;
-
+  
   GdkPixmap *bg_pixmap[5];
 
-  /* Private */
-  gint ref_count;
+  /*< private >*/
+  
   gint attach_count;
-
+  
   gint depth;
   GdkColormap *colormap;
+  GdkFont *private_font;
+  PangoFontDescription *private_font_desc; /* Font description for style->private_font or %NULL */
+  
+  /* the RcStyle from which this style was created */
+  GtkRcStyle    *rc_style;
 
-  GtkStyleClass  *klass;        /* Not private - reorder me */
-  GtkThemeEngine *engine;
-
-  gpointer        engine_data;
-
-  GtkRcStyle     *rc_style;    /* the Rc style from which this style
-                                * was created */
-  GSList         *styles;
+  GSList        *styles;         /* of type GtkStyle* */
+  GArray        *property_cache;
+  GSList         *icon_factories; /* of type GtkIconFactory* */
 };
 
 struct _GtkStyleClass
 {
-  gint xthickness;
-  gint ythickness;
+  GObjectClass parent_class;
+
+  /* Initialize for a particular colormap/depth
+   * combination. style->colormap/style->depth will have
+   * been set at this point. Will typically chain to parent.
+   */
+  void (*realize)               (GtkStyle               *style);
+
+  /* Clean up for a particular colormap/depth combination. Will
+   * typically chain to parent.
+   */
+  void (*unrealize)             (GtkStyle               *style);
 
-  void (*draw_hline)   (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x1,
-                       gint           x2,
-                       gint           y);
-  void (*draw_vline)   (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           y1,
-                       gint           y2,
-                       gint           x);
-  void (*draw_shadow)  (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-  void (*draw_polygon) (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       GdkPoint      *point,
-                       gint           npoints,
-                       gboolean       fill);
-  void (*draw_arrow)   (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       GtkArrowType   arrow_type,
-                       gboolean       fill,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-  void (*draw_diamond) (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-  void (*draw_oval)    (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-  void (*draw_string)  (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       const gchar   *string);
-  void (*draw_box)     (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-  void (*draw_flat_box) (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-  void (*draw_check)   (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-  void (*draw_option)  (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-  void (*draw_cross)   (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-  void (*draw_ramp)    (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       GtkArrowType   arrow_type,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-  void (*draw_tab)     (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height); 
-  void (*draw_shadow_gap) (GtkStyle       *style,
-                          GdkWindow      *window,
-                          GtkStateType    state_type,
-                          GtkShadowType   shadow_type,
-                          GdkRectangle   *area,
-                          GtkWidget      *widget,
-                          gchar          *detail,
-                          gint            x,
-                          gint            y,
-                          gint            width,
-                          gint            height,
-                          GtkPositionType gap_side,
-                          gint            gap_x,
-                          gint            gap_width);
-  void (*draw_box_gap) (GtkStyle       *style,
-                       GdkWindow      *window,
-                       GtkStateType    state_type,
-                       GtkShadowType   shadow_type,
-                       GdkRectangle   *area,
-                       GtkWidget      *widget,
-                       gchar          *detail,
-                       gint            x,
-                       gint            y,
-                       gint            width,
-                       gint            height,
-                       GtkPositionType gap_side,
-                       gint            gap_x,
-                       gint            gap_width);
- void (*draw_extension) (GtkStyle       *style,
-                        GdkWindow      *window,
-                        GtkStateType    state_type,
-                        GtkShadowType   shadow_type,
-                        GdkRectangle   *area,
-                        GtkWidget      *widget,
-                        gchar          *detail,
-                        gint            x,
-                        gint            y,
-                        gint            width,
-                        gint            height,
-                        GtkPositionType gap_side);
-   void (*draw_focus) (GtkStyle      *style,
-                      GdkWindow     *window,
-                      GdkRectangle  *area,
-                      GtkWidget     *widget,
-                      gchar         *detail,
-                      gint           x,
-                      gint           y,
-                      gint           width,
-                      gint           height);
-   void (*draw_slider)  (GtkStyle      *style,
-                        GdkWindow     *window,
-                        GtkStateType   state_type,
-                        GtkShadowType  shadow_type,
-                        GdkRectangle  *area,
-                        GtkWidget     *widget,
-                        gchar         *detail,
-                        gint           x,
-                        gint           y,
-                        gint           width,
-                        gint           height,
-                        GtkOrientation orientation);
-   void (*draw_handle)  (GtkStyle      *style,
-                        GdkWindow     *window,
-                        GtkStateType   state_type,
-                        GtkShadowType  shadow_type,
-                        GdkRectangle  *area,
-                        GtkWidget     *widget,
-                        gchar         *detail,
-                        gint           x,
-                        gint           y,
-                        gint           width,
-                        gint           height,
-                        GtkOrientation orientation);
+  /* Make style an exact duplicate of src.
+   */
+  void (*copy)                  (GtkStyle               *style,
+                                GtkStyle               *src);
+
+  /* Create an empty style of the same type as this style.
+   * The default implementation, which does
+   * g_object_new (G_OBJECT_TYPE (style), NULL);
+   * should work in most cases.
+   */
+  GtkStyle *(*clone)             (GtkStyle               *style);
+
+  /* Initialize the GtkStyle with the values in the GtkRcStyle.
+   * should chain to the parent implementation.
+   */
+  void     (*init_from_rc)      (GtkStyle               *style,
+                                GtkRcStyle             *rc_style);
+
+  void (*set_background)        (GtkStyle               *style,
+                                GdkWindow              *window,
+                                GtkStateType            state_type);
+
+
+  GdkPixbuf * (* render_icon)   (GtkStyle               *style,
+                                 const GtkIconSource    *source,
+                                 GtkTextDirection        direction,
+                                 GtkStateType            state,
+                                 GtkIconSize             size,
+                                 GtkWidget              *widget,
+                                 const gchar            *detail);
+  
+  /* Drawing functions
+   */
+  
+  void (*draw_hline)           (GtkStyle               *style,
+                                GdkWindow              *window,
+                                GtkStateType            state_type,
+                                GdkRectangle           *area,
+                                GtkWidget              *widget,
+                                const gchar            *detail,
+                                gint                    x1,
+                                gint                    x2,
+                                gint                    y);
+  void (*draw_vline)           (GtkStyle               *style,
+                                GdkWindow              *window,
+                                GtkStateType            state_type,
+                                GdkRectangle           *area,
+                                GtkWidget              *widget,
+                                const gchar            *detail,
+                                gint                    y1,
+                                gint                    y2,
+                                gint                    x);
+  void (*draw_shadow)          (GtkStyle               *style,
+                                GdkWindow              *window,
+                                GtkStateType            state_type,
+                                GtkShadowType           shadow_type,
+                                GdkRectangle           *area,
+                                GtkWidget              *widget,
+                                const gchar            *detail,
+                                gint                    x,
+                                gint                    y,
+                                gint                    width,
+                                gint                    height);
+  void (*draw_polygon)         (GtkStyle               *style,
+                                GdkWindow              *window,
+                                GtkStateType            state_type,
+                                GtkShadowType           shadow_type,
+                                GdkRectangle           *area,
+                                GtkWidget              *widget,
+                                const gchar            *detail,
+                                GdkPoint               *point,
+                                gint                    npoints,
+                                gboolean                fill);
+  void (*draw_arrow)           (GtkStyle               *style,
+                                GdkWindow              *window,
+                                GtkStateType            state_type,
+                                GtkShadowType           shadow_type,
+                                GdkRectangle           *area,
+                                GtkWidget              *widget,
+                                const gchar            *detail,
+                                GtkArrowType            arrow_type,
+                                gboolean                fill,
+                                gint                    x,
+                                gint                    y,
+                                gint                    width,
+                                gint                    height);
+  void (*draw_diamond)         (GtkStyle               *style,
+                                GdkWindow              *window,
+                                GtkStateType            state_type,
+                                GtkShadowType           shadow_type,
+                                GdkRectangle           *area,
+                                GtkWidget              *widget,
+                                const gchar            *detail,
+                                gint                    x,
+                                gint                    y,
+                                gint                    width,
+                                gint                    height);
+  void (*draw_string)          (GtkStyle               *style,
+                                GdkWindow              *window,
+                                GtkStateType            state_type,
+                                GdkRectangle           *area,
+                                GtkWidget              *widget,
+                                const gchar            *detail,
+                                gint                    x,
+                                gint                    y,
+                                const gchar            *string);
+  void (*draw_box)             (GtkStyle               *style,
+                                GdkWindow              *window,
+                                GtkStateType            state_type,
+                                GtkShadowType           shadow_type,
+                                GdkRectangle           *area,
+                                GtkWidget              *widget,
+                                const gchar            *detail,
+                                gint                    x,
+                                gint                    y,
+                                gint                    width,
+                                gint                    height);
+  void (*draw_flat_box)                (GtkStyle               *style,
+                                GdkWindow              *window,
+                                GtkStateType            state_type,
+                                GtkShadowType           shadow_type,
+                                GdkRectangle           *area,
+                                GtkWidget              *widget,
+                                const gchar            *detail,
+                                gint                    x,
+                                gint                    y,
+                                gint                    width,
+                                gint                    height);
+  void (*draw_check)           (GtkStyle               *style,
+                                GdkWindow              *window,
+                                GtkStateType            state_type,
+                                GtkShadowType           shadow_type,
+                                GdkRectangle           *area,
+                                GtkWidget              *widget,
+                                const gchar            *detail,
+                                gint                    x,
+                                gint                    y,
+                                gint                    width,
+                                gint                    height);
+  void (*draw_option)          (GtkStyle               *style,
+                                GdkWindow              *window,
+                                GtkStateType            state_type,
+                                GtkShadowType           shadow_type,
+                                GdkRectangle           *area,
+                                GtkWidget              *widget,
+                                const gchar            *detail,
+                                gint                    x,
+                                gint                    y,
+                                gint                    width,
+                                gint                    height);
+  void (*draw_tab)             (GtkStyle               *style,
+                                GdkWindow              *window,
+                                GtkStateType            state_type,
+                                GtkShadowType           shadow_type,
+                                GdkRectangle           *area,
+                                GtkWidget              *widget,
+                                const gchar            *detail,
+                                gint                    x,
+                                gint                    y,
+                                gint                    width,
+                                gint                    height); 
+  void (*draw_shadow_gap)      (GtkStyle               *style,
+                                GdkWindow              *window,
+                                GtkStateType            state_type,
+                                GtkShadowType           shadow_type,
+                                GdkRectangle           *area,
+                                GtkWidget              *widget,
+                                const gchar            *detail,
+                                gint                    x,
+                                gint                    y,
+                                gint                    width,
+                                gint                    height,
+                                GtkPositionType         gap_side,
+                                gint                    gap_x,
+                                gint                    gap_width);
+  void (*draw_box_gap)         (GtkStyle               *style,
+                                GdkWindow              *window,
+                                GtkStateType            state_type,
+                                GtkShadowType           shadow_type,
+                                GdkRectangle           *area,
+                                GtkWidget              *widget,
+                                const gchar            *detail,
+                                gint                    x,
+                                gint                    y,
+                                gint                    width,
+                                gint                    height,
+                                GtkPositionType         gap_side,
+                                gint                    gap_x,
+                                gint                    gap_width);
+  void (*draw_extension)       (GtkStyle               *style,
+                                GdkWindow              *window,
+                                GtkStateType            state_type,
+                                GtkShadowType           shadow_type,
+                                GdkRectangle           *area,
+                                GtkWidget              *widget,
+                                const gchar            *detail,
+                                gint                    x,
+                                gint                    y,
+                                gint                    width,
+                                gint                    height,
+                                GtkPositionType         gap_side);
+  void (*draw_focus)           (GtkStyle               *style,
+                                GdkWindow              *window,
+                                 GtkStateType            state_type,
+                                GdkRectangle           *area,
+                                GtkWidget              *widget,
+                                const gchar            *detail,
+                                gint                    x,
+                                gint                    y,
+                                gint                    width,
+                                gint                    height);
+  void (*draw_slider)          (GtkStyle               *style,
+                                GdkWindow              *window,
+                                GtkStateType            state_type,
+                                GtkShadowType           shadow_type,
+                                GdkRectangle           *area,
+                                GtkWidget              *widget,
+                                const gchar            *detail,
+                                gint                    x,
+                                gint                    y,
+                                gint                    width,
+                                gint                    height,
+                                GtkOrientation          orientation);
+  void (*draw_handle)          (GtkStyle               *style,
+                                GdkWindow              *window,
+                                GtkStateType            state_type,
+                                GtkShadowType           shadow_type,
+                                GdkRectangle           *area,
+                                GtkWidget              *widget,
+                                const gchar            *detail,
+                                gint                    x,
+                                gint                    y,
+                                gint                    width,
+                                gint                    height,
+                                GtkOrientation          orientation);
+
+  void (*draw_expander)                (GtkStyle               *style,
+                                GdkWindow              *window,
+                                GtkStateType            state_type,
+                                GdkRectangle           *area,
+                                GtkWidget              *widget,
+                                const gchar            *detail,
+                                gint                    x,
+                                gint                    y,
+                                 GtkExpanderStyle        expander_style);
+  void (*draw_layout)          (GtkStyle               *style,
+                                GdkWindow              *window,
+                                GtkStateType            state_type,
+                                gboolean                use_text,
+                                GdkRectangle           *area,
+                                GtkWidget              *widget,
+                                const gchar            *detail,
+                                gint                    x,
+                                gint                    y,
+                                 PangoLayout            *layout);
+  void (*draw_resize_grip)      (GtkStyle              *style,
+                                GdkWindow              *window,
+                                GtkStateType            state_type,
+                                GdkRectangle           *area,
+                                GtkWidget              *widget,
+                                const gchar            *detail,
+                                 GdkWindowEdge           edge,
+                                gint                    x,
+                                gint                    y,
+                                gint                    width,
+                                gint                    height);
+
+  /* Padding for future expansion */
+  void (*_gtk_reserved1)  (void);
+  void (*_gtk_reserved2)  (void);
+  void (*_gtk_reserved3)  (void);
+  void (*_gtk_reserved4)  (void);
+  void (*_gtk_reserved5)  (void);
+  void (*_gtk_reserved6)  (void);
+  void (*_gtk_reserved7)  (void);
+  void (*_gtk_reserved8)  (void);
+  void (*_gtk_reserved9)  (void);
+  void (*_gtk_reserved10) (void);
+  void (*_gtk_reserved11) (void);
+  void (*_gtk_reserved12) (void);
+};
+
+struct _GtkBorder
+{
+  gint left;
+  gint right;
+  gint top;
+  gint bottom;
 };
 
-GtkStyle* gtk_style_new                   (void);
-GtkStyle* gtk_style_copy          (GtkStyle     *style);
-GtkStyle* gtk_style_attach        (GtkStyle     *style,
-                                   GdkWindow    *window);
-void     gtk_style_detach         (GtkStyle     *style);
-GtkStyle* gtk_style_ref                   (GtkStyle     *style);
-void     gtk_style_unref          (GtkStyle     *style);
-void     gtk_style_set_background (GtkStyle     *style,
-                                   GdkWindow    *window,
-                                   GtkStateType  state_type);
-void      gtk_style_apply_default_pixmap(GtkStyle     *style,
-                                        GdkWindow    *window, 
-                                        GtkStateType  state_type, 
-                                        GdkRectangle *area, 
-                                        gint x, 
-                                        gint y, 
-                                        gint width, 
-                                        gint height);
-      
-void gtk_draw_hline   (GtkStyle             *style,
-                      GdkWindow     *window,
-                      GtkStateType   state_type,
-                      gint           x1,
-                      gint           x2,
-                      gint           y);
-void gtk_draw_vline   (GtkStyle             *style,
-                      GdkWindow     *window,
-                      GtkStateType   state_type,
-                      gint           y1,
-                      gint           y2,
-                      gint           x);
-void gtk_draw_shadow  (GtkStyle             *style,
-                      GdkWindow     *window,
-                      GtkStateType   state_type,
-                      GtkShadowType  shadow_type,
-                      gint           x,
-                      gint           y,
-                      gint           width,
-                      gint           height);
-void gtk_draw_polygon (GtkStyle             *style,
-                      GdkWindow     *window,
-                      GtkStateType   state_type,
-                      GtkShadowType  shadow_type,
-                      GdkPoint      *points,
-                      gint           npoints,
-                      gboolean       fill);
-void gtk_draw_arrow   (GtkStyle             *style,
-                      GdkWindow     *window,
-                      GtkStateType   state_type,
-                      GtkShadowType  shadow_type,
-                      GtkArrowType   arrow_type,
-                      gboolean       fill,
-                      gint           x,
-                      gint           y,
-                      gint           width,
-                      gint           height);
-void gtk_draw_diamond (GtkStyle             *style,
-                      GdkWindow     *window,
-                      GtkStateType   state_type,
-                      GtkShadowType  shadow_type,
-                      gint           x,
-                      gint           y,
-                      gint           width,
-                      gint           height);
-void gtk_draw_oval    (GtkStyle             *style,
-                      GdkWindow     *window,
-                      GtkStateType   state_type,
-                      GtkShadowType  shadow_type,
-                      gint           x,
-                      gint           y,
-                      gint           width,
-                      gint           height);
-void gtk_draw_string  (GtkStyle             *style,
-                      GdkWindow     *window,
-                      GtkStateType   state_type,
-                      gint           x,
-                      gint           y,
-                      const gchar   *string);
-void gtk_draw_box     (GtkStyle             *style,
-                      GdkWindow     *window,
-                      GtkStateType   state_type,
-                      GtkShadowType  shadow_type,
-                      gint           x,
-                      gint           y,
-                      gint           width,
-                      gint           height);
-void gtk_draw_flat_box (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-void gtk_draw_check   (GtkStyle      *style,
-                      GdkWindow     *window,
-                      GtkStateType   state_type,
-                      GtkShadowType  shadow_type,
-                      gint           x,
-                      gint           y,
-                      gint           width,
-                      gint           height);
-void gtk_draw_option  (GtkStyle      *style,
-                      GdkWindow     *window,
-                      GtkStateType   state_type,
-                      GtkShadowType  shadow_type,
-                      gint           x,
-                      gint           y,
-                      gint           width,
-                      gint           height);
-void gtk_draw_cross   (GtkStyle      *style,
-                      GdkWindow     *window,
-                      GtkStateType   state_type,
-                      GtkShadowType  shadow_type,
-                      gint           x,
-                      gint           y,
-                      gint           width,
-                      gint           height);
-void gtk_draw_ramp    (GtkStyle      *style,
-                      GdkWindow     *window,
-                      GtkStateType   state_type,
-                      GtkShadowType  shadow_type,
-                      GtkArrowType   arrow_type,
-                      gint           x,
-                      gint           y,
-                      gint           width,
-                      gint           height);
-void gtk_draw_tab     (GtkStyle      *style,
-                      GdkWindow     *window,
-                      GtkStateType   state_type,
-                      GtkShadowType  shadow_type,
-                      gint           x,
-                      gint           y,
-                      gint           width,
-                      gint           height);
-void gtk_draw_shadow_gap (GtkStyle       *style,
-                         GdkWindow      *window,
-                         GtkStateType    state_type,
-                         GtkShadowType   shadow_type,
-                         gint            x,
-                         gint            y,
-                         gint            width,
-                         gint            height,
-                         GtkPositionType gap_side,
-                         gint            gap_x,
-                         gint            gap_width);
-void gtk_draw_box_gap (GtkStyle       *style,
-                      GdkWindow      *window,
-                      GtkStateType    state_type,
-                      GtkShadowType   shadow_type,
-                      gint            x,
-                      gint            y,
-                      gint            width,
-                      gint            height,
-                      GtkPositionType gap_side,
-                      gint            gap_x,
-                      gint            gap_width);
-void gtk_draw_extension (GtkStyle       *style,
-                        GdkWindow      *window,
-                        GtkStateType    state_type,
-                        GtkShadowType   shadow_type,
-                        gint            x,
-                        gint            y,
-                        gint            width,
-                        gint            height,
-                        GtkPositionType gap_side);
-void gtk_draw_focus   (GtkStyle      *style,
-                      GdkWindow     *window,
-                      gint           x,
-                      gint           y,
-                      gint           width,
-                      gint           height);
-void gtk_draw_slider  (GtkStyle      *style,
-                      GdkWindow     *window,
-                      GtkStateType   state_type,
-                      GtkShadowType  shadow_type,
-                      gint           x,
-                      gint           y,
-                      gint           width,
-                      gint           height,
-                      GtkOrientation orientation);
-void gtk_draw_handle  (GtkStyle      *style,
-                      GdkWindow     *window,
-                      GtkStateType   state_type,
-                      GtkShadowType  shadow_type,
-                      gint           x,
-                      gint           y,
-                      gint           width,
-                      gint           height,
-                      GtkOrientation orientation);
-
-void gtk_paint_hline   (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x1,
-                       gint           x2,
-                       gint           y);
-void gtk_paint_vline   (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           y1,
-                       gint           y2,
-                       gint           x);
-void gtk_paint_shadow  (GtkStyle     *style,
-                       GdkWindow    *window,
-                       GtkStateType  state_type,
-                       GtkShadowType shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-void gtk_paint_polygon (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       GdkPoint      *points,
-                       gint           npoints,
-                       gboolean       fill);
-void gtk_paint_arrow   (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       GtkArrowType   arrow_type,
-                       gboolean       fill,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-void gtk_paint_diamond (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-void gtk_paint_oval    (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-void gtk_paint_string  (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       const gchar   *string);
-void gtk_paint_box     (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-void gtk_paint_flat_box (GtkStyle      *style,
-                        GdkWindow     *window,
-                        GtkStateType   state_type,
-                        GtkShadowType  shadow_type,
-                        GdkRectangle  *area,
-                        GtkWidget     *widget,
-                        gchar         *detail,
-                        gint           x,
-                        gint           y,
-                        gint           width,
-                        gint           height);
-void gtk_paint_check   (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-void gtk_paint_option  (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-void gtk_paint_cross   (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-void gtk_paint_ramp    (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       GtkArrowType   arrow_type,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-void gtk_paint_tab     (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-void gtk_paint_shadow_gap (GtkStyle       *style,
-                          GdkWindow      *window,
-                          GtkStateType    state_type,
-                          GtkShadowType   shadow_type,
-                          GdkRectangle   *area,
-                          GtkWidget      *widget,
-                          gchar          *detail,
-                          gint            x,
-                          gint            y,
-                          gint            width,
-                          gint            height,
-                          GtkPositionType gap_side,
-                          gint            gap_x,
-                          gint            gap_width);
-void gtk_paint_box_gap (GtkStyle       *style,
-                       GdkWindow      *window,
-                       GtkStateType    state_type,
-                       GtkShadowType   shadow_type,
-                       GdkRectangle   *area,
-                       GtkWidget      *widget,
-                       gchar          *detail,
-                       gint            x,
-                       gint            y,
-                       gint            width,
-                       gint            height,
-                       GtkPositionType gap_side,
-                       gint            gap_x,
-                       gint            gap_width);
-void gtk_paint_extension (GtkStyle       *style,
-                         GdkWindow      *window,
-                         GtkStateType    state_type,
-                         GtkShadowType   shadow_type,
-                         GdkRectangle   *area,
-                         GtkWidget      *widget,
-                         gchar          *detail,
-                         gint            x,
-                         gint            y,
-                         gint            width,
-                         gint            height,
-                         GtkPositionType gap_side);
-void gtk_paint_focus   (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height);
-void gtk_paint_slider  (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height,
-                       GtkOrientation orientation);
-void gtk_paint_handle  (GtkStyle      *style,
-                       GdkWindow     *window,
-                       GtkStateType   state_type,
-                       GtkShadowType  shadow_type,
-                       GdkRectangle  *area,
-                       GtkWidget     *widget,
-                       gchar         *detail,
-                       gint           x,
-                       gint           y,
-                       gint           width,
-                       gint           height,
-                       GtkOrientation orientation);
-      
+GType     gtk_style_get_type                 (void) G_GNUC_CONST;
+GtkStyle* gtk_style_new                             (void);
+GtkStyle* gtk_style_copy                    (GtkStyle     *style);
+GtkStyle* gtk_style_attach                  (GtkStyle     *style,
+                                             GdkWindow    *window);
+void     gtk_style_detach                   (GtkStyle     *style);
+
+#ifndef GTK_DISABLE_DEPRECATED
+GtkStyle* gtk_style_ref                             (GtkStyle     *style);
+void     gtk_style_unref                    (GtkStyle     *style);
+
+#ifndef GDK_MULTIHEAD_SAFE
+GdkFont * gtk_style_get_font                 (GtkStyle     *style);
+#endif
+GdkFont * gtk_style_get_font_for_display     (GdkDisplay   *display,
+                                             GtkStyle     *style);
+void      gtk_style_set_font                 (GtkStyle     *style,
+                                             GdkFont      *font);
+#endif /* GTK_DISABLE_DEPRECATED */
+
+void     gtk_style_set_background           (GtkStyle     *style,
+                                             GdkWindow    *window,
+                                             GtkStateType  state_type);
+void     gtk_style_apply_default_background (GtkStyle     *style,
+                                             GdkWindow    *window,
+                                             gboolean      set_bg,
+                                             GtkStateType  state_type, 
+                                             GdkRectangle *area, 
+                                             gint          x, 
+                                             gint          y, 
+                                             gint          width, 
+                                             gint          height);
+
+GtkIconSet* gtk_style_lookup_icon_set (GtkStyle            *style,
+                                       const gchar         *stock_id);
+GdkPixbuf*  gtk_style_render_icon     (GtkStyle            *style,
+                                       const GtkIconSource *source,
+                                       GtkTextDirection     direction,
+                                       GtkStateType         state,
+                                       GtkIconSize          size,
+                                       GtkWidget           *widget,
+                                       const gchar         *detail);
+#ifndef GTK_DISABLE_DEPRECATED
+void gtk_draw_hline      (GtkStyle        *style,
+                         GdkWindow       *window,
+                         GtkStateType     state_type,
+                         gint             x1,
+                         gint             x2,
+                         gint             y);
+void gtk_draw_vline      (GtkStyle        *style,
+                         GdkWindow       *window,
+                         GtkStateType     state_type,
+                         gint             y1,
+                         gint             y2,
+                         gint             x);
+void gtk_draw_shadow     (GtkStyle        *style,
+                         GdkWindow       *window,
+                         GtkStateType     state_type,
+                         GtkShadowType    shadow_type,
+                         gint             x,
+                         gint             y,
+                         gint             width,
+                         gint             height);
+void gtk_draw_polygon    (GtkStyle        *style,
+                         GdkWindow       *window,
+                         GtkStateType     state_type,
+                         GtkShadowType    shadow_type,
+                         GdkPoint        *points,
+                         gint             npoints,
+                         gboolean         fill);
+void gtk_draw_arrow      (GtkStyle        *style,
+                         GdkWindow       *window,
+                         GtkStateType     state_type,
+                         GtkShadowType    shadow_type,
+                         GtkArrowType     arrow_type,
+                         gboolean         fill,
+                         gint             x,
+                         gint             y,
+                         gint             width,
+                         gint             height);
+void gtk_draw_diamond    (GtkStyle        *style,
+                         GdkWindow       *window,
+                         GtkStateType     state_type,
+                         GtkShadowType    shadow_type,
+                         gint             x,
+                         gint             y,
+                         gint             width,
+                         gint             height);
+void gtk_draw_box        (GtkStyle        *style,
+                         GdkWindow       *window,
+                         GtkStateType     state_type,
+                         GtkShadowType    shadow_type,
+                         gint             x,
+                         gint             y,
+                         gint             width,
+                         gint             height);
+void gtk_draw_flat_box   (GtkStyle        *style,
+                         GdkWindow       *window,
+                         GtkStateType     state_type,
+                         GtkShadowType    shadow_type,
+                         gint             x,
+                         gint             y,
+                         gint             width,
+                         gint             height);
+void gtk_draw_check      (GtkStyle        *style,
+                         GdkWindow       *window,
+                         GtkStateType     state_type,
+                         GtkShadowType    shadow_type,
+                         gint             x,
+                         gint             y,
+                         gint             width,
+                         gint             height);
+void gtk_draw_option     (GtkStyle        *style,
+                         GdkWindow       *window,
+                         GtkStateType     state_type,
+                         GtkShadowType    shadow_type,
+                         gint             x,
+                         gint             y,
+                         gint             width,
+                         gint             height);
+void gtk_draw_tab        (GtkStyle        *style,
+                         GdkWindow       *window,
+                         GtkStateType     state_type,
+                         GtkShadowType    shadow_type,
+                         gint             x,
+                         gint             y,
+                         gint             width,
+                         gint             height);
+void gtk_draw_shadow_gap (GtkStyle        *style,
+                         GdkWindow       *window,
+                         GtkStateType     state_type,
+                         GtkShadowType    shadow_type,
+                         gint             x,
+                         gint             y,
+                         gint             width,
+                         gint             height,
+                         GtkPositionType  gap_side,
+                         gint             gap_x,
+                         gint             gap_width);
+void gtk_draw_box_gap    (GtkStyle        *style,
+                         GdkWindow       *window,
+                         GtkStateType     state_type,
+                         GtkShadowType    shadow_type,
+                         gint             x,
+                         gint             y,
+                         gint             width,
+                         gint             height,
+                         GtkPositionType  gap_side,
+                         gint             gap_x,
+                         gint             gap_width);
+void gtk_draw_extension  (GtkStyle        *style,
+                         GdkWindow       *window,
+                         GtkStateType     state_type,
+                         GtkShadowType    shadow_type,
+                         gint             x,
+                         gint             y,
+                         gint             width,
+                         gint             height,
+                         GtkPositionType  gap_side);
+void gtk_draw_focus      (GtkStyle        *style,
+                         GdkWindow       *window,
+                         gint             x,
+                         gint             y,
+                         gint             width,
+                         gint             height);
+void gtk_draw_slider     (GtkStyle        *style,
+                         GdkWindow       *window,
+                         GtkStateType     state_type,
+                         GtkShadowType    shadow_type,
+                         gint             x,
+                         gint             y,
+                         gint             width,
+                         gint             height,
+                         GtkOrientation   orientation);
+void gtk_draw_handle     (GtkStyle        *style,
+                         GdkWindow       *window,
+                         GtkStateType     state_type,
+                         GtkShadowType    shadow_type,
+                         gint             x,
+                         gint             y,
+                         gint             width,
+                         gint             height,
+                         GtkOrientation   orientation);
+void gtk_draw_expander   (GtkStyle        *style,
+                          GdkWindow       *window,
+                          GtkStateType     state_type,
+                          gint             x,
+                          gint             y,
+                         GtkExpanderStyle expander_style);
+void gtk_draw_layout     (GtkStyle        *style,
+                          GdkWindow       *window,
+                          GtkStateType     state_type,
+                         gboolean         use_text,
+                          gint             x,
+                          gint             y,
+                          PangoLayout     *layout);
+void gtk_draw_resize_grip (GtkStyle       *style,
+                           GdkWindow      *window,
+                           GtkStateType    state_type,
+                           GdkWindowEdge   edge,
+                           gint            x,
+                           gint            y,
+                           gint            width,
+                           gint            height);
+#endif /* GTK_DISABLE_DEPRECATED */
+
+void gtk_paint_hline      (GtkStyle        *style,
+                          GdkWindow       *window,
+                          GtkStateType     state_type,
+                          GdkRectangle    *area,
+                          GtkWidget       *widget,
+                          const gchar     *detail,
+                          gint             x1,
+                          gint             x2,
+                          gint             y);
+void gtk_paint_vline      (GtkStyle        *style,
+                          GdkWindow       *window,
+                          GtkStateType     state_type,
+                          GdkRectangle    *area,
+                          GtkWidget       *widget,
+                          const gchar     *detail,
+                          gint             y1,
+                          gint             y2,
+                          gint             x);
+void gtk_paint_shadow     (GtkStyle        *style,
+                          GdkWindow       *window,
+                          GtkStateType     state_type,
+                          GtkShadowType    shadow_type,
+                          GdkRectangle    *area,
+                          GtkWidget       *widget,
+                          const gchar     *detail,
+                          gint             x,
+                          gint             y,
+                          gint             width,
+                          gint             height);
+void gtk_paint_polygon    (GtkStyle        *style,
+                          GdkWindow       *window,
+                          GtkStateType     state_type,
+                          GtkShadowType    shadow_type,
+                          GdkRectangle    *area,
+                          GtkWidget       *widget,
+                          const gchar     *detail,
+                          GdkPoint        *points,
+                          gint             npoints,
+                          gboolean         fill);
+void gtk_paint_arrow      (GtkStyle        *style,
+                          GdkWindow       *window,
+                          GtkStateType     state_type,
+                          GtkShadowType    shadow_type,
+                          GdkRectangle    *area,
+                          GtkWidget       *widget,
+                          const gchar     *detail,
+                          GtkArrowType     arrow_type,
+                          gboolean         fill,
+                          gint             x,
+                          gint             y,
+                          gint             width,
+                          gint             height);
+void gtk_paint_diamond    (GtkStyle        *style,
+                          GdkWindow       *window,
+                          GtkStateType     state_type,
+                          GtkShadowType    shadow_type,
+                          GdkRectangle    *area,
+                          GtkWidget       *widget,
+                          const gchar     *detail,
+                          gint             x,
+                          gint             y,
+                          gint             width,
+                          gint             height);
+void gtk_paint_box        (GtkStyle        *style,
+                          GdkWindow       *window,
+                          GtkStateType     state_type,
+                          GtkShadowType    shadow_type,
+                          GdkRectangle    *area,
+                          GtkWidget       *widget,
+                          const gchar     *detail,
+                          gint             x,
+                          gint             y,
+                          gint             width,
+                          gint             height);
+void gtk_paint_flat_box   (GtkStyle        *style,
+                          GdkWindow       *window,
+                          GtkStateType     state_type,
+                          GtkShadowType    shadow_type,
+                          GdkRectangle    *area,
+                          GtkWidget       *widget,
+                          const gchar     *detail,
+                          gint             x,
+                          gint             y,
+                          gint             width,
+                          gint             height);
+void gtk_paint_check      (GtkStyle        *style,
+                          GdkWindow       *window,
+                          GtkStateType     state_type,
+                          GtkShadowType    shadow_type,
+                          GdkRectangle    *area,
+                          GtkWidget       *widget,
+                          const gchar     *detail,
+                          gint             x,
+                          gint             y,
+                          gint             width,
+                          gint             height);
+void gtk_paint_option     (GtkStyle        *style,
+                          GdkWindow       *window,
+                          GtkStateType     state_type,
+                          GtkShadowType    shadow_type,
+                          GdkRectangle    *area,
+                          GtkWidget       *widget,
+                          const gchar     *detail,
+                          gint             x,
+                          gint             y,
+                          gint             width,
+                          gint             height);
+void gtk_paint_tab        (GtkStyle        *style,
+                          GdkWindow       *window,
+                          GtkStateType     state_type,
+                          GtkShadowType    shadow_type,
+                          GdkRectangle    *area,
+                          GtkWidget       *widget,
+                          const gchar     *detail,
+                          gint             x,
+                          gint             y,
+                          gint             width,
+                          gint             height);
+void gtk_paint_shadow_gap (GtkStyle        *style,
+                          GdkWindow       *window,
+                          GtkStateType     state_type,
+                          GtkShadowType    shadow_type,
+                          GdkRectangle    *area,
+                          GtkWidget       *widget,
+                          gchar           *detail,
+                          gint             x,
+                          gint             y,
+                          gint             width,
+                          gint             height,
+                          GtkPositionType  gap_side,
+                          gint             gap_x,
+                          gint             gap_width);
+void gtk_paint_box_gap    (GtkStyle        *style,
+                          GdkWindow       *window,
+                          GtkStateType     state_type,
+                          GtkShadowType    shadow_type,
+                          GdkRectangle    *area,
+                          GtkWidget       *widget,
+                          gchar           *detail,
+                          gint             x,
+                          gint             y,
+                          gint             width,
+                          gint             height,
+                          GtkPositionType  gap_side,
+                          gint             gap_x,
+                          gint             gap_width);
+void gtk_paint_extension  (GtkStyle        *style,
+                          GdkWindow       *window,
+                          GtkStateType     state_type,
+                          GtkShadowType    shadow_type,
+                          GdkRectangle    *area,
+                          GtkWidget       *widget,
+                          gchar           *detail,
+                          gint             x,
+                          gint             y,
+                          gint             width,
+                          gint             height,
+                          GtkPositionType  gap_side);
+void gtk_paint_focus      (GtkStyle        *style,
+                          GdkWindow       *window,
+                          GtkStateType     state_type,
+                          GdkRectangle    *area,
+                          GtkWidget       *widget,
+                          const gchar     *detail,
+                          gint             x,
+                          gint             y,
+                          gint             width,
+                          gint             height);
+void gtk_paint_slider     (GtkStyle        *style,
+                          GdkWindow       *window,
+                          GtkStateType     state_type,
+                          GtkShadowType    shadow_type,
+                          GdkRectangle    *area,
+                          GtkWidget       *widget,
+                          const gchar     *detail,
+                          gint             x,
+                          gint             y,
+                          gint             width,
+                          gint             height,
+                          GtkOrientation   orientation);
+void gtk_paint_handle     (GtkStyle        *style,
+                          GdkWindow       *window,
+                          GtkStateType     state_type,
+                          GtkShadowType    shadow_type,
+                          GdkRectangle    *area,
+                          GtkWidget       *widget,
+                          const gchar     *detail,
+                          gint             x,
+                          gint             y,
+                          gint             width,
+                          gint             height,
+                          GtkOrientation   orientation);
+void gtk_paint_expander   (GtkStyle        *style,
+                           GdkWindow       *window,
+                           GtkStateType     state_type,
+                           GdkRectangle    *area,
+                           GtkWidget       *widget,
+                           const gchar     *detail,
+                           gint             x,
+                           gint             y,
+                          GtkExpanderStyle expander_style);
+void gtk_paint_layout     (GtkStyle        *style,
+                           GdkWindow       *window,
+                           GtkStateType     state_type,
+                          gboolean         use_text,
+                           GdkRectangle    *area,
+                           GtkWidget       *widget,
+                           const gchar     *detail,
+                           gint             x,
+                           gint             y,
+                           PangoLayout     *layout);
+
+void gtk_paint_resize_grip (GtkStyle           *style,
+                            GdkWindow          *window,
+                            GtkStateType         state_type,
+                            GdkRectangle        *area,
+                            GtkWidget          *widget,
+                            const gchar                *detail,
+                            GdkWindowEdge        edge,
+                            gint                 x,
+                            gint                 y,
+                            gint                 width,
+                            gint                height);
+
+
+GType      gtk_border_get_type (void);
+GtkBorder *gtk_border_copy     (const GtkBorder *border);
+void       gtk_border_free (   GtkBorder       *border);
+
+/* --- private API --- */
+const GValue* _gtk_style_peek_property_value (GtkStyle           *style,
+                                             GType               widget_type,
+                                             GParamSpec         *pspec,
+                                             GtkRcPropertyParser parser);
+
+
+/* deprecated */
+#ifndef GTK_DISABLE_DEPRECATED
+#define gtk_style_apply_default_pixmap(s,gw,st,a,x,y,w,h) gtk_style_apply_default_background (s,gw,1,st,a,x,y,w,h)
+void gtk_draw_string     (GtkStyle        *style,
+                         GdkWindow       *window,
+                         GtkStateType     state_type,
+                         gint             x,
+                         gint             y,
+                         const gchar     *string);
+void gtk_paint_string     (GtkStyle        *style,
+                          GdkWindow       *window,
+                          GtkStateType     state_type,
+                          GdkRectangle    *area,
+                          GtkWidget       *widget,
+                          const gchar     *detail,
+                          gint             x,
+                          gint             y,
+                          const gchar     *string);
+#endif /* GTK_DISABLE_DEPRECATED */
+
+GdkGC *_gtk_get_insertion_cursor_gc (GtkWidget        *widget,
+                                    gboolean          is_primary);
+void   _gtk_draw_insertion_cursor   (GtkWidget        *widget,
+                                    GdkDrawable      *drawable,
+                                    GdkGC            *gc,
+                                    GdkRectangle     *location,
+                                    GtkTextDirection  direction,
+                                    gboolean          draw_arrow);
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */