gh-EmergeTools-Pow/Sources/Pow/Extensions/CGRect+Utilities.swift
Joe Fabisevich 5b95fe95b0
Moving Pow to @emergetools (#36)
Co-authored-by: Robert Böhnke <robb@robb.is>
Co-authored-by: Kasper Lahti <kasper@lahti.email>
2023-11-29 12:08:53 -03:00

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)
}
}