dommy 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/dommy/animation.rb +9 -1
- data/lib/dommy/attr.rb +192 -39
- data/lib/dommy/backend/nokogiri_adapter.rb +76 -0
- data/lib/dommy/backend/nokolexbor_adapter.rb +37 -0
- data/lib/dommy/backend.rb +46 -0
- data/lib/dommy/blob.rb +28 -9
- data/lib/dommy/bridge/constructor_registry.rb +28 -0
- data/lib/dommy/bridge/methods.rb +57 -0
- data/lib/dommy/bridge.rb +97 -0
- data/lib/dommy/callable_invoker.rb +36 -0
- data/lib/dommy/cookie_store.rb +3 -1
- data/lib/dommy/crypto.rb +7 -1
- data/lib/dommy/css.rb +46 -0
- data/lib/dommy/custom_elements.rb +27 -3
- data/lib/dommy/data_transfer.rb +4 -0
- data/lib/dommy/document.rb +615 -48
- data/lib/dommy/dom_parser.rb +28 -15
- data/lib/dommy/element.rb +999 -471
- data/lib/dommy/event.rb +260 -96
- data/lib/dommy/event_source.rb +6 -2
- data/lib/dommy/fetch.rb +505 -43
- data/lib/dommy/file_reader.rb +11 -3
- data/lib/dommy/form_data.rb +2 -0
- data/lib/dommy/history.rb +43 -8
- data/lib/dommy/html_collection.rb +55 -2
- data/lib/dommy/html_elements.rb +102 -1519
- data/lib/dommy/internal/css_pseudo_handlers.rb +109 -0
- data/lib/dommy/internal/global_functions.rb +26 -0
- data/lib/dommy/internal/idna.rb +16 -7
- data/lib/dommy/internal/ipv4_parser.rb +22 -7
- data/lib/dommy/internal/mutation_coordinator.rb +11 -2
- data/lib/dommy/internal/namespaces.rb +70 -0
- data/lib/dommy/internal/node_equality.rb +86 -0
- data/lib/dommy/internal/node_wrapper_cache.rb +62 -27
- data/lib/dommy/internal/observable_callback.rb +1 -5
- data/lib/dommy/internal/parent_node.rb +126 -0
- data/lib/dommy/internal/reflected_attributes.rb +103 -13
- data/lib/dommy/internal/selector_parser.rb +664 -0
- data/lib/dommy/internal/url_parser.rb +677 -0
- data/lib/dommy/intersection_observer.rb +2 -0
- data/lib/dommy/location.rb +2 -0
- data/lib/dommy/media_query_list.rb +7 -1
- data/lib/dommy/message_channel.rb +32 -2
- data/lib/dommy/mutation_observer.rb +55 -12
- data/lib/dommy/navigator.rb +26 -12
- data/lib/dommy/node.rb +158 -28
- data/lib/dommy/notification.rb +3 -1
- data/lib/dommy/performance.rb +4 -0
- data/lib/dommy/performance_observer.rb +2 -0
- data/lib/dommy/promise.rb +14 -14
- data/lib/dommy/range.rb +74 -5
- data/lib/dommy/resize_observer.rb +2 -0
- data/lib/dommy/scheduler.rb +34 -13
- data/lib/dommy/shadow_root.rb +23 -54
- data/lib/dommy/storage.rb +2 -0
- data/lib/dommy/streams.rb +18 -27
- data/lib/dommy/svg_elements.rb +204 -3606
- data/lib/dommy/text_codec.rb +174 -21
- data/lib/dommy/tree_walker.rb +255 -66
- data/lib/dommy/url.rb +287 -449
- data/lib/dommy/url_pattern.rb +2 -0
- data/lib/dommy/version.rb +1 -1
- data/lib/dommy/web_socket.rb +37 -7
- data/lib/dommy/window.rb +202 -213
- data/lib/dommy/worker.rb +7 -7
- data/lib/dommy/xml_http_request.rb +15 -5
- data/lib/dommy.rb +7 -0
- metadata +12 -3
data/lib/dommy/svg_elements.rb
CHANGED
|
@@ -6,11 +6,14 @@ module Dommy
|
|
|
6
6
|
# helpers (via Internal::ReflectedAttributes) and a few attribute
|
|
7
7
|
# accessors that apply to every SVG element.
|
|
8
8
|
#
|
|
9
|
-
#
|
|
10
|
-
# `
|
|
11
|
-
#
|
|
12
|
-
#
|
|
13
|
-
#
|
|
9
|
+
# Every subclass declares its reflected attributes via the
|
|
10
|
+
# `reflect_string` DSL (Internal::ReflectedAttributes): one line per
|
|
11
|
+
# element generates the snake_case getter/setter pair AND the JS-bridge
|
|
12
|
+
# `__js_get__` / `__js_set__` routing, so the Ruby accessor, the JS
|
|
13
|
+
# getter, and the JS setter can't drift apart. Ruby property names are
|
|
14
|
+
# snake_case; the JS key defaults to camelCase(name) and the content
|
|
15
|
+
# attribute is whatever the SVG spec defines (often camelCase:
|
|
16
|
+
# `viewBox`, `gradientUnits`, `preserveAspectRatio`).
|
|
14
17
|
class SVGElement < Element
|
|
15
18
|
include Internal::ReflectedAttributes
|
|
16
19
|
|
|
@@ -22,121 +25,12 @@ module Dommy
|
|
|
22
25
|
end
|
|
23
26
|
|
|
24
27
|
# Common SVG attributes shared across all elements.
|
|
25
|
-
|
|
26
|
-
def id
|
|
27
|
-
reflected_string("id")
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def id=(value)
|
|
31
|
-
set_reflected_string("id", value)
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def class_name
|
|
35
|
-
reflected_string("class")
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def class_name=(value)
|
|
39
|
-
set_reflected_string("class", value)
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def tabindex
|
|
43
|
-
reflected_string("tabindex")
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def tabindex=(value)
|
|
47
|
-
set_reflected_string("tabindex", value)
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def __js_get__(key)
|
|
51
|
-
case key
|
|
52
|
-
when "id"
|
|
53
|
-
id
|
|
54
|
-
when "className"
|
|
55
|
-
class_name
|
|
56
|
-
when "tabIndex"
|
|
57
|
-
tabindex
|
|
58
|
-
else
|
|
59
|
-
super
|
|
60
|
-
end
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
def __js_set__(key, value)
|
|
64
|
-
case key
|
|
65
|
-
when "id"
|
|
66
|
-
self.id = value
|
|
67
|
-
when "className"
|
|
68
|
-
self.class_name = value
|
|
69
|
-
when "tabIndex"
|
|
70
|
-
self.tabindex = value
|
|
71
|
-
else
|
|
72
|
-
super
|
|
73
|
-
end
|
|
74
|
-
end
|
|
28
|
+
reflect_string :id, class_name: "class", tabindex: { js: "tabIndex" }
|
|
75
29
|
end
|
|
76
30
|
|
|
77
31
|
# `<svg>` — the root of an SVG subtree.
|
|
78
32
|
class SVGSVGElement < SVGElement
|
|
79
|
-
|
|
80
|
-
reflected_string("width")
|
|
81
|
-
end
|
|
82
|
-
|
|
83
|
-
def width=(v)
|
|
84
|
-
set_reflected_string("width", v)
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
def height
|
|
88
|
-
reflected_string("height")
|
|
89
|
-
end
|
|
90
|
-
|
|
91
|
-
def height=(v)
|
|
92
|
-
set_reflected_string("height", v)
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
def view_box
|
|
96
|
-
reflected_string("viewBox")
|
|
97
|
-
end
|
|
98
|
-
|
|
99
|
-
def view_box=(v)
|
|
100
|
-
set_reflected_string("viewBox", v)
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
def preserve_aspect_ratio
|
|
104
|
-
reflected_string("preserveAspectRatio")
|
|
105
|
-
end
|
|
106
|
-
|
|
107
|
-
def preserve_aspect_ratio=(v)
|
|
108
|
-
set_reflected_string("preserveAspectRatio", v)
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
def __js_get__(key)
|
|
112
|
-
case key
|
|
113
|
-
when "width"
|
|
114
|
-
width
|
|
115
|
-
when "height"
|
|
116
|
-
height
|
|
117
|
-
when "viewBox"
|
|
118
|
-
view_box
|
|
119
|
-
when "preserveAspectRatio"
|
|
120
|
-
preserve_aspect_ratio
|
|
121
|
-
else
|
|
122
|
-
super
|
|
123
|
-
end
|
|
124
|
-
end
|
|
125
|
-
|
|
126
|
-
def __js_set__(key, value)
|
|
127
|
-
case key
|
|
128
|
-
when "width"
|
|
129
|
-
self.width = value
|
|
130
|
-
when "height"
|
|
131
|
-
self.height = value
|
|
132
|
-
when "viewBox"
|
|
133
|
-
self.view_box = value
|
|
134
|
-
when "preserveAspectRatio"
|
|
135
|
-
self.preserve_aspect_ratio = value
|
|
136
|
-
else
|
|
137
|
-
super
|
|
138
|
-
end
|
|
139
|
-
end
|
|
33
|
+
reflect_string :width, :height, :view_box, :preserve_aspect_ratio
|
|
140
34
|
end
|
|
141
35
|
|
|
142
36
|
# `<g>` — generic group; only inherits common attributes.
|
|
@@ -145,495 +39,47 @@ module Dommy
|
|
|
145
39
|
|
|
146
40
|
# `<circle>` — cx, cy, r.
|
|
147
41
|
class SVGCircleElement < SVGElement
|
|
148
|
-
|
|
149
|
-
reflected_string("cx")
|
|
150
|
-
end
|
|
151
|
-
|
|
152
|
-
def cx=(v)
|
|
153
|
-
set_reflected_string("cx", v)
|
|
154
|
-
end
|
|
155
|
-
|
|
156
|
-
def cy
|
|
157
|
-
reflected_string("cy")
|
|
158
|
-
end
|
|
159
|
-
|
|
160
|
-
def cy=(v)
|
|
161
|
-
set_reflected_string("cy", v)
|
|
162
|
-
end
|
|
163
|
-
|
|
164
|
-
def r
|
|
165
|
-
reflected_string("r")
|
|
166
|
-
end
|
|
167
|
-
|
|
168
|
-
def r=(v)
|
|
169
|
-
set_reflected_string("r", v)
|
|
170
|
-
end
|
|
171
|
-
|
|
172
|
-
def __js_get__(key)
|
|
173
|
-
case key
|
|
174
|
-
when "cx"
|
|
175
|
-
cx
|
|
176
|
-
when "cy"
|
|
177
|
-
cy
|
|
178
|
-
when "r"
|
|
179
|
-
r
|
|
180
|
-
else
|
|
181
|
-
super
|
|
182
|
-
end
|
|
183
|
-
end
|
|
184
|
-
|
|
185
|
-
def __js_set__(key, value)
|
|
186
|
-
case key
|
|
187
|
-
when "cx"
|
|
188
|
-
self.cx = value
|
|
189
|
-
when "cy"
|
|
190
|
-
self.cy = value
|
|
191
|
-
when "r"
|
|
192
|
-
self.r = value
|
|
193
|
-
else
|
|
194
|
-
super
|
|
195
|
-
end
|
|
196
|
-
end
|
|
42
|
+
reflect_string :cx, :cy, :r
|
|
197
43
|
end
|
|
198
44
|
|
|
199
45
|
# `<rect>` — x, y, width, height, rx, ry.
|
|
200
46
|
class SVGRectElement < SVGElement
|
|
201
|
-
|
|
202
|
-
reflected_string("x")
|
|
203
|
-
end
|
|
204
|
-
|
|
205
|
-
def x=(v)
|
|
206
|
-
set_reflected_string("x", v)
|
|
207
|
-
end
|
|
208
|
-
|
|
209
|
-
def y
|
|
210
|
-
reflected_string("y")
|
|
211
|
-
end
|
|
212
|
-
|
|
213
|
-
def y=(v)
|
|
214
|
-
set_reflected_string("y", v)
|
|
215
|
-
end
|
|
216
|
-
|
|
217
|
-
def width
|
|
218
|
-
reflected_string("width")
|
|
219
|
-
end
|
|
220
|
-
|
|
221
|
-
def width=(v)
|
|
222
|
-
set_reflected_string("width", v)
|
|
223
|
-
end
|
|
224
|
-
|
|
225
|
-
def height
|
|
226
|
-
reflected_string("height")
|
|
227
|
-
end
|
|
228
|
-
|
|
229
|
-
def height=(v)
|
|
230
|
-
set_reflected_string("height", v)
|
|
231
|
-
end
|
|
232
|
-
|
|
233
|
-
def rx
|
|
234
|
-
reflected_string("rx")
|
|
235
|
-
end
|
|
236
|
-
|
|
237
|
-
def rx=(v)
|
|
238
|
-
set_reflected_string("rx", v)
|
|
239
|
-
end
|
|
240
|
-
|
|
241
|
-
def ry
|
|
242
|
-
reflected_string("ry")
|
|
243
|
-
end
|
|
244
|
-
|
|
245
|
-
def ry=(v)
|
|
246
|
-
set_reflected_string("ry", v)
|
|
247
|
-
end
|
|
248
|
-
|
|
249
|
-
def __js_get__(key)
|
|
250
|
-
case key
|
|
251
|
-
when "x"
|
|
252
|
-
x
|
|
253
|
-
when "y"
|
|
254
|
-
y
|
|
255
|
-
when "width"
|
|
256
|
-
width
|
|
257
|
-
when "height"
|
|
258
|
-
height
|
|
259
|
-
when "rx"
|
|
260
|
-
rx
|
|
261
|
-
when "ry"
|
|
262
|
-
ry
|
|
263
|
-
else
|
|
264
|
-
super
|
|
265
|
-
end
|
|
266
|
-
end
|
|
267
|
-
|
|
268
|
-
def __js_set__(key, value)
|
|
269
|
-
case key
|
|
270
|
-
when "x"
|
|
271
|
-
self.x = value
|
|
272
|
-
when "y"
|
|
273
|
-
self.y = value
|
|
274
|
-
when "width"
|
|
275
|
-
self.width = value
|
|
276
|
-
when "height"
|
|
277
|
-
self.height = value
|
|
278
|
-
when "rx"
|
|
279
|
-
self.rx = value
|
|
280
|
-
when "ry"
|
|
281
|
-
self.ry = value
|
|
282
|
-
else
|
|
283
|
-
super
|
|
284
|
-
end
|
|
285
|
-
end
|
|
47
|
+
reflect_string :x, :y, :width, :height, :rx, :ry
|
|
286
48
|
end
|
|
287
49
|
|
|
288
50
|
# `<ellipse>` — cx, cy, rx, ry.
|
|
289
51
|
class SVGEllipseElement < SVGElement
|
|
290
|
-
|
|
291
|
-
reflected_string("cx")
|
|
292
|
-
end
|
|
293
|
-
|
|
294
|
-
def cx=(v)
|
|
295
|
-
set_reflected_string("cx", v)
|
|
296
|
-
end
|
|
297
|
-
|
|
298
|
-
def cy
|
|
299
|
-
reflected_string("cy")
|
|
300
|
-
end
|
|
301
|
-
|
|
302
|
-
def cy=(v)
|
|
303
|
-
set_reflected_string("cy", v)
|
|
304
|
-
end
|
|
305
|
-
|
|
306
|
-
def rx
|
|
307
|
-
reflected_string("rx")
|
|
308
|
-
end
|
|
309
|
-
|
|
310
|
-
def rx=(v)
|
|
311
|
-
set_reflected_string("rx", v)
|
|
312
|
-
end
|
|
313
|
-
|
|
314
|
-
def ry
|
|
315
|
-
reflected_string("ry")
|
|
316
|
-
end
|
|
317
|
-
|
|
318
|
-
def ry=(v)
|
|
319
|
-
set_reflected_string("ry", v)
|
|
320
|
-
end
|
|
321
|
-
|
|
322
|
-
def __js_get__(key)
|
|
323
|
-
case key
|
|
324
|
-
when "cx"
|
|
325
|
-
cx
|
|
326
|
-
when "cy"
|
|
327
|
-
cy
|
|
328
|
-
when "rx"
|
|
329
|
-
rx
|
|
330
|
-
when "ry"
|
|
331
|
-
ry
|
|
332
|
-
else
|
|
333
|
-
super
|
|
334
|
-
end
|
|
335
|
-
end
|
|
336
|
-
|
|
337
|
-
def __js_set__(key, value)
|
|
338
|
-
case key
|
|
339
|
-
when "cx"
|
|
340
|
-
self.cx = value
|
|
341
|
-
when "cy"
|
|
342
|
-
self.cy = value
|
|
343
|
-
when "rx"
|
|
344
|
-
self.rx = value
|
|
345
|
-
when "ry"
|
|
346
|
-
self.ry = value
|
|
347
|
-
else
|
|
348
|
-
super
|
|
349
|
-
end
|
|
350
|
-
end
|
|
52
|
+
reflect_string :cx, :cy, :rx, :ry
|
|
351
53
|
end
|
|
352
54
|
|
|
353
55
|
# `<line>` — x1, y1, x2, y2.
|
|
354
56
|
class SVGLineElement < SVGElement
|
|
355
|
-
|
|
356
|
-
reflected_string("x1")
|
|
357
|
-
end
|
|
358
|
-
|
|
359
|
-
def x1=(v)
|
|
360
|
-
set_reflected_string("x1", v)
|
|
361
|
-
end
|
|
362
|
-
|
|
363
|
-
def y1
|
|
364
|
-
reflected_string("y1")
|
|
365
|
-
end
|
|
366
|
-
|
|
367
|
-
def y1=(v)
|
|
368
|
-
set_reflected_string("y1", v)
|
|
369
|
-
end
|
|
370
|
-
|
|
371
|
-
def x2
|
|
372
|
-
reflected_string("x2")
|
|
373
|
-
end
|
|
374
|
-
|
|
375
|
-
def x2=(v)
|
|
376
|
-
set_reflected_string("x2", v)
|
|
377
|
-
end
|
|
378
|
-
|
|
379
|
-
def y2
|
|
380
|
-
reflected_string("y2")
|
|
381
|
-
end
|
|
382
|
-
|
|
383
|
-
def y2=(v)
|
|
384
|
-
set_reflected_string("y2", v)
|
|
385
|
-
end
|
|
386
|
-
|
|
387
|
-
def __js_get__(key)
|
|
388
|
-
case key
|
|
389
|
-
when "x1"
|
|
390
|
-
x1
|
|
391
|
-
when "y1"
|
|
392
|
-
y1
|
|
393
|
-
when "x2"
|
|
394
|
-
x2
|
|
395
|
-
when "y2"
|
|
396
|
-
y2
|
|
397
|
-
else
|
|
398
|
-
super
|
|
399
|
-
end
|
|
400
|
-
end
|
|
401
|
-
|
|
402
|
-
def __js_set__(key, value)
|
|
403
|
-
case key
|
|
404
|
-
when "x1"
|
|
405
|
-
self.x1 = value
|
|
406
|
-
when "y1"
|
|
407
|
-
self.y1 = value
|
|
408
|
-
when "x2"
|
|
409
|
-
self.x2 = value
|
|
410
|
-
when "y2"
|
|
411
|
-
self.y2 = value
|
|
412
|
-
else
|
|
413
|
-
super
|
|
414
|
-
end
|
|
415
|
-
end
|
|
57
|
+
reflect_string :x1, :y1, :x2, :y2
|
|
416
58
|
end
|
|
417
59
|
|
|
418
60
|
# `<polygon>` — points (a string like "0,0 10,0 10,10").
|
|
419
61
|
class SVGPolygonElement < SVGElement
|
|
420
|
-
|
|
421
|
-
reflected_string("points")
|
|
422
|
-
end
|
|
423
|
-
|
|
424
|
-
def points=(v)
|
|
425
|
-
set_reflected_string("points", v)
|
|
426
|
-
end
|
|
427
|
-
|
|
428
|
-
def __js_get__(key)
|
|
429
|
-
key == "points" ? points : super
|
|
430
|
-
end
|
|
431
|
-
|
|
432
|
-
def __js_set__(key, value)
|
|
433
|
-
key == "points" ? (self.points = value) : super
|
|
434
|
-
end
|
|
62
|
+
reflect_string :points
|
|
435
63
|
end
|
|
436
64
|
|
|
437
65
|
# `<polyline>` — points.
|
|
438
66
|
class SVGPolylineElement < SVGElement
|
|
439
|
-
|
|
440
|
-
reflected_string("points")
|
|
441
|
-
end
|
|
442
|
-
|
|
443
|
-
def points=(v)
|
|
444
|
-
set_reflected_string("points", v)
|
|
445
|
-
end
|
|
446
|
-
|
|
447
|
-
def __js_get__(key)
|
|
448
|
-
key == "points" ? points : super
|
|
449
|
-
end
|
|
450
|
-
|
|
451
|
-
def __js_set__(key, value)
|
|
452
|
-
key == "points" ? (self.points = value) : super
|
|
453
|
-
end
|
|
67
|
+
reflect_string :points
|
|
454
68
|
end
|
|
455
69
|
|
|
456
70
|
# `<path>` — d (path data), pathLength.
|
|
457
71
|
class SVGPathElement < SVGElement
|
|
458
|
-
|
|
459
|
-
reflected_string("d")
|
|
460
|
-
end
|
|
461
|
-
|
|
462
|
-
def d=(v)
|
|
463
|
-
set_reflected_string("d", v)
|
|
464
|
-
end
|
|
465
|
-
|
|
466
|
-
def path_length
|
|
467
|
-
reflected_string("pathLength")
|
|
468
|
-
end
|
|
469
|
-
|
|
470
|
-
def path_length=(v)
|
|
471
|
-
set_reflected_string("pathLength", v)
|
|
472
|
-
end
|
|
473
|
-
|
|
474
|
-
def __js_get__(key)
|
|
475
|
-
case key
|
|
476
|
-
when "d"
|
|
477
|
-
d
|
|
478
|
-
when "pathLength"
|
|
479
|
-
path_length
|
|
480
|
-
else
|
|
481
|
-
super
|
|
482
|
-
end
|
|
483
|
-
end
|
|
484
|
-
|
|
485
|
-
def __js_set__(key, value)
|
|
486
|
-
case key
|
|
487
|
-
when "d"
|
|
488
|
-
self.d = value
|
|
489
|
-
when "pathLength"
|
|
490
|
-
self.path_length = value
|
|
491
|
-
else
|
|
492
|
-
super
|
|
493
|
-
end
|
|
494
|
-
end
|
|
72
|
+
reflect_string :d, :path_length
|
|
495
73
|
end
|
|
496
74
|
|
|
497
75
|
# `<text>` — x, y, dx, dy, text-anchor.
|
|
498
76
|
class SVGTextElement < SVGElement
|
|
499
|
-
|
|
500
|
-
reflected_string("x")
|
|
501
|
-
end
|
|
502
|
-
|
|
503
|
-
def x=(v)
|
|
504
|
-
set_reflected_string("x", v)
|
|
505
|
-
end
|
|
506
|
-
|
|
507
|
-
def y
|
|
508
|
-
reflected_string("y")
|
|
509
|
-
end
|
|
510
|
-
|
|
511
|
-
def y=(v)
|
|
512
|
-
set_reflected_string("y", v)
|
|
513
|
-
end
|
|
514
|
-
|
|
515
|
-
def dx
|
|
516
|
-
reflected_string("dx")
|
|
517
|
-
end
|
|
518
|
-
|
|
519
|
-
def dx=(v)
|
|
520
|
-
set_reflected_string("dx", v)
|
|
521
|
-
end
|
|
522
|
-
|
|
523
|
-
def dy
|
|
524
|
-
reflected_string("dy")
|
|
525
|
-
end
|
|
526
|
-
|
|
527
|
-
def dy=(v)
|
|
528
|
-
set_reflected_string("dy", v)
|
|
529
|
-
end
|
|
530
|
-
|
|
531
|
-
def text_anchor
|
|
532
|
-
reflected_string("text-anchor")
|
|
533
|
-
end
|
|
534
|
-
|
|
535
|
-
def text_anchor=(v)
|
|
536
|
-
set_reflected_string("text-anchor", v)
|
|
537
|
-
end
|
|
538
|
-
|
|
539
|
-
def __js_get__(key)
|
|
540
|
-
case key
|
|
541
|
-
when "x"
|
|
542
|
-
x
|
|
543
|
-
when "y"
|
|
544
|
-
y
|
|
545
|
-
when "dx"
|
|
546
|
-
dx
|
|
547
|
-
when "dy"
|
|
548
|
-
dy
|
|
549
|
-
when "textAnchor"
|
|
550
|
-
text_anchor
|
|
551
|
-
else
|
|
552
|
-
super
|
|
553
|
-
end
|
|
554
|
-
end
|
|
555
|
-
|
|
556
|
-
def __js_set__(key, value)
|
|
557
|
-
case key
|
|
558
|
-
when "x"
|
|
559
|
-
self.x = value
|
|
560
|
-
when "y"
|
|
561
|
-
self.y = value
|
|
562
|
-
when "dx"
|
|
563
|
-
self.dx = value
|
|
564
|
-
when "dy"
|
|
565
|
-
self.dy = value
|
|
566
|
-
when "textAnchor"
|
|
567
|
-
self.text_anchor = value
|
|
568
|
-
else
|
|
569
|
-
super
|
|
570
|
-
end
|
|
571
|
-
end
|
|
77
|
+
reflect_string :x, :y, :dx, :dy, text_anchor: "text-anchor"
|
|
572
78
|
end
|
|
573
79
|
|
|
574
80
|
# `<tspan>` — same coord attrs as <text>.
|
|
575
81
|
class SVGTSpanElement < SVGElement
|
|
576
|
-
|
|
577
|
-
reflected_string("x")
|
|
578
|
-
end
|
|
579
|
-
|
|
580
|
-
def x=(v)
|
|
581
|
-
set_reflected_string("x", v)
|
|
582
|
-
end
|
|
583
|
-
|
|
584
|
-
def y
|
|
585
|
-
reflected_string("y")
|
|
586
|
-
end
|
|
587
|
-
|
|
588
|
-
def y=(v)
|
|
589
|
-
set_reflected_string("y", v)
|
|
590
|
-
end
|
|
591
|
-
|
|
592
|
-
def dx
|
|
593
|
-
reflected_string("dx")
|
|
594
|
-
end
|
|
595
|
-
|
|
596
|
-
def dx=(v)
|
|
597
|
-
set_reflected_string("dx", v)
|
|
598
|
-
end
|
|
599
|
-
|
|
600
|
-
def dy
|
|
601
|
-
reflected_string("dy")
|
|
602
|
-
end
|
|
603
|
-
|
|
604
|
-
def dy=(v)
|
|
605
|
-
set_reflected_string("dy", v)
|
|
606
|
-
end
|
|
607
|
-
|
|
608
|
-
def __js_get__(key)
|
|
609
|
-
case key
|
|
610
|
-
when "x"
|
|
611
|
-
x
|
|
612
|
-
when "y"
|
|
613
|
-
y
|
|
614
|
-
when "dx"
|
|
615
|
-
dx
|
|
616
|
-
when "dy"
|
|
617
|
-
dy
|
|
618
|
-
else
|
|
619
|
-
super
|
|
620
|
-
end
|
|
621
|
-
end
|
|
622
|
-
|
|
623
|
-
def __js_set__(key, value)
|
|
624
|
-
case key
|
|
625
|
-
when "x"
|
|
626
|
-
self.x = value
|
|
627
|
-
when "y"
|
|
628
|
-
self.y = value
|
|
629
|
-
when "dx"
|
|
630
|
-
self.dx = value
|
|
631
|
-
when "dy"
|
|
632
|
-
self.dy = value
|
|
633
|
-
else
|
|
634
|
-
super
|
|
635
|
-
end
|
|
636
|
-
end
|
|
82
|
+
reflect_string :x, :y, :dx, :dy
|
|
637
83
|
end
|
|
638
84
|
|
|
639
85
|
# `<defs>` — container for reusable definitions; no special attrs.
|
|
@@ -642,2698 +88,252 @@ module Dommy
|
|
|
642
88
|
|
|
643
89
|
# `<use>` — href, x, y, width, height.
|
|
644
90
|
class SVGUseElement < SVGElement
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
end
|
|
91
|
+
reflect_string :href, :x, :y, :width, :height
|
|
92
|
+
end
|
|
648
93
|
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
94
|
+
# `<image>` — href + box + preserveAspectRatio.
|
|
95
|
+
class SVGImageElement < SVGElement
|
|
96
|
+
reflect_string :href, :x, :y, :width, :height, :preserve_aspect_ratio
|
|
97
|
+
end
|
|
652
98
|
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
99
|
+
# `<symbol>` — reusable template; viewBox + preserveAspectRatio.
|
|
100
|
+
class SVGSymbolElement < SVGElement
|
|
101
|
+
reflect_string :view_box, :preserve_aspect_ratio
|
|
102
|
+
end
|
|
656
103
|
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
104
|
+
# `<foreignObject>` — embeds non-SVG content; standard box attrs.
|
|
105
|
+
class SVGForeignObjectElement < SVGElement
|
|
106
|
+
reflect_string :x, :y, :width, :height
|
|
107
|
+
end
|
|
660
108
|
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
109
|
+
# `<title>` (inside SVG) — distinct from HTMLTitleElement.
|
|
110
|
+
class SVGTitleElement < SVGElement
|
|
111
|
+
end
|
|
664
112
|
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
113
|
+
# `<desc>` — accessibility description.
|
|
114
|
+
class SVGDescElement < SVGElement
|
|
115
|
+
end
|
|
668
116
|
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
117
|
+
# `<mask>` — alpha mask region.
|
|
118
|
+
class SVGMaskElement < SVGElement
|
|
119
|
+
reflect_string :x, :y, :width, :height, :mask_units, :mask_content_units
|
|
120
|
+
end
|
|
672
121
|
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
122
|
+
# `<clipPath>` — clipping region.
|
|
123
|
+
class SVGClipPathElement < SVGElement
|
|
124
|
+
reflect_string :clip_path_units
|
|
125
|
+
end
|
|
676
126
|
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
127
|
+
# `<pattern>` — tile-based paint server.
|
|
128
|
+
class SVGPatternElement < SVGElement
|
|
129
|
+
reflect_string :x, :y, :width, :height, :pattern_units, :pattern_content_units, :href
|
|
130
|
+
end
|
|
680
131
|
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
132
|
+
# `<linearGradient>` — linear color gradient paint server.
|
|
133
|
+
class SVGLinearGradientElement < SVGElement
|
|
134
|
+
reflect_string :x1, :y1, :x2, :y2, :gradient_units, :gradient_transform, :spread_method, :href
|
|
135
|
+
end
|
|
684
136
|
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
when "x"
|
|
690
|
-
x
|
|
691
|
-
when "y"
|
|
692
|
-
y
|
|
693
|
-
when "width"
|
|
694
|
-
width
|
|
695
|
-
when "height"
|
|
696
|
-
height
|
|
697
|
-
else
|
|
698
|
-
super
|
|
699
|
-
end
|
|
700
|
-
end
|
|
137
|
+
# `<radialGradient>` — radial color gradient paint server.
|
|
138
|
+
class SVGRadialGradientElement < SVGElement
|
|
139
|
+
reflect_string :cx, :cy, :r, :fx, :fy, :fr, :gradient_units, :gradient_transform, :spread_method, :href
|
|
140
|
+
end
|
|
701
141
|
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
self.href = value
|
|
706
|
-
when "x"
|
|
707
|
-
self.x = value
|
|
708
|
-
when "y"
|
|
709
|
-
self.y = value
|
|
710
|
-
when "width"
|
|
711
|
-
self.width = value
|
|
712
|
-
when "height"
|
|
713
|
-
self.height = value
|
|
714
|
-
else
|
|
715
|
-
super
|
|
716
|
-
end
|
|
717
|
-
end
|
|
142
|
+
# `<stop>` — a single gradient color stop.
|
|
143
|
+
class SVGStopElement < SVGElement
|
|
144
|
+
reflect_string :offset
|
|
718
145
|
end
|
|
719
146
|
|
|
720
|
-
# `<
|
|
721
|
-
class
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
end
|
|
147
|
+
# `<filter>` — filter region + primitive units + href.
|
|
148
|
+
class SVGFilterElement < SVGElement
|
|
149
|
+
reflect_string :x, :y, :width, :height, :filter_units, :primitive_units, :href
|
|
150
|
+
end
|
|
725
151
|
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
152
|
+
# `<marker>` — arrowhead / line marker.
|
|
153
|
+
class SVGMarkerElement < SVGElement
|
|
154
|
+
reflect_string :ref_x, :ref_y, :marker_width, :marker_height, :orient, :marker_units, :view_box, :preserve_aspect_ratio
|
|
155
|
+
end
|
|
729
156
|
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
157
|
+
# `<a>` (in the SVG namespace) — a hyperlink wrapping SVG content.
|
|
158
|
+
# Distinct from `HTMLAnchorElement` (the HTML `<a>`).
|
|
159
|
+
class SVGAElement < SVGElement
|
|
160
|
+
reflect_string :href, :target, :download, :rel, :type
|
|
161
|
+
end
|
|
733
162
|
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
163
|
+
# `<textPath>` — text laid out along a path.
|
|
164
|
+
class SVGTextPathElement < SVGElement
|
|
165
|
+
reflect_string :href, :start_offset, :spacing, :text_length, :length_adjust, method_attr: { attr: "method", js: "method" }
|
|
166
|
+
end
|
|
737
167
|
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
168
|
+
# `<view>` — a named view region referenced by SVG fragment identifier.
|
|
169
|
+
class SVGViewElement < SVGElement
|
|
170
|
+
reflect_string :view_box, :preserve_aspect_ratio, :zoom_and_pan
|
|
171
|
+
end
|
|
741
172
|
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
173
|
+
# `<switch>` — conditionally renders the first child whose feature /
|
|
174
|
+
# systemLanguage attributes match. No special own attributes.
|
|
175
|
+
class SVGSwitchElement < SVGElement
|
|
176
|
+
end
|
|
745
177
|
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
end
|
|
749
|
-
|
|
750
|
-
def width=(v)
|
|
751
|
-
set_reflected_string("width", v)
|
|
752
|
-
end
|
|
753
|
-
|
|
754
|
-
def height
|
|
755
|
-
reflected_string("height")
|
|
756
|
-
end
|
|
757
|
-
|
|
758
|
-
def height=(v)
|
|
759
|
-
set_reflected_string("height", v)
|
|
760
|
-
end
|
|
761
|
-
|
|
762
|
-
def preserve_aspect_ratio
|
|
763
|
-
reflected_string("preserveAspectRatio")
|
|
764
|
-
end
|
|
765
|
-
|
|
766
|
-
def preserve_aspect_ratio=(v)
|
|
767
|
-
set_reflected_string("preserveAspectRatio", v)
|
|
768
|
-
end
|
|
769
|
-
|
|
770
|
-
def __js_get__(key)
|
|
771
|
-
case key
|
|
772
|
-
when "href"
|
|
773
|
-
href
|
|
774
|
-
when "x"
|
|
775
|
-
x
|
|
776
|
-
when "y"
|
|
777
|
-
y
|
|
778
|
-
when "width"
|
|
779
|
-
width
|
|
780
|
-
when "height"
|
|
781
|
-
height
|
|
782
|
-
when "preserveAspectRatio"
|
|
783
|
-
preserve_aspect_ratio
|
|
784
|
-
else
|
|
785
|
-
super
|
|
786
|
-
end
|
|
787
|
-
end
|
|
788
|
-
|
|
789
|
-
def __js_set__(key, value)
|
|
790
|
-
case key
|
|
791
|
-
when "href"
|
|
792
|
-
self.href = value
|
|
793
|
-
when "x"
|
|
794
|
-
self.x = value
|
|
795
|
-
when "y"
|
|
796
|
-
self.y = value
|
|
797
|
-
when "width"
|
|
798
|
-
self.width = value
|
|
799
|
-
when "height"
|
|
800
|
-
self.height = value
|
|
801
|
-
when "preserveAspectRatio"
|
|
802
|
-
self.preserve_aspect_ratio = value
|
|
803
|
-
else
|
|
804
|
-
super
|
|
805
|
-
end
|
|
806
|
-
end
|
|
807
|
-
end
|
|
808
|
-
|
|
809
|
-
# `<symbol>` — reusable template; viewBox + preserveAspectRatio.
|
|
810
|
-
class SVGSymbolElement < SVGElement
|
|
811
|
-
def view_box
|
|
812
|
-
reflected_string("viewBox")
|
|
813
|
-
end
|
|
814
|
-
|
|
815
|
-
def view_box=(v)
|
|
816
|
-
set_reflected_string("viewBox", v)
|
|
817
|
-
end
|
|
818
|
-
|
|
819
|
-
def preserve_aspect_ratio
|
|
820
|
-
reflected_string("preserveAspectRatio")
|
|
821
|
-
end
|
|
822
|
-
|
|
823
|
-
def preserve_aspect_ratio=(v)
|
|
824
|
-
set_reflected_string("preserveAspectRatio", v)
|
|
825
|
-
end
|
|
826
|
-
|
|
827
|
-
def __js_get__(key)
|
|
828
|
-
case key
|
|
829
|
-
when "viewBox"
|
|
830
|
-
view_box
|
|
831
|
-
when "preserveAspectRatio"
|
|
832
|
-
preserve_aspect_ratio
|
|
833
|
-
else
|
|
834
|
-
super
|
|
835
|
-
end
|
|
836
|
-
end
|
|
837
|
-
|
|
838
|
-
def __js_set__(key, value)
|
|
839
|
-
case key
|
|
840
|
-
when "viewBox"
|
|
841
|
-
self.view_box = value
|
|
842
|
-
when "preserveAspectRatio"
|
|
843
|
-
self.preserve_aspect_ratio = value
|
|
844
|
-
else
|
|
845
|
-
super
|
|
846
|
-
end
|
|
847
|
-
end
|
|
848
|
-
end
|
|
849
|
-
|
|
850
|
-
# `<foreignObject>` — embeds non-SVG content; standard box attrs.
|
|
851
|
-
class SVGForeignObjectElement < SVGElement
|
|
852
|
-
def x
|
|
853
|
-
reflected_string("x")
|
|
854
|
-
end
|
|
855
|
-
|
|
856
|
-
def x=(v)
|
|
857
|
-
set_reflected_string("x", v)
|
|
858
|
-
end
|
|
859
|
-
|
|
860
|
-
def y
|
|
861
|
-
reflected_string("y")
|
|
862
|
-
end
|
|
863
|
-
|
|
864
|
-
def y=(v)
|
|
865
|
-
set_reflected_string("y", v)
|
|
866
|
-
end
|
|
867
|
-
|
|
868
|
-
def width
|
|
869
|
-
reflected_string("width")
|
|
870
|
-
end
|
|
871
|
-
|
|
872
|
-
def width=(v)
|
|
873
|
-
set_reflected_string("width", v)
|
|
874
|
-
end
|
|
875
|
-
|
|
876
|
-
def height
|
|
877
|
-
reflected_string("height")
|
|
878
|
-
end
|
|
879
|
-
|
|
880
|
-
def height=(v)
|
|
881
|
-
set_reflected_string("height", v)
|
|
882
|
-
end
|
|
883
|
-
|
|
884
|
-
def __js_get__(key)
|
|
885
|
-
case key
|
|
886
|
-
when "x"
|
|
887
|
-
x
|
|
888
|
-
when "y"
|
|
889
|
-
y
|
|
890
|
-
when "width"
|
|
891
|
-
width
|
|
892
|
-
when "height"
|
|
893
|
-
height
|
|
894
|
-
else
|
|
895
|
-
super
|
|
896
|
-
end
|
|
897
|
-
end
|
|
898
|
-
|
|
899
|
-
def __js_set__(key, value)
|
|
900
|
-
case key
|
|
901
|
-
when "x"
|
|
902
|
-
self.x = value
|
|
903
|
-
when "y"
|
|
904
|
-
self.y = value
|
|
905
|
-
when "width"
|
|
906
|
-
self.width = value
|
|
907
|
-
when "height"
|
|
908
|
-
self.height = value
|
|
909
|
-
else
|
|
910
|
-
super
|
|
911
|
-
end
|
|
912
|
-
end
|
|
913
|
-
end
|
|
914
|
-
|
|
915
|
-
# `<title>` (inside SVG) — distinct from HTMLTitleElement.
|
|
916
|
-
class SVGTitleElement < SVGElement
|
|
917
|
-
end
|
|
918
|
-
|
|
919
|
-
# `<desc>` — accessibility description.
|
|
920
|
-
class SVGDescElement < SVGElement
|
|
921
|
-
end
|
|
922
|
-
|
|
923
|
-
# `<mask>` — alpha mask region.
|
|
924
|
-
class SVGMaskElement < SVGElement
|
|
925
|
-
def x
|
|
926
|
-
reflected_string("x")
|
|
927
|
-
end
|
|
928
|
-
|
|
929
|
-
def x=(v)
|
|
930
|
-
set_reflected_string("x", v)
|
|
931
|
-
end
|
|
932
|
-
|
|
933
|
-
def y
|
|
934
|
-
reflected_string("y")
|
|
935
|
-
end
|
|
936
|
-
|
|
937
|
-
def y=(v)
|
|
938
|
-
set_reflected_string("y", v)
|
|
939
|
-
end
|
|
940
|
-
|
|
941
|
-
def width
|
|
942
|
-
reflected_string("width")
|
|
943
|
-
end
|
|
944
|
-
|
|
945
|
-
def width=(v)
|
|
946
|
-
set_reflected_string("width", v)
|
|
947
|
-
end
|
|
948
|
-
|
|
949
|
-
def height
|
|
950
|
-
reflected_string("height")
|
|
951
|
-
end
|
|
952
|
-
|
|
953
|
-
def height=(v)
|
|
954
|
-
set_reflected_string("height", v)
|
|
955
|
-
end
|
|
956
|
-
|
|
957
|
-
def mask_units
|
|
958
|
-
reflected_string("maskUnits")
|
|
959
|
-
end
|
|
960
|
-
|
|
961
|
-
def mask_units=(v)
|
|
962
|
-
set_reflected_string("maskUnits", v)
|
|
963
|
-
end
|
|
964
|
-
|
|
965
|
-
def mask_content_units
|
|
966
|
-
reflected_string("maskContentUnits")
|
|
967
|
-
end
|
|
968
|
-
|
|
969
|
-
def mask_content_units=(v)
|
|
970
|
-
set_reflected_string("maskContentUnits", v)
|
|
971
|
-
end
|
|
972
|
-
|
|
973
|
-
def __js_get__(key)
|
|
974
|
-
case key
|
|
975
|
-
when "x"
|
|
976
|
-
x
|
|
977
|
-
when "y"
|
|
978
|
-
y
|
|
979
|
-
when "width"
|
|
980
|
-
width
|
|
981
|
-
when "height"
|
|
982
|
-
height
|
|
983
|
-
when "maskUnits"
|
|
984
|
-
mask_units
|
|
985
|
-
when "maskContentUnits"
|
|
986
|
-
mask_content_units
|
|
987
|
-
else
|
|
988
|
-
super
|
|
989
|
-
end
|
|
990
|
-
end
|
|
991
|
-
|
|
992
|
-
def __js_set__(key, value)
|
|
993
|
-
case key
|
|
994
|
-
when "x"
|
|
995
|
-
self.x = value
|
|
996
|
-
when "y"
|
|
997
|
-
self.y = value
|
|
998
|
-
when "width"
|
|
999
|
-
self.width = value
|
|
1000
|
-
when "height"
|
|
1001
|
-
self.height = value
|
|
1002
|
-
when "maskUnits"
|
|
1003
|
-
self.mask_units = value
|
|
1004
|
-
when "maskContentUnits"
|
|
1005
|
-
self.mask_content_units = value
|
|
1006
|
-
else
|
|
1007
|
-
super
|
|
1008
|
-
end
|
|
1009
|
-
end
|
|
1010
|
-
end
|
|
1011
|
-
|
|
1012
|
-
# `<clipPath>` — clipping region.
|
|
1013
|
-
class SVGClipPathElement < SVGElement
|
|
1014
|
-
def clip_path_units
|
|
1015
|
-
reflected_string("clipPathUnits")
|
|
1016
|
-
end
|
|
1017
|
-
|
|
1018
|
-
def clip_path_units=(v)
|
|
1019
|
-
set_reflected_string("clipPathUnits", v)
|
|
1020
|
-
end
|
|
1021
|
-
|
|
1022
|
-
def __js_get__(key)
|
|
1023
|
-
key == "clipPathUnits" ? clip_path_units : super
|
|
1024
|
-
end
|
|
1025
|
-
|
|
1026
|
-
def __js_set__(key, value)
|
|
1027
|
-
key == "clipPathUnits" ? (self.clip_path_units = value) : super
|
|
1028
|
-
end
|
|
1029
|
-
end
|
|
1030
|
-
|
|
1031
|
-
# `<pattern>` — tile-based paint server.
|
|
1032
|
-
class SVGPatternElement < SVGElement
|
|
1033
|
-
def x
|
|
1034
|
-
reflected_string("x")
|
|
1035
|
-
end
|
|
1036
|
-
|
|
1037
|
-
def x=(v)
|
|
1038
|
-
set_reflected_string("x", v)
|
|
1039
|
-
end
|
|
1040
|
-
|
|
1041
|
-
def y
|
|
1042
|
-
reflected_string("y")
|
|
1043
|
-
end
|
|
1044
|
-
|
|
1045
|
-
def y=(v)
|
|
1046
|
-
set_reflected_string("y", v)
|
|
1047
|
-
end
|
|
1048
|
-
|
|
1049
|
-
def width
|
|
1050
|
-
reflected_string("width")
|
|
1051
|
-
end
|
|
1052
|
-
|
|
1053
|
-
def width=(v)
|
|
1054
|
-
set_reflected_string("width", v)
|
|
1055
|
-
end
|
|
1056
|
-
|
|
1057
|
-
def height
|
|
1058
|
-
reflected_string("height")
|
|
1059
|
-
end
|
|
1060
|
-
|
|
1061
|
-
def height=(v)
|
|
1062
|
-
set_reflected_string("height", v)
|
|
1063
|
-
end
|
|
1064
|
-
|
|
1065
|
-
def pattern_units
|
|
1066
|
-
reflected_string("patternUnits")
|
|
1067
|
-
end
|
|
1068
|
-
|
|
1069
|
-
def pattern_units=(v)
|
|
1070
|
-
set_reflected_string("patternUnits", v)
|
|
1071
|
-
end
|
|
1072
|
-
|
|
1073
|
-
def pattern_content_units
|
|
1074
|
-
reflected_string("patternContentUnits")
|
|
1075
|
-
end
|
|
1076
|
-
|
|
1077
|
-
def pattern_content_units=(v)
|
|
1078
|
-
set_reflected_string("patternContentUnits", v)
|
|
1079
|
-
end
|
|
1080
|
-
|
|
1081
|
-
def href
|
|
1082
|
-
reflected_string("href")
|
|
1083
|
-
end
|
|
1084
|
-
|
|
1085
|
-
def href=(v)
|
|
1086
|
-
set_reflected_string("href", v)
|
|
1087
|
-
end
|
|
1088
|
-
|
|
1089
|
-
def __js_get__(key)
|
|
1090
|
-
case key
|
|
1091
|
-
when "x"
|
|
1092
|
-
x
|
|
1093
|
-
when "y"
|
|
1094
|
-
y
|
|
1095
|
-
when "width"
|
|
1096
|
-
width
|
|
1097
|
-
when "height"
|
|
1098
|
-
height
|
|
1099
|
-
when "patternUnits"
|
|
1100
|
-
pattern_units
|
|
1101
|
-
when "patternContentUnits"
|
|
1102
|
-
pattern_content_units
|
|
1103
|
-
when "href"
|
|
1104
|
-
href
|
|
1105
|
-
else
|
|
1106
|
-
super
|
|
1107
|
-
end
|
|
1108
|
-
end
|
|
1109
|
-
|
|
1110
|
-
def __js_set__(key, value)
|
|
1111
|
-
case key
|
|
1112
|
-
when "x"
|
|
1113
|
-
self.x = value
|
|
1114
|
-
when "y"
|
|
1115
|
-
self.y = value
|
|
1116
|
-
when "width"
|
|
1117
|
-
self.width = value
|
|
1118
|
-
when "height"
|
|
1119
|
-
self.height = value
|
|
1120
|
-
when "patternUnits"
|
|
1121
|
-
self.pattern_units = value
|
|
1122
|
-
when "patternContentUnits"
|
|
1123
|
-
self.pattern_content_units = value
|
|
1124
|
-
when "href"
|
|
1125
|
-
self.href = value
|
|
1126
|
-
else
|
|
1127
|
-
super
|
|
1128
|
-
end
|
|
1129
|
-
end
|
|
1130
|
-
end
|
|
1131
|
-
|
|
1132
|
-
# `<linearGradient>` — linear color gradient paint server.
|
|
1133
|
-
class SVGLinearGradientElement < SVGElement
|
|
1134
|
-
def x1
|
|
1135
|
-
reflected_string("x1")
|
|
1136
|
-
end
|
|
1137
|
-
|
|
1138
|
-
def x1=(v)
|
|
1139
|
-
set_reflected_string("x1", v)
|
|
1140
|
-
end
|
|
1141
|
-
|
|
1142
|
-
def y1
|
|
1143
|
-
reflected_string("y1")
|
|
1144
|
-
end
|
|
1145
|
-
|
|
1146
|
-
def y1=(v)
|
|
1147
|
-
set_reflected_string("y1", v)
|
|
1148
|
-
end
|
|
1149
|
-
|
|
1150
|
-
def x2
|
|
1151
|
-
reflected_string("x2")
|
|
1152
|
-
end
|
|
1153
|
-
|
|
1154
|
-
def x2=(v)
|
|
1155
|
-
set_reflected_string("x2", v)
|
|
1156
|
-
end
|
|
1157
|
-
|
|
1158
|
-
def y2
|
|
1159
|
-
reflected_string("y2")
|
|
1160
|
-
end
|
|
1161
|
-
|
|
1162
|
-
def y2=(v)
|
|
1163
|
-
set_reflected_string("y2", v)
|
|
1164
|
-
end
|
|
1165
|
-
|
|
1166
|
-
def gradient_units
|
|
1167
|
-
reflected_string("gradientUnits")
|
|
1168
|
-
end
|
|
1169
|
-
|
|
1170
|
-
def gradient_units=(v)
|
|
1171
|
-
set_reflected_string("gradientUnits", v)
|
|
1172
|
-
end
|
|
1173
|
-
|
|
1174
|
-
def gradient_transform
|
|
1175
|
-
reflected_string("gradientTransform")
|
|
1176
|
-
end
|
|
1177
|
-
|
|
1178
|
-
def gradient_transform=(v)
|
|
1179
|
-
set_reflected_string("gradientTransform", v)
|
|
1180
|
-
end
|
|
1181
|
-
|
|
1182
|
-
def spread_method
|
|
1183
|
-
reflected_string("spreadMethod")
|
|
1184
|
-
end
|
|
1185
|
-
|
|
1186
|
-
def spread_method=(v)
|
|
1187
|
-
set_reflected_string("spreadMethod", v)
|
|
1188
|
-
end
|
|
1189
|
-
|
|
1190
|
-
def href
|
|
1191
|
-
reflected_string("href")
|
|
1192
|
-
end
|
|
1193
|
-
|
|
1194
|
-
def href=(v)
|
|
1195
|
-
set_reflected_string("href", v)
|
|
1196
|
-
end
|
|
1197
|
-
|
|
1198
|
-
def __js_get__(key)
|
|
1199
|
-
case key
|
|
1200
|
-
when "x1"
|
|
1201
|
-
x1
|
|
1202
|
-
when "y1"
|
|
1203
|
-
y1
|
|
1204
|
-
when "x2"
|
|
1205
|
-
x2
|
|
1206
|
-
when "y2"
|
|
1207
|
-
y2
|
|
1208
|
-
when "gradientUnits"
|
|
1209
|
-
gradient_units
|
|
1210
|
-
when "gradientTransform"
|
|
1211
|
-
gradient_transform
|
|
1212
|
-
when "spreadMethod"
|
|
1213
|
-
spread_method
|
|
1214
|
-
when "href"
|
|
1215
|
-
href
|
|
1216
|
-
else
|
|
1217
|
-
super
|
|
1218
|
-
end
|
|
1219
|
-
end
|
|
1220
|
-
|
|
1221
|
-
def __js_set__(key, value)
|
|
1222
|
-
case key
|
|
1223
|
-
when "x1"
|
|
1224
|
-
self.x1 = value
|
|
1225
|
-
when "y1"
|
|
1226
|
-
self.y1 = value
|
|
1227
|
-
when "x2"
|
|
1228
|
-
self.x2 = value
|
|
1229
|
-
when "y2"
|
|
1230
|
-
self.y2 = value
|
|
1231
|
-
when "gradientUnits"
|
|
1232
|
-
self.gradient_units = value
|
|
1233
|
-
when "gradientTransform"
|
|
1234
|
-
self.gradient_transform = value
|
|
1235
|
-
when "spreadMethod"
|
|
1236
|
-
self.spread_method = value
|
|
1237
|
-
when "href"
|
|
1238
|
-
self.href = value
|
|
1239
|
-
else
|
|
1240
|
-
super
|
|
1241
|
-
end
|
|
1242
|
-
end
|
|
1243
|
-
end
|
|
1244
|
-
|
|
1245
|
-
# `<radialGradient>` — radial color gradient paint server.
|
|
1246
|
-
class SVGRadialGradientElement < SVGElement
|
|
1247
|
-
def cx
|
|
1248
|
-
reflected_string("cx")
|
|
1249
|
-
end
|
|
1250
|
-
|
|
1251
|
-
def cx=(v)
|
|
1252
|
-
set_reflected_string("cx", v)
|
|
1253
|
-
end
|
|
1254
|
-
|
|
1255
|
-
def cy
|
|
1256
|
-
reflected_string("cy")
|
|
1257
|
-
end
|
|
1258
|
-
|
|
1259
|
-
def cy=(v)
|
|
1260
|
-
set_reflected_string("cy", v)
|
|
1261
|
-
end
|
|
1262
|
-
|
|
1263
|
-
def r
|
|
1264
|
-
reflected_string("r")
|
|
1265
|
-
end
|
|
1266
|
-
|
|
1267
|
-
def r=(v)
|
|
1268
|
-
set_reflected_string("r", v)
|
|
1269
|
-
end
|
|
1270
|
-
|
|
1271
|
-
def fx
|
|
1272
|
-
reflected_string("fx")
|
|
1273
|
-
end
|
|
1274
|
-
|
|
1275
|
-
def fx=(v)
|
|
1276
|
-
set_reflected_string("fx", v)
|
|
1277
|
-
end
|
|
1278
|
-
|
|
1279
|
-
def fy
|
|
1280
|
-
reflected_string("fy")
|
|
1281
|
-
end
|
|
1282
|
-
|
|
1283
|
-
def fy=(v)
|
|
1284
|
-
set_reflected_string("fy", v)
|
|
1285
|
-
end
|
|
1286
|
-
|
|
1287
|
-
def fr
|
|
1288
|
-
reflected_string("fr")
|
|
1289
|
-
end
|
|
1290
|
-
|
|
1291
|
-
def fr=(v)
|
|
1292
|
-
set_reflected_string("fr", v)
|
|
1293
|
-
end
|
|
1294
|
-
|
|
1295
|
-
def gradient_units
|
|
1296
|
-
reflected_string("gradientUnits")
|
|
1297
|
-
end
|
|
1298
|
-
|
|
1299
|
-
def gradient_units=(v)
|
|
1300
|
-
set_reflected_string("gradientUnits", v)
|
|
1301
|
-
end
|
|
1302
|
-
|
|
1303
|
-
def gradient_transform
|
|
1304
|
-
reflected_string("gradientTransform")
|
|
1305
|
-
end
|
|
1306
|
-
|
|
1307
|
-
def gradient_transform=(v)
|
|
1308
|
-
set_reflected_string("gradientTransform", v)
|
|
1309
|
-
end
|
|
1310
|
-
|
|
1311
|
-
def spread_method
|
|
1312
|
-
reflected_string("spreadMethod")
|
|
1313
|
-
end
|
|
1314
|
-
|
|
1315
|
-
def spread_method=(v)
|
|
1316
|
-
set_reflected_string("spreadMethod", v)
|
|
1317
|
-
end
|
|
1318
|
-
|
|
1319
|
-
def href
|
|
1320
|
-
reflected_string("href")
|
|
1321
|
-
end
|
|
1322
|
-
|
|
1323
|
-
def href=(v)
|
|
1324
|
-
set_reflected_string("href", v)
|
|
1325
|
-
end
|
|
1326
|
-
|
|
1327
|
-
def __js_get__(key)
|
|
1328
|
-
case key
|
|
1329
|
-
when "cx"
|
|
1330
|
-
cx
|
|
1331
|
-
when "cy"
|
|
1332
|
-
cy
|
|
1333
|
-
when "r"
|
|
1334
|
-
r
|
|
1335
|
-
when "fx"
|
|
1336
|
-
fx
|
|
1337
|
-
when "fy"
|
|
1338
|
-
fy
|
|
1339
|
-
when "fr"
|
|
1340
|
-
fr
|
|
1341
|
-
when "gradientUnits"
|
|
1342
|
-
gradient_units
|
|
1343
|
-
when "gradientTransform"
|
|
1344
|
-
gradient_transform
|
|
1345
|
-
when "spreadMethod"
|
|
1346
|
-
spread_method
|
|
1347
|
-
when "href"
|
|
1348
|
-
href
|
|
1349
|
-
else
|
|
1350
|
-
super
|
|
1351
|
-
end
|
|
1352
|
-
end
|
|
1353
|
-
|
|
1354
|
-
def __js_set__(key, value)
|
|
1355
|
-
case key
|
|
1356
|
-
when "cx"
|
|
1357
|
-
self.cx = value
|
|
1358
|
-
when "cy"
|
|
1359
|
-
self.cy = value
|
|
1360
|
-
when "r"
|
|
1361
|
-
self.r = value
|
|
1362
|
-
when "fx"
|
|
1363
|
-
self.fx = value
|
|
1364
|
-
when "fy"
|
|
1365
|
-
self.fy = value
|
|
1366
|
-
when "fr"
|
|
1367
|
-
self.fr = value
|
|
1368
|
-
when "gradientUnits"
|
|
1369
|
-
self.gradient_units = value
|
|
1370
|
-
when "gradientTransform"
|
|
1371
|
-
self.gradient_transform = value
|
|
1372
|
-
when "spreadMethod"
|
|
1373
|
-
self.spread_method = value
|
|
1374
|
-
when "href"
|
|
1375
|
-
self.href = value
|
|
1376
|
-
else
|
|
1377
|
-
super
|
|
1378
|
-
end
|
|
1379
|
-
end
|
|
1380
|
-
end
|
|
1381
|
-
|
|
1382
|
-
# `<stop>` — a single gradient color stop.
|
|
1383
|
-
class SVGStopElement < SVGElement
|
|
1384
|
-
def offset
|
|
1385
|
-
reflected_string("offset")
|
|
1386
|
-
end
|
|
1387
|
-
|
|
1388
|
-
def offset=(v)
|
|
1389
|
-
set_reflected_string("offset", v)
|
|
1390
|
-
end
|
|
1391
|
-
|
|
1392
|
-
def __js_get__(key)
|
|
1393
|
-
key == "offset" ? offset : super
|
|
1394
|
-
end
|
|
1395
|
-
|
|
1396
|
-
def __js_set__(key, value)
|
|
1397
|
-
key == "offset" ? (self.offset = value) : super
|
|
1398
|
-
end
|
|
1399
|
-
end
|
|
1400
|
-
|
|
1401
|
-
# `<filter>` — filter region + primitive units + href.
|
|
1402
|
-
class SVGFilterElement < SVGElement
|
|
1403
|
-
def x
|
|
1404
|
-
reflected_string("x")
|
|
1405
|
-
end
|
|
1406
|
-
|
|
1407
|
-
def x=(v)
|
|
1408
|
-
set_reflected_string("x", v)
|
|
1409
|
-
end
|
|
1410
|
-
|
|
1411
|
-
def y
|
|
1412
|
-
reflected_string("y")
|
|
1413
|
-
end
|
|
1414
|
-
|
|
1415
|
-
def y=(v)
|
|
1416
|
-
set_reflected_string("y", v)
|
|
1417
|
-
end
|
|
1418
|
-
|
|
1419
|
-
def width
|
|
1420
|
-
reflected_string("width")
|
|
1421
|
-
end
|
|
1422
|
-
|
|
1423
|
-
def width=(v)
|
|
1424
|
-
set_reflected_string("width", v)
|
|
1425
|
-
end
|
|
1426
|
-
|
|
1427
|
-
def height
|
|
1428
|
-
reflected_string("height")
|
|
1429
|
-
end
|
|
1430
|
-
|
|
1431
|
-
def height=(v)
|
|
1432
|
-
set_reflected_string("height", v)
|
|
1433
|
-
end
|
|
1434
|
-
|
|
1435
|
-
def filter_units
|
|
1436
|
-
reflected_string("filterUnits")
|
|
1437
|
-
end
|
|
1438
|
-
|
|
1439
|
-
def filter_units=(v)
|
|
1440
|
-
set_reflected_string("filterUnits", v)
|
|
1441
|
-
end
|
|
1442
|
-
|
|
1443
|
-
def primitive_units
|
|
1444
|
-
reflected_string("primitiveUnits")
|
|
1445
|
-
end
|
|
1446
|
-
|
|
1447
|
-
def primitive_units=(v)
|
|
1448
|
-
set_reflected_string("primitiveUnits", v)
|
|
1449
|
-
end
|
|
1450
|
-
|
|
1451
|
-
def href
|
|
1452
|
-
reflected_string("href")
|
|
1453
|
-
end
|
|
1454
|
-
|
|
1455
|
-
def href=(v)
|
|
1456
|
-
set_reflected_string("href", v)
|
|
1457
|
-
end
|
|
1458
|
-
|
|
1459
|
-
def __js_get__(key)
|
|
1460
|
-
case key
|
|
1461
|
-
when "x"
|
|
1462
|
-
x
|
|
1463
|
-
when "y"
|
|
1464
|
-
y
|
|
1465
|
-
when "width"
|
|
1466
|
-
width
|
|
1467
|
-
when "height"
|
|
1468
|
-
height
|
|
1469
|
-
when "filterUnits"
|
|
1470
|
-
filter_units
|
|
1471
|
-
when "primitiveUnits"
|
|
1472
|
-
primitive_units
|
|
1473
|
-
when "href"
|
|
1474
|
-
href
|
|
1475
|
-
else
|
|
1476
|
-
super
|
|
1477
|
-
end
|
|
1478
|
-
end
|
|
1479
|
-
|
|
1480
|
-
def __js_set__(key, value)
|
|
1481
|
-
case key
|
|
1482
|
-
when "x"
|
|
1483
|
-
self.x = value
|
|
1484
|
-
when "y"
|
|
1485
|
-
self.y = value
|
|
1486
|
-
when "width"
|
|
1487
|
-
self.width = value
|
|
1488
|
-
when "height"
|
|
1489
|
-
self.height = value
|
|
1490
|
-
when "filterUnits"
|
|
1491
|
-
self.filter_units = value
|
|
1492
|
-
when "primitiveUnits"
|
|
1493
|
-
self.primitive_units = value
|
|
1494
|
-
when "href"
|
|
1495
|
-
self.href = value
|
|
1496
|
-
else
|
|
1497
|
-
super
|
|
1498
|
-
end
|
|
1499
|
-
end
|
|
1500
|
-
end
|
|
1501
|
-
|
|
1502
|
-
# `<marker>` — arrowhead / line marker.
|
|
1503
|
-
class SVGMarkerElement < SVGElement
|
|
1504
|
-
def ref_x
|
|
1505
|
-
reflected_string("refX")
|
|
1506
|
-
end
|
|
1507
|
-
|
|
1508
|
-
def ref_x=(v)
|
|
1509
|
-
set_reflected_string("refX", v)
|
|
1510
|
-
end
|
|
1511
|
-
|
|
1512
|
-
def ref_y
|
|
1513
|
-
reflected_string("refY")
|
|
1514
|
-
end
|
|
1515
|
-
|
|
1516
|
-
def ref_y=(v)
|
|
1517
|
-
set_reflected_string("refY", v)
|
|
1518
|
-
end
|
|
1519
|
-
|
|
1520
|
-
def marker_width
|
|
1521
|
-
reflected_string("markerWidth")
|
|
1522
|
-
end
|
|
1523
|
-
|
|
1524
|
-
def marker_width=(v)
|
|
1525
|
-
set_reflected_string("markerWidth", v)
|
|
1526
|
-
end
|
|
1527
|
-
|
|
1528
|
-
def marker_height
|
|
1529
|
-
reflected_string("markerHeight")
|
|
1530
|
-
end
|
|
1531
|
-
|
|
1532
|
-
def marker_height=(v)
|
|
1533
|
-
set_reflected_string("markerHeight", v)
|
|
1534
|
-
end
|
|
1535
|
-
|
|
1536
|
-
def orient
|
|
1537
|
-
reflected_string("orient")
|
|
1538
|
-
end
|
|
1539
|
-
|
|
1540
|
-
def orient=(v)
|
|
1541
|
-
set_reflected_string("orient", v)
|
|
1542
|
-
end
|
|
1543
|
-
|
|
1544
|
-
def marker_units
|
|
1545
|
-
reflected_string("markerUnits")
|
|
1546
|
-
end
|
|
1547
|
-
|
|
1548
|
-
def marker_units=(v)
|
|
1549
|
-
set_reflected_string("markerUnits", v)
|
|
1550
|
-
end
|
|
1551
|
-
|
|
1552
|
-
def view_box
|
|
1553
|
-
reflected_string("viewBox")
|
|
1554
|
-
end
|
|
1555
|
-
|
|
1556
|
-
def view_box=(v)
|
|
1557
|
-
set_reflected_string("viewBox", v)
|
|
1558
|
-
end
|
|
1559
|
-
|
|
1560
|
-
def preserve_aspect_ratio
|
|
1561
|
-
reflected_string("preserveAspectRatio")
|
|
1562
|
-
end
|
|
1563
|
-
|
|
1564
|
-
def preserve_aspect_ratio=(v)
|
|
1565
|
-
set_reflected_string("preserveAspectRatio", v)
|
|
1566
|
-
end
|
|
1567
|
-
|
|
1568
|
-
def __js_get__(key)
|
|
1569
|
-
case key
|
|
1570
|
-
when "refX"
|
|
1571
|
-
ref_x
|
|
1572
|
-
when "refY"
|
|
1573
|
-
ref_y
|
|
1574
|
-
when "markerWidth"
|
|
1575
|
-
marker_width
|
|
1576
|
-
when "markerHeight"
|
|
1577
|
-
marker_height
|
|
1578
|
-
when "orient"
|
|
1579
|
-
orient
|
|
1580
|
-
when "markerUnits"
|
|
1581
|
-
marker_units
|
|
1582
|
-
when "viewBox"
|
|
1583
|
-
view_box
|
|
1584
|
-
when "preserveAspectRatio"
|
|
1585
|
-
preserve_aspect_ratio
|
|
1586
|
-
else
|
|
1587
|
-
super
|
|
1588
|
-
end
|
|
1589
|
-
end
|
|
1590
|
-
|
|
1591
|
-
def __js_set__(key, value)
|
|
1592
|
-
case key
|
|
1593
|
-
when "refX"
|
|
1594
|
-
self.ref_x = value
|
|
1595
|
-
when "refY"
|
|
1596
|
-
self.ref_y = value
|
|
1597
|
-
when "markerWidth"
|
|
1598
|
-
self.marker_width = value
|
|
1599
|
-
when "markerHeight"
|
|
1600
|
-
self.marker_height = value
|
|
1601
|
-
when "orient"
|
|
1602
|
-
self.orient = value
|
|
1603
|
-
when "markerUnits"
|
|
1604
|
-
self.marker_units = value
|
|
1605
|
-
when "viewBox"
|
|
1606
|
-
self.view_box = value
|
|
1607
|
-
when "preserveAspectRatio"
|
|
1608
|
-
self.preserve_aspect_ratio = value
|
|
1609
|
-
else
|
|
1610
|
-
super
|
|
1611
|
-
end
|
|
1612
|
-
end
|
|
1613
|
-
end
|
|
1614
|
-
|
|
1615
|
-
# `<a>` (in the SVG namespace) — a hyperlink wrapping SVG content.
|
|
1616
|
-
# Distinct from `HTMLAnchorElement` (the HTML `<a>`).
|
|
1617
|
-
class SVGAElement < SVGElement
|
|
1618
|
-
def href
|
|
1619
|
-
reflected_string("href")
|
|
1620
|
-
end
|
|
1621
|
-
|
|
1622
|
-
def href=(v)
|
|
1623
|
-
set_reflected_string("href", v)
|
|
1624
|
-
end
|
|
1625
|
-
|
|
1626
|
-
def target
|
|
1627
|
-
reflected_string("target")
|
|
1628
|
-
end
|
|
1629
|
-
|
|
1630
|
-
def target=(v)
|
|
1631
|
-
set_reflected_string("target", v)
|
|
1632
|
-
end
|
|
1633
|
-
|
|
1634
|
-
def download
|
|
1635
|
-
reflected_string("download")
|
|
1636
|
-
end
|
|
1637
|
-
|
|
1638
|
-
def download=(v)
|
|
1639
|
-
set_reflected_string("download", v)
|
|
1640
|
-
end
|
|
1641
|
-
|
|
1642
|
-
def rel
|
|
1643
|
-
reflected_string("rel")
|
|
1644
|
-
end
|
|
1645
|
-
|
|
1646
|
-
def rel=(v)
|
|
1647
|
-
set_reflected_string("rel", v)
|
|
1648
|
-
end
|
|
1649
|
-
|
|
1650
|
-
def type
|
|
1651
|
-
reflected_string("type")
|
|
1652
|
-
end
|
|
1653
|
-
|
|
1654
|
-
def type=(v)
|
|
1655
|
-
set_reflected_string("type", v)
|
|
1656
|
-
end
|
|
1657
|
-
|
|
1658
|
-
def __js_get__(key)
|
|
1659
|
-
case key
|
|
1660
|
-
when "href"
|
|
1661
|
-
href
|
|
1662
|
-
when "target"
|
|
1663
|
-
target
|
|
1664
|
-
when "download"
|
|
1665
|
-
download
|
|
1666
|
-
when "rel"
|
|
1667
|
-
rel
|
|
1668
|
-
when "type"
|
|
1669
|
-
type
|
|
1670
|
-
else
|
|
1671
|
-
super
|
|
1672
|
-
end
|
|
1673
|
-
end
|
|
1674
|
-
|
|
1675
|
-
def __js_set__(key, value)
|
|
1676
|
-
case key
|
|
1677
|
-
when "href"
|
|
1678
|
-
self.href = value
|
|
1679
|
-
when "target"
|
|
1680
|
-
self.target = value
|
|
1681
|
-
when "download"
|
|
1682
|
-
self.download = value
|
|
1683
|
-
when "rel"
|
|
1684
|
-
self.rel = value
|
|
1685
|
-
when "type"
|
|
1686
|
-
self.type = value
|
|
1687
|
-
else
|
|
1688
|
-
super
|
|
1689
|
-
end
|
|
1690
|
-
end
|
|
1691
|
-
end
|
|
1692
|
-
|
|
1693
|
-
# `<textPath>` — text laid out along a path.
|
|
1694
|
-
class SVGTextPathElement < SVGElement
|
|
1695
|
-
def href
|
|
1696
|
-
reflected_string("href")
|
|
1697
|
-
end
|
|
1698
|
-
|
|
1699
|
-
def href=(v)
|
|
1700
|
-
set_reflected_string("href", v)
|
|
1701
|
-
end
|
|
1702
|
-
|
|
1703
|
-
def start_offset
|
|
1704
|
-
reflected_string("startOffset")
|
|
1705
|
-
end
|
|
1706
|
-
|
|
1707
|
-
def start_offset=(v)
|
|
1708
|
-
set_reflected_string("startOffset", v)
|
|
1709
|
-
end
|
|
1710
|
-
|
|
1711
|
-
def method_attr
|
|
1712
|
-
reflected_string("method")
|
|
1713
|
-
end
|
|
1714
|
-
|
|
1715
|
-
def method_attr=(v)
|
|
1716
|
-
set_reflected_string("method", v)
|
|
1717
|
-
end
|
|
1718
|
-
|
|
1719
|
-
def spacing
|
|
1720
|
-
reflected_string("spacing")
|
|
1721
|
-
end
|
|
1722
|
-
|
|
1723
|
-
def spacing=(v)
|
|
1724
|
-
set_reflected_string("spacing", v)
|
|
1725
|
-
end
|
|
1726
|
-
|
|
1727
|
-
def text_length
|
|
1728
|
-
reflected_string("textLength")
|
|
1729
|
-
end
|
|
1730
|
-
|
|
1731
|
-
def text_length=(v)
|
|
1732
|
-
set_reflected_string("textLength", v)
|
|
1733
|
-
end
|
|
1734
|
-
|
|
1735
|
-
def length_adjust
|
|
1736
|
-
reflected_string("lengthAdjust")
|
|
1737
|
-
end
|
|
1738
|
-
|
|
1739
|
-
def length_adjust=(v)
|
|
1740
|
-
set_reflected_string("lengthAdjust", v)
|
|
1741
|
-
end
|
|
1742
|
-
|
|
1743
|
-
def __js_get__(key)
|
|
1744
|
-
case key
|
|
1745
|
-
when "href"
|
|
1746
|
-
href
|
|
1747
|
-
when "startOffset"
|
|
1748
|
-
start_offset
|
|
1749
|
-
when "method"
|
|
1750
|
-
method_attr
|
|
1751
|
-
when "spacing"
|
|
1752
|
-
spacing
|
|
1753
|
-
when "textLength"
|
|
1754
|
-
text_length
|
|
1755
|
-
when "lengthAdjust"
|
|
1756
|
-
length_adjust
|
|
1757
|
-
else
|
|
1758
|
-
super
|
|
1759
|
-
end
|
|
1760
|
-
end
|
|
1761
|
-
|
|
1762
|
-
def __js_set__(key, value)
|
|
1763
|
-
case key
|
|
1764
|
-
when "href"
|
|
1765
|
-
self.href = value
|
|
1766
|
-
when "startOffset"
|
|
1767
|
-
self.start_offset = value
|
|
1768
|
-
when "method"
|
|
1769
|
-
self.method_attr = value
|
|
1770
|
-
when "spacing"
|
|
1771
|
-
self.spacing = value
|
|
1772
|
-
when "textLength"
|
|
1773
|
-
self.text_length = value
|
|
1774
|
-
when "lengthAdjust"
|
|
1775
|
-
self.length_adjust = value
|
|
1776
|
-
else
|
|
1777
|
-
super
|
|
1778
|
-
end
|
|
1779
|
-
end
|
|
1780
|
-
end
|
|
1781
|
-
|
|
1782
|
-
# `<view>` — a named view region referenced by SVG fragment identifier.
|
|
1783
|
-
class SVGViewElement < SVGElement
|
|
1784
|
-
def view_box
|
|
1785
|
-
reflected_string("viewBox")
|
|
1786
|
-
end
|
|
1787
|
-
|
|
1788
|
-
def view_box=(v)
|
|
1789
|
-
set_reflected_string("viewBox", v)
|
|
1790
|
-
end
|
|
1791
|
-
|
|
1792
|
-
def preserve_aspect_ratio
|
|
1793
|
-
reflected_string("preserveAspectRatio")
|
|
1794
|
-
end
|
|
1795
|
-
|
|
1796
|
-
def preserve_aspect_ratio=(v)
|
|
1797
|
-
set_reflected_string("preserveAspectRatio", v)
|
|
1798
|
-
end
|
|
1799
|
-
|
|
1800
|
-
def zoom_and_pan
|
|
1801
|
-
reflected_string("zoomAndPan")
|
|
1802
|
-
end
|
|
1803
|
-
|
|
1804
|
-
def zoom_and_pan=(v)
|
|
1805
|
-
set_reflected_string("zoomAndPan", v)
|
|
1806
|
-
end
|
|
1807
|
-
|
|
1808
|
-
def __js_get__(key)
|
|
1809
|
-
case key
|
|
1810
|
-
when "viewBox"
|
|
1811
|
-
view_box
|
|
1812
|
-
when "preserveAspectRatio"
|
|
1813
|
-
preserve_aspect_ratio
|
|
1814
|
-
when "zoomAndPan"
|
|
1815
|
-
zoom_and_pan
|
|
1816
|
-
else
|
|
1817
|
-
super
|
|
1818
|
-
end
|
|
1819
|
-
end
|
|
1820
|
-
|
|
1821
|
-
def __js_set__(key, value)
|
|
1822
|
-
case key
|
|
1823
|
-
when "viewBox"
|
|
1824
|
-
self.view_box = value
|
|
1825
|
-
when "preserveAspectRatio"
|
|
1826
|
-
self.preserve_aspect_ratio = value
|
|
1827
|
-
when "zoomAndPan"
|
|
1828
|
-
self.zoom_and_pan = value
|
|
1829
|
-
else
|
|
1830
|
-
super
|
|
1831
|
-
end
|
|
1832
|
-
end
|
|
1833
|
-
end
|
|
1834
|
-
|
|
1835
|
-
# `<switch>` — conditionally renders the first child whose feature /
|
|
1836
|
-
# systemLanguage attributes match. No special own attributes.
|
|
1837
|
-
class SVGSwitchElement < SVGElement
|
|
1838
|
-
end
|
|
1839
|
-
|
|
1840
|
-
# `<metadata>` — XML metadata container; opaque to dommy.
|
|
1841
|
-
class SVGMetadataElement < SVGElement
|
|
1842
|
-
end
|
|
1843
|
-
|
|
1844
|
-
# ===== Filter primitives =====
|
|
1845
|
-
#
|
|
1846
|
-
# `<filter>`'s children. All inherit the standard region attrs
|
|
1847
|
-
# (x / y / width / height) plus `result` (the name of this
|
|
1848
|
-
# primitive's output, referenced by subsequent primitives via `in`).
|
|
1849
|
-
# Specific primitives add their own attributes.
|
|
1850
|
-
class SVGFilterPrimitiveElement < SVGElement
|
|
1851
|
-
def x
|
|
1852
|
-
reflected_string("x")
|
|
1853
|
-
end
|
|
1854
|
-
|
|
1855
|
-
def x=(v)
|
|
1856
|
-
set_reflected_string("x", v)
|
|
1857
|
-
end
|
|
1858
|
-
|
|
1859
|
-
def y
|
|
1860
|
-
reflected_string("y")
|
|
1861
|
-
end
|
|
1862
|
-
|
|
1863
|
-
def y=(v)
|
|
1864
|
-
set_reflected_string("y", v)
|
|
1865
|
-
end
|
|
1866
|
-
|
|
1867
|
-
def width
|
|
1868
|
-
reflected_string("width")
|
|
1869
|
-
end
|
|
1870
|
-
|
|
1871
|
-
def width=(v)
|
|
1872
|
-
set_reflected_string("width", v)
|
|
1873
|
-
end
|
|
1874
|
-
|
|
1875
|
-
def height
|
|
1876
|
-
reflected_string("height")
|
|
1877
|
-
end
|
|
1878
|
-
|
|
1879
|
-
def height=(v)
|
|
1880
|
-
set_reflected_string("height", v)
|
|
1881
|
-
end
|
|
1882
|
-
|
|
1883
|
-
def result
|
|
1884
|
-
reflected_string("result")
|
|
1885
|
-
end
|
|
1886
|
-
|
|
1887
|
-
def result=(v)
|
|
1888
|
-
set_reflected_string("result", v)
|
|
1889
|
-
end
|
|
1890
|
-
|
|
1891
|
-
def __js_get__(key)
|
|
1892
|
-
case key
|
|
1893
|
-
when "x"
|
|
1894
|
-
x
|
|
1895
|
-
when "y"
|
|
1896
|
-
y
|
|
1897
|
-
when "width"
|
|
1898
|
-
width
|
|
1899
|
-
when "height"
|
|
1900
|
-
height
|
|
1901
|
-
when "result"
|
|
1902
|
-
result
|
|
1903
|
-
else
|
|
1904
|
-
super
|
|
1905
|
-
end
|
|
1906
|
-
end
|
|
1907
|
-
|
|
1908
|
-
def __js_set__(key, value)
|
|
1909
|
-
case key
|
|
1910
|
-
when "x"
|
|
1911
|
-
self.x = value
|
|
1912
|
-
when "y"
|
|
1913
|
-
self.y = value
|
|
1914
|
-
when "width"
|
|
1915
|
-
self.width = value
|
|
1916
|
-
when "height"
|
|
1917
|
-
self.height = value
|
|
1918
|
-
when "result"
|
|
1919
|
-
self.result = value
|
|
1920
|
-
else
|
|
1921
|
-
super
|
|
1922
|
-
end
|
|
1923
|
-
end
|
|
1924
|
-
end
|
|
1925
|
-
|
|
1926
|
-
# `<feGaussianBlur>` — Gaussian blur primitive.
|
|
1927
|
-
class SVGFEGaussianBlurElement < SVGFilterPrimitiveElement
|
|
1928
|
-
def in1
|
|
1929
|
-
reflected_string("in")
|
|
1930
|
-
end
|
|
1931
|
-
|
|
1932
|
-
def in1=(v)
|
|
1933
|
-
set_reflected_string("in", v)
|
|
1934
|
-
end
|
|
1935
|
-
|
|
1936
|
-
def std_deviation
|
|
1937
|
-
reflected_string("stdDeviation")
|
|
1938
|
-
end
|
|
1939
|
-
|
|
1940
|
-
def std_deviation=(v)
|
|
1941
|
-
set_reflected_string("stdDeviation", v)
|
|
1942
|
-
end
|
|
1943
|
-
|
|
1944
|
-
def edge_mode
|
|
1945
|
-
reflected_string("edgeMode")
|
|
1946
|
-
end
|
|
1947
|
-
|
|
1948
|
-
def edge_mode=(v)
|
|
1949
|
-
set_reflected_string("edgeMode", v)
|
|
1950
|
-
end
|
|
1951
|
-
|
|
1952
|
-
def __js_get__(key)
|
|
1953
|
-
case key
|
|
1954
|
-
when "in"
|
|
1955
|
-
in1
|
|
1956
|
-
when "stdDeviation"
|
|
1957
|
-
std_deviation
|
|
1958
|
-
when "edgeMode"
|
|
1959
|
-
edge_mode
|
|
1960
|
-
else
|
|
1961
|
-
super
|
|
1962
|
-
end
|
|
1963
|
-
end
|
|
1964
|
-
|
|
1965
|
-
def __js_set__(key, value)
|
|
1966
|
-
case key
|
|
1967
|
-
when "in"
|
|
1968
|
-
self.in1 = value
|
|
1969
|
-
when "stdDeviation"
|
|
1970
|
-
self.std_deviation = value
|
|
1971
|
-
when "edgeMode"
|
|
1972
|
-
self.edge_mode = value
|
|
1973
|
-
else
|
|
1974
|
-
super
|
|
1975
|
-
end
|
|
1976
|
-
end
|
|
1977
|
-
end
|
|
1978
|
-
|
|
1979
|
-
# `<feOffset>` — translates input by (dx, dy).
|
|
1980
|
-
class SVGFEOffsetElement < SVGFilterPrimitiveElement
|
|
1981
|
-
def in1
|
|
1982
|
-
reflected_string("in")
|
|
1983
|
-
end
|
|
1984
|
-
|
|
1985
|
-
def in1=(v)
|
|
1986
|
-
set_reflected_string("in", v)
|
|
1987
|
-
end
|
|
1988
|
-
|
|
1989
|
-
def dx
|
|
1990
|
-
reflected_string("dx")
|
|
1991
|
-
end
|
|
1992
|
-
|
|
1993
|
-
def dx=(v)
|
|
1994
|
-
set_reflected_string("dx", v)
|
|
1995
|
-
end
|
|
1996
|
-
|
|
1997
|
-
def dy
|
|
1998
|
-
reflected_string("dy")
|
|
1999
|
-
end
|
|
2000
|
-
|
|
2001
|
-
def dy=(v)
|
|
2002
|
-
set_reflected_string("dy", v)
|
|
2003
|
-
end
|
|
2004
|
-
|
|
2005
|
-
def __js_get__(key)
|
|
2006
|
-
case key
|
|
2007
|
-
when "in"
|
|
2008
|
-
in1
|
|
2009
|
-
when "dx"
|
|
2010
|
-
dx
|
|
2011
|
-
when "dy"
|
|
2012
|
-
dy
|
|
2013
|
-
else
|
|
2014
|
-
super
|
|
2015
|
-
end
|
|
2016
|
-
end
|
|
2017
|
-
|
|
2018
|
-
def __js_set__(key, value)
|
|
2019
|
-
case key
|
|
2020
|
-
when "in"
|
|
2021
|
-
self.in1 = value
|
|
2022
|
-
when "dx"
|
|
2023
|
-
self.dx = value
|
|
2024
|
-
when "dy"
|
|
2025
|
-
self.dy = value
|
|
2026
|
-
else
|
|
2027
|
-
super
|
|
2028
|
-
end
|
|
2029
|
-
end
|
|
2030
|
-
end
|
|
2031
|
-
|
|
2032
|
-
# `<feBlend>` — blends two inputs with a mode.
|
|
2033
|
-
class SVGFEBlendElement < SVGFilterPrimitiveElement
|
|
2034
|
-
def in1
|
|
2035
|
-
reflected_string("in")
|
|
2036
|
-
end
|
|
2037
|
-
|
|
2038
|
-
def in1=(v)
|
|
2039
|
-
set_reflected_string("in", v)
|
|
2040
|
-
end
|
|
2041
|
-
|
|
2042
|
-
def in2
|
|
2043
|
-
reflected_string("in2")
|
|
2044
|
-
end
|
|
2045
|
-
|
|
2046
|
-
def in2=(v)
|
|
2047
|
-
set_reflected_string("in2", v)
|
|
2048
|
-
end
|
|
2049
|
-
|
|
2050
|
-
def mode
|
|
2051
|
-
reflected_string("mode")
|
|
2052
|
-
end
|
|
2053
|
-
|
|
2054
|
-
def mode=(v)
|
|
2055
|
-
set_reflected_string("mode", v)
|
|
2056
|
-
end
|
|
2057
|
-
|
|
2058
|
-
def __js_get__(key)
|
|
2059
|
-
case key
|
|
2060
|
-
when "in"
|
|
2061
|
-
in1
|
|
2062
|
-
when "in2"
|
|
2063
|
-
in2
|
|
2064
|
-
when "mode"
|
|
2065
|
-
mode
|
|
2066
|
-
else
|
|
2067
|
-
super
|
|
2068
|
-
end
|
|
2069
|
-
end
|
|
2070
|
-
|
|
2071
|
-
def __js_set__(key, value)
|
|
2072
|
-
case key
|
|
2073
|
-
when "in"
|
|
2074
|
-
self.in1 = value
|
|
2075
|
-
when "in2"
|
|
2076
|
-
self.in2 = value
|
|
2077
|
-
when "mode"
|
|
2078
|
-
self.mode = value
|
|
2079
|
-
else
|
|
2080
|
-
super
|
|
2081
|
-
end
|
|
2082
|
-
end
|
|
2083
|
-
end
|
|
2084
|
-
|
|
2085
|
-
# `<feColorMatrix>` — applies a color matrix transformation.
|
|
2086
|
-
class SVGFEColorMatrixElement < SVGFilterPrimitiveElement
|
|
2087
|
-
def in1
|
|
2088
|
-
reflected_string("in")
|
|
2089
|
-
end
|
|
2090
|
-
|
|
2091
|
-
def in1=(v)
|
|
2092
|
-
set_reflected_string("in", v)
|
|
2093
|
-
end
|
|
2094
|
-
|
|
2095
|
-
def type
|
|
2096
|
-
reflected_string("type")
|
|
2097
|
-
end
|
|
2098
|
-
|
|
2099
|
-
def type=(v)
|
|
2100
|
-
set_reflected_string("type", v)
|
|
2101
|
-
end
|
|
2102
|
-
|
|
2103
|
-
def values
|
|
2104
|
-
reflected_string("values")
|
|
2105
|
-
end
|
|
2106
|
-
|
|
2107
|
-
def values=(v)
|
|
2108
|
-
set_reflected_string("values", v)
|
|
2109
|
-
end
|
|
2110
|
-
|
|
2111
|
-
def __js_get__(key)
|
|
2112
|
-
case key
|
|
2113
|
-
when "in"
|
|
2114
|
-
in1
|
|
2115
|
-
when "type"
|
|
2116
|
-
type
|
|
2117
|
-
when "values"
|
|
2118
|
-
values
|
|
2119
|
-
else
|
|
2120
|
-
super
|
|
2121
|
-
end
|
|
2122
|
-
end
|
|
2123
|
-
|
|
2124
|
-
def __js_set__(key, value)
|
|
2125
|
-
case key
|
|
2126
|
-
when "in"
|
|
2127
|
-
self.in1 = value
|
|
2128
|
-
when "type"
|
|
2129
|
-
self.type = value
|
|
2130
|
-
when "values"
|
|
2131
|
-
self.values = value
|
|
2132
|
-
else
|
|
2133
|
-
super
|
|
2134
|
-
end
|
|
2135
|
-
end
|
|
2136
|
-
end
|
|
2137
|
-
|
|
2138
|
-
# `<feFlood>` — fills the primitive region with a solid color.
|
|
2139
|
-
class SVGFEFloodElement < SVGFilterPrimitiveElement
|
|
2140
|
-
def flood_color
|
|
2141
|
-
reflected_string("flood-color")
|
|
2142
|
-
end
|
|
2143
|
-
|
|
2144
|
-
def flood_color=(v)
|
|
2145
|
-
set_reflected_string("flood-color", v)
|
|
2146
|
-
end
|
|
2147
|
-
|
|
2148
|
-
def flood_opacity
|
|
2149
|
-
reflected_string("flood-opacity")
|
|
2150
|
-
end
|
|
2151
|
-
|
|
2152
|
-
def flood_opacity=(v)
|
|
2153
|
-
set_reflected_string("flood-opacity", v)
|
|
2154
|
-
end
|
|
2155
|
-
|
|
2156
|
-
def __js_get__(key)
|
|
2157
|
-
case key
|
|
2158
|
-
when "flood-color"
|
|
2159
|
-
flood_color
|
|
2160
|
-
when "flood-opacity"
|
|
2161
|
-
flood_opacity
|
|
2162
|
-
else
|
|
2163
|
-
super
|
|
2164
|
-
end
|
|
2165
|
-
end
|
|
2166
|
-
|
|
2167
|
-
def __js_set__(key, value)
|
|
2168
|
-
case key
|
|
2169
|
-
when "flood-color"
|
|
2170
|
-
self.flood_color = value
|
|
2171
|
-
when "flood-opacity"
|
|
2172
|
-
self.flood_opacity = value
|
|
2173
|
-
else
|
|
2174
|
-
super
|
|
2175
|
-
end
|
|
2176
|
-
end
|
|
2177
|
-
end
|
|
2178
|
-
|
|
2179
|
-
# `<feComposite>` — composes two inputs per the Porter–Duff
|
|
2180
|
-
# `operator` (or arithmetic with k1..k4).
|
|
2181
|
-
class SVGFECompositeElement < SVGFilterPrimitiveElement
|
|
2182
|
-
def in1
|
|
2183
|
-
reflected_string("in")
|
|
2184
|
-
end
|
|
2185
|
-
|
|
2186
|
-
def in1=(v)
|
|
2187
|
-
set_reflected_string("in", v)
|
|
2188
|
-
end
|
|
2189
|
-
|
|
2190
|
-
def in2
|
|
2191
|
-
reflected_string("in2")
|
|
2192
|
-
end
|
|
2193
|
-
|
|
2194
|
-
def in2=(v)
|
|
2195
|
-
set_reflected_string("in2", v)
|
|
2196
|
-
end
|
|
2197
|
-
|
|
2198
|
-
def operator
|
|
2199
|
-
reflected_string("operator")
|
|
2200
|
-
end
|
|
2201
|
-
|
|
2202
|
-
def operator=(v)
|
|
2203
|
-
set_reflected_string("operator", v)
|
|
2204
|
-
end
|
|
2205
|
-
|
|
2206
|
-
def k1
|
|
2207
|
-
reflected_string("k1")
|
|
2208
|
-
end
|
|
2209
|
-
|
|
2210
|
-
def k1=(v)
|
|
2211
|
-
set_reflected_string("k1", v)
|
|
2212
|
-
end
|
|
2213
|
-
|
|
2214
|
-
def k2
|
|
2215
|
-
reflected_string("k2")
|
|
2216
|
-
end
|
|
2217
|
-
|
|
2218
|
-
def k2=(v)
|
|
2219
|
-
set_reflected_string("k2", v)
|
|
2220
|
-
end
|
|
2221
|
-
|
|
2222
|
-
def k3
|
|
2223
|
-
reflected_string("k3")
|
|
2224
|
-
end
|
|
2225
|
-
|
|
2226
|
-
def k3=(v)
|
|
2227
|
-
set_reflected_string("k3", v)
|
|
2228
|
-
end
|
|
2229
|
-
|
|
2230
|
-
def k4
|
|
2231
|
-
reflected_string("k4")
|
|
2232
|
-
end
|
|
2233
|
-
|
|
2234
|
-
def k4=(v)
|
|
2235
|
-
set_reflected_string("k4", v)
|
|
2236
|
-
end
|
|
2237
|
-
|
|
2238
|
-
def __js_get__(key)
|
|
2239
|
-
case key
|
|
2240
|
-
when "in"
|
|
2241
|
-
in1
|
|
2242
|
-
when "in2"
|
|
2243
|
-
in2
|
|
2244
|
-
when "operator"
|
|
2245
|
-
operator
|
|
2246
|
-
when "k1"
|
|
2247
|
-
k1
|
|
2248
|
-
when "k2"
|
|
2249
|
-
k2
|
|
2250
|
-
when "k3"
|
|
2251
|
-
k3
|
|
2252
|
-
when "k4"
|
|
2253
|
-
k4
|
|
2254
|
-
else
|
|
2255
|
-
super
|
|
2256
|
-
end
|
|
2257
|
-
end
|
|
2258
|
-
|
|
2259
|
-
def __js_set__(key, value)
|
|
2260
|
-
case key
|
|
2261
|
-
when "in"
|
|
2262
|
-
self.in1 = value
|
|
2263
|
-
when "in2"
|
|
2264
|
-
self.in2 = value
|
|
2265
|
-
when "operator"
|
|
2266
|
-
self.operator = value
|
|
2267
|
-
when "k1"
|
|
2268
|
-
self.k1 = value
|
|
2269
|
-
when "k2"
|
|
2270
|
-
self.k2 = value
|
|
2271
|
-
when "k3"
|
|
2272
|
-
self.k3 = value
|
|
2273
|
-
when "k4"
|
|
2274
|
-
self.k4 = value
|
|
2275
|
-
else
|
|
2276
|
-
super
|
|
2277
|
-
end
|
|
2278
|
-
end
|
|
2279
|
-
end
|
|
2280
|
-
|
|
2281
|
-
# `<feMerge>` — composites a list of inputs (children are
|
|
2282
|
-
# `<feMergeNode>` elements naming the inputs).
|
|
2283
|
-
class SVGFEMergeElement < SVGFilterPrimitiveElement
|
|
2284
|
-
end
|
|
2285
|
-
|
|
2286
|
-
# `<feMergeNode>` — a single input reference inside `<feMerge>`.
|
|
2287
|
-
# Not itself a region/result primitive, but inherits the common
|
|
2288
|
-
# attribute machinery from SVGElement.
|
|
2289
|
-
class SVGFEMergeNodeElement < SVGElement
|
|
2290
|
-
def in1
|
|
2291
|
-
reflected_string("in")
|
|
2292
|
-
end
|
|
2293
|
-
|
|
2294
|
-
def in1=(v)
|
|
2295
|
-
set_reflected_string("in", v)
|
|
2296
|
-
end
|
|
2297
|
-
|
|
2298
|
-
def __js_get__(key)
|
|
2299
|
-
key == "in" ? in1 : super
|
|
2300
|
-
end
|
|
2301
|
-
|
|
2302
|
-
def __js_set__(key, value)
|
|
2303
|
-
key == "in" ? (self.in1 = value) : super
|
|
2304
|
-
end
|
|
2305
|
-
end
|
|
2306
|
-
|
|
2307
|
-
# `<feComponentTransfer>` — per-channel color transfer. Children are
|
|
2308
|
-
# `<feFuncR>` / `<feFuncG>` / `<feFuncB>` / `<feFuncA>`.
|
|
2309
|
-
class SVGFEComponentTransferElement < SVGFilterPrimitiveElement
|
|
2310
|
-
def in1
|
|
2311
|
-
reflected_string("in")
|
|
2312
|
-
end
|
|
2313
|
-
|
|
2314
|
-
def in1=(v)
|
|
2315
|
-
set_reflected_string("in", v)
|
|
2316
|
-
end
|
|
2317
|
-
|
|
2318
|
-
def __js_get__(key)
|
|
2319
|
-
key == "in" ? in1 : super
|
|
2320
|
-
end
|
|
2321
|
-
|
|
2322
|
-
def __js_set__(key, value)
|
|
2323
|
-
key == "in" ? (self.in1 = value) : super
|
|
2324
|
-
end
|
|
2325
|
-
end
|
|
2326
|
-
|
|
2327
|
-
# Base for `<feFuncR>` / `<feFuncG>` / `<feFuncB>` / `<feFuncA>`.
|
|
2328
|
-
# Per the DOM spec, all four share the same attribute set
|
|
2329
|
-
# (`type` + parameters by type) so they're modeled as a single
|
|
2330
|
-
# superclass that the four tag-specific subclasses inherit verbatim.
|
|
2331
|
-
class SVGComponentTransferFunctionElement < SVGElement
|
|
2332
|
-
def type
|
|
2333
|
-
reflected_string("type")
|
|
2334
|
-
end
|
|
2335
|
-
|
|
2336
|
-
def type=(v)
|
|
2337
|
-
set_reflected_string("type", v)
|
|
2338
|
-
end
|
|
2339
|
-
|
|
2340
|
-
def table_values
|
|
2341
|
-
reflected_string("tableValues")
|
|
2342
|
-
end
|
|
2343
|
-
|
|
2344
|
-
def table_values=(v)
|
|
2345
|
-
set_reflected_string("tableValues", v)
|
|
2346
|
-
end
|
|
2347
|
-
|
|
2348
|
-
def slope
|
|
2349
|
-
reflected_string("slope")
|
|
2350
|
-
end
|
|
2351
|
-
|
|
2352
|
-
def slope=(v)
|
|
2353
|
-
set_reflected_string("slope", v)
|
|
2354
|
-
end
|
|
2355
|
-
|
|
2356
|
-
def intercept
|
|
2357
|
-
reflected_string("intercept")
|
|
2358
|
-
end
|
|
2359
|
-
|
|
2360
|
-
def intercept=(v)
|
|
2361
|
-
set_reflected_string("intercept", v)
|
|
2362
|
-
end
|
|
2363
|
-
|
|
2364
|
-
def amplitude
|
|
2365
|
-
reflected_string("amplitude")
|
|
2366
|
-
end
|
|
2367
|
-
|
|
2368
|
-
def amplitude=(v)
|
|
2369
|
-
set_reflected_string("amplitude", v)
|
|
2370
|
-
end
|
|
2371
|
-
|
|
2372
|
-
def exponent
|
|
2373
|
-
reflected_string("exponent")
|
|
2374
|
-
end
|
|
2375
|
-
|
|
2376
|
-
def exponent=(v)
|
|
2377
|
-
set_reflected_string("exponent", v)
|
|
2378
|
-
end
|
|
2379
|
-
|
|
2380
|
-
def offset
|
|
2381
|
-
reflected_string("offset")
|
|
2382
|
-
end
|
|
2383
|
-
|
|
2384
|
-
def offset=(v)
|
|
2385
|
-
set_reflected_string("offset", v)
|
|
2386
|
-
end
|
|
2387
|
-
|
|
2388
|
-
def __js_get__(key)
|
|
2389
|
-
case key
|
|
2390
|
-
when "type"
|
|
2391
|
-
type
|
|
2392
|
-
when "tableValues"
|
|
2393
|
-
table_values
|
|
2394
|
-
when "slope"
|
|
2395
|
-
slope
|
|
2396
|
-
when "intercept"
|
|
2397
|
-
intercept
|
|
2398
|
-
when "amplitude"
|
|
2399
|
-
amplitude
|
|
2400
|
-
when "exponent"
|
|
2401
|
-
exponent
|
|
2402
|
-
when "offset"
|
|
2403
|
-
offset
|
|
2404
|
-
else
|
|
2405
|
-
super
|
|
2406
|
-
end
|
|
2407
|
-
end
|
|
2408
|
-
|
|
2409
|
-
def __js_set__(key, value)
|
|
2410
|
-
case key
|
|
2411
|
-
when "type"
|
|
2412
|
-
self.type = value
|
|
2413
|
-
when "tableValues"
|
|
2414
|
-
self.table_values = value
|
|
2415
|
-
when "slope"
|
|
2416
|
-
self.slope = value
|
|
2417
|
-
when "intercept"
|
|
2418
|
-
self.intercept = value
|
|
2419
|
-
when "amplitude"
|
|
2420
|
-
self.amplitude = value
|
|
2421
|
-
when "exponent"
|
|
2422
|
-
self.exponent = value
|
|
2423
|
-
when "offset"
|
|
2424
|
-
self.offset = value
|
|
2425
|
-
else
|
|
2426
|
-
super
|
|
2427
|
-
end
|
|
2428
|
-
end
|
|
2429
|
-
end
|
|
2430
|
-
|
|
2431
|
-
class SVGFEFuncRElement < SVGComponentTransferFunctionElement
|
|
2432
|
-
end
|
|
2433
|
-
|
|
2434
|
-
class SVGFEFuncGElement < SVGComponentTransferFunctionElement
|
|
2435
|
-
end
|
|
2436
|
-
|
|
2437
|
-
class SVGFEFuncBElement < SVGComponentTransferFunctionElement
|
|
178
|
+
# `<metadata>` — XML metadata container; opaque to dommy.
|
|
179
|
+
class SVGMetadataElement < SVGElement
|
|
2438
180
|
end
|
|
2439
181
|
|
|
2440
|
-
|
|
182
|
+
# ===== Filter primitives =====
|
|
183
|
+
#
|
|
184
|
+
# `<filter>`'s children. All inherit the standard region attrs
|
|
185
|
+
# (x / y / width / height) plus `result` (the name of this
|
|
186
|
+
# primitive's output, referenced by subsequent primitives via `in`).
|
|
187
|
+
# Specific primitives add their own attributes.
|
|
188
|
+
class SVGFilterPrimitiveElement < SVGElement
|
|
189
|
+
reflect_string :x, :y, :width, :height, :result
|
|
2441
190
|
end
|
|
2442
191
|
|
|
2443
|
-
# `<
|
|
2444
|
-
class
|
|
2445
|
-
|
|
2446
|
-
reflected_string("in")
|
|
2447
|
-
end
|
|
2448
|
-
|
|
2449
|
-
def in1=(v)
|
|
2450
|
-
set_reflected_string("in", v)
|
|
2451
|
-
end
|
|
2452
|
-
|
|
2453
|
-
def __js_get__(key)
|
|
2454
|
-
key == "in" ? in1 : super
|
|
2455
|
-
end
|
|
2456
|
-
|
|
2457
|
-
def __js_set__(key, value)
|
|
2458
|
-
key == "in" ? (self.in1 = value) : super
|
|
2459
|
-
end
|
|
192
|
+
# `<feGaussianBlur>` — Gaussian blur primitive.
|
|
193
|
+
class SVGFEGaussianBlurElement < SVGFilterPrimitiveElement
|
|
194
|
+
reflect_string :std_deviation, :edge_mode, in1: { attr: "in", js: "in" }
|
|
2460
195
|
end
|
|
2461
196
|
|
|
2462
|
-
# `<
|
|
2463
|
-
class
|
|
2464
|
-
|
|
2465
|
-
reflected_string("in")
|
|
2466
|
-
end
|
|
2467
|
-
|
|
2468
|
-
def in1=(v)
|
|
2469
|
-
set_reflected_string("in", v)
|
|
2470
|
-
end
|
|
2471
|
-
|
|
2472
|
-
def operator
|
|
2473
|
-
reflected_string("operator")
|
|
2474
|
-
end
|
|
2475
|
-
|
|
2476
|
-
def operator=(v)
|
|
2477
|
-
set_reflected_string("operator", v)
|
|
2478
|
-
end
|
|
2479
|
-
|
|
2480
|
-
def radius
|
|
2481
|
-
reflected_string("radius")
|
|
2482
|
-
end
|
|
2483
|
-
|
|
2484
|
-
def radius=(v)
|
|
2485
|
-
set_reflected_string("radius", v)
|
|
2486
|
-
end
|
|
2487
|
-
|
|
2488
|
-
def __js_get__(key)
|
|
2489
|
-
case key
|
|
2490
|
-
when "in"
|
|
2491
|
-
in1
|
|
2492
|
-
when "operator"
|
|
2493
|
-
operator
|
|
2494
|
-
when "radius"
|
|
2495
|
-
radius
|
|
2496
|
-
else
|
|
2497
|
-
super
|
|
2498
|
-
end
|
|
2499
|
-
end
|
|
2500
|
-
|
|
2501
|
-
def __js_set__(key, value)
|
|
2502
|
-
case key
|
|
2503
|
-
when "in"
|
|
2504
|
-
self.in1 = value
|
|
2505
|
-
when "operator"
|
|
2506
|
-
self.operator = value
|
|
2507
|
-
when "radius"
|
|
2508
|
-
self.radius = value
|
|
2509
|
-
else
|
|
2510
|
-
super
|
|
2511
|
-
end
|
|
2512
|
-
end
|
|
197
|
+
# `<feOffset>` — translates input by (dx, dy).
|
|
198
|
+
class SVGFEOffsetElement < SVGFilterPrimitiveElement
|
|
199
|
+
reflect_string :dx, :dy, in1: { attr: "in", js: "in" }
|
|
2513
200
|
end
|
|
2514
201
|
|
|
2515
|
-
# `<
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
def href
|
|
2519
|
-
reflected_string("href")
|
|
2520
|
-
end
|
|
2521
|
-
|
|
2522
|
-
def href=(v)
|
|
2523
|
-
set_reflected_string("href", v)
|
|
2524
|
-
end
|
|
2525
|
-
|
|
2526
|
-
def preserve_aspect_ratio
|
|
2527
|
-
reflected_string("preserveAspectRatio")
|
|
2528
|
-
end
|
|
2529
|
-
|
|
2530
|
-
def preserve_aspect_ratio=(v)
|
|
2531
|
-
set_reflected_string("preserveAspectRatio", v)
|
|
2532
|
-
end
|
|
2533
|
-
|
|
2534
|
-
def crossorigin
|
|
2535
|
-
reflected_string("crossorigin")
|
|
2536
|
-
end
|
|
2537
|
-
|
|
2538
|
-
def crossorigin=(v)
|
|
2539
|
-
set_reflected_string("crossorigin", v)
|
|
2540
|
-
end
|
|
2541
|
-
|
|
2542
|
-
def __js_get__(key)
|
|
2543
|
-
case key
|
|
2544
|
-
when "href"
|
|
2545
|
-
href
|
|
2546
|
-
when "preserveAspectRatio"
|
|
2547
|
-
preserve_aspect_ratio
|
|
2548
|
-
when "crossorigin"
|
|
2549
|
-
crossorigin
|
|
2550
|
-
else
|
|
2551
|
-
super
|
|
2552
|
-
end
|
|
2553
|
-
end
|
|
2554
|
-
|
|
2555
|
-
def __js_set__(key, value)
|
|
2556
|
-
case key
|
|
2557
|
-
when "href"
|
|
2558
|
-
self.href = value
|
|
2559
|
-
when "preserveAspectRatio"
|
|
2560
|
-
self.preserve_aspect_ratio = value
|
|
2561
|
-
when "crossorigin"
|
|
2562
|
-
self.crossorigin = value
|
|
2563
|
-
else
|
|
2564
|
-
super
|
|
2565
|
-
end
|
|
2566
|
-
end
|
|
202
|
+
# `<feBlend>` — blends two inputs with a mode.
|
|
203
|
+
class SVGFEBlendElement < SVGFilterPrimitiveElement
|
|
204
|
+
reflect_string :in2, :mode, in1: { attr: "in", js: "in" }
|
|
2567
205
|
end
|
|
2568
206
|
|
|
2569
|
-
# `<
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
class SVGFEDropShadowElement < SVGFilterPrimitiveElement
|
|
2573
|
-
def in1
|
|
2574
|
-
reflected_string("in")
|
|
2575
|
-
end
|
|
2576
|
-
|
|
2577
|
-
def in1=(v)
|
|
2578
|
-
set_reflected_string("in", v)
|
|
2579
|
-
end
|
|
2580
|
-
|
|
2581
|
-
def dx
|
|
2582
|
-
reflected_string("dx")
|
|
2583
|
-
end
|
|
2584
|
-
|
|
2585
|
-
def dx=(v)
|
|
2586
|
-
set_reflected_string("dx", v)
|
|
2587
|
-
end
|
|
2588
|
-
|
|
2589
|
-
def dy
|
|
2590
|
-
reflected_string("dy")
|
|
2591
|
-
end
|
|
2592
|
-
|
|
2593
|
-
def dy=(v)
|
|
2594
|
-
set_reflected_string("dy", v)
|
|
2595
|
-
end
|
|
2596
|
-
|
|
2597
|
-
def std_deviation
|
|
2598
|
-
reflected_string("stdDeviation")
|
|
2599
|
-
end
|
|
2600
|
-
|
|
2601
|
-
def std_deviation=(v)
|
|
2602
|
-
set_reflected_string("stdDeviation", v)
|
|
2603
|
-
end
|
|
2604
|
-
|
|
2605
|
-
def flood_color
|
|
2606
|
-
reflected_string("flood-color")
|
|
2607
|
-
end
|
|
2608
|
-
|
|
2609
|
-
def flood_color=(v)
|
|
2610
|
-
set_reflected_string("flood-color", v)
|
|
2611
|
-
end
|
|
2612
|
-
|
|
2613
|
-
def flood_opacity
|
|
2614
|
-
reflected_string("flood-opacity")
|
|
2615
|
-
end
|
|
2616
|
-
|
|
2617
|
-
def flood_opacity=(v)
|
|
2618
|
-
set_reflected_string("flood-opacity", v)
|
|
2619
|
-
end
|
|
2620
|
-
|
|
2621
|
-
def __js_get__(key)
|
|
2622
|
-
case key
|
|
2623
|
-
when "in"
|
|
2624
|
-
in1
|
|
2625
|
-
when "dx"
|
|
2626
|
-
dx
|
|
2627
|
-
when "dy"
|
|
2628
|
-
dy
|
|
2629
|
-
when "stdDeviation"
|
|
2630
|
-
std_deviation
|
|
2631
|
-
when "flood-color"
|
|
2632
|
-
flood_color
|
|
2633
|
-
when "flood-opacity"
|
|
2634
|
-
flood_opacity
|
|
2635
|
-
else
|
|
2636
|
-
super
|
|
2637
|
-
end
|
|
2638
|
-
end
|
|
2639
|
-
|
|
2640
|
-
def __js_set__(key, value)
|
|
2641
|
-
case key
|
|
2642
|
-
when "in"
|
|
2643
|
-
self.in1 = value
|
|
2644
|
-
when "dx"
|
|
2645
|
-
self.dx = value
|
|
2646
|
-
when "dy"
|
|
2647
|
-
self.dy = value
|
|
2648
|
-
when "stdDeviation"
|
|
2649
|
-
self.std_deviation = value
|
|
2650
|
-
when "flood-color"
|
|
2651
|
-
self.flood_color = value
|
|
2652
|
-
when "flood-opacity"
|
|
2653
|
-
self.flood_opacity = value
|
|
2654
|
-
else
|
|
2655
|
-
super
|
|
2656
|
-
end
|
|
2657
|
-
end
|
|
207
|
+
# `<feColorMatrix>` — applies a color matrix transformation.
|
|
208
|
+
class SVGFEColorMatrixElement < SVGFilterPrimitiveElement
|
|
209
|
+
reflect_string :type, :values, in1: { attr: "in", js: "in" }
|
|
2658
210
|
end
|
|
2659
211
|
|
|
2660
|
-
# `<
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
def base_frequency
|
|
2664
|
-
reflected_string("baseFrequency")
|
|
2665
|
-
end
|
|
2666
|
-
|
|
2667
|
-
def base_frequency=(v)
|
|
2668
|
-
set_reflected_string("baseFrequency", v)
|
|
2669
|
-
end
|
|
2670
|
-
|
|
2671
|
-
def num_octaves
|
|
2672
|
-
reflected_string("numOctaves")
|
|
2673
|
-
end
|
|
2674
|
-
|
|
2675
|
-
def num_octaves=(v)
|
|
2676
|
-
set_reflected_string("numOctaves", v)
|
|
2677
|
-
end
|
|
2678
|
-
|
|
2679
|
-
def seed
|
|
2680
|
-
reflected_string("seed")
|
|
2681
|
-
end
|
|
2682
|
-
|
|
2683
|
-
def seed=(v)
|
|
2684
|
-
set_reflected_string("seed", v)
|
|
2685
|
-
end
|
|
2686
|
-
|
|
2687
|
-
def stitch_tiles
|
|
2688
|
-
reflected_string("stitchTiles")
|
|
2689
|
-
end
|
|
2690
|
-
|
|
2691
|
-
def stitch_tiles=(v)
|
|
2692
|
-
set_reflected_string("stitchTiles", v)
|
|
2693
|
-
end
|
|
2694
|
-
|
|
2695
|
-
def type
|
|
2696
|
-
reflected_string("type")
|
|
2697
|
-
end
|
|
2698
|
-
|
|
2699
|
-
def type=(v)
|
|
2700
|
-
set_reflected_string("type", v)
|
|
2701
|
-
end
|
|
2702
|
-
|
|
2703
|
-
def __js_get__(key)
|
|
2704
|
-
case key
|
|
2705
|
-
when "baseFrequency"
|
|
2706
|
-
base_frequency
|
|
2707
|
-
when "numOctaves"
|
|
2708
|
-
num_octaves
|
|
2709
|
-
when "seed"
|
|
2710
|
-
seed
|
|
2711
|
-
when "stitchTiles"
|
|
2712
|
-
stitch_tiles
|
|
2713
|
-
when "type"
|
|
2714
|
-
type
|
|
2715
|
-
else
|
|
2716
|
-
super
|
|
2717
|
-
end
|
|
2718
|
-
end
|
|
2719
|
-
|
|
2720
|
-
def __js_set__(key, value)
|
|
2721
|
-
case key
|
|
2722
|
-
when "baseFrequency"
|
|
2723
|
-
self.base_frequency = value
|
|
2724
|
-
when "numOctaves"
|
|
2725
|
-
self.num_octaves = value
|
|
2726
|
-
when "seed"
|
|
2727
|
-
self.seed = value
|
|
2728
|
-
when "stitchTiles"
|
|
2729
|
-
self.stitch_tiles = value
|
|
2730
|
-
when "type"
|
|
2731
|
-
self.type = value
|
|
2732
|
-
else
|
|
2733
|
-
super
|
|
2734
|
-
end
|
|
2735
|
-
end
|
|
212
|
+
# `<feFlood>` — fills the primitive region with a solid color.
|
|
213
|
+
class SVGFEFloodElement < SVGFilterPrimitiveElement
|
|
214
|
+
reflect_string flood_color: { attr: "flood-color", js: "flood-color" }, flood_opacity: { attr: "flood-opacity", js: "flood-opacity" }
|
|
2736
215
|
end
|
|
2737
216
|
|
|
2738
|
-
# `<
|
|
2739
|
-
#
|
|
2740
|
-
class
|
|
2741
|
-
|
|
2742
|
-
reflected_string("in")
|
|
2743
|
-
end
|
|
2744
|
-
|
|
2745
|
-
def in1=(v)
|
|
2746
|
-
set_reflected_string("in", v)
|
|
2747
|
-
end
|
|
2748
|
-
|
|
2749
|
-
def in2
|
|
2750
|
-
reflected_string("in2")
|
|
2751
|
-
end
|
|
2752
|
-
|
|
2753
|
-
def in2=(v)
|
|
2754
|
-
set_reflected_string("in2", v)
|
|
2755
|
-
end
|
|
2756
|
-
|
|
2757
|
-
def scale
|
|
2758
|
-
reflected_string("scale")
|
|
2759
|
-
end
|
|
2760
|
-
|
|
2761
|
-
def scale=(v)
|
|
2762
|
-
set_reflected_string("scale", v)
|
|
2763
|
-
end
|
|
2764
|
-
|
|
2765
|
-
def x_channel_selector
|
|
2766
|
-
reflected_string("xChannelSelector")
|
|
2767
|
-
end
|
|
2768
|
-
|
|
2769
|
-
def x_channel_selector=(v)
|
|
2770
|
-
set_reflected_string("xChannelSelector", v)
|
|
2771
|
-
end
|
|
2772
|
-
|
|
2773
|
-
def y_channel_selector
|
|
2774
|
-
reflected_string("yChannelSelector")
|
|
2775
|
-
end
|
|
2776
|
-
|
|
2777
|
-
def y_channel_selector=(v)
|
|
2778
|
-
set_reflected_string("yChannelSelector", v)
|
|
2779
|
-
end
|
|
2780
|
-
|
|
2781
|
-
def __js_get__(key)
|
|
2782
|
-
case key
|
|
2783
|
-
when "in"
|
|
2784
|
-
in1
|
|
2785
|
-
when "in2"
|
|
2786
|
-
in2
|
|
2787
|
-
when "scale"
|
|
2788
|
-
scale
|
|
2789
|
-
when "xChannelSelector"
|
|
2790
|
-
x_channel_selector
|
|
2791
|
-
when "yChannelSelector"
|
|
2792
|
-
y_channel_selector
|
|
2793
|
-
else
|
|
2794
|
-
super
|
|
2795
|
-
end
|
|
2796
|
-
end
|
|
2797
|
-
|
|
2798
|
-
def __js_set__(key, value)
|
|
2799
|
-
case key
|
|
2800
|
-
when "in"
|
|
2801
|
-
self.in1 = value
|
|
2802
|
-
when "in2"
|
|
2803
|
-
self.in2 = value
|
|
2804
|
-
when "scale"
|
|
2805
|
-
self.scale = value
|
|
2806
|
-
when "xChannelSelector"
|
|
2807
|
-
self.x_channel_selector = value
|
|
2808
|
-
when "yChannelSelector"
|
|
2809
|
-
self.y_channel_selector = value
|
|
2810
|
-
else
|
|
2811
|
-
super
|
|
2812
|
-
end
|
|
2813
|
-
end
|
|
217
|
+
# `<feComposite>` — composes two inputs per the Porter–Duff
|
|
218
|
+
# `operator` (or arithmetic with k1..k4).
|
|
219
|
+
class SVGFECompositeElement < SVGFilterPrimitiveElement
|
|
220
|
+
reflect_string :in2, :operator, :k1, :k2, :k3, :k4, in1: { attr: "in", js: "in" }
|
|
2814
221
|
end
|
|
2815
222
|
|
|
2816
|
-
#
|
|
2817
|
-
#
|
|
2818
|
-
|
|
2819
|
-
# aren't specialized yet — see SVGElement fallback). Light sources
|
|
2820
|
-
# carry no `result` of their own; they configure the parent primitive.
|
|
2821
|
-
|
|
2822
|
-
# `<feDistantLight>` — light at infinity, characterized only by direction.
|
|
2823
|
-
class SVGFEDistantLightElement < SVGElement
|
|
2824
|
-
def azimuth
|
|
2825
|
-
reflected_string("azimuth")
|
|
2826
|
-
end
|
|
2827
|
-
|
|
2828
|
-
def azimuth=(v)
|
|
2829
|
-
set_reflected_string("azimuth", v)
|
|
2830
|
-
end
|
|
2831
|
-
|
|
2832
|
-
def elevation
|
|
2833
|
-
reflected_string("elevation")
|
|
2834
|
-
end
|
|
2835
|
-
|
|
2836
|
-
def elevation=(v)
|
|
2837
|
-
set_reflected_string("elevation", v)
|
|
2838
|
-
end
|
|
2839
|
-
|
|
2840
|
-
def __js_get__(key)
|
|
2841
|
-
case key
|
|
2842
|
-
when "azimuth"
|
|
2843
|
-
azimuth
|
|
2844
|
-
when "elevation"
|
|
2845
|
-
elevation
|
|
2846
|
-
else
|
|
2847
|
-
super
|
|
2848
|
-
end
|
|
2849
|
-
end
|
|
2850
|
-
|
|
2851
|
-
def __js_set__(key, value)
|
|
2852
|
-
case key
|
|
2853
|
-
when "azimuth"
|
|
2854
|
-
self.azimuth = value
|
|
2855
|
-
when "elevation"
|
|
2856
|
-
self.elevation = value
|
|
2857
|
-
else
|
|
2858
|
-
super
|
|
2859
|
-
end
|
|
2860
|
-
end
|
|
223
|
+
# `<feMerge>` — composites a list of inputs (children are
|
|
224
|
+
# `<feMergeNode>` elements naming the inputs).
|
|
225
|
+
class SVGFEMergeElement < SVGFilterPrimitiveElement
|
|
2861
226
|
end
|
|
2862
227
|
|
|
2863
|
-
# `<
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
|
|
2868
|
-
|
|
2869
|
-
def x=(v)
|
|
2870
|
-
set_reflected_string("x", v)
|
|
2871
|
-
end
|
|
2872
|
-
|
|
2873
|
-
def y
|
|
2874
|
-
reflected_string("y")
|
|
2875
|
-
end
|
|
2876
|
-
|
|
2877
|
-
def y=(v)
|
|
2878
|
-
set_reflected_string("y", v)
|
|
2879
|
-
end
|
|
2880
|
-
|
|
2881
|
-
def z
|
|
2882
|
-
reflected_string("z")
|
|
2883
|
-
end
|
|
2884
|
-
|
|
2885
|
-
def z=(v)
|
|
2886
|
-
set_reflected_string("z", v)
|
|
2887
|
-
end
|
|
2888
|
-
|
|
2889
|
-
def __js_get__(key)
|
|
2890
|
-
case key
|
|
2891
|
-
when "x"
|
|
2892
|
-
x
|
|
2893
|
-
when "y"
|
|
2894
|
-
y
|
|
2895
|
-
when "z"
|
|
2896
|
-
z
|
|
2897
|
-
else
|
|
2898
|
-
super
|
|
2899
|
-
end
|
|
2900
|
-
end
|
|
2901
|
-
|
|
2902
|
-
def __js_set__(key, value)
|
|
2903
|
-
case key
|
|
2904
|
-
when "x"
|
|
2905
|
-
self.x = value
|
|
2906
|
-
when "y"
|
|
2907
|
-
self.y = value
|
|
2908
|
-
when "z"
|
|
2909
|
-
self.z = value
|
|
2910
|
-
else
|
|
2911
|
-
super
|
|
2912
|
-
end
|
|
2913
|
-
end
|
|
228
|
+
# `<feMergeNode>` — a single input reference inside `<feMerge>`.
|
|
229
|
+
# Not itself a region/result primitive, but inherits the common
|
|
230
|
+
# attribute machinery from SVGElement.
|
|
231
|
+
class SVGFEMergeNodeElement < SVGElement
|
|
232
|
+
reflect_string in1: { attr: "in", js: "in" }
|
|
2914
233
|
end
|
|
2915
234
|
|
|
2916
|
-
# `<
|
|
2917
|
-
#
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
def x
|
|
2921
|
-
reflected_string("x")
|
|
2922
|
-
end
|
|
2923
|
-
|
|
2924
|
-
def x=(v)
|
|
2925
|
-
set_reflected_string("x", v)
|
|
2926
|
-
end
|
|
2927
|
-
|
|
2928
|
-
def y
|
|
2929
|
-
reflected_string("y")
|
|
2930
|
-
end
|
|
2931
|
-
|
|
2932
|
-
def y=(v)
|
|
2933
|
-
set_reflected_string("y", v)
|
|
2934
|
-
end
|
|
2935
|
-
|
|
2936
|
-
def z
|
|
2937
|
-
reflected_string("z")
|
|
2938
|
-
end
|
|
2939
|
-
|
|
2940
|
-
def z=(v)
|
|
2941
|
-
set_reflected_string("z", v)
|
|
2942
|
-
end
|
|
2943
|
-
|
|
2944
|
-
def points_at_x
|
|
2945
|
-
reflected_string("pointsAtX")
|
|
2946
|
-
end
|
|
2947
|
-
|
|
2948
|
-
def points_at_x=(v)
|
|
2949
|
-
set_reflected_string("pointsAtX", v)
|
|
2950
|
-
end
|
|
2951
|
-
|
|
2952
|
-
def points_at_y
|
|
2953
|
-
reflected_string("pointsAtY")
|
|
2954
|
-
end
|
|
2955
|
-
|
|
2956
|
-
def points_at_y=(v)
|
|
2957
|
-
set_reflected_string("pointsAtY", v)
|
|
2958
|
-
end
|
|
2959
|
-
|
|
2960
|
-
def points_at_z
|
|
2961
|
-
reflected_string("pointsAtZ")
|
|
2962
|
-
end
|
|
2963
|
-
|
|
2964
|
-
def points_at_z=(v)
|
|
2965
|
-
set_reflected_string("pointsAtZ", v)
|
|
2966
|
-
end
|
|
2967
|
-
|
|
2968
|
-
def specular_exponent
|
|
2969
|
-
reflected_string("specularExponent")
|
|
2970
|
-
end
|
|
2971
|
-
|
|
2972
|
-
def specular_exponent=(v)
|
|
2973
|
-
set_reflected_string("specularExponent", v)
|
|
2974
|
-
end
|
|
2975
|
-
|
|
2976
|
-
def limiting_cone_angle
|
|
2977
|
-
reflected_string("limitingConeAngle")
|
|
2978
|
-
end
|
|
2979
|
-
|
|
2980
|
-
def limiting_cone_angle=(v)
|
|
2981
|
-
set_reflected_string("limitingConeAngle", v)
|
|
2982
|
-
end
|
|
2983
|
-
|
|
2984
|
-
def __js_get__(key)
|
|
2985
|
-
case key
|
|
2986
|
-
when "x"
|
|
2987
|
-
x
|
|
2988
|
-
when "y"
|
|
2989
|
-
y
|
|
2990
|
-
when "z"
|
|
2991
|
-
z
|
|
2992
|
-
when "pointsAtX"
|
|
2993
|
-
points_at_x
|
|
2994
|
-
when "pointsAtY"
|
|
2995
|
-
points_at_y
|
|
2996
|
-
when "pointsAtZ"
|
|
2997
|
-
points_at_z
|
|
2998
|
-
when "specularExponent"
|
|
2999
|
-
specular_exponent
|
|
3000
|
-
when "limitingConeAngle"
|
|
3001
|
-
limiting_cone_angle
|
|
3002
|
-
else
|
|
3003
|
-
super
|
|
3004
|
-
end
|
|
3005
|
-
end
|
|
3006
|
-
|
|
3007
|
-
def __js_set__(key, value)
|
|
3008
|
-
case key
|
|
3009
|
-
when "x"
|
|
3010
|
-
self.x = value
|
|
3011
|
-
when "y"
|
|
3012
|
-
self.y = value
|
|
3013
|
-
when "z"
|
|
3014
|
-
self.z = value
|
|
3015
|
-
when "pointsAtX"
|
|
3016
|
-
self.points_at_x = value
|
|
3017
|
-
when "pointsAtY"
|
|
3018
|
-
self.points_at_y = value
|
|
3019
|
-
when "pointsAtZ"
|
|
3020
|
-
self.points_at_z = value
|
|
3021
|
-
when "specularExponent"
|
|
3022
|
-
self.specular_exponent = value
|
|
3023
|
-
when "limitingConeAngle"
|
|
3024
|
-
self.limiting_cone_angle = value
|
|
3025
|
-
else
|
|
3026
|
-
super
|
|
3027
|
-
end
|
|
3028
|
-
end
|
|
235
|
+
# `<feComponentTransfer>` — per-channel color transfer. Children are
|
|
236
|
+
# `<feFuncR>` / `<feFuncG>` / `<feFuncB>` / `<feFuncA>`.
|
|
237
|
+
class SVGFEComponentTransferElement < SVGFilterPrimitiveElement
|
|
238
|
+
reflect_string in1: { attr: "in", js: "in" }
|
|
3029
239
|
end
|
|
3030
240
|
|
|
3031
|
-
# `<
|
|
3032
|
-
#
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
|
|
3036
|
-
|
|
3037
|
-
|
|
3038
|
-
def in1=(v)
|
|
3039
|
-
set_reflected_string("in", v)
|
|
3040
|
-
end
|
|
3041
|
-
|
|
3042
|
-
def order
|
|
3043
|
-
reflected_string("order")
|
|
3044
|
-
end
|
|
3045
|
-
|
|
3046
|
-
def order=(v)
|
|
3047
|
-
set_reflected_string("order", v)
|
|
3048
|
-
end
|
|
3049
|
-
|
|
3050
|
-
def kernel_matrix
|
|
3051
|
-
reflected_string("kernelMatrix")
|
|
3052
|
-
end
|
|
3053
|
-
|
|
3054
|
-
def kernel_matrix=(v)
|
|
3055
|
-
set_reflected_string("kernelMatrix", v)
|
|
3056
|
-
end
|
|
3057
|
-
|
|
3058
|
-
def divisor
|
|
3059
|
-
reflected_string("divisor")
|
|
3060
|
-
end
|
|
241
|
+
# Base for `<feFuncR>` / `<feFuncG>` / `<feFuncB>` / `<feFuncA>`.
|
|
242
|
+
# Per the DOM spec, all four share the same attribute set
|
|
243
|
+
# (`type` + parameters by type) so they're modeled as a single
|
|
244
|
+
# superclass that the four tag-specific subclasses inherit verbatim.
|
|
245
|
+
class SVGComponentTransferFunctionElement < SVGElement
|
|
246
|
+
reflect_string :type, :table_values, :slope, :intercept, :amplitude, :exponent, :offset
|
|
247
|
+
end
|
|
3061
248
|
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
end
|
|
249
|
+
class SVGFEFuncRElement < SVGComponentTransferFunctionElement
|
|
250
|
+
end
|
|
3065
251
|
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
end
|
|
252
|
+
class SVGFEFuncGElement < SVGComponentTransferFunctionElement
|
|
253
|
+
end
|
|
3069
254
|
|
|
3070
|
-
|
|
3071
|
-
|
|
3072
|
-
end
|
|
255
|
+
class SVGFEFuncBElement < SVGComponentTransferFunctionElement
|
|
256
|
+
end
|
|
3073
257
|
|
|
3074
|
-
|
|
3075
|
-
|
|
3076
|
-
end
|
|
258
|
+
class SVGFEFuncAElement < SVGComponentTransferFunctionElement
|
|
259
|
+
end
|
|
3077
260
|
|
|
3078
|
-
|
|
3079
|
-
|
|
3080
|
-
|
|
261
|
+
# `<feTile>` — fills the primitive region by tiling its input.
|
|
262
|
+
class SVGFETileElement < SVGFilterPrimitiveElement
|
|
263
|
+
reflect_string in1: { attr: "in", js: "in" }
|
|
264
|
+
end
|
|
3081
265
|
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
|
|
266
|
+
# `<feMorphology>` — morphological erode / dilate.
|
|
267
|
+
class SVGFEMorphologyElement < SVGFilterPrimitiveElement
|
|
268
|
+
reflect_string :operator, :radius, in1: { attr: "in", js: "in" }
|
|
269
|
+
end
|
|
3085
270
|
|
|
3086
|
-
|
|
3087
|
-
|
|
3088
|
-
|
|
271
|
+
# `<feImage>` — fetches an external image (or references one by id)
|
|
272
|
+
# and supplies it as input to the filter pipeline.
|
|
273
|
+
class SVGFEImageElement < SVGFilterPrimitiveElement
|
|
274
|
+
reflect_string :href, :preserve_aspect_ratio, :crossorigin
|
|
275
|
+
end
|
|
3089
276
|
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
277
|
+
# `<feDropShadow>` — convenience filter primitive producing a
|
|
278
|
+
# drop shadow (Gaussian-blurred translated copy of the input,
|
|
279
|
+
# composited under the source).
|
|
280
|
+
class SVGFEDropShadowElement < SVGFilterPrimitiveElement
|
|
281
|
+
reflect_string :dx, :dy, :std_deviation, in1: { attr: "in", js: "in" }, flood_color: { attr: "flood-color", js: "flood-color" }, flood_opacity: { attr: "flood-opacity", js: "flood-opacity" }
|
|
282
|
+
end
|
|
3093
283
|
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
284
|
+
# `<feTurbulence>` — Perlin noise generator. No `in` (it produces
|
|
285
|
+
# output rather than transforming an input).
|
|
286
|
+
class SVGFETurbulenceElement < SVGFilterPrimitiveElement
|
|
287
|
+
reflect_string :base_frequency, :num_octaves, :seed, :stitch_tiles, :type
|
|
288
|
+
end
|
|
3097
289
|
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
290
|
+
# `<feDisplacementMap>` — uses one input as a map to displace pixels
|
|
291
|
+
# of another.
|
|
292
|
+
class SVGFEDisplacementMapElement < SVGFilterPrimitiveElement
|
|
293
|
+
reflect_string :in2, :scale, :x_channel_selector, :y_channel_selector, in1: { attr: "in", js: "in" }
|
|
294
|
+
end
|
|
3101
295
|
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
296
|
+
# ===== Light sources =====
|
|
297
|
+
#
|
|
298
|
+
# Children of `<feDiffuseLighting>` / `<feSpecularLighting>` (which
|
|
299
|
+
# aren't specialized yet — see SVGElement fallback). Light sources
|
|
300
|
+
# carry no `result` of their own; they configure the parent primitive.
|
|
3105
301
|
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
302
|
+
# `<feDistantLight>` — light at infinity, characterized only by direction.
|
|
303
|
+
class SVGFEDistantLightElement < SVGElement
|
|
304
|
+
reflect_string :azimuth, :elevation
|
|
305
|
+
end
|
|
3109
306
|
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
|
|
307
|
+
# `<fePointLight>` — point light source at (x, y, z).
|
|
308
|
+
class SVGFEPointLightElement < SVGElement
|
|
309
|
+
reflect_string :x, :y, :z
|
|
310
|
+
end
|
|
3113
311
|
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
when "kernelMatrix"
|
|
3121
|
-
kernel_matrix
|
|
3122
|
-
when "divisor"
|
|
3123
|
-
divisor
|
|
3124
|
-
when "bias"
|
|
3125
|
-
bias
|
|
3126
|
-
when "targetX"
|
|
3127
|
-
target_x
|
|
3128
|
-
when "targetY"
|
|
3129
|
-
target_y
|
|
3130
|
-
when "edgeMode"
|
|
3131
|
-
edge_mode
|
|
3132
|
-
when "kernelUnitLength"
|
|
3133
|
-
kernel_unit_length
|
|
3134
|
-
when "preserveAlpha"
|
|
3135
|
-
preserve_alpha
|
|
3136
|
-
else
|
|
3137
|
-
super
|
|
3138
|
-
end
|
|
3139
|
-
end
|
|
312
|
+
# `<feSpotLight>` — spotlight emanating from (x, y, z), aimed at
|
|
313
|
+
# (pointsAtX, pointsAtY, pointsAtZ). `limitingConeAngle` restricts
|
|
314
|
+
# the spread; `specularExponent` controls focus falloff.
|
|
315
|
+
class SVGFESpotLightElement < SVGElement
|
|
316
|
+
reflect_string :x, :y, :z, :points_at_x, :points_at_y, :points_at_z, :specular_exponent, :limiting_cone_angle
|
|
317
|
+
end
|
|
3140
318
|
|
|
3141
|
-
|
|
3142
|
-
|
|
3143
|
-
|
|
3144
|
-
|
|
3145
|
-
when "order"
|
|
3146
|
-
self.order = value
|
|
3147
|
-
when "kernelMatrix"
|
|
3148
|
-
self.kernel_matrix = value
|
|
3149
|
-
when "divisor"
|
|
3150
|
-
self.divisor = value
|
|
3151
|
-
when "bias"
|
|
3152
|
-
self.bias = value
|
|
3153
|
-
when "targetX"
|
|
3154
|
-
self.target_x = value
|
|
3155
|
-
when "targetY"
|
|
3156
|
-
self.target_y = value
|
|
3157
|
-
when "edgeMode"
|
|
3158
|
-
self.edge_mode = value
|
|
3159
|
-
when "kernelUnitLength"
|
|
3160
|
-
self.kernel_unit_length = value
|
|
3161
|
-
when "preserveAlpha"
|
|
3162
|
-
self.preserve_alpha = value
|
|
3163
|
-
else
|
|
3164
|
-
super
|
|
3165
|
-
end
|
|
3166
|
-
end
|
|
319
|
+
# `<feConvolveMatrix>` — applies an arbitrary convolution kernel.
|
|
320
|
+
# Heavy in attribute count; all are reflected.
|
|
321
|
+
class SVGFEConvolveMatrixElement < SVGFilterPrimitiveElement
|
|
322
|
+
reflect_string :order, :kernel_matrix, :divisor, :bias, :target_x, :target_y, :edge_mode, :kernel_unit_length, :preserve_alpha, in1: { attr: "in", js: "in" }
|
|
3167
323
|
end
|
|
3168
324
|
|
|
3169
325
|
# `<feDiffuseLighting>` — applies diffuse lighting based on a
|
|
3170
326
|
# bumpmap input and a light source child (one of feDistantLight /
|
|
3171
327
|
# fePointLight / feSpotLight).
|
|
3172
328
|
class SVGFEDiffuseLightingElement < SVGFilterPrimitiveElement
|
|
3173
|
-
|
|
3174
|
-
reflected_string("in")
|
|
3175
|
-
end
|
|
3176
|
-
|
|
3177
|
-
def in1=(v)
|
|
3178
|
-
set_reflected_string("in", v)
|
|
3179
|
-
end
|
|
3180
|
-
|
|
3181
|
-
def surface_scale
|
|
3182
|
-
reflected_string("surfaceScale")
|
|
3183
|
-
end
|
|
3184
|
-
|
|
3185
|
-
def surface_scale=(v)
|
|
3186
|
-
set_reflected_string("surfaceScale", v)
|
|
3187
|
-
end
|
|
3188
|
-
|
|
3189
|
-
def diffuse_constant
|
|
3190
|
-
reflected_string("diffuseConstant")
|
|
3191
|
-
end
|
|
3192
|
-
|
|
3193
|
-
def diffuse_constant=(v)
|
|
3194
|
-
set_reflected_string("diffuseConstant", v)
|
|
3195
|
-
end
|
|
3196
|
-
|
|
3197
|
-
def kernel_unit_length
|
|
3198
|
-
reflected_string("kernelUnitLength")
|
|
3199
|
-
end
|
|
3200
|
-
|
|
3201
|
-
def kernel_unit_length=(v)
|
|
3202
|
-
set_reflected_string("kernelUnitLength", v)
|
|
3203
|
-
end
|
|
3204
|
-
|
|
3205
|
-
def lighting_color
|
|
3206
|
-
reflected_string("lighting-color")
|
|
3207
|
-
end
|
|
3208
|
-
|
|
3209
|
-
def lighting_color=(v)
|
|
3210
|
-
set_reflected_string("lighting-color", v)
|
|
3211
|
-
end
|
|
3212
|
-
|
|
3213
|
-
def __js_get__(key)
|
|
3214
|
-
case key
|
|
3215
|
-
when "in"
|
|
3216
|
-
in1
|
|
3217
|
-
when "surfaceScale"
|
|
3218
|
-
surface_scale
|
|
3219
|
-
when "diffuseConstant"
|
|
3220
|
-
diffuse_constant
|
|
3221
|
-
when "kernelUnitLength"
|
|
3222
|
-
kernel_unit_length
|
|
3223
|
-
when "lighting-color"
|
|
3224
|
-
lighting_color
|
|
3225
|
-
else
|
|
3226
|
-
super
|
|
3227
|
-
end
|
|
3228
|
-
end
|
|
3229
|
-
|
|
3230
|
-
def __js_set__(key, value)
|
|
3231
|
-
case key
|
|
3232
|
-
when "in"
|
|
3233
|
-
self.in1 = value
|
|
3234
|
-
when "surfaceScale"
|
|
3235
|
-
self.surface_scale = value
|
|
3236
|
-
when "diffuseConstant"
|
|
3237
|
-
self.diffuse_constant = value
|
|
3238
|
-
when "kernelUnitLength"
|
|
3239
|
-
self.kernel_unit_length = value
|
|
3240
|
-
when "lighting-color"
|
|
3241
|
-
self.lighting_color = value
|
|
3242
|
-
else
|
|
3243
|
-
super
|
|
3244
|
-
end
|
|
3245
|
-
end
|
|
329
|
+
reflect_string :surface_scale, :diffuse_constant, :kernel_unit_length, in1: { attr: "in", js: "in" }, lighting_color: { attr: "lighting-color", js: "lighting-color" }
|
|
3246
330
|
end
|
|
3247
331
|
|
|
3248
332
|
# `<feSpecularLighting>` — applies specular (highlight) lighting.
|
|
3249
333
|
# Like feDiffuseLighting but with a specularConstant and
|
|
3250
334
|
# specularExponent driving the highlight shape.
|
|
3251
335
|
class SVGFESpecularLightingElement < SVGFilterPrimitiveElement
|
|
3252
|
-
|
|
3253
|
-
reflected_string("in")
|
|
3254
|
-
end
|
|
3255
|
-
|
|
3256
|
-
def in1=(v)
|
|
3257
|
-
set_reflected_string("in", v)
|
|
3258
|
-
end
|
|
3259
|
-
|
|
3260
|
-
def surface_scale
|
|
3261
|
-
reflected_string("surfaceScale")
|
|
3262
|
-
end
|
|
3263
|
-
|
|
3264
|
-
def surface_scale=(v)
|
|
3265
|
-
set_reflected_string("surfaceScale", v)
|
|
3266
|
-
end
|
|
3267
|
-
|
|
3268
|
-
def specular_constant
|
|
3269
|
-
reflected_string("specularConstant")
|
|
3270
|
-
end
|
|
3271
|
-
|
|
3272
|
-
def specular_constant=(v)
|
|
3273
|
-
set_reflected_string("specularConstant", v)
|
|
3274
|
-
end
|
|
3275
|
-
|
|
3276
|
-
def specular_exponent
|
|
3277
|
-
reflected_string("specularExponent")
|
|
3278
|
-
end
|
|
3279
|
-
|
|
3280
|
-
def specular_exponent=(v)
|
|
3281
|
-
set_reflected_string("specularExponent", v)
|
|
3282
|
-
end
|
|
3283
|
-
|
|
3284
|
-
def kernel_unit_length
|
|
3285
|
-
reflected_string("kernelUnitLength")
|
|
3286
|
-
end
|
|
3287
|
-
|
|
3288
|
-
def kernel_unit_length=(v)
|
|
3289
|
-
set_reflected_string("kernelUnitLength", v)
|
|
3290
|
-
end
|
|
3291
|
-
|
|
3292
|
-
def lighting_color
|
|
3293
|
-
reflected_string("lighting-color")
|
|
3294
|
-
end
|
|
3295
|
-
|
|
3296
|
-
def lighting_color=(v)
|
|
3297
|
-
set_reflected_string("lighting-color", v)
|
|
3298
|
-
end
|
|
3299
|
-
|
|
3300
|
-
def __js_get__(key)
|
|
3301
|
-
case key
|
|
3302
|
-
when "in"
|
|
3303
|
-
in1
|
|
3304
|
-
when "surfaceScale"
|
|
3305
|
-
surface_scale
|
|
3306
|
-
when "specularConstant"
|
|
3307
|
-
specular_constant
|
|
3308
|
-
when "specularExponent"
|
|
3309
|
-
specular_exponent
|
|
3310
|
-
when "kernelUnitLength"
|
|
3311
|
-
kernel_unit_length
|
|
3312
|
-
when "lighting-color"
|
|
3313
|
-
lighting_color
|
|
3314
|
-
else
|
|
3315
|
-
super
|
|
3316
|
-
end
|
|
3317
|
-
end
|
|
3318
|
-
|
|
3319
|
-
def __js_set__(key, value)
|
|
3320
|
-
case key
|
|
3321
|
-
when "in"
|
|
3322
|
-
self.in1 = value
|
|
3323
|
-
when "surfaceScale"
|
|
3324
|
-
self.surface_scale = value
|
|
3325
|
-
when "specularConstant"
|
|
3326
|
-
self.specular_constant = value
|
|
3327
|
-
when "specularExponent"
|
|
3328
|
-
self.specular_exponent = value
|
|
3329
|
-
when "kernelUnitLength"
|
|
3330
|
-
self.kernel_unit_length = value
|
|
3331
|
-
when "lighting-color"
|
|
3332
|
-
self.lighting_color = value
|
|
3333
|
-
else
|
|
3334
|
-
super
|
|
3335
|
-
end
|
|
3336
|
-
end
|
|
336
|
+
reflect_string :surface_scale, :specular_constant, :specular_exponent, :kernel_unit_length, in1: { attr: "in", js: "in" }, lighting_color: { attr: "lighting-color", js: "lighting-color" }
|
|
3337
337
|
end
|
|
3338
338
|
|
|
3339
339
|
# ===== SMIL animation =====
|
|
@@ -3348,443 +348,41 @@ module Dommy
|
|
|
3348
348
|
# The `begin` / `end` Ruby methods correspond exactly to the SVG
|
|
3349
349
|
# attributes; Ruby permits these as method names (block keywords
|
|
3350
350
|
# are only special syntax, not identifier-level reserved words).
|
|
3351
|
-
|
|
3352
|
-
reflected_string("begin")
|
|
3353
|
-
end
|
|
3354
|
-
|
|
3355
|
-
def begin=(v)
|
|
3356
|
-
set_reflected_string("begin", v)
|
|
3357
|
-
end
|
|
3358
|
-
|
|
3359
|
-
def end
|
|
3360
|
-
reflected_string("end")
|
|
3361
|
-
end
|
|
3362
|
-
|
|
3363
|
-
def end=(v)
|
|
3364
|
-
set_reflected_string("end", v)
|
|
3365
|
-
end
|
|
3366
|
-
|
|
3367
|
-
def dur
|
|
3368
|
-
reflected_string("dur")
|
|
3369
|
-
end
|
|
3370
|
-
|
|
3371
|
-
def dur=(v)
|
|
3372
|
-
set_reflected_string("dur", v)
|
|
3373
|
-
end
|
|
3374
|
-
|
|
3375
|
-
def min
|
|
3376
|
-
reflected_string("min")
|
|
3377
|
-
end
|
|
3378
|
-
|
|
3379
|
-
def min=(v)
|
|
3380
|
-
set_reflected_string("min", v)
|
|
3381
|
-
end
|
|
3382
|
-
|
|
3383
|
-
def max
|
|
3384
|
-
reflected_string("max")
|
|
3385
|
-
end
|
|
3386
|
-
|
|
3387
|
-
def max=(v)
|
|
3388
|
-
set_reflected_string("max", v)
|
|
3389
|
-
end
|
|
3390
|
-
|
|
3391
|
-
def restart
|
|
3392
|
-
reflected_string("restart")
|
|
3393
|
-
end
|
|
3394
|
-
|
|
3395
|
-
def restart=(v)
|
|
3396
|
-
set_reflected_string("restart", v)
|
|
3397
|
-
end
|
|
3398
|
-
|
|
3399
|
-
def repeat_count
|
|
3400
|
-
reflected_string("repeatCount")
|
|
3401
|
-
end
|
|
3402
|
-
|
|
3403
|
-
def repeat_count=(v)
|
|
3404
|
-
set_reflected_string("repeatCount", v)
|
|
3405
|
-
end
|
|
3406
|
-
|
|
3407
|
-
def repeat_dur
|
|
3408
|
-
reflected_string("repeatDur")
|
|
3409
|
-
end
|
|
3410
|
-
|
|
3411
|
-
def repeat_dur=(v)
|
|
3412
|
-
set_reflected_string("repeatDur", v)
|
|
3413
|
-
end
|
|
3414
|
-
|
|
3415
|
-
def fill
|
|
3416
|
-
reflected_string("fill")
|
|
3417
|
-
end
|
|
3418
|
-
|
|
3419
|
-
def fill=(v)
|
|
3420
|
-
set_reflected_string("fill", v)
|
|
3421
|
-
end
|
|
3422
|
-
|
|
3423
|
-
def attribute_name
|
|
3424
|
-
reflected_string("attributeName")
|
|
3425
|
-
end
|
|
3426
|
-
|
|
3427
|
-
def attribute_name=(v)
|
|
3428
|
-
set_reflected_string("attributeName", v)
|
|
3429
|
-
end
|
|
3430
|
-
|
|
3431
|
-
def __js_get__(key)
|
|
3432
|
-
case key
|
|
3433
|
-
when "begin"
|
|
3434
|
-
self.begin
|
|
3435
|
-
when "end"
|
|
3436
|
-
self.end
|
|
3437
|
-
when "dur"
|
|
3438
|
-
dur
|
|
3439
|
-
when "min"
|
|
3440
|
-
min
|
|
3441
|
-
when "max"
|
|
3442
|
-
max
|
|
3443
|
-
when "restart"
|
|
3444
|
-
restart
|
|
3445
|
-
when "repeatCount"
|
|
3446
|
-
repeat_count
|
|
3447
|
-
when "repeatDur"
|
|
3448
|
-
repeat_dur
|
|
3449
|
-
when "fill"
|
|
3450
|
-
fill
|
|
3451
|
-
when "attributeName"
|
|
3452
|
-
attribute_name
|
|
3453
|
-
else
|
|
3454
|
-
super
|
|
3455
|
-
end
|
|
3456
|
-
end
|
|
3457
|
-
|
|
3458
|
-
def __js_set__(key, value)
|
|
3459
|
-
case key
|
|
3460
|
-
when "begin"
|
|
3461
|
-
self.begin = value
|
|
3462
|
-
when "end"
|
|
3463
|
-
self.end = value
|
|
3464
|
-
when "dur"
|
|
3465
|
-
self.dur = value
|
|
3466
|
-
when "min"
|
|
3467
|
-
self.min = value
|
|
3468
|
-
when "max"
|
|
3469
|
-
self.max = value
|
|
3470
|
-
when "restart"
|
|
3471
|
-
self.restart = value
|
|
3472
|
-
when "repeatCount"
|
|
3473
|
-
self.repeat_count = value
|
|
3474
|
-
when "repeatDur"
|
|
3475
|
-
self.repeat_dur = value
|
|
3476
|
-
when "fill"
|
|
3477
|
-
self.fill = value
|
|
3478
|
-
when "attributeName"
|
|
3479
|
-
self.attribute_name = value
|
|
3480
|
-
else
|
|
3481
|
-
super
|
|
3482
|
-
end
|
|
3483
|
-
end
|
|
351
|
+
reflect_string :begin, :end, :dur, :min, :max, :restart, :repeat_count, :repeat_dur, :fill, :attribute_name
|
|
3484
352
|
end
|
|
3485
353
|
|
|
3486
354
|
# `<animate>` — animates a target attribute's value over time.
|
|
3487
355
|
class SVGAnimateElement < SVGAnimationElement
|
|
3488
|
-
|
|
3489
|
-
reflected_string("from")
|
|
3490
|
-
end
|
|
3491
|
-
|
|
3492
|
-
def from=(v)
|
|
3493
|
-
set_reflected_string("from", v)
|
|
3494
|
-
end
|
|
3495
|
-
|
|
3496
|
-
def to
|
|
3497
|
-
reflected_string("to")
|
|
3498
|
-
end
|
|
3499
|
-
|
|
3500
|
-
def to=(v)
|
|
3501
|
-
set_reflected_string("to", v)
|
|
3502
|
-
end
|
|
3503
|
-
|
|
3504
|
-
def by
|
|
3505
|
-
reflected_string("by")
|
|
3506
|
-
end
|
|
3507
|
-
|
|
3508
|
-
def by=(v)
|
|
3509
|
-
set_reflected_string("by", v)
|
|
3510
|
-
end
|
|
3511
|
-
|
|
3512
|
-
def values
|
|
3513
|
-
reflected_string("values")
|
|
3514
|
-
end
|
|
3515
|
-
|
|
3516
|
-
def values=(v)
|
|
3517
|
-
set_reflected_string("values", v)
|
|
3518
|
-
end
|
|
3519
|
-
|
|
3520
|
-
def calc_mode
|
|
3521
|
-
reflected_string("calcMode")
|
|
3522
|
-
end
|
|
3523
|
-
|
|
3524
|
-
def calc_mode=(v)
|
|
3525
|
-
set_reflected_string("calcMode", v)
|
|
3526
|
-
end
|
|
3527
|
-
|
|
3528
|
-
def key_times
|
|
3529
|
-
reflected_string("keyTimes")
|
|
3530
|
-
end
|
|
3531
|
-
|
|
3532
|
-
def key_times=(v)
|
|
3533
|
-
set_reflected_string("keyTimes", v)
|
|
3534
|
-
end
|
|
3535
|
-
|
|
3536
|
-
def key_splines
|
|
3537
|
-
reflected_string("keySplines")
|
|
3538
|
-
end
|
|
3539
|
-
|
|
3540
|
-
def key_splines=(v)
|
|
3541
|
-
set_reflected_string("keySplines", v)
|
|
3542
|
-
end
|
|
3543
|
-
|
|
3544
|
-
def __js_get__(key)
|
|
3545
|
-
case key
|
|
3546
|
-
when "from"
|
|
3547
|
-
from
|
|
3548
|
-
when "to"
|
|
3549
|
-
to
|
|
3550
|
-
when "by"
|
|
3551
|
-
by
|
|
3552
|
-
when "values"
|
|
3553
|
-
values
|
|
3554
|
-
when "calcMode"
|
|
3555
|
-
calc_mode
|
|
3556
|
-
when "keyTimes"
|
|
3557
|
-
key_times
|
|
3558
|
-
when "keySplines"
|
|
3559
|
-
key_splines
|
|
3560
|
-
else
|
|
3561
|
-
super
|
|
3562
|
-
end
|
|
3563
|
-
end
|
|
3564
|
-
|
|
3565
|
-
def __js_set__(key, value)
|
|
3566
|
-
case key
|
|
3567
|
-
when "from"
|
|
3568
|
-
self.from = value
|
|
3569
|
-
when "to"
|
|
3570
|
-
self.to = value
|
|
3571
|
-
when "by"
|
|
3572
|
-
self.by = value
|
|
3573
|
-
when "values"
|
|
3574
|
-
self.values = value
|
|
3575
|
-
when "calcMode"
|
|
3576
|
-
self.calc_mode = value
|
|
3577
|
-
when "keyTimes"
|
|
3578
|
-
self.key_times = value
|
|
3579
|
-
when "keySplines"
|
|
3580
|
-
self.key_splines = value
|
|
3581
|
-
else
|
|
3582
|
-
super
|
|
3583
|
-
end
|
|
3584
|
-
end
|
|
356
|
+
reflect_string :from, :to, :by, :values, :calc_mode, :key_times, :key_splines
|
|
3585
357
|
end
|
|
3586
358
|
|
|
3587
359
|
# `<animateTransform>` — animates a transform attribute (translate,
|
|
3588
360
|
# scale, rotate, skewX, skewY).
|
|
3589
361
|
class SVGAnimateTransformElement < SVGAnimationElement
|
|
3590
|
-
|
|
3591
|
-
reflected_string("type")
|
|
3592
|
-
end
|
|
3593
|
-
|
|
3594
|
-
def type=(v)
|
|
3595
|
-
set_reflected_string("type", v)
|
|
3596
|
-
end
|
|
3597
|
-
|
|
3598
|
-
def from
|
|
3599
|
-
reflected_string("from")
|
|
3600
|
-
end
|
|
3601
|
-
|
|
3602
|
-
def from=(v)
|
|
3603
|
-
set_reflected_string("from", v)
|
|
3604
|
-
end
|
|
3605
|
-
|
|
3606
|
-
def to
|
|
3607
|
-
reflected_string("to")
|
|
3608
|
-
end
|
|
3609
|
-
|
|
3610
|
-
def to=(v)
|
|
3611
|
-
set_reflected_string("to", v)
|
|
3612
|
-
end
|
|
3613
|
-
|
|
3614
|
-
def by
|
|
3615
|
-
reflected_string("by")
|
|
3616
|
-
end
|
|
3617
|
-
|
|
3618
|
-
def by=(v)
|
|
3619
|
-
set_reflected_string("by", v)
|
|
3620
|
-
end
|
|
3621
|
-
|
|
3622
|
-
def values
|
|
3623
|
-
reflected_string("values")
|
|
3624
|
-
end
|
|
3625
|
-
|
|
3626
|
-
def values=(v)
|
|
3627
|
-
set_reflected_string("values", v)
|
|
3628
|
-
end
|
|
3629
|
-
|
|
3630
|
-
def __js_get__(key)
|
|
3631
|
-
case key
|
|
3632
|
-
when "type"
|
|
3633
|
-
type
|
|
3634
|
-
when "from"
|
|
3635
|
-
from
|
|
3636
|
-
when "to"
|
|
3637
|
-
to
|
|
3638
|
-
when "by"
|
|
3639
|
-
by
|
|
3640
|
-
when "values"
|
|
3641
|
-
values
|
|
3642
|
-
else
|
|
3643
|
-
super
|
|
3644
|
-
end
|
|
3645
|
-
end
|
|
3646
|
-
|
|
3647
|
-
def __js_set__(key, value)
|
|
3648
|
-
case key
|
|
3649
|
-
when "type"
|
|
3650
|
-
self.type = value
|
|
3651
|
-
when "from"
|
|
3652
|
-
self.from = value
|
|
3653
|
-
when "to"
|
|
3654
|
-
self.to = value
|
|
3655
|
-
when "by"
|
|
3656
|
-
self.by = value
|
|
3657
|
-
when "values"
|
|
3658
|
-
self.values = value
|
|
3659
|
-
else
|
|
3660
|
-
super
|
|
3661
|
-
end
|
|
3662
|
-
end
|
|
362
|
+
reflect_string :type, :from, :to, :by, :values
|
|
3663
363
|
end
|
|
3664
364
|
|
|
3665
365
|
# `<animateMotion>` — animates an element along a path.
|
|
3666
366
|
class SVGAnimateMotionElement < SVGAnimationElement
|
|
3667
|
-
|
|
3668
|
-
reflected_string("path")
|
|
3669
|
-
end
|
|
3670
|
-
|
|
3671
|
-
def path=(v)
|
|
3672
|
-
set_reflected_string("path", v)
|
|
3673
|
-
end
|
|
3674
|
-
|
|
3675
|
-
def key_points
|
|
3676
|
-
reflected_string("keyPoints")
|
|
3677
|
-
end
|
|
3678
|
-
|
|
3679
|
-
def key_points=(v)
|
|
3680
|
-
set_reflected_string("keyPoints", v)
|
|
3681
|
-
end
|
|
3682
|
-
|
|
3683
|
-
def rotate
|
|
3684
|
-
reflected_string("rotate")
|
|
3685
|
-
end
|
|
3686
|
-
|
|
3687
|
-
def rotate=(v)
|
|
3688
|
-
set_reflected_string("rotate", v)
|
|
3689
|
-
end
|
|
3690
|
-
|
|
3691
|
-
def origin
|
|
3692
|
-
reflected_string("origin")
|
|
3693
|
-
end
|
|
3694
|
-
|
|
3695
|
-
def origin=(v)
|
|
3696
|
-
set_reflected_string("origin", v)
|
|
3697
|
-
end
|
|
3698
|
-
|
|
3699
|
-
def __js_get__(key)
|
|
3700
|
-
case key
|
|
3701
|
-
when "path"
|
|
3702
|
-
path
|
|
3703
|
-
when "keyPoints"
|
|
3704
|
-
key_points
|
|
3705
|
-
when "rotate"
|
|
3706
|
-
rotate
|
|
3707
|
-
when "origin"
|
|
3708
|
-
origin
|
|
3709
|
-
else
|
|
3710
|
-
super
|
|
3711
|
-
end
|
|
3712
|
-
end
|
|
3713
|
-
|
|
3714
|
-
def __js_set__(key, value)
|
|
3715
|
-
case key
|
|
3716
|
-
when "path"
|
|
3717
|
-
self.path = value
|
|
3718
|
-
when "keyPoints"
|
|
3719
|
-
self.key_points = value
|
|
3720
|
-
when "rotate"
|
|
3721
|
-
self.rotate = value
|
|
3722
|
-
when "origin"
|
|
3723
|
-
self.origin = value
|
|
3724
|
-
else
|
|
3725
|
-
super
|
|
3726
|
-
end
|
|
3727
|
-
end
|
|
367
|
+
reflect_string :path, :key_points, :rotate, :origin
|
|
3728
368
|
end
|
|
3729
369
|
|
|
3730
370
|
# `<set>` — sets the value of an attribute for a specified duration
|
|
3731
371
|
# (no interpolation between values).
|
|
3732
372
|
class SVGSetElement < SVGAnimationElement
|
|
3733
|
-
|
|
3734
|
-
reflected_string("to")
|
|
3735
|
-
end
|
|
3736
|
-
|
|
3737
|
-
def to=(v)
|
|
3738
|
-
set_reflected_string("to", v)
|
|
3739
|
-
end
|
|
3740
|
-
|
|
3741
|
-
def __js_get__(key)
|
|
3742
|
-
key == "to" ? to : super
|
|
3743
|
-
end
|
|
3744
|
-
|
|
3745
|
-
def __js_set__(key, value)
|
|
3746
|
-
key == "to" ? (self.to = value) : super
|
|
3747
|
-
end
|
|
373
|
+
reflect_string :to
|
|
3748
374
|
end
|
|
3749
375
|
|
|
3750
376
|
# `<mpath>` — child of `<animateMotion>` that references an external
|
|
3751
377
|
# `<path>` by href.
|
|
3752
378
|
class SVGMPathElement < SVGElement
|
|
3753
|
-
|
|
3754
|
-
reflected_string("href")
|
|
3755
|
-
end
|
|
3756
|
-
|
|
3757
|
-
def href=(v)
|
|
3758
|
-
set_reflected_string("href", v)
|
|
3759
|
-
end
|
|
3760
|
-
|
|
3761
|
-
def __js_get__(key)
|
|
3762
|
-
key == "href" ? href : super
|
|
3763
|
-
end
|
|
3764
|
-
|
|
3765
|
-
def __js_set__(key, value)
|
|
3766
|
-
key == "href" ? (self.href = value) : super
|
|
3767
|
-
end
|
|
379
|
+
reflect_string :href
|
|
3768
380
|
end
|
|
3769
381
|
|
|
3770
382
|
# `<discard>` (SVG 2) — removes the target element from the document
|
|
3771
383
|
# at a specified time.
|
|
3772
384
|
class SVGDiscardElement < SVGAnimationElement
|
|
3773
|
-
|
|
3774
|
-
reflected_string("href")
|
|
3775
|
-
end
|
|
3776
|
-
|
|
3777
|
-
def href=(v)
|
|
3778
|
-
set_reflected_string("href", v)
|
|
3779
|
-
end
|
|
3780
|
-
|
|
3781
|
-
def __js_get__(key)
|
|
3782
|
-
key == "href" ? href : super
|
|
3783
|
-
end
|
|
3784
|
-
|
|
3785
|
-
def __js_set__(key, value)
|
|
3786
|
-
key == "href" ? (self.href = value) : super
|
|
3787
|
-
end
|
|
385
|
+
reflect_string :href
|
|
3788
386
|
end
|
|
3789
387
|
|
|
3790
388
|
# Tag-name → class lookup. Keys are the lowercased form Nokogiri::HTML5
|