Refine search
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(); }
Element refElement = ctx.getReferencedElement(e, uri); GVTBuilder builder = ctx.getGVTBuilder(); GraphicsNode refNode = builder.build(ctx, g); if (isLocal && ctx.isDynamic()) { l = new ReferencedElementMutationListener(); (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMAttrModified", l, true, null); theCtx.storeEventListenerNS (target, XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMAttrModified", l, true); (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeInserted", l, true, null); theCtx.storeEventListenerNS (target, XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeInserted", l, true); (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeRemoved", l, true, null); theCtx.storeEventListenerNS (target, XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeRemoved", l, true); (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMCharacterDataModified", l, true, null); theCtx.storeEventListenerNS
DocumentLoader documentLoader = new DocumentLoader(userAgent); this.bridgeContext = new BridgeContext(userAgent, documentLoader); this.bridgeContext.setDynamic(true); this.size = new Dimension(); try{ this.size.setSize(Double.valueOf(elem.getAttribute("width")), Double.valueOf(elem.getAttribute("height"))); NodeList nodes = elem.getChildNodes(); if(nodes!=null){ for(int i=0; i<nodes.getLength(); i++){ if("g".equals(nodes.item(i).getNodeName())){ NamedNodeMap nnm = nodes.item(i).getAttributes(); for(int node=0; node<nnm.getLength(); node++){ if("inkscape:groupmode".equals(nnm.item(node).getNodeName())){ String id = BatikLoader.getLabel(nodes.item(i)); int index = BatikLoader.getIndex(nodes.item(i));
AbstractDocument doc = (AbstractDocument) e.getOwnerDocument(); DefaultXBLManager xm = (DefaultXBLManager) doc.getXBLManager(); contentManager = xm.getContentManager(e); GVTBuilder builder = ctx.getGVTBuilder(); NodeList nl = contentManager.getSelectedContent(content); if (nl != null) { for (int i = 0; i < nl.getLength(); i++) { Node n = nl.item(i); if (n.getNodeType() == Node.ELEMENT_NODE) { GraphicsNode gn = builder.build(ctx, (Element) n); if (gn != null) { cgn.add(gn); if (ctx.isDynamic()) { if (contentChangedListener == null) {
protected void gatherRegionInfo(BridgeContext ctx, Element rgn, float verticalAlign, List regions) { boolean isStatic = !ctx.isDynamic(); for (Node n = getFirstChild(rgn); n != null; n = getNextSibling(n)) { if (n.getNodeType() != Node.ELEMENT_NODE) { continue; } GraphicsNode gn = isStatic ? (GraphicsNode) flowRegionNodes.get(n) : ctx.getGraphicsNode(n); Shape s = gn.getOutline(); if (s == null) { continue; } AffineTransform at = gn.getTransform(); if (at != null) { s = at.createTransformedShape(s); } regions.add(new RegionInfo(s, verticalAlign)); } }
context.dispose(); document.setURLObject(new URL(transcoderInput.getURI())); transcode(document, transcoderInput.getURI(), null); if (Px.isIdentity() && (width != defaultWidth || height != defaultHeight)) { yscale = height / defaultHeight; float scale = Math.min(xscale, yscale); Px = AffineTransform.getScaleInstance(scale, scale); Rectangle2D aoi = (Rectangle2D) hints.get(KEY_AOI); aoi = Px.createTransformedShape(aoi).getBounds2D(); AffineTransform Mx = new AffineTransform(); double sx = width / aoi.getWidth(); if (ctx.isDynamic()) { BaseScriptingEnvironment se; se = new BaseScriptingEnvironment(ctx); context.dispose();
builder = new GVTBuilder(); try { if (isDynamic) ctx.setDynamicState(BridgeContext.DYNAMIC); gvtRoot = builder.build(ctx, svgDoc); if (ctx.isDynamic()) { BaseScriptingEnvironment se; se = new BaseScriptingEnvironment(ctx); float t = ((Float) hints.get(KEY_SNAPSHOT_TIME)).floatValue(); ctx.getAnimationEngine().setCurrentTime(t); } else if (ctx.isSVG12()) { float t = SVGUtilities.convertSnapshotTime(root, null); ctx.getAnimationEngine().setCurrentTime(t); float docWidth = (float)ctx.getDocumentSize().getWidth(); float docHeight = (float)ctx.getDocumentSize().getHeight(); Rectangle2D aoi = (Rectangle2D)hints.get(KEY_AOI);
SAXSVGDocumentFactory fac = new SAXSVGDocumentFactory( "org.apache.xerces.parsers.SAXParser" ); SVGDocument doc = fac.createSVGDocument( url, in ); GVTBuilder builder = new GVTBuilder(); UserAgent userAgent = new UserAgentAdapter(); DocumentLoader loader = new DocumentLoader( userAgent ); BridgeContext ctx = new BridgeContext( userAgent, loader ); RootGraphicsNode root = builder.build( ctx, doc ).getRoot(); AffineTransform t = new AffineTransform(); Rectangle2D rect = root.getBounds(); double max = max( rect.getWidth(), rect.getHeight() ); t.scale( 1 / max, 1 / max ); t.translate( -rect.getX(), -rect.getY() ); while ( ( node = walker.nextGraphicsNode() ) != null ) { AffineTransform t2 = (AffineTransform) t.clone(); if ( node.getTransform() != null ) { t2.concatenate( node.getTransform() ); node.setTransform( t2 );
new AffineTransform()); GVTBuilder builder = new GVTBuilder(); userAgent.getImageManager(), userAgent.getImageSessionContext(), new AffineTransform()); root = builder.build(ctx, clonedDoc); } catch (Exception e) { SVGEventProducer eventProducer = SVGEventProducer.Provider.get( PDFAElementBridge aBridge = (PDFAElementBridge)ctx.getBridge( SVGDOMImplementation.SVG_NAMESPACE_URI, SVGConstants.SVG_A_TAG); aBridge.getCurrentTransform().setTransform(generator.getState().getTransform()); graphics.setOutputStream(generator.getOutputStream()); try { root.paint(graphics); ctx.dispose(); generator.add(graphics.getString()); } catch (TransparencyDisallowedException e) {
new FOPFontFamilyResolverImpl(psContext.getFontInfo()), new AffineTransform()); GVTBuilder builder = new GVTBuilder(); root = builder.build(ctx, clonedDoc); } catch (Exception e) { SVGEventProducer eventProducer = SVGEventProducer.Provider.get( float w = (float)ctx.getDocumentSize().getWidth() * 1000f; float h = (float)ctx.getDocumentSize().getHeight() * 1000f; AffineTransform transform = new AffineTransform(); transform.translate(pos.getMinX(), pos.getMinY()); gen.getCurrentState().concatMatrix(transform); try { root.paint(graphics); } catch (Exception e) { SVGEventProducer eventProducer = SVGEventProducer.Provider.get(
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; }
/** * Invoked to handle an <code>Element</code> for a given * <code>BridgeContext</code>. For example, see the * <code>SVGDescElementBridge</code>. * * @param ctx the bridge context to use * @param e the element to be handled */ public void handleElement(BridgeContext ctx, Element e){ UserAgent ua = ctx.getUserAgent(); ua.handleElement(e, Boolean.TRUE); if (ctx.isDynamic()) { SVGDescriptiveElementBridge b; b = (SVGDescriptiveElementBridge)getInstance(); b.theElt = e; b.parent = (Element)e.getParentNode(); b.theCtx = ctx; ((SVGOMElement)e).setSVGContext(b); } }
int y = info.currentYPosition; SVGUserAgent ua = new SVGUserAgent(context.getUserAgent(), DefaultFontFamilyResolver.SINGLETON, new AffineTransform()); BridgeContext ctx = new BridgeContext(ua); GVTBuilder builder = new GVTBuilder(); root = builder.build(ctx, clonedDoc); } catch (Exception e) { SVGEventProducer eventProducer = SVGEventProducer.Provider.get( float iw = (float) ctx.getDocumentSize().getWidth() * 1000f; float ih = (float) ctx.getDocumentSize().getHeight() * 1000f; AffineTransform at = AffineTransform.getScaleInstance(w / iw, h / ih); if (!at.isIdentity()) { info.state.getGraph().transform(at); root.paint(info.state.getGraph()); } catch (Exception e) { SVGEventProducer eventProducer = SVGEventProducer.Provider.get(
float pxUnitToMillimeter = UnitConv.IN2MM / context.getSourceResolution(); UserAgent userAg = new SimpleSVGUserAgent(pxUnitToMillimeter, new AffineTransform(), DefaultFontFamilyResolver.SINGLETON) { BridgeContext ctx = new BridgeContext(userAg); UnitProcessor.Context uctx = UnitProcessor.createContext(ctx, e); s = e.getAttributeNS(null, SVGOMDocument.SVG_WIDTH_ATTRIBUTE); if (s.length() == 0) { s = SVGOMDocument.SVG_SVG_WIDTH_DEFAULT_VALUE; s = e.getAttributeNS(null, SVGOMDocument.SVG_HEIGHT_ATTRIBUTE); if (s.length() == 0) { s = SVGOMDocument.SVG_SVG_HEIGHT_DEFAULT_VALUE;
bridgeContext.dispose(); bridgeContext = null; isInteractiveDocument = false; disableInteractions = true; initialTransform = new AffineTransform(); setRenderingTransform(initialTransform, false); Rectangle vRect = getRenderRect(); break; case AUTODETECT: isDynamicDocument = bridgeContext.isDynamicDocument(doc); isInteractiveDocument = isDynamicDocument || bridgeContext.isInteractiveDocument(doc); bridgeContext.setDynamicState(BridgeContext.DYNAMIC); else bridgeContext.setDynamicState(BridgeContext.INTERACTIVE);
public void setGraphicsNode(GraphicsNode gn, boolean createDispatcher) { Dimension2D dim = bridgeContext.getDocumentSize(); Dimension mySz = new Dimension((int)dim.getWidth(), (int)dim.getHeight()); JSVGComponent.this.setMySize(mySz); SVGSVGElement elt = svgDocument.getRootElement(); prevComponentSize = getSize(); AffineTransform at = calculateViewingTransform (fragmentIdentifier, elt); CanvasGraphicsNode cgn = getCanvasGraphicsNode(gn); if (cgn != null) { cgn.setViewingTransform(at); } viewingTransform = null; initialTransform = new AffineTransform(); setRenderingTransform(initialTransform, false); jsvgComponentListener.updateMatrix(initialTransform); addJGVTComponentListener(jsvgComponentListener); addComponentListener(jsvgComponentListener); super.setGraphicsNode(gn, createDispatcher); }
Element e, GraphicsNode node) { e.normalize(); computeLaidoutText(ctx, e, node); node.setComposite(CSSUtilities.convertOpacity(e)); node.setFilter(CSSUtilities.convertFilter(e, node, ctx)); node.setMask(CSSUtilities.convertMask(e, node, ctx)); node.setClip(CSSUtilities.convertClipPath(e, node, ctx)); if (!ctx.isDynamic()) { elemTPI.clear();
new AffineTransform()); final BridgeContext bridgeContext = new BridgeContext(svgUserAgent);
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);
builder = new GVTBuilder(); ctx.setDynamicState(BridgeContext.DYNAMIC); root = builder.build(ctx, svgDoc); Dimension2D docSize = ctx.getDocumentSize(); if (docSize != null) { defaultWidth = (float) docSize.getWidth();