@Override public ReplacedElement createReplacedElement(LayoutContext c, BlockBox box, UserAgentCallback uac, int cssWidth, int cssHeight) { Element element = box.getElement(); if("svg".equals(element.getNodeName())) { DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder; try { documentBuilder = documentBuilderFactory.newDocumentBuilder(); } catch (ParserConfigurationException e) { throw new RuntimeException(e); } Document svgDocument = documentBuilder.newDocument(); Element svgElement = (Element) svgDocument.importNode(element, true); svgDocument.appendChild(svgElement); try { int width = box.getContentWidth() - 20; return new ImageReplacedElement(rasterize(svgDocument, width), width, width); } catch (IOException e) { return null; } } return null; }
private void applyCSSMinMaxWidth(CssContext c) { if (! getStyle().isMaxWidthNone()) { int cssMaxWidth = getCSSMaxWidth(c); if (getContentWidth() > cssMaxWidth) { setContentWidth(cssMaxWidth); } } int cssMinWidth = getCSSMinWidth(c); if (cssMinWidth > 0 && getContentWidth() < cssMinWidth) { setContentWidth(cssMinWidth); } }
private void applyCSSMinMaxWidth(CssContext c) { if (! getStyle().isMaxWidthNone()) { int cssMaxWidth = getCSSMaxWidth(c); if (getContentWidth() > cssMaxWidth) { setContentWidth(cssMaxWidth); } } int cssMinWidth = getCSSMinWidth(c); if (cssMinWidth > 0 && getContentWidth() < cssMinWidth) { setContentWidth(cssMinWidth); } }
intrinsicWidth = new Integer(getBox().getContentWidth() + left + right);
intrinsicWidth = new Integer(getBox().getContentWidth() + left + right);
intrinsicWidth = new Integer(getBox().getContentWidth());
intrinsicWidth = new Integer(getBox().getContentWidth());
private void calcMinMaxWidthInlineChildren(LayoutContext c) { int textIndent = (int) getStyle().getFloatPropertyProportionalWidth( CSSName.TEXT_INDENT, getContentWidth(), c); IdentValue whitespace = iB.getStyle().getWhitespace(); iB.calcMinMaxWidth(c, getContentWidth(), lineWidth == 0);
private void calcMinMaxWidthInlineChildren(LayoutContext c) { int textIndent = (int) getStyle().getFloatPropertyProportionalWidth( CSSName.TEXT_INDENT, getContentWidth(), c); IdentValue whitespace = iB.getStyle().getWhitespace(); iB.calcMinMaxWidth(c, getContentWidth(), lineWidth == 0);
public static void layoutContent(LayoutContext c, BlockBox box, int initialY, int breakAtLine) { int maxAvailableWidth = box.getContentWidth(); int remainingWidth = maxAvailableWidth;
public static void layoutContent(LayoutContext c, BlockBox box, int initialY, int breakAtLine) { int maxAvailableWidth = box.getContentWidth(); int remainingWidth = maxAvailableWidth;
cw = getContentWidth(); setContentWidth(width);
cw = getContentWidth(); setContentWidth(width);