1 #ifndef __GDK_DRAWABLE_H__
2 #define __GDK_DRAWABLE_H__
4 #include <gdk/gdktypes.h>
9 #endif /* __cplusplus */
11 typedef struct _GdkDrawableClass GdkDrawableClass;
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))
22 GObject parent_instance;
25 struct _GdkDrawableClass
27 GObjectClass parent_class;
29 GdkGC *(*create_gc) (GdkDrawable *drawable,
31 GdkGCValuesMask mask);
32 void (*draw_rectangle) (GdkDrawable *drawable,
39 void (*draw_arc) (GdkDrawable *drawable,
48 void (*draw_polygon) (GdkDrawable *drawable,
53 void (*draw_text) (GdkDrawable *drawable,
60 void (*draw_text_wc) (GdkDrawable *drawable,
67 void (*draw_drawable) (GdkDrawable *drawable,
76 void (*draw_points) (GdkDrawable *drawable,
80 void (*draw_segments) (GdkDrawable *drawable,
84 void (*draw_lines) (GdkDrawable *drawable,
89 void (*draw_glyphs) (GdkDrawable *drawable,
94 PangoGlyphString *glyphs);
96 void (*draw_image) (GdkDrawable *drawable,
106 gint (*get_depth) (GdkDrawable *drawable);
107 void (*get_size) (GdkDrawable *drawable,
111 void (*set_colormap) (GdkDrawable *drawable,
114 GdkColormap* (*get_colormap) (GdkDrawable *drawable);
115 GdkVisual* (*get_visual) (GdkDrawable *drawable);
118 GType gdk_drawable_get_type (void);
120 /* Manipulation of drawables
123 void gdk_drawable_set_data (GdkDrawable *drawable,
126 GDestroyNotify destroy_func);
127 gpointer gdk_drawable_get_data (GdkDrawable *drawable,
130 void gdk_drawable_get_size (GdkDrawable *drawable,
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);
143 void gdk_draw_point (GdkDrawable *drawable,
147 void gdk_draw_line (GdkDrawable *drawable,
153 void gdk_draw_rectangle (GdkDrawable *drawable,
160 void gdk_draw_arc (GdkDrawable *drawable,
169 void gdk_draw_polygon (GdkDrawable *drawable,
174 void gdk_draw_string (GdkDrawable *drawable,
179 const gchar *string);
180 void gdk_draw_text (GdkDrawable *drawable,
187 void gdk_draw_text_wc (GdkDrawable *drawable,
192 const GdkWChar *text,
194 void gdk_draw_drawable (GdkDrawable *drawable,
203 void gdk_draw_image (GdkDrawable *drawable,
212 void gdk_draw_points (GdkDrawable *drawable,
216 void gdk_draw_segments (GdkDrawable *drawable,
220 void gdk_draw_lines (GdkDrawable *drawable,
225 void gdk_draw_glyphs (GdkDrawable *drawable,
230 PangoGlyphString *glyphs);
231 void gdk_draw_layout_line (GdkDrawable *drawable,
235 PangoLayoutLine *line);
236 void gdk_draw_layout (GdkDrawable *drawable,
240 PangoLayout *layout);
244 #endif /* __cplusplus */
246 #endif /* __GDK_DRAWABLE_H__ */