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