mxGraph 2.5.0.1


com.mxgraph.canvas
Class mxSvgCanvas

java.lang.Object
  extended by com.mxgraph.canvas.mxBasicCanvas
      extended by 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 Summary
protected  Element defs
           
protected  Document document
          Holds the HTML document that represents the canvas.
protected  boolean embedded
          Specifies if images should be embedded as base64 encoded strings.
 
Fields inherited from class com.mxgraph.canvas.mxBasicCanvas
DEFAULT_IMAGEBASEPATH, drawLabels, imageBasePath, imageCache, PRESERVE_IMAGE_ASPECT, scale, translate
 
Constructor Summary
mxSvgCanvas()
          Constructs a new SVG canvas for the specified dimension and scale.
mxSvgCanvas(Document document)
          Constructs a new SVG canvas for the specified bounds, scale and background color.
 
Method Summary
 void appendSvgElement(Element node)
           
protected  String createDataUrl(String src)
           
protected  Element createGradientElement(String start, String end, String direction)
           
protected  Element createImageElement(double x, double y, double w, double h, String src, boolean aspect, boolean flipH, boolean flipV, boolean embedded)
           
 Object drawCell(mxCellState state)
          Draws the given cell.
 Object drawLabel(String label, mxCellState state, boolean html)
          Draws the given label.
 Element drawLine(List<mxPoint> pts, Map<String,Object> style)
          Draws the given lines as segments between all points of the given list of mxPoints.
 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.
 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.
 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.
protected  Element getDefsElement()
           
 Document getDocument()
          Returns a reference to the document that represents the canvas.
protected  Element getEmbeddedImageElement(String src)
           
 Element getGlassGradientElement()
           
 Element getGradientElement(String start, String end, String direction)
           
 String getGradientId(String start, String end, String direction)
           
protected  InputStream getResource(String src)
           
 boolean isEmbedded()
           
protected  boolean isImageResource(String src)
          Returns true if the given string ends with .png, .jpg or .gif.
 void setDocument(Document document)
           
 void setEmbedded(boolean value)
           
 
Methods inherited from class com.mxgraph.canvas.mxBasicCanvas
flushImageCache, getImageBasePath, getImageForStyle, getScale, getTranslate, isDrawLabels, loadImage, setDrawLabels, setImageBasePath, setScale, setTranslate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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 Detail

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 Detail

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.

mxGraph 2.5.0.1


Copyright (c) 2010 Gaudenz Alder, David Benson. All rights reserved.