]> Pileus Git - ~andy/gtk/blob - gtk/gtkstyle.h
Move more text widget headers into the private header list
[~andy/gtk] / gtk / gtkstyle.h
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, write to the
16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  * Boston, MA 02111-1307, USA.
18  */
19
20 /*
21  * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
22  * file for a list of people on the GTK+ Team.  See the ChangeLog
23  * files for a list of changes.  These files are distributed with
24  * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
25  */
26
27 #ifndef __GTK_STYLE_H__
28 #define __GTK_STYLE_H__
29
30
31 #include <gdk/gdk.h>
32 #include <gtk/gtkenums.h>
33 #include <pango/pango.h>
34
35 #ifdef __cplusplus
36 extern "C" {
37 #endif /* __cplusplus */
38
39 typedef struct _GtkStyle       GtkStyle;
40 typedef struct _GtkStyleClass  GtkStyleClass;
41
42 #define GTK_TYPE_STYLE              (gtk_style_get_type ())
43 #define GTK_STYLE(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), GTK_TYPE_STYLE, GtkStyle))
44 #define GTK_STYLE_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_STYLE, GtkStyleClass))
45 #define GTK_IS_STYLE(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), GTK_TYPE_STYLE))
46 #define GTK_IS_STYLE_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_STYLE))
47 #define GTK_STYLE_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_STYLE, GtkStyleClass))
48
49 /* Some forward declarations needed to rationalize the header
50  * files.
51  */
52 typedef struct _GtkThemeEngine GtkThemeEngine;
53 typedef struct _GtkRcStyle     GtkRcStyle;
54 typedef struct _GtkIconSet     GtkIconSet;
55 typedef struct _GtkIconSource  GtkIconSource;
56
57 /* We make this forward declaration here, since we pass
58  * GtkWidgt's to the draw functions.
59  */
60 typedef struct _GtkWidget      GtkWidget;
61
62 /* This is used for having dynamic style changing stuff
63  * fg, bg, light, dark, mid, text, base
64  */
65 #define GTK_STYLE_NUM_STYLECOLORS()     (7 * 5)
66
67 #define GTK_STYLE_ATTACHED(style)       (((GtkStyle*) (style))->attach_count > 0)
68
69 struct _GtkStyle
70 {
71   GObject parent_instance;
72
73   /*< public >*/
74   
75   GdkColor fg[5];
76   GdkColor bg[5];
77   GdkColor light[5];
78   GdkColor dark[5];
79   GdkColor mid[5];
80   GdkColor text[5];
81   GdkColor base[5];
82   
83   GdkColor black;
84   GdkColor white;
85   GdkFont *font;
86   PangoFontDescription *font_desc;
87   
88   gint xthickness;
89   gint ythickness;
90   
91   GdkGC *fg_gc[5];
92   GdkGC *bg_gc[5];
93   GdkGC *light_gc[5];
94   GdkGC *dark_gc[5];
95   GdkGC *mid_gc[5];
96   GdkGC *text_gc[5];
97   GdkGC *base_gc[5];
98   GdkGC *black_gc;
99   GdkGC *white_gc;
100   
101   GdkPixmap *bg_pixmap[5];
102
103   /*< private >*/
104   
105   gint attach_count;
106   
107   gint depth;
108   GdkColormap *colormap;
109   
110   GtkRcStyle     *rc_style;     /* the Rc style from which this style
111                                  * was created
112                                  */
113   GSList         *styles;
114
115   GSList         *icon_factories;
116 };
117
118 struct _GtkStyleClass
119 {
120   GObjectClass parent_class;
121
122   /* Initialize for a particular colormap/depth
123    * combination. style->colormap/style->depth will have
124    * been set at this point. Will typically chain to parent.
125    */
126   void (*realize)               (GtkStyle               *style);
127
128   /* Clean up for a particular colormap/depth combination. Will
129    * typically chain to parent.
130    */
131   void (*unrealize)             (GtkStyle               *style);
132
133   /* Make style an exact duplicate of src.
134    */
135   void (*copy)                  (GtkStyle               *style,
136                                  GtkStyle               *src);
137
138   /* Create an empty style of the same type as this style.
139    * The default implementation, which does
140    * g_object_new (G_OBJECT_TYPE (style), NULL);
141    * should work in most cases.
142    */
143   GtkStyle *(*clone)             (GtkStyle               *style);
144
145   /* Initialize the GtkStyle with the values in the GtkRcStyle.
146    * should chain to the parent implementation.
147    */
148   void     (*init_from_rc)      (GtkStyle               *style,
149                                  GtkRcStyle             *rc_style);
150
151   void (*set_background)        (GtkStyle               *style,
152                                  GdkWindow              *window,
153                                  GtkStateType            state_type);
154
155
156   GdkPixbuf * (* render_icon)   (GtkStyle               *style,
157                                  const GtkIconSource    *source,
158                                  GtkTextDirection        direction,
159                                  GtkStateType            state,
160                                  const gchar            *size,
161                                  GtkWidget              *widget,
162                                  const gchar            *detail);
163   
164   /* Drawing functions
165    */
166   
167   void (*draw_hline)            (GtkStyle               *style,
168                                  GdkWindow              *window,
169                                  GtkStateType            state_type,
170                                  GdkRectangle           *area,
171                                  GtkWidget              *widget,
172                                  const gchar            *detail,
173                                  gint                    x1,
174                                  gint                    x2,
175                                  gint                    y);
176   void (*draw_vline)            (GtkStyle               *style,
177                                  GdkWindow              *window,
178                                  GtkStateType            state_type,
179                                  GdkRectangle           *area,
180                                  GtkWidget              *widget,
181                                  const gchar            *detail,
182                                  gint                    y1,
183                                  gint                    y2,
184                                  gint                    x);
185   void (*draw_shadow)           (GtkStyle               *style,
186                                  GdkWindow              *window,
187                                  GtkStateType            state_type,
188                                  GtkShadowType           shadow_type,
189                                  GdkRectangle           *area,
190                                  GtkWidget              *widget,
191                                  const gchar            *detail,
192                                  gint                    x,
193                                  gint                    y,
194                                  gint                    width,
195                                  gint                    height);
196   void (*draw_polygon)          (GtkStyle               *style,
197                                  GdkWindow              *window,
198                                  GtkStateType            state_type,
199                                  GtkShadowType           shadow_type,
200                                  GdkRectangle           *area,
201                                  GtkWidget              *widget,
202                                  const gchar            *detail,
203                                  GdkPoint               *point,
204                                  gint                    npoints,
205                                  gboolean                fill);
206   void (*draw_arrow)            (GtkStyle               *style,
207                                  GdkWindow              *window,
208                                  GtkStateType            state_type,
209                                  GtkShadowType           shadow_type,
210                                  GdkRectangle           *area,
211                                  GtkWidget              *widget,
212                                  const gchar            *detail,
213                                  GtkArrowType            arrow_type,
214                                  gboolean                fill,
215                                  gint                    x,
216                                  gint                    y,
217                                  gint                    width,
218                                  gint                    height);
219   void (*draw_diamond)          (GtkStyle               *style,
220                                  GdkWindow              *window,
221                                  GtkStateType            state_type,
222                                  GtkShadowType           shadow_type,
223                                  GdkRectangle           *area,
224                                  GtkWidget              *widget,
225                                  const gchar            *detail,
226                                  gint                    x,
227                                  gint                    y,
228                                  gint                    width,
229                                  gint                    height);
230   void (*draw_oval)             (GtkStyle               *style,
231                                  GdkWindow              *window,
232                                  GtkStateType            state_type,
233                                  GtkShadowType           shadow_type,
234                                  GdkRectangle           *area,
235                                  GtkWidget              *widget,
236                                  const gchar            *detail,
237                                  gint                    x,
238                                  gint                    y,
239                                  gint                    width,
240                                  gint                    height);
241   void (*draw_string)           (GtkStyle               *style,
242                                  GdkWindow              *window,
243                                  GtkStateType            state_type,
244                                  GdkRectangle           *area,
245                                  GtkWidget              *widget,
246                                  const gchar            *detail,
247                                  gint                    x,
248                                  gint                    y,
249                                  const gchar            *string);
250   void (*draw_box)              (GtkStyle               *style,
251                                  GdkWindow              *window,
252                                  GtkStateType            state_type,
253                                  GtkShadowType           shadow_type,
254                                  GdkRectangle           *area,
255                                  GtkWidget              *widget,
256                                  const gchar            *detail,
257                                  gint                    x,
258                                  gint                    y,
259                                  gint                    width,
260                                  gint                    height);
261   void (*draw_flat_box)         (GtkStyle               *style,
262                                  GdkWindow              *window,
263                                  GtkStateType            state_type,
264                                  GtkShadowType           shadow_type,
265                                  GdkRectangle           *area,
266                                  GtkWidget              *widget,
267                                  const gchar            *detail,
268                                  gint                    x,
269                                  gint                    y,
270                                  gint                    width,
271                                  gint                    height);
272   void (*draw_check)            (GtkStyle               *style,
273                                  GdkWindow              *window,
274                                  GtkStateType            state_type,
275                                  GtkShadowType           shadow_type,
276                                  GdkRectangle           *area,
277                                  GtkWidget              *widget,
278                                  const gchar            *detail,
279                                  gint                    x,
280                                  gint                    y,
281                                  gint                    width,
282                                  gint                    height);
283   void (*draw_option)           (GtkStyle               *style,
284                                  GdkWindow              *window,
285                                  GtkStateType            state_type,
286                                  GtkShadowType           shadow_type,
287                                  GdkRectangle           *area,
288                                  GtkWidget              *widget,
289                                  const gchar            *detail,
290                                  gint                    x,
291                                  gint                    y,
292                                  gint                    width,
293                                  gint                    height);
294   void (*draw_cross)            (GtkStyle               *style,
295                                  GdkWindow              *window,
296                                  GtkStateType            state_type,
297                                  GtkShadowType           shadow_type,
298                                  GdkRectangle           *area,
299                                  GtkWidget              *widget,
300                                  const gchar            *detail,
301                                  gint                    x,
302                                  gint                    y,
303                                  gint                    width,
304                                  gint                    height);
305   void (*draw_ramp)             (GtkStyle               *style,
306                                  GdkWindow              *window,
307                                  GtkStateType            state_type,
308                                  GtkShadowType           shadow_type,
309                                  GdkRectangle           *area,
310                                  GtkWidget              *widget,
311                                  const gchar            *detail,
312                                  GtkArrowType            arrow_type,
313                                  gint                    x,
314                                  gint                    y,
315                                  gint                    width,
316                                  gint                    height);
317   void (*draw_tab)              (GtkStyle               *style,
318                                  GdkWindow              *window,
319                                  GtkStateType            state_type,
320                                  GtkShadowType           shadow_type,
321                                  GdkRectangle           *area,
322                                  GtkWidget              *widget,
323                                  const gchar            *detail,
324                                  gint                    x,
325                                  gint                    y,
326                                  gint                    width,
327                                  gint                    height); 
328   void (*draw_shadow_gap)       (GtkStyle               *style,
329                                  GdkWindow              *window,
330                                  GtkStateType            state_type,
331                                  GtkShadowType           shadow_type,
332                                  GdkRectangle           *area,
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_box_gap)          (GtkStyle               *style,
343                                  GdkWindow              *window,
344                                  GtkStateType            state_type,
345                                  GtkShadowType           shadow_type,
346                                  GdkRectangle           *area,
347                                  GtkWidget              *widget,
348                                  const gchar            *detail,
349                                  gint                    x,
350                                  gint                    y,
351                                  gint                    width,
352                                  gint                    height,
353                                  GtkPositionType         gap_side,
354                                  gint                    gap_x,
355                                  gint                    gap_width);
356   void (*draw_extension)        (GtkStyle               *style,
357                                  GdkWindow              *window,
358                                  GtkStateType            state_type,
359                                  GtkShadowType           shadow_type,
360                                  GdkRectangle           *area,
361                                  GtkWidget              *widget,
362                                  const gchar            *detail,
363                                  gint                    x,
364                                  gint                    y,
365                                  gint                    width,
366                                  gint                    height,
367                                  GtkPositionType         gap_side);
368   void (*draw_focus)            (GtkStyle               *style,
369                                  GdkWindow              *window,
370                                  GdkRectangle           *area,
371                                  GtkWidget              *widget,
372                                  const gchar            *detail,
373                                  gint                    x,
374                                  gint                    y,
375                                  gint                    width,
376                                  gint                    height);
377   void (*draw_slider)           (GtkStyle               *style,
378                                  GdkWindow              *window,
379                                  GtkStateType            state_type,
380                                  GtkShadowType           shadow_type,
381                                  GdkRectangle           *area,
382                                  GtkWidget              *widget,
383                                  const gchar            *detail,
384                                  gint                    x,
385                                  gint                    y,
386                                  gint                    width,
387                                  gint                    height,
388                                  GtkOrientation          orientation);
389   void (*draw_handle)           (GtkStyle               *style,
390                                  GdkWindow              *window,
391                                  GtkStateType            state_type,
392                                  GtkShadowType           shadow_type,
393                                  GdkRectangle           *area,
394                                  GtkWidget              *widget,
395                                  const gchar            *detail,
396                                  gint                    x,
397                                  gint                    y,
398                                  gint                    width,
399                                  gint                    height,
400                                  GtkOrientation          orientation);
401 };
402
403 GType     gtk_style_get_type                 (void) G_GNUC_CONST;
404 GtkStyle* gtk_style_new                      (void);
405 GtkStyle* gtk_style_copy                     (GtkStyle      *style);
406 GtkStyle* gtk_style_attach                   (GtkStyle      *style,
407                                               GdkWindow     *window);
408 void      gtk_style_detach                   (GtkStyle     *style);
409 GtkStyle* gtk_style_ref                      (GtkStyle     *style);
410 void      gtk_style_unref                    (GtkStyle     *style);
411 void      gtk_style_set_background           (GtkStyle     *style,
412                                               GdkWindow    *window,
413                                               GtkStateType  state_type);
414 void      gtk_style_apply_default_background (GtkStyle     *style,
415                                               GdkWindow    *window,
416                                               gboolean      set_bg,
417                                               GtkStateType  state_type, 
418                                               GdkRectangle *area, 
419                                               gint          x, 
420                                               gint          y, 
421                                               gint          width, 
422                                               gint          height);
423
424 GtkIconSet* gtk_style_lookup_icon_set (GtkStyle            *style,
425                                        const gchar         *stock_id);
426 GdkPixbuf * gtk_style_render_icon     (GtkStyle            *style,
427                                        const GtkIconSource *source,
428                                        GtkTextDirection     direction,
429                                        GtkStateType         state,
430                                        const gchar *        size,
431                                        GtkWidget           *widget,
432                                        const gchar         *detail);
433 void gtk_draw_hline      (GtkStyle        *style,
434                           GdkWindow       *window,
435                           GtkStateType     state_type,
436                           gint             x1,
437                           gint             x2,
438                           gint             y);
439 void gtk_draw_vline      (GtkStyle        *style,
440                           GdkWindow       *window,
441                           GtkStateType     state_type,
442                           gint             y1,
443                           gint             y2,
444                           gint             x);
445 void gtk_draw_shadow     (GtkStyle        *style,
446                           GdkWindow       *window,
447                           GtkStateType     state_type,
448                           GtkShadowType    shadow_type,
449                           gint             x,
450                           gint             y,
451                           gint             width,
452                           gint             height);
453 void gtk_draw_polygon    (GtkStyle        *style,
454                           GdkWindow       *window,
455                           GtkStateType     state_type,
456                           GtkShadowType    shadow_type,
457                           GdkPoint        *points,
458                           gint             npoints,
459                           gboolean         fill);
460 void gtk_draw_arrow      (GtkStyle        *style,
461                           GdkWindow       *window,
462                           GtkStateType     state_type,
463                           GtkShadowType    shadow_type,
464                           GtkArrowType     arrow_type,
465                           gboolean         fill,
466                           gint             x,
467                           gint             y,
468                           gint             width,
469                           gint             height);
470 void gtk_draw_diamond    (GtkStyle        *style,
471                           GdkWindow       *window,
472                           GtkStateType     state_type,
473                           GtkShadowType    shadow_type,
474                           gint             x,
475                           gint             y,
476                           gint             width,
477                           gint             height);
478 void gtk_draw_oval       (GtkStyle        *style,
479                           GdkWindow       *window,
480                           GtkStateType     state_type,
481                           GtkShadowType    shadow_type,
482                           gint             x,
483                           gint             y,
484                           gint             width,
485                           gint             height);
486 void gtk_draw_string     (GtkStyle        *style,
487                           GdkWindow       *window,
488                           GtkStateType     state_type,
489                           gint             x,
490                           gint             y,
491                           const gchar     *string);
492 void gtk_draw_box        (GtkStyle        *style,
493                           GdkWindow       *window,
494                           GtkStateType     state_type,
495                           GtkShadowType    shadow_type,
496                           gint             x,
497                           gint             y,
498                           gint             width,
499                           gint             height);
500 void gtk_draw_flat_box   (GtkStyle        *style,
501                           GdkWindow       *window,
502                           GtkStateType     state_type,
503                           GtkShadowType    shadow_type,
504                           gint             x,
505                           gint             y,
506                           gint             width,
507                           gint             height);
508 void gtk_draw_check      (GtkStyle        *style,
509                           GdkWindow       *window,
510                           GtkStateType     state_type,
511                           GtkShadowType    shadow_type,
512                           gint             x,
513                           gint             y,
514                           gint             width,
515                           gint             height);
516 void gtk_draw_option     (GtkStyle        *style,
517                           GdkWindow       *window,
518                           GtkStateType     state_type,
519                           GtkShadowType    shadow_type,
520                           gint             x,
521                           gint             y,
522                           gint             width,
523                           gint             height);
524 void gtk_draw_cross      (GtkStyle        *style,
525                           GdkWindow       *window,
526                           GtkStateType     state_type,
527                           GtkShadowType    shadow_type,
528                           gint             x,
529                           gint             y,
530                           gint             width,
531                           gint             height);
532 void gtk_draw_ramp       (GtkStyle        *style,
533                           GdkWindow       *window,
534                           GtkStateType     state_type,
535                           GtkShadowType    shadow_type,
536                           GtkArrowType     arrow_type,
537                           gint             x,
538                           gint             y,
539                           gint             width,
540                           gint             height);
541 void gtk_draw_tab        (GtkStyle        *style,
542                           GdkWindow       *window,
543                           GtkStateType     state_type,
544                           GtkShadowType    shadow_type,
545                           gint             x,
546                           gint             y,
547                           gint             width,
548                           gint             height);
549 void gtk_draw_shadow_gap (GtkStyle        *style,
550                           GdkWindow       *window,
551                           GtkStateType     state_type,
552                           GtkShadowType    shadow_type,
553                           gint             x,
554                           gint             y,
555                           gint             width,
556                           gint             height,
557                           GtkPositionType  gap_side,
558                           gint             gap_x,
559                           gint             gap_width);
560 void gtk_draw_box_gap    (GtkStyle        *style,
561                           GdkWindow       *window,
562                           GtkStateType     state_type,
563                           GtkShadowType    shadow_type,
564                           gint             x,
565                           gint             y,
566                           gint             width,
567                           gint             height,
568                           GtkPositionType  gap_side,
569                           gint             gap_x,
570                           gint             gap_width);
571 void gtk_draw_extension  (GtkStyle        *style,
572                           GdkWindow       *window,
573                           GtkStateType     state_type,
574                           GtkShadowType    shadow_type,
575                           gint             x,
576                           gint             y,
577                           gint             width,
578                           gint             height,
579                           GtkPositionType  gap_side);
580 void gtk_draw_focus      (GtkStyle        *style,
581                           GdkWindow       *window,
582                           gint             x,
583                           gint             y,
584                           gint             width,
585                           gint             height);
586 void gtk_draw_slider     (GtkStyle        *style,
587                           GdkWindow       *window,
588                           GtkStateType     state_type,
589                           GtkShadowType    shadow_type,
590                           gint             x,
591                           gint             y,
592                           gint             width,
593                           gint             height,
594                           GtkOrientation   orientation);
595 void gtk_draw_handle     (GtkStyle        *style,
596                           GdkWindow       *window,
597                           GtkStateType     state_type,
598                           GtkShadowType    shadow_type,
599                           gint             x,
600                           gint             y,
601                           gint             width,
602                           gint             height,
603                           GtkOrientation   orientation);
604
605 void gtk_paint_hline      (GtkStyle        *style,
606                            GdkWindow       *window,
607                            GtkStateType     state_type,
608                            GdkRectangle    *area,
609                            GtkWidget       *widget,
610                            const gchar     *detail,
611                            gint             x1,
612                            gint             x2,
613                            gint             y);
614 void gtk_paint_vline      (GtkStyle        *style,
615                            GdkWindow       *window,
616                            GtkStateType     state_type,
617                            GdkRectangle    *area,
618                            GtkWidget       *widget,
619                            const gchar     *detail,
620                            gint             y1,
621                            gint             y2,
622                            gint             x);
623 void gtk_paint_shadow     (GtkStyle        *style,
624                            GdkWindow       *window,
625                            GtkStateType     state_type,
626                            GtkShadowType    shadow_type,
627                            GdkRectangle    *area,
628                            GtkWidget       *widget,
629                            const gchar     *detail,
630                            gint             x,
631                            gint             y,
632                            gint             width,
633                            gint             height);
634 void gtk_paint_polygon    (GtkStyle        *style,
635                            GdkWindow       *window,
636                            GtkStateType     state_type,
637                            GtkShadowType    shadow_type,
638                            GdkRectangle    *area,
639                            GtkWidget       *widget,
640                            const gchar     *detail,
641                            GdkPoint        *points,
642                            gint             npoints,
643                            gboolean         fill);
644 void gtk_paint_arrow      (GtkStyle        *style,
645                            GdkWindow       *window,
646                            GtkStateType     state_type,
647                            GtkShadowType    shadow_type,
648                            GdkRectangle    *area,
649                            GtkWidget       *widget,
650                            const gchar     *detail,
651                            GtkArrowType     arrow_type,
652                            gboolean         fill,
653                            gint             x,
654                            gint             y,
655                            gint             width,
656                            gint             height);
657 void gtk_paint_diamond    (GtkStyle        *style,
658                            GdkWindow       *window,
659                            GtkStateType     state_type,
660                            GtkShadowType    shadow_type,
661                            GdkRectangle    *area,
662                            GtkWidget       *widget,
663                            const gchar     *detail,
664                            gint             x,
665                            gint             y,
666                            gint             width,
667                            gint             height);
668 void gtk_paint_oval       (GtkStyle        *style,
669                            GdkWindow       *window,
670                            GtkStateType     state_type,
671                            GtkShadowType    shadow_type,
672                            GdkRectangle    *area,
673                            GtkWidget       *widget,
674                            const gchar     *detail,
675                            gint             x,
676                            gint             y,
677                            gint             width,
678                            gint             height);
679 void gtk_paint_string     (GtkStyle        *style,
680                            GdkWindow       *window,
681                            GtkStateType     state_type,
682                            GdkRectangle    *area,
683                            GtkWidget       *widget,
684                            const gchar     *detail,
685                            gint             x,
686                            gint             y,
687                            const gchar     *string);
688 void gtk_paint_box        (GtkStyle        *style,
689                            GdkWindow       *window,
690                            GtkStateType     state_type,
691                            GtkShadowType    shadow_type,
692                            GdkRectangle    *area,
693                            GtkWidget       *widget,
694                            const gchar     *detail,
695                            gint             x,
696                            gint             y,
697                            gint             width,
698                            gint             height);
699 void gtk_paint_flat_box   (GtkStyle        *style,
700                            GdkWindow       *window,
701                            GtkStateType     state_type,
702                            GtkShadowType    shadow_type,
703                            GdkRectangle    *area,
704                            GtkWidget       *widget,
705                            const gchar     *detail,
706                            gint             x,
707                            gint             y,
708                            gint             width,
709                            gint             height);
710 void gtk_paint_check      (GtkStyle        *style,
711                            GdkWindow       *window,
712                            GtkStateType     state_type,
713                            GtkShadowType    shadow_type,
714                            GdkRectangle    *area,
715                            GtkWidget       *widget,
716                            const gchar     *detail,
717                            gint             x,
718                            gint             y,
719                            gint             width,
720                            gint             height);
721 void gtk_paint_option     (GtkStyle        *style,
722                            GdkWindow       *window,
723                            GtkStateType     state_type,
724                            GtkShadowType    shadow_type,
725                            GdkRectangle    *area,
726                            GtkWidget       *widget,
727                            const gchar     *detail,
728                            gint             x,
729                            gint             y,
730                            gint             width,
731                            gint             height);
732 void gtk_paint_cross      (GtkStyle        *style,
733                            GdkWindow       *window,
734                            GtkStateType     state_type,
735                            GtkShadowType    shadow_type,
736                            GdkRectangle    *area,
737                            GtkWidget       *widget,
738                            const gchar     *detail,
739                            gint             x,
740                            gint             y,
741                            gint             width,
742                            gint             height);
743 void gtk_paint_ramp       (GtkStyle        *style,
744                            GdkWindow       *window,
745                            GtkStateType     state_type,
746                            GtkShadowType    shadow_type,
747                            GdkRectangle    *area,
748                            GtkWidget       *widget,
749                            const gchar     *detail,
750                            GtkArrowType     arrow_type,
751                            gint             x,
752                            gint             y,
753                            gint             width,
754                            gint             height);
755 void gtk_paint_tab        (GtkStyle        *style,
756                            GdkWindow       *window,
757                            GtkStateType     state_type,
758                            GtkShadowType    shadow_type,
759                            GdkRectangle    *area,
760                            GtkWidget       *widget,
761                            const gchar     *detail,
762                            gint             x,
763                            gint             y,
764                            gint             width,
765                            gint             height);
766 void gtk_paint_shadow_gap (GtkStyle        *style,
767                            GdkWindow       *window,
768                            GtkStateType     state_type,
769                            GtkShadowType    shadow_type,
770                            GdkRectangle    *area,
771                            GtkWidget       *widget,
772                            gchar           *detail,
773                            gint             x,
774                            gint             y,
775                            gint             width,
776                            gint             height,
777                            GtkPositionType  gap_side,
778                            gint             gap_x,
779                            gint             gap_width);
780 void gtk_paint_box_gap    (GtkStyle        *style,
781                            GdkWindow       *window,
782                            GtkStateType     state_type,
783                            GtkShadowType    shadow_type,
784                            GdkRectangle    *area,
785                            GtkWidget       *widget,
786                            gchar           *detail,
787                            gint             x,
788                            gint             y,
789                            gint             width,
790                            gint             height,
791                            GtkPositionType  gap_side,
792                            gint             gap_x,
793                            gint             gap_width);
794 void gtk_paint_extension  (GtkStyle        *style,
795                            GdkWindow       *window,
796                            GtkStateType     state_type,
797                            GtkShadowType    shadow_type,
798                            GdkRectangle    *area,
799                            GtkWidget       *widget,
800                            gchar           *detail,
801                            gint             x,
802                            gint             y,
803                            gint             width,
804                            gint             height,
805                            GtkPositionType  gap_side);
806 void gtk_paint_focus      (GtkStyle        *style,
807                            GdkWindow       *window,
808                            GdkRectangle    *area,
809                            GtkWidget       *widget,
810                            const gchar     *detail,
811                            gint             x,
812                            gint             y,
813                            gint             width,
814                            gint             height);
815 void gtk_paint_slider     (GtkStyle        *style,
816                            GdkWindow       *window,
817                            GtkStateType     state_type,
818                            GtkShadowType    shadow_type,
819                            GdkRectangle    *area,
820                            GtkWidget       *widget,
821                            const gchar     *detail,
822                            gint             x,
823                            gint             y,
824                            gint             width,
825                            gint             height,
826                            GtkOrientation   orientation);
827 void gtk_paint_handle     (GtkStyle        *style,
828                            GdkWindow       *window,
829                            GtkStateType     state_type,
830                            GtkShadowType    shadow_type,
831                            GdkRectangle    *area,
832                            GtkWidget       *widget,
833                            const gchar     *detail,
834                            gint             x,
835                            gint             y,
836                            gint             width,
837                            gint             height,
838                            GtkOrientation   orientation);
839
840
841 #ifdef __cplusplus
842 }
843 #endif /* __cplusplus */
844
845
846 #endif /* __GTK_STYLE_H__ */