Class mxSvgCanvas

java.lang.Object
com.mxgraph.canvas.mxBasicCanvas
com.mxgraph.canvas.mxSvgCanvas
All Implemented Interfaces:
mxICanvas

public class mxSvgCanvas extends mxBasicCanvas
An implementation of a canvas that uses SVG for painting. This canvas ignores the STYLE_LABEL_BACKGROUNDCOLOR and STYLE_LABEL_BORDERCOLOR styles due to limitations of SVG.
  • Field Details

    • document

      protected Document document
      Holds the HTML document that represents the canvas.
    • defs

      protected Element defs
    • embedded

      protected boolean embedded
      Specifies if images should be embedded as base64 encoded strings. Default is false.
  • Constructor Details

    • mxSvgCanvas

      public mxSvgCanvas()
      Constructs a new SVG canvas for the specified dimension and scale.
    • mxSvgCanvas

      public mxSvgCanvas(Document document)
      Constructs a new SVG canvas for the specified bounds, scale and background color.
  • Method Details

    • appendSvgElement

      public void appendSvgElement(Element node)
    • getDefsElement

      protected Element getDefsElement()
    • getGradientElement

      public Element getGradientElement(String start, String end, String direction)
    • getGlassGradientElement

      public Element getGlassGradientElement()
    • createGradientElement

      protected Element createGradientElement(String start, String end, String direction)
    • getGradientId

      public String getGradientId(String start, String end, String direction)
    • isImageResource

      protected boolean isImageResource(String src)
      Returns true if the given string ends with .png, .jpg or .gif.
    • getResource

      protected InputStream getResource(String src)
    • createDataUrl

      protected String createDataUrl(String src) throws IOException
      Throws:
      IOException
    • getEmbeddedImageElement

      protected Element getEmbeddedImageElement(String src)
    • createImageElement

      protected Element createImageElement(double x, double y, double w, double h, String src, boolean aspect, boolean flipH, boolean flipV, boolean embedded)
    • setDocument

      public void setDocument(Document document)
    • getDocument

      public Document getDocument()
      Returns a reference to the document that represents the canvas.
      Returns:
      Returns the document.
    • setEmbedded

      public void setEmbedded(boolean value)
    • isEmbedded

      public boolean isEmbedded()
    • drawCell

      public Object drawCell(mxCellState state)
      Description copied from interface: mxICanvas
      Draws the given cell.
      Parameters:
      state - State of the cell to be painted.
      Returns:
      Object that represents the cell.
    • drawLabel

      public Object drawLabel(String label, mxCellState state, boolean html)
      Description copied from interface: mxICanvas
      Draws the given label.
      Parameters:
      label - String that represents the label.
      state - State of the cell whose label is to be painted.
      html - Specifies if the label contains HTML markup.
      Returns:
      Object that represents the label.
    • drawShape

      public Element drawShape(int x, int y, int w, int h, Map<String,Object> style)
      Draws the shape specified with the STYLE_SHAPE key in the given style.
      Parameters:
      x - X-coordinate of the shape.
      y - Y-coordinate of the shape.
      w - Width of the shape.
      h - Height of the shape.
      style - Style of the the shape.
    • drawLine

      public Element drawLine(List<mxPoint> pts, Map<String,Object> style)
      Draws the given lines as segments between all points of the given list of mxPoints.
      Parameters:
      pts - List of points that define the line.
      style - Style to be used for painting the line.
    • drawMarker

      public mxPoint drawMarker(Element parent, Object type, mxPoint p0, mxPoint pe, float size, float strokeWidth, String color)
      Draws the specified marker as a child path in the given parent.
    • drawText

      public Object drawText(String text, int x, int y, int w, int h, Map<String,Object> style)
      Draws the specified text either using drawHtmlString or using drawString.
      Parameters:
      text - Text to be painted.
      x - X-coordinate of the text.
      y - Y-coordinate of the text.
      w - Width of the text.
      h - Height of the text.
      style - Style to be used for painting the text.