SharpVectors.Model
Gets or set the attribute specifying the motion path, expressed in the same format and interpreted the same
way as the "d" attribute on the "path" element.
The effect of a motion path animation is to add a supplemental transformation matrix onto the CTM for the
referenced object which causes a translation along the x- and y-axes of the current user coordinate system
by the computed X and Y values computed over time.
Gets or sets a value that takes a semicolon-separated list of floating point values between 0 and 1 and indicates
how far along the motion path the object shall move at the moment in time specified by corresponding "keyTimes" value.
Distance calculations use the user agent's distance along the path algorithm. Each progress value in the list
corresponds to a value in the "keyTimes" attribute list.
If a list of "keyPoints" is specified, there must be exactly as many values in the "keyPoints" list
as in the "keyTimes" list.
Gets or sets an attribute post-multiplies a supplemental transformation matrix onto the CTM of the target element
to apply a rotation transformation about the origin of the current user coordinate system.
The rotation transformation is applied after the supplemental translation transformation that is computed
due to the "path" attribute.
- auto
Indicates that the object is rotated over time by the angle of the direction (i.e.,
directional tangent vector) of the motion path.
- auto-reverse
Indicates that the object is rotated over time by the angle of the direction (i.e.,
directional tangent vector) of the motion path plus 180 degrees.
- number
Indicates that the target element has a constant rotation transformation applied to it,
where the rotation angle is the specified number of degrees.
The default value is '0'.
The "origin" attribute is defined in the SMIL Animation specification. It has no effect in SVG.
The value is "default".
Gets or sets a value to indicates the type of transformation which is to have its values change over time.
The values are translate | scale | rotate | skewX | skewY.
If the attribute is not specified, then the effect is as if a value of 'translate' were specified.
The ‘from’, ‘by’ and ‘to’ attributes take a value expressed using the same syntax that is available for the given transformation type:
-
For a type='translate", each individual value is expressed as {tx} [,{ty}].
-
For a type="scale", each individual value is expressed as {sx} [,{sy}].
-
For a type="rotate", each individual value is expressed as {rotate-angle} [{cx} {cy}].
-
For a type="skewX" and type="skewY", each individual value is expressed as {skew-angle}.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Gets a value providing a hint on the rendering defined by this element.
An enumeration of the specifying the rendering hint.
This will always return
Summary description for SvgAngle.
Creates a SvgAngle value
The string to parse for the angle value
The default value for the angle.
Specifies if the value should be read-only
Reset the value as a number with an associated unitType, thereby replacing the values
for all of the attributes on the object.
The unitType for the angle value (e.g., SvgAngleTypeDEG).
The angle value
Preserve the same underlying stored value, but reset the stored unit identifier to the given
unitType. Object attributes unitType, valueAsSpecified and valueAsString might be modified
as a result of this method.
The unitType to switch to (e.g., SvgAngleTypeDEG).
The type of the value as specified by one of the constants specified above
The angle value as a floating point value, in degrees. Setting this attribute will cause
valueInSpecifiedUnits and valueAsString to be updated automatically to reflect this setting.
NO_MODIFICATION_ALLOWED_ERR: Raised on an attempt to change the
value of a readonly attribute.
The angle 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.
NO_MODIFICATION_ALLOWED_ERR: Raised on an attempt to change the
value of a readonly attribute.
The angle value as a string value, in the units expressed by unitType. Setting this attribute
will cause value and valueInSpecifiedUnits to be updated automatically to reflect this setting.
NO_MODIFICATION_ALLOWED_ERR: Raised on an attempt to change the
value of a readonly attribute.
Summary description for SvgAnimatedNumber.
Summary description for SvgAnimatedEnumeration.
An implementation of the interface.
Used for attributes of basic type 'length' which can be animated.
Used for attributes of basic type 'length' which can be animated.
The elements that contains the length
The direction of the length, 0=x-axis, 1=y-axis, 2=no special axis
String to parse for the value
The base value of the given attribute before applying any animations.
If the given attribute or property is being animated, contains the current animated value of the
attribute or property, and both the object itself and its contents are readonly. If the given attribute
or property is not currently being animated, contains the same value as 'baseVal'.
Summary description for SvgAnimatedLengthList.
Gets the number of elements contained in the .
The number of elements contained in the .
Gets the element at the specified index.
The zero-based index of the element to get or set.
The element at the specified index.
Summary description for SvgAnimatedNumber.
Summary description for SvgAnimatedNumberList.
Gets the number of elements contained in the .
The number of elements contained in the .
Gets the element at the specified index.
The zero-based index of the element to get or set.
The element at the specified index.
The base value of the given attribute before applying any animations
If the given attribute or property is being animated, then this attribute contains the current animated
value of the attribute or property, and both the object itself and its contents are readonly. If the given
attribute or property is not currently being animated, then this attribute contains the same value as 'BaseVal'.
Summary description for SvgAnimatedPreserveAspectRatio.
Summary description for SvgAnimatedString.
Used for the various attributes which specify a set of transformations, such as the transform
attribute which is available for many of Svg's elements, and which can be animated.
Summary description for SvgColor.
Summary description for SvgElement.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Gets a value providing a hint on the rendering defined by this element.
An enumeration of the specifying the rendering hint.
Whenever an SvgElementInstance is created for an SvgElement this property is set. The value of
this property is used by the renderer to dispatch events. SvgElements that are <use>d exist in a
conceptual "instance tree" and the target of events for those elements is the conceptual instance
node represented by the SvgElementInstance.
This provides information on the OpenType and Web fonts to the .
Defines the direction of a SvgLength
Defines the origin type of the SvgLength value
Creates a SvgLength value
String to be parsed into a length
The associated element
Direction of the length, used for percentages
The type of the value as specified by one of the constants specified above.
The value as an floating point value, in user units. Setting this attribute will cause
valueInSpecifiedUnits and valueAsString to be updated automatically to reflect this setting.
NO_MODIFICATION_ALLOWED_ERR: Raised on an attempt to change
the value of a readonly attribute.
The value as an 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.
NO_MODIFICATION_ALLOWED_ERR: Raised on an attempt to change
the value of a readonly attribute.
The value as a string value, in the units expressed by unitType. Setting this attribute will
cause value and valueInSpecifiedUnits to be updated automatically to reflect this setting.
NO_MODIFICATION_ALLOWED_ERR: Raised on an attempt to change the
value of a readonly attribute.
Reset the value as a number with an associated unitType, thereby replacing the values for
all of the attributes on the object.
The unitType for the value (e.g., MM).
The new value
Preserve the same underlying stored value, but reset the stored unit identifier to the given unitType.
Object attributes unitType, valueAsSpecified and valueAsString might be modified as a result of this
method. For example, if the original value were "0.5cm" and the method was invoked to convert to
millimeters, then the unitType would be changed to MM, valueAsSpecified would be changed to the
numeric value 5 and valueAsString would be changed to "5mm".
The unitType to switch to (e.g., MM).
This interface defines a list of SvgLength objects
Base class for all SVG*List-derived classes.
Note we're using (as opposed to deriving from) to hide unneeded methods
Note that a CLR uint is equivalent to an IDL ulong, so uint is used for all index values
SvgList constructor
NumberOfItems
Clear
Initialize
GetItem
InsertItemBefore
ReplaceItem
RemoveItem
AppendItem
RemoveItem - used to remove an item by value as opposed to by position
Many of SVG's graphics operations utilize 2x3 matrices of the form:
[a c e]
[b d f]
which, when expanded into a 3x3 matrix for the purposes of matrix arithmetic, become:
[a c e]
[b d f]
[0 0 1]
Summary description for SvgNumberList.
Many of the SVG DOM interfaces refer to objects of class SvgPoint.
An SvgPoint is an (x,y) coordinate pair. When used in matrix
operations, an SvgPoint is treated as a vector of the form:
[x]
[y]
[1]
This class defines a list of SvgPoint objects.
Rectangles are defined as consisting of a (x,y) coordinate pair identifying a minimum X value,
a minimum Y value, and a width and height, which are usually constrained to be non-negative.
This tests whether two structures have equal
location and size.
The structure that is to the left of the
equality operator.
The structure that is to the right of the
equality operator.
This operator returns true if the two specified
structures have equal
, ,
, and
properties.
This tests whether two structures differ in
location or size.
The structure that is to the left of the
inequality operator.
The structure that is to the right of the
inequality operator.
This operator returns true if any of the ,
, , or
properties of the two
structures are unequal; otherwise false.
This tests whether an object is a with the
same location and size of this .
The to test.
This returns if the specified object is a
and its , ,
, and properties are equal
to the corresponding properties of this ;
otherwise, .
This tests whether the specified is with
the same location and size of this .
The to test.
This returns if specified
has its , , , and
properties are equal to the corresponding
properties of this ; otherwise,
.
This tests whether the specified is with
the same location and size of this .
The to test.
This returns if specified
has its , , , and
properties are equal to the corresponding
properties of this ; otherwise,
.
This determines if the specified point or rectangle is contained
within this structure.
This determines if the specified point is contained within this
structure.
The x-coordinate of the point to test.
The y-coordinate of the point to test.
This method returns true if the point defined by x and y is
contained within this structure; otherwise
false.
This determines if the specified point is contained within this
structure.
The to test.
This method returns true if the point represented by the pt
parameter is contained within this
structure; otherwise false.
This determines if the rectangular region represented by rect is
entirely contained within this structure.
The to test.
This method returns true if the rectangular region represented by
rect is entirely contained within the rectangular region represented
by this ; otherwise false.
Gets the hash code for this structure.
For information about the use of hash codes, see Object.GetHashCode.
The hash code for this .
Inflates this structure by the specified
amount.
Inflates this structure by the specified
amount.
The amount to inflate this structure horizontally.
The amount to inflate this structure vertically.
This method does not return a value.
This replaces this structure with the
intersection of itself and the specified
structure.
The rectangle to intersect.
This method does not return a value.
This determines if this rectangle intersects with rect.
The rectangle to test.
This method returns if there is any
intersection; otherwise, .
Adjusts the location of this rectangle by the specified amount.
The amount to offset the location vertically.
The amount to offset the location horizontally.
This method does not return a value.
Creates and returns an inflated copy of the specified
structure. The copy is inflated by the
specified amount. The original rectangle remains unmodified.
The to be copied. This rectangle is not
modified.
The amount to inflate the copy of the rectangle horizontally.
The amount to inflate the copy of the rectangle vertically.
The inflated .
Returns a structure that represents the
intersection of two rectangles. If there is no intersection, and
empty is returned.
A rectangle to intersect.
A rectangle to intersect.
A third structure the size of which
represents the overlapped area of the two specified rectangles.
Creates the smallest possible third rectangle that can contain both
of two rectangles that form a union.
A rectangle to union.
A rectangle to union.
A third structure that contains both of
the two rectangles that form the union.
This interface defines a list of String objects
A class to encapsulate all SvgTest functionality. Used by SVG elements as a helper class
Summary description for SvgTransform.
Summary description for SvgTransformList.
TODO: This class does not yet support custom views
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Gets a value providing a hint on the rendering defined by this element.
An enumeration of the specifying the rendering hint.
This will always return
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Gets a value providing a hint on the rendering defined by this element.
An enumeration of the specifying the rendering hint.
This will always return
Gets a value providing a hint on the rendering defined by this element.
An enumeration of the specifying the rendering hint.
The SvgDefsElement interface corresponds to the 'defs' element.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Gets a value providing a hint on the rendering defined by this element.
An enumeration of the specifying the rendering hint.
This will always return
The SvgDescElement interface corresponds to the 'desc' element.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
The root object in the document object hierarchy of an Svg document.
When an 'svg' element is embedded inline as a component of a document from another namespace,
such as when an 'svg' element is embedded inline within an XHTML document
[XHTML], then an
ISvgDocument object will not exist; instead, the root object in the
document object hierarchy will be a Document object of a different type, such as an HTMLDocument object.
However, an ISvgDocument object will indeed exist when the root
element of the XML document hierarchy is an 'svg' element, such as when viewing a stand-alone SVG
file (i.e., a file with MIME type "image/svg+xml"). In this case, the ISvgDocument
object will be the root object of the document object model hierarchy.
In the case where an SVG document is embedded by reference, such as when an XHTML document has an 'object'
element whose href attribute references an SVG document (i.e., a document whose MIME type is
"image/svg+xml" and whose root element is thus an 'svg' element), there will exist two distinct DOM hierarchies.
The first DOM hierarchy will be for the referencing document (e.g., an XHTML document).
The second DOM hierarchy will be for the referenced SVG document. In this
second DOM hierarchy, the root object of the document object model
hierarchy is an ISvgDocument object.
The ISvgDocument interface contains a similar list of attributes and
methods to the HTMLDocument interface described in the
Document
Object Model (HTML) Level 1 chapter of the
[DOM1] specification.
Namespace URI to map to the xml prefix
Entities URIs corrections are cached here.
Currently consists in mapping '_' to '' (nothing)
Semaphore to access _entitiesUris
Root where resources are embedded
Namespace resolution event delegate.
URI resolution event delegate
Occurs when a namespace is being resolved.
Occurs when an URI is resolved (always).
Get or sets the dots per inch at which the objects should be rendered.
The current dots per inch value.
Loads an XML document.Loads the specified XML data.
Note The Load method always preserves significant white
space. The PreserveWhitespace property determines whether or not
white space is preserved. The default is false, whites space is
not preserved.
Loads the XML document from the specified URL.
URL for the file containing the XML document to load.
Loads the XML document from the specified stream but with the
specified base URL
Base URL for the stream from which the XML document is loaded.
The stream containing the XML document to load.
Loads the XML document from the specified
TextReader.
Loads the XML document from the specified stream.
The stream containing the XML document to load.
Given a transformed resource name, find a possible existing resource.
The URI.
Handles DynamicXmlUrlResolver GettingEntity event.
The absolute URI.
The of object to return.
Gets the URI direct.
The path.
The of object to return.
Handles DynamicXmlResolver Resolve event.
The relative URI.
Gets/create an XML parser context, with predefined namespaces
Handles DynamicXmlNamespaceManager Resolve event.
The prefix.
Creates the validating XML reader.
The URI.
Creates the validating XML reader.
The text reader.
Creates the validating XML reader.
The URI.
The stream.
Creates the validating XML reader.
The XML reader.
The title of the document which is the text content of the first child title
element of the 'svg' root element.
Returns the URI of the page that linked to this page. The value is an empty
string if the user navigated to the page directly (not through a link, but,
for example, via a bookmark).
The domain name of the server that served the document, or a null string if the
server cannot be identified by a domain name.
The root 'svg' element in the document hierarchy
This implements the interface, which corresponds to the 'g' element.
Gets a value providing a hint on the rendering defined by this element.
An enumeration of the specifying the rendering hint.
This will always return
Gets a value providing a hint on the rendering defined by this element.
An enumeration of the specifying the rendering hint.
This will always return
SvgStyleableElement is an extension to the Svg DOM to create a class for all elements that are styleable.
The SvgStyleElement interface corresponds to the 'style' element.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
A key interface definition is the interface, which is the interface that corresponds
to the 'svg' element. This interface contains various miscellaneous commonly-used utility methods,
such as matrix operations and the ability to control the time of redraw on visual rendering devices.
extends ViewCSS and DocumentCSS to provide access to the
computed values of properties and the override style sheet as described in DOM2.
Gets a value providing a hint on the rendering defined by this element.
An enumeration of the specifying the rendering hint.
This will always return
Corresponds to attribute x on the given 'svg' element.
Corresponds to attribute y on the given 'svg' element.
Corresponds to attribute width on the given 'svg' element.
Corresponds to attribute height on the given 'svg' element.
Corresponds to attribute contentScriptType on the given 'svg' element
NO_MODIFICATION_ALLOWED_ERR: Raised on an attempt to change the value of a readonly attribute.
Corresponds to attribute contentStyleType on the given 'svg' element.
NO_MODIFICATION_ALLOWED_ERR: Raised on an attempt to change the value of a readonly attribute.
The position and size of the viewport (implicit or explicit) that corresponds to this 'svg' element. When the user agent is actually rendering the content, then the position and size values represent the actual values when rendering. The position and size values are unitless values in the coordinate system of the parent element. If no parent element exists (i.e., 'svg' element represents the root of the document tree), if this SVG document is embedded as part of another document (e.g., via the HTML 'object' element), then the position and size are unitless values in the coordinate system of the parent document. (If the parent uses CSS or XSL layout, then unitless values represent pixel units for the current CSS or XSL viewport, as described in the CSS2 specification.) If the parent element does not have a coordinate system, then the user agent should provide reasonable default values for this attribute.
The object itself and its contents are both readonly.
Size of a pixel units (as defined by CSS2) along the x-axis of the viewport, which represents a unit somewhere in the range of 70dpi to 120dpi, and, on systems that support this, might actually match the characteristics of the target medium. On systems where it is impossible to know the size of a pixel, a suitable default pixel size is provided.
Corresponding size of a pixel unit along the y-axis of the viewport.
User interface (UI) events in DOM Level 2 indicate the screen positions at which the given UI event occurred. When the user agent actually knows the physical size of a "screen unit", this attribute will express that information; otherwise, user agents will provide a suitable default value such as .28mm.
Corresponding size of a screen pixel along the y-axis of the viewport.
The initial view (i.e., before magnification and panning) of the current innermost SVG
document fragment can be either the "standard" view (i.e., based on attributes on
the 'svg' element such as fitBoxToViewport) or to a "custom" view (i.e., a hyperlink
into a particular 'view' or other element - see Linking into SVG content: URI
fragments and SVG views). If the initial view is the "standard" view, then this
attribute is false. If the initial view is a "custom" view, then this attribute is
true.
NO_MODIFICATION_ALLOWED_ERR: Raised on an attempt to change the value of a readonly attribute.
The definition of the initial view (i.e., before magnification and panning) of the current innermost SVG document fragment. The meaning depends on the situation:
* If the initial view was a "standard" view, then:
o the values for viewBox, preserveAspectRatio and zoomAndPan within currentView will match the values for the corresponding DOM attributes that are on SVGSVGElement directly
o the values for transform and viewTarget within currentView will be null
* If the initial view was a link into a 'view' element, then:
o the values for viewBox, preserveAspectRatio and zoomAndPan within currentView will correspond to the corresponding attributes for the given 'view' element
o the values for transform and viewTarget within currentView will be null
* If the initial view was a link into another element (i.e., other than a 'view'), then:
o the values for viewBox, preserveAspectRatio and zoomAndPan within currentView will match the values for the corresponding DOM attributes that are on SVGSVGElement directly for the closest ancestor 'svg' element
o the values for transform within currentView will be null
o the viewTarget within currentView will represent the target of the link
* If the initial view was a link into the SVG document fragment using an SVG view specification fragment identifier (i.e., #svgView(...)), then:
o the values for viewBox, preserveAspectRatio, zoomAndPan, transform and viewTarget within currentView will correspond to the values from the SVG view specification fragment identifier
The object itself and its contents are both readonly.
This attribute indicates the current scale factor relative to the initial view to take into account user magnification and panning operations, as described under Magnification and panning. DOM attributes currentScale and currentTranslate are equivalent to the 2x3 matrix [a b c d e f] = [currentScale 0 0 currentScale currentTranslate.x currentTranslate.y]. If "magnification" is enabled (i.e., zoomAndPan="magnify"), then the effect is as if an extra transformation were placed at the outermost level on the SVG document fragment (i.e., outside the outermost 'svg' element).
NO_MODIFICATION_ALLOWED_ERR: Raised on an attempt to change the value of a readonly attribute
This function is super useful, calculates out the transformation matrix
(i.e., scale and translate) of the viewport to user space.
A Matrix which has the translate and scale portions set.
The corresponding translation factor that takes into account user "magnification".
Takes a time-out value which indicates that redraw shall not occur until: (a) the
corresponding unsuspendRedraw(suspend_handle_id) call has been made, (b) an
unsuspendRedrawAll() call has been made, or (c) its timer has timed out. In
environments that do not support interactivity (e.g., print media), then redraw shall
not be suspended. suspend_handle_id = suspendRedraw(max_wait_milliseconds) and
unsuspendRedraw(suspend_handle_id) must be packaged as balanced pairs. When you
want to suspend redraw actions as a collection of SVG DOM changes occur, then
precede the changes to the SVG DOM with a method call similar to
suspend_handle_id = suspendRedraw(max_wait_milliseconds) and follow the changes with
a method call similar to unsuspendRedraw(suspend_handle_id). Note that multiple
suspendRedraw calls can be used at once and that each such method call is treated
independently of the other suspendRedraw method calls.
The amount of time in milliseconds to hold off
before redrawing the device. Values greater than 60 seconds will be truncated
down to 60 seconds.
A number which acts as a unique identifier for the given suspendRedraw() call. This value must be passed as the parameter to the corresponding unsuspendRedraw() method call.
Cancels a specified suspendRedraw() by providing a unique suspend_handle_id.
A number which acts as a unique identifier for the desired suspendRedraw() call. The number supplied must be a value returned from a previous call to suspendRedraw()
This method will raise a with value NOT_FOUND_ERR if an invalid value (i.e., no such suspend_handle_id is active) for suspend_handle_id is provided.
Cancels all currently active suspendRedraw() method calls. This method is most
useful
at the very end of a set of SVG DOM calls to ensure that all pending suspendRedraw()
method calls have been cancelled.
In rendering environments supporting interactivity, forces the user agent to
immediately redraw all regions of the viewport that require updating.
Suspends (i.e., pauses) all currently running animations that are defined within the
SVG document fragment corresponding to this 'svg' element, causing the animation clock
corresponding to this document fragment to stand still until it is unpaused.
Unsuspends (i.e., unpauses) currently running animations that are defined within the
SVG document fragment, causing the animation clock to continue from the time at which
it was suspended.
Returns true if this SVG document fragment is in a paused state
Boolean indicating whether this SVG document fragment is in a paused
state.
The current time in seconds relative to the start time for the current SVG document
fragment.
Returns the list of graphics elements whose rendered content intersects the supplied
rectangle, honoring the 'pointer-events' property value on each candidate graphics
element.
The test rectangle. The values are in the initial coordinate
system for the current 'svg' element.
If not null, then only return elements whose drawing
order has them below the given reference element.
A list of Elements whose content intersects the supplied rectangle.
Returns the list of graphics elements whose rendered content is entirely contained
within the supplied rectangle, honoring the 'pointer-events' property value on each
candidate graphics element.
The test rectangle. The values are in the initial coordinate system
for the current 'svg' element.
If not null, then only return elements whose drawing
order has them below the given reference element.
A list of Elements whose content is enclosed by the supplied
rectangle.
Returns true if the rendered content of the given element intersects the supplied
rectangle, honoring the 'pointer-events' property value on each candidate graphics
element.
The element on which to perform the given test.
The test rectangle. The values are in the initial coordinate system
for the current 'svg' element.
True or false, depending on whether the given element intersects the supplied
rectangle.
Returns true if the rendered content of the given element is entirely contained within
the supplied rectangle, honoring the 'pointer-events' property value on each candidate
graphics element.
The element on which to perform the given test
The test rectangle. The values are in the initial coordinate system
for the current 'svg' element.
True or false, depending on whether the given element is enclosed by the
supplied rectangle.
Unselects any selected objects, including any selections of text strings and type-in
bars.
Creates an SVGNumber object outside of any document trees. The object is initialized
to a value of zero.
An SVGNumber object.
Creates an SVGLength object outside of any document trees. The object is initialized
to the value of 0 user units.
An SVGLength object.
Creates an SVGAngle object outside of any document trees. The object is initialized to
the value 0 degrees (unitless).
An SVGAngle object.
Creates an SVGPoint object outside of any document trees. The object is initialized to
the point (0,0) in the user coordinate system.
An SVGPoint object.
Creates an SVGMatrix object outside of any document trees. The object is initialized
to the identity matrix.
An SVGMatrix object.
Creates an SVGRect object outside of any document trees. The object is initialized
such that all values are set to 0 user units.
An SVGRect object.
Creates an SVGTransform object outside of any document trees. The object is initialized
to an identity matrix transform (SVG_TRANSFORM_MATRIX).
An SVGTransform object.
Creates an SVGTransform object outside of any document trees. The object is
initialized to the given matrix transform (i.e., SVG_TRANSFORM_MATRIX).
The transform matrix.
An SVGTransform object.
Searches this SVG document fragment (i.e., the search is restricted to a subset of the
document tree) for an Element whose id is given by elementId. If an Element is found,
that Element is returned. If no such element exists, returns null. Behavior is not
defined if more than one element has this id.
The unique id value for an element.
The matching element.
The SvgSwitchElement interface corresponds to the 'switch' element.
Gets a value providing a hint on the rendering defined by this element.
An enumeration of the specifying the rendering hint.
This will always return
Corresponds to attribute x on the given 'svg' element.
Corresponds to attribute y on the given 'svg' element.
Corresponds to attribute width on the given 'svg' element.
Corresponds to attribute height on the given 'svg' element.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Gets a value providing a hint on the rendering defined by this element.
An enumeration of the specifying the rendering hint.
This will always return
The SvgTitleElement interface corresponds to the 'title' element.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
For each given element, the accumulation of all transformations that have been defined
on the given element and all of its ancestors up to and including the element that
established the current viewport (usually, the 'svg' element which is the most
immediate ancestor to the given element) is called the current transformation matrix
or CTM.
A matrix representing the mapping of current user coordinates to viewport
coordinates.
Create and assign an empty SvgDocument to this window. This is needed only in situations where
the library user needs to create an SVG DOM tree outside of the usual LoadSvgDocument mechanism.
This is expected to be called by the host
The new width of the control
The new height of the control
Arguments when namespace is trying to be resolved
Gets or sets the prefix (for example: 'rdf')
The prefix.
Gets or sets the URI (for example: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#').
This value may have already been initialized, it's up to the application to check if it wants to override the resolution
The URI.
Arguments when URI is trying to be resolved while loading schema
Gets or sets the URI (for example: 'http://www.w3.org/2000/svg').
This value may have already been initialized, it's up to the application to check if it wants to override the resolution
The URI.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Gets a value providing a hint on the rendering defined by this element.
An enumeration of the specifying the rendering hint.
This will always return
This function is super useful, calculates out the transformation matrix
(i.e., scale and translate) of the viewport to user space.
A Matrix which has the translate and scale portions set.
The definition of the initial view (i.e., before magnification and panning) of the current innermost SVG document fragment. The meaning depends on the situation:
* If the initial view was a "standard" view, then:
o the values for viewBox, preserveAspectRatio and zoomAndPan within currentView will match the values for the corresponding DOM attributes that are on SVGSVGElement directly
o the values for transform and viewTarget within currentView will be null
* If the initial view was a link into a 'view' element, then:
o the values for viewBox, preserveAspectRatio and zoomAndPan within currentView will correspond to the corresponding attributes for the given 'view' element
o the values for transform and viewTarget within currentView will be null
* If the initial view was a link into another element (i.e., other than a 'view'), then:
o the values for viewBox, preserveAspectRatio and zoomAndPan within currentView will match the values for the corresponding DOM attributes that are on SVGSVGElement directly for the closest ancestor 'svg' element
o the values for transform within currentView will be null
o the viewTarget within currentView will represent the target of the link
* If the initial view was a link into the SVG document fragment using an SVG view specification fragment identifier (i.e., #svgView(...)), then:
o the values for viewBox, preserveAspectRatio, zoomAndPan, transform and viewTarget within currentView will correspond to the values from the SVG view specification fragment identifier
The object itself and its contents are both readonly.
The implementation of the radialGradient element or the interface.
Radial Gradient fx/fy values should only be inherited from a referenced element if that element is explicitly
defining them, otherwise they should follow the cy special case behavior. Additionally, because xlink references
can inherit to an arbitrary level, we should walk up the tree looking for explicitly defined fx/fy values to
inherit before falling back to the cx/cy definitions.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
An SVG object represents an 'solidcolor' element in the DOM.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Gets a value providing a hint on the rendering defined by this element.
An enumeration of the specifying the rendering hint.
This will always return
Summary description for SvgStopElement.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
This defines a base class used by the component transfer function interfaces.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Corresponds to attribute 'type' on the given element.
type = "identity | table | discrete | linear | gamma"
Indicates the type of component transfer function. The type of function determines the applicability
of the other attributes.
An enumeration of the type . The default value is
.
Corresponds to attribute 'tableValues' on the given element.
tableValues = "(list of numbers)"
When type="linear", the slope of the linear function.
slope = "number"
The initial value for slope is 1.
When type="linear", the intercept of the linear function.
slope = "number"
The initial value for intercept is 0.
When type="gamma", the amplitude of the gamma function.
amplitude = "number"
The initial value for amplitude is 1.
When type="gamma", the exponent of the gamma function.
exponent = "number"
The initial value for exponent is 1.
When type="gamma", the offset of the gamma function.
offset = "number"
The initial value for offset is 0.
This filter blends two objects together using commonly used imaging software blending modes.
It performs a pixel-wise combination of two input images.
One of the blend modes defined by 'Compositing and Blending Level 1' with the input in representing the source
Cs and the second input in2 representing the backdrop Cb. The output of this filter
primitive Cm is the result of blending Cs with Cb.
mode = "blend-mode"
An enumeration of the type . The default value is .
Corresponds to attribute in on the given feBlend element.
in = "SourceGraphic | SourceAlpha | BackgroundImage | BackgroundAlpha |
FillPaint | StrokePaint | filter-primitive-reference"
Corresponds to attribute in2 on the given feBlend element.
An enumeration of the type .
The default value is .
Corresponds to attribute in on the given feBlend element.
in = "SourceGraphic | SourceAlpha | BackgroundImage | BackgroundAlpha |
FillPaint | StrokePaint | filter-primitive-reference"
Corresponds to attribute in on the given feBlend element.
in = "SourceGraphic | SourceAlpha | BackgroundImage | BackgroundAlpha |
FillPaint | StrokePaint | filter-primitive-reference"
An enumeration of the type .
The default value is .
Corresponds to attribute in on the given feBlend element.
in = "SourceGraphic | SourceAlpha | BackgroundImage | BackgroundAlpha |
FillPaint | StrokePaint | filter-primitive-reference"
Corresponds to attribute in2 on the given feBlend element.
This applies a matrix convolution filter effect. A convolution combines pixels in the input image
with neighboring pixels to produce a resulting image. A wide variety of imaging operations can be
achieved through convolutions, including blurring, edge detection, sharpening, embossing and beveling.
Determines how to extend the input image as necessary with color values so that the matrix operations
can be applied when the kernel is positioned at or near the edge of the input image.
edgeMode = "duplicate | wrap | none"
An enumeration of the type . The default value is .
"duplicate" indicates that the input image is extended along each of its borders as necessary by duplicating
the color values at the given edge of the input image.
"wrap" indicates that the input image is extended by taking the color values from the opposite edge of the image.
"none" indicates that the input image is extended with pixel values of zero for R, G, B and A.
If attribute 'edgeMode' is not specified, then the effect is as if a value of duplicate were specified.
bias = "number"
After applying the 'kernelMatrix' to the input image to yield a number and applying the 'divisor', the
'bias' attribute is added to each component.
One application of 'bias' is when it is desirable to have .5 gray value be the zero response of the filter.
The bias property shifts the range of the filter. This allows representation of values that would otherwise
be clamped to 0 or 1.
If 'bias' is not specified, then the effect is as if a value of 0 were specified.
divisor = number
After applying the to the input image to yield a number, that number is divided by 'divisor'
to yield the final destination color value. A divisor that is the sum of all the matrix values tends to have
an evening effect on the overall color intensity of the result. It is an error to specify a divisor of zero.
The default value is the sum of all values in , with the exception that if the sum is zero,
then the divisor is set to 1.
kernelMatrix = "list of numbers"
The list of numbers that make up the kernel matrix for the convolution. Values are separated by space
characters and/or a comma. The number of entries in the list must equal times .
Corresponds to attribute 'kernelUnitLength' on the given 'feConvolveMatrix' element.
Corresponds to attribute 'kernelUnitLength' on the given 'feConvolveMatrix' element.
Indicates the number of cells in each dimension for 'kernelMatrix'.
order = "number-optional-number"
The values provided must be integers greater than zero.
The first number, , indicates the number of columns in the matrix.
The second number, , indicates the number of rows in the matrix.
If is not provided, it defaults to .
A typical value is order="3". It is recommended that only small values(e.g., 3) be used;
higher values may result in very high CPU overhead and usually do not produce results that
justify the impact on performance.
If the attribute is not specified, the effect is as if a value of 3 were specified.
Indicates the number of cells in each dimension for 'kernelMatrix'.
order = "number-optional-number"
The values provided must be integers greater than zero.
The first number, , indicates the number of columns in the matrix.
The second number, , indicates the number of rows in the matrix.
If is not provided, it defaults to .
A typical value is order="3". It is recommended that only small values(e.g., 3) be used;
higher values may result in very high CPU overhead and usually do not produce results that
justify the impact on performance.
If the attribute is not specified, the effect is as if a value of 3 were specified.
Determines the positioning in X of the convolution matrix relative to a given target pixel in the input image.
targetX = "integer"
The leftmost column of the matrix is column number zero. The value must be such that:
By default, the convolution matrix is centered in X over each pixel of the input image
(i.e., targetX = floor ( orderX / 2 )).
Determines the positioning in Y of the convolution matrix relative to a given target pixel in the input image.
targetY = "integer"
The leftmost column of the matrix is column number zero. The value must be such that:
By default, the convolution matrix is centered in Y over each pixel of the input image
(i.e., targetY = floor ( orderY / 2 )).
preserveAlpha = "false | true"
Corresponds to attribute in on the given feDiffuseLighting element.
in = "SourceGraphic | SourceAlpha | BackgroundImage | BackgroundAlpha |
FillPaint | StrokePaint | filter-primitive-reference"
Corresponds to attribute 'surfaceScale' on the given 'feDiffuseLighting' element.
surfaceScale = "number"
If the attribute is not specified, then the effect is as if a value of 1 were specified.
Corresponds to attribute 'diffuseConstant' on the given 'feDiffuseLighting' element.
diffuseConstant = "number"
If the attribute is not specified, then the effect is as if a value of 1 were specified.
Corresponds to attribute 'kernelUnitLength' on the given 'feDiffuseLighting' element.
Corresponds to attribute 'kernelUnitLength' on the given 'feDiffuseLighting' element.
This filter primitive uses the pixels values from the image from 'in2' to spatially displace the image from 'in'.
Corresponds to attribute in on the given feBlend element.
in = "SourceGraphic | SourceAlpha | BackgroundImage | BackgroundAlpha |
FillPaint | StrokePaint | filter-primitive-reference"
Corresponds to attribute in2 on the given feBlend element.
Displacement scale factor. The amount is expressed in the coordinate system established by
attribute 'primitiveUnits' on the 'filter' element.
scale = "number"
When the value of this attribute is 0, this operation has no effect on the source image.
If the attribute is not specified, then the effect is as if a value of 0 were specified.
Indicates which channel from 'in2' to use to displace the pixels in 'in' along the x-axis.
xChannelSelector = "R | G | B | A"
An enumeration of the type . The default value is .
If attribute 'xChannelSelector' is not specified, then the effect is as if a value of A were specified.
Indicates which channel from 'in2' to use to displace the pixels in 'in' along the y-axis.
yChannelSelector = "R | G | B | A"
An enumeration of the type . The default value is .
If attribute 'yChannelSelector' is not specified, then the effect is as if a value of A were specified.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Direction angle for the light source on the XY plane (clockwise), in degrees from the x axis.
Corresponds to attribute 'azimuth' on the given 'feDistantLight' element.
azimuth = "number"
If the attribute is not specified, then the effect is as if a value of 0 were specified.
Direction angle for the light source from the XY plane towards the z axis, in degrees.
Note the positive Z-axis points towards the viewer of the content.
Corresponds to attribute 'elevation' on the given 'feDistantLight' element.
elevation = "number"
If the attribute is not specified, then the effect is as if a value of 0 were specified.
Corresponds to attribute in on the given feBlend element.
in = "SourceGraphic | SourceAlpha | BackgroundImage | BackgroundAlpha |
FillPaint | StrokePaint | filter-primitive-reference"
This filter primitive performs a Gaussian blur on the input image.
Corresponds to attribute in on the given feBlend element.
in = "SourceGraphic | SourceAlpha | BackgroundImage | BackgroundAlpha |
FillPaint | StrokePaint | filter-primitive-reference"
The standard deviation for the blur operation. If two numbers are provided, the first number represents
a standard deviation value along the x-axis of the coordinate system established by attribute 'primitiveUnits'
on the 'filter' element. The second value represents a standard deviation in Y. If one number is provided,
then that value is used for both X and Y.
A negative value is an error(see Error processing). A value of zero disables the effect of the given filter
primitive(i.e., the result is the filter input image).
If 'stdDeviation' is 0 in only one of X or Y, then the effect is that the blur is only applied in the direction
that has a non-zero value.
The standard deviation for the blur operation. If two numbers are provided, the first number represents
a standard deviation value along the x-axis of the coordinate system established by attribute 'primitiveUnits'
on the 'filter' element. The second value represents a standard deviation in Y. If one number is provided,
then that value is used for both X and Y.
A negative value is an error(see Error processing). A value of zero disables the effect of the given filter
primitive(i.e., the result is the filter input image).
If 'stdDeviation' is 0 in only one of X or Y, then the effect is that the blur is only applied in the direction
that has a non-zero value.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Corresponds to attribute in on the given feBlend element.
in = "SourceGraphic | SourceAlpha | BackgroundImage | BackgroundAlpha |
FillPaint | StrokePaint | filter-primitive-reference"
Corresponds to attribute in on the given feBlend element.
in = "SourceGraphic | SourceAlpha | BackgroundImage | BackgroundAlpha |
FillPaint | StrokePaint | filter-primitive-reference"
A keyword indicating whether to erode (i.e., thin) or dilate (fatten) the source graphic.
operator = "erode | dilate"
An enumeration of the type .
The default value is .
If attribute 'operator' is not specified, then the effect is as if a value of erode were specified.
The radius (or radii) for the operation. If two numbers are provided, the first number represents a x-radius
and the second value represents a y-radius. If one number is provided, then that value is used for both X and Y.
The values are in the coordinate system established by attribute 'primitiveUnits' on the 'filter' element.
A negative value is an error(see Error processing). A value of zero disables the effect of the given filter
primitive(i.e., the result is a transparent black image).
If the attribute is not specified, then the effect is as if a value of 0 were specified.
The radius (or radii) for the operation. If two numbers are provided, the first number represents a x-radius
and the second value represents a y-radius. If one number is provided, then that value is used for both X and Y.
The values are in the coordinate system established by attribute 'primitiveUnits' on the 'filter' element.
A negative value is an error(see Error processing). A value of zero disables the effect of the given filter
primitive(i.e., the result is a transparent black image).
If the attribute is not specified, then the effect is as if a value of 0 were specified.
Corresponds to attribute in on the given feBlend element.
in = "SourceGraphic | SourceAlpha | BackgroundImage | BackgroundAlpha |
FillPaint | StrokePaint | filter-primitive-reference"
The amount to offset the input graphic along the x-axis. The offset amount is expressed in the
coordinate system established by attribute 'primitiveUnits' on the 'filter' element.
dx = "number"
If the attribute is not specified, then the effect is as if a value of 0 were specified.
Corresponds to attribute 'dx' on the given 'feOffset' element.
The amount to offset the input graphic along the y-axis. The offset amount is expressed in the
coordinate system established by attribute 'primitiveUnits' on the 'filter' element.
dy = "number"
If the attribute is not specified, then the effect is as if a value of 0 were specified.
Corresponds to attribute 'dy' on the given 'feOffset' element.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
X location for the light source in the coordinate system established by attribute 'primitiveUnits' on the 'filter' element.
x = "number"
If the attribute is not specified, then the effect is as if a value of 0 were specified.
Corresponds to attribute 'x' on the given 'fePointLight' element.
Y location for the light source in the coordinate system established by attribute 'primitiveUnits' on the 'filter' element.
y = "number"
If the attribute is not specified, then the effect is as if a value of 0 were specified.
Corresponds to attribute 'y' on the given 'fePointLight' element.
Z location for the light source in the coordinate system established by attribute 'primitiveUnits' on the 'filter' element,
assuming that, in the initial coordinate system, the positive Z-axis comes out towards the person viewing the content
and assuming that one unit along the Z-axis equals one unit in X and Y.
z = "number"
If the attribute is not specified, then the effect is as if a value of 0 were specified.
Corresponds to attribute 'z' on the given 'fePointLight' element.
This filter primitive lights a source graphic using the alpha channel as a bump map. The resulting image is an
RGBA image based on the light color. The lighting calculation follows the standard specular component of the
Phong lighting model. The resulting image depends on the light color, light position and surface geometry of
the input bump map. The result of the lighting calculation is added. The filter primitive assumes that the
viewer is at infinity in the z direction (i.e., the unit vector in the eye direction is (0,0,1) everywhere).
Corresponds to attribute in on the given feBlend element.
in = "SourceGraphic | SourceAlpha | BackgroundImage | BackgroundAlpha |
FillPaint | StrokePaint | filter-primitive-reference"
Corresponds to attribute 'in' on the given 'feSpecularLighting' element.
surfaceScale = "number"
If the attribute is not specified, then the effect is as if a value of 1 were specified.
Corresponds to attribute 'surfaceScale' on the given 'feSpecularLighting' element.
specularConstant = "number"
If the attribute is not specified, then the effect is as if a value of 1 were specified.
Corresponds to attribute 'specularConstant' on the given 'feSpecularLighting' element.
specularExponent = "number"
If the attribute is not specified, then the effect is as if a value of 1 were specified.
Corresponds to attribute 'specularExponent' on the given 'feSpecularLighting' element.
Corresponds to attribute 'kernelUnitLength' on the given 'feSpecularLighting' element.
The first number is the dx value. The second number is the dy value. If the dy value is not specified,
it defaults to the same value as dx. Indicates the intended distance in current filter units (i.e., units as
determined by the value of attribute 'primitiveUnits') for dx and dy, respectively, in the surface normal calculation
formulas. By specifying value(s) for 'kernelUnitLength', the kernel becomes defined in a scalable, abstract coordinate
system. If 'kernelUnitLength' is not specified, the dx and dy values should represent very small deltas relative to a
given (x,y) position, which might be implemented in some cases as one pixel in the intermediate image offscreen bitmap,
which is a pixel-based coordinate system, and thus potentially not scalable. For some level of consistency across
display media and user agents, it is necessary that a value be provided for at least one of 'filterRes' and
'kernelUnitLength'.
Corresponds to attribute 'kernelUnitLength' on the given 'feSpecularLighting' element.
The first number is the dx value. The second number is the dy value. If the dy value is not specified,
it defaults to the same value as dx. Indicates the intended distance in current filter units (i.e., units as
determined by the value of attribute 'primitiveUnits') for dx and dy, respectively, in the surface normal calculation
formulas. By specifying value(s) for 'kernelUnitLength', the kernel becomes defined in a scalable, abstract coordinate
system. If 'kernelUnitLength' is not specified, the dx and dy values should represent very small deltas relative to a
given (x,y) position, which might be implemented in some cases as one pixel in the intermediate image offscreen bitmap,
which is a pixel-based coordinate system, and thus potentially not scalable. For some level of consistency across
display media and user agents, it is necessary that a value be provided for at least one of 'filterRes' and
'kernelUnitLength'.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
X location for the light source in the coordinate system established by attribute 'primitiveUnits' on the 'filter' element.
x = "number"
If the attribute is not specified, then the effect is as if a value of 0 were specified.
Corresponds to attribute 'x' on the given 'feSpotLight' element.
Y location for the light source in the coordinate system established by attribute 'primitiveUnits' on the 'filter' element.
y = "number"
If the attribute is not specified, then the effect is as if a value of 0 were specified.
Corresponds to attribute 'y' on the given 'feSpotLight' element.
Z location for the light source in the coordinate system established by attribute 'primitiveUnits' on the 'filter' element,
assuming that, in the initial coordinate system, the positive Z-axis comes out towards the person viewing the content and
assuming that one unit along the Z-axis equals one unit in X and Y.
z = "number"
If the attribute is not specified, then the effect is as if a value of 0 were specified.
Corresponds to attribute 'z' on the given 'feSpotLight' element.
X location in the coordinate system established by attribute 'primitiveUnits' on the 'filter' element of the point
at which the light source is pointing.
pointsAtX = "number"
If the attribute is not specified, then the effect is as if a value of 0 were specified.
Corresponds to attribute 'pointsAtX' on the given 'feSpotLight' element.
Y location in the coordinate system established by attribute 'primitiveUnits' on the 'filter' element of the point
at which the light source is pointing.
pointsAtY = "number"
If the attribute is not specified, then the effect is as if a value of 0 were specified.
Corresponds to attribute 'pointsAtY' on the given 'feSpotLight' element.
Z location in the coordinate system established by attribute 'primitiveUnits' on the 'filter' element of the point
at which the light source is pointing, assuming that, in the initial coordinate system, the positive Z-axis comes
out towards the person viewing the content and assuming that one unit along the Z-axis equals one unit in X and Y.
pointsAtZ = "number"
If the attribute is not specified, then the effect is as if a value of 0 were specified.
Corresponds to attribute 'pointsAtZ' on the given 'feSpotLight' element.
Exponent value controlling the focus for the light source.
specularExponent = "number"
If the attribute is not specified, then the effect is as if a value of 1 were specified.
Corresponds to attribute 'specularExponent' on the given 'feSpotLight' element.
A limiting cone which restricts the region where the light is projected. No light is projected outside the cone.
'limitingConeAngle' represents the angle in degrees between the spot light axis (i.e. the axis between the light
source and the point to which it is pointing at) and the spot light cone. User agents should apply a smoothing
technique such as anti-aliasing at the boundary of the cone.
limitingConeAngle = "number"
If no value is specified, then no limiting cone will be applied.
Corresponds to attribute 'limitingConeAngle' on the given 'feSpotLight' element.
Corresponds to attribute in on the given feBlend element.
in = "SourceGraphic | SourceAlpha | BackgroundImage | BackgroundAlpha |
FillPaint | StrokePaint | filter-primitive-reference"
This filter primitive creates an image using the Perlin turbulence function. It allows the synthesis of
artificial textures like clouds or marble.
Corresponds to attribute 'baseFrequency' on the given 'feTurbulence' element.
Contains the X component of the 'baseFrequency' attribute.
baseFrequency = "number-optional-number"
If the attribute is not specified, then the effect is as if a value of 0 were specified.
The base frequency (frequencies) parameter(s) for the noise function. If two numbers are provided,
the first number represents a base frequency in the X direction and the second value represents a base
frequency in the Y direction. If one number is provided, then that value is used for both X and Y.
A negative value for base frequency is an error (see Error processing).
Corresponds to attribute 'baseFrequency' on the given 'feTurbulence' element.
Contains the Y component of the (possibly computed automatically) 'baseFrequency' attribute.
baseFrequency = "number-optional-number"
If the attribute is not specified, then the effect is as if a value of 0 were specified.
The numOctaves parameter for the noise function.
numOctaves = "integer"
If the attribute is not specified, then the effect is as if a value of 1 were specified.
Corresponds to attribute 'numOctaves' on the given 'feTurbulence' element.
The starting number for the pseudo random number generator.
seed = "number"
If the attribute is not specified, then the effect is as if a value of 0 were specified.
When the seed number is handed over to the algorithm above it must first be truncated, i.e.
rounded to the closest integer value towards zero.
Corresponds to attribute 'seed' on the given 'feTurbulence' element.
Corresponds to attribute 'stitchTiles' on the given 'feTurbulence' element.
stitchTiles = "stitch | noStitch"
An enumeration of the type .
The default value is .
If stitchTiles="noStitch", no attempt it made to achieve smooth transitions at the border of tiles which contain a
turbulence function. Sometimes the result will show clear discontinuities at the tile borders.
If stitchTiles = "stitch", then the user agent will automatically adjust baseFrequency-x and baseFrequency-y values
such that the feTurbulence node's width and height (i.e., the width and height of the current subregion) contains
an integral number of the Perlin tile width and height for the first octave. The baseFrequency will be adjusted up
or down depending on which way has the smallest relative (not absolute) change as follows: Given the frequency,
calculate lowFreq=floor(width*frequency)/width and hiFreq=ceil(width*frequency)/width.
If then use lowFreq, else use hiFreq.
While generating turbulence values, generate lattice vectors as normal for Perlin Noise, except for those
lattice points that lie on the right or bottom edges of the active area (the size of the resulting tile).
In those cases, copy the lattice vector from the opposite edge of the active area.
If attribute 'stitchTiles' is not specified, then the effect is as if a value of noStitch were specified.
Indicates whether the filter primitive should perform a noise or turbulence function.
type = "fractalNoise | turbulence"
An enumeration of the type .
The default value is .
Corresponds to attribute 'type' on the given 'feTurbulence' element.
If attribute 'type' is not specified, then the effect is as if a value of turbulence were specified.
An implementation of the interface, which corresponds to the 'filter' element.
A filter effect is a graphical operation that is applied to an element as it is drawn into the document.
It is an image-based effect, in that it takes zero or more images as input, a number of parameters specific to the
effect, and then produces an image as output. The output image is either rendered into the document instead of the
original element, used as an input image to another filter effect, or provided as a CSS image value.
Filter Region
A filter element can define a filter region on the canvas to which a given filter effect
applies and can provide a resolution for any intermediate continuous tone images used to process
any raster-based filter primitives.
The filter element has the following attributes which work together to define the filter region:
, , , ,
This keyword represents the graphics elements that were the original input into the filter element.
This keyword represents the graphics elements that were the original input into the filter element.
This keyword represents the back drop defined by the current isolation group behind the filter region
at the time that the filter element was invoked.
Same as BackgroundImage except only the alpha channel is used. See SourceAlpha and the isolation property.
This keyword represents the value of the fill property on the target element for the filter effect.
This keyword represents the value of the stroke property on the target element for the filter effect.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Gets a value definining the coordinate system for attributes , ,
, .
filterUnits = "userSpaceOnUse | objectBoundingBox"
If the value is equal to , x, y, width, height represent values
in the current user coordinate system in place at the time when the filter element is referenced (i.e., the
user coordinate system for the element referencing the filter element via a filter property).
If the value is equal to , then x, y, width, height represent
fractions or percentages of the bounding box on the referencing element (see object bounding box units).
The initial value for filter-units is .
Gets a value specifying the coordinate system for the various length values within the filter primitives
and for the attributes that define the filter primitive subregion.
primitiveUnits = "userSpaceOnUse | objectBoundingBox"
If the value is equal to , any length values within the filter
definitions represent values in the current local coordinate system in place at the time when the filter element
is referenced (i.e., the user coordinate system for the element referencing the filter element via a filter property).
If the value is equal to , then any length values within the filter
definitions represent fractions or percentages of the bounding box on the referencing element (see object bounding
box units). Note that if only one number was specified in a number-optional-number value this number is expanded
out before the primitive-units computation takes place.
The initial value for primitive-units is .
The contains the X component of attribute 'filterRes'.
The 'filterRes' indicates the width and height of the intermediate images in pixels of a filter primitive.
This value takes one or two values, the first one outlining the resolution in horizontal direction,
the second one in vertical direction. If only one value is specified, it is used for both directions.
The 'filterRes' attribute was removed from the SVG 2 specification.
The contains the X component of attribute 'filterRes'.
The 'filterRes' indicates the width and height of the intermediate images in pixels of a filter primitive.
This value takes one or two values, the first one outlining the resolution in horizontal direction,
the second one in vertical direction. If only one value is specified, it is used for both directions.
The 'filterRes' attribute was removed from the SVG 2 specification.
Sets the values for attribute 'filterRes'.
The X component of attribute 'filterRes'.
The Y component of attribute 'filterRes'.
This is class for filter primitive attributes that are available for all filter primitives:
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
The minimum x coordinate for the subregion which restricts calculation and rendering of the given filter primitive.
x = length-percentage
The initial value is 0%.
The minimum y coordinate for the subregion which restricts calculation and rendering of the given filter primitive.
y = length-percentage
The initial value is 0%.
The width of the subregion which restricts calculation and rendering of the given filter primitive.
width = length-percentage
A negative or zero value disables the effect of the given filter primitive (i.e., the
result is a transparent black image).
The initial value is 100%.
The height of the subregion which restricts calculation and rendering of the given filter primitive.
height = length-percentage
A negative or zero value must disable the effect of the given filter primitive (i.e., the
result is a transparent black image).
The initial value is 100%.
This is an custom-ident and an assigned name for this filter primitive.
result = filter-primitive-reference
If supplied, then graphics that result from processing this filter primitive can be referenced by an in
attribute on a subsequent filter primitive within the same filter element.
If no value is provided, the output will only be available for re-use as the implicit input into the
next filter primitive if that filter primitive provides no value for its in attribute.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Gets a value providing a hint on the rendering defined by this element.
An enumeration of the specifying the rendering hint.
This will always return
Sets the value of attribute orient to 'auto'.
Sets the value of attribute orient to the given angle.
The angle value to use for attribute orient.
Corresponds to attribute refX on the given 'marker' element.
Corresponds to attribute refY on the given 'marker' element.
Corresponds to attribute markerUnits on the given 'marker' element.
Corresponds to attribute markerWidth on the given 'marker' element
Corresponds to attribute markerHeight on the given 'marker' element.
Corresponds to attribute orient on the given 'marker' element. One of the Marker Orientation Types defined above.
Corresponds to attribute orient on the given 'marker' element. If markerUnits is SVG_MARKER_ORIENT_ANGLE, the angle value for attribute orient; otherwise, it will be set to zero.
This interface must be implemented and then registred as the handler of a PathParser
instance in order to be notified of parsing events.
Invoked when the path starts.
if an error occured while processing the path
Invoked when the path ends.
if an error occured while processing the path
Invoked when a relative moveto command has been parsed.
Command : m
the relative x coordinate for the end point
the relative y coordinate for the end point
if an error occured while processing the path
Invoked when an absolute moveto command has been parsed.
Command : M
the absolute x coordinate for the end point
the absolute y coordinate for the end point
if an error occured while processing the path
Invoked when a closepath has been parsed.
Command : z | Z
if an error occured while processing the path
Invoked when a relative line command has been parsed.
Command : l
the relative x coordinates for the end point
the relative y coordinates for the end point
if an error occured while processing the path
Invoked when an absolute line command has been parsed.
Command : L
the absolute x coordinate for the end point
the absolute y coordinate for the end point
if an error occured while processing the path
Invoked when an horizontal relative line command has been parsed.
Command : h
the relative X coordinate of the end point
if an error occured while processing the path
Invoked when an horizontal absolute line command has been parsed.
Command : H
the absolute X coordinate of the end point
if an error occured while processing the path
Invoked when a vertical relative line command has been parsed.
Command : v
the relative Y coordinate of the end point
if an error occured while processing the path
Invoked when a vertical absolute line command has been parsed.
Command : V
the absolute Y coordinate of the end point
if an error occured while processing the path
Invoked when a relative cubic bezier curve command has been parsed.
Command : c
the relative x coordinate for the first control point
the relative y coordinate for the first control point
the relative x coordinate for the second control point
the relative y coordinate for the second control point
the relative x coordinate for the end point
the relative y coordinate for the end point
if an error occured while processing the path
Invoked when an absolute cubic bezier curve command has been parsed.
Command : C
the absolute x coordinate for the first control point
the absolute y coordinate for the first control point
the absolute x coordinate for the second control point
the absolute y coordinate for the second control point
the absolute x coordinate for the end point
the absolute y coordinate for the end point
if an error occured while processing the path
Invoked when a relative smooth cubic bezier curve command has
been parsed. The first control point is assumed to be the
reflection of the second control point on the previous command
relative to the current point.
Command : s
the relative x coordinate for the second control point
the relative y coordinate for the second control point
the relative x coordinate for the end point
the relative y coordinate for the end point
if an error occured while processing the path
Invoked when an absolute smooth cubic bezier curve command has
been parsed. The first control point is assumed to be the
reflection of the second control point on the previous command
relative to the current point.
Command : S
the absolute x coordinate for the second control point
the absolute y coordinate for the second control point
the absolute x coordinate for the end point
the absolute y coordinate for the end point
if an error occured while processing the path
Invoked when a relative quadratic bezier curve command has been parsed.
Command : q
the relative x coordinate for the control point
the relative y coordinate for the control point
the relative x coordinate for the end point
the relative x coordinate for the end point
if an error occured while processing the path
Invoked when an absolute quadratic bezier curve command has been parsed.
Command : Q
the absolute x coordinate for the control point
the absolute y coordinate for the control point
the absolute x coordinate for the end point
the absolute x coordinate for the end point
if an error occured while processing the path
Invoked when a relative smooth quadratic bezier curve command
has been parsed. The control point is assumed to be the
reflection of the control point on the previous command
relative to the current point.
Command : t
the relative x coordinate for the end point
the relative y coordinate for the end point
if an error occured while processing the path
Invoked when an absolute smooth quadratic bezier curve command
has been parsed. The control point is assumed to be the
reflection of the control point on the previous command
relative to the current point.
Command : T
the absolute x coordinate for the end point
the absolute y coordinate for the end point
if an error occured while processing the path
Invoked when a relative elliptical arc command has been parsed.
Command : a
the X axis radius for the ellipse
the Y axis radius for the ellipse
the rotation angle in degrees for the ellipse's
X-axis relative to the X-axis
the value of the large-arc-flag
the value of the sweep-flag
the relative x coordinate for the end point
the relative y coordinate for the end point
if an error occured while processing the path
Invoked when an absolute elliptical arc command has been parsed.
Command : A
the X axis radius for the ellipse
the Y axis radius for the ellipse
the rotation angle in degrees for the ellipse's
X-axis relative to the X-axis
the value of the large-arc-flag
the value of the sweep-flag
the absolute x coordinate for the end point
the absolute y coordinate for the end point
if an error occured while processing the path
This interface must be implemented and then registred as the handler of a PointsParser
instance in order to be notified of parsing events.
Invoked when the points attribute starts.
if an error occured while processing the points
Invoked when a point has been parsed.
the x coordinate of the point
the y coordinate of the point
if an error occured while processing the points
Invoked when the points attribute ends.
if an error occured while processing the points
This class represents a parser with support for numbers.
Array of powers of ten. Using double instead of float gives a tiny bit more precision.
Parses the content of the buffer and converts it to a float.
Computes a float from mantissa and exponent.
This class is the superclass of all parsers. It provides localization and error handling methods.
The normalizing reader.
The current character.
Returns the current character value.
Parses the given string.
Method responsible for actually parsing data after AbstractParser
has initialized itself.
Signals an error to the error handler.
The message key in the resource bundle.
The message arguments.
simple api to call often reported error.
Just a wrapper for reportError().
what caller expected
what caller found
simple api to call often reported error.
Just a wrapper for reportError().
what the caller found and didnt expect
Returns a localized error message.
The message key in the resource bundle.
The message arguments.
Skips the whitespaces in the current reader.
Skips the whitespaces and an optional comma.
This class implements an event-based parser for the SVG path's d attribute values.
The path handler used to report parse events.
Creates a new PathParser.
Allows an application to register a path handler.
If the application does not register a handler, all events reported by the parser will be silently ignored.
Applications may register a new or different handler in the middle of a parse, and the parser must begin
using the new handler immediately.
The transform list handler.
Parses a 'm' command.
Parses a 'M' command.
Parses a 'l' command.
Parses a 'L' command.
Parses a 'h' command.
Parses a 'H' command.
Parses a 'v' command.
Parses a 'V' command.
Parses a 'c' command.
Parses a 'C' command.
Parses a 'q' command.
Parses a 'Q' command.
Parses a 's' command.
Parses a 'S' command.
Parses a 't' command.
Parses a 'T' command.
Parses a 'a' command.
Parses a 'A' command.
Skips a sub-path.
Skips the whitespaces and an optional comma.
true if comma was skipped.
This class implements an event-based parser for the SVG points
attribute values (used with polyline and polygon elements).
The points handler used to report parse events.
Whether the last character was a 'e' or 'E'.
Creates a new PointsParser.
Gets or sets an application implementation to register a points handler.
The transform list handler.
If the application does not register a handler, all events reported by the parser will be silently ignored.
Applications may register a new or different handler in the middle of a parse, and the parser must
begin using the new handler immediately.
Parses the current stream.
This class represents a which handles strings.
The characters.
The length of the string.
The index of the next character.
The current line in the stream.
The current column in the stream.
Creates a new StringNormalizingReader.
The string to read.
Read a single character. This method will block until a character is available, an I/O error occurs,
or the end of the stream is reached.
Returns the current line in the stream.
Returns the current column in the stream.
Close the stream.
This class represents a reader which normalizes the line break: \n, \r, \r\n are replaced
by \n. The methods of this reader are not synchronized. The input is buffered.
Read characters into a portion of an array.
Destination buffer
Offset at which to start writing characters
Maximum number of characters to read
The number of characters read, or -1 if the end of the
stream has been reached
Gets the current line in the stream.
Gets the current column in the stream.
Gets a value providing a hint on the rendering defined by this element.
An enumeration of the specifying the rendering hint.
This will always return
Summary description for SvgPathSegLinetoAbs.
Summary description for SvgPathSegLinetoAbs.
Summary description for SvgPathSegClosePath.
Summary description for SvgPathSegCurvetoCubicRel.
Summary description for SvgPathSegCurvetoCubicSmoothAbs.
Summary description for SvgPathSegCurvetoCubicAbs.
Summary description for SvgPathSegCurvetoCubicAbs.
The SvgPathSegCurvetoQuadraticSmoothAbs interface corresponds to an "absolute smooth quadratic curveto" (T) path data command.
The absolute X coordinate for the end point of this path segment.
The absolute Y coordinate for the end point of this path segment.
The SvgPathSegCurvetoQuadraticSmoothRel interface corresponds to an "relative smooth quadratic curveto" (t) path data command.
The absolute X coordinate for the end point of this path segment.
The absolute Y coordinate for the end point of this path segment.
Summary description for SvgMoveToSeg.
The SvgPathSegMovetoRel interface corresponds to an "relative moveto" (m) path data command.
The ISvgScriptElement interface corresponds to the 'script' element.
A 'script' element is equivalent to the 'script' element in HTML and thus is the place for scripts.
Any functions defined within any 'script' element have a 'global' scope across the entire current document.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Gets or sets a value corresponding to the attribute 'type' on the given 'script' element.
A string specifying the script type.
Gets or sets a value corresponding to the attribute 'crossorigin' on the given 'script' element.
An enumeration specifying the CORS (Cross-Origin Resource Sharing) setting attributes.
Possible values are anonymous, use-credentials and empty string.
This is introduced in SVG 2.
The ISvgCircleElement interface corresponds to the 'circle' element.
Gets a value providing a hint on the rendering defined by this element.
An enumeration of the specifying the rendering hint.
This will always return
The SvgEllipseElement class corresponds to the 'ellipse' element.
Gets a value providing a hint on the rendering defined by this element.
An enumeration of the specifying the rendering hint.
This will always return
The SVGLineElement interface corresponds to the 'line' element.
Gets a value providing a hint on the rendering defined by this element.
An enumeration of the specifying the rendering hint.
This will always return
Gets a value providing a hint on the rendering defined by this element.
An enumeration of the specifying the rendering hint.
This will always return
The SVGRectElement interface corresponds to the 'rect' element.
Gets a value providing a hint on the rendering defined by this element.
An enumeration of the specifying the rendering hint.
This will always return
This implements the interface corresponds to the 'altGlyphDef' element.
*Content model:* Either
- one or more 'glyphRef' elements, or
In the simplest case, an 'altGlyphDef' contains one or more 'glyphRef' elements.
Each 'glyphRef' element references a single glyph within a particular font.
- one or more 'altGlyphItem' elements.
In the more complex case, an 'altGlyphDef' contains one or more 'altGlyphItem' elements.
Each 'altGlyphItem' represents a candidate set of substitute glyphs. Each 'altGlyphItem' contains
one or more 'glyphRef' elements. Each 'glyphRef' element references a single glyph within a particular font.
Initializes a new instance of the class with the specified parameters.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Gets a value indicating whether this is a simple content model.
Returns if this element defines a simple content model that contains only 'glyphRef'
elements, otherwise returns .
Gets the first child element with the name 'glyphRef'.
The first if matched. It returns a if there is no match.
Gets the with the specified name or ID.
The name or ID of the required .
A specifying the 'glyphRef' element of the specifiied name or ID.
This will always return , if the is .
Gets the with the specified name or ID.
The name or ID of the required .
A specifying the 'altGlyphItem' element of the specifiied name or ID.
This will always return , if the is .
The ISvgAltGlyphElement interface corresponds to the 'altGlyph' element.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Corresponds to attribute 'glyphRef attribute' on the given element.
It is read only attribute
Corresponds to attribute 'format' on the given element.
It is read only attribute
This implements the interface corresponds to the 'altGlyphItem' element.
*Content model:* One or more 'glyphRef' elements.
The 'altGlyphItem' element defines a candidate set of possible glyph substitutions.
The first 'altGlyphItem' element whose referenced glyphs are all available is chosen.
Its glyphs are rendered instead of the character(s) that are inside of the referencing 'altGlyph' element.
Initializes a new instance of the class with the specified parameters.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Gets the with the specified name or ID.
The name or ID of the required .
A specifying the 'glyphRef' element of the specifiied name or ID.
The SvgFontElement interface corresponds to the 'font' element.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Gets or sets the default horizontal advance after rendering a glyph in horizontal orientation.
Glyph widths are required to be non-negative, even if the glyph is typically rendered
right-to-left, as in Hebrew and Arabic scripts.
Gets or sets X-coordinate in the font coordinate system of the origin of a glyph
to be used when drawing horizontally oriented text
Note that the origin applies to all glyphs in the font.
If the attribute is not specified, the effect is as if a value of '0' were specified.
Gets or sets the Y-coordinate in the font coordinate system of the origin of a glyph to be
used when drawing horizontally oriented text.
Note that the origin applies to all glyphs in the font.
If the attribute is not specified, the effect is as if a value of '0' were specified.
Gets or sets the
Gets or sets the default X-coordinate in the font coordinate system of the origin of a glyph
to be used when drawing vertically oriented text.
If the attribute is not specified, the effect is as if the attribute were set to half of the
effective value of attribute ‘horiz-adv-x’.
Gets or sets the default Y-coordinate in the font coordinate system of the origin of a
glyph to be used when drawing vertically oriented text.
If the attribute is not specified, the effect is as if the attribute were set to the
position specified by the font's ‘ascent’ attribute.
This is an extension attribute for externally defined fonts with its unicode-range in 'defs' tag.
The unicode-range value is lost in the current processing method.
The SvgFontFaceElement interface corresponds to the 'font-face' element.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
attribute name = "alphabetic" {number}
attribute name = "ascent" {number}
attribute name = "ascent-height" {number}
attribute name = "descent" {number}
Indicates which font family is to be used to render the text.
attribute name = "font-family" {string}
Refers to the size of the font from baseline to baseline when multiple
lines of text are set solid in a multiline layout environment.
attribute name = "font-size" {string}
Refers to the style of the font.
attribute name = "font-style" {string}
Refers to the varient of the font.
attribute name = "font-variant" {string}
Refers to the boldness of the font.
attribute name = "font-weight" {string}
attribute name = "font-stretch" {string}
attribute name = "panose-1" {string}
attribute name = "unicode-range" {{urange} [, {urange}]*>
attribute name = "units-per-em" {number}
attribute name = "x-height" {number}
Gets the distance from the baseline to the top of an English lowercase letter for a typeface.
The distance excludes ascenders.
A that indicates the distance from the baseline to the top of an
English lowercase letter (excluding ascenders), expressed as a fraction of the font em size.
attribute name = "cap-height" {number}
Gets a value that indicates the distance from the baseline to the strikethrough for the typeface.
A that indicates the strikethrough position, measured from the baseline and expressed
as a fraction of the font em size.
attribute name = "strikethrough-position" {number}
Gets a value that indicates the thickness of the strikethrough relative to the font em size.
A that indicates the strikethrough thickness, expressed as a fraction
of the font em size.
attribute name = "strikethrough-thickness" {number}
Gets a value that indicates the distance of the underline from the baseline for the typeface.
A that indicates the underline position, measured from the baseline
and expressed as a fraction of the font em size.
attribute name = "underline-position" {number}
Gets a value that indicates the thickness of the underline relative to the font em size for the typeface.
A that indicates the underline thickness, expressed as a fraction
of the font em size.
attribute name = "underline-thickness" {number}
Gets a value that indicates the distance of the overline from the baseline for the typeface.
A that indicates the overline position, measured from the baseline
and expressed as a fraction of the font em size.
attribute name = "overline-position" {number}
Gets a value that indicates the thickness of the overline relative to the font em size for the typeface.
A that indicates the overline thickness, expressed as a fraction
of the font em size.
attribute name = "overline-thickness" {number}
The interface corresponds to the font-face-format'' element.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
The SvgFontFaceNameElement interface corresponds to the 'font-face-name' element.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
The SvgFontFaceSrcElement interface corresponds to the 'font-face-src' element.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
The SvgFontFaceUriElement interface corresponds to the 'font-face-uri' element.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
The SvgGlyphElement interface corresponds to the 'glyph' element.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Gets a of path data.
Gets or sets.
The ISvgGlyphRefElement interface corresponds to the 'glyphRef' element.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Corresponds to attribute 'glyphRef attribute' on the given element.
It is read only attribute
Corresponds to attribute 'format' on the given element.
It is read only attribute
Corresponds to attribute 'x' on the given element.
It is read only attribute
Corresponds to attribute 'y' on the given element.
It is read only attribute
Corresponds to attribute 'dx' on the given element.
It is read only attribute
Corresponds to attribute 'dy' on the given element.
It is read only attribute
The SvgHKernElement interface corresponds to the 'hkern' element.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
The SvgKernElement is the base interface corresponds to the 'vkern' and 'hkern' elements.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
The SvgMissingGlyphElement interface corresponds to the 'missing-glyph' element.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Summary description for SvgTextAreaElement.
Summary description for SvgTextElement.
Summary description for SvgTextContentElement.
Gets a value providing a hint on the rendering defined by this element.
An enumeration of the specifying the rendering hint.
This will always return
Summary description for SvgTextElement.
The implementation of the ISvgTextPathElement interface corresponds to the 'textPath' element.
The SvgTextPositioningElement interface is inherited by text-related interfaces:
SvgTextElement, SvgTSpanElement, SvgTRefElement and SvgAltGlyphElement.
Summary description for SvgTRefElement.
The SvgTSpanElement interface corresponds to the 'tspan' element.
The SvgVKernElement interface corresponds to the 'vkern' element.
Gets a value indicating whether this SVG element is renderable.
This is if the element is renderable; otherwise,
it is .
Marks resources root
Bit reading helpers.
Input byte buffer, consist of a ring-buffer and a "slack" region where bytes from the start of
the ring-buffer are copied.
Input stream is finished.
Pre-fetched bits.
Current bit-reading position in accumulator.
Offset of next item in intBuffer.
Fills up the input buffer.
Fills up the input buffer.
No-op if there are at least 36 bytes present after current position.
After encountering the end of the input stream, 64 additional zero bytes are copied to the buffer.
Advances the Read buffer by 5 bytes to make room for reading next 24 bits.
Reads the specified number of bits from Read Buffer.
Initialize bit reader.
Initialize bit reader.
Initialisation turns bit reader to a ready state. Also a number of bytes is prefetched to
accumulator. Because of that this method may block until enough data could be read from input.
BitReader POJO
data source
API for Brotli decompression.
Static Huffman code for the code length code lengths.
Decodes a number in the range [0..255], by reading 1 - 11 bits.
Decodes the next Huffman code from bit-stream.
Reads next metablock header.
decoding state
Actual decompress implementation.
A decorator that decompresses brotli data.
Not thread-safe.
Internal buffer used for efficient byte-by-byte reading.
Number of decoded but still unused bytes in internal buffer.
Next unused byte offset.
Decoder state.
Creates a wrapper that decompresses brotli data.
For byte-by-byte reading () internal buffer with
size is allocated and used.
Will block the thread until first kilobyte of data of source is available.
underlying data source
in case of corrupted data or source stream problems
Creates a wrapper that decompresses brotli data.
For byte-by-byte reading () internal buffer of specified size is
allocated and used.
Will block the thread until first kilobyte of data of source is available.
compressed data source
size of internal buffer used in case of byte-by-byte reading
in case of corrupted data or source stream problems
Creates a wrapper that decompresses brotli data.
For byte-by-byte reading () internal buffer of specified size is
allocated and used.
Will block the thread until first kilobyte of data of source is available.
compressed data source
size of internal buffer used in case of byte-by-byte reading
custom dictionary data; if not used
in case of corrupted data or source stream problems
Unchecked exception used internally.
Associate input with decoder state.
uninitialized state without associated input
compressed data source
Transformations on dictionary words.
Common context lookup table for all context modes.
Collection of static dictionary words.
Collection of static dictionary words.
Dictionary content is loaded from binary resource when is executed for the
first time. Consequently, it saves memory and CPU in case dictionary is not required.
One possible drawback is that multiple threads that need dictionary data may be blocked (only
once in each classworld). To avoid this, it is enough to call proactively.
"Initialization-on-demand holder idiom" implementation.
"Initialization-on-demand holder idiom" implementation.
This static class definition is not initialized until the JVM determines that it must be
executed (when the static method is invoked).
Utilities for building Huffman decoding tables.
Maximum possible Huffman table size for an alphabet size of 704, max code length 15 and root
table bits 8.
Returns reverse(reverse(key, len) + 1, len).
Returns reverse(reverse(key, len) + 1, len).
reverse(key, len) is the bit-wise reversal of the len least significant bits of key.
Stores in table[0], table[step], table[2 * step] .., table[end].
Assumes that end is an integer multiple of step.
histogram of bit lengths for the remaining symbols,
code length of the next processed symbol.
table width of the next 2nd level table.
Builds Huffman lookup table assuming code lengths are in symbol order.
Contains a collection of huffman trees with the same alphabet size.
The maximal alphabet size in this group.
Storage for Huffman lookup tables.
Offsets of distinct lookup tables in storage.
Initializes the Huffman tree group.
POJO to be initialised
the maximal alphabet size in this group
number of Huffman codes
Decodes Huffman trees from input stream and constructs lookup tables.
target POJO
data source
Byte-to-int conversion magic.
Translates bytes to ints.
Translates bytes to ints.
NB: intLen == 4 * byteSize!
NB: intLen should be less or equal to intBuffer length.
Lookup tables to map prefix codes to value ranges.
Lookup tables to map prefix codes to value ranges.
This is used during decoding of the block lengths, literal insertion lengths and copy lengths.
Range represents values: [offset, offset + 2 ^ n_bits)
Enumeration of decoding state-machine.
A set of utility methods.
Fills byte array with zeroes.
Fills byte array with zeroes.
Current implementation uses ,
so it should be used for length not less than 16.
array to fill with zeroes
the first byte to fill
number of bytes to change
Fills int array with zeroes.
Fills int array with zeroes.
Current implementation uses ,
so it should be used for length not less than 16.
array to fill with zeroes
the first item to fill
number of item to change
Enumeration of all possible word transformations.
Enumeration of all possible word transformations.
There are two simple types of transforms: omit X first/last symbols, two character-case
transforms and the identity transform.
Inicializa una nueva instancia de la clase ZLibStream usando la secuencia y nivel de compresión especificados.
Secuencia que se va a comprimir
Nivel de compresión
Inicializa una nueva instancia de la clase ZLibStream usando la secuencia y modo de compresión especificados.
Secuencia que se va a comprimir o descomprimir
Modo de compresión
Inicializa una nueva instancia de la clase ZLibStream usando la secuencia y nivel de compresión especificados y, opcionalmente, deja la secuencia abierta.
Secuencia que se va a comprimir
Nivel de compresión
Indica si se debe de dejar la secuencia abierta después de comprimir la secuencia
Inicializa una nueva instancia de la clase ZLibStream usando la secuencia y modo de compresión especificados y, opcionalmente, deja la secuencia abierta.
Secuencia que se va a comprimir o descomprimir
Modo de compresión
Indica si se debe de dejar la secuencia abierta después de comprimir o descomprimir la secuencia
Check if the stream is in ZLib format
Stream to check
Returns in case the stream is in ZLib format,
otherwise returns or error.
Read the last 4 bytes of the stream as it is where is the CRC
Initialize the stream
Initialize the stream header in ZLib format
IRegisteredType is return by Container.Register and allows further configuration for the registration
Make registered type a singleton
Make registered type a per-scope type (single instance within a Scope)
Represents a scope in which per-scope objects are instantiated a single time
Inversion of control container handles dependency injection for registered types
Creates a new instance of IoC Container
Registers a factory function which will be called to resolve the specified interface
Interface to register
Factory function
Registers an implementation type for the specified interface
Interface to register
Implementing type
Returns the object registered for the given type
Type as registered with the container
Instance of the registered type
Returns a value indicating whether the object type is registered or not.
Type as registered with the container
Returns if the specified type is registered, otherwise; return .
Creates a new scope
Scope object
Disposes any objects owned by this container.
Extension methods for Container
Registers an implementation type for the specified interface
Interface to register
This container instance
Implementing type
IRegisteredType object
Registers an implementation type for the specified interface
Interface to register
Implementing type
This container instance
IRegisteredType object
Registers a factory function which will be called to resolve the specified interface
Interface to register
This container instance
Factory method
IRegisteredType object
Registers a type
This container instance
Type to register
IRegisteredType object
Returns an implementation of the specified interface
Interface type
This scope instance
Object implementing the interface
Implementation wrapper for IJsSvgAnimationElement
Implementation wrapper for IJsSvgAnimateElement
Implementation wrapper for IJsSvgSetElement
Implementation wrapper for IJsSvgAnimateMotionElement
Implementation wrapper for IJsSvgMPathElement
Implementation wrapper for IJsSvgAnimateColorElement
Implementation wrapper for IJsSvgAnimateTransformElement
Implementation wrapper for IJsSvgAnimatedBoolean
Implementation wrapper for IJsSvgAnimatedString
Implementation wrapper for IJsSvgStringList
Implementation wrapper for IJsSvgAnimatedEnumeration
Implementation wrapper for IJsSvgAnimatedInteger
Implementation wrapper for IJsSvgNumber
Implementation wrapper for IJsSvgAnimatedNumber
Implementation wrapper for IJsSvgNumberList
Implementation wrapper for IJsSvgAnimatedNumberList
Implementation wrapper for IJsSvgLength
Implementation wrapper for IJsSvgAnimatedLength
Implementation wrapper for IJsSvgLengthList
Implementation wrapper for IJsSvgAnimatedLengthList
Implementation wrapper for IJsSvgAngle
Implementation wrapper for IJsSvgAnimatedAngle
Implementation wrapper for IJsSvgColor
Implementation wrapper for IJsSvgIccColor
Implementation wrapper for IJsSvgRect
Implementation wrapper for IJsSvgAnimatedRect
Implementation wrapper for IJsSvgUnitTypes
Implementation wrapper for IJsSvgRenderingIntent
Implementation wrapper for IJsSvgPoint
Implementation wrapper for IJsSvgPointList
Implementation wrapper for IJsSvgMatrix
Implementation wrapper for IJsSvgTransform
Implementation wrapper for IJsSvgTransformList
Implementation wrapper for IJsSvgAnimatedTransformList
Implementation wrapper for IJsSvgPreserveAspectRatio
Implementation wrapper for IJsSvgAnimatedPreserveAspectRatio
Implementation wrapper for IJsSvgAnimatedPathData
Implementation wrapper for IJsSvgAnimatedPoints
Implementation wrapper for IJsCssRuleList
Implementation wrapper for IJsCssRule
Implementation wrapper for IJsCssStyleRule
Implementation wrapper for IJsCssMediaRule
Implementation wrapper for IJsCssFontFaceRule
Implementation wrapper for IJsCssPageRule
Implementation wrapper for IJsCssImportRule
Implementation wrapper for IJsCssCharsetRule
Implementation wrapper for IJsCssUnknownRule
Implementation wrapper for IJsCssStyleDeclaration
Implementation wrapper for IJsCssValue
Implementation wrapper for IJsCssPrimitiveValue
Implementation wrapper for IJsCssValueList
Implementation wrapper for IJsRgbColor
Implementation wrapper for IJsRect
Implementation wrapper for IJsCounter
Implementation wrapper for IJsElementCssInlineStyle
Implementation wrapper for IJsCssStyleSheet
Implementation wrapper for IJsViewCss
Implementation wrapper for IJsDocumentCss
Implementation wrapper for IJsDomImplementationCss
IJsDomTimeStamp
Implementation wrapper for IJsDomImplementation
Implementation wrapper for IJsNode
Implementation wrapper for IJsNodeList
Implementation wrapper for IJsNamedNodeMap
Implementation wrapper for IJsCharacterData
Implementation wrapper for IJsAttr
Implementation wrapper for IJsElement
Implementation wrapper for IJsText
Implementation wrapper for IJsComment
Implementation wrapper for IJsCDataSection
Implementation wrapper for IJsDocumentType
Implementation wrapper for IJsNotation
Implementation wrapper for IJsEntity
Implementation wrapper for IJsEntityReference
Implementation wrapper for IJsProcessingInstruction
Implementation wrapper for IJsDocumentFragment
Implementation wrapper for IJsDocument
Implementation wrapper for IJsEventTarget
Implementation wrapper for IJsEventListener
Implementation wrapper for IJsEvent
Implementation wrapper for IJsDocumentEvent
Implementation wrapper for IJsUiEvent
Implementation wrapper for IJsMouseEvent
Implementation wrapper for IJsMutationEvent
Implementation wrapper for IJsSvgClipPathElement
Implementation wrapper for IJsSvgMaskElement
Implementation wrapper for IJsSvgFilterElement
Implementation wrapper for IJsSvgFilterPrimitiveStandardAttributes
Implementation wrapper for IJsSvgFEBlendElement
Implementation wrapper for IJsSvgFEColorMatrixElement
Implementation wrapper for IJsSvgFEComponentTransferElement
Implementation wrapper for IJsSvgComponentTransferFunctionElement
Implementation wrapper for IJsSvgFEFuncRElement
Implementation wrapper for IJsSvgFEFuncGElement
Implementation wrapper for IJsSvgFEFuncBElement
Implementation wrapper for IJsSvgFEFuncAElement
Implementation wrapper for IJsSvgFECompositeElement
Implementation wrapper for IJsSvgFEConvolveMatrixElement
Implementation wrapper for IJsSvgFEDiffuseLightingElement
Implementation wrapper for IJsSvgFEDistantLightElement
Implementation wrapper for IJsSvgFEPointLightElement
Implementation wrapper for IJsSvgFESpotLightElement
Implementation wrapper for IJsSvgFEDisplacementMapElement
Implementation wrapper for IJsSvgFEFloodElement
Implementation wrapper for IJsSvgFEGaussianBlurElement
Implementation wrapper for IJsSvgFEImageElement
Implementation wrapper for IJsSvgFEMergeElement
Implementation wrapper for IJsSvgFEMergeNodeElement
Implementation wrapper for IJsSvgFEMorphologyElement
Implementation wrapper for IJsSvgFEOffsetElement
Implementation wrapper for IJsSvgFESpecularLightingElement
Implementation wrapper for IJsSvgFETileElement
Implementation wrapper for IJsSvgFETurbulenceElement
Implementation wrapper for IJsGetSvgDocument
Implementation wrapper for IJsSvgCursorElement
Implementation wrapper for IJsSvgViewElement
Implementation wrapper for IJsSvgEvent
Implementation wrapper for IJsSvgZoomEvent
Implementation wrapper for IJsSvgDefinitionSrcElement
Implementation wrapper for IJsSvgMetadataElement
Implementation wrapper for IJsSvgForeignObjectElement
Implementation wrapper for IJsSvgElementInstance
Implementation wrapper for IJsSvgElementInstanceList
Implementation wrapper for IJsSvgColorProfileElement
Implementation wrapper for IJsSvgColorProfileRule
Creates a new scriptable wrapper for the specified object. Use this function instead
of calling the JsObject constructor.
The object to wrap. It's type will be used as a key
in a lookup for creating the correct wrappable type.
A new scriptable object that has been created with a type corresponding
to the wrappableObject's type.
Removes the wrapper and base object key value pair. This function is called by the JsObject destructor.
The key object that was wrapped, to be removed.
Builds the wrapper type table for static lookups
Base class for all wrappers
Base constructor, if used you must assign the baseObject after the call.
This constructor should only be called internally. Higher order classes should construct
new wrappers using the CreateWrapper function to allow for type lookups.
Base constructor, accepts the baseObject that will be wrapped with all inherited calls.
This constructor should only be called internally. Higher order classes should construct
new wrappers using the CreateWrapper function to allow for type lookups.
The object to wrap with a scriptable object.
Implementation wrapper for IJsSvgPathSeg
Implementation wrapper for IJsSvgPathSeg
Implementation wrapper for IJsSvgPathSegClosePath
Implementation wrapper for IJsSvgPathSegMovetoAbs
Implementation wrapper for IJsSvgPathSegMovetoRel
Implementation wrapper for IJsSvgPathSegLinetoAbs
Implementation wrapper for IJsSvgPathSegLinetoRel
Implementation wrapper for IJsSvgPathSegCurvetoCubicAbs
Implementation wrapper for IJsSvgPathSegCurvetoCubicRel
Implementation wrapper for IJsSvgPathSegCurvetoQuadraticAbs
Implementation wrapper for IJsSvgPathSegCurvetoQuadraticRel
Implementation wrapper for IJsSvgPathSegArcAbs
Implementation wrapper for IJsSvgPathSegArcRel
Implementation wrapper for IJsSvgPathSegLinetoHorizontalAbs
Implementation wrapper for IJsSvgPathSegLinetoHorizontalRel
Implementation wrapper for IJsSvgPathSegLinetoVerticalAbs
Implementation wrapper for IJsSvgPathSegLinetoVerticalRel
Implementation wrapper for IJsSvgPathSegCurvetoCubicSmoothAbs
Implementation wrapper for IJsSvgPathSegCurvetoCubicSmoothRel
Implementation wrapper for IJsSvgPathSegCurvetoQuadraticSmoothAbs
Implementation wrapper for IJsSvgPathSegCurvetoQuadraticSmoothRel
Implementation wrapper for IJsSvgPathSegList
Implementation wrapper for IJsSvgPathElement
Implementation wrapper for IJsSvgRectElement
Implementation wrapper for IJsSvgCircleElement
Implementation wrapper for IJsSvgEllipseElement
Implementation wrapper for IJsSvgLineElement
Implementation wrapper for IJsSvgPolylineElement
Implementation wrapper for IJsSvgPolygonElement
Implementation wrapper for IJsTimeEvent
Implementation wrapper for IJsStyleSheet
Implementation wrapper for IJsStyleSheetList
Implementation wrapper for IJsMediaList
Implementation wrapper for IJsLinkStyle
Implementation wrapper for IJsDocumentStyle
Implementation wrapper for IJsSvgElement
Implementation wrapper for IJsSvgStylable
Implementation wrapper for IJsSvgLocatable
Implementation wrapper for IJsSvgTransformable
Implementation wrapper for IJsSvgTests
Implementation wrapper for IJsSvgLangSpace
Implementation wrapper for IJsSvgExternalResourcesRequired
Implementation wrapper for IJsSvgFitToViewBox
Implementation wrapper for IJsSvgZoomAndPan
Implementation wrapper for IJsSvgViewSpec
Implementation wrapper for IJsSvgUriReference
Implementation wrapper for IJsSvgCssRule
Implementation wrapper for IJsSvgDocument
Implementation wrapper for IJsSvgSvgElement
Implementation wrapper for IJsSvgGElement
Implementation wrapper for IJsSvgDefsElement
Implementation wrapper for IJsSvgDescElement
Implementation wrapper for IJsSvgTitleElement
Implementation wrapper for IJsSvgSymbolElement
Implementation wrapper for IJsSvgUseElement
Implementation wrapper for IJsSvgImageElement
Implementation wrapper for IJsSvgSwitchElement
Implementation wrapper for IJsSvgStyleElement
Implementation wrapper for IJsSvgPaint
Implementation wrapper for IJsSvgMarkerElement
Implementation wrapper for IJsSvgGradientElement
Implementation wrapper for IJsSvgLinearGradientElement
Implementation wrapper for IJsSvgRadialGradientElement
Implementation wrapper for IJsSvgStopElement
Implementation wrapper for IJsSvgPatternElement
Implementation wrapper for IJsSvgAElement
Implementation wrapper for IJsSvgScriptElement
Implementation wrapper for IJsSvgTextContentElement
Implementation wrapper for IJsSvgTextPositioningElement
Implementation wrapper for IJsSvgTextElement
Implementation wrapper for IJsSvgTSpanElement
Implementation wrapper for IJsSvgTRefElement
Implementation wrapper for IJsSvgTextPathElement
Implementation wrapper for IJsSvgAltGlyphElement
Implementation wrapper for IJsSvgAltGlyphDefElement
Implementation wrapper for IJsSvgAltGlyphItemElement
Implementation wrapper for IJsSvgGlyphRefElement
Implementation wrapper for IJsSvgFontElement
Implementation wrapper for IJsSvgGlyphElement
Implementation wrapper for IJsSvgMissingGlyphElement
Implementation wrapper for IJsSvgHKernElement
Implementation wrapper for IJsSvgVKernElement
Implementation wrapper for IJsSvgFontFaceElement
Implementation wrapper for IJsSvgFontFaceSrcElement
Implementation wrapper for IJsSvgFontFaceUriElement
Implementation wrapper for IJsSvgFontFaceFormatElement
Implementation wrapper for IJsSvgFontFaceNameElement
Implementation wrapper for IJsAbstractView
Implementation wrapper for IJsDocumentView
Implementation wrapper for IJsSvgWindow
A memory buffer with support for Big-Endian based data types conversions (bytes to/from integers).
Reads a number of characters from the current source Stream and
writes the data to the target array at the specified index.
The source Stream to read from.
Contains the array of characteres read from the source Stream.
The starting index of the target array.
The maximum number of characters to read from the source Stream.
The number of characters read. The number will be less
than or equal to count depending on the data available
in the source Stream. Returns -1 if the end of the stream
is reached.
Reads a number of characters from the current source TextReader
and writes the data to the target array at the specified index.
The source TextReader to read from
Contains the array of characteres read from the source TextReader.
The starting index of the target array.
The maximum number of characters to read from the
source TextReader.
The number of characters read. The number will be less than or
equal to count depending on the data available in the source
TextReader. Returns -1 if the end of the stream is reached.
UIntBase128 is a different variable length encoding of unsigned integers,
suitable for values up to 2^32 - 1.
The font stream.
The UIntBase128 encoded number
A UIntBase128 encoded number is a sequence of bytes for which the most significant bit is set
for all but the last byte, and clear for the last byte. The number itself is base 128
encoded in the lower 7 bits of each byte.
Thus, a decoding procedure for a UIntBase128 is:
start with value = 0. Consume a byte, setting value = old value times 128 + (byte bitwise-and 127).
Repeat last step until the most significant bit of byte is false.
Read a 255UInt16, which is a variable-length encoding of an unsigned integer in the range
0 to 65535 inclusive.
A variable-length encoding of an unsigned short.
This data type is intended to be used as intermediate representation of various font values,
which are typically expressed as UInt16 but represent relatively small values.
Try to skip bytes in the input stream and return the actual
number of bytes skipped.
Input stream that will be used to skip the bytes.
Number of bytes to be skipped.
Actual number of bytes skipped.
Skips a given number of characters into a given Stream.
The number of caracters to skip.
The stream in which the skips are done.
The number of characters skipped.
Writes the data to the specified file stream
Data to write
File to write to
Writes the received string to the file stream
String of information to write
File to write to
Reads a little endian small integer.
The raw data buffer.
The offset into the buffer where the int resides.
The int read from the buffer at the offset location.
Reads a big endian small integer.
The raw data buffer.
The offset into the buffer where the int resides.
The int read from the buffer at the offset location.
Reads a little endian small integer.
The raw data buffer.
The offset into the buffer where the int resides.
The int read from the buffer at the offset location.
Reads a big endian small integer.
The raw data buffer.
The offset into the buffer where the int resides.
The int read from the buffer at the offset location.
Reads a little endian integer.
The raw data buffer.
The offset into the buffer where the int resides.
The int read from the buffer at the offset location.
Reads a big endian integer.
The raw data buffer.
The offset into the buffer where the int resides.
The int read from the buffer at the offset location.
Reads a little endian integer.
The raw data buffer.
The offset into the buffer where the int resides.
The int read from the buffer at the offset location.
Reads a big endian integer.
The raw data buffer.
The offset into the buffer where the int resides.
The int read from the buffer at the offset location.
Reads a little endian 8 byte integer.
The raw data buffer.
The offset into the buffer where the long resides.
The long read from the buffer at the offset location.
Reads a little endian 8 byte integer.
The raw data buffer.
The offset into the buffer where the long resides.
The long read from the buffer at the offset location.
Reads a little endian 8 byte integer.
The raw data buffer.
The offset into the buffer where the long resides.
The long read from the buffer at the offset location.
Reads a little endian 8 byte integer.
The raw data buffer.
The offset into the buffer where the long resides.
The long read from the buffer at the offset location.
Reads a little endian float.
The raw data buffer.
The offset into the buffer where the float resides.
The float read from the buffer at the offset location.
Reads a big endian float.
The raw data buffer
The offset into the buffer where the float resides
The float read from the buffer at the offset location.
Reads a little endian double.
The raw data buffer.
The offset into the buffer where the double resides.
The double read from the buffer at the offset location.
Reads a big endian double.
The raw data buffer.
The offset into the buffer where the double resides.
The double read from the buffer at the offset location.
Writes the given short to the given buffer at the given location
in big endian format.
the data buffer.
the offset into the buffer where writing should occur.
the short to write.
the number of bytes written.
Writes the given short to the given buffer at the given location
in big endian format.
the data buffer.
the offset into the buffer where writing should occur.
the short to write.
the number of bytes written.
Writes the given integer to the given buffer at the given location
in little endian format.
the data buffer
the offset into the buffer where writing should occur
the integer to write
the number of bytes written.
Writes the given integer to the given buffer at the given location
in big endian format.
the data buffer.
the offset into the buffer where writing should occur.
the integer to write.
the number of bytes written.
Writes the given long to the given buffer at the given location
in little endian format.
the data buffer
the offset into the buffer where writing should occur
the long to write
the number of bytes written
Writes the given long to the given buffer at the given location
in big endian format.
the data buffer
the offset into the buffer where writing should occur.
the long to write.
the number of bytes written.
Writes the given double to the given buffer at the given location
in little endian format.
the data buffer
the offset into the buffer where writing should occur
the double to write
the number of bytes written
Writes the given double to the given buffer at the given location
in big endian format.
the data buffer
the offset into the buffer where writing should occur
the double to write
the number of bytes written
This writes the transformed WOFF2 font collection data to the TTC OpenType.
The strategy is to produce a layout similar to the simple layout used in the WOFF2 data structure and
still confirm to the OpenType format.
Font Collection ID string: 'ttcf'
The Version of the TTC Header in the original font.
Major version of the TTC Header.
Minor version of the TTC Header.
The number of fonts in the collection.
Tag indicating that a DSIG table exists, 0x44534947 ('DSIG') (null if no signature)
The length (in bytes) of the DSIG table (null if no signature)
The offset (in bytes) of the DSIG table from the beginning of the TTC file (null if no signature)
The number of tables in this font
The "sfnt version" of the font
The index identifying an entry in the Table Directory for each table in this font
(where the index of the first Table Directory entry is zero.)
This function stores just the point data. Coordinates packing algorithm based on the Google/woff2 sources.
Returns true on success.
File header with basic font type and version, along with offsets to metadata and private data blocks.
WOFF File Format 1.0
WOFF File Format 2.0
The Woff 1 or 2 signature
The "sfnt version" of the input font.
Total size of the WOFF file.
Number of entries in directory of font tables.
Reserved; set to zero.
Total size needed for the uncompressed font data, including the sfnt header,
directory, and font tables (including padding).
WOFF2 only: Total length of the compressed data block.
Major version of the WOFF file.
Minor version of the WOFF file.
Offset to metadata block, from beginning of WOFF file.
Length of compressed metadata block.
Uncompressed size of metadata block.
Offset to private data block, from beginning of WOFF file.
Length of private data block.
The format version of the WOFF file. Possible values are 1 or 2.
Gets the W3C Specifications Format Version of the WOFF file.
Possible values are 1 or 2, for the Web Open Font Format 1 (WOFF1) and 2 (WOFF2).
Gets or set the signature field of the WOFF format header. The value is 0x774F4646 or 'wOFF'.
The signature field in the WOFF header must contain the "magic number" 0x774F4646.
If the field does not contain this value, user agents MUST reject the file as invalid.
The "sfnt version" of the input font.
Total size of the WOFF file.
Number of entries in directory of font tables.
Reserved; set to zero.
Total size needed for the uncompressed font data, including the sfnt header,
directory, and font tables (including padding).
WOFF 2
The value in the WOFF2 Header is intended to be used for
reference purposes only. It may represent the size of the uncompressed input font file,
but if the transformed 'glyf' and 'loca' tables are present, the uncompressed size of
the reconstructed tables and the total decompressed font size may differ substantially
from the original total size specified in the WOFF2 Header.
Major version of the WOFF file.
Minor version of the WOFF file.
Offset to metadata block, from beginning of WOFF file.
Length of compressed metadata block.
Uncompressed size of metadata block.
Offset to private data block, from beginning of WOFF file.
Length of private data block.
This is a writer wrapper, providing index access to the buffer (usually a fixed buffer).
Initializes a new instance of the class with an expandable
capacity initialized to zero.
Initializes a new instance of the class with a non-resizable
capacity initialized as specified.
The initial size of the internal array in bytes.
Initializes a new non-resizable instance of the class
based on the specified region (index) of a byte array.
The array of unsigned bytes from which to create this stream.
The index into buffer at which the stream begins.
The length of the stream in bytes.
Gets the length of the stream in bytes.
The length of the stream in bytes.
Returns the array of unsigned bytes from which this stream was created.
The byte array from which this stream was created, or the underlying array if
a byte array was not provided to the System.IO.MemoryStream constructor during
construction of the current instance.
Writes an eight-byte signed integer to the current stream and advances the stream
position by eight bytes.
The eight-byte signed integer to write.
Returns if successful; otherwise, returns .
Writes an eight-byte unsigned integer to the current stream and advances the
stream position by eight bytes.
The eight-byte unsigned integer to write.
Returns if successful; otherwise, returns .
Writes a four-byte signed integer to the current stream and advances the stream
position by four bytes.
The four-byte signed integer to write.
Returns if successful; otherwise, returns .
Writes a four-byte unsigned integer to the current stream and advances the stream
position by four bytes.
The four-byte unsigned integer to write.
Returns if successful; otherwise, returns .
Writes a two-byte signed integer to the current stream and advances the stream
position by two bytes.
The two-byte signed integer to write.
Returns if successful; otherwise, returns .
Writes a two-byte signed integer to the current stream and advances the stream
position by two bytes.
The two-byte signed integer to write.
Returns if successful; otherwise, returns .
Writes a two-byte unsigned integer to the current stream and advances the stream
position by two bytes.
The two-byte unsigned integer to write.
Returns if successful; otherwise, returns .
Writes a signed byte to the current stream and advances the stream position by one byte.
The signed byte to write.
Returns if successful; otherwise, returns .
Writes a signed byte array to the underlying stream.
A signed byte array containing the data to write.
Returns if successful; otherwise, returns .
Writes a region of a signed byte array to the current stream.
A signed byte array containing the data to write.
The starting point in buffer at which to begin writing.
The number of signed bytes to write.
Returns if successful; otherwise, returns .
Writes an unsigned byte to the current stream and advances the stream position by one byte.
The unsigned byte to write.
Returns if successful; otherwise, returns .
Writes a byte array to the underlying stream.
A byte array containing the data to write.
Returns if successful; otherwise, returns .
Writes a region of a byte array to the current stream.
A byte array containing the data to write.
The starting point in buffer at which to begin writing.
The number of bytes to write.
Returns if successful; otherwise, returns .
Offset to metadata block, from beginning of WOFF file.
Length of compressed metadata block.
Uncompressed size of metadata block.
Offset to private data block, from beginning of WOFF file.
Length of private data block.
Initializes a new instance of the class with the specified bytes stream.
A object containing the bytes stream.
Initializes a new instance of the class with the specified bytes stream.
A object containing the bytes stream.
Gets or sets the position within the current stream.
The current position within the stream.
Gets the length in bytes of the stream.
A signed integer value representing the length of the stream in bytes.
Reads a unsigned byte from this stream and advances the current position of the
stream by one byte.
A unsigned byte read from the current stream.
Reads a signed byte from this stream and advances the current position of the
stream by one byte.
A signed byte read from the current stream.
Reads a 2-byte signed integer from the current stream and advances the current
position of the stream by two bytes.
A 2-byte signed integer read from the current stream.
Reads a 2-byte unsigned integer from the current stream using little-endian encoding
and advances the position of the stream by two bytes.
A 2-byte unsigned integer read from this stream.
Reads a 4-byte signed integer from the current stream and advances the current
position of the stream by four bytes.
A 4-byte signed integer read from the current stream.
Reads a 4-byte unsigned integer from the current stream and advances the position
of the stream by four bytes.
A 4-byte unsigned integer read from this stream.
Reads an 8-byte signed integer from the current stream and advances the current
position of the stream by eight bytes.
An 8-byte signed integer read from the current stream.
Reads an 8-byte unsigned integer from the current stream and advances the position
of the stream by eight bytes.
An 8-byte unsigned integer read from this stream.
UIntBase128 is a different variable length encoding of unsigned integers,
suitable for values up to 2^32 - 1.
The font stream.
The UIntBase128 encoded number
A UIntBase128 encoded number is a sequence of bytes for which the most significant bit is set
for all but the last byte, and clear for the last byte. The number itself is base 128
encoded in the lower 7 bits of each byte.
Thus, a decoding procedure for a UIntBase128 is:
start with value = 0. Consume a byte, setting value = old value times 128 + (byte bitwise-and 127).
Repeat last step until the most significant bit of byte is false.
Read a 255UInt16, which is a variable-length encoding of an unsigned integer in the range
0 to 65535 inclusive.
A variable-length encoding of an unsigned short.
This data type is intended to be used as intermediate representation of various font values,
which are typically expressed as UInt16 but represent relatively small values.
Checksum of the uncompressed table.
Calculate checksum for all except for 'head'
Index of the font directory in the WOFF store order.
The format version of the WOFF file. Possible values are 1 or 2.
WOFF2: The table type and flags
4-byte sfnt table identifier.
Offset to the data, from beginning of WOFF file.
Length of the compressed data, excluding padding.
Length of the uncompressed table, excluding padding.
WOFF2: The transformed length (if applicable)
Checksum of the uncompressed table.
The padding to the next block.
Gets the W3C Specifications Format Version of the WOFF file.
Possible values are 1 or 2, for the Web Open Font Format 1 (WOFF1) and 2 (WOFF2).
4-byte sfnt table identifier.
Offset to the data, from beginning of WOFF file.
Length of the compressed data, excluding padding.
Length of the uncompressed table, excluding padding.
Checksum of the uncompressed table.
Offsets to specific elements in the underlying data, relative to the start of the table.
Offsets to specific elements in the underlying data, relative to the start of the table.
hhea — Horizontal Header Table.
The following parameters maybe affected due updates in table.
-
advanceWidthMax - UFWORD
Maximum advance width value in 'hmtx' table.
-
minLeftSideBearing - FWORD
Minimum left sidebearing value in 'hmtx' table for glyphs with contours (empty glyphs should be ignored).
-
minRightSideBearing - FWORD
Minimum right sidebearing value; calculated as Min(aw - (lsb + xMax - xMin))
for glyphs with contours (empty glyphs should be ignored).
-
xMaxExtent - FWORD
Max(lsb + (xMax - xMin)).
Offsets to specific elements in the underlying data, relative to the start of the table.
Offsets to specific elements in the underlying data, relative to the start of the table.
Offsets to specific elements in the underlying data, relative to the start of the table.
Offsets to specific elements in the underlying data, relative to the start of the table.
Offsets to specific elements in the underlying data, relative to the start of the table.
A class defining the Triplet Encoding used for simple glyph encoding in Compact Table Format (CTF).
A simple glyph defines all the contours and points that are used to create the glyph outline.
Each point is presented in a {dx, dy, on/off-curve} triplet that is stored with the variable
length encoding consuming 2 to 5 bytes per triplet.
This class represents the data formats of flags[], (xCoordinate, yCoordinates)[] of the simple glyph data.
The coordinate values of simple glyph outline points are calculated as follows:
Xcoord[i] = (short)((Xsign)*(xCoordinate[i] + DeltaX[index]);
Ycoord[i] = (short)((Ysign)*(xCoordinate[i] + DeltaY[index]);
Here is some pseudo-code illustrating how to read in the data:
> ((byteCount * 8) - coordEncoding[index].xBits)
ultmp &= ((1L << coordEncoding[index].xBits) - 1)
dx = ultmp
ultmp = data >> ((byteCount * 8) - coordEncoding[index].xBits - coordEncoding[index].yBits)
ultmp &= ((1L << coordEncoding[index].yBits) - 1)
dy = ultmp
dx += coordEncoding[index].deltaX
dy += coordEncoding[index].deltaY
if (xIsNegative)
dx = -dx
if (yIsNegative)
dy = -dy
x = (x + dx)
y = (y + dy)
}
]]>
5.1. Transformed glyf table format.
5.6. The 'glyf' Table Translation.
Data types
UInt32 32-bit (4-byte) unsigned integer in big-endian format
UInt16 16-bit (2-byte) unsigned integer in big-endian format
The byte boundary.
Initializes a new instance of the class with an expandable
capacity initialized to zero.
Initializes a new instance of the class with a non-resizable
capacity initialized as specified.
The initial size of the internal array in bytes.
Initializes a new instance of the class with a non-resizable
capacity initialized as specified.
The initial size of the internal array in bytes.
Initializes a new non-resizable instance of the class
based on the specified region (index) of a byte array.
The array of unsigned bytes from which to create this stream.
The index into buffer at which the stream begins.
The length of the stream in bytes.
Gets the length of the stream in bytes.
The length of the stream in bytes.
Returns the array of unsigned bytes from which this stream was created.
The byte array from which this stream was created, or the underlying array if
a byte array was not provided to the System.IO.MemoryStream constructor during
construction of the current instance.
Writes a two-byte signed integer to the current stream and advances the stream
position by two bytes.
The two-byte signed integer to write.
Returns if successful; otherwise, returns .
Writes a two-byte unsigned integer to the current stream and advances the stream
position by two bytes.
The two-byte unsigned integer to write.
Returns if successful; otherwise, returns .
Writes a two-byte signed integer to the current stream and advances the stream
position by two bytes.
The two-byte signed integer to write.
Returns if successful; otherwise, returns .
Writes a four-byte signed integer to the current stream and advances the stream
position by four bytes.
The four-byte signed integer to write.
Returns if successful; otherwise, returns .
Writes a four-byte unsigned integer to the current stream and advances the stream
position by four bytes.
The four-byte unsigned integer to write.
Returns if successful; otherwise, returns .
Writes an eight-byte signed integer to the current stream and advances the stream
position by eight bytes.
The eight-byte signed integer to write.
Returns if successful; otherwise, returns .
Writes an eight-byte unsigned integer to the current stream and advances the
stream position by eight bytes.
The eight-byte unsigned integer to write.
Returns if successful; otherwise, returns .
Writes a signed byte to the current stream and advances the stream position by one byte.
The signed byte to write.
Returns if successful; otherwise, returns .
Writes a signed byte array to the underlying stream.
A signed byte array containing the data to write.
Returns if successful; otherwise, returns .
Writes a region of a signed byte array to the current stream.
A signed byte array containing the data to write.
The starting point in buffer at which to begin writing.
The number of signed bytes to write.
Returns if successful; otherwise, returns .
Writes an unsigned byte to the current stream and advances the stream position by one byte.
The unsigned byte to write.
Returns if successful; otherwise, returns .
Writes a byte array to the underlying stream.
A byte array containing the data to write.
Returns if successful; otherwise, returns .
Writes a region of a byte array to the current stream.
A byte array containing the data to write.
The starting point in buffer at which to begin writing.
The number of bytes to write.
Returns if successful; otherwise, returns .