public SwtUniversalImageSvg( SvgImage svg ) { // get GraphicsNode and size from svg document UserAgentAdapter userAgentAdapter = new UserAgentAdapter(); DocumentLoader documentLoader = new DocumentLoader( userAgentAdapter ); BridgeContext ctx = new BridgeContext( userAgentAdapter, documentLoader ); GVTBuilder builder = new GVTBuilder(); svgGraphicsNode = builder.build( ctx, svg.getDocument() ); svgGraphicsSize = ctx.getDocumentSize(); }
public SwingUniversalImageSvg( SvgImage svg ) { // get GraphicsNode and size from svg document UserAgentAdapter userAgentAdapter = new UserAgentAdapter(); DocumentLoader documentLoader = new DocumentLoader( userAgentAdapter ); BridgeContext ctx = new BridgeContext( userAgentAdapter, documentLoader ); GVTBuilder builder = new GVTBuilder(); svgGraphicsNode = builder.build( ctx, svg.getDocument() ); svgGraphicsSize = ctx.getDocumentSize(); }
/** * Retrieves a Batik {@link GraphicsNode} for a given SVG. * * @param svgLocation an URL that specifies the SVG. * @return the corresponding GraphicsNode. * @throws IOException * @throws URISyntaxException */ GraphicsNode getGraphicNode(Document doc) { // instantiates objects needed for building the node UserAgent userAgent = new UserAgentAdapter(); DocumentLoader loader = new DocumentLoader(userAgent); BridgeContext ctx = new BridgeContext(userAgent, loader); ctx.setDynamic(true); // creates node builder and builds node GVTBuilder builder = new GVTBuilder(); return builder.build(ctx, doc); }
root = builder.build(ctx, svgDoc);
private static GraphicsNode getRootNode(SVGDocument document, BridgeContext bridgeContext) { // Build the tree and get the document dimensions GVTBuilder builder = new GVTBuilder(); return builder.build(bridgeContext, document); }
public GraphicsNode getGraphicsNode(int idx) { if (srcs[idx] != null) { Object o = srcs[idx].get(); if (o != null) return (GraphicsNode)o; } try { GVTBuilder builder = ctx.getGVTBuilder(); GraphicsNode gn; gn = builder.build(ctx, srcElems[idx]); srcs[idx] = new SoftReference(gn); return gn; } catch (Exception ex) { ex.printStackTrace(); } return null; } }
public GraphicsNode getGraphicsNode(int idx) { if (srcs[idx] != null) { Object o = srcs[idx].get(); if (o != null) return (GraphicsNode)o; } try { GVTBuilder builder = ctx.getGVTBuilder(); GraphicsNode gn; gn = builder.build(ctx, srcElems[idx]); srcs[idx] = new SoftReference(gn); return gn; } catch (Exception ex) { ex.printStackTrace(); } return null; } }
public GraphicsNode getGraphicsNode(int idx) { if (srcs[idx] != null) { Object o = srcs[idx].get(); if (o != null) return (GraphicsNode)o; } try { GVTBuilder builder = ctx.getGVTBuilder(); GraphicsNode gn; gn = builder.build(ctx, srcElems[idx]); srcs[idx] = new SoftReference(gn); return gn; } catch (Exception ex) { ex.printStackTrace(); } return null; } }
SAXSVGDocumentFactory factory = new SAXSVGDocumentFactory( XMLResourceDescriptor.getXMLParserClassName()); File file = new File("C:/resources/chessboard.svg"); InputStream is = new FileInputStream(file); Document document = factory.createDocument( file.toURI().toURL().toString(), is); UserAgent agent = new UserAgentAdapter(); DocumentLoader loader= new DocumentLoader(agent); BridgeContext context = new BridgeContext(agent, loader); context.setDynamic(true); GVTBuilder builder= new GVTBuilder(); GraphicsNode root= builder.build(context, document); System.out.println(root.getPrimitiveBounds().getWidth()); System.out.println(root.getPrimitiveBounds().getHeight());
Document doc = factory.createSVGDocument(f.toURI().toString()); UserAgent userAgent = new UserAgentAdapter(); DocumentLoader loader = new DocumentLoader(userAgent); BridgeContext ctx = new BridgeContext(userAgent, loader); ctx.setDynamicState(BridgeContext.DYNAMIC); GVTBuilder builder = new GVTBuilder(); builder.build(ctx, doc);
static BridgeContext ctx = new BridgeContext(new UserAgentAdapter()); static GVTBuilder builder = new GVTBuilder(); private static void calculateSize(SVGDocument doc) { GraphicsNode gvtRoot = builder.build(ctx, doc); Rectangle2D rect = gvtRoot.getSensitiveBounds(); doc.getRootElement().setAttributeNS(null, SVGConstants.SVG_WIDTH_ATTRIBUTE, rect.getMaxX() + ""); doc.getRootElement().setAttributeNS(null, SVGConstants.SVG_HEIGHT_ATTRIBUTE, rect.getMaxY() + ""); }
SAXSVGDocumentFactory factory = new SAXSVGDocumentFactory(XMLResourceDescriptor.getXMLParserClassName()); UserAgent userAgent = new UserAgentAdapter(); DocumentLoader loader = new DocumentLoader(userAgent); BridgeContext ctx = new BridgeContext(userAgent, loader); ctx.setDynamicState(BridgeContext.DYNAMIC); GVTBuilder builder = new GVTBuilder(); SVGDocument svgDoc = factory.createSVGDocument(rootPath, new StringReader(svg)); PdfTemplate svgTempl = PdfTemplate.createTemplate(writer, Float.parseFloat(svgDoc.getDocumentElement().getAttribute("width")), Float.parseFloat(svgDoc.getDocumentElement().getAttribute("height"))); Graphics2D g2d = new PdfGraphics2D(svgTempl, svgTempl.getWidth(), svgTempl.getHeight()); GraphicsNode chartGfx = builder.build(ctx, svgDoc); chartGfx.paint(g2d); g2d.dispose(); Image svgImg = new ImgTemplate(svgTempl); svgImg.setAlignment(Image.ALIGN_CENTER); //svgImg.setBorder(Image.BOX); //svgImg.setBorderColor(new BaseColor(0xff, 0x00, 0x00)); //svgImg.setBorderWidth(1); document.add(svgImg);
@Override public Dimension getDimension(Document document) { UserAgent agent = new UserAgentAdapter(); DocumentLoader loader = new DocumentLoader(agent); BridgeContext context = new BridgeContext(agent, loader); context.setDynamic(true); GVTBuilder builder = new GVTBuilder(); Rectangle2D primitiveBounds = builder.build(context, document).getPrimitiveBounds(); return new Dimension((float)primitiveBounds.getWidth(), (float)primitiveBounds.getHeight()); } }
/** * Invoked when an MutationEvent of type 'DOMNodeInserted' is fired. */ public void handleDOMNodeInsertedEvent(MutationEvent evt) { if (evt.getTarget() instanceof Element) { Element childElt = (Element) evt.getTarget(); GVTBuilder builder = ctx.getGVTBuilder(); GraphicsNode childNode = builder.build(ctx, childElt); if (childNode == null) { return; } // There can only be one document element. node.add(childNode); } }
/** * Invoked when an MutationEvent of type 'DOMNodeInserted' is fired. */ public void handleDOMNodeInsertedEvent(MutationEvent evt) { if (evt.getTarget() instanceof Element) { Element childElt = (Element) evt.getTarget(); GVTBuilder builder = ctx.getGVTBuilder(); GraphicsNode childNode = builder.build(ctx, childElt); if (childNode == null) { return; } // There can only be one document element. node.add(childNode); } }
/** * Invoked when an MutationEvent of type 'DOMNodeInserted' is fired. */ public void handleDOMNodeInsertedEvent(MutationEvent evt) { if (evt.getTarget() instanceof Element) { Element childElt = (Element) evt.getTarget(); GVTBuilder builder = ctx.getGVTBuilder(); GraphicsNode childNode = builder.build(ctx, childElt); if (childNode == null) { return; } // There can only be one document element. node.add(childNode); } }
private GraphicsNode getGraphicsNode(SVGDocument svgDocument, int dpi) throws IOException { UserAgent userAgent = new DensityAwareUserAgent(dpi); DocumentLoader loader = new DocumentLoader(userAgent); BridgeContext ctx = new BridgeContext(userAgent, loader); ctx.setDynamicState(BridgeContext.DYNAMIC); GVTBuilder builder = new GVTBuilder(); GraphicsNode rootGN = builder.build(ctx, svgDocument); return rootGN; }
private GraphicsNode getGraphicsNode(SVGDocument svgDocument, int dpi) throws IOException { UserAgent userAgent = new DensityAwareUserAgent(dpi); DocumentLoader loader = new DocumentLoader(userAgent); BridgeContext ctx = new BridgeContext(userAgent, loader); ctx.setDynamicState(BridgeContext.DYNAMIC); GVTBuilder builder = new GVTBuilder(); GraphicsNode rootGN = builder.build(ctx, svgDocument); return rootGN; }
/** * Enhance the SVG DOM for the given document to provide CSS- and * SVG-specific DOM interfaces. * * @param document * The document to enhance. * @link http://wiki.apache.org/xmlgraphics-batik/BootSvgAndCssDom */ private void initSVGDOM(Document document) { UserAgent userAgent = new UserAgentAdapter(); DocumentLoader loader = new DocumentLoader(userAgent); BridgeContext bridgeContext = new BridgeContext(userAgent, loader); bridgeContext.setDynamicState(BridgeContext.DYNAMIC); // Enable CSS- and SVG-specific enhancements. (new GVTBuilder()).build(bridgeContext, document); }
/** * Retrieves a Batik {@link GraphicsNode} for a given SVG. * * @param svgLocation * an URL that specifies the SVG. * @return the corresponding GraphicsNode. * @throws IOException * @throws URISyntaxException */ private GraphicsNode getGraphicNode(Document doc) { // instantiates objects needed for building the node UserAgent userAgent = new UserAgentAdapter(); DocumentLoader loader = new DocumentLoader(userAgent); BridgeContext ctx = new BridgeContext(userAgent, loader); ctx.setDynamic(true); // creates node builder and builds node GVTBuilder builder = new GVTBuilder(); return builder.build(ctx, doc); }