2006-12-05 David Lodge <dave@cirt.net>
[dia.git] / lib / dialibartrenderer.h
blob6141c57ea1053d65fbf2fb7594111b838fa7d001
1 #ifndef DIA_LIBART_RENDERER_H
2 #define DIA_LIBART_RENDERER_H
4 #include "diatypes.h"
5 #include "geometry.h"
6 #include "diarenderer.h"
7 #include "diatransform.h"
9 #ifdef HAVE_LIBART
10 #include <libart_lgpl/art_vpath.h>
11 #include <libart_lgpl/art_vpath_dash.h>
12 #include <libart_lgpl/art_svp.h>
13 #include <libart_lgpl/art_svp_vpath_stroke.h>
14 #endif
16 G_BEGIN_DECLS
18 #define DIA_TYPE_LIBART_RENDERER (dia_libart_renderer_get_type ())
19 #define DIA_LIBART_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIA_TYPE_LIBART_RENDERER, DiaLibartRenderer))
20 #define DIA_LIBART_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIA_TYPE_LIBART_RENDERER, DiaLibartRendererClass))
21 #define DIA_IS_LIBART_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIA_TYPE_LIBART_RENDERER))
22 #define DIA_LIBART_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIA_TYPE_LIBART_RENDERER, DiaLibartRendererClass))
24 GType dia_libart_renderer_get_type (void) G_GNUC_CONST;
26 struct _DiaLibartRenderer
28 DiaRenderer parent_instance;
30 /*< private >*/
31 DiaTransform *transform; /* Our link to the display settings */
32 #ifdef HAVE_LIBART
33 int pixel_width, pixel_height;
34 guint8 *rgb_buffer;
35 int clip_rect_empty;
36 IntRectangle clip_rect;
38 /* line attributes: */
39 double line_width;
40 ArtPathStrokeCapType cap_style;
41 ArtPathStrokeJoinType join_style;
43 LineStyle saved_line_style;
44 int dash_enabled;
45 ArtVpathDash dash;
46 double dash_length;
47 double dot_length;
48 Color *highlight_color;
49 #endif
52 struct _DiaLibartRendererClass
54 DiaRendererClass parent_class;
57 G_END_DECLS
59 #endif /* DIA_LIBART_RENDERER_H */