summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/kitfox/salamander/svg/paint/SVGMarkerElement.java
blob: 476147ba88298628502497d4c913014699f594ee (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
/*
 * SVGMarkerElement.java
 *
 * Created on April 13, 2007, 9:59 AM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package com.kitfox.salamander.svg.paint;

import com.kitfox.salamander.svg.basic.SVGAngle;
import com.kitfox.salamander.svg.basic.SVGAnimatedAngle;
import com.kitfox.salamander.svg.basic.SVGAnimatedEnumeration;
import com.kitfox.salamander.svg.basic.SVGAnimatedLength;
import com.kitfox.salamander.svg.basic.SVGElement;
import com.kitfox.salamander.svg.basic.SVGExternalResourcesRequired;
import com.kitfox.salamander.svg.basic.SVGFitToViewBox;
import com.kitfox.salamander.svg.basic.SVGLangSpace;
import com.kitfox.salamander.svg.basic.SVGStylable;

/**
 * 
 * The SVGMarkerElement  interface corresponds to the 'marker' element.
 * @author kitfox
 */
public interface SVGMarkerElement extends SVGElement,
        SVGLangSpace,
        SVGExternalResourcesRequired,
        SVGStylable,
        SVGFitToViewBox
{
    public static enum Units
    {
        /**
         * The marker 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.
         */
        UNKNOWN, 
        /**
         * The value of attribute markerUnits is 'userSpaceOnUse'.
         */
        USER_SPACE_ON_USE, 
        /**
         * The value of attribute markerUnits is 'strokeWidth'.
         */
        STROKE_WIDTH};
    public static enum Orient
    {
        /**
         * The marker orientation 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.
         */
        UNKNOWN, 
        /**
         * Attribute orient has value 'auto'.
         */
        AUTO, 
        /**
         * Attribute orient has an angle value.
         */
        ANGLE};
    
    /**
     * Corresponds to attribute refX on the given 'marker' element.
     */
    public SVGAnimatedLength getRefX();
    /**
     * Corresponds to attribute refY on the given 'marker' element.
     */
    public SVGAnimatedLength getRefY();
    /**
     * Corresponds to attribute markerUnits on the given 'marker' element. One of the Marker Units Types defined above.
     */
    public SVGAnimatedEnumeration<Units> getMarkerUnits();
    /**
     * Corresponds to attribute markerWidth on the given 'marker' element.
     */
    public SVGAnimatedLength getMarkerWidth();
    /**
     * Corresponds to attribute markerHeight on the given 'marker' element.
     */
    public SVGAnimatedLength getMarkerHeight();
    /**
     * Corresponds to attribute orient on the given 'marker' element. One of the Marker Orientation Types defined above.
     */
    public SVGAnimatedEnumeration<Orient> getOrientType();
    /**
     * 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.
     */
    public SVGAnimatedAngle getOrientAngle();
    /**
     * Sets the value of attribute orient to 'auto'.
     */
    public void setOrientToAuto();
    /**
     * Sets the value of attribute orient to the given angle.
     * @param angle The angle value to use for attribute orient.
     */
    public void setOrientToAngle(SVGAngle angle);
    
}