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(); }
/** * Returns the content of the specified pattern element or null if any. * * @param e the pattern element * @param ctx the bridge context */ protected static RootGraphicsNode extractLocalPatternContent(Element e, BridgeContext ctx) { GVTBuilder builder = ctx.getGVTBuilder(); RootGraphicsNode content = null; for (Node n = e.getFirstChild(); n != null; n = n.getNextSibling()) { // check if the Node is valid if (n.getNodeType() != Node.ELEMENT_NODE) { continue; } GraphicsNode gn = builder.build(ctx, (Element)n); // check if a GraphicsNode has been created if (gn != null) { // lazy instantation of the grouping element. if (content == null) { content = new RootGraphicsNode(); } content.getChildren().add(gn); } } return content; }
ctx.initializeDocument(doc); rootElement = doc.getRootElement(); } else { new Object[] {uriStr}); GraphicsNode node = ctx.getGVTBuilder().build(ctx, rootElement); = UnitProcessor.createContext(ctx, rootElement); String s = rootElement.getAttribute(SVG_WIDTH_ATTRIBUTE); if (s.length() != 0) { width = UnitProcessor.svgHorizontalLengthToUserSpace s = rootElement.getAttribute(SVG_HEIGHT_ATTRIBUTE); if (s.length() != 0) { height = UnitProcessor.svgVerticalLengthToUserSpace Filter filter = node.getGraphicsNodeRable(true); f = new AffineRable8Bit(filter, at); } catch (BridgeException ex) { AffineTransform at = new AffineTransform(); if (preferredSize.width > cursorSize.width || at.transform(hotSpot, hotSpot);
Element paintedElement) { GVTBuilder builder = ctx.getGVTBuilder(); for(Node n = markerElement.getFirstChild(); n != null; n = n.getNextSibling()) { if (n.getNodeType() != Node.ELEMENT_NODE) { continue; GraphicsNode markerNode = builder.build(ctx, child) ; s = markerElement.getAttributeNS(null, SVG_MARKER_WIDTH_ATTRIBUTE); if (s.length() != 0) { markerWidth = UnitProcessor.svgHorizontalLengthToUserSpace s = markerElement.getAttributeNS(null, SVG_MARKER_HEIGHT_ATTRIBUTE); if (s.length() != 0) { markerHeight = UnitProcessor.svgVerticalLengthToUserSpace markerTxf = new AffineTransform(); markerTxf.scale(strokeWidth, strokeWidth); } else { markerTxf = new AffineTransform();
s = clipElement.getAttributeNS(null, SVG_CLIP_PATH_UNITS_ATTRIBUTE); if (s.length() == 0) { coordSystemType = SVGUtilities.USER_SPACE_ON_USE; if (node.getNodeType() != Node.ELEMENT_NODE) { continue; GraphicsNode clipNode = builder.build(ctx, child) ; && shadowChild.getNodeType() == Node.ELEMENT_NODE) { child = (Element) shadowChild; GeneralPath path = new GeneralPath(clipNode.getOutline()); path.setWindingRule(wr); AffineTransform at = clipNode.getTransform(); if (at == null) at = Tx; else at.preConcatenate(Tx); Shape outline = at.createTransformedShape(path); Filter filter = clipedNode.getFilter(); if (filter == null) {
if(node.getNodeType() != Node.ELEMENT_NODE) { continue; GraphicsNode gn = builder.build(ctx, child) ; if(gn == null) { continue; s = maskElement.getAttributeNS(null, SVG_TRANSFORM_ATTRIBUTE); if (s.length() != 0) { Tx = SVGUtilities.convertTransform (maskElement, SVG_TRANSFORM_ATTRIBUTE, s, ctx); } else { Tx = new AffineTransform(); s = maskElement.getAttributeNS(null, SVG_MASK_CONTENT_UNITS_ATTRIBUTE); if (s.length() == 0) { coordSystemType = SVGUtilities.USER_SPACE_ON_USE; Filter filter = maskedNode.getFilter(); if (filter == null) { filter = maskedNode.getGraphicsNodeRable(true);
Document document = filterElement.getOwnerDocument(); boolean isUse = uriStr.indexOf('#') != -1; Element contentElement = null; contentElement.setAttributeNS(XLINK_NAMESPACE_URI, XLINK_HREF_QNAME, uriStr); proxyElement.appendChild(contentElement); GraphicsNode node = ctx.getGVTBuilder().build(ctx, proxyElement); Filter filter = node.getGraphicsNodeRable(true); AffineTransform at = new AffineTransform(); if (coordSystemType == SVGUtilities.OBJECT_BOUNDING_BOX) { at = SVGUtilities.toObjectBBox(at, filteredNode);
Element childElt) { GVTBuilder builder = ctx.getGVTBuilder(); GraphicsNode childNode = builder.build(ctx, childElt); if (childNode == null) { return; // the added element is not a graphic element for(Node ps = childElt.getPreviousSibling(); ps != null; ps = ps.getPreviousSibling()) { if (ps.getNodeType() != Node.ELEMENT_NODE) continue; Element pse = (Element)ps; GraphicsNode psgn = ctx.getGraphicsNode(pse); while ((psgn != null) && (psgn.getParent() != gn)) { psgn = psgn.getParent();
/** * Builds a composite Element. * * @param ctx the bridge context * @param e the element to build * @param parentNode the composite graphics node, parent of the * graphics node to build * @exception BridgeException if an error occured while constructing * the GVT tree */ protected void buildComposite(BridgeContext ctx, Element e, CompositeGraphicsNode parentNode) { for (Node n = e.getFirstChild(); n != null; n = n.getNextSibling()) { if (n.getNodeType() == Node.ELEMENT_NODE) { buildGraphicsNode(ctx, (Element)n, parentNode); } } }
selectedChild = null; GraphicsNode refNode = null; GVTBuilder builder = ctx.getGVTBuilder(); for (Node n = e.getNextSibling(); n != null; n = n.getNextSibling()) { if (n.getNodeType() == Node.ELEMENT_NODE) { Element ref = (Element) n; if (n instanceof SVGTests && SVGUtilities.matchUserAgent (ref, ctx.getUserAgent())) { refNode = builder.build(ctx, ref); selectedChild = ref; break;
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) {
GraphicsNode node = ctx.getGVTBuilder().build(ctx, refElement); Filter filter = node.getGraphicsNodeRable(true); AffineTransform at = new AffineTransform(); Element filterDefElement = (Element)(filterElement.getParentNode()); String s = SVGUtilities.getChainableAttributeNS (filterDefElement, null, SVG_PRIMITIVE_UNITS_ATTRIBUTE, ctx); Rectangle2D bounds = filteredNode.getGeometryBounds(); at.preConcatenate(AffineTransform.getTranslateInstance (primitiveRegion.getX() - bounds.getX(), primitiveRegion.getY() - bounds.getY()));
SVGContext ctx = getSVGContext(elem); if (ctx == null) { GraphicsNode pgn = getGraphicsNode(elem.getParentNode()); if ((pgn == null) || !(pgn instanceof CompositeGraphicsNode)) { GVTBuilder builder = getGVTBuilder(); GraphicsNode childNode = builder.build (BridgeContext.this, elem); if (childNode == null) { for(Node ps = elem.getPreviousSibling(); ps != null; ps = ps.getPreviousSibling()) { if (ps.getNodeType() != Node.ELEMENT_NODE) continue; Element pse = (Element)ps;
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); Rectangle2D aoi = (Rectangle2D)hints.get(KEY_AOI); Px = new AffineTransform(); double sx = width / aoi.getWidth(); double sy = height / aoi.getHeight(); double scale = Math.min(sx,sy); Px.scale(scale, scale); double tx = -aoi.getX() + (width/scale - aoi.getWidth())/2; double ty = -aoi.getY() + (height/scale -aoi.getHeight())/2; Px.translate(tx, ty);
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 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; }
SVGDocument imgDocument) { CSSEngine eng = ((SVGOMDocument)imgDocument).getCSSEngine(); subCtx = ctx.createSubBridgeContext((SVGOMDocument)imgDocument); node = (CanvasGraphicsNode)subCtx.getGVTBuilder().build (subCtx, svgElement); if ((eng == null) && ctx.isInteractive()) { subCtx.addUIEventListeners(imgDocument); node.setViewingTransform(new AffineTransform()); result.getChildren().add(node);
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(
GVTBuilder builder = new GVTBuilder(); root = builder.build(bridgeContext, clonedDoc); } catch (Exception e) { SVGEventProducer eventProducer = SVGEventProducer.Provider.get( AffineTransform placement = new AffineTransform(); placement.translate(pos.x, pos.y); paintingState.concatenate(placement);