From 8e3bc87303a6cea371a4b1bf950016669a218755 Mon Sep 17 00:00:00 2001 From: ishmal Date: Tue, 29 Apr 2008 02:00:54 +0000 Subject: [PATCH] More documentation. Fix scope bug in uristream.cpp. Remove warnings. --- src/dom/io/uristream.cpp | 8 +- src/dom/io/uristream.h | 4 +- src/dom/svg.h | 907 +++++++++++++++++++++++++-------------- src/dom/uri.cpp | 6 +- src/dom/uri.h | 20 +- 5 files changed, 608 insertions(+), 337 deletions(-) diff --git a/src/dom/io/uristream.cpp b/src/dom/io/uristream.cpp index b86a71442..0dc8423f4 100644 --- a/src/dom/io/uristream.cpp +++ b/src/dom/io/uristream.cpp @@ -84,9 +84,8 @@ void UriInputStream::init() throw (StreamException) 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; @@ -358,7 +357,7 @@ void UriOutputStream::close() throw(StreamException) case URI::SCHEME_DATA: { - uri = URI(data.c_str()); + uri = URI(data); break; } @@ -367,6 +366,7 @@ void UriOutputStream::close() throw(StreamException) 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 43369bfcd..a2d5a19bb 100644 --- a/src/dom/io/uristream.h +++ b/src/dom/io/uristream.h @@ -13,7 +13,7 @@ * 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 @@ -82,7 +82,7 @@ private: 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 05120a640..1d6e2df5d 100644 --- a/src/dom/svg.h +++ b/src/dom/svg.h @@ -28,6 +28,13 @@ * 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 + * */ @@ -89,41 +96,46 @@ typedef Ptr SVGDocumentPtr; #########################################################################*/ /** - * + * 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; @@ -148,7 +160,26 @@ public: #########################################################################*/ /** + * 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 @@ -157,27 +188,31 @@ public: /** - * + * The title of a document as specified by the title sub-element of the 'svg' + * root element (i.e., Here is the title...) */ 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; @@ -200,7 +235,13 @@ public: #########################################################################*/ /** + * 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, @@ -218,223 +259,325 @@ class SVGSVGElement : virtual public SVGElement, 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; @@ -458,7 +601,7 @@ public: #########################################################################*/ /** - * + * The SVGGElement interface corresponds to the 'g' element. */ class SVGGElement : virtual public SVGElement, public SVGTests, @@ -489,7 +632,7 @@ public: #########################################################################*/ /** - * + * The SVGDefsElement interface corresponds to the 'defs' element. */ class SVGDefsElement : virtual public SVGElement, @@ -521,7 +664,7 @@ public: #########################################################################*/ /** - * + * The SVGDescElement interface corresponds to the 'desc' element. */ class SVGDescElement : virtual public SVGElement, @@ -549,7 +692,7 @@ public: #########################################################################*/ /** - * + * The SVGTitleElement interface corresponds to the 'title' element. */ class SVGTitleElement : virtual public SVGElement, @@ -577,7 +720,7 @@ public: #########################################################################*/ /** - * + * The SVGSymbolElement interface corresponds to the 'symbol' element. */ class SVGSymbolElement : virtual public SVGElement, @@ -608,7 +751,7 @@ public: #########################################################################*/ /** - * + * The SVGUseElement interface corresponds to the 'use' element. */ class SVGUseElement : virtual public SVGElement, @@ -626,32 +769,37 @@ public: /** - * + * 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; @@ -679,7 +827,7 @@ public: #########################################################################*/ /** - * + * The SVGImageElement interface corresponds to the 'image' element. */ class SVGImageElement : virtual public SVGElement, @@ -695,28 +843,28 @@ public: /** - * + * 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; @@ -743,7 +891,7 @@ public: #########################################################################*/ /** - * + * The SVGSwitchElement interface corresponds to the 'switch' element. */ class SVGSwitchElement : virtual public SVGElement, @@ -775,14 +923,20 @@ public: #########################################################################*/ /** - * + * 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; @@ -808,52 +962,52 @@ public: #########################################################################*/ /** - * + * 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; @@ -881,7 +1035,7 @@ public: #########################################################################*/ /** - * + * The SVGPathElement interface corresponds to the 'path' element. */ class SVGPathElement : virtual public SVGElement, @@ -893,91 +1047,93 @@ class SVGPathElement : 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, @@ -985,7 +1141,7 @@ public: bool largeArcFlag, bool sweepFlag ) =0; /** - * + * Returns a stand-alone, parentless SVGPathSegArcRel object. */ virtual SVGPathSegArcRel createSVGPathSegArcRel (double x, double y, double r1, @@ -993,51 +1149,53 @@ public: 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; @@ -1065,7 +1223,7 @@ public: #########################################################################*/ /** - * + * The SVGRectElement interface corresponds to the 'rect' element. */ class SVGRectElement : virtual public SVGElement, @@ -1079,33 +1237,33 @@ class SVGRectElement : 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; @@ -1132,7 +1290,7 @@ public: #########################################################################*/ /** - * + * The SVGCircleElement interface corresponds to the 'circle' element. */ class SVGCircleElement : virtual public SVGElement, @@ -1146,17 +1304,17 @@ class SVGCircleElement : 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; @@ -1183,7 +1341,7 @@ public: #########################################################################*/ /** - * + * The SVGEllipseElement interface corresponds to the 'ellipse' element. */ class SVGEllipseElement : virtual public SVGElement, @@ -1195,23 +1353,24 @@ class SVGEllipseElement : 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; @@ -1237,7 +1396,7 @@ public: #########################################################################*/ /** - * + * The SVGLineElement interface corresponds to the 'line' element. */ class SVGLineElement : virtual public SVGElement, @@ -1249,23 +1408,24 @@ class SVGLineElement : 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; @@ -1288,7 +1448,7 @@ public: #########################################################################*/ /** - * + * The SVGPolylineElement interface corresponds to the 'polyline' element. */ class SVGPolylineElement : virtual public SVGElement, @@ -1300,6 +1460,7 @@ class SVGPolylineElement : public events::EventTarget, public SVGAnimatedPoints { + public: //################## @@ -1321,7 +1482,7 @@ public: #########################################################################*/ /** - * + * The SVGPolygonElement interface corresponds to the 'polygon' element. */ class SVGPolygonElement : virtual public SVGElement, @@ -1354,7 +1515,9 @@ public: #########################################################################*/ /** - * + * The SVGTextContentElement interface is inherited by various text-related + * interfaces, such as SVGTextElement, SVGTSpanElement, SVGTRefElement, + * SVGAltGlyphElement and SVGTextPathElement. */ class SVGTextContentElement : virtual public SVGElement, @@ -1364,9 +1527,8 @@ class SVGTextContentElement : public SVGStylable, public events::EventTarget { -public: - +public: /** * lengthAdjust Types @@ -1380,64 +1542,116 @@ public: /** - * + * 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; @@ -1465,35 +1679,37 @@ public: #########################################################################*/ /** - * + * 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; @@ -1520,7 +1736,7 @@ public: #########################################################################*/ /** - * + * The SVGTextElement interface corresponds to the 'text' element. */ class SVGTextElement : virtual public SVGTextPositioningElement, public SVGTransformable @@ -1546,7 +1762,7 @@ public: #########################################################################*/ /** - * + * The SVGTSpanElement interface corresponds to the 'tspan' element. */ class SVGTSpanElement : virtual public SVGTextPositioningElement { @@ -1571,7 +1787,7 @@ public: #########################################################################*/ /** - * + * The SVGTRefElement interface corresponds to the 'tref' element. */ class SVGTRefElement : virtual public SVGTextPositioningElement, @@ -1598,7 +1814,7 @@ public: #########################################################################*/ /** - * + * The SVGTextPathElement interface corresponds to the 'textPath' element. */ class SVGTextPathElement : virtual public SVGTextContentElement, @@ -1630,17 +1846,19 @@ public: /** - * + * 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; @@ -1667,7 +1885,7 @@ public: #########################################################################*/ /** - * + * The SVGAltGlyphElement interface corresponds to the 'altGlyph' element. */ class SVGAltGlyphElement : virtual public SVGTextPositioningElement, @@ -1676,23 +1894,23 @@ class SVGAltGlyphElement : 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; @@ -1721,7 +1939,7 @@ public: #########################################################################*/ /** - * + * The SVGAltGlyphDefElement interface corresponds to the 'altGlyphDef' element. */ class SVGAltGlyphDefElement : virtual public SVGElement { @@ -1746,7 +1964,8 @@ public: #########################################################################*/ /** - * + * The SVGAltGlyphItemElement interface corresponds to the + * 'altGlyphItem' element. */ class SVGAltGlyphItemElement : virtual public SVGElement { @@ -1771,72 +1990,73 @@ public: #########################################################################*/ /** - * + * 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; @@ -1863,7 +2083,7 @@ public: #########################################################################*/ /** - * + * The SVGMarkerElement interface corresponds to the 'marker' element. */ class SVGMarkerElement : virtual public SVGElement, @@ -1898,48 +2118,52 @@ public: /** - * + * 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; @@ -1966,7 +2190,8 @@ public: #########################################################################*/ /** - * + * The SVGColorProfileElement interface corresponds to the + * 'color-profile' element. */ class SVGColorProfileElement : virtual public SVGElement, @@ -1974,35 +2199,38 @@ class SVGColorProfileElement : 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; @@ -2028,7 +2256,8 @@ public: #########################################################################*/ /** - * + * The SVGGradientElement interface is a base interface used by + * SVGLinearGradientElement and SVGRadialGradientElement. */ class SVGGradientElement : virtual public SVGElement, @@ -2037,9 +2266,8 @@ class SVGGradientElement : public SVGStylable, public SVGUnitTypes { -public: - +public: /** * Spread Method Types @@ -2054,17 +2282,19 @@ public: /** - * + * 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; @@ -2091,7 +2321,8 @@ public: #########################################################################*/ /** - * + * The SVGLinearGradientElement interface corresponds to the + * 'linearGradient' element. */ class SVGLinearGradientElement : virtual public SVGGradientElement { @@ -2099,22 +2330,22 @@ public: /** - * + * 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; @@ -2140,39 +2371,40 @@ public: #########################################################################*/ /** - * + * 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; @@ -2200,7 +2432,7 @@ public: #########################################################################*/ /** - * + * The SVGStopElement interface corresponds to the 'stop' element. */ class SVGStopElement : virtual public SVGElement, @@ -2209,7 +2441,7 @@ class SVGStopElement : public: /** - * + * Corresponds to attribute offset on the given 'stop' element. */ virtual SVGAnimatedNumber getOffset() =0; @@ -2236,7 +2468,7 @@ public: #########################################################################*/ /** - * + * The SVGPatternElement interface corresponds to the 'pattern' element. */ class SVGPatternElement : virtual public SVGElement, @@ -2248,28 +2480,28 @@ class SVGPatternElement : 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; @@ -2279,12 +2511,12 @@ public: 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; @@ -2311,7 +2543,7 @@ public: #########################################################################*/ /** - * + * The SVGClipPathElement interface corresponds to the 'clipPath' element. */ class SVGClipPathElement : virtual public SVGElement, @@ -2322,9 +2554,12 @@ class SVGClipPathElement : 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; @@ -2352,7 +2587,7 @@ public: #########################################################################*/ /** - * + * The SVGMaskElement interface corresponds to the 'mask' element. */ class SVGMaskElement : virtual public SVGElement, @@ -2367,32 +2602,34 @@ public: /** - * + * 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; @@ -2417,7 +2654,7 @@ public: #########################################################################*/ /** - * + * The SVGFilterElement interface corresponds to the 'filter' element. */ class SVGFilterElement : virtual public SVGElement, @@ -2427,17 +2664,18 @@ class SVGFilterElement : 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; @@ -2447,33 +2685,36 @@ public: 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; @@ -2500,7 +2741,7 @@ public: #########################################################################*/ /** - * + * The SVGFEBlendElement interface corresponds to the 'feBlend' element. */ class SVGFEBlendElement : virtual public SVGElement, @@ -2523,17 +2764,18 @@ public: } 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; @@ -2559,15 +2801,15 @@ public: #########################################################################*/ /** - * + * The SVGFEColorMatrixElement interface corresponds to the + * 'feColorMatrix' element. */ class SVGFEColorMatrixElement : virtual public SVGElement, public SVGFilterPrimitiveStandardAttributes { -public: - +public: /** * Color Matrix Types @@ -2583,17 +2825,19 @@ public: /** - * + * 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; @@ -2620,15 +2864,17 @@ public: #########################################################################*/ /** - * + * 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; @@ -2653,7 +2899,8 @@ public: #########################################################################*/ /** - * + * This interface defines a base interface used by the component + * transfer function interfaces. */ class SVGComponentTransferFunctionElement : virtual public SVGElement { @@ -2675,37 +2922,38 @@ public: /** - * + * 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; @@ -2731,7 +2979,7 @@ public: #########################################################################*/ /** - * + * The SVGFEFuncRElement interface corresponds to the 'feFuncR' element. */ class SVGFEFuncRElement : virtual public SVGComponentTransferFunctionElement { @@ -2756,7 +3004,7 @@ public: #########################################################################*/ /** - * + * The SVGFEFuncGElement interface corresponds to the 'feFuncG' element. */ class SVGFEFuncGElement : public virtual SVGComponentTransferFunctionElement { @@ -2781,7 +3029,7 @@ public: #########################################################################*/ /** - * + * The SVGFEFuncBElement interface corresponds to the 'feFuncB' element. */ class SVGFEFuncBElement : virtual public SVGComponentTransferFunctionElement { @@ -2806,7 +3054,7 @@ public: #########################################################################*/ /** - * + * The SVGFEFuncAElement interface corresponds to the 'feFuncA' element. */ class SVGFEFuncAElement : virtual public SVGComponentTransferFunctionElement { @@ -2831,7 +3079,7 @@ public: #########################################################################*/ /** - * + * The SVGFECompositeElement interface corresponds to the 'feComposite' element. */ class SVGFECompositeElement : virtual public SVGElement, @@ -2856,37 +3104,38 @@ public: } 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; @@ -2913,15 +3162,15 @@ public: #########################################################################*/ /** - * + * The SVGFEConvolveMatrixElement interface corresponds to + * the 'feConvolveMatrix' element. */ class SVGFEConvolveMatrixElement : virtual public SVGElement, public SVGFilterPrimitiveStandardAttributes { -public: - +public: /** * Edge Mode Values @@ -2936,57 +3185,61 @@ public: /** - * + * 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; @@ -3013,7 +3266,8 @@ public: #########################################################################*/ /** - * + * The SVGFEDiffuseLightingElement interface corresponds to the + * 'feDiffuseLighting' element. */ class SVGFEDiffuseLightingElement : virtual public SVGElement, @@ -3022,20 +3276,34 @@ class SVGFEDiffuseLightingElement : 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; + //################## @@ -3059,20 +3327,22 @@ public: #########################################################################*/ /** - * + * 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; @@ -3099,24 +3369,24 @@ public: #########################################################################*/ /** - * + * 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; @@ -3141,50 +3411,51 @@ public: #########################################################################*/ /** - * + * 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 562a674bb..b8a9a04fb 100644 --- a/src/dom/uri.cpp +++ b/src/dom/uri.cpp @@ -173,7 +173,7 @@ void URI::assign(const URI &other) //######################################################################### //#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 &arr) { @@ -342,9 +342,9 @@ static int findLast(const std::vector &str, int ch) } -static bool sequ(const std::vector &str, char *key) +static bool sequ(const std::vector &str, const char *key) { - char *c = key; + char *c = (char *)key; for (unsigned int i=0 ; i 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 -- 2.30.2