summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: d9193e6)
raw | patch | inline | side by side (parent: d9193e6)
author | ishmal <ishmal@users.sourceforge.net> | |
Tue, 29 Apr 2008 02:00:54 +0000 (02:00 +0000) | ||
committer | ishmal <ishmal@users.sourceforge.net> | |
Tue, 29 Apr 2008 02:00:54 +0000 (02:00 +0000) |
index b86a714424361dfc179451c3397fdd67b942c4d8..0dc8423f4fb16169cabb8d5f20077d4f3431fb2a 100644 (file)
--- a/src/dom/io/uristream.cpp
+++ b/src/dom/io/uristream.cpp
case URI::SCHEME_DATA:
{
- DOMString path = uri.getPath();
- data = (unsigned char *) uri.getPath().c_str();
- //printf("in data:'%s'\n", data);
+ data = uri.getPath();
+ //printf("in data:'%s'\n", data.c_str());
dataPos = 0;
dataLen = uri.getPath().size();
break;
case URI::SCHEME_DATA:
{
- uri = URI(data.c_str());
+ uri = URI(data);
break;
}
closed = true;
}
+
/**
* Flushes this output stream and forces any buffered output
* bytes to be written out.
diff --git a/src/dom/io/uristream.h b/src/dom/io/uristream.h
index 43369bfcdbefc2d1e9c732f7ea9fb6d8923c5f96..a2d5a19bb5f54e2e1659a79dc7bd32ba088e50b6 100644 (file)
--- a/src/dom/io/uristream.h
+++ b/src/dom/io/uristream.h
* Authors:
* Bob Jamison
*
- * Copyright (C) 2005 Bob Jamison
+ * Copyright (C) 2005-2008 Bob Jamison
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
bool closed;
FILE *inf; //for file: uris
- unsigned char *data; //for data: uris
+ DOMString data; //for data: uris
int dataPos; // current read position in data field
int dataLen; // length of data buffer
diff --git a/src/dom/svg.h b/src/dom/svg.h
index 05120a640b6e7d914fc84876a9f77abed2a0a936..1d6e2df5d2df0694e8faf0e311631ffce143e6bd 100644 (file)
--- a/src/dom/svg.h
+++ b/src/dom/svg.h
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * =======================================================================
+ * NOTES
+ *
+ * This API follows:
+ * http://www.w3.org/TR/SVG11/svgdom.html
+ *
*/
#########################################################################*/
/**
- *
+ * All of the SVG DOM interfaces that correspond directly to elements in the SVG
+ * language (e.g., the SVGPathElement interface corresponds directly to the
+ * 'path' element in the language) are derivative from base class SVGElement.
*/
class SVGElement : virtual public Element
{
public:
/**
- *
+ * Get the value of the id attribute on the given element.
*/
virtual DOMString getId() =0;
/**
- *
+ * Set the value of the id attribute on the given element.
*/
virtual void setId(const DOMString &val)
throw (DOMException) =0;
/**
- *
+ * Corresponds to attribute xml:base on the given element.
*/
virtual DOMString getXmlBase() = 0;
/**
- *
+ * Corresponds to attribute xml:base on the given element.
*/
virtual void setXmlBase(const DOMString &val)
throw (DOMException) = 0;
/**
- *
+ * The nearest ancestor 'svg' element. Null if the given element is the
+ * outermost 'svg' element.
*/
virtual SVGSVGElementPtr getOwnerSVGElement() = 0;
/**
- *
+ * The element which established the current viewport. Often, the nearest
+ * ancestor 'svg' element. Null if the given element is the outermost 'svg'
+ * element.
*/
virtual SVGElementPtr getViewportElement() = 0;
#########################################################################*/
/**
+ * 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 SVGDocument 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 SVGDocument 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
+ * SVGDocument 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 SVGDocument object.
*/
class SVGDocument : virtual public Document,
virtual public events::DocumentEvent
/**
- *
+ * The title of a document as specified by the title sub-element of the 'svg'
+ * root element (i.e., <svg><title>Here is the title</title>...</svg>)
*/
virtual DOMString getTitle() =0;
/**
- *
+ * 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).
*/
virtual DOMString getReferrer() =0;
/**
- *
+ * The domain name of the server that served the document, or a null string if
+ * the server cannot be identified by a domain name.
*/
virtual DOMString getDomain() =0;
/**
- *
+ * The complete URI of the document.
*/
virtual DOMString getURL() =0;
/**
- *
+ * The root 'svg' element in the document hierarchy.
*/
virtual SVGSVGElementPtr getRootElement() =0;
#########################################################################*/
/**
+ * A key interface definition is the SVGSVGElement 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.
*
+ * SVGSVGElement extends ViewCSS and DocumentCSS to provide access to the
+ * computed values of properties and the override style sheet as described in DOM2.
*/
class SVGSVGElement : virtual public SVGElement,
public SVGTests,
public:
/**
- *
+ * Corresponds to attribute x on the given 'svg' element.
*/
virtual SVGAnimatedLength getX() =0;
/**
- *
+ * Corresponds to attribute y on the given 'svg' element.
*/
virtual SVGAnimatedLength getY() =0;
/**
- *
+ * Corresponds to attribute width on the given 'svg' element.
*/
virtual SVGAnimatedLength getWidth() =0;
/**
- *
+ * Corresponds to attribute height on the given 'svg' element.
*/
virtual SVGAnimatedLength getHeight() =0;
/**
- *
+ * Get the attribute contentScriptType on the given 'svg' element.
*/
virtual DOMString getContentScriptType() =0;
/**
- *
+ * Set the attribute contentScriptType on the given 'svg' element.
*/
virtual void setContentScriptType(const DOMString &val)
throw (DOMException) =0;
/**
- *
+ * Get the attribute contentStyleType on the given 'svg' element.
*/
virtual DOMString getContentStyleType() =0;
/**
- *
+ * Set the attribute contentStyleType on the given 'svg' element.
*/
virtual void setContentStyleType(const DOMString &val)
throw (DOMException) =0;
/**
- *
- */
+ * 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.
+ * */
virtual SVGRect getViewport() =0;
/**
- *
+ * 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.
*/
virtual double getPixelUnitToMillimeterX() =0;
/**
- *
+ * Corresponding size of a pixel unit along the y-axis of the viewport.
*/
virtual double getPixelUnitToMillimeterY() =0;
/**
- *
+ * 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.
*/
virtual double getScreenPixelToMillimeterX() =0;
/**
- *
+ * Corresponding size of a screen pixel along the y-axis of the viewport.
*/
virtual double getScreenPixelToMillimeterY() =0;
/**
- *
+ * 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.
*/
virtual bool getUseCurrentView() =0;
/**
- *
+ * Set the value above
*/
virtual void setUseCurrentView(bool val) throw (DOMException) =0;
/**
- *
+ * 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
+ *
*/
virtual SVGViewSpec getCurrentView() =0;
/**
- *
+ * 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).
*/
virtual double getCurrentScale() =0;
/**
- *
+ * Set the value above.
*/
virtual void setCurrentScale(double val)
throw (DOMException) =0;
/**
- *
+ * The corresponding translation factor that takes into account
+ * user "magnification".
*/
virtual SVGPoint getCurrentTranslate() =0;
/**
- *
+ * 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.
*/
virtual unsigned long suspendRedraw (unsigned long max_wait_milliseconds ) =0;
/**
- *
+ * Cancels a specified suspendRedraw() by providing a unique suspend_handle_id.
*/
virtual void unsuspendRedraw (unsigned long suspend_handle_id )
throw( DOMException ) =0;
/**
- *
+ * 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.
*/
virtual void unsuspendRedrawAll ( ) =0;
/**
- *
+ * In rendering environments supporting interactivity, forces the user agent to
+ * immediately redraw all regions of the viewport that require updating.
*/
virtual void forceRedraw ( ) =0;
/**
- *
+ * 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.
*/
virtual void pauseAnimations ( ) =0;
/**
- *
+ * 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.
*/
virtual void unpauseAnimations ( ) =0;
/**
- *
+ * Returns true if this SVG document fragment is in a paused state.
*/
virtual bool animationsPaused ( ) =0;
/**
- *
+ * Returns the current time in seconds relative to the start time for
+ * the current SVG document fragment.
*/
virtual double getCurrentTime ( ) =0;
/**
- *
+ * Adjusts the clock for this SVG document fragment, establishing
+ * a new current time.
*/
virtual void setCurrentTime (double seconds ) =0;
/**
- *
+ * Returns the list of graphics elements whose rendered content intersects the
+ * supplied rectangle, honoring the 'pointer-events' property value on each
+ * candidate graphics element.
*/
virtual NodeList getIntersectionList(const SVGRect &rect,
const SVGElementPtr referenceElement ) =0;
/**
- *
+ * 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.
*/
virtual NodeList getEnclosureList (const SVGRect &rect,
const SVGElementPtr referenceElement ) =0;
/**
- *
+ * 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.
*/
virtual bool checkIntersection (const SVGElementPtr element, const SVGRect &rect ) =0;
/**
- *
+ * 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.
*/
virtual bool checkEnclosure (const SVGElementPtr element, const SVGRect &rect ) =0;
/**
- *
+ * Unselects any selected objects, including any selections of text
+ * strings and type-in bars.
*/
virtual void deselectAll ( ) =0;
/**
- *
+ * Creates an SVGNumber object outside of any document trees. The object
+ * is initialized to a value of zero.
*/
virtual SVGNumber createSVGNumber ( ) =0;
/**
- *
+ * Creates an SVGLength object outside of any document trees. The object
+ * is initialized to the value of 0 user units.
*/
virtual SVGLength createSVGLength ( ) =0;
/**
- *
+ * Creates an SVGAngle object outside of any document trees. The object
+ * is initialized to the value 0 degrees (unitless).
*/
virtual SVGAngle createSVGAngle ( ) =0;
/**
- *
+ * Creates an SVGPoint object outside of any document trees. The object
+ * is initialized to the point (0,0) in the user coordinate system.
*/
virtual SVGPoint createSVGPoint ( ) =0;
/**
- *
+ * Creates an SVGMatrix object outside of any document trees. The object
+ * is initialized to the identity matrix.
*/
virtual SVGMatrix createSVGMatrix ( ) =0;
/**
- *
+ * Creates an SVGRect object outside of any document trees. The object
+ * is initialized such that all values are set to 0 user units.
*/
virtual SVGRect createSVGRect ( ) =0;
/**
- *
+ * Creates an SVGTransform object outside of any document trees.
+ * The object is initialized to an identity matrix transform
+ * (SVG_TRANSFORM_MATRIX).
*/
virtual SVGTransform createSVGTransform ( ) =0;
/**
- *
+ * Creates an SVGTransform object outside of any document trees.
+ * The object is initialized to the given matrix transform
+ * (i.e., SVG_TRANSFORM_MATRIX).
*/
virtual SVGTransform createSVGTransformFromMatrix(const SVGMatrix &matrix ) =0;
/**
- *
+ * 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.
*/
virtual ElementPtr getElementById (const DOMString& elementId ) =0;
#########################################################################*/
/**
- *
+ * The SVGGElement interface corresponds to the 'g' element.
*/
class SVGGElement : virtual public SVGElement,
public SVGTests,
#########################################################################*/
/**
- *
+ * The SVGDefsElement interface corresponds to the 'defs' element.
*/
class SVGDefsElement :
virtual public SVGElement,
#########################################################################*/
/**
- *
+ * The SVGDescElement interface corresponds to the 'desc' element.
*/
class SVGDescElement :
virtual public SVGElement,
#########################################################################*/
/**
- *
+ * The SVGTitleElement interface corresponds to the 'title' element.
*/
class SVGTitleElement :
virtual public SVGElement,
#########################################################################*/
/**
- *
+ * The SVGSymbolElement interface corresponds to the 'symbol' element.
*/
class SVGSymbolElement :
virtual public SVGElement,
#########################################################################*/
/**
- *
+ * The SVGUseElement interface corresponds to the 'use' element.
*/
class SVGUseElement :
virtual public SVGElement,
/**
- *
+ * Corresponds to attribute x on the given 'use' element.
*/
virtual SVGAnimatedLength getX() =0;
/**
- *
+ * Corresponds to attribute y on the given 'use' element.
*/
virtual SVGAnimatedLength getY() =0;
/**
- *
+ * Corresponds to attribute width on the given 'use' element.
*/
virtual SVGAnimatedLength getWidth() =0;
/**
- *
+ * Corresponds to attribute height on the given 'use' element.
*/
virtual SVGAnimatedLength getHeight() =0;
/**
- *
- */
+ * The root of the "instance tree". See description of SVGElementInstance for
+ * a discussion on the instance tree.
+ * */
virtual SVGElementInstance getInstanceRoot() =0;
/**
- *
+ * If the 'href' attribute is being animated, contains the current animated root
+ * of the "instance tree". If the 'href' attribute is not currently being
+ * animated, contains the same value as 'instanceRoot'. The root of the "instance
+ * tree". See description of SVGElementInstance for a discussion on the instance
+ * tree.
*/
virtual SVGElementInstance getAnimatedInstanceRoot() =0;
#########################################################################*/
/**
- *
+ * The SVGImageElement interface corresponds to the 'image' element.
*/
class SVGImageElement :
virtual public SVGElement,
/**
- *
+ * Corresponds to attribute x on the given 'image' element.
*/
virtual SVGAnimatedLength getX() =0;
/**
- *
+ * Corresponds to attribute y on the given 'image' element.
*/
virtual SVGAnimatedLength getY() =0;
/**
- *
+ * Corresponds to attribute width on the given 'image' element.
*/
virtual SVGAnimatedLength getWidth() =0;
/**
- *
+ * Corresponds to attribute height on the given 'image' element.
*/
virtual SVGAnimatedLength getHeight() =0;
/**
- *
+ * Corresponds to attribute preserveAspectRatio on the given element.
*/
virtual SVGAnimatedPreserveAspectRatio getPreserveAspectRatio() =0;
#########################################################################*/
/**
- *
+ * The SVGSwitchElement interface corresponds to the 'switch' element.
*/
class SVGSwitchElement :
virtual public SVGElement,
#########################################################################*/
/**
- *
+ * In the case where an SVG document is embedded by reference, such as when an
+ * XHTML document has an 'object' element whose href (or equivalent) 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), the SVG user
+ * agent is required to implement the GetSVGDocument interface for the element
+ * which references the SVG document (e.g., the HTML 'object' or comparable
+ * referencing elements).
*/
class GetSVGDocument
{
public:
/**
- *
+ * Returns the SVGDocument object for the referenced SVG document.
*/
virtual SVGDocumentPtr getSVGDocument ( )
throw( DOMException ) =0;
#########################################################################*/
/**
- *
+ * The SVGStyleElement interface corresponds to the 'style' element.
*/
class SVGStyleElement : virtual public SVGElement
{
public:
/**
- *
+ * Get the attribute xml:space on the given element.
*/
virtual DOMString getXmlspace() = 0;
/**
- *
+ * Set the attribute xml:space on the given element.
*/
virtual void setXmlspace(const DOMString &val)
throw (DOMException) =0;
/**
- *
+ * Get the attribute type on the given 'style' element.
*/
virtual DOMString getType() = 0;
/**
- *
+ * Set the attribute type on the given 'style' element.
*/
virtual void setType(const DOMString &val)
throw (DOMException) =0;
/**
- *
+ * Get the attribute media on the given 'style' element.
*/
virtual DOMString getMedia() = 0;
/**
- *
+ * Set the attribute media on the given 'style' element.
*/
virtual void setMedia(const DOMString &val)
throw (DOMException) =0;
/**
- *
+ * Get the attribute title on the given 'style' element.
*/
virtual DOMString getTitle() = 0;
/**
- *
+ * Set the attribute title on the given 'style' element.
*/
virtual void setTitle(const DOMString &val)
throw (DOMException) =0;
#########################################################################*/
/**
- *
+ * The SVGPathElement interface corresponds to the 'path' element.
*/
class SVGPathElement :
virtual public SVGElement,
public events::EventTarget,
public SVGAnimatedPathData
{
-public:
-
-
+public:
/**
- *
+ * Corresponds to attribute pathLength on the given 'path' element.
*/
virtual SVGAnimatedNumber getPathLength() =0;
/**
- *
+ * Returns the user agent's computed value for the total length of the path using
+ * the user agent's distance-along-a-path algorithm, as a distance in the current
+ * user coordinate system.
*/
virtual double getTotalLength ( ) =0;
/**
- *
+ * Returns the (x,y) coordinate in user space which is distance units along the
+ * path, utilizing the user agent's distance-along-a-path algorithm.
*/
virtual SVGPoint getPointAtLength (double distance ) =0;
/**
- *
+ * Returns the index into pathSegList which is distance units along the path,
+ * utilizing the user agent's distance-along-a-path algorithm.
*/
virtual unsigned long getPathSegAtLength (double distance ) =0;
/**
- *
+ * Returns a stand-alone, parentless SVGPathSegClosePath object.
*/
virtual SVGPathSegClosePath
createSVGPathSegClosePath ( ) =0;
/**
- *
+ * Returns a stand-alone, parentless SVGPathSegMovetoAbs object.
*/
virtual SVGPathSegMovetoAbs
createSVGPathSegMovetoAbs (double x, double y ) =0;
/**
- *
+ * Returns a stand-alone, parentless SVGPathSegMovetoRel object.
*/
virtual SVGPathSegMovetoRel
createSVGPathSegMovetoRel (double x, double y ) =0;
/**
- *
+ * Returns a stand-alone, parentless SVGPathSegLinetoAbs object.
*/
virtual SVGPathSegLinetoAbs
createSVGPathSegLinetoAbs (double x, double y ) =0;
/**
- *
+ * Returns a stand-alone, parentless SVGPathSegLinetoRel object.
*/
virtual SVGPathSegLinetoRel
createSVGPathSegLinetoRel (double x, double y ) =0;
/**
- *
+ * Returns a stand-alone, parentless SVGPathSegCurvetoCubicAbs object.
*/
virtual SVGPathSegCurvetoCubicAbs
createSVGPathSegCurvetoCubicAbs (double x, double y,
double x1, double y1, double x2, double y2 ) =0;
/**
- *
+ * Returns a stand-alone, parentless SVGPathSegCurvetoCubicRel object.
*/
virtual SVGPathSegCurvetoCubicRel
createSVGPathSegCurvetoCubicRel (double x, double y,
double x1, double y1, double x2, double y2 ) =0;
/**
- *
+ * Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticAbs object.
*/
virtual SVGPathSegCurvetoQuadraticAbs
createSVGPathSegCurvetoQuadraticAbs (double x, double y,
double x1, double y1 ) =0;
/**
- *
+ * Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticRel object.
*/
virtual SVGPathSegCurvetoQuadraticRel
createSVGPathSegCurvetoQuadraticRel (double x, double y,
double x1, double y1 ) =0;
/**
- *
+ * Returns a stand-alone, parentless SVGPathSegArcAbs object.
*/
virtual SVGPathSegArcAbs
createSVGPathSegArcAbs (double x, double y,
bool largeArcFlag, bool sweepFlag ) =0;
/**
- *
+ * Returns a stand-alone, parentless SVGPathSegArcRel object.
*/
virtual SVGPathSegArcRel
createSVGPathSegArcRel (double x, double y, double r1,
bool sweepFlag ) =0;
/**
- *
+ * Returns a stand-alone, parentless SVGPathSegLinetoHorizontalAbs object.
*/
virtual SVGPathSegLinetoHorizontalAbs
createSVGPathSegLinetoHorizontalAbs (double x ) =0;
/**
- *
+ * Returns a stand-alone, parentless SVGPathSegLinetoHorizontalRel object.
*/
virtual SVGPathSegLinetoHorizontalRel
createSVGPathSegLinetoHorizontalRel (double x ) =0;
/**
- *
+ * Returns a stand-alone, parentless SVGPathSegLinetoVerticalAbs object.
*/
virtual SVGPathSegLinetoVerticalAbs
createSVGPathSegLinetoVerticalAbs (double y ) =0;
/**
- *
+ * Returns a stand-alone, parentless SVGPathSegLinetoVerticalRel object.
*/
virtual SVGPathSegLinetoVerticalRel
createSVGPathSegLinetoVerticalRel (double y ) =0;
/**
- *
+ * Returns a stand-alone, parentless SVGPathSegCurvetoCubicSmoothAbs object.
*/
virtual SVGPathSegCurvetoCubicSmoothAbs
createSVGPathSegCurvetoCubicSmoothAbs (double x, double y,
double x2, double y2 ) =0;
/**
- *
+ * Returns a stand-alone, parentless SVGPathSegCurvetoCubicSmoothRel object.
*/
virtual SVGPathSegCurvetoCubicSmoothRel
createSVGPathSegCurvetoCubicSmoothRel (double x, double y,
double x2, double y2 ) =0;
/**
- *
+ * Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticSmoothAbs
+ * object.
*/
virtual SVGPathSegCurvetoQuadraticSmoothAbs
createSVGPathSegCurvetoQuadraticSmoothAbs (double x, double y ) =0;
/**
- *
+ * Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticSmoothRel
+ * object.
*/
virtual SVGPathSegCurvetoQuadraticSmoothRel
createSVGPathSegCurvetoQuadraticSmoothRel (double x, double y ) =0;
#########################################################################*/
/**
- *
+ * The SVGRectElement interface corresponds to the 'rect' element.
*/
class SVGRectElement :
virtual public SVGElement,
public:
/**
- *
+ * Corresponds to attribute x on the given 'rect' element.
*/
virtual SVGAnimatedLength getX() =0;
/**
- *
+ * Corresponds to attribute y on the given 'rect' element.
*/
virtual SVGAnimatedLength getY() =0;
/**
- *
+ * Corresponds to attribute width on the given 'rect' element.
*/
virtual SVGAnimatedLength getWidth() =0;
/**
- *
+ * Corresponds to attribute height on the given 'rect' element.
*/
virtual SVGAnimatedLength getHeight() =0;
/**
- *
+ * Corresponds to attribute rx on the given 'rect' element.
*/
virtual SVGAnimatedLength getRx() =0;
/**
- *
+ * Corresponds to attribute ry on the given 'rect' element.
*/
virtual SVGAnimatedLength getRy() =0;
#########################################################################*/
/**
- *
+ * The SVGCircleElement interface corresponds to the 'circle' element.
*/
class SVGCircleElement :
virtual public SVGElement,
public:
/**
- *
+ * Corresponds to attribute cx on the given 'circle' element.
*/
virtual SVGAnimatedLength getCx() =0;
/**
- *
+ * Corresponds to attribute cy on the given 'circle' element.
*/
virtual SVGAnimatedLength getCy() =0;
/**
- *
+ * Corresponds to attribute r on the given 'circle' element.
*/
virtual SVGAnimatedLength getR() =0;
#########################################################################*/
/**
- *
+ * The SVGEllipseElement interface corresponds to the 'ellipse' element.
*/
class SVGEllipseElement :
virtual public SVGElement,
public events::EventTarget
{
public:
+
/**
- *
+ * Corresponds to attribute cx on the given 'ellipse' element.
*/
virtual SVGAnimatedLength getCx() =0;
/**
- *
+ * Corresponds to attribute cy on the given 'ellipse' element.
*/
virtual SVGAnimatedLength getCy() =0;
/**
- *
+ * Corresponds to attribute rx on the given 'ellipse' element.
*/
virtual SVGAnimatedLength getRx() =0;
/**
- *
+ * Corresponds to attribute ry on the given 'ellipse' element.
*/
virtual SVGAnimatedLength getRy() =0;
#########################################################################*/
/**
- *
+ * The SVGLineElement interface corresponds to the 'line' element.
*/
class SVGLineElement :
virtual public SVGElement,
public events::EventTarget
{
public:
+
/**
- *
+ * Corresponds to attribute x1 on the given 'line' element.
*/
virtual SVGAnimatedLength getX1() =0;
/**
- *
+ * Corresponds to attribute y1 on the given 'line' element.
*/
virtual SVGAnimatedLength getY1() =0;
/**
- *
+ * Corresponds to attribute x2 on the given 'line' element.
*/
virtual SVGAnimatedLength getX2() =0;
/**
- *
+ * Corresponds to attribute y2 on the given 'line' element.
*/
virtual SVGAnimatedLength getY2() =0;
#########################################################################*/
/**
- *
+ * The SVGPolylineElement interface corresponds to the 'polyline' element.
*/
class SVGPolylineElement :
virtual public SVGElement,
public events::EventTarget,
public SVGAnimatedPoints
{
+
public:
//##################
#########################################################################*/
/**
- *
+ * The SVGPolygonElement interface corresponds to the 'polygon' element.
*/
class SVGPolygonElement :
virtual public SVGElement,
#########################################################################*/
/**
- *
+ * The SVGTextContentElement interface is inherited by various text-related
+ * interfaces, such as SVGTextElement, SVGTSpanElement, SVGTRefElement,
+ * SVGAltGlyphElement and SVGTextPathElement.
*/
class SVGTextContentElement :
virtual public SVGElement,
public SVGStylable,
public events::EventTarget
{
-public:
-
+public:
/**
* lengthAdjust Types
/**
- *
+ * Corresponds to attribute textLength on the given element.
*/
virtual SVGAnimatedLength getTextLength() =0;
/**
- *
+ * Corresponds to attribute lengthAdjust on the given element. The value must be
+ * one of the length adjust constants specified above.
*/
virtual SVGAnimatedEnumeration getLengthAdjust() =0;
/**
- *
+ * Returns the total number of characters to be rendered within the current
+ * element. Includes characters which are included via a 'tref' reference.
*/
virtual long getNumberOfChars ( ) =0;
/**
- *
+ * The total sum of all of the advance values from rendering all of the
+ * characters within this element, including the advance value on the glyphs
+ * (horizontal or vertical), the effect of properties 'kerning', 'letter-spacing'
+ * and 'word-spacing' and adjustments due to attributes dx and dy on 'tspan'
+ * elements. For non-rendering environments, the user agent shall make reasonable
+ * assumptions about glyph metrics.
*/
virtual double getComputedTextLength ( ) =0;
/**
- *
+ * The total sum of all of the advance values from rendering the specified
+ * substring of the characters, including the advance value on the glyphs
+ * (horizontal or vertical), the effect of properties 'kerning', 'letter-spacing'
+ * and 'word-spacing' and adjustments due to attributes dx and dy on 'tspan'
+ * elements. For non-rendering environments, the user agent shall make reasonable
+ * assumptions about glyph metrics.
*/
virtual double getSubStringLength (unsigned long charnum, unsigned long nchars )
throw( DOMException ) =0;
/**
- *
+ * Returns the current text position before rendering the character in the user
+ * coordinate system for rendering the glyph(s) that correspond to the specified
+ * character. The current text position has already taken into account the
+ * effects of any inter-character adjustments due to properties 'kerning',
+ * 'letter-spacing' and 'word-spacing' and adjustments due to attributes x, y, dx
+ * and dy. If multiple consecutive characters are rendered inseparably (e.g., as
+ * a single glyph or a sequence of glyphs), then each of the inseparable
+ * characters will return the start position for the first glyph.
*/
virtual SVGPoint getStartPositionOfChar (unsigned long charnum )
throw( DOMException ) =0;
/**
- *
+ * Returns the current text position after rendering the character in the user
+ * coordinate system for rendering the glyph(s) that correspond to the specified
+ * character. This current text position does not take into account the effects
+ * of any inter-character adjustments to prepare for the next character, such as
+ * properties 'kerning', 'letter-spacing' and 'word-spacing' and adjustments due
+ * to attributes x, y, dx and dy. If multiple consecutive characters are rendered
+ * inseparably (e.g., as a single glyph or a sequence of glyphs), then each of
+ * the inseparable characters will return the end position for the last glyph.
*/
virtual SVGPoint getEndPositionOfChar (unsigned long charnum )
throw( DOMException ) =0;
/**
- *
+ * Returns a tightest rectangle which defines the minimum and maximum X and Y
+ * values in the user coordinate system for rendering the glyph(s) that
+ * correspond to the specified character. The calculations assume that all glyphs
+ * occupy the full standard glyph cell for the font. If multiple consecutive
+ * characters are rendered inseparably (e.g., as a single glyph or a sequence of
+ * glyphs), then each of the inseparable characters will return the same extent.
*/
virtual SVGRect getExtentOfChar (unsigned long charnum )
throw( DOMException ) =0;
/**
- *
+ * Returns the rotation value relative to the current user coordinate system used
+ * to render the glyph(s) corresponding to the specified character. If multiple
+ * glyph(s) are used to render the given character and the glyphs each have
+ * different rotations (e.g., due to text-on-a-path), the user agent shall return
+ * an average value (e.g., the rotation angle at the midpoint along the path for
+ * all glyphs used to render this character). The rotation value represents the
+ * rotation that is supplemental to any rotation due to properties
+ * 'glyph-orientation-horizontal' and 'glyph-orientation-vertical'; thus, any
+ * glyph rotations due to these properties are not included into the returned
+ * rotation value. If multiple consecutive characters are rendered inseparably
+ * (e.g., as a single glyph or a sequence of glyphs), then each of the
+ * inseparable characters will return the same rotation value.
*/
virtual double getRotationOfChar (unsigned long charnum )
throw( DOMException ) =0;
/**
- *
+ * Returns the index of the character whose corresponding glyph cell bounding box
+ * contains the specified point. The calculations assume that all glyphs occupy
+ * the full standard glyph cell for the font. If no such character exists, a
+ * value of -1 is returned. If multiple such characters exist, the character
+ * within the element whose glyphs were rendered last (i.e., take into account
+ * any reordering such as for bidirectional text) is used. If multiple
+ * consecutive characters are rendered inseparably (e.g., as a single glyph or a
+ * sequence of glyphs), then the user agent shall allocate an equal percentage of
+ * the text advance amount to each of the contributing characters in determining
+ * which of the characters is chosen.
*/
virtual long getCharNumAtPosition (const SVGPoint &point ) =0;
/**
- *
+ * Causes the specified substring to be selected just as if the user
+ * selected the substring interactively.
*/
virtual void selectSubString (unsigned long charnum, unsigned long nchars )
throw( DOMException ) =0;
#########################################################################*/
/**
- *
+ * The SVGTextPositioningElement interface is inherited by text-related
+ * interfaces: SVGTextElement, SVGTSpanElement, SVGTRefElement and
+ * SVGAltGlyphElement.
*/
class SVGTextPositioningElement : virtual public SVGTextContentElement
{
public:
/**
- *
+ * Corresponds to attribute x on the given element.
*/
virtual SVGAnimatedLength getX() =0;
/**
- *
+ * Corresponds to attribute y on the given element.
*/
virtual SVGAnimatedLength getY() =0;
/**
- *
+ * Corresponds to attribute dx on the given element.
*/
virtual SVGAnimatedLength getDx() =0;
/**
- *
+ * Corresponds to attribute dy on the given element.
*/
virtual SVGAnimatedLength getDy() =0;
/**
- *
+ * Corresponds to attribute rotate on the given element.
*/
virtual SVGAnimatedNumberList getRotate() =0;
#########################################################################*/
/**
- *
+ * The SVGTextElement interface corresponds to the 'text' element.
*/
class SVGTextElement : virtual public SVGTextPositioningElement,
public SVGTransformable
#########################################################################*/
/**
- *
+ * The SVGTSpanElement interface corresponds to the 'tspan' element.
*/
class SVGTSpanElement : virtual public SVGTextPositioningElement
{
#########################################################################*/
/**
- *
+ * The SVGTRefElement interface corresponds to the 'tref' element.
*/
class SVGTRefElement :
virtual public SVGTextPositioningElement,
#########################################################################*/
/**
- *
+ * The SVGTextPathElement interface corresponds to the 'textPath' element.
*/
class SVGTextPathElement :
virtual public SVGTextContentElement,
/**
- *
+ * Corresponds to attribute startOffset on the given 'textPath' element.
*/
virtual SVGAnimatedLength getStartOffset() =0;
/**
- *
+ * Corresponds to attribute method on the given 'textPath' element. The value
+ * must be one of the method type constants specified above.
*/
virtual SVGAnimatedEnumeration getMethod() =0;
/**
- *
+ * Corresponds to attribute spacing on the given 'textPath' element.
+ * The value must be one of the spacing type constants specified above.
*/
virtual SVGAnimatedEnumeration getSpacing() =0;
#########################################################################*/
/**
- *
+ * The SVGAltGlyphElement interface corresponds to the 'altGlyph' element.
*/
class SVGAltGlyphElement :
virtual public SVGTextPositioningElement,
public:
/**
- *
+ * Get the attribute glyphRef on the given element.
*/
virtual DOMString getGlyphRef() =0;
/**
- *
+ * Set the attribute glyphRef on the given element.
*/
virtual void setGlyphRef(const DOMString &val)
throw (DOMException) =0;
/**
- *
+ * Get the attribute format on the given element.
*/
virtual DOMString getFormat() =0;
/**
- *
+ * Set the attribute format on the given element.
*/
virtual void setFormat(const DOMString &val)
throw (DOMException) =0;
#########################################################################*/
/**
- *
+ * The SVGAltGlyphDefElement interface corresponds to the 'altGlyphDef' element.
*/
class SVGAltGlyphDefElement : virtual public SVGElement
{
#########################################################################*/
/**
- *
+ * The SVGAltGlyphItemElement interface corresponds to the
+ * 'altGlyphItem' element.
*/
class SVGAltGlyphItemElement : virtual public SVGElement
{
#########################################################################*/
/**
- *
+ * The SVGGlyphRefElement interface corresponds to the 'glyphRef' element.
*/
class SVGGlyphRefElement : virtual public SVGElement,
public SVGURIReference,
public SVGStylable
{
public:
+
/**
- *
+ * Get the attribute glyphRef on the given element.
*/
virtual DOMString getGlyphRef() =0;
/**
- *
+ * Set the attribute glyphRef on the given element.
*/
virtual void setGlyphRef(const DOMString &val)
throw (DOMException) =0;
/**
- *
+ * Get the attribute format on the given element.
*/
virtual DOMString getFormat() =0;
/**
- *
+ * Set the attribute format on the given element.
*/
virtual void setFormat(const DOMString &val)
throw (DOMException) =0;
/**
- *
+ * Get the attribute x on the given element.
*/
virtual double getX() = 0;
/**
- *
+ * Set the attribute x on the given element.
*/
virtual void setX(double val) throw (DOMException) =0;
/**
- *
+ * Get the attribute y on the given element.
*/
virtual double getY() = 0;
/**
- *
+ * Set the attribute y on the given element.
*/
virtual void setY(double val) throw (DOMException) =0;
/**
- *
+ * Get the attribute dx on the given element.
*/
virtual double getDx() = 0;
/**
- *
+ * Set the attribute dx on the given element.
*/
virtual void setDx(double val) throw (DOMException) =0;
/**
- *
+ * Get the attribute dy on the given element.
*/
virtual double getDy() = 0;
/**
- *
+ * Set the attribute dy on the given element.
*/
virtual void setDy(double val) throw (DOMException) =0;
#########################################################################*/
/**
- *
+ * The SVGMarkerElement interface corresponds to the 'marker' element.
*/
class SVGMarkerElement :
virtual public SVGElement,
/**
- *
+ * Corresponds to attribute refX on the given 'marker' element.
*/
virtual SVGAnimatedLength getRefX() =0;
/**
- *
+ * Corresponds to attribute refY on the given 'marker' element.
*/
virtual SVGAnimatedLength getRefY() =0;
/**
- *
+ * Corresponds to attribute markerUnits on the given 'marker' element.
+ * One of the Marker Units Types defined above.
*/
virtual SVGAnimatedEnumeration getMarkerUnits() =0;
/**
- *
+ * Corresponds to attribute markerWidth on the given 'marker' element.
*/
virtual SVGAnimatedLength getMarkerWidth() =0;
/**
- *
+ * Corresponds to attribute markerHeight on the given 'marker' element.
*/
virtual SVGAnimatedLength getMarkerHeight() =0;
/**
- *
+ * Corresponds to attribute orient on the given 'marker' element.
+ * One of the Marker Orientation Types defined above.
*/
virtual SVGAnimatedEnumeration getOrientType() =0;
/**
- *
+ * 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.
*/
virtual SVGAnimatedAngle getOrientAngle() =0;
/**
- *
+ * Sets the value of attribute orient to 'auto'.
*/
virtual void setOrientToAuto ( ) =0;
/**
- *
+ * Sets the value of attribute orient to the given angle.
*/
virtual void setOrientToAngle (const SVGAngle &angle) =0;
#########################################################################*/
/**
- *
+ * The SVGColorProfileElement interface corresponds to the
+ * 'color-profile' element.
*/
class SVGColorProfileElement :
virtual public SVGElement,
public SVGRenderingIntent
{
public:
+
/**
- *
+ * Get the attribute local on the given element.
*/
virtual DOMString getLocal() =0;
/**
- *
+ * Set the attribute local on the given element.
*/
virtual void setLocal(const DOMString &val)
throw (DOMException) =0;
/**
- *
+ * Get the attribute name on the given element.
*/
virtual DOMString getName() =0;
/**
- *
+ * Set the attribute name on the given element.
*/
virtual void setName(const DOMString &val)
throw (DOMException) =0;
/**
- *
+ * Set the attribute rendering-intent on the given element.
+ * The type of rendering intent, identified by one of the
+ * SVGRenderingIntent constants.
*/
virtual unsigned short getRenderingIntent() =0;
/**
- *
+ * Get the attribute rendering-intent on the given element.
*/
virtual void setRenderingIntent(unsigned short val)
throw (DOMException) =0;
#########################################################################*/
/**
- *
+ * The SVGGradientElement interface is a base interface used by
+ * SVGLinearGradientElement and SVGRadialGradientElement.
*/
class SVGGradientElement :
virtual public SVGElement,
public SVGStylable,
public SVGUnitTypes
{
-public:
-
+public:
/**
* Spread Method Types
/**
- *
+ * Corresponds to attribute gradientUnits on the given element.
+ * Takes one of the constants defined in SVGUnitTypes.
*/
virtual SVGAnimatedEnumeration getGradientUnits() =0;
/**
- *
+ * Corresponds to attribute gradientTransform on the given element.
*/
virtual SVGAnimatedTransformList getGradientTransform() =0;
/**
- *
+ * Corresponds to attribute spreadMethod on the given element.
+ * One of the Spread Method Types.
*/
virtual SVGAnimatedEnumeration getSpreadMethod() =0;
#########################################################################*/
/**
- *
+ * The SVGLinearGradientElement interface corresponds to the
+ * 'linearGradient' element.
*/
class SVGLinearGradientElement : virtual public SVGGradientElement
{
/**
- *
+ * Corresponds to attribute x1 on the given 'linearGradient' element.
*/
virtual SVGAnimatedLength getX1() =0;
/**
- *
+ * Corresponds to attribute y1 on the given 'linearGradient' element.
*/
virtual SVGAnimatedLength getY1() =0;
/**
- *
+ * Corresponds to attribute x2 on the given 'linearGradient' element.
*/
virtual SVGAnimatedLength getX2() =0;
/**
- *
+ * Corresponds to attribute y2 on the given 'linearGradient' element.
*/
virtual SVGAnimatedLength getY2() =0;
#########################################################################*/
/**
- *
+ * The SVGRadialGradientElement interface corresponds to the
+ * 'radialGradient' element.
*/
class SVGRadialGradientElement : virtual public SVGGradientElement
{
-public:
+public:
/**
- *
+ * Corresponds to attribute cx on the given 'radialGradient' element.
*/
virtual SVGAnimatedLength getCx() =0;
/**
- *
+ * Corresponds to attribute cy on the given 'radialGradient' element.
*/
virtual SVGAnimatedLength getCy() =0;
/**
- *
+ * Corresponds to attribute r on the given 'radialGradient' element.
*/
virtual SVGAnimatedLength getR() =0;
/**
- *
+ * Corresponds to attribute fx on the given 'radialGradient' element.
*/
virtual SVGAnimatedLength getFx() =0;
/**
- *
+ * Corresponds to attribute fy on the given 'radialGradient' element.
*/
virtual SVGAnimatedLength getFy() =0;
#########################################################################*/
/**
- *
+ * The SVGStopElement interface corresponds to the 'stop' element.
*/
class SVGStopElement :
virtual public SVGElement,
public:
/**
- *
+ * Corresponds to attribute offset on the given 'stop' element.
*/
virtual SVGAnimatedNumber getOffset() =0;
#########################################################################*/
/**
- *
+ * The SVGPatternElement interface corresponds to the 'pattern' element.
*/
class SVGPatternElement :
virtual public SVGElement,
public SVGFitToViewBox,
public SVGUnitTypes
{
-public:
-
-
+public:
/**
- *
+ * Corresponds to attribute patternUnits on the given 'pattern' element. Takes
+ * one of the constants defined in SVGUnitTypes.
*/
virtual SVGAnimatedEnumeration getPatternUnits() =0;
/**
- *
+ * Corresponds to attribute patternContentUnits on the given 'pattern'
+ * element. Takes one of the constants defined in SVGUnitTypes.
*/
virtual SVGAnimatedEnumeration getPatternContentUnits() =0;
/**
- *
+ * Corresponds to attribute patternTransform on the given 'pattern' element.
*/
virtual SVGAnimatedTransformList getPatternTransform() =0;
/**
- *
+ * Corresponds to attribute x on the given 'pattern' element.
*/
virtual SVGAnimatedLength getX() =0;
virtual SVGAnimatedLength getY() =0;
/**
- *
+ * Corresponds to attribute width on the given 'pattern' element.
*/
virtual SVGAnimatedLength getWidth() =0;
/**
- *
+ * Corresponds to attribute height on the given 'pattern' element.
*/
virtual SVGAnimatedLength getHeight() =0;
#########################################################################*/
/**
- *
+ * The SVGClipPathElement interface corresponds to the 'clipPath' element.
*/
class SVGClipPathElement :
virtual public SVGElement,
public SVGTransformable,
public SVGUnitTypes
{
+
public:
+
/**
- *
+ * Corresponds to attribute clipPathUnits on the given 'clipPath' element.
+ * Takes one of the constants defined in SVGUnitTypes.
*/
virtual SVGAnimatedEnumeration getClipPathUnits() =0;
#########################################################################*/
/**
- *
+ * The SVGMaskElement interface corresponds to the 'mask' element.
*/
class SVGMaskElement :
virtual public SVGElement,
/**
- *
+ * Corresponds to attribute maskUnits on the given 'mask' element. Takes one of
+ * the constants defined in SVGUnitTypes.
*/
virtual SVGAnimatedEnumeration getMaskUnits() =0;
/**
- *
+ * Corresponds to attribute maskContentUnits on the given 'mask' element. Takes
+ * one of the constants defined in SVGUnitTypes.
*/
virtual SVGAnimatedEnumeration getMaskContentUnits() =0;
/**
- *
+ * Corresponds to attribute x on the given 'mask' element.
*/
virtual SVGAnimatedLength getX() =0;
/**
- *
+ * Corresponds to attribute y on the given 'mask' element.
*/
virtual SVGAnimatedLength getY() =0;
/**
- *
+ * Corresponds to attribute width on the given 'mask' element.
*/
virtual SVGAnimatedLength getWidth() =0;
/**
- *
+ * Corresponds to attribute height on the given 'mask' element.
*/
virtual SVGAnimatedLength getHeight() =0;
#########################################################################*/
/**
- *
+ * The SVGFilterElement interface corresponds to the 'filter' element.
*/
class SVGFilterElement :
virtual public SVGElement,
public SVGStylable,
public SVGUnitTypes
{
-public:
-
+public:
/**
- *
+ * Corresponds to attribute filterUnits on the given 'filter' element. Takes one
+ * of the constants defined in SVGUnitTypes.
*/
virtual SVGAnimatedEnumeration getFilterUnits() =0;
/**
- *
+ * Corresponds to attribute primitiveUnits on the given 'filter' element. Takes
+ * one of the constants defined in SVGUnitTypes.
*/
virtual SVGAnimatedEnumeration getPrimitiveUnits() =0;
virtual SVGAnimatedLength getX() =0;
/**
- *
+ * Corresponds to attribute x on the given 'filter' element.
*/
virtual SVGAnimatedLength getY() =0;
/**
- *
+ * Corresponds to attribute y on the given 'filter' element.
*/
virtual SVGAnimatedLength getWidth() =0;
/**
- *
+ * Corresponds to attribute height on the given 'filter' element.
*/
virtual SVGAnimatedLength getHeight() =0;
/**
- *
+ * Corresponds to attribute filterRes on the given 'filter' element.
+ * Contains the X component of attribute filterRes.
*/
virtual SVGAnimatedInteger getFilterResX() =0;
/**
- *
+ * Corresponds to attribute filterRes on the given 'filter' element.
+ * Contains the Y component (possibly computed automatically)
+ * of attribute filterRes.
*/
virtual SVGAnimatedInteger getFilterResY() =0;
/**
- *
+ * Sets the values for attribute filterRes.
*/
virtual void setFilterRes (unsigned long filterResX,
unsigned long filterResY ) =0;
#########################################################################*/
/**
- *
+ * The SVGFEBlendElement interface corresponds to the 'feBlend' element.
*/
class SVGFEBlendElement :
virtual public SVGElement,
} BlendModeType;
/**
- *
+ * Corresponds to attribute in on the given 'feBlend' element.
*/
virtual SVGAnimatedString getIn1() =0;
/**
- *
+ * Corresponds to attribute in2 on the given 'feBlend' element.
*/
virtual SVGAnimatedString getIn2() =0;
/**
- *
+ * Corresponds to attribute mode on the given 'feBlend' element.
+ * Takes one of the Blend Mode Types.
*/
virtual SVGAnimatedEnumeration getMode() =0;
#########################################################################*/
/**
- *
+ * The SVGFEColorMatrixElement interface corresponds to the
+ * 'feColorMatrix' element.
*/
class SVGFEColorMatrixElement :
virtual public SVGElement,
public SVGFilterPrimitiveStandardAttributes
{
-public:
-
+public:
/**
* Color Matrix Types
/**
- *
+ * Corresponds to attribute in on the given 'feColorMatrix' element.
*/
virtual SVGAnimatedString getIn1() =0;
/**
- *
+ * Corresponds to attribute type on the given 'feColorMatrix' element.
+ * Takes one of the Color Matrix Types.
*/
virtual SVGAnimatedEnumeration getType() =0;
/**
- *
+ * Corresponds to attribute values on the given 'feColorMatrix' element.
+ * Provides access to the contents of the values attribute.
*/
virtual SVGAnimatedNumberList getValues() =0;
#########################################################################*/
/**
- *
+ * The SVGFEComponentTransferElement interface corresponds to
+ * the 'feComponentTransfer' element.
*/
class SVGFEComponentTransferElement :
virtual public SVGElement,
public SVGFilterPrimitiveStandardAttributes
{
public:
+
/**
- *
+ * Corresponds to attribute in on the given 'feComponentTransfer' element.
*/
virtual SVGAnimatedString getIn1() =0;
#########################################################################*/
/**
- *
+ * This interface defines a base interface used by the component
+ * transfer function interfaces.
*/
class SVGComponentTransferFunctionElement : virtual public SVGElement
{
/**
- *
+ * Corresponds to attribute type on the given element. Takes one\
+ * of the Component Transfer Types.
*/
virtual SVGAnimatedEnumeration getType() =0;
/**
- *
+ * Corresponds to attribute tableValues on the given element.
*/
virtual SVGAnimatedNumberList getTableValues() =0;
/**
- *
+ * Corresponds to attribute slope on the given element.
*/
virtual SVGAnimatedNumber getSlope() =0;
/**
- *
+ * Corresponds to attribute intercept on the given element.
*/
virtual SVGAnimatedNumber getIntercept() =0;
/**
- *
+ * Corresponds to attribute amplitude on the given element.
*/
virtual SVGAnimatedNumber getAmplitude() =0;
/**
- *
+ * Corresponds to attribute exponent on the given element.
*/
virtual SVGAnimatedNumber getExponent() =0;
/**
- *
+ * Corresponds to attribute offset on the given element.
*/
virtual SVGAnimatedNumber getOffset() =0;
#########################################################################*/
/**
- *
+ * The SVGFEFuncRElement interface corresponds to the 'feFuncR' element.
*/
class SVGFEFuncRElement : virtual public SVGComponentTransferFunctionElement
{
#########################################################################*/
/**
- *
+ * The SVGFEFuncGElement interface corresponds to the 'feFuncG' element.
*/
class SVGFEFuncGElement : public virtual SVGComponentTransferFunctionElement
{
#########################################################################*/
/**
- *
+ * The SVGFEFuncBElement interface corresponds to the 'feFuncB' element.
*/
class SVGFEFuncBElement : virtual public SVGComponentTransferFunctionElement
{
#########################################################################*/
/**
- *
+ * The SVGFEFuncAElement interface corresponds to the 'feFuncA' element.
*/
class SVGFEFuncAElement : virtual public SVGComponentTransferFunctionElement
{
#########################################################################*/
/**
- *
+ * The SVGFECompositeElement interface corresponds to the 'feComposite' element.
*/
class SVGFECompositeElement :
virtual public SVGElement,
} CompositeOperatorType;
/**
- *
+ * Corresponds to attribute in on the given 'feComposite' element.
*/
virtual SVGAnimatedString getIn1() =0;
/**
- *
+ * Corresponds to attribute in2 on the given 'feComposite' element.
*/
virtual SVGAnimatedString getIn2() =0;
/**
- *
+ * Corresponds to attribute operator on the given 'feComposite' element.
+ * Takes one of the Composite Operators.
*/
virtual SVGAnimatedEnumeration getOperator() =0;
/**
- *
+ * Corresponds to attribute k1 on the given 'feComposite' element.
*/
virtual SVGAnimatedNumber getK1() =0;
/**
- *
+ * Corresponds to attribute k2 on the given 'feComposite' element.
*/
virtual SVGAnimatedNumber getK2() =0;
/**
- *
+ * Corresponds to attribute k3 on the given 'feComposite' element.
*/
virtual SVGAnimatedNumber getK3() =0;
/**
- *
+ * Corresponds to attribute k4 on the given 'feComposite' element.
*/
virtual SVGAnimatedNumber getK4() =0;
#########################################################################*/
/**
- *
+ * The SVGFEConvolveMatrixElement interface corresponds to
+ * the 'feConvolveMatrix' element.
*/
class SVGFEConvolveMatrixElement :
virtual public SVGElement,
public SVGFilterPrimitiveStandardAttributes
{
-public:
-
+public:
/**
* Edge Mode Values
/**
- *
+ * Corresponds to attribute order on the given 'feConvolveMatrix' element.
*/
virtual SVGAnimatedInteger getOrderX() =0;
/**
- *
+ * Corresponds to attribute order on the given 'feConvolveMatrix' element.
*/
virtual SVGAnimatedInteger getOrderY() =0;
/**
- *
+ * Corresponds to attribute kernelMatrix on the given element.
*/
virtual SVGAnimatedNumberList getKernelMatrix() =0;
/**
- *
+ * Corresponds to attribute divisor on the given 'feConvolveMatrix' element.
*/
virtual SVGAnimatedNumber getDivisor() =0;
/**
- *
+ * Corresponds to attribute bias on the given 'feConvolveMatrix' element.
*/
virtual SVGAnimatedNumber getBias() =0;
/**
- *
+ * Corresponds to attribute targetX on the given 'feConvolveMatrix' element.
*/
virtual SVGAnimatedInteger getTargetX() =0;
/**
- *
+ * Corresponds to attribute targetY on the given 'feConvolveMatrix' element.
*/
virtual SVGAnimatedInteger getTargetY() =0;
/**
- *
+ * Corresponds to attribute edgeMode on the given 'feConvolveMatrix'
+ * element. Takes one of the Edge Mode Types.
*/
virtual SVGAnimatedEnumeration getEdgeMode() =0;
/**
- *
+ * Corresponds to attribute kernelUnitLength on the
+ * given 'feConvolveMatrix' element.
*/
virtual SVGAnimatedLength getKernelUnitLengthX() =0;
/**
- *
+ * Corresponds to attribute kernelUnitLength on the given
+ * 'feConvolveMatrix' element.
*/
virtual SVGAnimatedLength getKernelUnitLengthY() =0;
/**
- *
+ * Corresponds to attribute preserveAlpha on the
+ * given 'feConvolveMatrix' element.
*/
virtual SVGAnimatedBoolean getPreserveAlpha() =0;
#########################################################################*/
/**
- *
+ * The SVGFEDiffuseLightingElement interface corresponds to the
+ * 'feDiffuseLighting' element.
*/
class SVGFEDiffuseLightingElement :
virtual public SVGElement,
public:
/**
- *
+ * Corresponds to attribute in on the given 'feDiffuseLighting' element.
*/
virtual SVGAnimatedString getIn1() =0;
/**
- *
+ * Corresponds to attribute surfaceScale on the given
+ * 'feDiffuseLighting' element.
*/
virtual SVGAnimatedNumber getSurfaceScale() =0;
/**
- *
+ * Corresponds to attribute diffuseConstant on the given
+ * 'feDiffuseLighting' element.
*/
virtual SVGAnimatedNumber getDiffuseConstant() =0;
+ /**
+ * Corresponds to attribute kernelUnitLength on the given
+ * 'feDiffuseLighting' element.
+ */
+ virtual SVGAnimatedNumber getKernelUnitLengthX() =0;
+
+ /**
+ * Corresponds to attribute kernelUnitLength on the given
+ * 'feDiffuseLighting' element.
+ */
+ virtual SVGAnimatedNumber getKernelUnitLengthY() =0;
+
//##################
#########################################################################*/
/**
- *
+ * The SVGFEDistantLightElement interface corresponds to the
+ * 'feDistantLight' element.
*/
class SVGFEDistantLightElement : virtual public SVGElement
{
public:
/**
- *
+ * Corresponds to attribute azimuth on the given 'feDistantLight' element.
*/
virtual SVGAnimatedNumber getAzimuth() =0;
/**
- *
+ * Corresponds to attribute elevation on the given 'feDistantLight'
+ * element
*/
virtual SVGAnimatedNumber getElevation() =0;
#########################################################################*/
/**
- *
+ * The SVGFEPointLightElement interface corresponds to the 'fePointLight' element.
*/
class SVGFEPointLightElement : virtual public SVGElement
{
public:
+
/**
- *
+ * Corresponds to attribute x on the given 'fePointLight' element.
*/
virtual SVGAnimatedNumber getX() =0;
-
/**
- *
+ * Corresponds to attribute y on the given 'fePointLight' element.
*/
virtual SVGAnimatedNumber getY() =0;
/**
- *
+ * Corresponds to attribute z on the given 'fePointLight' element.
*/
virtual SVGAnimatedNumber getZ() =0;
#########################################################################*/
/**
- *
+ * The SVGFESpotLightElement interface corresponds to the 'feSpotLight' element.
*/
class SVGFESpotLightElement : virtual public SVGElement
{
public:
/**
- *
+ * Corresponds to attribute x on the given 'feSpotLight' element.
*/
virtual SVGAnimatedNumber getX() =0;
-
/**
- *
+ * Corresponds to attribute y on the given 'feSpotLight' element.
*/
virtual SVGAnimatedNumber getY() =0;
/**
- *
+ * Corresponds to attribute z on the given 'feSpotLight' element.
*/
virtual SVGAnimatedNumber getZ() =0;
/**
- *
+ * Corresponds to attribute pointsAtX on the given 'feSpotLight' element.
*/
virtual SVGAnimatedNumber getPointsAtX() =0;
/**
- *
+ * Corresponds to attribute pointsAtY on the given 'feSpotLight' element.
*/
virtual SVGAnimatedNumber getPointsAtY() =0;
/**
- *
+ * Corresponds to attribute pointsAtZ on the given 'feSpotLight' element.
*/
virtual SVGAnimatedNumber getPointsAtZ() =0;
/**
- *
+ * Corresponds to attribute specularExponent on the
+ * given 'feSpotLight' element.
*/
virtual SVGAnimatedNumber getSpecularExponent() =0;
/**
- *
+ * Corresponds to attribute limitingConeAngle on the
+ * given 'feSpotLight' element.
*/
virtual SVGAnimatedNumber getLimitingConeAngle() =0;
diff --git a/src/dom/uri.cpp b/src/dom/uri.cpp
index 562a674bbb2aaf02a3505d9b7c42296b42945c55..b8a9a04fb08cda6751444939553c937936d30b23 100644 (file)
--- a/src/dom/uri.cpp
+++ b/src/dom/uri.cpp
//#########################################################################
//#A T T R I B U T E S
//#########################################################################
-static char *hexChars = "0123456789abcdef";
+static const char *hexChars = "0123456789abcdef";
static DOMString toStr(const std::vector<int> &arr)
{
}
-static bool sequ(const std::vector<int> &str, char *key)
+static bool sequ(const std::vector<int> &str, const char *key)
{
- char *c = key;
+ char *c = (char *)key;
for (unsigned int i=0 ; i<str.size() ; i++)
{
if (! (*c))
diff --git a/src/dom/uri.h b/src/dom/uri.h
index e9a4942cd53d5d497e02c8e148c6828893c9fc3f..40f80b077e7bc9ae0b0fde9e958674cd0ed8aad0 100644 (file)
--- a/src/dom/uri.h
+++ b/src/dom/uri.h
* Authors:
* Bob Jamison
*
- * Copyright (C) 2005-2007 Bob Jamison
+ * Copyright (C) 2005-2008 Bob Jamison
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
/**
* Copy constructor
*/
- URI(DOMString const &str);
+ URI(const DOMString &str);
/**
* Parsing constructor
*/
- URI(char const *str);
+ URI(const char *str);
/**
* Copy constructor
*/
- URI(URI const &other);
+ URI(const URI &other);
/**
* Assignment operator
*/
- URI &operator=(URI const &other);
+ URI &operator=(const URI &other);
/**
* Destructor
/**
* Parse a string to initialize this URI.
*/
- virtual bool parse(DOMString const &str);
+ virtual bool parse(const DOMString &str);
/**
* Produce a string displaying this URI's current value, in W3C format.
* "/../" or "/./".
*
*/
- virtual URI resolve(URI const &other) const;
+ virtual URI resolve(const URI &other) const;
/**
* "Mends" a URI by examining the path, and converting it to canonical
void init();
//assign values of other to this. used by copy constructor
- void assign(URI const &other);
+ void assign(const URI &other);
int scheme;
std::vector<int> fragment;
- void error(char const *fmt, ...)
+ void error(const char *fmt, ...)
#ifdef G_GNUC_PRINTF
G_GNUC_PRINTF(2, 3)
#endif
;
- void trace(char const *fmt, ...)
+ void trace(const char *fmt, ...)
#ifdef G_GNUC_PRINTF
G_GNUC_PRINTF(2, 3)
#endif