🏛️GeometryKit
// 📁 +GeometryKit.swift
import SwiftUI
import GeometryKit
// ⭐️ CGPoint + Vector2D
extension CGPoint: Vector2D {
// 因為 CGFloat 已經擁有該遵循的屬性、方法,
// 所以只要指明 associated type 即可。
public typealias Scalar = CGFloat
}
// ⭐️ CGSize + Vector2D
extension CGSize: Vector2D {
public typealias Scalar = CGFloat
// CGSize 沒有 x, y 屬性
public var x: CGFloat { width }
public var y: CGFloat { height }
// CGSize 沒有 init(x:y:) initializer
public init(x: CGFloat, y: CGFloat) {
self.init(width: x, height: y)
}
}Last updated