One Paragraph of project description goes here
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
| fileprivate let badChars = CharacterSet.alphanumerics.inverted | |
| extension String { | |
| var uppercasingFirst: String { | |
| return prefix(1).uppercased() + dropFirst() | |
| } | |
| var lowercasingFirst: String { | |
| return prefix(1).lowercased() + dropFirst() | |
| } |
| #import <AVFoundation/AVFoundation.h> | |
| @interface MLWAsyncAVPlayer : AVPlayer | |
| @end |
| #import <AVFoundation/AVFoundation.h> | |
| @interface MLWAsyncAVPlayer : AVPlayer | |
| @end |
| /* | |
| Erica Sadun, http://ericasadun.com | |
| Cross Platform Defines | |
| Apple Platforms Only | |
| Will update to #if canImport() when available | |
| */ |
| func appendToPath(path: CGMutablePath) | |
| { | |
| let textPath = CGPathCreateMutable() | |
| let attributedString = NSAttributedString(string: string) | |
| let line = CTLineCreateWithAttributedString(attributedString) | |
| // direct cast to typed array fails for some reason | |
| let runs = (CTLineGetGlyphRuns(line) as [AnyObject]) as! [CTRun] |
| // | |
| // Keyboard.swift | |
| // | |
| // Created by Bojan Percevic on 5/21/15. | |
| // Copyright (c) 2015 Bojan Percevic. All rights reserved. | |
| // | |
| import AppKit | |
| enum Key: CUnsignedShort { |