Skip to content

Commit 4a62fe8

Browse files
committed
added conversion initializers
1 parent 5177b15 commit 4a62fe8

File tree

3 files changed

+30
-0
lines changed

3 files changed

+30
-0
lines changed

Sources/CGeometry/CGPoint.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,16 @@ import CoreGraphics
33
public extension CGPoint {
44
static var zero: Self { Self(x: 0, y: 0) }
55

6+
init(_ vector: CGVector) {
7+
x = vector.dx
8+
y = vector.dy
9+
}
10+
11+
init(_ size: CGSize) {
12+
x = size.width
13+
y = size.height
14+
}
15+
616
// MARK: Point × Vector
717

818
static func + (point: Self, offset: CGVector) -> Self {

Sources/CGeometry/CGSize.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,16 @@ public extension CGSize {
55

66
static var one: CGSize { .init(width: 1, height: 1) }
77

8+
init(_ point: CGPoint) {
9+
width = point.x
10+
height = point.y
11+
}
12+
13+
init(_ vector: CGVector) {
14+
width = vector.dx
15+
height = vector.dy
16+
}
17+
818
// MARK: Size × Float
919

1020
static func * (size: Self, scale: CGFloat) -> Self {

Sources/CGeometry/CGVector.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,16 @@ public extension CGVector {
1111
self.init(dx: cos(angle) * length, dy: sin(angle) * length)
1212
}
1313

14+
init(_ point: CGPoint) {
15+
dx = point.x
16+
dy = point.y
17+
}
18+
19+
init(_ size: CGSize) {
20+
dx = size.width
21+
dy = size.height
22+
}
23+
1424
func clamped(to length: CGFloat) -> Self {
1525
let len = self.length
1626

0 commit comments

Comments
 (0)