Skip to content

Commit a43bfea

Browse files
committed
linux transformation stubs
1 parent 5177eef commit a43bfea

File tree

1 file changed

+55
-40
lines changed

1 file changed

+55
-40
lines changed

SwiftDraw/SVG.swift

Lines changed: 55 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,9 @@ public struct SVG: Hashable {
7878
}
7979
}
8080

81-
extension SVG {
81+
public extension SVG {
8282

83-
public func size(_ s: CGSize) -> SVG {
83+
func size(_ s: CGSize) -> SVG {
8484
guard size != s else { return self }
8585

8686
let sx = s.width / size.width
@@ -92,11 +92,11 @@ extension SVG {
9292
return copy
9393
}
9494

95-
public func scale(_ factor: CGFloat) -> SVG {
95+
func scale(_ factor: CGFloat) -> SVG {
9696
scale(x: factor, y: factor)
9797
}
9898

99-
public func scale(x: CGFloat, y: CGFloat) -> SVG {
99+
func scale(x: CGFloat, y: CGFloat) -> SVG {
100100
var copy = self
101101

102102
copy.commands.insert(.scale(sx: x, sy: y), at: 0)
@@ -107,20 +107,20 @@ extension SVG {
107107
return copy
108108
}
109109

110-
public func translate(tx: CGFloat, ty: CGFloat) -> SVG {
110+
func translate(tx: CGFloat, ty: CGFloat) -> SVG {
111111
var copy = self
112112
copy.commands.insert(.translate(tx: tx, ty: ty), at: 0)
113113
return copy
114114
}
115115

116-
public func expand(_ padding: CGFloat) -> SVG {
116+
func expand(_ padding: CGFloat) -> SVG {
117117
expand(top: padding, left: padding, bottom: padding, right: padding)
118118
}
119119

120-
public func expand(top: CGFloat = 0,
121-
left: CGFloat = 0,
122-
bottom: CGFloat = 0,
123-
right: CGFloat = 0) -> SVG {
120+
func expand(top: CGFloat = 0,
121+
left: CGFloat = 0,
122+
bottom: CGFloat = 0,
123+
right: CGFloat = 0) -> SVG {
124124
var copy = self
125125
copy.commands.insert(.translate(tx: left, ty: top), at: 0)
126126
copy.size.width += left + right
@@ -129,36 +129,6 @@ extension SVG {
129129
}
130130
}
131131

132-
extension SVG {
133-
134-
public mutating func sized(_ s: CGSize) {
135-
self = size(s)
136-
}
137-
138-
public mutating func scaled(_ factor: CGFloat) {
139-
self = scale(factor)
140-
}
141-
142-
public mutating func scaled(x: CGFloat, y: CGFloat) {
143-
self = scale(x: x, y: y)
144-
}
145-
146-
public mutating func translated(tx: CGFloat, ty: CGFloat) {
147-
self = translate(tx: tx, ty: ty)
148-
}
149-
150-
public mutating func expanded(_ padding: CGFloat) {
151-
self = expand(padding)
152-
}
153-
154-
public mutating func expanded(top: CGFloat = 0,
155-
left: CGFloat = 0,
156-
bottom: CGFloat = 0,
157-
right: CGFloat = 0) {
158-
self = expand(top: top, left: left, bottom: bottom, right: right)
159-
}
160-
}
161-
162132
extension SVG {
163133

164134
init(dom: DOM.SVG, options: Options) {
@@ -222,5 +192,50 @@ public extension SVG {
222192
static func pdfData(fileURL url: URL, size: CGSize? = nil) throws -> Data {
223193
throw DOM.Error.missing("not implemented")
224194
}
195+
196+
func size(_ s: CGSize) -> SVG { self }
197+
198+
func scale(_ factor: CGFloat) -> SVG { self }
199+
200+
func scale(x: CGFloat, y: CGFloat) -> SVG { self }
201+
202+
func translate(tx: CGFloat, ty: CGFloat) -> SVG { self }
203+
204+
func expand(_ padding: CGFloat) -> SVG { self }
205+
206+
func expand(top: CGFloat = 0,
207+
left: CGFloat = 0,
208+
bottom: CGFloat = 0,
209+
right: CGFloat = 0) -> SVG { self }
225210
}
226211
#endif
212+
213+
public extension SVG {
214+
215+
mutating func sized(_ s: CGSize) {
216+
self = size(s)
217+
}
218+
219+
mutating func scaled(_ factor: CGFloat) {
220+
self = scale(factor)
221+
}
222+
223+
mutating func scaled(x: CGFloat, y: CGFloat) {
224+
self = scale(x: x, y: y)
225+
}
226+
227+
mutating func translated(tx: CGFloat, ty: CGFloat) {
228+
self = translate(tx: tx, ty: ty)
229+
}
230+
231+
mutating func expanded(_ padding: CGFloat) {
232+
self = expand(padding)
233+
}
234+
235+
mutating func expanded(top: CGFloat = 0,
236+
left: CGFloat = 0,
237+
bottom: CGFloat = 0,
238+
right: CGFloat = 0) {
239+
self = expand(top: top, left: left, bottom: bottom, right: right)
240+
}
241+
}

0 commit comments

Comments
 (0)