blob: 4d5aa11976daf4ca6e2cef1fa4f45857c92df97f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
|
>> Element <<
Stop
Bare
>> Parent <<
Text
TextPath
>> Container<<
Doc
G
Symbol
Defs
ClipPath
Mask
A
Gradient
Shape
Rect
Circle
Path
Ellipse
Polygon
Polyline
Line
Image
Animate
Box
Color
Controller
=====================================================================
classes:
// MetaData
Title
// Parents
SVG
G
// Elements
Rect
Circle
Path
Ellipse
Polygon
Polyline
Line
Image
// Text Stuff
TSpan
TextPath
// Data Type
Box
Matrix
SVGNumber
SVGArray
PointArray
PathArray
Color
Controller
abilities:
Animate
Container
Event
Doc
Movements
Dom
Create
// DocAbility.js
import SVG from 'Svg.js'
export default function ( ...worksOn ) {
let workSet = new Set(worksOn)
return {
doc: function () {
return this.parent(SVG)
}
}
}
-> svg.js -> DocAbility.js -> 'Svg.js'
extend ( [ Rect ], DocAbility() )
// DomAbility.js
import {makeInstance} from 'helpers.js'
export default function ( ...worksOn ) {
let workSet = new Set(worksOn)
let maker = makeInstance(workSet)
return {
addTo (parent) {
return maker(parent).put(this)
}
}
}
class Rect {
static tagName = 'Rect'
}
new SVG[capitalize[node.nodeName]]
new SVG.Doc() -> <svg xml="">......</svg>
// SVG.js
extend( [ ...Parents ], Container(...Elements, ...Parents) ) )
extend( [ Text ], Container( TSpan, TextPath ) )
Element.js
new Element ()
export default class Element {
static
static
}
Rect.js
import Element from Element.js
export default class Rect extends Element
|