2008-11-04 Anders Carlsson <andersca@apple.com>
[webkit/qt.git] / WebCore / svg / SVGPathElement.idl
blobd66df1dd6d448e64f8db7b67fbb2ca68076a3171
1 /*
2 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
3 * Copyright (C) 2006 Apple Computer, Inc.
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
14 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
15 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
18 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 module svg {
29 interface [Conditional=SVG] SVGPathElement : SVGElement,
30 SVGTests,
31 SVGLangSpace,
32 SVGExternalResourcesRequired,
33 SVGStylable,
34 SVGTransformable,
35 SVGAnimatedPathData {
36 readonly attribute SVGAnimatedNumber pathLength;
38 float getTotalLength();
39 SVGPoint getPointAtLength(in float distance);
40 unsigned long getPathSegAtLength(in float distance);
42 SVGPathSegClosePath createSVGPathSegClosePath();
44 SVGPathSegMovetoAbs createSVGPathSegMovetoAbs(in float x,
45 in float y);
46 SVGPathSegMovetoRel createSVGPathSegMovetoRel(in float x,
47 in float y);
49 SVGPathSegLinetoAbs createSVGPathSegLinetoAbs(in float x,
50 in float y);
51 SVGPathSegLinetoRel createSVGPathSegLinetoRel(in float x,
52 in float y);
54 SVGPathSegCurvetoCubicAbs createSVGPathSegCurvetoCubicAbs(in float x,
55 in float y,
56 in float x1,
57 in float y1,
58 in float x2,
59 in float y2);
60 SVGPathSegCurvetoCubicRel createSVGPathSegCurvetoCubicRel(in float x,
61 in float y,
62 in float x1,
63 in float y1,
64 in float x2,
65 in float y2);
67 SVGPathSegCurvetoQuadraticAbs createSVGPathSegCurvetoQuadraticAbs(in float x,
68 in float y,
69 in float x1,
70 in float y1);
71 SVGPathSegCurvetoQuadraticRel createSVGPathSegCurvetoQuadraticRel(in float x,
72 in float y,
73 in float x1,
74 in float y1);
76 SVGPathSegArcAbs createSVGPathSegArcAbs(in float x,
77 in float y,
78 in float r1,
79 in float r2,
80 in float angle,
81 in boolean largeArcFlag,
82 in boolean sweepFlag);
83 SVGPathSegArcRel createSVGPathSegArcRel(in float x,
84 in float y,
85 in float r1,
86 in float r2,
87 in float angle,
88 in boolean largeArcFlag,
89 in boolean sweepFlag);
91 SVGPathSegLinetoHorizontalAbs createSVGPathSegLinetoHorizontalAbs(in float x);
92 SVGPathSegLinetoHorizontalRel createSVGPathSegLinetoHorizontalRel(in float x);
94 SVGPathSegLinetoVerticalAbs createSVGPathSegLinetoVerticalAbs(in float y);
95 SVGPathSegLinetoVerticalRel createSVGPathSegLinetoVerticalRel(in float y);
97 SVGPathSegCurvetoCubicSmoothAbs createSVGPathSegCurvetoCubicSmoothAbs(in float x,
98 in float y,
99 in float x2,
100 in float y2);
101 SVGPathSegCurvetoCubicSmoothRel createSVGPathSegCurvetoCubicSmoothRel(in float x,
102 in float y,
103 in float x2,
104 in float y2);
106 SVGPathSegCurvetoQuadraticSmoothAbs createSVGPathSegCurvetoQuadraticSmoothAbs(in float x,
107 in float y);
108 SVGPathSegCurvetoQuadraticSmoothRel createSVGPathSegCurvetoQuadraticSmoothRel(in float x,
109 in float y);