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