Replace use of OwnArrayPtr<Foo> with std::unique_ptr<Foo[]> in WebCore
[WebKit-https.git] / Source / WebCore / html / canvas / DOMPath.idl
1 /*
2  * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
3  * Copyright (C) 2012, 2013 Adobe Systems Incorporated. All rights reserved.
4  *
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  *
9  * 1.  Redistributions of source code must retain the above copyright
10  *     notice, this list of conditions and the following disclaimer.
11  * 2.  Redistributions in binary form must reproduce the above copyright
12  *     notice, this list of conditions and the following disclaimer in the
13  *     documentation and/or other materials provided with the distribution.
14  *
15  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER "AS IS" AND ANY
16  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
19  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
20  * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
21  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
22  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
24  * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
25  * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26  * SUCH DAMAGE.
27  */
28
29 [
30     Constructor,
31     Constructor(DOMPath path),
32 #if defined(ENABLE_SVG) && ENABLE_SVG
33     Constructor(DOMString text),
34 #endif
35     Conditional=CANVAS_PATH,
36     InterfaceName=Path
37 ] interface DOMPath {
38
39     // FIXME: These methods should be shared with CanvasRenderingContext2D in the CanvasPathMethods interface.
40     void closePath();
41     void moveTo([Default=Undefined] optional float x,
42                 [Default=Undefined] optional float y);
43     void lineTo([Default=Undefined] optional float x,
44                 [Default=Undefined] optional float y);
45     void quadraticCurveTo([Default=Undefined] optional float cpx,
46                           [Default=Undefined] optional float cpy,
47                           [Default=Undefined] optional float x,
48                           [Default=Undefined] optional float y);
49     void bezierCurveTo([Default=Undefined] optional float cp1x,
50                        [Default=Undefined] optional float cp1y,
51                        [Default=Undefined] optional float cp2x,
52                        [Default=Undefined] optional float cp2y,
53                        [Default=Undefined] optional float x,
54                        [Default=Undefined] optional float y);
55     [RaisesException] void arcTo([Default=Undefined] optional float x1,
56                [Default=Undefined] optional float y1,
57                [Default=Undefined] optional float x2,
58                [Default=Undefined] optional float y2,
59                [Default=Undefined] optional float radius);
60     void rect([Default=Undefined] optional float x,
61               [Default=Undefined] optional float y,
62               [Default=Undefined] optional float width,
63               [Default=Undefined] optional float height);
64     [RaisesException] void arc([Default=Undefined] optional float x,
65              [Default=Undefined] optional float y,
66              [Default=Undefined] optional float radius,
67              [Default=Undefined] optional float startAngle,
68              [Default=Undefined] optional float endAngle,
69              [Default=Undefined] optional boolean anticlockwise);
70 };