Easily manipulate CGPoints, CGSizes and CGVectors using math operators
Branch: master
Clone or download
Latest commit b852676 Nov 6, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
CGOperators.xcodeproj Add CGOperators Jul 14, 2017
Configs Add CGOperators Jul 14, 2017
Sources Add CGOperators Jul 14, 2017
Tests/CGOperatorsTests Add CGOperators Jul 14, 2017
.gitignore Add CGOperators Jul 14, 2017
CGOperators.podspec Podspec: Correct version & social media URL Jul 14, 2017
CODE_OF_CONDUCT.md Add Code of Conduct Nov 5, 2017
LICENSE Add CGOperators Jul 14, 2017
Logo.png Add CGOperators Jul 14, 2017
Package.swift
README.md

README.md

CGOperators

CocoaPods Carthage Swift Package Manager Marathon Twitter: @johnsundell

Welcome to CGOperators, a small Swift framework that enables you to easily manipulate Core Graphics' vector types (CGPoint, CGSize and CGVector) using math operators. It can help you write compact, yet highly readable code when dealing with things like image sizes and frame-based layouts.

Examples

Add two vectors

let point = view.frame.origin + CGPoint(x: 10, y: 20)
let size = image.size + view.frame.size
let vector = physicsWorld.gravity + player.size

Subtract two vectors

let point = view.frame.origin - CGPoint(x: 10, y: 20)
let size = image.size - view.frame.size
let vector = physicsWorld.gravity - player.size

Multiply a vector with a constant

view.frame.size = image.size * 4
button.frame.origin = superview.bounds.size * 2
physicsWorld.gravity = player.position * 10

Divide a vector by a constant

view.frame.size = image.size / 4
button.frame.origin = superview.bounds.size / 2
physicsWorld.gravity = player.position / 10

Installation

Using CocoaPods

Add pod CGOperators to your Podfile

Using Carthage

Add git "JohnSundell/CGOperators" to your Cartfile

Using the Swift Package Manager

Add Package(url: "https://github.com/JohnSundell/CGOperators.git", majorVersion: 1) to your Package.swift file.

Using Marathon

Run marathon add https://github.com/JohnSundell/CGOperators.git on the command line.

Help, feedback or suggestions?

  • Open an issue if you need help, if you found a bug, or if you want to discuss a feature request.
  • Open a PR if you want to make some change to CGOperators.
  • Contact @johnsundell on Twitter for discussions, news & announcements about CGOperators and other open source projects.