Macaw

Powerful and easy-to-use vector graphics Swift library with SVG support

___

We are a development agency building phenomenal apps.




[![CI Status](https://travis-ci.org/exyte/Macaw.svg?style=flat)](https://travis-ci.org/exyte/Macaw) [![Version](https://img.shields.io/cocoapods/v/Macaw.svg?style=flat)](http://cocoapods.org/pods/Macaw) [![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-0473B3.svg?style=flat)](https://github.com/Carthage/Carthage) [![License](https://img.shields.io/cocoapods/l/Macaw.svg?style=flat)](http://cocoapods.org/pods/Macaw) [![Platform](https://img.shields.io/cocoapods/p/Macaw.svg?style=flat)](http://cocoapods.org/pods/Macaw) ## What is Macaw? Macaw is a powerful and easy-to-use vector graphics library written in Swift. #### It's simple Get started with Macaw in several lines of code: ```swift class MyView: MacawView { required init?(coder aDecoder: NSCoder) { let text = Text(text: "Hello, World!", place: .move(dx: 145, dy: 100)) super.init(node: text, coder: aDecoder) } } ``` #### It has SVG support Include Scalable Vector Graphics right into your iOS application: #### It's powerful Affine transformations, user events, animation and various effects to build beautiful apps with Macaw: ## Motivation Modern designs contain tons of illustrations and complex animations. Mobile developers have to spend a lot of time on converting designs into native views that will be resizable for different screens. With Macaw you can reduce development time to a minimum and describe all graphics in high level [scene](https://en.wikipedia.org/wiki/Scene_graph) elements. Or even render SVG graphics right from your design tool with Macaw events and animation support. ## Resources ### Docs We're working hard to provide full documentation. Currently you can take a look at the following docs: * [Getting started guide](https://github.com/exyte/Macaw/wiki/Getting-started) * [Render SVG file](https://github.com/exyte/Macaw/wiki/Render-SVG-file) * [Content animation](https://github.com/exyte/Macaw/wiki/Content-animation) * [Morphing animation](https://github.com/exyte/Macaw/wiki/Morphing-animation) ### Posts * [Replicating Apple Design Awarded Applications](https://medium.com/exyte/replicating-apple-design-awarded-applications-70e5df4c4b94#.ckt1hfnei) * [How friendly can drawing API be on iOS?](https://medium.com/exyte/how-friendly-can-drawing-api-be-on-ios-b3a818bf8105#.o9i35zcai) * [Macaw iOS Library: Morphing Animations](https://medium.com/exyte/macaw-ios-library-morphing-animations-and-touch-events-a4cb1c0be97f) ## Examples [Macaw-Examples](https://github.com/exyte/macaw-examples) is a repository where you can find various usages of the `Macaw` library from simple charts to the complex periodic table. ## Requirements * iOS 9.0+ * Mac OS X 10.11+ * Xcode 7.3+ ## Installation ## [CocoaPods](http://cocoapods.org) To install it, simply add the following line to your Podfile: ```ruby pod "Macaw", "0.9.7" ``` ## [Carthage](http://github.com/Carthage/Carthage) ```ogdl github "Exyte/Macaw" ~> 0.9.7 ``` ## Building from sources To build Macaw from sources: * clone the repo `git@github.com:exyte/Macaw.git` * open terminal and run `cd /Example/` * run `pod install` to install all dependencies * run `open Example.xcworkspace/` to open project in the Xcode ## Change Log You can find list of all changes by version in the [Change Log](https://github.com/exyte/Macaw/wiki/Change-Log) ## License Macaw is available under the MIT license. See the LICENSE file for more info.