release notes

0.5.13 (May 11th, 2017)
0.5.12 (October 28th, 2016)
0.5.11 (January 26th, 2016)
0.5.10 (November 21st, 2014)
0.5.9 (February 9th, 2014)
0.5.8 (November 11th, 2013)
0.5.7 (November 15th, 2012)
0.5.6 (May 15th, 2012)
0.5.5 (Feb 10th, 2012)
0.5.4 (Nov 2nd, 2011)
0.5.3 (Sept 10th, 2011)
0.5.2 (May 6th, 2011)
0.5.1 (Feb 22nd, 2011)
0.5.0 (Nov 1st, 2010)
0.4.9 (Oct 3rd, 2010)
0.4.7 and 0.4.8 (July 2nd, 2010)
0.4.6 (June 10th, 2010)
0.4.5 (April 21st, 2010)
0.4 (March 28th, 2010)
0.3.1 (March 17th, 2010)
0.3 (March 9th, 2010)
0.2 (Feb 7th, 2010)
0.0.1 (Dec 18th, 2009)

0.5.13 (May 11th, 2017)
Global modifications:

  • Migration to GWT-2.8.1 and gwt-maven-plugin 2.8.1.

Bug fixes:

0.5.12 (October 28th, 2016)
Global modifications:

  • Migration to GWT-2.8.0 and gwt-maven-plugin 2.8.0.

0.5.11 (January 26th, 2016)
Global modifications:

0.5.10 (November 21st, 2014)
Global modifications:

  • Migration to GWT-2.7.0 and gwt-maven-plugin 2.7.0.

Bug fixes:

  • Fixed NPE in ISVGLocatable.getNearestViewportElement, ISVGLocatable.getFarthestViewportElement and OMDocument.getElementById when the native JS method returns null.

0.5.9 (February 9th, 2014)
Global modifications:

  • Migration to GWT-2.6.0 and gwt-maven-plugin 2.6.0.
  • Migration to Java 7u45.
  • The compatibility with IE has been redesigned. Indeed, GWT 2.6.0 does not work correctly with IE 11 (the firefox permutation is selected instead of the IE10 permutation, see issue 8228). Thus IE compatibility code is now embedded in all versions of lib-gwt-svg and activated based on feature detection, à la Modernizr
  • Dropped legcay Opera support (new Opera versions are now webkit based).

package com.google.gwt.resources.css
SubstitutionReplacer
Duplicated this class to circumvent a regression on DataResource subclasses in 2.6.0, see Issue 8564

package com.google.gwt.resources.css
DOMHelperImplIE, SVGParserImplIE, SVGParserImplOpera
Removal

0.5.8 (November 11th, 2013)
Global modifications:

  • Migration to GWT-2.5.1 and gwt-maven-plugin 2.5.1.

Bug fixes:

  • Added workaround for to repare OMSVGSVGElement.setViewBox to accommodate the following change in firefox 22+

0.5.7 (November 15th, 2012)
Global modifications:

  • Migration to GWT-2.5.0 and gwt-maven-plugin 2.5.0.
  • Scripts embedded in SVG files loaded using OMSVGParser.parse are now enabled by default. A new method overload has been added to load the files with script disabled.

package org.vectomatic.dom.svg.utils
OMSVGParser
Added the following methods:

public static final OMSVGSVGElement parse(String rawSvg, boolean enableScripts)

0.5.6 (May 15th, 2012)
Global modifications:

  • Added support for native drag-and-drop events.
  • Rewrote event-handling code.
  • SVGResource can now be used as CSS/SVG backgrounds.

Bug fixes:

package org.vectomatic.dom.svg
OMSVGAElement, OMSVGAnimationElement, OMSVGCircleElement, OMSVGDefsElement, OMSVGEllipseElement, OMSVGForeignObjectElement, OMSVGGElement, OMSVGImageElement, OMSVGLineElement, OMSVGPathElement, OMSVGPolygonElement, OMSVGPolylineElement, OMSVGRectElement, OMSVGSVGElement, OMSVGSwitchElement, OMSVGSymbolElement, OMSVGTextContentElement, OMSVGUseElement
Added touch event handler registration methods:

public final HandlerRegistration addDragEndHandler(DragEndHandler handler)

public final HandlerRegistration addDragEnterHandler(DragEnterHandler handler)

public final HandlerRegistration addDragHandler(DragHandler handler)

public final HandlerRegistration addDragLeaveHandler(DragLeaveHandler handler)

public final HandlerRegistration addDragOverHandler(DragOverHandler handler)

public final HandlerRegistration addDragStartHandler(DragStartHandler handler)

public final HandlerRegistration addDropHandler(DropHandler handler)

OMSVGLength
Added the following methods:

public final float getValueInSpecifiedUnits(com.google.gwt.dom.client.Style.Unit unitType)

public final native float getValueInSpecifiedUnits(short unitType)

package org.vectomatic.dom.svg.events
HasGraphicalHandlers
The interface extends the following additional interface: HasAllDragAndDropHandlers

package org.vectomatic.dom.svg.impl
DOMEventBus
Creation

DOMHelperImpl
Removed the following constants:EVT_FOCUSIN, EVT_FOCUSOUT, EVT_MOUSEDOWN, EVT_MOUSEUP, EVT_MOUSEOVER, EVT_MOUSEOUT, EVT_MOUSEMOVE, EVT_ACTIVATE, EVT_CLICK, EVT_LOAD, EVT_BEGIN, EVT_END, EVT_REPEAT, EVT_UNLOAD, EVT_ABORT, EVT_ERROR, EVT_RESIZE, EVT_SCROLL, EVT_ZOOM, EVT_LOOSECAPTURE, EVT_TOUCHSTART, EVT_TOUCHEND, EVT_TOUCHMOVE, EVT_TOUCHCANCEL, EVT_GESTURESTART, EVT_GESTURECHANGE, EVT_GESTUREEND
Removed the following methods:

public native int eventGetTypeInt(String eventType)

public native int getEventsSunk(Element elem)

Added the following methods:

public void unbindEventListener(Element elem, String eventName)

protected native void unsinkEvents(Element elem, String eventName)

package org.vectomatic.dom.svg.ui
SVGResource
Class now derives from DataResource instead of ResourcePrototype.

package org.vectomatic.dom.svg.utils
DOMHelperImpl
Added the following methods:

public static native String base64encode(String str)

public static void unbindEventListener(Element elem, String eventName)

Deprecated the following method:

public static native boolean supportsSvgTouchEvents()

SVGImage
Made SVGImage implement drag-and-drop handler registration methods.

SVGConstants
Added the following constants:

public static final String SVG_FEATURE_TOUCH_EVENTS = "http://www.vectomatic.org/TR/SVG11/feature#SVGTouchEvents";

public static final String SVG_FEATURE_DND_EVENTS = "http://www.vectomatic.org/TR/SVG11/feature#SVGDndEvents";

0.5.5 (Feb 10th, 2012)
Global modifications:

  • Added support for touch events and gestures.

Bug fixes:

  • Applied patch submitted by Robert Mollitor to OMSVGRect.union
  • OMCSSPrimitiveValue: fixed infinite loops in getStringValue(), setStringValue() and getRGBColorValue().

package org.vectomatic.dom.svg
OMSVGAElement, OMSVGAnimationElement, OMSVGCircleElement, OMSVGDefsElement, OMSVGEllipseElement, OMSVGForeignObjectElement, OMSVGGElement, OMSVGImageElement, OMSVGLineElement, OMSVGPathElement, OMSVGPolygonElement, OMSVGPolylineElement, OMSVGRectElement, OMSVGSVGElement, OMSVGSwitchElement, OMSVGSymbolElement, OMSVGTextContentElement, OMSVGUseElement
Added touch event handler registration methods:

public HandlerRegistration addTouchCancelHandler(TouchCancelHandler handler)

public HandlerRegistration addTouchEndHandler(TouchEndHandler handler)

public HandlerRegistration addTouchMoveHandler(TouchMoveHandler handler)

public HandlerRegistration addTouchStartHandler(TouchStartHandler handler)

OMCSSPrimitiveValue
Added the following helper constructor:

public OMCSSPrimitiveValue(String stringValue, short primitiveType)

package org.vectomatic.dom.svg.events
HasGraphicalHandlers
The interface extends the following additional interface: HasAllTouchHandlers

package org.vectomatic.dom.svg.impl
DashArrayParser
Changed return type of method parse() from OMCSSValueList to OMCSSValue in order to be able to represent “none” and “inherit” values

SVGPaintParser
Added constant INHERIT to represent the “inherit” paint value.

package org.vectomatic.dom.svg.utils
OMSVGParser
Changed return type of method parseDashArray() from OMCSSValueList to OMCSSValue in order to be able to represent “none” and “inherit” values.

SVGConstants
Added the following constant:

String CSS_INHERIT_VALUE = "inherit";

DOMHelper
Added a method to detect SVG touch event support:

public boolean supportsSvgTouchEvents()

SVGImage
Made SVGImage implement touch handler registration methods.

package org.vectomatic.dom.svg
DOMHelperImpl
Added Michael Baranov’s patch for low-level gesture events handling (no API change)

CSSHelper
Creation

CSSHelperWebkit
Creation

0.5.4 (Nov 2nd, 2011)
Global modifications:

  • Added support for XPaths on IE, courtesy of xpath.js by Cameron McCormack.
  • Added better error detection in OMSVGParser, which now throws a ParserException if the parsed text is not well-formed or is not an SVG document.

Bug fixes:

  • Fixed NPE in org.vectomatic.dom.svg.OMNode.insertBefore
  • Found a workaround for the following IE9 problem: styles embedded in dynamically parsed SVGs are ignored by IE9.
  • Found a workaround for the following Opera problem: CSS styles embedded in dynamically parsed SVGs and containing an xlink:href get corrupted.

package org.vectomatic.dom.svg
OMSVGCircleElement
Added the following helper constructor:

public OMSVGCircleElement(float cx, float cy, float r)

OMSVGDescElement
Added the following helper constructor:

public OMSVGDescElement(String text)

OMSVGEllipseElement
Added the following helper constructor:

public OMSVGEllipseElement(float cx, float cy, float rx, float ry)

OMSVGImageElement
Added the following helper constructor:

public OMSVGImageElement(float x, float y, float width, float height, String href)

OMSVGLineElement
Added the following helper constructors:

public OMSVGLineElement(float x1, float y1, float x2, float y2)

public OMSVGLineElement(OMSVGPoint p1, OMSVGPoint p2)

OMSVGRectElement
Added the following helper constructors:

public OMSVGRectElement(float x, float y, float width, float height, float rx, float ry)

public OMSVGRectElement(OMSVGRect rect)

OMSVGTextElement
Added the following helper constructor:

public OMSVGTextElement(float x, float y, short unitType, String data)

OMSVGTitleElement
Added the following helper constructor:

public OMSVGTitleElement(String text)

OMText
Added the following helper constructor:

public OMText(String data)

package org.vectomatic.dom.svg.utils
ParserException
Creation

package org.vectomatic.dom.svg.impl
DOMHelperImplIE
Creation

SVGParserImpl
Changed the return type from OMSVGSVGElement to SVGSVGElement in:

public final SVGSVGElement parse(String rawSvg) throws ParserException

SVGParserImplIE
Creation

SVGParserImplWebkit
Creation

0.5.3 (Sept 10th, 2011)
Global modifications:

  • Migration to GWT 2.4.0
  • The relationship between wrapper types and overlay types is now changed in the following manner: all overlay types now have a back reference to the wrapper type representing the SVG element in GWT. Thus, conversions from overlay types to wrapper types now always return the same wrapper type, instead of instantiating a new one every time. This lets wrapper types contain a state of their own and enables subclassing. It is expected that browsers which will execute lib-gwt-svg will be able to cope with the resulting javascript object-dom object cycle reference and collect unused ones to avoid memory leaks.
  • All wrapper types which represent an element now have a no-arg constructor and can be instantiated directly, instead of using OMSVGDocument as a factory for these types. Subclasses can be created without having to implement a dedicated constructor.

New features:

  • Added support for parsing SVG paint values
  • Added support for parsing SVG dash-array values

Bug fixes

  • Fixed the value of org.vectomatic.dom.svg.utils.SVGConstants.CSS_CURRENTCOLOR_VALUE

package org.vectomatic.dom.svg
OMCSSValue
Creation

OMSVGAElement, OMSVGAltGlyphDefElement, OMSVGAltGlyphElement, OMSVGAltGlyphItemElement, OMSVGAnimateColorElement, OMSVGAnimateElement, OMSVGAnimateMotionElement, OMSVGAnimateTransformElement, OMSVGCircleElement, OMSVGClipPathElement, OMSVGColorProfileElement, OMSVGComponentTransferFunctionElement, OMSVGCursorElement, OMSVGDefsElement, OMSVGDescElement, OMSVGEllipseElement, OMSVGFEBlendElement, OMSVGFEColorMatrixElement, OMSVGFECompositeElement, OMSVGFEConvolveMatrixElement, OMSVGFEDiffuseLightingElement, OMSVGFEDisplacementMapElement, OMSVGFEDistantLightElement, OMSVGFEFloodElement, OMSVGFEFuncAElement, OMSVGFEFuncBElement, OMSVGFEFuncGElement, OMSVGFEFuncRElement, OMSVGFEGaussianBlurElement, OMSVGFEImageElement, OMSVGFEMergeElement, OMSVGFEMergeNodeElement, OMSVGFEMorphologyElement, OMSVGFEOffsetElement, OMSVGFEPointLightElement, OMSVGFESpecularLightingElement, OMSVGFESpotLightElement, OMSVGFETileElement, OMSVGFETurbulenceElement, OMSVGFilterElement, OMSVGFontElement, OMSVGFontFaceElement, OMSVGFontFaceFormatElement, OMSVGFontFaceNameElement, OMSVGFontFaceSrcElement, OMSVGFontFaceUriElement, OMSVGForeignObjectElement, OMSVGGElement, OMSVGGlyphElement, OMSVGGlyphRefElement, OMSVGHKernElement, OMSVGImageElement, OMSVGLinearGradientElement, OMSVGLineElement, OMSVGMarkerElement, OMSVGMaskElement, OMSVGMetadataElement, OMSVGMissingGlyphElement, OMSVGMPathElement, OMSVGPathElement, OMSVGPatternElement, OMSVGPolygonElement, OMSVGPolylineElement, OMSVGRadialGradientElement, OMSVGRectElement, OMSVGScriptElement, OMSVGSetElement, OMSVGStopElement, OMSVGStyleElement, OMSVGSVGElement, OMSVGSwitchElement, OMSVGSymbolElement, OMSVGTextElement, OMSVGTextPathElement, OMSVGTitleElement, OMSVGTRefElement, OMSVGTSpanElement, OMSVGUseElement, OMSVGViewElement, OMSVGVKernElement
Added an arg-less constructor to all of these classes

OMCSSValue
Creation

OMCSSPrimitiveValue
Creation

OMCSSValueList
Creation

OMRGBColor
Creation

OMSVGColor
Creation

OMSVGMatrix
Added the following methods:

public final boolean isIdentity();

OMSVGPaint
Creation

OMSVGAnimatedEnumeration
Added the following constants:

public static short SVG_UNIT_TYPE_UNKNOWN

public static short SVG_UNIT_TYPE_USERSPACEONUSE

public static short SVG_UNIT_TYPE_OBJECTBOUNDINGBOX

OMSVGStyle
Added the following method:

public OMCSSValue getSVGPropertyCSS(String name);

package org.vectomatic.dom.svg.impl
DashArrayParser
Creation

SVGPaintParser
Creation

package org.vectomatic.dom.svg.utils
OMSVGStyle
Added the following methods:

public static OMSVGPaint parsePaint(String cssText) throws JavaScriptException;

public static OMSVGPaint parsePaint(String cssText) throws JavaScriptException;

0.5.2 (May 6th, 2011)
Global modifications:

  • Migration to GWT 2.3.0
  • Support for IE9

New features:

  • Added interface and classes to load external SVG resources either through XmlHttpRequest (for webtop apps) or through IFrames (for plasmoids)

Bug fixes

  • Fixed bug in org.vectomatic.dom.svg.OMSVGStyle.clearSVGProperty(String)

package org.vectomatic.dom.svg.utils
AsyncXmlLoader
Creation

AsyncXmlLoaderCallback
Creation

HttpRequestXmlLoader
Creation

IFrameXmlLoader
Creation

0.5.1 (Feb 22nd, 2011)
Global modifications:

  • Migration to GWT 2.2.0
  • Transformation of the event handling code (migration to SimpleEventBus). There is now a shared EventBus for all SVG objects instead of an instance of HandlerManager per SVG objects. Thus, the extra __hm property which was added to each SVG object managing event handlers has been removed.
  • Changed the output of OMSVGTransform.getDescription() to output a description which matches the format of the transform attribute (http://www.w3.org/TR/SVG/coords.html#TransformAttribute)
  • POM changes to allow the use of the Maven release plugin
  • Wrapper classes now implement equals and hashCode with the following semantic: two wrapper instances are considered equal if they wrap the same JavaScriptObject. They also have the same hash value (the hash value of the wrapped JavaScriptObject object).

New features:

  • Added methods to OMSVGLength to support conversion to com.google.gwt.dom.client.Style.Unit.
  • Completed many root classes to add better DOM level 2 operation support (notably, namespace support, DOM attribute nodes, named node maps).
  • Add support to compute the distance from a point to a line.

Bug fixes:

  • Improved implementation of getMarkup() to use XMLSerializer instead of innerHTML.
  • Fixed incorrect IDL to GWT mapping: SVGAnimatedPoints was incorrectly modeled as a wrapper type instead of an interface
  • Fixed issue http://code.google.com/p/lib-gwt-svg/issues/detail?id=1 in OMSVGRect
  • Fixed problem in SVG validation when dealing with <title>, <desc> and <metadata> tags.
  • Fixed event handler registration on SMIL animation event. SMIL events now work correctly with browsers which support them (Opera, FF4).
  • Improved behavior of SVG buttons: they now catch click events and swallow them silently, which removes a bug in Chrome (where clicking rapidly on a button would cause click events to bubble up to the parent containers an trigger text selection in the parent containers). They also call event.stopPropagation() and event.preventDefault(). SVG buttons no longer keep a reference to old mouseDown events to implement repeat; they fire a fresh dynamically generated event every time.

package org.vectomatic.dom.svg

OMDocument
Added the following methods:

public final OMElement createElementNS(String namespaceURI, String qualifiedName) throws JavaScriptException

public Document getDocument()

public final OMNode importNode(OMNode importedNode, boolean deep)

OMElement
Added the following methods:

public final OMAttr getAttributeNode(String attrName)

public final OMNamedNodeMap getAttributes()

public final boolean hasAttribute(String name)

public final boolean hasAttributeNS(String namespaceURI, String localName) throws JavaScriptException

public final void setAttributeNS(String namespaceURI, String localName, String value) throws JavaScriptException

public final OMAttr setAttributeNode(OMAttr attr) throws JavaScriptException

OMNamedNodeMap
Added the following method:

public NamedNodeMap&lt;? extends Node&gt; getNamedNodeMap()

OMNode
Added the following methods:

public boolean equals(Object obj)

public static EventBus getEventBus()

public final String getLocalName()

public String getNamespaceURI()

public int hashCode()

OMSVGDocument
Added the following helper methods:

public final OMSVGTitleElement createSVGTitleElement(String text)

public final OMSVGLineElement createSVGLineElement(OMSVGPoint p1, OMSVGPoint p2)

public final OMSVGRectElement createSVGRectElement(OMSVGRect rect)

public final OMSVGTitleElement createSVGTitleElement(String text)

OMNode
Added the following helper methods:

public final com.google.gwt.dom.client.Style.Unit getUnit()

public final void newValueSpecifiedUnits(com.google.gwt.dom.client.Style.Unit unitType, float valueInSpecifiedUnits) throws JavaScriptException

public final void convertToSpecifiedUnits(com.google.gwt.dom.client.Style.Unit unitType) throws JavaScriptException

OMSVGLineElement
Added the following helper methods:

public final float parametricIntersection(OMSVGPoint p)

public final OMSVGPoint intersectionPoint(OMSVGPoint p)

public final OMSVGPoint intersectionPoint(OMSVGPoint p, OMSVGPoint destination)

public final float distanceToLine(OMSVGPoint p)

OMSVGSVGElement
Added the following helper methods:

public final OMSVGAngle createSVGAngle(OMSVGAngle a)

public final OMSVGLength createSVGLength(Style.Unit unitType, float valueInSpecifiedUnits)

public final OMSVGLength createSVGLength(OMSVGLength l)

public final OMSVGPoint createSVGPoint(OMSVGPoint p)

public final OMSVGMatrix createSVGMatrix(OMSVGMatrix m)

public final OMSVGRect createSVGRect(OMSVGRect rect)

public final void setHeight(com.google.gwt.dom.client.Style.Unit unitType, float height)

public final void setWidth(com.google.gwt.dom.client.Style.Unit unitType, float width)

OMText
Added the following method:

public Text getText()

package org.vectomatic.dom.svg.ui
OMSVGButtonBase
Added the following method:

public void onClick(ClickEvent event)

package org.vectomatic.dom.svg.utils

DOMHelper
Added the following methods:

public static final native Attr getAttributeNode(Element elt, String attrName)

public static final native Attr setAttributeNode(Element elt, Attr attr) throws JavaScriptException

0.5.0 (Nov 1st, 2010)
Global modifications:

  • The API has been migrated to include the lastest update from the SVG specification (SVG 1.1 second edition, W3C Working Draft 22 June 2010). This causes many interfaces to be slightly modified, see below for details.
  • Documentation captured from the SVG specification has been translated to javadoc and injected everywhere in the API.
  • Exceptions declared in the specification have been mapped to java exceptions and the corresponding throws clause have been added to the specification.
  • Many new helper methods have been introduced (xpath utilities, DOM-level 2 related methods, graphical methods).
  • An SVG validator has been integrated. It is enabled by default and checks at build-time all the SVG passed as SVGResource, ExternalSVGResource and inlined in UiBinder templates. The SVG validator is based on the experimental XML schema provided at W3C with custom fixes and improvements. It is possible to disable validation with the proper annotation or UiBinder attribute.
  • The library is now based on the GWT 2.1 final release.

org.vectomatic.dev.svg.impl.gen
SVGValidator
Creation

package org.vectomatic.dom.svg.impl
Attr
Added the following method:

public Element getOwnerElement()

SVGFEConvolveMatrixElement
Added the following method:

public OMSVGAnimatedString getIn1()

Changed the return type from OMSVGAnimatedLength to OMSVGAnimatedNumber in the following methods:

public OMSVGAnimatedNumber getKernelUnitLengthX()

public OMSVGAnimatedNumber getKernelUnitLengthY()

SVGFEDiffuseLightingElement
Added the following methods:

public OMSVGAnimatedNumber getKernelUnitLengthX()

public OMSVGAnimatedNumber getKernelUnitLengthY()

SVGFEImageElement
Added the following method:

public OMSVGAnimatedPreserveAspectRatio getPreserveAspectRatio()

SVGFEMorphologyElement
Changed the return type from OMSVGAnimatedLength to OMSVGAnimatedNumber in the following methods:

public OMSVGAnimatedNumber getRadiusX()

public OMSVGAnimatedNumber getRadiusY()

SVGFESpecularLightingElement
Added the following methods:

public OMSVGAnimatedNumber getKernelUnitLengthX()

public OMSVGAnimatedNumber getKernelUnitLengthY()

SVGStyleElement
Added the following methods:

public String getXmlspace()

public void setXmlspace(String value)

SVGSVGElement
Removed the following method:

public void setUseCurrentView(boolean value)

package org.vectomatic.dom.svg
OMNode
Changed the return type of getOwnerDocument from OMSVGDocument to OMDocument.

public OMDocument getOwnerDocument()

OMSVGFEConvolveMatrixElement
Added the following method:

public OMSVGAnimatedString getIn1()

Changed the return type from OMSVGAnimatedLength to OMSVGAnimatedNumber in the following methods:

public OMSVGAnimatedNumber getKernelUnitLengthX()

public OMSVGAnimatedNumber getKernelUnitLengthY()

OMSVGFEDiffuseLightingElement
Added the following methods:

public OMSVGAnimatedNumber getKernelUnitLengthX()

public OMSVGAnimatedNumber getKernelUnitLengthY()

OMSVGFEImageElement
Added the following method:

public OMSVGAnimatedPreserveAspectRatio getPreserveAspectRatio()

OMSVGFEMorphologyElement
Changed the return type from OMSVGAnimatedLength to OMSVGAnimatedNumber in the following methods:

public OMSVGAnimatedNumber getRadiusX()

public OMSVGAnimatedNumber getRadiusY()

OMSVGFESpecularLightingElement
Added the following methods:

public OMSVGAnimatedNumber getKernelUnitLengthX()

public OMSVGAnimatedNumber getKernelUnitLengthY()

OMSVGRect
Added the following methods:

public final OMSVGRect inset(float x, float y)

public final OMSVGRect inset(OMSVGRect dest, float x, float y)

OMSVGStyleElement
The class now implements the ISVGLangSpace interface.

OMSVGSVGElement
Removed the following method:

public void setUseCurrentView(boolean value)

package org.vectomatic.dom.svg.itf
ISVGGraphicsElement
Creation

ISVGContainerElement
Creation

package org.vectomatic.dom.svg.ui
ExternalSVGResource
Added validated annotation attribute for methods which define SVG resources and want to explicitly turn validation on or off.

SVGResource
Added validated annotation attribute for methods which define SVG resources and want to explicitly turn validation on or off.

package org.vectomatic.dom.svg.utils

DOMHelper
Added the following methods:

public static String getNamespaceURI(Node node)

public static String getLocalName(Node node)

public static Iterator evaluateNodeListXPath(Element root, String expr, XPathPrefixResolver resolver)

public static T evaluateNodeXPath(Element root, String expr, XPathPrefixResolver resolver)

public static String evaluateStringXPath(Element root, String expr, XPathPrefixResolver resolver)

public static float evaluateNumberXPath(Element root, String expr, XPathPrefixResolver resolver)

public static boolean evaluateBooleanXPath(Element root, String expr, XPathPrefixResolver resolver)

public static String getXPath(Node node, Node root)

SVGPrefixResolver
Added the following static field

public static final SVGPrefixResolver INSTANCE

0.4.9 (Oct 3rd, 2010)
package org.vectomatic.dom.svg
OMAttr
Creation

OMNamedNodeMap
Creation

OMNode
Improved convert() so that OMText, OMDocument, OMAttr can be returned.

OMElement
Fixed constructor signature

OMDocument
Fixed constructor signature

OMSVGPoint
Added the following methods:

public float length()

public float length2()

public float distance(OMSVGPoint p)

public float distance2(OMSVGPoint p)

package org.vectomatic.dom.svg.impl
Attr
Creation

NamedNodeMap
Creation

package org.vectomatic.dom.svg.utils
DOMHelper
made the signature of evaluateXPath more generic (requires a root OMElement instead of a root OMSVGElement)

public static java.util.Iterator evaluateXPath(OMElement root, java.lang.String expr, XPathPrefixResolver resolver)

Added the following methods:

public static NamedNodeMap getAttributes(Element elem)

public static boolean hasAttributeNS(Element elem, String namespaceURI, String localName)

public static void setAttributeNS(Element elem, String namespaceURI, String localName, String value)

package org.vectomatic.dom.svg.ui
SVGImage

  • now implements ISVGStylable
  • removed unnecessary cloneNode in setSvgElement
  • rolled back on the modification which put <svg> element wrapped by SVGImage is now put into a <div> (bad idea)

SVGButtonBase

  • now implements ISVGStylable
  • removed unnecessary cloneNode in setSvgElement
  • rolled back on the modification which put <svg> element wrapped by SVGImage is now put into a <div> (bad idea)

SVGButtonBase

0.4.7 and 0.4.8 (July 2nd, 2010)
This is just a maintenance release, to keep up with the latest upgrade of GWT. There are no new functionalities. If you use GWT 2.0.3, use lib-gwt-svg 0.4.6. If you use GWT 2.0.4, use lib-gwt-svg 0.4.7. Finally if you use GWT 2.1.0M1, use lib-gwt-svg 0.4.8.

0.4.6 (June 10th, 2010)
package org.vectomatic.dom.svg.ui
SVGImage
The class now implements HasAllMouseHandlers. The <svg> element wrapped by SVGImage is now put into a <div> element, which improves the integration with other GWT widgets and libraries

package org.vectomatic.dom.svg

  • Changed many APIs to make better use of generics
  • Changed all the DOM list API to make them real iterable Java collections: OMNodeList, OMSVGLengthList, OMSVGNumberList, OMSVGPathSegList, OMSVGPointList, OMSVGStringList, OMSVGTransformList. This means they are no longer implemented as overlay types, but as wrapper objects which implement Iterable<T>
  • Added more helper methods to OMSVGPoint, OMSVGRect and OMSVGTransform
  • Changed the way wrappers manage event handlers. The underlying HandlerManager is no longer stored in the wrapper, but in the overlay type itself. This makes the wrappers truly “transparent” and removes the risk of incorrect behavior due to several HandlerManagers being instantiated for the same SVG object by calls which create wrappers (getElementById(), getFirstChild(), …)

OMNodeList
Added the following method

public final Iterator iterator()

OMSVGLengthList
Added the following method

public final Iterator iterator()

OMSVGNumberList
Added the following method

public final Iterator iterator()

OMSVGPathSegList
Added the following method

public final Iterator iterator()

OMSVGPointList
Added the following method

public final Iterator iterator()

OMSVGStringList
Added the following method

public final Iterator iterator()

OMSVGTransformList
Added the following method

public final Iterator iterator()

OMSVGPoint
Added the following methods

public final OMSVGPoint product(OMSVGPoint p)
public OMSVGPoint product(OMSVGPoint p, OMSVGPoint destination)
public float dotProduct(OMSVGPoint p)
public float crossProduct(OMSVGPoint p)
public final OMSVGPoint round()
public final OMSVGPoint round(OMSVGPoint destination)
public final OMSVGPoint floor()
public final OMSVGPoint floor(OMSVGPoint destination)

OMSVGRect
Added the following methods

public final boolean contains(OMSVGPoint p)
public OMSVGRect assignTo(OMSVGRect destination)
public final String getDescription()

OMSVGTransform
Added the following method

public final String getDescription()

package org.vectomatic.dom.svg.ui

  • Added classes and methods to support XPath queries on the SVG DOM

DOMHelper
Added the following method

public static Iterator evaluateXPath(OMSVGElement root, String expr, XPathPrefixResolver resolver)

SVGPrefixResolver
Creation

XPathPrefixResolver
Creation

SVGConstants
Added the CSS_TYPE constant

0.4.5 (April 21st, 2010)
package org.vectomatic.dom.svg
OMElement

Added a method to manage DOM attributes

public final String getAttributeNS(String namespaceURI, String localName)

OMSVGRect

Added the following methods

public final float getMaxX()
public final float getMaxY()
public final OMSVGRect intersection(OMSVGRect r)
public final OMSVGRect intersection(OMSVGRect r, OMSVGRect destination)
public final OMSVGRect union(OMSVGRect r)
public final OMSVGRect union(OMSVGRect r, OMSVGRect destination)

package org.vectomatic.dom.svg.ui

  • Improved javadoc
  • Added classes to implement SVG push buttons and toggle buttons
  • Added support for external SVG resources in client bundles
  • Improved the widgets sample in lib-gwt-svg-samples to demonstrate SVG buttons
  • Added a new sample in lib-gwt-svg-samples to demonstrate SVG SMIL animations

SVGButtonBase
Creation

SVGPushButton
Creation

SVGToggleButton
Creation

SVGExternalResource
Creation

package org.vectomatic.dom.svg.utils
DOMHelper

Added a method to manage DOM attributes

public static String getAttributeNS(Element elem, String namespaceURI, String localName)

0.4 (March 28th, 2010)

package org.vectomatic.dom.svg
package org.vectomatic.dom.svg.events

  • Added several custom events classes to represent the following svg events: focusin, focusout, activate
  • Fixed the SVG element classes (removed incorrect handler hooks for focus and blur events and added new hooks for focusin, focusout, activate events)
  • Added @Tag annotations to all element classes for UiBinder integration

FocusInEvent
Creation

FocusInHandler
Creation

HasFocusInHandlers
Creation

FocusOutEvent
Creation

FocusOutHandler
Creation

HasFocusOutHandlers
Creation

ActivateEvent
Creation

ActivateHandler
Creation

HasActivateHandlers
Creation

package org.vectomatic.dom.svg.ui

  • Added a SVG widget hierarchy to make use of SVG simpler and to provide integration with UiBinder
  • Added a resource bundle dedicated SVG type

SVGWidget
Creation

SVGImage
Creation

SVGResource
Creation

0.3.1 (March 17th, 2010)

  • Renamed the project from libgwtsvg to lib-gwt-svg for SEO
  • Added a new sample to lib-gwt-svg-samples to demonstrate SVG feature names

package org.vectomatic.dom.svg.utils

SVGConstants
Added constants for SVG feature names

DOMHelper

Added a method to test SVG features

public static native boolean hasFeature(String featureName)

0.3 (March 9th, 2010)

package org.vectomatic.dom.svg

OMElement

Added methods to manage DOM attributes

public final String getAttribute(String name)
public final void setAttribute(String name, String value)
public final void removeAttribute(String name)

OMNode

Fix bug in

getLastChild()

OMSVGDocument

Added helper methods to simplify basic shape creation

public final OMSVGCircleElement createSVGCircleElement(float cx, float cy, float r)
public final OMSVGEllipseElement createSVGEllipseElement(float cx, float cy, float rx, float ry)
public final OMSVGLineElement createSVGLineElement(float x1, float y1, float x2, float y2)
public final OMSVGRectElement createSVGRectElement(float x, float y, float width, float height, float rx, float ry)
public final OMSVGTextElement createSVGTextElement(float x, float y, short unitType, String data)

OMSVGElement

Added method to serialize SVG nodes to XML

public final String getMarkup()

OMSVGFilterElement

Added constants for filter inputs

OMSVGNumberList

Added helper methods to simplify number list creation

public final OMSVGNumber insertItemBefore(OMSVGSVGElement svg, float value, int index)
public final OMSVGNumber appendItem(OMSVGSVGElement svg, float value)
public final OMSVGNumber[] appendItems(OMSVGSVGElement svg, float[] values)
public final OMSVGNumber replaceItem(OMSVGSVGElement svg, float value, int index)

OMSVGPoint

Added helper methods to provide basic geometric operations on points

public final OMSVGPoint add(OMSVGPoint p)
public OMSVGPoint add(OMSVGPoint p, OMSVGPoint destination)
public final OMSVGPoint substract(OMSVGPoint p)
public OMSVGPoint substract(OMSVGPoint p, OMSVGPoint destination)
public final OMSVGPoint scale(float f)
public OMSVGPoint scale(float f, OMSVGPoint destination)
public OMSVGPoint assignTo(OMSVGPoint destination)

OMSVGRectElement

Added helper methods to deal with rect center

public final float getCenterX()
public final float getCenterY()

OMSVGStyle

Added method to clear a property

public void clearSVGProperty(String name)

OMSVGSVGElement

Added helper methods to set the width, height and viewBox of an SVG element

public final void setHeight(short unitType, float height)
public final void setViewBox(OMSVGRect rect)
public final void setViewBox(float x, float y, float width, float height)
public final void setWidth(short unitType, float width)

package org.vectomatic.dom.svg.impl

DOMHelperImpl

Implementation of the capability to redirect events to a capturing element

SVGElement

Implementation of XML serialisation

package org.vectomatic.dom.svg.utils

DOMHelper

Added the methods to provide capability to redirect events to a capturing element

public static OMSVGElement getCaptureElement()
public static HandlerRegistration setCaptureElement(OMSVGElement element, LoseCaptureHandler loseCaptureHandler)
public static void releaseCaptureElement()

Added helper method to compute a xlink URL

public static final String toUrl(String s)

0.2 (Feb 7th, 2010)

  • The generated code is now based on W3C IDLs instead of XPCOM IDLs. This provides a more standard-compliant / complete input (SVGElementInstance and SVGElementInstanceList are now present). Being pure OMG IDLs, they are also easier to parse than XPCOM IDLs which have a mutated grammar.
  • From the end-user point of view, the main difference is that there is now a separation between API (org.vectomatic.dom.svg package) and implementation (org.vectomatic.dom.svg.impl). Wrapper objects are used where implementing interfaces or providing browser-dependent implementations is required (mostly Element objects). SVG interfaces are now provided on wrapper types for polymorphic code. Overlay types are used for the implementation and are sometimes exposed directly for well standardized objects (like OMSVGRect, OMSVGPoint, OMSVGPathSeg).
  • The event model has been revamped (the work is not yet terminated). The low-level code does not rely on existing GWT code (since it is ill-suited to SVG). The high-level code relies on the new GWT event system
  • The generated packages dealing with stylesheet have been removed and replaced by an integration with the GWT style APIs
  • DOM integration has been improved. The library automatically manages DOM element imports. Wrapper types support DOM tree operations (like appendChild or getElementById) directly

0.0.1 (Dec 18th, 2009)

  • Initial release