A collection of three gestures that can stretch an arbitrary view with four fingers. Used in getlooseleaf.com's clone gesture.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



For context about this repo, check out this blog post. These gestures power the clone gestures in Loose Leaf.

This code provides three gestures that can be used to stretch a UIView using affine transforms. The first attempts to keep the four fingers in exactly the same visible locations on the image, but has trouble when those touches form a concave quad. The remaining two gestures allow for smooth stretching of the UIView.

Run the included example app to try each of the gestures to see their output.

Are you using these gestures?

Let me know! I'd love to know where PerformanceBezier is using and how it's affecting your apps. Ping me at @adamwulf!


View the header files for full documentation.

Including in your project

  1. Link against the included OpenCV framework.
  2. Copy the gesture .h and .m files into your project


OpenCV is licensed under BSD: http://opencv.org/license.html

This work is licensed under a Creative Commons Attribution 3.0 United States License.

Creative Commons License

For attribution, please include:

  1. Mention original author "Adam Wulf for Loose Leaf app"
  2. Link to https://getlooseleaf.com/opensource/
  3. Link to https://github.com/adamwulf/PerformanceBezier

Support this framework

This framework is created by Adam Wulf (@adamwulf) as a part of the Loose Leaf app.

Buy the app to show your support! :)