2006-12-05 David Lodge <dave@cirt.net>
[dia.git] / lib / diagdkrenderer.h
blob144af84504f7d6329ed65241644f3f3d563fec18
1 #ifndef DIA_GDK_RENDERER_H
2 #define DIA_GDK_RENDERER_H
4 #include "diatypes.h"
5 #include <gdk/gdk.h>
6 #include "diarenderer.h"
7 #include "diatransform.h"
9 G_BEGIN_DECLS
11 #define DIA_TYPE_GDK_RENDERER (dia_gdk_renderer_get_type ())
12 #define DIA_GDK_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIA_TYPE_GDK_RENDERER, DiaGdkRenderer))
13 #define DIA_GDK_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIA_TYPE_GDK_RENDERER, DiaGdkRendererClass))
14 #define DIA_IS_GDK_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIA_TYPE_GDK_RENDERER))
15 #define DIA_GDK_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIA_TYPE_GDK_RENDERER, DiaGdkRendererClass))
17 GType dia_gdk_renderer_get_type (void) G_GNUC_CONST;
18 void dia_gdk_renderer_set_dashes(DiaGdkRenderer *renderer, int offset);
20 struct _DiaGdkRenderer
22 DiaRenderer parent_instance;
24 /*< private >*/
25 DiaTransform *transform; /* Our link to the display settings */
26 GdkPixmap *pixmap; /* The pixmap shown in this display */
27 guint32 width; /* The width of the pixmap in pixels */
28 guint32 height; /* The height of the pixmap in pixels */
29 GdkGC *gc;
30 GdkRegion *clip_region;
32 /* line attributes: */
33 int line_width;
34 GdkLineStyle line_style;
35 GdkCapStyle cap_style;
36 GdkJoinStyle join_style;
38 LineStyle saved_line_style;
39 int dash_length;
40 int dot_length;
42 /** If non-NULL, this rendering is a highlighting with the given color. */
43 Color *highlight_color;
46 struct _DiaGdkRendererClass
48 DiaRendererClass parent_class;
51 G_END_DECLS
53 #endif /* DIA_GDK_RENDERER_H */