Files
Attractor/App/Utilities/Geometry.swift
2020-08-14 15:55:08 -07:00

55 lines
1.2 KiB
Swift

//
// CGPoint+Utils.swift
// SBrowser
//
// Created by James Magahern on 7/23/20.
//
import Foundation
extension CGRect
{
var center: CGPoint {
get {
return CGPoint(x: size.width / 2.0, y: size.height / 2.0)
}
}
public func avoiding(verticalInsets insets: UIEdgeInsets) -> CGRect {
var rect = self
rect.origin.y += insets.top
rect.size.height -= insets.top
return rect
}
public func centeredY(inRect: CGRect) -> CGRect {
var rect = self
rect.origin.y = CGRound((inRect.height - rect.height) / 2.0)
return rect
}
public func centeredX(inRect: CGRect) -> CGRect {
var rect = self
rect.origin.x = CGRound((inRect.width - rect.width) / 2.0)
return rect
}
public func centered(inRect: CGRect) -> CGRect {
self.centeredX(inRect: inRect).centeredY(inRect: inRect)
}
}
extension CGSize
{
public func extendingBy(dw: CGFloat, dh: CGFloat) -> CGSize {
var ourSize = self
ourSize.width += dw
ourSize.height += dh
return ourSize
}
}