public final class SVGUtil extends Object
Modifier and Type | Field and Description |
---|---|
private static StyleSheet |
colorLookupStylesheet
CSS Stylesheet from Javax, to parse color values.
|
static NumberFormat |
FMT
Formatter to output numbers in a valid SVG number format.
|
static String |
HOURGLASS_PATH
Hourglass object.
|
static String |
HOURGLASS_STYLE
Hourglass style.
|
private static int |
NO_VALUE
Key not found value.
|
private static TObjectIntHashMap<String> |
SVG_COLOR_NAMES
SVG color names conversion.
|
static String |
THROBBER_PATH
Throbber path.
|
static String |
THROBBER_STYLE
Throbber style.
|
Constructor and Description |
---|
SVGUtil() |
Modifier and Type | Method and Description |
---|---|
static void |
addCSSClass(Element e,
String cssclass)
Add a CSS class to an Element.
|
static String |
colorToString(Color col)
Convert a color name from an AWT color object to CSS syntax
Note: currently only RGB (from ARGB order) are supported.
|
static String |
colorToString(int col)
Convert a color name from an integer RGB color to CSS syntax
Note: currently only RGB (from ARGB order) are supported.
|
static org.w3c.dom.svg.SVGPoint |
elementCoordinatesFromEvent(Document doc,
Element tag,
Event evt)
Convert the coordinates of an DOM Event from screen into element
coordinates.
|
static String |
fmt(double x)
Format a double according to the SVG specs.
|
static String |
makeMarginTransform(double owidth,
double oheight,
double iwidth,
double iheight,
double margin)
Make a transform string to add margins
|
static String |
makeMarginTransform(double owidth,
double oheight,
double iwidth,
double iheight,
double xmargin,
double ymargin)
Make a transform string to add margins
|
static String |
makeMarginTransform(double owidth,
double oheight,
double iwidth,
double iheight,
double lmargin,
double tmargin,
double rmargin,
double bmargin)
Make a transform string to add margins
|
static Element |
makeStyleElement(Document document)
Make a new CSS style element for the given Document.
|
static void |
removeCSSClass(Element e,
String cssclass)
Remove a CSS class from an Element.
|
static void |
removeFromParent(Element elem)
Remove an element from its parent, if defined.
|
static void |
removeLastChild(Element tag)
Remove last child of an element, when present
|
static void |
setAtt(Element el,
String name,
double d)
Set a SVG attribute
|
static void |
setAtt(Element el,
String name,
int d)
Set a SVG attribute
|
static void |
setAtt(Element el,
String name,
String d)
Set a SVG attribute
|
static void |
setCSSClass(Element e,
String cssclass)
Set the CSS class of an Element.
|
static void |
setStyle(Element el,
String d)
Set a SVG style attribute
|
static Color |
stringToColor(String str)
Convert a color name from SVG syntax to an AWT color object.
|
static Element |
svgCircle(Document document,
double cx,
double cy,
double r)
Create a SVG circle element.
|
static Element |
svgCircleSegment(SVGPlot svgp,
double centerx,
double centery,
double angleStart,
double angleDelta,
double innerRadius,
double outerRadius)
Create a circle segment.
|
static Element |
svgElement(Document document,
String name)
Create a SVG element in appropriate namespace
|
static Element |
svgLine(Document document,
double x1,
double y1,
double x2,
double y2)
Create a SVG line element.
|
static Element |
svgRect(Document document,
double x,
double y,
double w,
double h)
Create a SVG rectangle element.
|
static Element |
svgText(Document document,
double x,
double y,
String text)
Create a SVG text element.
|
static Element |
svgWaitIcon(Document document,
double x,
double y,
double w,
double h)
Draw a simple "please wait" icon (in-progress) as placeholder for running
renderings.
|
public static final NumberFormat FMT
public static final String HOURGLASS_PATH
public static final String HOURGLASS_STYLE
public static final String THROBBER_PATH
public static final String THROBBER_STYLE
private static final TObjectIntHashMap<String> SVG_COLOR_NAMES
private static final int NO_VALUE
private static final StyleSheet colorLookupStylesheet
public static String fmt(double x)
x
- number to formatpublic static Element svgElement(Document document, String name)
document
- containing documentname
- node namepublic static void setAtt(Element el, String name, double d)
el
- elementname
- attribute named
- double valuepublic static void setAtt(Element el, String name, int d)
el
- elementname
- attribute named
- integer valuepublic static void setAtt(Element el, String name, String d)
el
- elementname
- attribute named
- string valuepublic static void setStyle(Element el, String d)
el
- elementd
- style valuepublic static void setCSSClass(Element e, String cssclass)
addCSSClass(org.w3c.dom.Element, java.lang.String)
and
removeCSSClass(org.w3c.dom.Element, java.lang.String)
.e
- Elementcssclass
- class to set.public static void addCSSClass(Element e, String cssclass)
e
- Elementcssclass
- class to add.public static void removeCSSClass(Element e, String cssclass)
e
- Elementcssclass
- class to remove.public static Element makeStyleElement(Document document)
document
- document (factory)public static Element svgRect(Document document, double x, double y, double w, double h)
document
- document to create in (factory)x
- X coordinatey
- Y coordinatew
- Widthh
- Heightpublic static Element svgCircle(Document document, double cx, double cy, double r)
document
- document to create in (factory)cx
- center Xcy
- center Yr
- radiuspublic static Element svgLine(Document document, double x1, double y1, double x2, double y2)
document
- document to create in (factory)x1
- first point xy1
- first point yx2
- second point xy2
- second point ypublic static Element svgText(Document document, double x, double y, String text)
document
- document to create in (factory)x
- first point xy
- first point ytext
- Content of text element.public static Element svgWaitIcon(Document document, double x, double y, double w, double h)
document
- Document.x
- Lefty
- Topw
- Widthh
- HeightSVGConstants.SVG_PATH_TAG
)public static Color stringToColor(String str)
str
- Color namepublic static String colorToString(Color col)
col
- Color valuepublic static String colorToString(int col)
col
- Color valuepublic static String makeMarginTransform(double owidth, double oheight, double iwidth, double iheight, double lmargin, double tmargin, double rmargin, double bmargin)
owidth
- Width of outer (embedding) canvasoheight
- Height of outer (embedding) canvasiwidth
- Width of inner (embedded) canvasiheight
- Height of inner (embedded) canvaslmargin
- Left margin (in inner canvas' units)tmargin
- Top margin (in inner canvas' units)rmargin
- Right margin (in inner canvas' units)bmargin
- Bottom margin (in inner canvas' units)public static String makeMarginTransform(double owidth, double oheight, double iwidth, double iheight, double xmargin, double ymargin)
owidth
- Width of outer (embedding) canvasoheight
- Height of outer (embedding) canvasiwidth
- Width of inner (embedded) canvasiheight
- Height of inner (embedded) canvasxmargin
- Left and right margin (in inner canvas' units)ymargin
- Top and bottom margin (in inner canvas' units)public static String makeMarginTransform(double owidth, double oheight, double iwidth, double iheight, double margin)
owidth
- Width of outer (embedding) canvasoheight
- Height of outer (embedding) canvasiwidth
- Width of inner (embedded) canvasiheight
- Height of inner (embedded) canvasmargin
- Margin (in inner canvas' units)public static org.w3c.dom.svg.SVGPoint elementCoordinatesFromEvent(Document doc, Element tag, Event evt)
doc
- Document contexttag
- Element containing the coordinate systemevt
- Event to interpretpublic static void removeLastChild(Element tag)
tag
- Parentpublic static void removeFromParent(Element elem)
elem
- Element to removepublic static Element svgCircleSegment(SVGPlot svgp, double centerx, double centery, double angleStart, double angleDelta, double innerRadius, double outerRadius)
svgp
- Plot to draw tocenterx
- Center X positioncentery
- Center Y positionangleStart
- Starting angleangleDelta
- Angle deltainnerRadius
- inner radiusouterRadius
- outer radiusCopyright © 2015 ELKI Development Team, Lehr- und Forschungseinheit für Datenbanksysteme, Ludwig-Maximilians-Universität München. License information.