| /* | 
 |  * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> | 
 |  * Copyright (C) 2006 Apple Inc. All rights reserved. | 
 |  * | 
 |  * Redistribution and use in source and binary forms, with or without | 
 |  * modification, are permitted provided that the following conditions | 
 |  * are met: | 
 |  * 1. Redistributions of source code must retain the above copyright | 
 |  *    notice, this list of conditions and the following disclaimer. | 
 |  * 2. Redistributions in binary form must reproduce the above copyright | 
 |  *    notice, this list of conditions and the following disclaimer in the | 
 |  *    documentation and/or other materials provided with the distribution. | 
 |  * | 
 |  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY | 
 |  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 
 |  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | 
 |  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR | 
 |  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | 
 |  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | 
 |  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | 
 |  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | 
 |  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
 |  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 
 |  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  | 
 |  */ | 
 |  | 
 | module svg { | 
 |  | 
 |     interface [ | 
 |         Conditional=SVG | 
 |     ] SVGPathElement : SVGElement, | 
 |                                                  SVGTests, | 
 |                                                  SVGLangSpace, | 
 |                                                  SVGExternalResourcesRequired, | 
 |                                                  SVGStylable, | 
 |                                                  SVGTransformable { | 
 |         readonly attribute SVGAnimatedNumber pathLength; | 
 |  | 
 |         float getTotalLength(); | 
 |         SVGPoint getPointAtLength(in [Optional=DefaultIsUndefined] float distance); | 
 |         unsigned long getPathSegAtLength(in [Optional=DefaultIsUndefined] float distance); | 
 |  | 
 |         SVGPathSegClosePath createSVGPathSegClosePath(); | 
 |  | 
 |         SVGPathSegMovetoAbs createSVGPathSegMovetoAbs(in [Optional=DefaultIsUndefined] float x,  | 
 |                                                       in [Optional=DefaultIsUndefined] float y); | 
 |         SVGPathSegMovetoRel createSVGPathSegMovetoRel(in [Optional=DefaultIsUndefined] float x,  | 
 |                                                       in [Optional=DefaultIsUndefined] float y); | 
 |  | 
 |         SVGPathSegLinetoAbs createSVGPathSegLinetoAbs(in [Optional=DefaultIsUndefined] float x,  | 
 |                                                       in [Optional=DefaultIsUndefined] float y); | 
 |         SVGPathSegLinetoRel createSVGPathSegLinetoRel(in [Optional=DefaultIsUndefined] float x,  | 
 |                                                       in [Optional=DefaultIsUndefined] float y); | 
 |  | 
 |         SVGPathSegCurvetoCubicAbs createSVGPathSegCurvetoCubicAbs(in [Optional=DefaultIsUndefined] float x,  | 
 |                                                                   in [Optional=DefaultIsUndefined] float y,  | 
 |                                                                   in [Optional=DefaultIsUndefined] float x1,  | 
 |                                                                   in [Optional=DefaultIsUndefined] float y1,  | 
 |                                                                   in [Optional=DefaultIsUndefined] float x2,  | 
 |                                                                   in [Optional=DefaultIsUndefined] float y2); | 
 |         SVGPathSegCurvetoCubicRel createSVGPathSegCurvetoCubicRel(in [Optional=DefaultIsUndefined] float x,  | 
 |                                                                   in [Optional=DefaultIsUndefined] float y,  | 
 |                                                                   in [Optional=DefaultIsUndefined] float x1,  | 
 |                                                                   in [Optional=DefaultIsUndefined] float y1,  | 
 |                                                                   in [Optional=DefaultIsUndefined] float x2,  | 
 |                                                                   in [Optional=DefaultIsUndefined] float y2); | 
 |  | 
 |         SVGPathSegCurvetoQuadraticAbs createSVGPathSegCurvetoQuadraticAbs(in [Optional=DefaultIsUndefined] float x,  | 
 |                                                                           in [Optional=DefaultIsUndefined] float y,  | 
 |                                                                           in [Optional=DefaultIsUndefined] float x1,  | 
 |                                                                           in [Optional=DefaultIsUndefined] float y1); | 
 |         SVGPathSegCurvetoQuadraticRel createSVGPathSegCurvetoQuadraticRel(in [Optional=DefaultIsUndefined] float x,  | 
 |                                                                           in [Optional=DefaultIsUndefined] float y,  | 
 |                                                                           in [Optional=DefaultIsUndefined] float x1,  | 
 |                                                                           in [Optional=DefaultIsUndefined] float y1); | 
 |  | 
 |         SVGPathSegArcAbs createSVGPathSegArcAbs(in [Optional=DefaultIsUndefined] float x,  | 
 |                                                 in [Optional=DefaultIsUndefined] float y,  | 
 |                                                 in [Optional=DefaultIsUndefined] float r1,  | 
 |                                                 in [Optional=DefaultIsUndefined] float r2,  | 
 |                                                 in [Optional=DefaultIsUndefined] float angle,  | 
 |                                                 in [Optional=DefaultIsUndefined] boolean largeArcFlag,  | 
 |                                                 in [Optional=DefaultIsUndefined] boolean sweepFlag); | 
 |         SVGPathSegArcRel createSVGPathSegArcRel(in [Optional=DefaultIsUndefined] float x,  | 
 |                                                 in [Optional=DefaultIsUndefined] float y,  | 
 |                                                 in [Optional=DefaultIsUndefined] float r1,  | 
 |                                                 in [Optional=DefaultIsUndefined] float r2,  | 
 |                                                 in [Optional=DefaultIsUndefined] float angle,  | 
 |                                                 in [Optional=DefaultIsUndefined] boolean largeArcFlag,  | 
 |                                                 in [Optional=DefaultIsUndefined] boolean sweepFlag); | 
 |  | 
 |         SVGPathSegLinetoHorizontalAbs createSVGPathSegLinetoHorizontalAbs(in [Optional=DefaultIsUndefined] float x); | 
 |         SVGPathSegLinetoHorizontalRel createSVGPathSegLinetoHorizontalRel(in [Optional=DefaultIsUndefined] float x); | 
 |  | 
 |         SVGPathSegLinetoVerticalAbs createSVGPathSegLinetoVerticalAbs(in [Optional=DefaultIsUndefined] float y); | 
 |         SVGPathSegLinetoVerticalRel createSVGPathSegLinetoVerticalRel(in [Optional=DefaultIsUndefined] float y); | 
 |  | 
 |         SVGPathSegCurvetoCubicSmoothAbs createSVGPathSegCurvetoCubicSmoothAbs(in [Optional=DefaultIsUndefined] float x,  | 
 |                                                                               in [Optional=DefaultIsUndefined] float y,  | 
 |                                                                               in [Optional=DefaultIsUndefined] float x2,  | 
 |                                                                               in [Optional=DefaultIsUndefined] float y2); | 
 |         SVGPathSegCurvetoCubicSmoothRel createSVGPathSegCurvetoCubicSmoothRel(in [Optional=DefaultIsUndefined] float x,  | 
 |                                                                               in [Optional=DefaultIsUndefined] float y,  | 
 |                                                                               in [Optional=DefaultIsUndefined] float x2,  | 
 |                                                                               in [Optional=DefaultIsUndefined] float y2); | 
 |  | 
 |         SVGPathSegCurvetoQuadraticSmoothAbs createSVGPathSegCurvetoQuadraticSmoothAbs(in [Optional=DefaultIsUndefined] float x,  | 
 |                                                                                       in [Optional=DefaultIsUndefined] float y); | 
 |         SVGPathSegCurvetoQuadraticSmoothRel createSVGPathSegCurvetoQuadraticSmoothRel(in [Optional=DefaultIsUndefined] float x,  | 
 |                                                                                       in [Optional=DefaultIsUndefined] float y); | 
 |  | 
 |         readonly attribute SVGPathSegList pathSegList; | 
 |         readonly attribute SVGPathSegList normalizedPathSegList; | 
 |         readonly attribute SVGPathSegList animatedPathSegList; | 
 |         readonly attribute SVGPathSegList animatedNormalizedPathSegList; | 
 |     }; | 
 |  | 
 | } |