summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/kitfox/salamander/svg/paths/SVGPathSeg.java
blob: fb9d64a7a7a898d0f3718697c3332da3d0e1130c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
/*
 * SVGPathSeg.java
 *
 * Created on April 12, 2007, 7:22 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package com.kitfox.salamander.svg.paths;

import com.kitfox.salamander.svg.DOMString;
import com.kitfox.salamander.svg.basic.SVGDataType;

/**
 * 
 * The SVGPathSeg  interface is a base interface that corresponds to a single command within a path data specification.
 * @author kitfox
 */
public interface SVGPathSeg extends SVGDataType
{
    public static enum Type
    {
        /**
         *  	The unit type is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type.
         */
        PATHSEG_UNKNOWN,
        /**
         * Corresponds to a "closepath" (z) path data command.
         */
        PATHSEG_CLOSEPATH,
        /**
         * Corresponds to an "absolute moveto" (M) path data command.
         */
        PATHSEG_MOVETO_ABS,
        /**
         *  	Corresponds to a "relative moveto" (m) path data command.
         */
        PATHSEG_MOVETO_REL,
        /**
         *  	Corresponds to an "absolute lineto" (L) path data command.
         */
        PATHSEG_LINETO_ABS,
        /**
         * 	  	Corresponds to a "relative lineto" (l) path data command.
         */
        PATHSEG_LINETO_REL,
        /**
         * 	  	Corresponds to an "absolute cubic Bézier curveto" (C) path data command.
         */
        PATHSEG_CURVETO_CUBIC_ABS,
        /**
         *  	Corresponds to a "relative cubic Bézier curveto" (c) path data command.
         */
        PATHSEG_CURVETO_CUBIC_REL,
        /**
         * 	  	Corresponds to an "absolute quadratic Bézier curveto" (Q) path data command.
         */
        PATHSEG_CURVETO_QUADRATIC_ABS,
        /**
         * Corresponds to a "relative quadratic Bézier curveto" (q) path data command.
         */
        PATHSEG_CURVETO_QUADRATIC_REL,
        /**
         * 	  	Corresponds to an "absolute arcto" (A) path data command.
         */
        PATHSEG_ARC_ABS,
        /**
         * Corresponds to a "relative arcto" (a) path data command.
         */
        PATHSEG_ARC_REL,
        /**
         * Corresponds to an "absolute horizontal lineto" (H) path data command.
         */
        PATHSEG_LINETO_HORIZONTAL_ABS,
        /**
         * Corresponds to a "relative horizontal lineto" (h) path data command.
         */
        PATHSEG_LINETO_HORIZONTAL_REL,
        /**
         * 	  	Corresponds to an "absolute vertical lineto" (V) path data command.
         */
        PATHSEG_LINETO_VERTICAL_ABS,
        /**
         * 	  	Corresponds to a "relative vertical lineto" (v) path data command.
         */
        PATHSEG_LINETO_VERTICAL_REL,
        /**
         *  	Corresponds to an "absolute smooth cubic curveto" (S) path data command.
         */
        PATHSEG_CURVETO_CUBIC_SMOOTH_ABS,
        /**
         * 	  	Corresponds to a "relative smooth cubic curveto" (s) path data command.
         */
        PATHSEG_CURVETO_CUBIC_SMOOTH_REL,
        /**
         * Corresponds to an "absolute smooth quadratic curveto" (T) path data command.
         */
        PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS,
        /**
         * Corresponds to a "relative smooth quadratic curveto" (t) path data command.
         */
        PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL
    };
    
    /**
     * The type of the path segment as specified by one of the constants specified above.
     */
    public Type getPathSegType();
    /**
     * The type of the path segment, specified by the corresponding one character command name.
     */
    public DOMString getPathSegTypeAsLetter();
}