Package com.mxgraph.canvas
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 Summary
Fields Modifier and Type Field Description protected org.w3c.dom.Element
defs
protected org.w3c.dom.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
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 com.mxgraph.canvas.mxBasicCanvas
flushImageCache, getImageBasePath, getImageForStyle, getScale, getTranslate, isDrawLabels, loadImage, setDrawLabels, setImageBasePath, setScale, setTranslate
-
-
-
-
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.
-
-