| 1 | /* GTK - The GIMP Toolkit | 
| 2 |  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald | 
| 3 |  * | 
| 4 |  * This library is free software; you can redistribute it and/or | 
| 5 |  * modify it under the terms of the GNU Lesser General Public | 
| 6 |  * License as published by the Free Software Foundation; either | 
| 7 |  * version 2 of the License, or (at your option) any later version. | 
| 8 |  * | 
| 9 |  * This library is distributed in the hope that it will be useful, | 
| 10 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| 11 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
| 12 |  * Lesser General Public License for more details. | 
| 13 |  * | 
| 14 |  * You should have received a copy of the GNU Lesser General Public | 
| 15 |  * License along with this library. If not, see <http://www.gnu.org/licenses/>. | 
| 16 |  */ | 
| 17 |  | 
| 18 | /* | 
| 19 |  * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS | 
| 20 |  * file for a list of people on the GTK+ Team.  See the ChangeLog | 
| 21 |  * files for a list of changes.  These files are distributed with | 
| 22 |  * GTK+ at ftp://ftp.gtk.org/pub/gtk/. | 
| 23 |  */ | 
| 24 |  | 
| 25 | #ifndef __GTK_STYLE_H__ | 
| 26 | #define __GTK_STYLE_H__ | 
| 27 |  | 
| 28 |  | 
| 29 | #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) | 
| 30 | #error "Only <gtk/gtk.h> can be included directly." | 
| 31 | #endif | 
| 32 |  | 
| 33 | #include <gdk/gdk.h> | 
| 34 | #include <gtk/gtkenums.h> | 
| 35 | #include <gtk/gtktypes.h> | 
| 36 |  | 
| 37 |  | 
| 38 | G_BEGIN_DECLS | 
| 39 |  | 
| 40 | #define GTK_TYPE_STYLE              (gtk_style_get_type ()) | 
| 41 | #define GTK_STYLE(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), GTK_TYPE_STYLE, GtkStyle)) | 
| 42 | #define GTK_STYLE_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_STYLE, GtkStyleClass)) | 
| 43 | #define GTK_IS_STYLE(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), GTK_TYPE_STYLE)) | 
| 44 | #define GTK_IS_STYLE_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_STYLE)) | 
| 45 | #define GTK_STYLE_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_STYLE, GtkStyleClass)) | 
| 46 |  | 
| 47 | /* Some forward declarations needed to rationalize the header | 
| 48 |  * files. | 
| 49 |  */ | 
| 50 | typedef struct _GtkStyleClass  GtkStyleClass; | 
| 51 | typedef struct _GtkThemeEngine GtkThemeEngine; | 
| 52 | typedef struct _GtkRcProperty  GtkRcProperty; | 
| 53 |  | 
| 54 | /** | 
| 55 |  * GtkExpanderStyle: | 
| 56 |  * @GTK_EXPANDER_COLLAPSED: The style used for a collapsed subtree. | 
| 57 |  * @GTK_EXPANDER_SEMI_COLLAPSED: Intermediate style used during animation. | 
| 58 |  * @GTK_EXPANDER_SEMI_EXPANDED: Intermediate style used during animation. | 
| 59 |  * @GTK_EXPANDER_EXPANDED: The style used for an expanded subtree. | 
| 60 |  * | 
| 61 |  * Used to specify the style of the expanders drawn by a #GtkTreeView. | 
| 62 |  */ | 
| 63 | typedef enum | 
| 64 | { | 
| 65 |   GTK_EXPANDER_COLLAPSED, | 
| 66 |   GTK_EXPANDER_SEMI_COLLAPSED, | 
| 67 |   GTK_EXPANDER_SEMI_EXPANDED, | 
| 68 |   GTK_EXPANDER_EXPANDED | 
| 69 | } GtkExpanderStyle; | 
| 70 |  | 
| 71 | /** | 
| 72 |  * GTK_STYLE_ATTACHED: | 
| 73 |  * @style: a #GtkStyle. | 
| 74 |  * | 
| 75 |  * Returns: whether the style is attached to a window. | 
| 76 |  */ | 
| 77 | #define GTK_STYLE_ATTACHED(style)       (GTK_STYLE (style)->attach_count > 0) | 
| 78 |  | 
| 79 | /** | 
| 80 |  * GtkStyle: | 
| 81 |  * @fg: Set of foreground #GdkColor | 
| 82 |  * @bg: Set of background #GdkColor | 
| 83 |  * @light: Set of light #GdkColor | 
| 84 |  * @dark: Set of dark #GdkColor | 
| 85 |  * @mid: Set of mid #GdkColor | 
| 86 |  * @text: Set of text #GdkColor | 
| 87 |  * @base: Set of base #GdkColor | 
| 88 |  * @text_aa: Color halfway between text/base | 
| 89 |  * @black: #GdkColor to use for black | 
| 90 |  * @white: #GdkColor to use for white | 
| 91 |  * @font_desc: #PangoFontDescription | 
| 92 |  * @xthickness: Thickness in X direction | 
| 93 |  * @ythickness: Thickness in Y direction | 
| 94 |  * @background: Set of background #cairo_pattern_t | 
| 95 |  */ | 
| 96 | struct _GtkStyle | 
| 97 | { | 
| 98 |   /*< private >*/ | 
| 99 |   GObject parent_instance; | 
| 100 |  | 
| 101 |   /*< public >*/ | 
| 102 |  | 
| 103 |   GdkColor fg[5]; | 
| 104 |   GdkColor bg[5]; | 
| 105 |   GdkColor light[5]; | 
| 106 |   GdkColor dark[5]; | 
| 107 |   GdkColor mid[5]; | 
| 108 |   GdkColor text[5]; | 
| 109 |   GdkColor base[5]; | 
| 110 |   GdkColor text_aa[5];          /* Halfway between text/base */ | 
| 111 |  | 
| 112 |   GdkColor black; | 
| 113 |   GdkColor white; | 
| 114 |   PangoFontDescription *font_desc; | 
| 115 |  | 
| 116 |   gint xthickness; | 
| 117 |   gint ythickness; | 
| 118 |  | 
| 119 |   cairo_pattern_t *background[5]; | 
| 120 |  | 
| 121 |   /*< private >*/ | 
| 122 |  | 
| 123 |   gint attach_count; | 
| 124 |  | 
| 125 |   GdkVisual *visual; | 
| 126 |   PangoFontDescription *private_font_desc; /* Font description for style->private_font or %NULL */ | 
| 127 |  | 
| 128 |   /* the RcStyle from which this style was created */ | 
| 129 |   GtkRcStyle     *rc_style; | 
| 130 |  | 
| 131 |   GSList         *styles;         /* of type GtkStyle* */ | 
| 132 |   GArray         *property_cache; | 
| 133 |   GSList         *icon_factories; /* of type GtkIconFactory* */ | 
| 134 | }; | 
| 135 |  | 
| 136 | /** | 
| 137 |  * GtkStyleClass: | 
| 138 |  * @parent_class: The parent class. | 
| 139 |  * @realize:  | 
| 140 |  * @unrealize:  | 
| 141 |  * @copy:  | 
| 142 |  * @clone:  | 
| 143 |  * @init_from_rc:  | 
| 144 |  * @set_background:  | 
| 145 |  * @render_icon:  | 
| 146 |  * @draw_hline:  | 
| 147 |  * @draw_vline:  | 
| 148 |  * @draw_shadow:  | 
| 149 |  * @draw_arrow:  | 
| 150 |  * @draw_diamond:  | 
| 151 |  * @draw_box:  | 
| 152 |  * @draw_flat_box:  | 
| 153 |  * @draw_check:  | 
| 154 |  * @draw_option:  | 
| 155 |  * @draw_tab:  | 
| 156 |  * @draw_shadow_gap:  | 
| 157 |  * @draw_box_gap:  | 
| 158 |  * @draw_extension:  | 
| 159 |  * @draw_focus:  | 
| 160 |  * @draw_slider:  | 
| 161 |  * @draw_handle:  | 
| 162 |  * @draw_expander:  | 
| 163 |  * @draw_layout:  | 
| 164 |  * @draw_resize_grip:  | 
| 165 |  * @draw_spinner:  | 
| 166 |  */ | 
| 167 | struct _GtkStyleClass | 
| 168 | { | 
| 169 |   GObjectClass parent_class; | 
| 170 |  | 
| 171 |   /*< public >*/ | 
| 172 |  | 
| 173 |   /* Initialize for a particular visual. style->visual | 
| 174 |    * will have been set at this point. Will typically chain | 
| 175 |    * to parent. | 
| 176 |    */ | 
| 177 |   void (*realize)               (GtkStyle               *style); | 
| 178 |  | 
| 179 |   /* Clean up for a particular visual. Will typically chain | 
| 180 |    * to parent. | 
| 181 |    */ | 
| 182 |   void (*unrealize)             (GtkStyle               *style); | 
| 183 |  | 
| 184 |   /* Make style an exact duplicate of src. | 
| 185 |    */ | 
| 186 |   void (*copy)                  (GtkStyle               *style, | 
| 187 |                                  GtkStyle               *src); | 
| 188 |  | 
| 189 |   /* Create an empty style of the same type as this style. | 
| 190 |    * The default implementation, which does | 
| 191 |    * g_object_new (G_OBJECT_TYPE (style), NULL); | 
| 192 |    * should work in most cases. | 
| 193 |    */ | 
| 194 |   GtkStyle *(*clone)             (GtkStyle               *style); | 
| 195 |  | 
| 196 |   /* Initialize the GtkStyle with the values in the GtkRcStyle. | 
| 197 |    * should chain to the parent implementation. | 
| 198 |    */ | 
| 199 |   void     (*init_from_rc)      (GtkStyle               *style, | 
| 200 |                                  GtkRcStyle             *rc_style); | 
| 201 |  | 
| 202 |   void (*set_background)        (GtkStyle               *style, | 
| 203 |                                  GdkWindow              *window, | 
| 204 |                                  GtkStateType            state_type); | 
| 205 |  | 
| 206 |  | 
| 207 |   GdkPixbuf * (* render_icon)   (GtkStyle               *style, | 
| 208 |                                  const GtkIconSource    *source, | 
| 209 |                                  GtkTextDirection        direction, | 
| 210 |                                  GtkStateType            state, | 
| 211 |                                  GtkIconSize             size, | 
| 212 |                                  GtkWidget              *widget, | 
| 213 |                                  const gchar            *detail); | 
| 214 |  | 
| 215 |   /* Drawing functions | 
| 216 |    */ | 
| 217 |  | 
| 218 |   void (*draw_hline)            (GtkStyle               *style, | 
| 219 |                                  cairo_t                *cr, | 
| 220 |                                  GtkStateType            state_type, | 
| 221 |                                  GtkWidget              *widget, | 
| 222 |                                  const gchar            *detail, | 
| 223 |                                  gint                    x1, | 
| 224 |                                  gint                    x2, | 
| 225 |                                  gint                    y); | 
| 226 |   void (*draw_vline)            (GtkStyle               *style, | 
| 227 |                                  cairo_t                *cr, | 
| 228 |                                  GtkStateType            state_type, | 
| 229 |                                  GtkWidget              *widget, | 
| 230 |                                  const gchar            *detail, | 
| 231 |                                  gint                    y1_, | 
| 232 |                                  gint                    y2_, | 
| 233 |                                  gint                    x); | 
| 234 |   void (*draw_shadow)           (GtkStyle               *style, | 
| 235 |                                  cairo_t                *cr, | 
| 236 |                                  GtkStateType            state_type, | 
| 237 |                                  GtkShadowType           shadow_type, | 
| 238 |                                  GtkWidget              *widget, | 
| 239 |                                  const gchar            *detail, | 
| 240 |                                  gint                    x, | 
| 241 |                                  gint                    y, | 
| 242 |                                  gint                    width, | 
| 243 |                                  gint                    height); | 
| 244 |   void (*draw_arrow)            (GtkStyle               *style, | 
| 245 |                                  cairo_t                *cr, | 
| 246 |                                  GtkStateType            state_type, | 
| 247 |                                  GtkShadowType           shadow_type, | 
| 248 |                                  GtkWidget              *widget, | 
| 249 |                                  const gchar            *detail, | 
| 250 |                                  GtkArrowType            arrow_type, | 
| 251 |                                  gboolean                fill, | 
| 252 |                                  gint                    x, | 
| 253 |                                  gint                    y, | 
| 254 |                                  gint                    width, | 
| 255 |                                  gint                    height); | 
| 256 |   void (*draw_diamond)          (GtkStyle               *style, | 
| 257 |                                  cairo_t                *cr, | 
| 258 |                                  GtkStateType            state_type, | 
| 259 |                                  GtkShadowType           shadow_type, | 
| 260 |                                  GtkWidget              *widget, | 
| 261 |                                  const gchar            *detail, | 
| 262 |                                  gint                    x, | 
| 263 |                                  gint                    y, | 
| 264 |                                  gint                    width, | 
| 265 |                                  gint                    height); | 
| 266 |   void (*draw_box)              (GtkStyle               *style, | 
| 267 |                                  cairo_t                *cr, | 
| 268 |                                  GtkStateType            state_type, | 
| 269 |                                  GtkShadowType           shadow_type, | 
| 270 |                                  GtkWidget              *widget, | 
| 271 |                                  const gchar            *detail, | 
| 272 |                                  gint                    x, | 
| 273 |                                  gint                    y, | 
| 274 |                                  gint                    width, | 
| 275 |                                  gint                    height); | 
| 276 |   void (*draw_flat_box)         (GtkStyle               *style, | 
| 277 |                                  cairo_t                *cr, | 
| 278 |                                  GtkStateType            state_type, | 
| 279 |                                  GtkShadowType           shadow_type, | 
| 280 |                                  GtkWidget              *widget, | 
| 281 |                                  const gchar            *detail, | 
| 282 |                                  gint                    x, | 
| 283 |                                  gint                    y, | 
| 284 |                                  gint                    width, | 
| 285 |                                  gint                    height); | 
| 286 |   void (*draw_check)            (GtkStyle               *style, | 
| 287 |                                  cairo_t                *cr, | 
| 288 |                                  GtkStateType            state_type, | 
| 289 |                                  GtkShadowType           shadow_type, | 
| 290 |                                  GtkWidget              *widget, | 
| 291 |                                  const gchar            *detail, | 
| 292 |                                  gint                    x, | 
| 293 |                                  gint                    y, | 
| 294 |                                  gint                    width, | 
| 295 |                                  gint                    height); | 
| 296 |   void (*draw_option)           (GtkStyle               *style, | 
| 297 |                                  cairo_t                *cr, | 
| 298 |                                  GtkStateType            state_type, | 
| 299 |                                  GtkShadowType           shadow_type, | 
| 300 |                                  GtkWidget              *widget, | 
| 301 |                                  const gchar            *detail, | 
| 302 |                                  gint                    x, | 
| 303 |                                  gint                    y, | 
| 304 |                                  gint                    width, | 
| 305 |                                  gint                    height); | 
| 306 |   void (*draw_tab)              (GtkStyle               *style, | 
| 307 |                                  cairo_t                *cr, | 
| 308 |                                  GtkStateType            state_type, | 
| 309 |                                  GtkShadowType           shadow_type, | 
| 310 |                                  GtkWidget              *widget, | 
| 311 |                                  const gchar            *detail, | 
| 312 |                                  gint                    x, | 
| 313 |                                  gint                    y, | 
| 314 |                                  gint                    width, | 
| 315 |                                  gint                    height); | 
| 316 |   void (*draw_shadow_gap)       (GtkStyle               *style, | 
| 317 |                                  cairo_t                *cr, | 
| 318 |                                  GtkStateType            state_type, | 
| 319 |                                  GtkShadowType           shadow_type, | 
| 320 |                                  GtkWidget              *widget, | 
| 321 |                                  const gchar            *detail, | 
| 322 |                                  gint                    x, | 
| 323 |                                  gint                    y, | 
| 324 |                                  gint                    width, | 
| 325 |                                  gint                    height, | 
| 326 |                                  GtkPositionType         gap_side, | 
| 327 |                                  gint                    gap_x, | 
| 328 |                                  gint                    gap_width); | 
| 329 |   void (*draw_box_gap)          (GtkStyle               *style, | 
| 330 |                                  cairo_t                *cr, | 
| 331 |                                  GtkStateType            state_type, | 
| 332 |                                  GtkShadowType           shadow_type, | 
| 333 |                                  GtkWidget              *widget, | 
| 334 |                                  const gchar            *detail, | 
| 335 |                                  gint                    x, | 
| 336 |                                  gint                    y, | 
| 337 |                                  gint                    width, | 
| 338 |                                  gint                    height, | 
| 339 |                                  GtkPositionType         gap_side, | 
| 340 |                                  gint                    gap_x, | 
| 341 |                                  gint                    gap_width); | 
| 342 |   void (*draw_extension)        (GtkStyle               *style, | 
| 343 |                                  cairo_t                *cr, | 
| 344 |                                  GtkStateType            state_type, | 
| 345 |                                  GtkShadowType           shadow_type, | 
| 346 |                                  GtkWidget              *widget, | 
| 347 |                                  const gchar            *detail, | 
| 348 |                                  gint                    x, | 
| 349 |                                  gint                    y, | 
| 350 |                                  gint                    width, | 
| 351 |                                  gint                    height, | 
| 352 |                                  GtkPositionType         gap_side); | 
| 353 |   void (*draw_focus)            (GtkStyle               *style, | 
| 354 |                                  cairo_t                *cr, | 
| 355 |                                  GtkStateType            state_type, | 
| 356 |                                  GtkWidget              *widget, | 
| 357 |                                  const gchar            *detail, | 
| 358 |                                  gint                    x, | 
| 359 |                                  gint                    y, | 
| 360 |                                  gint                    width, | 
| 361 |                                  gint                    height); | 
| 362 |   void (*draw_slider)           (GtkStyle               *style, | 
| 363 |                                  cairo_t                *cr, | 
| 364 |                                  GtkStateType            state_type, | 
| 365 |                                  GtkShadowType           shadow_type, | 
| 366 |                                  GtkWidget              *widget, | 
| 367 |                                  const gchar            *detail, | 
| 368 |                                  gint                    x, | 
| 369 |                                  gint                    y, | 
| 370 |                                  gint                    width, | 
| 371 |                                  gint                    height, | 
| 372 |                                  GtkOrientation          orientation); | 
| 373 |   void (*draw_handle)           (GtkStyle               *style, | 
| 374 |                                  cairo_t                *cr, | 
| 375 |                                  GtkStateType            state_type, | 
| 376 |                                  GtkShadowType           shadow_type, | 
| 377 |                                  GtkWidget              *widget, | 
| 378 |                                  const gchar            *detail, | 
| 379 |                                  gint                    x, | 
| 380 |                                  gint                    y, | 
| 381 |                                  gint                    width, | 
| 382 |                                  gint                    height, | 
| 383 |                                  GtkOrientation          orientation); | 
| 384 |  | 
| 385 |   void (*draw_expander)         (GtkStyle               *style, | 
| 386 |                                  cairo_t                *cr, | 
| 387 |                                  GtkStateType            state_type, | 
| 388 |                                  GtkWidget              *widget, | 
| 389 |                                  const gchar            *detail, | 
| 390 |                                  gint                    x, | 
| 391 |                                  gint                    y, | 
| 392 |                                  GtkExpanderStyle        expander_style); | 
| 393 |   void (*draw_layout)           (GtkStyle               *style, | 
| 394 |                                  cairo_t                *cr, | 
| 395 |                                  GtkStateType            state_type, | 
| 396 |                                  gboolean                use_text, | 
| 397 |                                  GtkWidget              *widget, | 
| 398 |                                  const gchar            *detail, | 
| 399 |                                  gint                    x, | 
| 400 |                                  gint                    y, | 
| 401 |                                  PangoLayout            *layout); | 
| 402 |   void (*draw_resize_grip)      (GtkStyle               *style, | 
| 403 |                                  cairo_t                *cr, | 
| 404 |                                  GtkStateType            state_type, | 
| 405 |                                  GtkWidget              *widget, | 
| 406 |                                  const gchar            *detail, | 
| 407 |                                  GdkWindowEdge           edge, | 
| 408 |                                  gint                    x, | 
| 409 |                                  gint                    y, | 
| 410 |                                  gint                    width, | 
| 411 |                                  gint                    height); | 
| 412 |   void (*draw_spinner)          (GtkStyle               *style, | 
| 413 |                                  cairo_t                *cr, | 
| 414 |                                  GtkStateType            state_type, | 
| 415 |                                  GtkWidget              *widget, | 
| 416 |                                  const gchar            *detail, | 
| 417 |                                  guint                   step, | 
| 418 |                                  gint                    x, | 
| 419 |                                  gint                    y, | 
| 420 |                                  gint                    width, | 
| 421 |                                  gint                    height); | 
| 422 |  | 
| 423 |   /*< private >*/ | 
| 424 |  | 
| 425 |   /* Padding for future expansion */ | 
| 426 |   void (*_gtk_reserved1)  (void); | 
| 427 |   void (*_gtk_reserved2)  (void); | 
| 428 |   void (*_gtk_reserved3)  (void); | 
| 429 |   void (*_gtk_reserved4)  (void); | 
| 430 |   void (*_gtk_reserved5)  (void); | 
| 431 |   void (*_gtk_reserved6)  (void); | 
| 432 |   void (*_gtk_reserved7)  (void); | 
| 433 |   void (*_gtk_reserved8)  (void); | 
| 434 |   void (*_gtk_reserved9)  (void); | 
| 435 |   void (*_gtk_reserved10) (void); | 
| 436 |   void (*_gtk_reserved11) (void); | 
| 437 | }; | 
| 438 |  | 
| 439 | GDK_DEPRECATED_IN_3_0 | 
| 440 | GType     gtk_style_get_type                 (void) G_GNUC_CONST; | 
| 441 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) | 
| 442 | GtkStyle* gtk_style_new                      (void); | 
| 443 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) | 
| 444 | GtkStyle* gtk_style_copy                     (GtkStyle     *style); | 
| 445 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) | 
| 446 | GtkStyle* gtk_style_attach                   (GtkStyle     *style, | 
| 447 |                                               GdkWindow    *window); | 
| 448 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) | 
| 449 | void      gtk_style_detach                   (GtkStyle     *style); | 
| 450 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) | 
| 451 | void      gtk_style_set_background           (GtkStyle     *style, | 
| 452 |                                               GdkWindow    *window, | 
| 453 |                                               GtkStateType  state_type); | 
| 454 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_background) | 
| 455 | void      gtk_style_apply_default_background (GtkStyle     *style, | 
| 456 |                                               cairo_t      *cr, | 
| 457 |                                               GdkWindow    *window, | 
| 458 |                                               GtkStateType  state_type, | 
| 459 |                                               gint          x, | 
| 460 |                                               gint          y, | 
| 461 |                                               gint          width, | 
| 462 |                                               gint          height); | 
| 463 |  | 
| 464 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and a style class) | 
| 465 | GtkIconSet* gtk_style_lookup_icon_set        (GtkStyle     *style, | 
| 466 |                                               const gchar  *stock_id); | 
| 467 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and a style class) | 
| 468 | gboolean    gtk_style_lookup_color           (GtkStyle     *style, | 
| 469 |                                               const gchar  *color_name, | 
| 470 |                                               GdkColor     *color); | 
| 471 |  | 
| 472 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_icon) | 
| 473 | GdkPixbuf*  gtk_style_render_icon     (GtkStyle            *style, | 
| 474 |                                        const GtkIconSource *source, | 
| 475 |                                        GtkTextDirection     direction, | 
| 476 |                                        GtkStateType         state, | 
| 477 |                                        GtkIconSize          size, | 
| 478 |                                        GtkWidget           *widget, | 
| 479 |                                        const gchar         *detail); | 
| 480 |  | 
| 481 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_line) | 
| 482 | void gtk_paint_hline             (GtkStyle           *style, | 
| 483 |                                   cairo_t            *cr, | 
| 484 |                                   GtkStateType        state_type, | 
| 485 |                                   GtkWidget          *widget, | 
| 486 |                                   const gchar        *detail, | 
| 487 |                                   gint                x1, | 
| 488 |                                   gint                x2, | 
| 489 |                                   gint                y); | 
| 490 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_line) | 
| 491 | void gtk_paint_vline             (GtkStyle           *style, | 
| 492 |                                   cairo_t            *cr, | 
| 493 |                                   GtkStateType        state_type, | 
| 494 |                                   GtkWidget          *widget, | 
| 495 |                                   const gchar        *detail, | 
| 496 |                                   gint                y1_, | 
| 497 |                                   gint                y2_, | 
| 498 |                                   gint                x); | 
| 499 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_background) | 
| 500 | void gtk_paint_shadow            (GtkStyle           *style, | 
| 501 |                                   cairo_t            *cr, | 
| 502 |                                   GtkStateType        state_type, | 
| 503 |                                   GtkShadowType       shadow_type, | 
| 504 |                                   GtkWidget          *widget, | 
| 505 |                                   const gchar        *detail, | 
| 506 |                                   gint                x, | 
| 507 |                                   gint                y, | 
| 508 |                                   gint                width, | 
| 509 |                                   gint                height); | 
| 510 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_arrow) | 
| 511 | void gtk_paint_arrow             (GtkStyle           *style, | 
| 512 |                                   cairo_t            *cr, | 
| 513 |                                   GtkStateType        state_type, | 
| 514 |                                   GtkShadowType       shadow_type, | 
| 515 |                                   GtkWidget          *widget, | 
| 516 |                                   const gchar        *detail, | 
| 517 |                                   GtkArrowType        arrow_type, | 
| 518 |                                   gboolean            fill, | 
| 519 |                                   gint                x, | 
| 520 |                                   gint                y, | 
| 521 |                                   gint                width, | 
| 522 |                                   gint                height); | 
| 523 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_icon) | 
| 524 | void gtk_paint_diamond           (GtkStyle           *style, | 
| 525 |                                   cairo_t            *cr, | 
| 526 |                                   GtkStateType        state_type, | 
| 527 |                                   GtkShadowType       shadow_type, | 
| 528 |                                   GtkWidget          *widget, | 
| 529 |                                   const gchar        *detail, | 
| 530 |                                   gint                x, | 
| 531 |                                   gint                y, | 
| 532 |                                   gint                width, | 
| 533 |                                   gint                height); | 
| 534 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_frame) | 
| 535 | void gtk_paint_box               (GtkStyle           *style, | 
| 536 |                                   cairo_t            *cr, | 
| 537 |                                   GtkStateType        state_type, | 
| 538 |                                   GtkShadowType       shadow_type, | 
| 539 |                                   GtkWidget          *widget, | 
| 540 |                                   const gchar        *detail, | 
| 541 |                                   gint                x, | 
| 542 |                                   gint                y, | 
| 543 |                                   gint                width, | 
| 544 |                                   gint                height); | 
| 545 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_background) | 
| 546 | void gtk_paint_flat_box          (GtkStyle           *style, | 
| 547 |                                   cairo_t            *cr, | 
| 548 |                                   GtkStateType        state_type, | 
| 549 |                                   GtkShadowType       shadow_type, | 
| 550 |                                   GtkWidget          *widget, | 
| 551 |                                   const gchar        *detail, | 
| 552 |                                   gint                x, | 
| 553 |                                   gint                y, | 
| 554 |                                   gint                width, | 
| 555 |                                   gint                height); | 
| 556 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_check) | 
| 557 | void gtk_paint_check             (GtkStyle           *style, | 
| 558 |                                   cairo_t            *cr, | 
| 559 |                                   GtkStateType        state_type, | 
| 560 |                                   GtkShadowType       shadow_type, | 
| 561 |                                   GtkWidget          *widget, | 
| 562 |                                   const gchar        *detail, | 
| 563 |                                   gint                x, | 
| 564 |                                   gint                y, | 
| 565 |                                   gint                width, | 
| 566 |                                   gint                height); | 
| 567 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_option) | 
| 568 | void gtk_paint_option            (GtkStyle           *style, | 
| 569 |                                   cairo_t            *cr, | 
| 570 |                                   GtkStateType        state_type, | 
| 571 |                                   GtkShadowType       shadow_type, | 
| 572 |                                   GtkWidget          *widget, | 
| 573 |                                   const gchar        *detail, | 
| 574 |                                   gint                x, | 
| 575 |                                   gint                y, | 
| 576 |                                   gint                width, | 
| 577 |                                   gint                height); | 
| 578 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_background) | 
| 579 | void gtk_paint_tab               (GtkStyle           *style, | 
| 580 |                                   cairo_t            *cr, | 
| 581 |                                   GtkStateType        state_type, | 
| 582 |                                   GtkShadowType       shadow_type, | 
| 583 |                                   GtkWidget          *widget, | 
| 584 |                                   const gchar        *detail, | 
| 585 |                                   gint                x, | 
| 586 |                                   gint                y, | 
| 587 |                                   gint                width, | 
| 588 |                                   gint                height); | 
| 589 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) | 
| 590 | void gtk_paint_shadow_gap        (GtkStyle           *style, | 
| 591 |                                   cairo_t            *cr, | 
| 592 |                                   GtkStateType        state_type, | 
| 593 |                                   GtkShadowType       shadow_type, | 
| 594 |                                   GtkWidget          *widget, | 
| 595 |                                   const gchar        *detail, | 
| 596 |                                   gint                x, | 
| 597 |                                   gint                y, | 
| 598 |                                   gint                width, | 
| 599 |                                   gint                height, | 
| 600 |                                   GtkPositionType     gap_side, | 
| 601 |                                   gint                gap_x, | 
| 602 |                                   gint                gap_width); | 
| 603 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) | 
| 604 | void gtk_paint_box_gap           (GtkStyle           *style, | 
| 605 |                                   cairo_t            *cr, | 
| 606 |                                   GtkStateType        state_type, | 
| 607 |                                   GtkShadowType       shadow_type, | 
| 608 |                                   GtkWidget          *widget, | 
| 609 |                                   const gchar        *detail, | 
| 610 |                                   gint                x, | 
| 611 |                                   gint                y, | 
| 612 |                                   gint                width, | 
| 613 |                                   gint                height, | 
| 614 |                                   GtkPositionType     gap_side, | 
| 615 |                                   gint                gap_x, | 
| 616 |                                   gint                gap_width); | 
| 617 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_extension) | 
| 618 | void gtk_paint_extension         (GtkStyle           *style, | 
| 619 |                                   cairo_t            *cr, | 
| 620 |                                   GtkStateType        state_type, | 
| 621 |                                   GtkShadowType       shadow_type, | 
| 622 |                                   GtkWidget          *widget, | 
| 623 |                                   const gchar        *detail, | 
| 624 |                                   gint                x, | 
| 625 |                                   gint                y, | 
| 626 |                                   gint                width, | 
| 627 |                                   gint                height, | 
| 628 |                                   GtkPositionType     gap_side); | 
| 629 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_focus) | 
| 630 | void gtk_paint_focus             (GtkStyle           *style, | 
| 631 |                                   cairo_t            *cr, | 
| 632 |                                   GtkStateType        state_type, | 
| 633 |                                   GtkWidget          *widget, | 
| 634 |                                   const gchar        *detail, | 
| 635 |                                   gint                x, | 
| 636 |                                   gint                y, | 
| 637 |                                   gint                width, | 
| 638 |                                   gint                height); | 
| 639 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_focus) | 
| 640 | void gtk_paint_slider            (GtkStyle           *style, | 
| 641 |                                   cairo_t            *cr, | 
| 642 |                                   GtkStateType        state_type, | 
| 643 |                                   GtkShadowType       shadow_type, | 
| 644 |                                   GtkWidget          *widget, | 
| 645 |                                   const gchar        *detail, | 
| 646 |                                   gint                x, | 
| 647 |                                   gint                y, | 
| 648 |                                   gint                width, | 
| 649 |                                   gint                height, | 
| 650 |                                   GtkOrientation      orientation); | 
| 651 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_handle) | 
| 652 | void gtk_paint_handle            (GtkStyle           *style, | 
| 653 |                                   cairo_t            *cr, | 
| 654 |                                   GtkStateType        state_type, | 
| 655 |                                   GtkShadowType       shadow_type, | 
| 656 |                                   GtkWidget          *widget, | 
| 657 |                                   const gchar        *detail, | 
| 658 |                                   gint                x, | 
| 659 |                                   gint                y, | 
| 660 |                                   gint                width, | 
| 661 |                                   gint                height, | 
| 662 |                                   GtkOrientation      orientation); | 
| 663 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_expander) | 
| 664 | void gtk_paint_expander          (GtkStyle           *style, | 
| 665 |                                   cairo_t            *cr, | 
| 666 |                                   GtkStateType        state_type, | 
| 667 |                                   GtkWidget          *widget, | 
| 668 |                                   const gchar        *detail, | 
| 669 |                                   gint                x, | 
| 670 |                                   gint                y, | 
| 671 |                                   GtkExpanderStyle    expander_style); | 
| 672 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_layout) | 
| 673 | void gtk_paint_layout            (GtkStyle           *style, | 
| 674 |                                   cairo_t            *cr, | 
| 675 |                                   GtkStateType        state_type, | 
| 676 |                                   gboolean            use_text, | 
| 677 |                                   GtkWidget          *widget, | 
| 678 |                                   const gchar        *detail, | 
| 679 |                                   gint                x, | 
| 680 |                                   gint                y, | 
| 681 |                                   PangoLayout        *layout); | 
| 682 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_handle) | 
| 683 | void gtk_paint_resize_grip       (GtkStyle           *style, | 
| 684 |                                   cairo_t            *cr, | 
| 685 |                                   GtkStateType        state_type, | 
| 686 |                                   GtkWidget          *widget, | 
| 687 |                                   const gchar        *detail, | 
| 688 |                                   GdkWindowEdge       edge, | 
| 689 |                                   gint                x, | 
| 690 |                                   gint                y, | 
| 691 |                                   gint                width, | 
| 692 |                                   gint                height); | 
| 693 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_icon) | 
| 694 | void gtk_paint_spinner           (GtkStyle           *style, | 
| 695 |                                   cairo_t            *cr, | 
| 696 |                                   GtkStateType        state_type, | 
| 697 |                                   GtkWidget          *widget, | 
| 698 |                                   const gchar        *detail, | 
| 699 |                                   guint               step, | 
| 700 |                                   gint                x, | 
| 701 |                                   gint                y, | 
| 702 |                                   gint                width, | 
| 703 |                                   gint                height); | 
| 704 |  | 
| 705 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_style_context_get_property) | 
| 706 | void gtk_style_get_style_property (GtkStyle    *style, | 
| 707 |                                    GType        widget_type, | 
| 708 |                                    const gchar *property_name, | 
| 709 |                                    GValue      *value); | 
| 710 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_style_context_get_property) | 
| 711 | void gtk_style_get_valist         (GtkStyle    *style, | 
| 712 |                                    GType        widget_type, | 
| 713 |                                    const gchar *first_property_name, | 
| 714 |                                    va_list      var_args); | 
| 715 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_style_context_get_property) | 
| 716 | void gtk_style_get                (GtkStyle    *style, | 
| 717 |                                    GType        widget_type, | 
| 718 |                                    const gchar *first_property_name, | 
| 719 |                                    ...) G_GNUC_NULL_TERMINATED; | 
| 720 |  | 
| 721 |  | 
| 722 | /* --- private API --- */ | 
| 723 | GtkStyle*     _gtk_style_new_for_path     (GdkScreen          *screen, | 
| 724 |                                            GtkWidgetPath      *path); | 
| 725 | void          _gtk_style_shade            (const GdkColor     *a, | 
| 726 |                                            GdkColor           *b, | 
| 727 |                                            gdouble             k); | 
| 728 |  | 
| 729 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) | 
| 730 | gboolean    gtk_style_has_context         (GtkStyle *style); | 
| 731 |  | 
| 732 | GDK_DEPRECATED_IN_3_0 | 
| 733 | void        gtk_widget_style_attach       (GtkWidget     *widget); | 
| 734 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) | 
| 735 | gboolean    gtk_widget_has_rc_style       (GtkWidget            *widget); | 
| 736 | GDK_DEPRECATED_IN_3_0 | 
| 737 | void        gtk_widget_set_style          (GtkWidget            *widget, | 
| 738 |                                            GtkStyle             *style); | 
| 739 | GDK_DEPRECATED_IN_3_0 | 
| 740 | void        gtk_widget_ensure_style       (GtkWidget            *widget); | 
| 741 | GDK_DEPRECATED_IN_3_0_FOR(gtk_widget_get_style_context) | 
| 742 | GtkStyle *  gtk_widget_get_style          (GtkWidget            *widget); | 
| 743 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) | 
| 744 | void        gtk_widget_modify_style       (GtkWidget            *widget, | 
| 745 |                                            GtkRcStyle           *style); | 
| 746 | GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) | 
| 747 | GtkRcStyle *gtk_widget_get_modifier_style (GtkWidget            *widget); | 
| 748 | GDK_DEPRECATED_IN_3_0_FOR(gtk_widget_override_color) | 
| 749 | void        gtk_widget_modify_fg          (GtkWidget            *widget, | 
| 750 |                                            GtkStateType          state, | 
| 751 |                                            const GdkColor       *color); | 
| 752 | GDK_DEPRECATED_IN_3_0_FOR(gtk_widget_override_background_color) | 
| 753 | void        gtk_widget_modify_bg          (GtkWidget            *widget, | 
| 754 |                                            GtkStateType          state, | 
| 755 |                                            const GdkColor       *color); | 
| 756 | GDK_DEPRECATED_IN_3_0_FOR(CSS style classes) | 
| 757 | void        gtk_widget_modify_text        (GtkWidget            *widget, | 
| 758 |                                            GtkStateType          state, | 
| 759 |                                            const GdkColor       *color); | 
| 760 | GDK_DEPRECATED_IN_3_0_FOR(CSS style classes) | 
| 761 | void        gtk_widget_modify_base        (GtkWidget            *widget, | 
| 762 |                                            GtkStateType          state, | 
| 763 |                                            const GdkColor       *color); | 
| 764 | GDK_DEPRECATED_IN_3_0_FOR(CSS style classes) | 
| 765 | void        gtk_widget_modify_cursor      (GtkWidget            *widget, | 
| 766 |                                            const GdkColor       *primary, | 
| 767 |                                            const GdkColor       *secondary); | 
| 768 | GDK_DEPRECATED_IN_3_0_FOR(gtk_widget_override_font) | 
| 769 | void        gtk_widget_modify_font        (GtkWidget            *widget, | 
| 770 |                                            PangoFontDescription *font_desc); | 
| 771 | GDK_DEPRECATED_IN_3_0_FOR(gtk_widget_reset_style) | 
| 772 | void       gtk_widget_reset_rc_styles     (GtkWidget      *widget); | 
| 773 | GDK_DEPRECATED_IN_3_0_FOR(gtk_style_context_new) | 
| 774 | GtkStyle*  gtk_widget_get_default_style   (void); | 
| 775 | GDK_DEPRECATED_IN_3_0_FOR(gtk_widget_get_path) | 
| 776 | void       gtk_widget_path                (GtkWidget *widget, | 
| 777 |                                            guint     *path_length, | 
| 778 |                                            gchar    **path, | 
| 779 |                                            gchar    **path_reversed); | 
| 780 | GDK_DEPRECATED_IN_3_0 | 
| 781 | void       gtk_widget_class_path          (GtkWidget *widget, | 
| 782 |                                            guint     *path_length, | 
| 783 |                                            gchar    **path, | 
| 784 |                                            gchar    **path_reversed); | 
| 785 | GDK_DEPRECATED_IN_3_0_FOR(gtk_widget_render_icon_pixbuf) | 
| 786 | GdkPixbuf *gtk_widget_render_icon         (GtkWidget   *widget, | 
| 787 |                                            const gchar *stock_id, | 
| 788 |                                            GtkIconSize  size, | 
| 789 |                                            const gchar *detail); | 
| 790 |  | 
| 791 | G_END_DECLS | 
| 792 |  | 
| 793 | #endif /* __GTK_STYLE_H__ */ | 
| 794 |  |