OLD | NEW |
---|---|
1 // A list of all SVG tags plus optional properties: | 1 // A list of all SVG tags plus optional properties: |
2 // * needParent (string) - parent element required for a valid co ntext | 2 // * needParent (string) - parent element required for a valid co ntext |
3 // * needChld (string list) - child element(s) required for a valid context | 3 // * needChild (string list) - child element(s) required for a valid context |
4 // * needAttr (string map) - attribute(s) required for a valid cont ext | 4 // * needAttr (string map) - attribute(s) required for a valid cont ext |
5 // * noRenderer (bool) - true if the element doesn't have an as sociated renderer | 5 // * noRenderer (bool) - true if the element doesn't have an as sociated renderer |
6 | 6 |
7 var SvgTags = { | 7 var SvgTags = { |
8 a: { }, | 8 a: { }, |
9 altGlyph: { }, | 9 // audio: { }, |
10 altGlyphDef: { }, | |
11 altGlyphItem: { }, | |
12 animate: { noRenderer: true }, | 10 animate: { noRenderer: true }, |
13 animateColor: { }, | 11 animateMotion: { noRenderer: true }, |
14 animateMotion: { }, | 12 animateTransform: { noRenderer: true }, |
15 animateTransform: { }, | 13 // canvas: { }, |
16 circle: { }, | 14 circle: { }, |
17 clipPath: { }, | 15 clipPath: { }, |
18 color_profile: { }, | 16 cursor: { noRenderer: true }, |
19 cursor: { }, | |
20 defs: { }, | 17 defs: { }, |
21 desc: { noRenderer: true }, | 18 desc: { noRenderer: true }, |
19 discard: { noRenderer: true }, | |
22 ellipse: { }, | 20 ellipse: { }, |
23 feBlend: { needParent: 'filter' }, | 21 feBlend: { needParent: 'filter' }, |
24 feColorMatrix: { needParent: 'filter' }, | 22 feColorMatrix: { needParent: 'filter' }, |
25 feComponentTransfer: { needParent: 'filter' }, | 23 feComponentTransfer: { needParent: 'filter' }, |
26 feComposite: { needParent: 'filter' }, | 24 feComposite: { needParent: 'filter' }, |
27 feConvolveMatrix: { needParent: 'filter', needAttr: { kernelMatrix: '0 0 0 0 0 0 0 0 0' } }, | 25 feConvolveMatrix: { needParent: 'filter', needAttr: { kernelMatrix: '0 0 0 0 0 0 0 0 0' } }, |
28 feDiffuseLighting: { needParent: 'filter', needChld: [ 'fePointLight' ] } , | 26 feDiffuseLighting: { needParent: 'filter', needChild: [ 'fePointLight' ] }, |
29 feDisplacementMap: { needParent: 'filter' }, | 27 feDisplacementMap: { needParent: 'filter' }, |
30 feDistantLight: { needParent: 'feSpecularLighting' }, | 28 feDistantLight: { needParent: 'feSpecularLighting' }, |
31 feDropShadow: { }, | 29 feDropShadow: { needParent: 'filter' }, |
32 feFlood: { needParent: 'filter' }, | 30 feFlood: { needParent: 'filter' }, |
33 feFuncA: { }, | 31 feFuncA: { needParent: 'feComponentTransfer' }, |
34 feFuncB: { }, | 32 feFuncB: { needParent: 'feComponentTransfer' }, |
35 feFuncG: { }, | 33 feFuncG: { needParent: 'feComponentTransfer' }, |
36 feFuncR: { }, | 34 feFuncR: { needParent: 'feComponentTransfer' }, |
37 feGaussianBlur: { needParent: 'filter' }, | 35 feGaussianBlur: { needParent: 'filter' }, |
38 feImage: { needParent: 'filter' }, | 36 feImage: { needParent: 'filter' }, |
39 feMerge: { needParent: 'filter', needChld: [ 'feMergeNode' ] }, | 37 feMerge: { needParent: 'filter', needChild: [ 'feMergeNode' ] } , |
40 feMergeNode: { needParent: 'feMerge' }, | 38 feMergeNode: { needParent: 'feMerge' }, |
41 feMorphology: { needParent: 'filter' }, | 39 feMorphology: { needParent: 'filter' }, |
42 feOffset: { needParent: 'filter' }, | 40 feOffset: { needParent: 'filter' }, |
43 fePointLight: { needParent: 'feSpecularLighting' }, | 41 fePointLight: { needParent: 'feSpecularLighting' }, |
44 feSpecularLighting: { needParent: 'filter', needChld: [ 'fePointLight' ] } , | 42 feSpecularLighting: { needParent: 'filter', needChild: [ 'fePointLight' ] }, |
45 feSpotLight: { needParent: 'feSpecularLighting' }, | 43 feSpotLight: { needParent: 'feSpecularLighting' }, |
46 feTile: { needParent: 'filter' }, | 44 feTile: { needParent: 'filter' }, |
47 feTurbulence: { needParent: 'filter' }, | 45 feTurbulence: { needParent: 'filter' }, |
48 filter: { }, | 46 filter: { }, |
49 font: { }, | |
50 font_face: { }, | |
51 font_face_format: { }, | |
52 font_face_name: { }, | |
53 font_face_src: { }, | |
54 font_face_uri: { }, | |
55 foreignObject: { }, | 47 foreignObject: { }, |
56 g: { }, | 48 g: { }, |
57 glyph: { }, | 49 // hatch: { }, |
58 glyphRef: { }, | 50 // hatchPath: { }, |
59 hkern: { }, | 51 // iframe: { }, |
60 image: { }, | 52 image: { }, |
61 line: { }, | 53 line: { }, |
62 linearGradient: { }, | 54 linearGradient: { }, |
63 marker: { }, | 55 marker: { }, |
64 mask: { }, | 56 mask: { }, |
57 // meshGradient: { }, | |
58 // meshPatch: { }, | |
59 // meshRow: { }, | |
65 metadata: { noRenderer: true }, | 60 metadata: { noRenderer: true }, |
66 missing_glyph: { }, | |
67 mpath: { }, | 61 mpath: { }, |
68 path: { }, | 62 path: { }, |
69 pattern: { }, | 63 pattern: { }, |
70 polygon: { }, | 64 polygon: { }, |
71 polyline: { }, | 65 polyline: { }, |
72 radialGradient: { }, | 66 radialGradient: { }, |
73 rect: { }, | 67 rect: { }, |
74 script: { }, | 68 script: { noRenderer: true }, |
75 set: { noRenderer: true }, | 69 set: { noRenderer: true }, |
70 // solidColor: { }, | |
71 // source: { }, | |
76 stop: { }, | 72 stop: { }, |
77 style: { }, | 73 style: { noRenderer: true }, |
78 svg: { }, | 74 svg: { }, |
79 switch: { }, | 75 switch: { }, |
80 symbol: { }, | 76 symbol: { }, |
81 text: { }, | 77 text: { }, |
82 textPath: { }, | 78 textPath: { }, |
79 // track: { }, | |
83 title: { noRenderer: true }, | 80 title: { noRenderer: true }, |
84 tref: { }, | |
85 tspan: { }, | 81 tspan: { }, |
86 use: { }, | 82 use: { }, |
87 view: { }, | 83 // video: { }, |
88 vkern: { }, | 84 view: { noRenderer: true }, |
89 } | 85 } |
90 | 86 |
91 // SVG element class shorthands as defined by the spec. | 87 // SVG element class shorthands as defined by the spec. |
92 var SvgTagClasses = { | 88 var SvgTagClasses = { |
93 CLASS_ANIMATION: [ | 89 CLASS_ANIMATION: [ |
94 // http://www.w3.org/TR/SVG/intro.html#TermAnimationElement | 90 // http://www.w3.org/TR/SVG/intro.html#TermAnimationElement |
95 'animate', 'animateColor', 'animateMotion', 'animateTransform', 'set' | 91 'animate', 'animateMotion', 'animateTransform', 'discard', 'set' |
96 ], | 92 ], |
97 | 93 |
98 CLASS_BASIC_SHAPE: [ | 94 CLASS_BASIC_SHAPE: [ |
99 // http://www.w3.org/TR/SVG/intro.html#TermBasicShapeElement | 95 // http://www.w3.org/TR/SVG/intro.html#TermBasicShapeElement |
100 'circle', 'ellipse', 'line', 'polygon', 'polyline', 'rect' | 96 'circle', 'ellipse', 'line', 'polygon', 'polyline', 'rect' |
101 ], | 97 ], |
102 | 98 |
103 CLASS_CONTAINER: [ | 99 CLASS_CONTAINER: [ |
104 // http://www.w3.org/TR/SVG/intro.html#TermContainerElement | 100 // http://www.w3.org/TR/SVG/intro.html#TermContainerElement |
105 'a', 'defs', 'glyph', 'g', 'marker', 'mask', 'missing-glyph', 'pattern', 'svg', 'switch', | 101 'a', 'defs', 'glyph', 'g', 'marker', 'mask', 'missing-glyph', 'pattern', 'svg', 'switch', |
106 'symbol' | 102 'symbol' |
107 ], | 103 ], |
108 | 104 |
109 CLASS_DESCRIPTIVE: [ | 105 CLASS_DESCRIPTIVE: [ |
110 // http://www.w3.org/TR/SVG/intro.html#TermDescriptiveElement | 106 // http://www.w3.org/TR/SVG/intro.html#TermDescriptiveElement |
111 'desc', 'metadata', 'title' | 107 'desc', 'metadata', 'title' |
112 ], | 108 ], |
113 | 109 |
114 CLASS_FILTER_PRIMITIVE: [ | 110 CLASS_FILTER_PRIMITIVE: [ |
115 // http://www.w3.org/TR/SVG/intro.html#TermFilterPrimitiveElement | 111 // http://dev.w3.org/fxtf/filters/#elementdef-filter-primitive |
116 'feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feCon volveMatrix', | 112 'feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feCon volveMatrix', |
117 'feDiffuseLighting', 'feDisplacementMap', 'feFlood', 'feGaussianBlur', ' feImage', | 113 'feDiffuseLighting', 'feDisplacementMap', 'feDropShadow', 'feFlood', 'fe GaussianBlur', |
118 'feMerge', 'feMorphology', 'feOffset', 'feSpecularLighting', 'feTile', ' feTurbulence' | 114 'feImage', 'feMerge', 'feMorphology', 'feOffset', 'feSpecularLighting', 'feTile', |
119 ], | 115 'feTurbulence' |
120 | |
121 CLASS_GRADIENT: [ | |
122 // http://www.w3.org/TR/SVG/intro.html#TermGradientElement | |
123 'linearGradient', 'radialGradient' | |
124 ], | 116 ], |
125 | 117 |
126 CLASS_GRAPHICS: [ | 118 CLASS_GRAPHICS: [ |
127 // http://www.w3.org/TR/SVG/intro.html#TermGraphicsElement | 119 // http://www.w3.org/TR/SVG/intro.html#TermGraphicsElement |
128 'circle', 'ellipse', 'image', 'line', 'path', 'polygon', 'polyline', 're ct', 'text', 'use' | 120 'circle', 'ellipse', 'image', 'line', 'path', 'polygon', 'polyline', 're ct', 'text', 'use' |
129 ], | 121 ], |
130 | 122 |
131 CLASS_LIGHT_SOURCE: [ | 123 CLASS_LIGHT_SOURCE: [ |
132 // http://www.w3.org/TR/SVG/intro.html#TermLightSourceElement | 124 // http://www.w3.org/TR/SVG/intro.html#TermLightSourceElement |
Erik Dahlström (inactive)
2015/03/13 12:28:38
Since you updated one of the links above, please m
| |
133 'feDistantLight', 'fePointLight', 'feSpotLight' | 125 'feDistantLight', 'fePointLight', 'feSpotLight' |
134 ], | 126 ], |
135 | 127 |
128 CLASS_PAINT_SERVER: [ | |
129 // https://svgwg.org/svg2-draft/intro.html#TermPaintServerElement | |
Erik Dahlström (inactive)
2015/03/13 12:28:38
Note that the term definitions in general have mov
fs
2015/03/13 12:30:05
Heh, yeah I noticed, and was just about to mention
| |
130 'solidColor', 'linearGradient', 'radialGradient', 'meshGradient', 'patte rn', 'hatch' | |
131 ], | |
132 | |
136 CLASS_SHAPE: [ | 133 CLASS_SHAPE: [ |
137 // http://www.w3.org/TR/SVG/intro.html#TermShapeElement | 134 // http://www.w3.org/TR/SVG/intro.html#TermShapeElement |
138 'circle', 'ellipse', 'line', 'path', 'polygon', 'polyline', 'rect' | 135 'circle', 'ellipse', 'line', 'path', 'polygon', 'polyline', 'rect' |
139 ], | 136 ], |
140 | 137 |
141 CLASS_STRUCTURAL: [ | 138 CLASS_STRUCTURAL: [ |
142 // http://www.w3.org/TR/SVG/intro.html#TermStructuralElement | 139 // http://www.w3.org/TR/SVG/intro.html#TermStructuralElement |
143 'defs', 'g', 'svg', 'symbol', 'use' | 140 'defs', 'g', 'svg', 'symbol', 'use' |
144 ], | 141 ], |
145 }; | 142 }; |
OLD | NEW |