mirror of
https://github.com/EmergeTools/Pow.git
synced 2026-03-26 09:05:50 +00:00
Co-authored-by: Robert Böhnke <robb@robb.is> Co-authored-by: Kasper Lahti <kasper@lahti.email>
40 lines
808 B
Swift
40 lines
808 B
Swift
import SwiftUI
|
|
|
|
extension CGRect {
|
|
init(center: CGPoint, size: CGSize) {
|
|
let origin = CGPoint(
|
|
x: center.x - size.width / 2,
|
|
y: center.y - size.height / 2
|
|
)
|
|
|
|
self.init(origin: origin, size: size)
|
|
}
|
|
|
|
var center: CGPoint {
|
|
CGPoint(x: midX, y: midY)
|
|
}
|
|
|
|
var diagonal: CGFloat {
|
|
sqrt(width * width + height * height)
|
|
}
|
|
|
|
func boundingBox(at angle: Angle) -> CGRect {
|
|
CGRect(center: center, size: size.boundingSize(at: angle))
|
|
}
|
|
|
|
var topLeft: CGPoint {
|
|
CGPoint(x: minX, y: minY)
|
|
}
|
|
|
|
var topRight: CGPoint {
|
|
CGPoint(x: maxX, y: minY)
|
|
}
|
|
|
|
var bottomRight: CGPoint {
|
|
CGPoint(x: maxX, y: maxY)
|
|
}
|
|
|
|
var bottomLeft: CGPoint {
|
|
CGPoint(x: minX, y: maxY)
|
|
}
|
|
}
|