Class 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.
    • Constructor Summary

      Constructors 
      Constructor Description
      mxSvgCanvas()
      Constructs a new SVG canvas for the specified dimension and scale.
      mxSvgCanvas​(org.w3c.dom.Document document)
      Constructs a new SVG canvas for the specified bounds, scale and background color.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void appendSvgElement​(org.w3c.dom.Element node)  
      protected java.lang.String createDataUrl​(java.lang.String src)  
      protected org.w3c.dom.Element createGradientElement​(java.lang.String start, java.lang.String end, java.lang.String direction)  
      protected org.w3c.dom.Element createImageElement​(double x, double y, double w, double h, java.lang.String src, boolean aspect, boolean flipH, boolean flipV, boolean embedded)  
      java.lang.Object drawCell​(mxCellState state)
      Draws the given cell.
      java.lang.Object drawLabel​(java.lang.String label, mxCellState state, boolean html)
      Draws the given label.
      org.w3c.dom.Element drawLine​(java.util.List<mxPoint> pts, java.util.Map<java.lang.String,​java.lang.Object> style)
      Draws the given lines as segments between all points of the given list of mxPoints.
      mxPoint drawMarker​(org.w3c.dom.Element parent, java.lang.Object type, mxPoint p0, mxPoint pe, float size, float strokeWidth, java.lang.String color)
      Draws the specified marker as a child path in the given parent.
      org.w3c.dom.Element drawShape​(int x, int y, int w, int h, java.util.Map<java.lang.String,​java.lang.Object> style)
      Draws the shape specified with the STYLE_SHAPE key in the given style.
      java.lang.Object drawText​(java.lang.String text, int x, int y, int w, int h, java.util.Map<java.lang.String,​java.lang.Object> style)
      Draws the specified text either using drawHtmlString or using drawString.
      protected org.w3c.dom.Element getDefsElement()  
      org.w3c.dom.Document getDocument()
      Returns a reference to the document that represents the canvas.
      protected org.w3c.dom.Element getEmbeddedImageElement​(java.lang.String src)  
      org.w3c.dom.Element getGlassGradientElement()  
      org.w3c.dom.Element getGradientElement​(java.lang.String start, java.lang.String end, java.lang.String direction)  
      java.lang.String getGradientId​(java.lang.String start, java.lang.String end, java.lang.String direction)  
      protected java.io.InputStream getResource​(java.lang.String src)  
      boolean isEmbedded()  
      protected boolean isImageResource​(java.lang.String src)
      Returns true if the given string ends with .png, .jpg or .gif.
      void setDocument​(org.w3c.dom.Document document)  
      void setEmbedded​(boolean value)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • document

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

        protected org.w3c.dom.Element defs
      • embedded

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

      • mxSvgCanvas

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

        public mxSvgCanvas​(org.w3c.dom.Document document)
        Constructs a new SVG canvas for the specified bounds, scale and background color.
    • Method Detail

      • appendSvgElement

        public void appendSvgElement​(org.w3c.dom.Element node)
      • getDefsElement

        protected org.w3c.dom.Element getDefsElement()
      • getGradientElement

        public org.w3c.dom.Element getGradientElement​(java.lang.String start,
                                                      java.lang.String end,
                                                      java.lang.String direction)
      • getGlassGradientElement

        public org.w3c.dom.Element getGlassGradientElement()
      • createGradientElement

        protected org.w3c.dom.Element createGradientElement​(java.lang.String start,
                                                            java.lang.String end,
                                                            java.lang.String direction)
      • getGradientId

        public java.lang.String getGradientId​(java.lang.String start,
                                              java.lang.String end,
                                              java.lang.String direction)
      • isImageResource

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

        protected java.io.InputStream getResource​(java.lang.String src)
      • createDataUrl

        protected java.lang.String createDataUrl​(java.lang.String src)
                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • getEmbeddedImageElement

        protected org.w3c.dom.Element getEmbeddedImageElement​(java.lang.String src)
      • createImageElement

        protected org.w3c.dom.Element createImageElement​(double x,
                                                         double y,
                                                         double w,
                                                         double h,
                                                         java.lang.String src,
                                                         boolean aspect,
                                                         boolean flipH,
                                                         boolean flipV,
                                                         boolean embedded)
      • setDocument

        public void setDocument​(org.w3c.dom.Document document)
      • getDocument

        public org.w3c.dom.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 java.lang.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 java.lang.Object drawLabel​(java.lang.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 org.w3c.dom.Element drawShape​(int x,
                                             int y,
                                             int w,
                                             int h,
                                             java.util.Map<java.lang.String,​java.lang.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 org.w3c.dom.Element drawLine​(java.util.List<mxPoint> pts,
                                            java.util.Map<java.lang.String,​java.lang.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​(org.w3c.dom.Element parent,
                                  java.lang.Object type,
                                  mxPoint p0,
                                  mxPoint pe,
                                  float size,
                                  float strokeWidth,
                                  java.lang.String color)
        Draws the specified marker as a child path in the given parent.
      • drawText

        public java.lang.Object drawText​(java.lang.String text,
                                         int x,
                                         int y,
                                         int w,
                                         int h,
                                         java.util.Map<java.lang.String,​java.lang.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.