SVGAngle

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

The SVGAngle interface is used to represent a value that can be an <angle> or <number> value.

The SVGAngle returned from SVGAnimatedAngle.animVal and SVGAnimatedAngle.baseVal is read only, but the SVGAngle returned from SVGSVGElement.createSVGAngle() is writable. When designated as read only, attempts to modify the object will result in an exception being thrown.

An SVGAngle object can be associated with a particular element. The associated element is used to determine which element's content attribute to update if the object reflects an attribute. Unless otherwise described, an SVGAngle object is not associated with any element.

Every SVGAngle object operates in one of two modes:

  1. Reflect the base value of a reflected animatable attribute (being exposed through the baseVal member of an SVGAnimatedAngle),
  2. Be detached, which is the case for SVGAngle objects created with SVGSVGElement.createSVGAngle().

Constants

SVG_ANGLETYPE_UNKNOWN

Some unknown type of value.

SVG_ANGLETYPE_UNSPECIFIED

A unitless <number> interpreted as a value in degrees.

SVG_ANGLETYPE_DEG

An <angle> with a deg unit.

SVG_ANGLETYPE_RAD

An <angle> with a rad unit.

SVG_ANGLETYPE_GRAD

An <angle> with a grad unit.

Instance properties

unitType

The type of the value as specified by one of the SVG_ANGLETYPE_* constants defined on this interface.

value

The value as a floating point value, in user units. Setting this attribute will cause valueInSpecifiedUnits and valueAsString to be updated automatically to reflect this setting.

Exceptions on setting: A DOMException with code NO_MODIFICATION_ALLOWED_ERR is raised when the length corresponds to a read-only attribute, or when the object itself is read-only.

valueInSpecifiedUnits

The value as a floating point value, in the units expressed by unitType. Setting this attribute will cause value and valueAsString to be updated automatically to reflect this setting.

Exceptions on setting: A DOMException with code NO_MODIFICATION_ALLOWED_ERR is raised when the length corresponds to a read-only attribute, or when the object itself is read-only.

valueAsString

The value as a string value, in the units expressed by unitType. Setting this attribute will cause value, valueInSpecifiedUnits, and unitType to be updated automatically to reflect this setting.

Exceptions on setting:

A DOMException with code SYNTAX_ERR is raised if the assigned string cannot be parsed as a valid <angle>.

A DOMException with code NO_MODIFICATION_ALLOWED_ERR is raised when the length corresponds to a read-only attribute, or when the object itself is read-only.

Instance methods

newValueSpecifiedUnits

Reset the value as a number with an associated unitType, thereby replacing the values for all of the attributes on the object.

Exceptions:

  • A DOMException with code NOT_SUPPORTED_ERR is raised if unitType is SVG_ANGLETYPE_UNKNOWN or not a valid unit type constant (one of the other SVG_ANGLETYPE_* constants defined on this interface).
  • A DOMException with code NO_MODIFICATION_ALLOWED_ERR is raised when the length corresponds to a read only attribute or when the object itself is read only.
convertToSpecifiedUnits

Preserve the same underlying stored value, but reset the stored unit identifier to the given unitType. Object attributes unitType, valueInSpecifiedUnits, and valueAsString might be modified as a result of this method.

Specifications

Specification
Scalable Vector Graphics (SVG) 2
# InterfaceSVGAngle

Browser compatibility

BCD tables only load in the browser