]> Pileus Git - ~andy/gtk/blob - gdk/gdkdrawable.h
Doc comment fixing. (Mostly non-matching parameter names.)
[~andy/gtk] / gdk / gdkdrawable.h
1 #ifndef __GDK_DRAWABLE_H__
2 #define __GDK_DRAWABLE_H__
3
4 #include <gdk/gdktypes.h>
5 #include <gdk/gdkgc.h>
6
7 #ifdef __cplusplus
8 extern "C" {
9 #endif /* __cplusplus */
10
11 typedef struct _GdkDrawableClass GdkDrawableClass;
12
13 #define GDK_TYPE_DRAWABLE              (gdk_drawable_get_type ())
14 #define GDK_DRAWABLE(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DRAWABLE, GdkDrawable))
15 #define GDK_DRAWABLE_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DRAWABLE, GdkDrawableClass))
16 #define GDK_IS_DRAWABLE(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DRAWABLE))
17 #define GDK_IS_DRAWABLE_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DRAWABLE))
18 #define GDK_DRAWABLE_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DRAWABLE, GdkDrawableClass))
19
20 struct _GdkDrawable
21 {
22   GObject parent_instance;
23 };
24  
25 struct _GdkDrawableClass 
26 {
27   GObjectClass parent_class;
28   
29   GdkGC *(*create_gc)    (GdkDrawable    *drawable,
30                           GdkGCValues    *values,
31                           GdkGCValuesMask mask);
32   void (*draw_rectangle) (GdkDrawable  *drawable,
33                           GdkGC        *gc,
34                           gint          filled,
35                           gint          x,
36                           gint          y,
37                           gint          width,
38                           gint          height);
39   void (*draw_arc)       (GdkDrawable  *drawable,
40                           GdkGC        *gc,
41                           gint          filled,
42                           gint          x,
43                           gint          y,
44                           gint          width,
45                           gint          height,
46                           gint          angle1,
47                           gint          angle2);
48   void (*draw_polygon)   (GdkDrawable  *drawable,
49                           GdkGC        *gc,
50                           gint          filled,
51                           GdkPoint     *points,
52                           gint          npoints);
53   void (*draw_text)      (GdkDrawable  *drawable,
54                           GdkFont      *font,
55                           GdkGC        *gc,
56                           gint          x,
57                           gint          y,
58                           const gchar  *text,
59                           gint          text_length);
60   void (*draw_text_wc)   (GdkDrawable    *drawable,
61                           GdkFont        *font,
62                           GdkGC          *gc,
63                           gint            x,
64                           gint            y,
65                           const GdkWChar *text,
66                           gint            text_length);
67   void (*draw_drawable)  (GdkDrawable  *drawable,
68                           GdkGC        *gc,
69                           GdkDrawable  *src,
70                           gint          xsrc,
71                           gint          ysrc,
72                           gint          xdest,
73                           gint          ydest,
74                           gint          width,
75                           gint          height);
76   void (*draw_points)    (GdkDrawable  *drawable,
77                           GdkGC        *gc,
78                           GdkPoint     *points,
79                           gint          npoints);
80   void (*draw_segments)  (GdkDrawable  *drawable,
81                           GdkGC        *gc,
82                           GdkSegment   *segs,
83                           gint          nsegs);
84   void (*draw_lines)     (GdkDrawable  *drawable,
85                           GdkGC        *gc,
86                           GdkPoint     *points,
87                           gint          npoints);
88
89   void (*draw_glyphs)    (GdkDrawable      *drawable,
90                           GdkGC            *gc,
91                           PangoFont        *font,
92                           gint              x,
93                           gint              y,
94                           PangoGlyphString *glyphs);
95
96   void (*draw_image)     (GdkDrawable *drawable,
97                           GdkGC       *gc,
98                           GdkImage    *image,
99                           gint         xsrc,
100                           gint         ysrc,
101                           gint         xdest,
102                           gint         ydest,
103                           gint         width,
104                           gint         height);
105   
106   gint (*get_depth)      (GdkDrawable  *drawable);
107   void (*get_size)       (GdkDrawable  *drawable,
108                           gint         *width,
109                           gint         *height);
110
111   void (*set_colormap)   (GdkDrawable  *drawable,
112                           GdkColormap  *cmap);
113
114   GdkColormap* (*get_colormap) (GdkDrawable *drawable);
115   GdkVisual*   (*get_visual) (GdkDrawable  *drawable);
116 };
117
118 GType           gdk_drawable_get_type     (void);
119
120 /* Manipulation of drawables
121  */
122
123 void            gdk_drawable_set_data     (GdkDrawable    *drawable,
124                                            const gchar    *key,
125                                            gpointer       data,
126                                            GDestroyNotify  destroy_func);
127 gpointer        gdk_drawable_get_data     (GdkDrawable    *drawable,
128                                            const gchar    *key);
129
130 void            gdk_drawable_get_size     (GdkDrawable    *drawable,
131                                            gint           *width,
132                                            gint           *height);
133 void            gdk_drawable_set_colormap (GdkDrawable    *drawable,
134                                            GdkColormap    *colormap);
135 GdkColormap*    gdk_drawable_get_colormap (GdkDrawable    *drawable);
136 GdkVisual*      gdk_drawable_get_visual   (GdkDrawable    *drawable);
137 gint            gdk_drawable_get_depth    (GdkDrawable    *drawable);
138 GdkDrawable*    gdk_drawable_ref          (GdkDrawable    *drawable);
139 void            gdk_drawable_unref        (GdkDrawable    *drawable);
140
141 /* Drawing
142  */
143 void gdk_draw_point     (GdkDrawable      *drawable,
144                          GdkGC            *gc,
145                          gint              x,
146                          gint              y);
147 void gdk_draw_line      (GdkDrawable      *drawable,
148                          GdkGC            *gc,
149                          gint              x1,
150                          gint              y1,
151                          gint              x2,
152                          gint              y2);
153 void gdk_draw_rectangle (GdkDrawable      *drawable,
154                          GdkGC            *gc,
155                          gint              filled,
156                          gint              x,
157                          gint              y,
158                          gint              width,
159                          gint              height);
160 void gdk_draw_arc       (GdkDrawable      *drawable,
161                          GdkGC            *gc,
162                          gint              filled,
163                          gint              x,
164                          gint              y,
165                          gint              width,
166                          gint              height,
167                          gint              angle1,
168                          gint              angle2);
169 void gdk_draw_polygon   (GdkDrawable      *drawable,
170                          GdkGC            *gc,
171                          gint              filled,
172                          GdkPoint         *points,
173                          gint              npoints);
174 void gdk_draw_string    (GdkDrawable      *drawable,
175                          GdkFont          *font,
176                          GdkGC            *gc,
177                          gint              x,
178                          gint              y,
179                          const gchar      *string);
180 void gdk_draw_text      (GdkDrawable      *drawable,
181                          GdkFont          *font,
182                          GdkGC            *gc,
183                          gint              x,
184                          gint              y,
185                          const gchar      *text,
186                          gint              text_length);
187 void gdk_draw_text_wc   (GdkDrawable      *drawable,
188                          GdkFont          *font,
189                          GdkGC            *gc,
190                          gint              x,
191                          gint              y,
192                          const GdkWChar   *text,
193                          gint              text_length);
194 void gdk_draw_drawable  (GdkDrawable      *drawable,
195                          GdkGC            *gc,
196                          GdkDrawable      *src,
197                          gint              xsrc,
198                          gint              ysrc,
199                          gint              xdest,
200                          gint              ydest,
201                          gint              width,
202                          gint              height);
203 void gdk_draw_image     (GdkDrawable      *drawable,
204                          GdkGC            *gc,
205                          GdkImage         *image,
206                          gint              xsrc,
207                          gint              ysrc,
208                          gint              xdest,
209                          gint              ydest,
210                          gint              width,
211                          gint              height);
212 void gdk_draw_points    (GdkDrawable      *drawable,
213                          GdkGC            *gc,
214                          GdkPoint         *points,
215                          gint              npoints);
216 void gdk_draw_segments  (GdkDrawable      *drawable,
217                          GdkGC            *gc,
218                          GdkSegment       *segs,
219                          gint              nsegs);
220 void gdk_draw_lines     (GdkDrawable      *drawable,
221                          GdkGC            *gc,
222                          GdkPoint         *points,
223                          gint              npoints);
224
225 void gdk_draw_glyphs      (GdkDrawable      *drawable,
226                            GdkGC            *gc,
227                            PangoFont        *font,
228                            gint              x,
229                            gint              y,
230                            PangoGlyphString *glyphs);
231 void gdk_draw_layout_line (GdkDrawable      *drawable,
232                            GdkGC            *gc,
233                            gint              x,
234                            gint              y,
235                            PangoLayoutLine  *line);
236 void gdk_draw_layout      (GdkDrawable      *drawable,
237                            GdkGC            *gc,
238                            gint              x,
239                            gint              y,
240                            PangoLayout      *layout);
241
242 #ifdef __cplusplus
243 }
244 #endif /* __cplusplus */
245
246 #endif /* __GDK_DRAWABLE_H__ */