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