Skip to content

Commit 6d569ad

Browse files
committed
DOM module
1 parent 00ec241 commit 6d569ad

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+896
-731
lines changed
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@
2929
// 3. This notice may not be removed or altered from any source distribution.
3030
//
3131

32-
extension DOM {
33-
32+
package extension DOM {
33+
3434
enum Color: Equatable {
3535
case none
3636
case currentColor
@@ -41,7 +41,7 @@ extension DOM {
4141
case hex(UInt8, UInt8, UInt8)
4242

4343
// see: https://www.w3.org/TR/SVG11/types.html#ColorKeywords
44-
enum Keyword: String {
44+
package enum Keyword: String {
4545
case aliceblue
4646
case antiquewhite
4747
case aqua
@@ -193,7 +193,7 @@ extension DOM {
193193
}
194194
}
195195

196-
extension DOM.Color.Keyword {
196+
package extension DOM.Color.Keyword {
197197

198198
// each color keyword maps to an rgbi
199199
var rgbi: (UInt8, UInt8, UInt8) {
Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -31,34 +31,34 @@
3131

3232
import Foundation
3333

34-
protocol ContainerElement {
34+
package protocol ContainerElement {
3535
var childElements: [DOM.GraphicsElement] { get set }
3636
}
3737

38-
protocol ElementAttributes {
38+
package protocol ElementAttributes {
3939
var id: String? { get set }
4040
var `class`: String? { get set }
4141
}
4242

43-
extension DOM {
44-
43+
package extension DOM {
44+
4545
class Element {}
4646

4747
class GraphicsElement: Element, ElementAttributes {
48-
var id: String?
49-
var `class`: String?
50-
51-
var attributes = PresentationAttributes()
52-
var style = PresentationAttributes()
48+
package var id: String?
49+
package var `class`: String?
50+
51+
package var attributes = PresentationAttributes()
52+
package var style = PresentationAttributes()
5353
}
5454

5555
final class Line: GraphicsElement {
56-
var x1: Coordinate
57-
var y1: Coordinate
58-
var x2: Coordinate
59-
var y2: Coordinate
60-
61-
init(x1: Coordinate, y1: Coordinate, x2: Coordinate, y2: Coordinate) {
56+
package var x1: Coordinate
57+
package var y1: Coordinate
58+
package var x2: Coordinate
59+
package var y2: Coordinate
60+
61+
package init(x1: Coordinate, y1: Coordinate, x2: Coordinate, y2: Coordinate) {
6262
self.x1 = x1
6363
self.y1 = y1
6464
self.x2 = x2
@@ -68,11 +68,11 @@ extension DOM {
6868
}
6969

7070
final class Circle: GraphicsElement {
71-
var cx: Coordinate?
72-
var cy: Coordinate?
73-
var r: Coordinate
74-
75-
init(cx: Coordinate?, cy: Coordinate?, r: Coordinate) {
71+
package var cx: Coordinate?
72+
package var cy: Coordinate?
73+
package var r: Coordinate
74+
75+
package init(cx: Coordinate?, cy: Coordinate?, r: Coordinate) {
7676
self.cx = cx
7777
self.cy = cy
7878
self.r = r
@@ -81,12 +81,12 @@ extension DOM {
8181
}
8282

8383
final class Ellipse: GraphicsElement {
84-
var cx: Coordinate?
85-
var cy: Coordinate?
86-
var rx: Coordinate
87-
var ry: Coordinate
88-
89-
init(cx: Coordinate?, cy: Coordinate?, rx: Coordinate, ry: Coordinate) {
84+
package var cx: Coordinate?
85+
package var cy: Coordinate?
86+
package var rx: Coordinate
87+
package var ry: Coordinate
88+
89+
package init(cx: Coordinate?, cy: Coordinate?, rx: Coordinate, ry: Coordinate) {
9090
self.cx = cx
9191
self.cy = cy
9292
self.rx = rx
@@ -96,15 +96,15 @@ extension DOM {
9696
}
9797

9898
final class Rect: GraphicsElement {
99-
var x: Coordinate?
100-
var y: Coordinate?
101-
var width: Coordinate
102-
var height: Coordinate
103-
104-
var rx: Coordinate?
105-
var ry: Coordinate?
106-
107-
init(x: Coordinate? = nil, y: Coordinate? = nil, width: Coordinate, height: Coordinate) {
99+
package var x: Coordinate?
100+
package var y: Coordinate?
101+
package var width: Coordinate
102+
package var height: Coordinate
103+
104+
package var rx: Coordinate?
105+
package var ry: Coordinate?
106+
107+
package init(x: Coordinate? = nil, y: Coordinate? = nil, width: Coordinate, height: Coordinate) {
108108
self.x = x
109109
self.y = y
110110
self.width = width
@@ -114,24 +114,24 @@ extension DOM {
114114
}
115115

116116
final class Polyline: GraphicsElement {
117-
var points: [Point]
118-
119-
init(points: [Point]) {
117+
package var points: [Point]
118+
119+
package init(points: [Point]) {
120120
self.points = points
121121
super.init()
122122
}
123123
}
124124

125125
final class Polygon: GraphicsElement {
126-
var points: [Point]
127-
128-
init(points: [Point]) {
126+
package var points: [Point]
127+
128+
package init(points: [Point]) {
129129
self.points = points
130130
super.init()
131131
}
132132
}
133133

134134
final class Group: GraphicsElement, ContainerElement {
135-
var childElements = [GraphicsElement]()
135+
package var childElements = [GraphicsElement]()
136136
}
137137
}
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,19 +29,19 @@
2929
// 3. This notice may not be removed or altered from any source distribution.
3030
//
3131

32-
extension DOM {
33-
32+
package extension DOM {
33+
3434
final class Filter: Element {
35-
var id: String
36-
37-
var effects: [Effect]
38-
39-
init(id: String) {
35+
package var id: String
36+
37+
package var effects: [Effect]
38+
39+
package init(id: String) {
4040
self.id = id
4141
self.effects = []
4242
}
4343

44-
enum Effect: Hashable {
44+
package enum Effect: Hashable {
4545
case gaussianBlur(stdDeviation: DOM.Float)
4646
}
4747
}
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,16 @@
2828
//
2929
// 3. This notice may not be removed or altered from any source distribution.
3030
//
31-
extension DOM {
31+
package extension DOM {
3232
final class Image: GraphicsElement {
33-
var href: URL
34-
var width: Coordinate?
35-
var height: Coordinate?
33+
package var href: URL
34+
package var width: Coordinate?
35+
package var height: Coordinate?
3636

37-
var x: Coordinate?
38-
var y: Coordinate?
39-
40-
init(href: URL) {
37+
package var x: Coordinate?
38+
package var y: Coordinate?
39+
40+
package init(href: URL) {
4141
self.href = href
4242
super.init()
4343
}
Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -29,35 +29,35 @@
2929
// 3. This notice may not be removed or altered from any source distribution.
3030
//
3131

32-
extension DOM {
33-
32+
package extension DOM {
33+
3434
final class LinearGradient: Element {
3535

36-
var id: String
37-
var x1: Coordinate?
38-
var y1: Coordinate?
39-
var x2: Coordinate?
40-
var y2: Coordinate?
41-
42-
var stops: [Stop]
43-
var gradientUnits: Units?
44-
var gradientTransform: [Transform]
45-
36+
package var id: String
37+
package var x1: Coordinate?
38+
package var y1: Coordinate?
39+
package var x2: Coordinate?
40+
package var y2: Coordinate?
41+
42+
package var stops: [Stop]
43+
package var gradientUnits: Units?
44+
package var gradientTransform: [Transform]
45+
4646
//references another LinearGradient element id within defs
47-
var href: URL?
48-
49-
init(id: String) {
47+
package var href: URL?
48+
49+
package init(id: String) {
5050
self.id = id
5151
self.stops = []
5252
self.gradientTransform = []
5353
}
5454

55-
struct Stop: Equatable {
56-
var offset: Float
57-
var color: Color
58-
var opacity: Float
59-
60-
init(offset: Float, color: Color, opacity: Opacity = 1.0) {
55+
package struct Stop: Equatable {
56+
package var offset: Float
57+
package var color: Color
58+
package var opacity: Float
59+
60+
package init(offset: Float, color: Color, opacity: Opacity = 1.0) {
6161
self.offset = offset
6262
self.color = color
6363
self.opacity = opacity
@@ -67,7 +67,7 @@ extension DOM {
6767
}
6868

6969
extension DOM.LinearGradient: Equatable {
70-
static func ==(lhs: DOM.LinearGradient, rhs: DOM.LinearGradient) -> Bool {
70+
package static func ==(lhs: DOM.LinearGradient, rhs: DOM.LinearGradient) -> Bool {
7171
return lhs.id == rhs.id &&
7272
lhs.x1 == rhs.x1 &&
7373
lhs.y1 == rhs.y1 &&
@@ -77,8 +77,8 @@ extension DOM.LinearGradient: Equatable {
7777
}
7878
}
7979

80-
extension DOM.LinearGradient {
81-
80+
package extension DOM.LinearGradient {
81+
8282
enum Units: String {
8383
case userSpaceOnUse
8484
case objectBoundingBox
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,20 +31,20 @@
3131

3232
import Foundation
3333

34-
extension DOM {
35-
34+
package extension DOM {
35+
3636
final class Path: GraphicsElement {
3737

3838
// segments[0] should always be a .move
39-
var segments: [Segment]
40-
41-
init(x: Coordinate, y: Coordinate) {
39+
package var segments: [Segment]
40+
41+
package init(x: Coordinate, y: Coordinate) {
4242
let s = Segment.move(x: x, y: y, space: .absolute)
4343
segments = [s]
4444
super.init()
4545
}
4646

47-
enum Segment {
47+
package enum Segment {
4848
case move(x: Coordinate, y: Coordinate, space: CoordinateSpace)
4949
case line(x: Coordinate, y: Coordinate, space: CoordinateSpace)
5050
case horizontal(x: Coordinate, space: CoordinateSpace)
@@ -62,13 +62,13 @@ extension DOM {
6262
x: Coordinate, y: Coordinate, space: CoordinateSpace)
6363
case close
6464

65-
enum CoordinateSpace {
65+
package enum CoordinateSpace {
6666
case absolute
6767
case relative
6868
}
6969
}
7070

71-
enum Command: UnicodeScalar {
71+
package enum Command: UnicodeScalar {
7272
case move = "M"
7373
case moveRelative = "m"
7474
case line = "L"
@@ -90,7 +90,7 @@ extension DOM {
9090
case close = "Z"
9191
case closeAlias = "z"
9292

93-
var coordinateSpace: Segment.CoordinateSpace {
93+
package var coordinateSpace: Segment.CoordinateSpace {
9494
switch self {
9595
case .move, .line,
9696
.horizontal, .vertical,
Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -31,30 +31,30 @@
3131

3232
import Foundation
3333

34-
extension DOM {
35-
34+
package extension DOM {
35+
3636
struct Pattern: ContainerElement {
3737

38-
var id: String
39-
var x: Coordinate?
40-
var y: Coordinate?
41-
var width: Coordinate
42-
var height: Coordinate
43-
44-
var patternUnits: Units?
45-
var patternContentUnits: Units?
46-
47-
var childElements: [DOM.GraphicsElement] = []
48-
49-
init(id: String, width: Coordinate, height: Coordinate) {
38+
package var id: String
39+
package var x: Coordinate?
40+
package var y: Coordinate?
41+
package var width: Coordinate
42+
package var height: Coordinate
43+
44+
package var patternUnits: Units?
45+
package var patternContentUnits: Units?
46+
47+
package var childElements: [DOM.GraphicsElement] = []
48+
49+
package init(id: String, width: Coordinate, height: Coordinate) {
5050
self.id = id
5151
self.width = width
5252
self.height = height
5353
}
5454
}
5555
}
5656

57-
extension DOM.Pattern {
57+
package extension DOM.Pattern {
5858

5959
enum Units: String {
6060
case userSpaceOnUse

0 commit comments

Comments
 (0)