You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SVGRenderer.java 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. /*
  2. * $Id$
  3. * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
  4. * For details on use and redistribution please refer to the
  5. * LICENSE file included with these sources.
  6. */
  7. package org.apache.fop.render.svg;
  8. import org.apache.fop.layout.*;
  9. import org.apache.fop.layout.inline.*;
  10. import org.apache.fop.datatypes.IDReferences;
  11. import org.apache.fop.datatypes.ColorType;
  12. import org.apache.fop.image.*;
  13. import org.apache.fop.svg.SVGArea;
  14. import org.apache.fop.svg.SVGUtilities;
  15. import org.w3c.dom.Node;
  16. import org.w3c.dom.ProcessingInstruction;
  17. import org.w3c.dom.svg.SVGSVGElement;
  18. import org.w3c.dom.svg.SVGDocument;
  19. import org.w3c.dom.Document;
  20. import org.w3c.dom.Element;
  21. import org.w3c.dom.DOMImplementation;
  22. import org.apache.batik.dom.svg.SVGDOMImplementation;
  23. import org.apache.batik.dom.svg.SVGOMElement;
  24. import org.apache.batik.dom.util.XMLSupport;
  25. import org.apache.batik.transcoder.svg2svg.SVGTranscoder;
  26. import org.apache.batik.transcoder.TranscoderInput;
  27. import org.apache.batik.transcoder.TranscoderOutput;
  28. import org.apache.batik.transcoder.TranscoderException;
  29. import java.awt.Color;
  30. import java.awt.Image;
  31. import java.awt.image.BufferedImage;
  32. import java.awt.geom.Rectangle2D;
  33. import java.util.Hashtable;
  34. import java.net.URL;
  35. import java.net.MalformedURLException;
  36. import java.io.OutputStream;
  37. import java.io.IOException;
  38. import java.io.OutputStreamWriter;
  39. import javax.swing.ImageIcon;
  40. import org.apache.fop.render.AbstractRenderer;
  41. public class SVGRenderer extends AbstractRenderer {
  42. static final String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
  43. Document svgDocument;
  44. Element svgRoot;
  45. Element currentPageG = null;
  46. Element lastLink = null;
  47. float totalWidth = 0;
  48. float totalHeight = 0;
  49. protected int pageWidth = 0;
  50. protected int pageHeight = 0;
  51. protected int pageNumber = 0;
  52. protected Hashtable fontNames = new Hashtable();
  53. protected Hashtable fontStyles = new Hashtable();
  54. protected Color saveColor = null;
  55. protected IDReferences idReferences = null;
  56. /**
  57. * The current (internal) font name
  58. */
  59. protected String currentFontName;
  60. /**
  61. * The current font size in millipoints
  62. */
  63. protected int currentFontSize;
  64. /**
  65. * The current colour's red, green and blue component
  66. */
  67. protected float currentRed = 0;
  68. protected float currentGreen = 0;
  69. protected float currentBlue = 0;
  70. public SVGRenderer() {
  71. }
  72. public void setupFontInfo(FontInfo fontInfo) {
  73. // create a temp Image to test font metrics on
  74. BufferedImage fontImage =
  75. new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);
  76. org.apache.fop.render.awt.FontSetup.setup(fontInfo, fontImage.createGraphics());
  77. }
  78. public void setProducer(String producer) {
  79. }
  80. public void startRenderer(OutputStream outputStream)
  81. throws IOException {}
  82. /**
  83. *
  84. */
  85. public void stopRenderer()
  86. throws IOException
  87. {
  88. }
  89. }