]> Pileus Git - ~andy/gtk/blob - gtk/gtkstyle.h
Merge from themes-2. See the ChangeLog for a somewhat detailed
[~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 /*
527  * NEW API CALLS
528  * 
529  * NEW API CALLS
530  * 
531  * NEW API CALLS
532  * 
533  * NEW API CALLS
534  * 
535  * NEW API CALLS
536  * 
537  * NEW API CALLS
538  * 
539  * NEW API CALLS
540  * 
541  * NEW API CALLS
542  * 
543  */
544    
545    
546 void gtk_paint_hline   (GtkStyle      *style,
547                         GdkWindow     *window,
548                         GtkStateType   state_type,
549                         GdkRectangle  *area,
550                         GtkWidget     *widget,
551                         gchar         *detail,
552                         gint           x1,
553                         gint           x2,
554                         gint           y);
555 void gtk_paint_vline   (GtkStyle      *style,
556                         GdkWindow     *window,
557                         GtkStateType   state_type,
558                         GdkRectangle  *area,
559                         GtkWidget     *widget,
560                         gchar         *detail,
561                         gint           y1,
562                         gint           y2,
563                         gint           x);
564 void gtk_paint_shadow  (GtkStyle     *style,
565                         GdkWindow    *window,
566                         GtkStateType  state_type,
567                         GtkShadowType shadow_type,
568                         GdkRectangle  *area,
569                         GtkWidget     *widget,
570                         gchar         *detail,
571                         gint           x,
572                         gint           y,
573                         gint           width,
574                         gint           height);
575 void gtk_paint_polygon (GtkStyle      *style,
576                         GdkWindow     *window,
577                         GtkStateType   state_type,
578                         GtkShadowType  shadow_type,
579                         GdkRectangle  *area,
580                         GtkWidget     *widget,
581                         gchar         *detail,
582                         GdkPoint      *points,
583                         gint           npoints,
584                         gboolean       fill);
585 void gtk_paint_arrow   (GtkStyle      *style,
586                         GdkWindow     *window,
587                         GtkStateType   state_type,
588                         GtkShadowType  shadow_type,
589                         GdkRectangle  *area,
590                         GtkWidget     *widget,
591                         gchar         *detail,
592                         GtkArrowType   arrow_type,
593                         gboolean       fill,
594                         gint           x,
595                         gint           y,
596                         gint           width,
597                         gint           height);
598 void gtk_paint_diamond (GtkStyle      *style,
599                         GdkWindow     *window,
600                         GtkStateType   state_type,
601                         GtkShadowType  shadow_type,
602                         GdkRectangle  *area,
603                         GtkWidget     *widget,
604                         gchar         *detail,
605                         gint           x,
606                         gint           y,
607                         gint           width,
608                         gint           height);
609 void gtk_paint_oval    (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_string  (GtkStyle      *style,
621                         GdkWindow     *window,
622                         GtkStateType   state_type,
623                         GdkRectangle  *area,
624                         GtkWidget     *widget,
625                         gchar         *detail,
626                         gint           x,
627                         gint           y,
628                         const gchar   *string);
629 void gtk_paint_box     (GtkStyle      *style,
630                         GdkWindow     *window,
631                         GtkStateType   state_type,
632                         GtkShadowType  shadow_type,
633                         GdkRectangle  *area,
634                         GtkWidget     *widget,
635                         gchar         *detail,
636                         gint           x,
637                         gint           y,
638                         gint           width,
639                         gint           height);
640 void gtk_paint_flat_box (GtkStyle      *style,
641                          GdkWindow     *window,
642                          GtkStateType   state_type,
643                          GtkShadowType  shadow_type,
644                          GdkRectangle  *area,
645                          GtkWidget     *widget,
646                          gchar         *detail,
647                          gint           x,
648                          gint           y,
649                          gint           width,
650                          gint           height);
651 void gtk_paint_check   (GtkStyle      *style,
652                         GdkWindow     *window,
653                         GtkStateType   state_type,
654                         GtkShadowType  shadow_type,
655                         GdkRectangle  *area,
656                         GtkWidget     *widget,
657                         gchar         *detail,
658                         gint           x,
659                         gint           y,
660                         gint           width,
661                         gint           height);
662 void gtk_paint_option  (GtkStyle      *style,
663                         GdkWindow     *window,
664                         GtkStateType   state_type,
665                         GtkShadowType  shadow_type,
666                         GdkRectangle  *area,
667                         GtkWidget     *widget,
668                         gchar         *detail,
669                         gint           x,
670                         gint           y,
671                         gint           width,
672                         gint           height);
673 void gtk_paint_cross   (GtkStyle      *style,
674                         GdkWindow     *window,
675                         GtkStateType   state_type,
676                         GtkShadowType  shadow_type,
677                         GdkRectangle  *area,
678                         GtkWidget     *widget,
679                         gchar         *detail,
680                         gint           x,
681                         gint           y,
682                         gint           width,
683                         gint           height);
684 void gtk_paint_ramp    (GtkStyle      *style,
685                         GdkWindow     *window,
686                         GtkStateType   state_type,
687                         GtkShadowType  shadow_type,
688                         GdkRectangle  *area,
689                         GtkWidget     *widget,
690                         gchar         *detail,
691                         GtkArrowType   arrow_type,
692                         gint           x,
693                         gint           y,
694                         gint           width,
695                         gint           height);
696 void gtk_paint_tab     (GtkStyle      *style,
697                         GdkWindow     *window,
698                         GtkStateType   state_type,
699                         GtkShadowType  shadow_type,
700                         GdkRectangle  *area,
701                         GtkWidget     *widget,
702                         gchar         *detail,
703                         gint           x,
704                         gint           y,
705                         gint           width,
706                         gint           height);
707 void gtk_paint_shadow_gap (GtkStyle       *style,
708                            GdkWindow      *window,
709                            GtkStateType    state_type,
710                            GtkShadowType   shadow_type,
711                            GdkRectangle   *area,
712                            GtkWidget      *widget,
713                            gchar          *detail,
714                            gint            x,
715                            gint            y,
716                            gint            width,
717                            gint            height,
718                            GtkPositionType gap_side,
719                            gint            gap_x,
720                            gint            gap_width);
721 void gtk_paint_box_gap (GtkStyle       *style,
722                         GdkWindow      *window,
723                         GtkStateType    state_type,
724                         GtkShadowType   shadow_type,
725                         GdkRectangle   *area,
726                         GtkWidget      *widget,
727                         gchar          *detail,
728                         gint            x,
729                         gint            y,
730                         gint            width,
731                         gint            height,
732                         GtkPositionType gap_side,
733                         gint            gap_x,
734                         gint            gap_width);
735 void gtk_paint_extension (GtkStyle       *style,
736                           GdkWindow      *window,
737                           GtkStateType    state_type,
738                           GtkShadowType   shadow_type,
739                           GdkRectangle   *area,
740                           GtkWidget      *widget,
741                           gchar          *detail,
742                           gint            x,
743                           gint            y,
744                           gint            width,
745                           gint            height,
746                           GtkPositionType gap_side);
747 void gtk_paint_focus   (GtkStyle      *style,
748                         GdkWindow     *window,
749                         GdkRectangle  *area,
750                         GtkWidget     *widget,
751                         gchar         *detail,
752                         gint           x,
753                         gint           y,
754                         gint           width,
755                         gint           height);
756 void gtk_paint_slider  (GtkStyle      *style,
757                         GdkWindow     *window,
758                         GtkStateType   state_type,
759                         GtkShadowType  shadow_type,
760                         GdkRectangle  *area,
761                         GtkWidget     *widget,
762                         gchar         *detail,
763                         gint           x,
764                         gint           y,
765                         gint           width,
766                         gint           height,
767                         GtkOrientation orientation);
768 void gtk_paint_handle  (GtkStyle      *style,
769                         GdkWindow     *window,
770                         GtkStateType   state_type,
771                         GtkShadowType  shadow_type,
772                         GdkRectangle  *area,
773                         GtkWidget     *widget,
774                         gchar         *detail,
775                         gint           x,
776                         gint           y,
777                         gint           width,
778                         gint           height,
779                         GtkOrientation orientation);
780
781 void gtk_reset_widget_shapes(GtkWidget *widget);
782       
783 #ifdef __cplusplus
784 }
785 #endif /* __cplusplus */
786
787
788 #endif /* __GTK_STYLE_H__ */