1 /************************************************************************/
2 /*									*/
3 /*  SVG printing.							*/
4 /*									*/
5 /************************************************************************/
6 
7 #   include	<sioGeneral.h>
8 #   include	<svgWriter.h>
9 #   include	<docBuf.h>
10 #   include	<docDraw.h>
11 #   include	<docParticuleData.h>
12 #   include	<geoAffineTransform.h>
13 
14 /************************************************************************/
15 /*									*/
16 /*  Routine declarations.						*/
17 /*									*/
18 /************************************************************************/
19 
20 extern int docSvgEmitStroke(	SvgWriter *			sw,
21 				const struct DrawingShape *	ds );
22 
23 extern int docSvgEmitFill(	SvgWriter *			sw,
24 				const struct DrawingShape *	ds );
25 
26 extern int docSvgDrawDrawDrawingShape(
27 				const DocumentRectangle *	drTwips,
28 				int				page,
29 				struct DrawingShape *		ds,
30 				DrawingContext *		dc,
31 				void *				vsw );
32 
33 extern int docSvgDrawObject(	const DrawTextLine *		dtl,
34 				int				part,
35 				InsertedObject *		io,
36 				int				x0Twips,
37 				int				x1Twips,
38 				const LayoutPosition *		baseLine );
39 
40 extern int docSvgDrawTab(	const DrawTextLine *		dtl,
41 				int				part,
42 				int				textAttrNr,
43 				const TextAttribute *		ta,
44 				int				leader,
45 				int				x0Twips,
46 				int				x1Twips,
47 				const LayoutPosition *		baseLine );
48 
49 extern int docSvgDrawFtnsep(	const DrawTextLine *		dtl,
50 				int				part,
51 				int				textAttrNr,
52 				const TextAttribute *		ta,
53 				int				x0Twips,
54 				int				x1Twips,
55 				const LayoutPosition *		baseLine );
56 
57 extern int docSvgDrawSpan(	const DrawTextLine *		dtl,
58 				int				part,
59 				int				count,
60 				const LayoutPosition *		baseLine,
61 				int				textAttrNr,
62 				const TextAttribute *		ta,
63 				const char *			printString,
64 				int				nbLen );
65 
66 extern int docSvgDrawTextLine(	struct BufferItem *		paraBi,
67 				int				line,
68 				const ParagraphFrame *		pf,
69 				const DocumentRectangle *	drLine,
70 				void *				vps,
71 				DrawingContext *		dc,
72 				const BlockOrigin *		bo );
73 
74 extern int docSvgSaveShapeObject( SimpleOutputStream *	sos,
75 				int			page,
76 				int			pixelsWide,
77 				int			pixelsHigh,
78 				const InsertedObject *	io,
79 				struct BufferItem *	bodySectNode,
80 				const LayoutContext *	lc );
81 
82 extern int docSvgDrawShapeText(	const DocumentRectangle *	drHere,
83 				const struct BufferItem *	bodySectNode,
84 				int				page,
85 				int				column,
86 				struct DrawingShape *		ds,
87 				DrawingContext *		dc,
88 				void *				vsw );
89 
90 extern int docSvgDrawShapeImage( SvgWriter *			sw,
91 				DrawingContext *		dc,
92 				struct DrawingShape *		ds,
93 				const DocumentRectangle *	drTwips,
94 				const AffineTransform2D *	at );
95 
96