Last active
April 12, 2024 10:33
-
-
Save warpling/2dfe02c7057dece16760924aaf904eb7 to your computer and use it in GitHub Desktop.
CAMediaTimingFunctions (Swift 4)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// CAMediaTimingFunctions+Extended.swift | |
// Geiger | |
// | |
// Created by Ryan McLeod on 1/22/19. | |
// Copyright © 2019 Grow Pixel. All rights reserved. | |
// | |
import UIKit | |
extension CAMediaTimingFunction { | |
static func linear() -> CAMediaTimingFunction { return CAMediaTimingFunction(name: .linear) } | |
static func easeIn() -> CAMediaTimingFunction { return CAMediaTimingFunction(name: .easeIn) } | |
static func easeOut() -> CAMediaTimingFunction { return CAMediaTimingFunction(name: .easeOut) } | |
static func easeInEaseOut() -> CAMediaTimingFunction { return CAMediaTimingFunction(name: .easeInEaseOut) } | |
static func swiftOut() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints: 0.4, 0.2, 0, 1) } | |
static func sineIn() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0.45, 0, 1, 1) } | |
static func sineOut() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0, 0, 0.55, 1) } | |
static func sineInOut() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0.45, 0, 0.55, 1) } | |
static func quadIn() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0.43, 0, 0.82, 0.60) } | |
static func quadOut() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0.18, 0.4, 0.57, 1) } | |
static func quadInOut() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0.43, 0, 0.57, 1) } | |
static func cubicIn() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0.67, 0, 0.84, 0.54) } | |
static func cubicOut() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0.16, 0.46, 0.33, 1) } | |
static func cubicInOut() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0.65, 0, 0.35, 1) } | |
static func quartIn() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0.81, 0, 0.77, 0.34) } | |
static func quartOut() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0.23, 0.66, 0.19, 1) } | |
static func quartInOut() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0.81, 0, 0.19, 1) } | |
static func quintIn() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0.89, 0, 0.81, 0.27) } | |
static func quintOut() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0.19, 0.73, 0.11, 1) } | |
static func quintInOut() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0.9, 0, 0.1, 1) } | |
static func expoIn() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:1.04, 0, 0.88, 0.49) } | |
static func expoOut() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0.12, 0.51, -0.4, 1) } | |
static func expoInOut() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0.95, 0, 0.05, 1) } | |
static func circIn() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0.6, 0, 1, 0.45) } | |
static func circOut() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:1, 0.55, 0.4, 1) } | |
static func circInOut() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0.82, 0, 0.18, 1) } | |
static func backIn() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0.77, -0.63, 1, 1) } | |
static func backOut() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0, 0, 0.23, 1.37) } | |
static func backInOut() -> CAMediaTimingFunction { return CAMediaTimingFunction(controlPoints:0.77, -0.63, 0.23, 1.37) } | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment