From 546acdb071e62a77ff62ac10125d8ba569112ca1 Mon Sep 17 00:00:00 2001 From: minqin Date: Tue, 7 May 2019 15:44:33 +0800 Subject: [PATCH] first init --- .gitignore | 33 + .swift-version | 1 + .travis.yml | 14 + Example/.swift-version | 1 + Example/Podfile | 14 + Example/Podfile.lock | 31 + .../UIApplication+StrictKeyWindow.h | 20 + .../UIApplication+StrictKeyWindow.m | 27 + .../Categories/UIImage+Compare.h | 37 + .../Categories/UIImage+Compare.m | 134 + .../Categories/UIImage+Diff.h | 37 + .../Categories/UIImage+Diff.m | 56 + .../Categories/UIImage+Snapshot.h | 24 + .../Categories/UIImage+Snapshot.m | 73 + .../FBSnapshotTestCase/FBSnapshotTestCase.h | 180 ++ .../FBSnapshotTestCase/FBSnapshotTestCase.m | 192 ++ .../FBSnapshotTestCasePlatform.h | 44 + .../FBSnapshotTestCasePlatform.m | 51 + .../FBSnapshotTestController.h | 166 ++ .../FBSnapshotTestController.m | 358 +++ .../FBSnapshotTestCase/SwiftSupport.swift | 125 + Example/Pods/FBSnapshotTestCase/LICENSE | 29 + Example/Pods/FBSnapshotTestCase/README.md | 97 + .../ZMJImageEditor.podspec.json | 43 + Example/Pods/Manifest.lock | 31 + Example/Pods/Masonry/LICENSE | 19 + .../Masonry/Masonry/MASCompositeConstraint.h | 26 + .../Masonry/Masonry/MASCompositeConstraint.m | 177 ++ .../Masonry/Masonry/MASConstraint+Private.h | 66 + Example/Pods/Masonry/Masonry/MASConstraint.h | 258 ++ Example/Pods/Masonry/Masonry/MASConstraint.m | 292 +++ .../Pods/Masonry/Masonry/MASConstraintMaker.h | 146 ++ .../Pods/Masonry/Masonry/MASConstraintMaker.m | 273 +++ .../Masonry/Masonry/MASLayoutConstraint.h | 22 + .../Masonry/Masonry/MASLayoutConstraint.m | 13 + Example/Pods/Masonry/Masonry/MASUtilities.h | 136 ++ .../Pods/Masonry/Masonry/MASViewAttribute.h | 49 + .../Pods/Masonry/Masonry/MASViewAttribute.m | 46 + .../Pods/Masonry/Masonry/MASViewConstraint.h | 48 + .../Pods/Masonry/Masonry/MASViewConstraint.m | 397 +++ Example/Pods/Masonry/Masonry/Masonry.h | 29 + .../Masonry/Masonry/NSArray+MASAdditions.h | 72 + .../Masonry/Masonry/NSArray+MASAdditions.m | 162 ++ .../Masonry/NSArray+MASShorthandAdditions.h | 41 + .../NSLayoutConstraint+MASDebugAdditions.h | 16 + .../NSLayoutConstraint+MASDebugAdditions.m | 146 ++ .../Pods/Masonry/Masonry/View+MASAdditions.h | 101 + .../Pods/Masonry/Masonry/View+MASAdditions.m | 166 ++ .../Masonry/View+MASShorthandAdditions.h | 115 + .../Masonry/ViewController+MASAdditions.h | 30 + .../Masonry/ViewController+MASAdditions.m | 39 + Example/Pods/Masonry/README.md | 409 ++++ Example/Pods/Pods.xcodeproj/project.pbxproj | 2152 +++++++++++++++++ .../FBSnapshotTestCase-dummy.m | 5 + .../FBSnapshotTestCase-prefix.pch | 12 + .../FBSnapshotTestCase-umbrella.h | 19 + .../FBSnapshotTestCase.modulemap | 6 + .../FBSnapshotTestCase.xcconfig | 13 + .../FBSnapshotTestCase/Info.plist | 26 + .../Target Support Files/Masonry/Info.plist | 26 + .../Masonry/Masonry-dummy.m | 5 + .../Masonry/Masonry-prefix.pch | 12 + .../Masonry/Masonry-umbrella.h | 31 + .../Masonry/Masonry.modulemap | 6 + .../Masonry/Masonry.xcconfig | 10 + .../Pods-ZMJImageEditor_Example/Info.plist | 26 + ...geEditor_Example-acknowledgements.markdown | 74 + ...ImageEditor_Example-acknowledgements.plist | 118 + .../Pods-ZMJImageEditor_Example-dummy.m | 5 + .../Pods-ZMJImageEditor_Example-frameworks.sh | 148 ++ .../Pods-ZMJImageEditor_Example-resources.sh | 106 + .../Pods-ZMJImageEditor_Example-umbrella.h | 16 + ...Pods-ZMJImageEditor_Example.debug.xcconfig | 9 + .../Pods-ZMJImageEditor_Example.modulemap | 6 + ...ds-ZMJImageEditor_Example.release.xcconfig | 9 + .../Pods-ZMJImageEditor_Tests/Info.plist | 26 + ...mageEditor_Tests-acknowledgements.markdown | 36 + ...MJImageEditor_Tests-acknowledgements.plist | 68 + .../Pods-ZMJImageEditor_Tests-dummy.m | 5 + .../Pods-ZMJImageEditor_Tests-frameworks.sh | 144 ++ .../Pods-ZMJImageEditor_Tests-resources.sh | 106 + .../Pods-ZMJImageEditor_Tests-umbrella.h | 16 + .../Pods-ZMJImageEditor_Tests.debug.xcconfig | 11 + .../Pods-ZMJImageEditor_Tests.modulemap | 6 + ...Pods-ZMJImageEditor_Tests.release.xcconfig | 11 + .../YYCategories/Info.plist | 26 + .../YYCategories/YYCategories-dummy.m | 5 + .../YYCategories/YYCategories-prefix.pch | 12 + .../YYCategories/YYCategories-umbrella.h | 48 + .../YYCategories/YYCategories.modulemap | 6 + .../YYCategories/YYCategories.xcconfig | 10 + .../ZMJImageEditor/Info.plist | 26 + .../ZMJImageEditor/ZMJImageEditor-dummy.m | 5 + .../ZMJImageEditor/ZMJImageEditor-prefix.pch | 12 + .../ZMJImageEditor/ZMJImageEditor-umbrella.h | 45 + .../ZMJImageEditor/ZMJImageEditor.modulemap | 6 + .../ZMJImageEditor/ZMJImageEditor.xcconfig | 11 + Example/Pods/YYCategories/LICENSE | 22 + Example/Pods/YYCategories/README.md | 145 ++ .../YYCategories/Foundation/NSArray+YYAdd.h | 196 ++ .../YYCategories/Foundation/NSArray+YYAdd.m | 172 ++ .../YYCategories/Foundation/NSBundle+YYAdd.h | 92 + .../YYCategories/Foundation/NSBundle+YYAdd.m | 87 + .../YYCategories/Foundation/NSData+YYAdd.h | 310 +++ .../YYCategories/Foundation/NSData+YYAdd.m | 642 +++++ .../YYCategories/Foundation/NSDate+YYAdd.h | 188 ++ .../YYCategories/Foundation/NSDate+YYAdd.m | 188 ++ .../Foundation/NSDictionary+YYAdd.h | 197 ++ .../Foundation/NSDictionary+YYAdd.m | 391 +++ .../Foundation/NSKeyedUnarchiver+YYAdd.h | 45 + .../Foundation/NSKeyedUnarchiver+YYAdd.m | 51 + .../Foundation/NSNotificationCenter+YYAdd.h | 97 + .../Foundation/NSNotificationCenter+YYAdd.m | 62 + .../YYCategories/Foundation/NSNumber+YYAdd.h | 33 + .../YYCategories/Foundation/NSNumber+YYAdd.m | 63 + .../YYCategories/Foundation/NSObject+YYAdd.h | 302 +++ .../YYCategories/Foundation/NSObject+YYAdd.m | 396 +++ .../Foundation/NSObject+YYAddForARC.h | 31 + .../Foundation/NSObject+YYAddForARC.m | 40 + .../Foundation/NSObject+YYAddForKVO.h | 54 + .../Foundation/NSObject+YYAddForKVO.m | 110 + .../YYCategories/Foundation/NSString+YYAdd.h | 409 ++++ .../YYCategories/Foundation/NSString+YYAdd.m | 414 ++++ .../YYCategories/Foundation/NSThread+YYAdd.h | 25 + .../YYCategories/Foundation/NSThread+YYAdd.m | 107 + .../YYCategories/Foundation/NSTimer+YYAdd.h | 66 + .../YYCategories/Foundation/NSTimer+YYAdd.m | 35 + .../YYCategories/Quartz/CALayer+YYAdd.h | 97 + .../YYCategories/Quartz/CALayer+YYAdd.m | 324 +++ .../YYCategories/Quartz/YYCGUtilities.h | 330 +++ .../YYCategories/Quartz/YYCGUtilities.m | 271 +++ .../YYCategories/UIKit/UIApplication+YYAdd.h | 85 + .../YYCategories/UIKit/UIApplication+YYAdd.m | 239 ++ .../UIKit/UIBarButtonItem+YYAdd.h | 32 + .../UIKit/UIBarButtonItem+YYAdd.m | 62 + .../YYCategories/UIKit/UIBezierPath+YYAdd.h | 37 + .../YYCategories/UIKit/UIBezierPath+YYAdd.m | 64 + .../YYCategories/UIKit/UIColor+YYAdd.h | 358 +++ .../YYCategories/UIKit/UIColor+YYAdd.m | 472 ++++ .../YYCategories/UIKit/UIControl+YYAdd.h | 78 + .../YYCategories/UIKit/UIControl+YYAdd.m | 118 + .../YYCategories/UIKit/UIDevice+YYAdd.h | 191 ++ .../YYCategories/UIKit/UIDevice+YYAdd.m | 516 ++++ .../YYCategories/UIKit/UIFont+YYAdd.h | 153 ++ .../YYCategories/UIKit/UIFont+YYAdd.m | 269 +++ .../UIKit/UIGestureRecognizer+YYAdd.h | 47 + .../UIKit/UIGestureRecognizer+YYAdd.m | 78 + .../YYCategories/UIKit/UIImage+YYAdd.h | 377 +++ .../YYCategories/UIKit/UIImage+YYAdd.m | 752 ++++++ .../YYCategories/UIKit/UIScreen+YYAdd.h | 63 + .../YYCategories/UIKit/UIScreen+YYAdd.m | 176 ++ .../YYCategories/UIKit/UIScrollView+YYAdd.h | 71 + .../YYCategories/UIKit/UIScrollView+YYAdd.m | 60 + .../YYCategories/UIKit/UITableView+YYAdd.h | 188 ++ .../YYCategories/UIKit/UITableView+YYAdd.m | 80 + .../YYCategories/UIKit/UITextField+YYAdd.h | 35 + .../YYCategories/UIKit/UITextField+YYAdd.m | 33 + .../YYCategories/UIKit/UIView+YYAdd.h | 117 + .../YYCategories/UIKit/UIView+YYAdd.m | 272 +++ .../YYCategories/YYCategories/YYCategories.h | 81 + .../YYCategories/YYCategoriesMacro.h | 337 +++ Example/Tests/Tests-Info.plist | 22 + Example/Tests/Tests-Prefix.pch | 7 + Example/Tests/Tests.m | 35 + Example/Tests/en.lproj/InfoPlist.strings | 2 + Example/Tests/zh-Hans.lproj/InfoPlist.strings | 2 + .../ZMJImageEditor.xcodeproj/project.pbxproj | 675 ++++++ .../contents.xcworkspacedata | 7 + .../xcschemes/ZMJImageEditor-Example.xcscheme | 103 + .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../Base.lproj/Base.lproj/Main.storyboard | 71 + .../Base.lproj/Base.lproj/Main.strings | 3 + .../Base.lproj/LaunchScreen.storyboard | 31 + .../Base.lproj/en.lproj/Main.strings | 3 + .../Base.lproj/zh-Hans.lproj/Main.strings | 3 + .../AppIcon.appiconset/Contents.json | 98 + .../Images.xcassets/Contents.json | 6 + .../Images.xcassets/bg.imageset/Contents.json | 21 + .../Images.xcassets/bg.imageset/bg@2x.png | Bin 0 -> 756229 bytes .../Images.xcassets/p1.imageset/Contents.json | 21 + .../p1.imageset/githubicon.png | Bin 0 -> 30031 bytes .../Images.xcassets/p2.imageset/Contents.json | 21 + .../Images.xcassets/p2.imageset/photo.png | Bin 0 -> 12119 bytes Example/ZMJImageEditor/ZMJAppDelegate.h | 15 + Example/ZMJImageEditor/ZMJAppDelegate.m | 46 + .../ZMJImageEditor/ZMJImageEditor-Info.plist | 49 + .../ZMJImageEditor/ZMJImageEditor-Prefix.pch | 16 + Example/ZMJImageEditor/ZMJViewController.h | 13 + Example/ZMJImageEditor/ZMJViewController.m | 81 + .../ZMJImageEditor/en.lproj/InfoPlist.strings | 2 + Example/ZMJImageEditor/main.m | 17 + .../zh-Hans.lproj/InfoPlist.strings | 2 + .../zh-Hans.lproj/LaunchScreen.strings | 1 + LICENSE | 19 + Mosica/XPixelItem.h | 19 + Mosica/XPixelItem.m | 13 + Mosica/XRGBTool.h | 29 + Mosica/XRGBTool.m | 203 ++ Mosica/XScratchView.h | 20 + Mosica/XScratchView.m | 93 + README.md | 87 + WBGMosicaViewController.h | 19 + WBGMosicaViewController.m | 102 + ZMJImageEditor.podspec | 37 + ZMJImageEditor/Assets/.gitkeep | 0 .../WBGImageEditorViewController.xib | 356 +++ .../Assets/EditImage.xcassets/Contents.json | 6 + .../annotate.imageset/Contents.json | 21 + .../annotate.imageset/annotate@2x.png | Bin 0 -> 1092 bytes .../annotate_selected.imageset/Contents.json | 21 + .../annotate_selected@2x.png | Bin 0 -> 1776 bytes .../bg.imageset/Contents.json | 21 + .../EditImage.xcassets/bg.imageset/bg@2x.png | Bin 0 -> 756229 bytes .../clip.imageset/Contents.json | 21 + .../clip.imageset/clip@2x.png | Bin 0 -> 758 bytes .../clip_close.imageset/Contents.json | 21 + .../clip_close.imageset/clip_close@2x.png | Bin 0 -> 495 bytes .../clip_ok.imageset/Contents.json | 21 + .../clip_ok.imageset/clip_ok@2x.png | Bin 0 -> 451 bytes .../clip_rotate.imageset/Contents.json | 21 + .../clip_rotate.imageset/clip_rotate@2x.png | Bin 0 -> 701 bytes .../close_Text.imageset/Combined Shape@2x.png | Bin 0 -> 1241 bytes .../close_Text.imageset/Contents.json | 21 + .../-\345\233\276\347\211\207.png" | Bin 0 -> 3778 bytes .../paper.imageset/Contents.json | 21 + .../text.imageset/Contents.json | 21 + .../text.imageset/text@2x.png | Bin 0 -> 1405 bytes .../text_selected.imageset/Contents.json | 21 + .../text_selected@2x.png | Bin 0 -> 2153 bytes .../WBGImageEditorViewController.strings | 9 + .../WBGImageEditorViewController.strings | 9 + ZMJImageEditor/Classes/.gitkeep | 0 ZMJImageEditor/Classes/ColorfullButton.h | 16 + ZMJImageEditor/Classes/ColorfullButton.m | 61 + ZMJImageEditor/Classes/Mosica/XPixelItem.h | 19 + ZMJImageEditor/Classes/Mosica/XPixelItem.m | 13 + ZMJImageEditor/Classes/Mosica/XRGBTool.h | 29 + ZMJImageEditor/Classes/Mosica/XRGBTool.m | 203 ++ ZMJImageEditor/Classes/Mosica/XScratchView.h | 20 + ZMJImageEditor/Classes/Mosica/XScratchView.m | 93 + .../TOCropViewControllerLocalizable.strings | 5 + .../Models/TOActivityCroppedImageProvider.h | 34 + .../Models/TOActivityCroppedImageProvider.m | 76 + .../TOCropViewControllerTransitioning.h | 45 + .../TOCropViewControllerTransitioning.m | 112 + .../Models/TOCroppedImageAttributes.h | 34 + .../Models/TOCroppedImageAttributes.m | 46 + .../Models/UIImage+CropRotate.h | 32 + .../Models/UIImage+CropRotate.m | 118 + .../TOCropViewController-Bridging-Header.h | 26 + .../TOCropViewController.h | 340 +++ .../TOCropViewController.m | 927 +++++++ .../Views/TOCropOverlayView.h | 39 + .../Views/TOCropOverlayView.m | 245 ++ .../Views/TOCropScrollView.h | 35 + .../Views/TOCropScrollView.m | 51 + .../Views/TOCropToolbar.h | 72 + .../Views/TOCropToolbar.m | 594 +++++ .../TOCropViewController/Views/TOCropView.h | 225 ++ .../TOCropViewController/Views/TOCropView.m | 1646 +++++++++++++ .../Views/UIImage+library.h | 16 + .../Views/UIImage+library.m | 32 + .../TOCropViewControllerLocalizable.strings | 5 + .../TOCropViewControllerLocalizable.strings | 5 + .../TOCropViewControllerLocalizable.strings | 5 + .../TOCropViewControllerLocalizable.strings | 5 + .../TOCropViewControllerLocalizable.strings | 5 + .../TOCropViewControllerLocalizable.strings | 5 + .../TOCropViewControllerLocalizable.strings | 5 + .../TOCropViewControllerLocalizable.strings | 5 + .../TOCropViewControllerLocalizable.strings | 5 + .../TOCropViewControllerLocalizable.strings | 5 + .../TOCropViewControllerLocalizable.strings | 5 + .../TOCropViewControllerLocalizable.strings | 5 + .../TOCropViewControllerLocalizable.strings | 5 + .../TOCropViewControllerLocalizable.strings | 5 + .../TOCropViewControllerLocalizable.strings | 5 + .../TOCropViewControllerLocalizable.strings | 5 + .../TOCropViewControllerLocalizable.strings | 5 + .../TOCropViewControllerLocalizable.strings | 5 + ZMJImageEditor/Classes/UIColor+TLChat.h | 44 + ZMJImageEditor/Classes/UIColor+TLChat.m | 83 + ZMJImageEditor/Classes/WBGBaseKeyboard.h | 46 + ZMJImageEditor/Classes/WBGBaseKeyboard.m | 124 + ZMJImageEditor/Classes/WBGChatMacros.h | 67 + ZMJImageEditor/Classes/WBGDrawTool.h | 31 + ZMJImageEditor/Classes/WBGDrawTool.m | 228 ++ ZMJImageEditor/Classes/WBGImageEditor.h | 67 + ZMJImageEditor/Classes/WBGImageEditor.m | 59 + .../Classes/WBGImageEditorGestureManager.h | 13 + .../Classes/WBGImageEditorGestureManager.m | 85 + .../Classes/WBGImageEditorViewController.h | 41 + .../Classes/WBGImageEditorViewController.m | 867 +++++++ ZMJImageEditor/Classes/WBGImageToolBase.h | 22 + ZMJImageEditor/Classes/WBGImageToolBase.m | 41 + ZMJImageEditor/Classes/WBGKeyboardDelegate.h | 25 + ZMJImageEditor/Classes/WBGKeyboardProtocol.h | 16 + .../Classes/WBGMoreKeyboard+CollectionView.h | 15 + .../Classes/WBGMoreKeyboard+CollectionView.m | 101 + ZMJImageEditor/Classes/WBGMoreKeyboard.h | 26 + ZMJImageEditor/Classes/WBGMoreKeyboard.m | 124 + ZMJImageEditor/Classes/WBGMoreKeyboardCell.h | 17 + ZMJImageEditor/Classes/WBGMoreKeyboardCell.m | 96 + .../Classes/WBGMoreKeyboardDelegate.h | 16 + ZMJImageEditor/Classes/WBGMoreKeyboardItem.h | 22 + ZMJImageEditor/Classes/WBGMoreKeyboardItem.m | 21 + .../Classes/WBGMosicaViewController.h | 19 + .../Classes/WBGMosicaViewController.m | 102 + ZMJImageEditor/Classes/WBGTextTool.h | 28 + ZMJImageEditor/Classes/WBGTextTool.m | 352 +++ ZMJImageEditor/Classes/WBGTextToolView.h | 45 + ZMJImageEditor/Classes/WBGTextToolView.m | 697 ++++++ _Pods.xcodeproj | 1 + screenShot/1.png | Bin 0 -> 790436 bytes screenShot/2.png | Bin 0 -> 663985 bytes 316 files changed, 31504 insertions(+) create mode 100755 .gitignore create mode 100755 .swift-version create mode 100755 .travis.yml create mode 100755 Example/.swift-version create mode 100755 Example/Podfile create mode 100755 Example/Podfile.lock create mode 100755 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h create mode 100755 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m create mode 100755 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h create mode 100755 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m create mode 100755 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h create mode 100755 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m create mode 100755 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h create mode 100755 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m create mode 100755 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h create mode 100755 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m create mode 100755 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h create mode 100755 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m create mode 100755 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h create mode 100755 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m create mode 100755 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift create mode 100755 Example/Pods/FBSnapshotTestCase/LICENSE create mode 100755 Example/Pods/FBSnapshotTestCase/README.md create mode 100755 Example/Pods/Local Podspecs/ZMJImageEditor.podspec.json create mode 100755 Example/Pods/Manifest.lock create mode 100755 Example/Pods/Masonry/LICENSE create mode 100755 Example/Pods/Masonry/Masonry/MASCompositeConstraint.h create mode 100755 Example/Pods/Masonry/Masonry/MASCompositeConstraint.m create mode 100755 Example/Pods/Masonry/Masonry/MASConstraint+Private.h create mode 100755 Example/Pods/Masonry/Masonry/MASConstraint.h create mode 100755 Example/Pods/Masonry/Masonry/MASConstraint.m create mode 100755 Example/Pods/Masonry/Masonry/MASConstraintMaker.h create mode 100755 Example/Pods/Masonry/Masonry/MASConstraintMaker.m create mode 100755 Example/Pods/Masonry/Masonry/MASLayoutConstraint.h create mode 100755 Example/Pods/Masonry/Masonry/MASLayoutConstraint.m create mode 100755 Example/Pods/Masonry/Masonry/MASUtilities.h create mode 100755 Example/Pods/Masonry/Masonry/MASViewAttribute.h create mode 100755 Example/Pods/Masonry/Masonry/MASViewAttribute.m create mode 100755 Example/Pods/Masonry/Masonry/MASViewConstraint.h create mode 100755 Example/Pods/Masonry/Masonry/MASViewConstraint.m create mode 100755 Example/Pods/Masonry/Masonry/Masonry.h create mode 100755 Example/Pods/Masonry/Masonry/NSArray+MASAdditions.h create mode 100755 Example/Pods/Masonry/Masonry/NSArray+MASAdditions.m create mode 100755 Example/Pods/Masonry/Masonry/NSArray+MASShorthandAdditions.h create mode 100755 Example/Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h create mode 100755 Example/Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.m create mode 100755 Example/Pods/Masonry/Masonry/View+MASAdditions.h create mode 100755 Example/Pods/Masonry/Masonry/View+MASAdditions.m create mode 100755 Example/Pods/Masonry/Masonry/View+MASShorthandAdditions.h create mode 100755 Example/Pods/Masonry/Masonry/ViewController+MASAdditions.h create mode 100755 Example/Pods/Masonry/Masonry/ViewController+MASAdditions.m create mode 100755 Example/Pods/Masonry/README.md create mode 100755 Example/Pods/Pods.xcodeproj/project.pbxproj create mode 100755 Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m create mode 100755 Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch create mode 100755 Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h create mode 100755 Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap create mode 100755 Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.xcconfig create mode 100755 Example/Pods/Target Support Files/FBSnapshotTestCase/Info.plist create mode 100755 Example/Pods/Target Support Files/Masonry/Info.plist create mode 100755 Example/Pods/Target Support Files/Masonry/Masonry-dummy.m create mode 100755 Example/Pods/Target Support Files/Masonry/Masonry-prefix.pch create mode 100755 Example/Pods/Target Support Files/Masonry/Masonry-umbrella.h create mode 100755 Example/Pods/Target Support Files/Masonry/Masonry.modulemap create mode 100755 Example/Pods/Target Support Files/Masonry/Masonry.xcconfig create mode 100755 Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Info.plist create mode 100755 Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-acknowledgements.markdown create mode 100755 Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-acknowledgements.plist create mode 100755 Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-dummy.m create mode 100755 Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-frameworks.sh create mode 100755 Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-resources.sh create mode 100755 Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-umbrella.h create mode 100755 Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example.debug.xcconfig create mode 100755 Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example.modulemap create mode 100755 Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example.release.xcconfig create mode 100755 Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Info.plist create mode 100755 Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-acknowledgements.markdown create mode 100755 Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-acknowledgements.plist create mode 100755 Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-dummy.m create mode 100755 Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-frameworks.sh create mode 100755 Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-resources.sh create mode 100755 Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-umbrella.h create mode 100755 Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests.debug.xcconfig create mode 100755 Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests.modulemap create mode 100755 Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests.release.xcconfig create mode 100755 Example/Pods/Target Support Files/YYCategories/Info.plist create mode 100755 Example/Pods/Target Support Files/YYCategories/YYCategories-dummy.m create mode 100755 Example/Pods/Target Support Files/YYCategories/YYCategories-prefix.pch create mode 100755 Example/Pods/Target Support Files/YYCategories/YYCategories-umbrella.h create mode 100755 Example/Pods/Target Support Files/YYCategories/YYCategories.modulemap create mode 100755 Example/Pods/Target Support Files/YYCategories/YYCategories.xcconfig create mode 100755 Example/Pods/Target Support Files/ZMJImageEditor/Info.plist create mode 100755 Example/Pods/Target Support Files/ZMJImageEditor/ZMJImageEditor-dummy.m create mode 100755 Example/Pods/Target Support Files/ZMJImageEditor/ZMJImageEditor-prefix.pch create mode 100755 Example/Pods/Target Support Files/ZMJImageEditor/ZMJImageEditor-umbrella.h create mode 100755 Example/Pods/Target Support Files/ZMJImageEditor/ZMJImageEditor.modulemap create mode 100755 Example/Pods/Target Support Files/ZMJImageEditor/ZMJImageEditor.xcconfig create mode 100755 Example/Pods/YYCategories/LICENSE create mode 100755 Example/Pods/YYCategories/README.md create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSArray+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSArray+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSBundle+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSBundle+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSData+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSData+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSDate+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSDate+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSDictionary+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSDictionary+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSKeyedUnarchiver+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSKeyedUnarchiver+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSNotificationCenter+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSNotificationCenter+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSNumber+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSNumber+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAddForARC.h create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAddForARC.m create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAddForKVO.h create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAddForKVO.m create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSString+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSString+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSThread+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSThread+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSTimer+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/Foundation/NSTimer+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/Quartz/CALayer+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/Quartz/CALayer+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/Quartz/YYCGUtilities.h create mode 100755 Example/Pods/YYCategories/YYCategories/Quartz/YYCGUtilities.m create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIApplication+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIApplication+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIBarButtonItem+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIBarButtonItem+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIBezierPath+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIBezierPath+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIColor+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIColor+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIControl+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIControl+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIDevice+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIDevice+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIFont+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIFont+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIGestureRecognizer+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIGestureRecognizer+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIImage+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIImage+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIScreen+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIScreen+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIScrollView+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIScrollView+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UITableView+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UITableView+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UITextField+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UITextField+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIView+YYAdd.h create mode 100755 Example/Pods/YYCategories/YYCategories/UIKit/UIView+YYAdd.m create mode 100755 Example/Pods/YYCategories/YYCategories/YYCategories.h create mode 100755 Example/Pods/YYCategories/YYCategories/YYCategoriesMacro.h create mode 100755 Example/Tests/Tests-Info.plist create mode 100755 Example/Tests/Tests-Prefix.pch create mode 100755 Example/Tests/Tests.m create mode 100755 Example/Tests/en.lproj/InfoPlist.strings create mode 100755 Example/Tests/zh-Hans.lproj/InfoPlist.strings create mode 100755 Example/ZMJImageEditor.xcodeproj/project.pbxproj create mode 100755 Example/ZMJImageEditor.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100755 Example/ZMJImageEditor.xcodeproj/xcshareddata/xcschemes/ZMJImageEditor-Example.xcscheme create mode 100755 Example/ZMJImageEditor.xcworkspace/contents.xcworkspacedata create mode 100644 Example/ZMJImageEditor.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100755 Example/ZMJImageEditor/Base.lproj/Base.lproj/Main.storyboard create mode 100755 Example/ZMJImageEditor/Base.lproj/Base.lproj/Main.strings create mode 100755 Example/ZMJImageEditor/Base.lproj/LaunchScreen.storyboard create mode 100755 Example/ZMJImageEditor/Base.lproj/en.lproj/Main.strings create mode 100755 Example/ZMJImageEditor/Base.lproj/zh-Hans.lproj/Main.strings create mode 100755 Example/ZMJImageEditor/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100755 Example/ZMJImageEditor/Images.xcassets/Contents.json create mode 100755 Example/ZMJImageEditor/Images.xcassets/bg.imageset/Contents.json create mode 100755 Example/ZMJImageEditor/Images.xcassets/bg.imageset/bg@2x.png create mode 100755 Example/ZMJImageEditor/Images.xcassets/p1.imageset/Contents.json create mode 100755 Example/ZMJImageEditor/Images.xcassets/p1.imageset/githubicon.png create mode 100755 Example/ZMJImageEditor/Images.xcassets/p2.imageset/Contents.json create mode 100755 Example/ZMJImageEditor/Images.xcassets/p2.imageset/photo.png create mode 100755 Example/ZMJImageEditor/ZMJAppDelegate.h create mode 100755 Example/ZMJImageEditor/ZMJAppDelegate.m create mode 100755 Example/ZMJImageEditor/ZMJImageEditor-Info.plist create mode 100755 Example/ZMJImageEditor/ZMJImageEditor-Prefix.pch create mode 100755 Example/ZMJImageEditor/ZMJViewController.h create mode 100755 Example/ZMJImageEditor/ZMJViewController.m create mode 100755 Example/ZMJImageEditor/en.lproj/InfoPlist.strings create mode 100755 Example/ZMJImageEditor/main.m create mode 100755 Example/ZMJImageEditor/zh-Hans.lproj/InfoPlist.strings create mode 100755 Example/ZMJImageEditor/zh-Hans.lproj/LaunchScreen.strings create mode 100755 LICENSE create mode 100755 Mosica/XPixelItem.h create mode 100755 Mosica/XPixelItem.m create mode 100755 Mosica/XRGBTool.h create mode 100755 Mosica/XRGBTool.m create mode 100755 Mosica/XScratchView.h create mode 100755 Mosica/XScratchView.m create mode 100755 README.md create mode 100755 WBGMosicaViewController.h create mode 100755 WBGMosicaViewController.m create mode 100755 ZMJImageEditor.podspec create mode 100755 ZMJImageEditor/Assets/.gitkeep create mode 100755 ZMJImageEditor/Assets/Base.lproj/WBGImageEditorViewController.xib create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/Contents.json create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/annotate.imageset/Contents.json create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/annotate.imageset/annotate@2x.png create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/annotate_selected.imageset/Contents.json create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/annotate_selected.imageset/annotate_selected@2x.png create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/bg.imageset/Contents.json create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/bg.imageset/bg@2x.png create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/clip.imageset/Contents.json create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/clip.imageset/clip@2x.png create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/clip_close.imageset/Contents.json create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/clip_close.imageset/clip_close@2x.png create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/clip_ok.imageset/Contents.json create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/clip_ok.imageset/clip_ok@2x.png create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/clip_rotate.imageset/Contents.json create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/clip_rotate.imageset/clip_rotate@2x.png create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/close_Text.imageset/Combined Shape@2x.png create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/close_Text.imageset/Contents.json create mode 100755 "ZMJImageEditor/Assets/EditImage.xcassets/paper.imageset/-\345\233\276\347\211\207.png" create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/paper.imageset/Contents.json create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/text.imageset/Contents.json create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/text.imageset/text@2x.png create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/text_selected.imageset/Contents.json create mode 100755 ZMJImageEditor/Assets/EditImage.xcassets/text_selected.imageset/text_selected@2x.png create mode 100755 ZMJImageEditor/Assets/en.lproj/WBGImageEditorViewController.strings create mode 100755 ZMJImageEditor/Assets/zh-Hans.lproj/WBGImageEditorViewController.strings create mode 100755 ZMJImageEditor/Classes/.gitkeep create mode 100755 ZMJImageEditor/Classes/ColorfullButton.h create mode 100755 ZMJImageEditor/Classes/ColorfullButton.m create mode 100755 ZMJImageEditor/Classes/Mosica/XPixelItem.h create mode 100755 ZMJImageEditor/Classes/Mosica/XPixelItem.m create mode 100755 ZMJImageEditor/Classes/Mosica/XRGBTool.h create mode 100755 ZMJImageEditor/Classes/Mosica/XRGBTool.m create mode 100755 ZMJImageEditor/Classes/Mosica/XScratchView.h create mode 100755 ZMJImageEditor/Classes/Mosica/XScratchView.m create mode 100755 ZMJImageEditor/Classes/TOCropViewController/Base.lproj/TOCropViewControllerLocalizable.strings create mode 100755 ZMJImageEditor/Classes/TOCropViewController/Models/TOActivityCroppedImageProvider.h create mode 100755 ZMJImageEditor/Classes/TOCropViewController/Models/TOActivityCroppedImageProvider.m create mode 100755 ZMJImageEditor/Classes/TOCropViewController/Models/TOCropViewControllerTransitioning.h create mode 100755 ZMJImageEditor/Classes/TOCropViewController/Models/TOCropViewControllerTransitioning.m create mode 100755 ZMJImageEditor/Classes/TOCropViewController/Models/TOCroppedImageAttributes.h create mode 100755 ZMJImageEditor/Classes/TOCropViewController/Models/TOCroppedImageAttributes.m create mode 100755 ZMJImageEditor/Classes/TOCropViewController/Models/UIImage+CropRotate.h create mode 100755 ZMJImageEditor/Classes/TOCropViewController/Models/UIImage+CropRotate.m create mode 100755 ZMJImageEditor/Classes/TOCropViewController/TOCropViewController-Bridging-Header.h create mode 100755 ZMJImageEditor/Classes/TOCropViewController/TOCropViewController.h create mode 100755 ZMJImageEditor/Classes/TOCropViewController/TOCropViewController.m create mode 100755 ZMJImageEditor/Classes/TOCropViewController/Views/TOCropOverlayView.h create mode 100755 ZMJImageEditor/Classes/TOCropViewController/Views/TOCropOverlayView.m create mode 100755 ZMJImageEditor/Classes/TOCropViewController/Views/TOCropScrollView.h create mode 100755 ZMJImageEditor/Classes/TOCropViewController/Views/TOCropScrollView.m create mode 100755 ZMJImageEditor/Classes/TOCropViewController/Views/TOCropToolbar.h create mode 100755 ZMJImageEditor/Classes/TOCropViewController/Views/TOCropToolbar.m create mode 100755 ZMJImageEditor/Classes/TOCropViewController/Views/TOCropView.h create mode 100755 ZMJImageEditor/Classes/TOCropViewController/Views/TOCropView.m create mode 100755 ZMJImageEditor/Classes/TOCropViewController/Views/UIImage+library.h create mode 100755 ZMJImageEditor/Classes/TOCropViewController/Views/UIImage+library.m create mode 100755 ZMJImageEditor/Classes/TOCropViewController/ar.lproj/TOCropViewControllerLocalizable.strings create mode 100755 ZMJImageEditor/Classes/TOCropViewController/da.lproj/TOCropViewControllerLocalizable.strings create mode 100755 ZMJImageEditor/Classes/TOCropViewController/de.lproj/TOCropViewControllerLocalizable.strings create mode 100755 ZMJImageEditor/Classes/TOCropViewController/en.lproj/TOCropViewControllerLocalizable.strings create mode 100755 ZMJImageEditor/Classes/TOCropViewController/es.lproj/TOCropViewControllerLocalizable.strings create mode 100755 ZMJImageEditor/Classes/TOCropViewController/fr.lproj/TOCropViewControllerLocalizable.strings create mode 100755 ZMJImageEditor/Classes/TOCropViewController/id.lproj/TOCropViewControllerLocalizable.strings create mode 100755 ZMJImageEditor/Classes/TOCropViewController/it.lproj/TOCropViewControllerLocalizable.strings create mode 100755 ZMJImageEditor/Classes/TOCropViewController/ja.lproj/TOCropViewControllerLocalizable.strings create mode 100755 ZMJImageEditor/Classes/TOCropViewController/ko.lproj/TOCropViewControllerLocalizable.strings create mode 100755 ZMJImageEditor/Classes/TOCropViewController/nl.lproj/TOCropViewControllerLocalizable.strings create mode 100755 ZMJImageEditor/Classes/TOCropViewController/pl.lproj/TOCropViewControllerLocalizable.strings create mode 100755 ZMJImageEditor/Classes/TOCropViewController/pt.lproj/TOCropViewControllerLocalizable.strings create mode 100755 ZMJImageEditor/Classes/TOCropViewController/ru.lproj/TOCropViewControllerLocalizable.strings create mode 100755 ZMJImageEditor/Classes/TOCropViewController/tr.lproj/TOCropViewControllerLocalizable.strings create mode 100755 ZMJImageEditor/Classes/TOCropViewController/vi.lproj/TOCropViewControllerLocalizable.strings create mode 100755 ZMJImageEditor/Classes/TOCropViewController/zh-Hans.lproj/TOCropViewControllerLocalizable.strings create mode 100755 ZMJImageEditor/Classes/TOCropViewController/zh-Hant.lproj/TOCropViewControllerLocalizable.strings create mode 100755 ZMJImageEditor/Classes/UIColor+TLChat.h create mode 100755 ZMJImageEditor/Classes/UIColor+TLChat.m create mode 100755 ZMJImageEditor/Classes/WBGBaseKeyboard.h create mode 100755 ZMJImageEditor/Classes/WBGBaseKeyboard.m create mode 100755 ZMJImageEditor/Classes/WBGChatMacros.h create mode 100755 ZMJImageEditor/Classes/WBGDrawTool.h create mode 100755 ZMJImageEditor/Classes/WBGDrawTool.m create mode 100755 ZMJImageEditor/Classes/WBGImageEditor.h create mode 100755 ZMJImageEditor/Classes/WBGImageEditor.m create mode 100755 ZMJImageEditor/Classes/WBGImageEditorGestureManager.h create mode 100755 ZMJImageEditor/Classes/WBGImageEditorGestureManager.m create mode 100755 ZMJImageEditor/Classes/WBGImageEditorViewController.h create mode 100755 ZMJImageEditor/Classes/WBGImageEditorViewController.m create mode 100755 ZMJImageEditor/Classes/WBGImageToolBase.h create mode 100755 ZMJImageEditor/Classes/WBGImageToolBase.m create mode 100755 ZMJImageEditor/Classes/WBGKeyboardDelegate.h create mode 100755 ZMJImageEditor/Classes/WBGKeyboardProtocol.h create mode 100755 ZMJImageEditor/Classes/WBGMoreKeyboard+CollectionView.h create mode 100755 ZMJImageEditor/Classes/WBGMoreKeyboard+CollectionView.m create mode 100755 ZMJImageEditor/Classes/WBGMoreKeyboard.h create mode 100755 ZMJImageEditor/Classes/WBGMoreKeyboard.m create mode 100755 ZMJImageEditor/Classes/WBGMoreKeyboardCell.h create mode 100755 ZMJImageEditor/Classes/WBGMoreKeyboardCell.m create mode 100755 ZMJImageEditor/Classes/WBGMoreKeyboardDelegate.h create mode 100755 ZMJImageEditor/Classes/WBGMoreKeyboardItem.h create mode 100755 ZMJImageEditor/Classes/WBGMoreKeyboardItem.m create mode 100755 ZMJImageEditor/Classes/WBGMosicaViewController.h create mode 100755 ZMJImageEditor/Classes/WBGMosicaViewController.m create mode 100755 ZMJImageEditor/Classes/WBGTextTool.h create mode 100755 ZMJImageEditor/Classes/WBGTextTool.m create mode 100755 ZMJImageEditor/Classes/WBGTextToolView.h create mode 100755 ZMJImageEditor/Classes/WBGTextToolView.m create mode 120000 _Pods.xcodeproj create mode 100755 screenShot/1.png create mode 100755 screenShot/2.png diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..e7b722d --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +# OS X +.DS_Store + +# Xcode +build/ +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata/ +*.xccheckout +profile +*.moved-aside +DerivedData +*.hmap +*.ipa + +# Bundler +.bundle + +Carthage +# We recommend against adding the Pods directory to your .gitignore. However +# you should judge for yourself, the pros and cons are mentioned at: +# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control +# +# Note: if you ignore the Pods directory, make sure to uncomment +# `pod install` in .travis.yml +# +# Pods/ diff --git a/.swift-version b/.swift-version new file mode 100755 index 0000000..bb576db --- /dev/null +++ b/.swift-version @@ -0,0 +1 @@ +2.3 diff --git a/.travis.yml b/.travis.yml new file mode 100755 index 0000000..192eaeb --- /dev/null +++ b/.travis.yml @@ -0,0 +1,14 @@ +# references: +# * http://www.objc.io/issue-6/travis-ci.html +# * https://github.com/supermarin/xcpretty#usage + +osx_image: xcode7.3 +language: objective-c +# cache: cocoapods +# podfile: Example/Podfile +# before_install: +# - gem install cocoapods # Since Travis is not always on latest version +# - pod install --project-directory=Example +script: +- set -o pipefail && xcodebuild test -workspace Example/ZMJImageEditor.xcworkspace -scheme ZMJImageEditor-Example -sdk iphonesimulator9.3 ONLY_ACTIVE_ARCH=NO | xcpretty +- pod lib lint diff --git a/Example/.swift-version b/Example/.swift-version new file mode 100755 index 0000000..9f55b2c --- /dev/null +++ b/Example/.swift-version @@ -0,0 +1 @@ +3.0 diff --git a/Example/Podfile b/Example/Podfile new file mode 100755 index 0000000..8f2e1d5 --- /dev/null +++ b/Example/Podfile @@ -0,0 +1,14 @@ +source 'https://github.com/CocoaPods/Specs.git' +inhibit_all_warnings! +use_frameworks! +platform :ios, '8.0' + +target 'ZMJImageEditor_Example' do + #pod 'ZMJImageEditor', :path => '../' + + target 'ZMJImageEditor_Tests' do + inherit! :search_paths + + pod 'FBSnapshotTestCase' + end +end diff --git a/Example/Podfile.lock b/Example/Podfile.lock new file mode 100755 index 0000000..9552192 --- /dev/null +++ b/Example/Podfile.lock @@ -0,0 +1,31 @@ +PODS: + - FBSnapshotTestCase (2.1.4): + - FBSnapshotTestCase/SwiftSupport (= 2.1.4) + - FBSnapshotTestCase/Core (2.1.4) + - FBSnapshotTestCase/SwiftSupport (2.1.4): + - FBSnapshotTestCase/Core + - Masonry (1.0.2) + - YYCategories (1.0.4): + - YYCategories/no-arc (= 1.0.4) + - YYCategories/no-arc (1.0.4) + - ZMJImageEditor (0.2.4): + - Masonry (~> 1.0.1) + - YYCategories (~> 1.0.4) + +DEPENDENCIES: + - FBSnapshotTestCase + - ZMJImageEditor (from `../`) + +EXTERNAL SOURCES: + ZMJImageEditor: + :path: ../ + +SPEC CHECKSUMS: + FBSnapshotTestCase: 094f9f314decbabe373b87cc339bea235a63e07a + Masonry: 7c429b56da9d4ee0bbb3ed77a5ea710d6a5df39e + YYCategories: 6bcd4314c6661a561410dce4a793379ebd306abd + ZMJImageEditor: 323cda566291ba8bf86918999ad7ef11ecd695de + +PODFILE CHECKSUM: 3c1d7a8afef6c42e332459f25ea9f8fb135c636f + +COCOAPODS: 1.4.0 diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h new file mode 100755 index 0000000..eefe11b --- /dev/null +++ b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2015, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + +#import + +@interface UIApplication (StrictKeyWindow) + +/** + @return The receiver's @c keyWindow. Raises an assertion if @c nil. + */ +- (UIWindow *)fb_strictKeyWindow; + +@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m new file mode 100755 index 0000000..0f7a0c2 --- /dev/null +++ b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2015, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + +#import + +@implementation UIApplication (StrictKeyWindow) + +- (UIWindow *)fb_strictKeyWindow +{ + UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow; + if (!keyWindow) { + [NSException raise:@"FBSnapshotTestCaseNilKeyWindowException" + format:@"Snapshot tests must be hosted by an application with a key window. Please ensure your test" + " host sets up a key window at launch (either via storyboards or programmatically) and doesn't" + " do anything to remove it while snapshot tests are running."]; + } + return keyWindow; +} + +@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h new file mode 100755 index 0000000..9091d62 --- /dev/null +++ b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h @@ -0,0 +1,37 @@ +// +// Created by Gabriel Handford on 3/1/09. +// Copyright 2009-2013. All rights reserved. +// Created by John Boiles on 10/20/11. +// Copyright (c) 2011. All rights reserved +// Modified by Felix Schulze on 2/11/13. +// Copyright 2013. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the "Software"), to deal in the Software without +// restriction, including without limitation the rights to use, +// copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following +// conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +// OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +@interface UIImage (Compare) + +- (BOOL)fb_compareWithImage:(UIImage *)image tolerance:(CGFloat)tolerance; + +@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m new file mode 100755 index 0000000..c997f57 --- /dev/null +++ b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m @@ -0,0 +1,134 @@ +// +// Created by Gabriel Handford on 3/1/09. +// Copyright 2009-2013. All rights reserved. +// Created by John Boiles on 10/20/11. +// Copyright (c) 2011. All rights reserved +// Modified by Felix Schulze on 2/11/13. +// Copyright 2013. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the "Software"), to deal in the Software without +// restriction, including without limitation the rights to use, +// copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following +// conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +// OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +// This makes debugging much more fun +typedef union { + uint32_t raw; + unsigned char bytes[4]; + struct { + char red; + char green; + char blue; + char alpha; + } __attribute__ ((packed)) pixels; +} FBComparePixel; + +@implementation UIImage (Compare) + +- (BOOL)fb_compareWithImage:(UIImage *)image tolerance:(CGFloat)tolerance +{ + NSAssert(CGSizeEqualToSize(self.size, image.size), @"Images must be same size."); + + CGSize referenceImageSize = CGSizeMake(CGImageGetWidth(self.CGImage), CGImageGetHeight(self.CGImage)); + CGSize imageSize = CGSizeMake(CGImageGetWidth(image.CGImage), CGImageGetHeight(image.CGImage)); + + // The images have the equal size, so we could use the smallest amount of bytes because of byte padding + size_t minBytesPerRow = MIN(CGImageGetBytesPerRow(self.CGImage), CGImageGetBytesPerRow(image.CGImage)); + size_t referenceImageSizeBytes = referenceImageSize.height * minBytesPerRow; + void *referenceImagePixels = calloc(1, referenceImageSizeBytes); + void *imagePixels = calloc(1, referenceImageSizeBytes); + + if (!referenceImagePixels || !imagePixels) { + free(referenceImagePixels); + free(imagePixels); + return NO; + } + + CGContextRef referenceImageContext = CGBitmapContextCreate(referenceImagePixels, + referenceImageSize.width, + referenceImageSize.height, + CGImageGetBitsPerComponent(self.CGImage), + minBytesPerRow, + CGImageGetColorSpace(self.CGImage), + (CGBitmapInfo)kCGImageAlphaPremultipliedLast + ); + CGContextRef imageContext = CGBitmapContextCreate(imagePixels, + imageSize.width, + imageSize.height, + CGImageGetBitsPerComponent(image.CGImage), + minBytesPerRow, + CGImageGetColorSpace(image.CGImage), + (CGBitmapInfo)kCGImageAlphaPremultipliedLast + ); + + if (!referenceImageContext || !imageContext) { + CGContextRelease(referenceImageContext); + CGContextRelease(imageContext); + free(referenceImagePixels); + free(imagePixels); + return NO; + } + + CGContextDrawImage(referenceImageContext, CGRectMake(0, 0, referenceImageSize.width, referenceImageSize.height), self.CGImage); + CGContextDrawImage(imageContext, CGRectMake(0, 0, imageSize.width, imageSize.height), image.CGImage); + + CGContextRelease(referenceImageContext); + CGContextRelease(imageContext); + + BOOL imageEqual = YES; + + // Do a fast compare if we can + if (tolerance == 0) { + imageEqual = (memcmp(referenceImagePixels, imagePixels, referenceImageSizeBytes) == 0); + } else { + // Go through each pixel in turn and see if it is different + const NSInteger pixelCount = referenceImageSize.width * referenceImageSize.height; + + FBComparePixel *p1 = referenceImagePixels; + FBComparePixel *p2 = imagePixels; + + NSInteger numDiffPixels = 0; + for (int n = 0; n < pixelCount; ++n) { + // If this pixel is different, increment the pixel diff count and see + // if we have hit our limit. + if (p1->raw != p2->raw) { + numDiffPixels ++; + + CGFloat percent = (CGFloat)numDiffPixels / pixelCount; + if (percent > tolerance) { + imageEqual = NO; + break; + } + } + + p1++; + p2++; + } + } + + free(referenceImagePixels); + free(imagePixels); + + return imageEqual; +} + +@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h new file mode 100755 index 0000000..a0863f3 --- /dev/null +++ b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h @@ -0,0 +1,37 @@ +// +// Created by Gabriel Handford on 3/1/09. +// Copyright 2009-2013. All rights reserved. +// Created by John Boiles on 10/20/11. +// Copyright (c) 2011. All rights reserved +// Modified by Felix Schulze on 2/11/13. +// Copyright 2013. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the "Software"), to deal in the Software without +// restriction, including without limitation the rights to use, +// copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following +// conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +// OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +@interface UIImage (Diff) + +- (UIImage *)fb_diffWithImage:(UIImage *)image; + +@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m new file mode 100755 index 0000000..ebb72fe --- /dev/null +++ b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m @@ -0,0 +1,56 @@ +// +// Created by Gabriel Handford on 3/1/09. +// Copyright 2009-2013. All rights reserved. +// Created by John Boiles on 10/20/11. +// Copyright (c) 2011. All rights reserved +// Modified by Felix Schulze on 2/11/13. +// Copyright 2013. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the "Software"), to deal in the Software without +// restriction, including without limitation the rights to use, +// copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following +// conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +// OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +@implementation UIImage (Diff) + +- (UIImage *)fb_diffWithImage:(UIImage *)image +{ + if (!image) { + return nil; + } + CGSize imageSize = CGSizeMake(MAX(self.size.width, image.size.width), MAX(self.size.height, image.size.height)); + UIGraphicsBeginImageContextWithOptions(imageSize, YES, 0); + CGContextRef context = UIGraphicsGetCurrentContext(); + [self drawInRect:CGRectMake(0, 0, self.size.width, self.size.height)]; + CGContextSetAlpha(context, 0.5); + CGContextBeginTransparencyLayer(context, NULL); + [image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)]; + CGContextSetBlendMode(context, kCGBlendModeDifference); + CGContextSetFillColorWithColor(context,[UIColor whiteColor].CGColor); + CGContextFillRect(context, CGRectMake(0, 0, self.size.width, self.size.height)); + CGContextEndTransparencyLayer(context); + UIImage *returnImage = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + return returnImage; +} + +@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h new file mode 100755 index 0000000..b0d5b26 --- /dev/null +++ b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2015, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + +#import + +@interface UIImage (Snapshot) + +/// Uses renderInContext: to get a snapshot of the layer. ++ (UIImage *)fb_imageForLayer:(CALayer *)layer; + +/// Uses renderInContext: to get a snapshot of the view layer. ++ (UIImage *)fb_imageForViewLayer:(UIView *)view; + +/// Uses drawViewHierarchyInRect: to get a snapshot of the view and adds the view into a window if needed. ++ (UIImage *)fb_imageForView:(UIView *)view; + +@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m new file mode 100755 index 0000000..968091b --- /dev/null +++ b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2015, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + +#import +#import + +@implementation UIImage (Snapshot) + ++ (UIImage *)fb_imageForLayer:(CALayer *)layer +{ + CGRect bounds = layer.bounds; + NSAssert1(CGRectGetWidth(bounds), @"Zero width for layer %@", layer); + NSAssert1(CGRectGetHeight(bounds), @"Zero height for layer %@", layer); + + UIGraphicsBeginImageContextWithOptions(bounds.size, NO, 0); + CGContextRef context = UIGraphicsGetCurrentContext(); + NSAssert1(context, @"Could not generate context for layer %@", layer); + CGContextSaveGState(context); + [layer layoutIfNeeded]; + [layer renderInContext:context]; + CGContextRestoreGState(context); + + UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + return snapshot; +} + ++ (UIImage *)fb_imageForViewLayer:(UIView *)view +{ + [view layoutIfNeeded]; + return [self fb_imageForLayer:view.layer]; +} + ++ (UIImage *)fb_imageForView:(UIView *)view +{ + CGRect bounds = view.bounds; + NSAssert1(CGRectGetWidth(bounds), @"Zero width for view %@", view); + NSAssert1(CGRectGetHeight(bounds), @"Zero height for view %@", view); + + // If the input view is already a UIWindow, then just use that. Otherwise wrap in a window. + UIWindow *window = [view isKindOfClass:[UIWindow class]] ? (UIWindow *)view : view.window; + BOOL removeFromSuperview = NO; + if (!window) { + window = [[UIApplication sharedApplication] fb_strictKeyWindow]; + } + + if (!view.window && view != window) { + [window addSubview:view]; + removeFromSuperview = YES; + } + + UIGraphicsBeginImageContextWithOptions(bounds.size, NO, 0); + [view layoutIfNeeded]; + [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES]; + + UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + + if (removeFromSuperview) { + [view removeFromSuperview]; + } + + return snapshot; +} + +@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h new file mode 100755 index 0000000..72abc3c --- /dev/null +++ b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h @@ -0,0 +1,180 @@ +/* + * Copyright (c) 2015, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + +#import +#import + +#import + +#import + +#import + +/* + There are three ways of setting reference image directories. + + 1. Set the preprocessor macro FB_REFERENCE_IMAGE_DIR to a double quoted + c-string with the path. + 2. Set an environment variable named FB_REFERENCE_IMAGE_DIR with the path. This + takes precedence over the preprocessor macro to allow for run-time override. + 3. Keep everything unset, which will cause the reference images to be looked up + inside the bundle holding the current test, in the + Resources/ReferenceImages_* directories. + */ +#ifndef FB_REFERENCE_IMAGE_DIR +#define FB_REFERENCE_IMAGE_DIR "" +#endif + +/** + Similar to our much-loved XCTAssert() macros. Use this to perform your test. No need to write an explanation, though. + @param view The view to snapshot + @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. + @param suffixes An NSOrderedSet of strings for the different suffixes + @param tolerance The percentage of pixels that can differ and still count as an 'identical' view + */ +#define FBSnapshotVerifyViewWithOptions(view__, identifier__, suffixes__, tolerance__) \ + FBSnapshotVerifyViewOrLayerWithOptions(View, view__, identifier__, suffixes__, tolerance__) + +#define FBSnapshotVerifyView(view__, identifier__) \ + FBSnapshotVerifyViewWithOptions(view__, identifier__, FBSnapshotTestCaseDefaultSuffixes(), 0) + + +/** + Similar to our much-loved XCTAssert() macros. Use this to perform your test. No need to write an explanation, though. + @param layer The layer to snapshot + @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. + @param suffixes An NSOrderedSet of strings for the different suffixes + @param tolerance The percentage of pixels that can differ and still count as an 'identical' layer + */ +#define FBSnapshotVerifyLayerWithOptions(layer__, identifier__, suffixes__, tolerance__) \ + FBSnapshotVerifyViewOrLayerWithOptions(Layer, layer__, identifier__, suffixes__, tolerance__) + +#define FBSnapshotVerifyLayer(layer__, identifier__) \ + FBSnapshotVerifyLayerWithOptions(layer__, identifier__, FBSnapshotTestCaseDefaultSuffixes(), 0) + + +#define FBSnapshotVerifyViewOrLayerWithOptions(what__, viewOrLayer__, identifier__, suffixes__, tolerance__) \ +{ \ + NSString *errorDescription = [self snapshotVerifyViewOrLayer:viewOrLayer__ identifier:identifier__ suffixes:suffixes__ tolerance:tolerance__]; \ + BOOL noErrors = (errorDescription == nil); \ + XCTAssertTrue(noErrors, @"%@", errorDescription); \ +} + + +/** + The base class of view snapshotting tests. If you have small UI component, it's often easier to configure it in a test + and compare an image of the view to a reference image that write lots of complex layout-code tests. + + In order to flip the tests in your subclass to record the reference images set @c recordMode to @c YES. + + @attention When recording, the reference image directory should be explicitly + set, otherwise the images may be written to somewhere inside the + simulator directory. + + For example: + @code + - (void)setUp + { + [super setUp]; + self.recordMode = YES; + } + @endcode + */ +@interface FBSnapshotTestCase : XCTestCase + +/** + When YES, the test macros will save reference images, rather than performing an actual test. + */ +@property (readwrite, nonatomic, assign) BOOL recordMode; + +/** + When @c YES appends the name of the device model and OS to the snapshot file name. + The default value is @c NO. + */ +@property (readwrite, nonatomic, assign, getter=isDeviceAgnostic) BOOL deviceAgnostic; + +/** + When YES, renders a snapshot of the complete view hierarchy as visible onscreen. + There are several things that do not work if renderInContext: is used. + - UIVisualEffect #70 + - UIAppearance #91 + - Size Classes #92 + + @attention If the view does't belong to a UIWindow, it will create one and add the view as a subview. + */ +@property (readwrite, nonatomic, assign) BOOL usesDrawViewHierarchyInRect; + +- (void)setUp NS_REQUIRES_SUPER; +- (void)tearDown NS_REQUIRES_SUPER; + +/** + Performs the comparison or records a snapshot of the layer if recordMode is YES. + @param viewOrLayer The UIView or CALayer to snapshot + @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. + @param suffixes An NSOrderedSet of strings for the different suffixes + @param tolerance The percentage difference to still count as identical - 0 mean pixel perfect, 1 means I don't care + @returns nil if the comparison (or saving of the reference image) succeeded. Otherwise it contains an error description. + */ +- (NSString *)snapshotVerifyViewOrLayer:(id)viewOrLayer + identifier:(NSString *)identifier + suffixes:(NSOrderedSet *)suffixes + tolerance:(CGFloat)tolerance; + +/** + Performs the comparison or records a snapshot of the layer if recordMode is YES. + @param layer The Layer to snapshot + @param referenceImagesDirectory The directory in which reference images are stored. + @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. + @param tolerance The percentage difference to still count as identical - 0 mean pixel perfect, 1 means I don't care + @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). + @returns YES if the comparison (or saving of the reference image) succeeded. + */ +- (BOOL)compareSnapshotOfLayer:(CALayer *)layer + referenceImagesDirectory:(NSString *)referenceImagesDirectory + identifier:(NSString *)identifier + tolerance:(CGFloat)tolerance + error:(NSError **)errorPtr; + +/** + Performs the comparison or records a snapshot of the view if recordMode is YES. + @param view The view to snapshot + @param referenceImagesDirectory The directory in which reference images are stored. + @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. + @param tolerance The percentage difference to still count as identical - 0 mean pixel perfect, 1 means I don't care + @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). + @returns YES if the comparison (or saving of the reference image) succeeded. + */ +- (BOOL)compareSnapshotOfView:(UIView *)view + referenceImagesDirectory:(NSString *)referenceImagesDirectory + identifier:(NSString *)identifier + tolerance:(CGFloat)tolerance + error:(NSError **)errorPtr; + +/** + Checks if reference image with identifier based name exists in the reference images directory. + @param referenceImagesDirectory The directory in which reference images are stored. + @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. + @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). + @returns YES if reference image exists. + */ +- (BOOL)referenceImageRecordedInDirectory:(NSString *)referenceImagesDirectory + identifier:(NSString *)identifier + error:(NSError **)errorPtr; + +/** + Returns the reference image directory. + + Helper function used to implement the assert macros. + + @param dir directory to use if environment variable not specified. Ignored if null or empty. + */ +- (NSString *)getReferenceImageDirectoryWithDefault:(NSString *)dir; + +@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m new file mode 100755 index 0000000..f44458c --- /dev/null +++ b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m @@ -0,0 +1,192 @@ +/* + * Copyright (c) 2015, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + +#import +#import + +@implementation FBSnapshotTestCase +{ + FBSnapshotTestController *_snapshotController; +} + +#pragma mark - Overrides + +- (void)setUp +{ + [super setUp]; + _snapshotController = [[FBSnapshotTestController alloc] initWithTestName:NSStringFromClass([self class])]; +} + +- (void)tearDown +{ + _snapshotController = nil; + [super tearDown]; +} + +- (BOOL)recordMode +{ + return _snapshotController.recordMode; +} + +- (void)setRecordMode:(BOOL)recordMode +{ + NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__); + _snapshotController.recordMode = recordMode; +} + +- (BOOL)isDeviceAgnostic +{ + return _snapshotController.deviceAgnostic; +} + +- (void)setDeviceAgnostic:(BOOL)deviceAgnostic +{ + NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__); + _snapshotController.deviceAgnostic = deviceAgnostic; +} + +- (BOOL)usesDrawViewHierarchyInRect +{ + return _snapshotController.usesDrawViewHierarchyInRect; +} + +- (void)setUsesDrawViewHierarchyInRect:(BOOL)usesDrawViewHierarchyInRect +{ + NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__); + _snapshotController.usesDrawViewHierarchyInRect = usesDrawViewHierarchyInRect; +} + +#pragma mark - Public API + +- (NSString *)snapshotVerifyViewOrLayer:(id)viewOrLayer + identifier:(NSString *)identifier + suffixes:(NSOrderedSet *)suffixes + tolerance:(CGFloat)tolerance +{ + if (nil == viewOrLayer) { + return @"Object to be snapshotted must not be nil"; + } + NSString *referenceImageDirectory = [self getReferenceImageDirectoryWithDefault:(@ FB_REFERENCE_IMAGE_DIR)]; + if (referenceImageDirectory == nil) { + return @"Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme."; + } + if (suffixes.count == 0) { + return [NSString stringWithFormat:@"Suffixes set cannot be empty %@", suffixes]; + } + + BOOL testSuccess = NO; + NSError *error = nil; + NSMutableArray *errors = [NSMutableArray array]; + + if (self.recordMode) { + NSString *referenceImagesDirectory = [NSString stringWithFormat:@"%@%@", referenceImageDirectory, suffixes.firstObject]; + BOOL referenceImageSaved = [self _compareSnapshotOfViewOrLayer:viewOrLayer referenceImagesDirectory:referenceImagesDirectory identifier:(identifier) tolerance:tolerance error:&error]; + if (!referenceImageSaved) { + [errors addObject:error]; + } + } else { + for (NSString *suffix in suffixes) { + NSString *referenceImagesDirectory = [NSString stringWithFormat:@"%@%@", referenceImageDirectory, suffix]; + BOOL referenceImageAvailable = [self referenceImageRecordedInDirectory:referenceImagesDirectory identifier:(identifier) error:&error]; + + if (referenceImageAvailable) { + BOOL comparisonSuccess = [self _compareSnapshotOfViewOrLayer:viewOrLayer referenceImagesDirectory:referenceImagesDirectory identifier:identifier tolerance:tolerance error:&error]; + [errors removeAllObjects]; + if (comparisonSuccess) { + testSuccess = YES; + break; + } else { + [errors addObject:error]; + } + } else { + [errors addObject:error]; + } + } + } + + if (!testSuccess) { + return [NSString stringWithFormat:@"Snapshot comparison failed: %@", errors.firstObject]; + } + if (self.recordMode) { + return @"Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!"; + } + + return nil; +} + +- (BOOL)compareSnapshotOfLayer:(CALayer *)layer + referenceImagesDirectory:(NSString *)referenceImagesDirectory + identifier:(NSString *)identifier + tolerance:(CGFloat)tolerance + error:(NSError **)errorPtr +{ + return [self _compareSnapshotOfViewOrLayer:layer + referenceImagesDirectory:referenceImagesDirectory + identifier:identifier + tolerance:tolerance + error:errorPtr]; +} + +- (BOOL)compareSnapshotOfView:(UIView *)view + referenceImagesDirectory:(NSString *)referenceImagesDirectory + identifier:(NSString *)identifier + tolerance:(CGFloat)tolerance + error:(NSError **)errorPtr +{ + return [self _compareSnapshotOfViewOrLayer:view + referenceImagesDirectory:referenceImagesDirectory + identifier:identifier + tolerance:tolerance + error:errorPtr]; +} + +- (BOOL)referenceImageRecordedInDirectory:(NSString *)referenceImagesDirectory + identifier:(NSString *)identifier + error:(NSError **)errorPtr +{ + NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__); + _snapshotController.referenceImagesDirectory = referenceImagesDirectory; + UIImage *referenceImage = [_snapshotController referenceImageForSelector:self.invocation.selector + identifier:identifier + error:errorPtr]; + + return (referenceImage != nil); +} + +- (NSString *)getReferenceImageDirectoryWithDefault:(NSString *)dir +{ + NSString *envReferenceImageDirectory = [NSProcessInfo processInfo].environment[@"FB_REFERENCE_IMAGE_DIR"]; + if (envReferenceImageDirectory) { + return envReferenceImageDirectory; + } + if (dir && dir.length > 0) { + return dir; + } + return [[NSBundle bundleForClass:self.class].resourcePath stringByAppendingPathComponent:@"ReferenceImages"]; +} + + +#pragma mark - Private API + +- (BOOL)_compareSnapshotOfViewOrLayer:(id)viewOrLayer + referenceImagesDirectory:(NSString *)referenceImagesDirectory + identifier:(NSString *)identifier + tolerance:(CGFloat)tolerance + error:(NSError **)errorPtr +{ + _snapshotController.referenceImagesDirectory = referenceImagesDirectory; + return [_snapshotController compareSnapshotOfViewOrLayer:viewOrLayer + selector:self.invocation.selector + identifier:identifier + tolerance:tolerance + error:errorPtr]; +} + +@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h new file mode 100755 index 0000000..e04acf2 --- /dev/null +++ b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2015, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + +#import + +#ifdef __cplusplus +extern "C" { +#endif + +/** + Returns a Boolean value that indicates whether the snapshot test is running in 64Bit. + This method is a convenience for creating the suffixes set based on the architecture + that the test is running. + + @returns @c YES if the test is running in 64bit, otherwise @c NO. + */ +BOOL FBSnapshotTestCaseIs64Bit(void); + +/** + Returns a default set of strings that is used to append a suffix based on the architectures. + @warning Do not modify this function, you can create your own and use it with @c FBSnapshotVerifyViewWithOptions() + + @returns An @c NSOrderedSet object containing strings that are appended to the reference images directory. + */ +NSOrderedSet *FBSnapshotTestCaseDefaultSuffixes(void); + +/** + Returns a fully «normalized» file name. + Strips punctuation and spaces and replaces them with @c _. Also appends the device model, running OS and screen size to the file name. + + @returns An @c NSString object containing the passed @c fileName with the device model, OS and screen size appended at the end. + */ +NSString *FBDeviceAgnosticNormalizedFileName(NSString *fileName); + +#ifdef __cplusplus +} +#endif diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m new file mode 100755 index 0000000..d8709d8 --- /dev/null +++ b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2015, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + +#import +#import +#import + +BOOL FBSnapshotTestCaseIs64Bit(void) +{ +#if __LP64__ + return YES; +#else + return NO; +#endif +} + +NSOrderedSet *FBSnapshotTestCaseDefaultSuffixes(void) +{ + NSMutableOrderedSet *suffixesSet = [[NSMutableOrderedSet alloc] init]; + [suffixesSet addObject:@"_32"]; + [suffixesSet addObject:@"_64"]; + if (FBSnapshotTestCaseIs64Bit()) { + return [suffixesSet reversedOrderedSet]; + } + return [suffixesSet copy]; +} + +NSString *FBDeviceAgnosticNormalizedFileName(NSString *fileName) +{ + UIDevice *device = [UIDevice currentDevice]; + UIWindow *keyWindow = [[UIApplication sharedApplication] fb_strictKeyWindow]; + CGSize screenSize = keyWindow.bounds.size; + NSString *os = device.systemVersion; + + fileName = [NSString stringWithFormat:@"%@_%@%@_%.0fx%.0f", fileName, device.model, os, screenSize.width, screenSize.height]; + + NSMutableCharacterSet *invalidCharacters = [NSMutableCharacterSet new]; + [invalidCharacters formUnionWithCharacterSet:[NSCharacterSet whitespaceCharacterSet]]; + [invalidCharacters formUnionWithCharacterSet:[NSCharacterSet punctuationCharacterSet]]; + NSArray *validComponents = [fileName componentsSeparatedByCharactersInSet:invalidCharacters]; + fileName = [validComponents componentsJoinedByString:@"_"]; + + return fileName; +} \ No newline at end of file diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h new file mode 100755 index 0000000..a0285ad --- /dev/null +++ b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h @@ -0,0 +1,166 @@ +/* + * Copyright (c) 2015, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + +#import +#import + +typedef NS_ENUM(NSInteger, FBSnapshotTestControllerErrorCode) { + FBSnapshotTestControllerErrorCodeUnknown, + FBSnapshotTestControllerErrorCodeNeedsRecord, + FBSnapshotTestControllerErrorCodePNGCreationFailed, + FBSnapshotTestControllerErrorCodeImagesDifferentSizes, + FBSnapshotTestControllerErrorCodeImagesDifferent, +}; +/** + Errors returned by the methods of FBSnapshotTestController use this domain. + */ +extern NSString *const FBSnapshotTestControllerErrorDomain; + +/** + Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary. + */ +extern NSString *const FBReferenceImageFilePathKey; + +/** + Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary. + */ +extern NSString *const FBReferenceImageKey; + +/** + Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary. + */ +extern NSString *const FBCapturedImageKey; + +/** + Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary. + */ +extern NSString *const FBDiffedImageKey; + +/** + Provides the heavy-lifting for FBSnapshotTestCase. It loads and saves images, along with performing the actual pixel- + by-pixel comparison of images. + Instances are initialized with the test class, and directories to read and write to. + */ +@interface FBSnapshotTestController : NSObject + +/** + Record snapshots. + */ +@property (readwrite, nonatomic, assign) BOOL recordMode; + +/** + When @c YES appends the name of the device model and OS to the snapshot file name. + The default value is @c NO. + */ +@property (readwrite, nonatomic, assign, getter=isDeviceAgnostic) BOOL deviceAgnostic; + +/** + Uses drawViewHierarchyInRect:afterScreenUpdates: to draw the image instead of renderInContext: + */ +@property (readwrite, nonatomic, assign) BOOL usesDrawViewHierarchyInRect; + +/** + The directory in which referfence images are stored. + */ +@property (readwrite, nonatomic, copy) NSString *referenceImagesDirectory; + +/** + @param testClass The subclass of FBSnapshotTestCase that is using this controller. + @returns An instance of FBSnapshotTestController. + */ +- (instancetype)initWithTestClass:(Class)testClass; + +/** + Designated initializer. + @param testName The name of the tests. + @returns An instance of FBSnapshotTestController. + */ +- (instancetype)initWithTestName:(NSString *)testName; + +/** + Performs the comparison of the layer. + @param layer The Layer to snapshot. + @param selector The test method being run. + @param identifier An optional identifier, used is there are muliptle snapshot tests in a given -test method. + @param error An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). + @returns YES if the comparison (or saving of the reference image) succeeded. + */ +- (BOOL)compareSnapshotOfLayer:(CALayer *)layer + selector:(SEL)selector + identifier:(NSString *)identifier + error:(NSError **)errorPtr; + +/** + Performs the comparison of the view. + @param view The view to snapshot. + @param selector The test method being run. + @param identifier An optional identifier, used is there are muliptle snapshot tests in a given -test method. + @param error An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). + @returns YES if the comparison (or saving of the reference image) succeeded. + */ +- (BOOL)compareSnapshotOfView:(UIView *)view + selector:(SEL)selector + identifier:(NSString *)identifier + error:(NSError **)errorPtr; + +/** + Performs the comparison of a view or layer. + @param view The view or layer to snapshot. + @param selector The test method being run. + @param identifier An optional identifier, used is there are muliptle snapshot tests in a given -test method. + @param tolerance The percentage of pixels that can differ and still be considered 'identical' + @param error An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). + @returns YES if the comparison (or saving of the reference image) succeeded. + */ +- (BOOL)compareSnapshotOfViewOrLayer:(id)viewOrLayer + selector:(SEL)selector + identifier:(NSString *)identifier + tolerance:(CGFloat)tolerance + error:(NSError **)errorPtr; + +/** + Loads a reference image. + @param selector The test method being run. + @param identifier The optional identifier, used when multiple images are tested in a single -test method. + @param errorPtr An error, if this methods returns nil, the error will be something useful. + @returns An image. + */ +- (UIImage *)referenceImageForSelector:(SEL)selector + identifier:(NSString *)identifier + error:(NSError **)errorPtr; + +/** + Performs a pixel-by-pixel comparison of the two images with an allowable margin of error. + @param referenceImage The reference (correct) image. + @param image The image to test against the reference. + @param tolerance The percentage of pixels that can differ and still be considered 'identical' + @param errorPtr An error that indicates why the comparison failed if it does. + @returns YES if the comparison succeeded and the images are the same(ish). + */ +- (BOOL)compareReferenceImage:(UIImage *)referenceImage + toImage:(UIImage *)image + tolerance:(CGFloat)tolerance + error:(NSError **)errorPtr; + +/** + Saves the reference image and the test image to `failedOutputDirectory`. + @param referenceImage The reference (correct) image. + @param testImage The image to test against the reference. + @param selector The test method being run. + @param identifier The optional identifier, used when multiple images are tested in a single -test method. + @param errorPtr An error that indicates why the comparison failed if it does. + @returns YES if the save succeeded. + */ +- (BOOL)saveFailedReferenceImage:(UIImage *)referenceImage + testImage:(UIImage *)testImage + selector:(SEL)selector + identifier:(NSString *)identifier + error:(NSError **)errorPtr; +@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m new file mode 100755 index 0000000..74c5a0a --- /dev/null +++ b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m @@ -0,0 +1,358 @@ +/* + * Copyright (c) 2015, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + +#import +#import +#import +#import +#import + +#import + +NSString *const FBSnapshotTestControllerErrorDomain = @"FBSnapshotTestControllerErrorDomain"; +NSString *const FBReferenceImageFilePathKey = @"FBReferenceImageFilePathKey"; +NSString *const FBReferenceImageKey = @"FBReferenceImageKey"; +NSString *const FBCapturedImageKey = @"FBCapturedImageKey"; +NSString *const FBDiffedImageKey = @"FBDiffedImageKey"; + +typedef NS_ENUM(NSUInteger, FBTestSnapshotFileNameType) { + FBTestSnapshotFileNameTypeReference, + FBTestSnapshotFileNameTypeFailedReference, + FBTestSnapshotFileNameTypeFailedTest, + FBTestSnapshotFileNameTypeFailedTestDiff, +}; + +@implementation FBSnapshotTestController +{ + NSString *_testName; + NSFileManager *_fileManager; +} + +#pragma mark - Initializers + +- (instancetype)initWithTestClass:(Class)testClass; +{ + return [self initWithTestName:NSStringFromClass(testClass)]; +} + +- (instancetype)initWithTestName:(NSString *)testName +{ + if (self = [super init]) { + _testName = [testName copy]; + _deviceAgnostic = NO; + + _fileManager = [[NSFileManager alloc] init]; + } + return self; +} + +#pragma mark - Overrides + +- (NSString *)description +{ + return [NSString stringWithFormat:@"%@ %@", [super description], _referenceImagesDirectory]; +} + +#pragma mark - Public API + +- (BOOL)compareSnapshotOfLayer:(CALayer *)layer + selector:(SEL)selector + identifier:(NSString *)identifier + error:(NSError **)errorPtr +{ + return [self compareSnapshotOfViewOrLayer:layer + selector:selector + identifier:identifier + tolerance:0 + error:errorPtr]; +} + +- (BOOL)compareSnapshotOfView:(UIView *)view + selector:(SEL)selector + identifier:(NSString *)identifier + error:(NSError **)errorPtr +{ + return [self compareSnapshotOfViewOrLayer:view + selector:selector + identifier:identifier + tolerance:0 + error:errorPtr]; +} + +- (BOOL)compareSnapshotOfViewOrLayer:(id)viewOrLayer + selector:(SEL)selector + identifier:(NSString *)identifier + tolerance:(CGFloat)tolerance + error:(NSError **)errorPtr +{ + if (self.recordMode) { + return [self _recordSnapshotOfViewOrLayer:viewOrLayer selector:selector identifier:identifier error:errorPtr]; + } else { + return [self _performPixelComparisonWithViewOrLayer:viewOrLayer selector:selector identifier:identifier tolerance:tolerance error:errorPtr]; + } +} + +- (UIImage *)referenceImageForSelector:(SEL)selector + identifier:(NSString *)identifier + error:(NSError **)errorPtr +{ + NSString *filePath = [self _referenceFilePathForSelector:selector identifier:identifier]; + UIImage *image = [UIImage imageWithContentsOfFile:filePath]; + if (nil == image && NULL != errorPtr) { + BOOL exists = [_fileManager fileExistsAtPath:filePath]; + if (!exists) { + *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain + code:FBSnapshotTestControllerErrorCodeNeedsRecord + userInfo:@{ + FBReferenceImageFilePathKey: filePath, + NSLocalizedDescriptionKey: @"Unable to load reference image.", + NSLocalizedFailureReasonErrorKey: @"Reference image not found. You need to run the test in record mode", + }]; + } else { + *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain + code:FBSnapshotTestControllerErrorCodeUnknown + userInfo:nil]; + } + } + return image; +} + +- (BOOL)compareReferenceImage:(UIImage *)referenceImage + toImage:(UIImage *)image + tolerance:(CGFloat)tolerance + error:(NSError **)errorPtr +{ + BOOL sameImageDimensions = CGSizeEqualToSize(referenceImage.size, image.size); + if (sameImageDimensions && [referenceImage fb_compareWithImage:image tolerance:tolerance]) { + return YES; + } + + if (NULL != errorPtr) { + NSString *errorDescription = sameImageDimensions ? @"Images different" : @"Images different sizes"; + NSString *errorReason = sameImageDimensions ? [NSString stringWithFormat:@"image pixels differed by more than %.2f%% from the reference image", tolerance * 100] + : [NSString stringWithFormat:@"referenceImage:%@, image:%@", NSStringFromCGSize(referenceImage.size), NSStringFromCGSize(image.size)]; + FBSnapshotTestControllerErrorCode errorCode = sameImageDimensions ? FBSnapshotTestControllerErrorCodeImagesDifferent : FBSnapshotTestControllerErrorCodeImagesDifferentSizes; + + *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain + code:errorCode + userInfo:@{ + NSLocalizedDescriptionKey: errorDescription, + NSLocalizedFailureReasonErrorKey: errorReason, + FBReferenceImageKey: referenceImage, + FBCapturedImageKey: image, + FBDiffedImageKey: [referenceImage fb_diffWithImage:image], + }]; + } + return NO; +} + +- (BOOL)saveFailedReferenceImage:(UIImage *)referenceImage + testImage:(UIImage *)testImage + selector:(SEL)selector + identifier:(NSString *)identifier + error:(NSError **)errorPtr +{ + NSData *referencePNGData = UIImagePNGRepresentation(referenceImage); + NSData *testPNGData = UIImagePNGRepresentation(testImage); + + NSString *referencePath = [self _failedFilePathForSelector:selector + identifier:identifier + fileNameType:FBTestSnapshotFileNameTypeFailedReference]; + + NSError *creationError = nil; + BOOL didCreateDir = [_fileManager createDirectoryAtPath:[referencePath stringByDeletingLastPathComponent] + withIntermediateDirectories:YES + attributes:nil + error:&creationError]; + if (!didCreateDir) { + if (NULL != errorPtr) { + *errorPtr = creationError; + } + return NO; + } + + if (![referencePNGData writeToFile:referencePath options:NSDataWritingAtomic error:errorPtr]) { + return NO; + } + + NSString *testPath = [self _failedFilePathForSelector:selector + identifier:identifier + fileNameType:FBTestSnapshotFileNameTypeFailedTest]; + + if (![testPNGData writeToFile:testPath options:NSDataWritingAtomic error:errorPtr]) { + return NO; + } + + NSString *diffPath = [self _failedFilePathForSelector:selector + identifier:identifier + fileNameType:FBTestSnapshotFileNameTypeFailedTestDiff]; + + UIImage *diffImage = [referenceImage fb_diffWithImage:testImage]; + NSData *diffImageData = UIImagePNGRepresentation(diffImage); + + if (![diffImageData writeToFile:diffPath options:NSDataWritingAtomic error:errorPtr]) { + return NO; + } + + NSLog(@"If you have Kaleidoscope installed you can run this command to see an image diff:\n" + @"ksdiff \"%@\" \"%@\"", referencePath, testPath); + + return YES; +} + +#pragma mark - Private API + +- (NSString *)_fileNameForSelector:(SEL)selector + identifier:(NSString *)identifier + fileNameType:(FBTestSnapshotFileNameType)fileNameType +{ + NSString *fileName = nil; + switch (fileNameType) { + case FBTestSnapshotFileNameTypeFailedReference: + fileName = @"reference_"; + break; + case FBTestSnapshotFileNameTypeFailedTest: + fileName = @"failed_"; + break; + case FBTestSnapshotFileNameTypeFailedTestDiff: + fileName = @"diff_"; + break; + default: + fileName = @""; + break; + } + fileName = [fileName stringByAppendingString:NSStringFromSelector(selector)]; + if (0 < identifier.length) { + fileName = [fileName stringByAppendingFormat:@"_%@", identifier]; + } + + if (self.isDeviceAgnostic) { + fileName = FBDeviceAgnosticNormalizedFileName(fileName); + } + + if ([[UIScreen mainScreen] scale] > 1) { + fileName = [fileName stringByAppendingFormat:@"@%.fx", [[UIScreen mainScreen] scale]]; + } + fileName = [fileName stringByAppendingPathExtension:@"png"]; + return fileName; +} + +- (NSString *)_referenceFilePathForSelector:(SEL)selector + identifier:(NSString *)identifier +{ + NSString *fileName = [self _fileNameForSelector:selector + identifier:identifier + fileNameType:FBTestSnapshotFileNameTypeReference]; + NSString *filePath = [_referenceImagesDirectory stringByAppendingPathComponent:_testName]; + filePath = [filePath stringByAppendingPathComponent:fileName]; + return filePath; +} + +- (NSString *)_failedFilePathForSelector:(SEL)selector + identifier:(NSString *)identifier + fileNameType:(FBTestSnapshotFileNameType)fileNameType +{ + NSString *fileName = [self _fileNameForSelector:selector + identifier:identifier + fileNameType:fileNameType]; + NSString *folderPath = NSTemporaryDirectory(); + if (getenv("IMAGE_DIFF_DIR")) { + folderPath = @(getenv("IMAGE_DIFF_DIR")); + } + NSString *filePath = [folderPath stringByAppendingPathComponent:_testName]; + filePath = [filePath stringByAppendingPathComponent:fileName]; + return filePath; +} + +- (BOOL)_performPixelComparisonWithViewOrLayer:(id)viewOrLayer + selector:(SEL)selector + identifier:(NSString *)identifier + tolerance:(CGFloat)tolerance + error:(NSError **)errorPtr +{ + UIImage *referenceImage = [self referenceImageForSelector:selector identifier:identifier error:errorPtr]; + if (nil != referenceImage) { + UIImage *snapshot = [self _imageForViewOrLayer:viewOrLayer]; + BOOL imagesSame = [self compareReferenceImage:referenceImage toImage:snapshot tolerance:tolerance error:errorPtr]; + if (!imagesSame) { + NSError *saveError = nil; + if ([self saveFailedReferenceImage:referenceImage testImage:snapshot selector:selector identifier:identifier error:&saveError] == NO) { + NSLog(@"Error saving test images: %@", saveError); + } + } + return imagesSame; + } + return NO; +} + +- (BOOL)_recordSnapshotOfViewOrLayer:(id)viewOrLayer + selector:(SEL)selector + identifier:(NSString *)identifier + error:(NSError **)errorPtr +{ + UIImage *snapshot = [self _imageForViewOrLayer:viewOrLayer]; + return [self _saveReferenceImage:snapshot selector:selector identifier:identifier error:errorPtr]; +} + +- (BOOL)_saveReferenceImage:(UIImage *)image + selector:(SEL)selector + identifier:(NSString *)identifier + error:(NSError **)errorPtr +{ + BOOL didWrite = NO; + if (nil != image) { + NSString *filePath = [self _referenceFilePathForSelector:selector identifier:identifier]; + NSData *pngData = UIImagePNGRepresentation(image); + if (nil != pngData) { + NSError *creationError = nil; + BOOL didCreateDir = [_fileManager createDirectoryAtPath:[filePath stringByDeletingLastPathComponent] + withIntermediateDirectories:YES + attributes:nil + error:&creationError]; + if (!didCreateDir) { + if (NULL != errorPtr) { + *errorPtr = creationError; + } + return NO; + } + didWrite = [pngData writeToFile:filePath options:NSDataWritingAtomic error:errorPtr]; + if (didWrite) { + NSLog(@"Reference image save at: %@", filePath); + } + } else { + if (nil != errorPtr) { + *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain + code:FBSnapshotTestControllerErrorCodePNGCreationFailed + userInfo:@{ + FBReferenceImageFilePathKey: filePath, + }]; + } + } + } + return didWrite; +} + +- (UIImage *)_imageForViewOrLayer:(id)viewOrLayer +{ + if ([viewOrLayer isKindOfClass:[UIView class]]) { + if (_usesDrawViewHierarchyInRect) { + return [UIImage fb_imageForView:viewOrLayer]; + } else { + return [UIImage fb_imageForViewLayer:viewOrLayer]; + } + } else if ([viewOrLayer isKindOfClass:[CALayer class]]) { + return [UIImage fb_imageForLayer:viewOrLayer]; + } else { + [NSException raise:@"Only UIView and CALayer classes can be snapshotted" format:@"%@", viewOrLayer]; + } + return nil; +} + +@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift new file mode 100755 index 0000000..46af580 --- /dev/null +++ b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift @@ -0,0 +1,125 @@ +/* +* Copyright (c) 2015, Facebook, Inc. +* All rights reserved. +* +* This source code is licensed under the BSD-style license found in the +* LICENSE file in the root directory of this source tree. An additional grant +* of patent rights can be found in the PATENTS file in the same directory. +* +*/ + +#if swift(>=3) + public extension FBSnapshotTestCase { + public func FBSnapshotVerifyView(_ view: UIView, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { + FBSnapshotVerifyViewOrLayer(view, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line) + } + + public func FBSnapshotVerifyLayer(_ layer: CALayer, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { + FBSnapshotVerifyViewOrLayer(layer, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line) + } + + private func FBSnapshotVerifyViewOrLayer(_ viewOrLayer: AnyObject, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { + let envReferenceImageDirectory = self.getReferenceImageDirectory(withDefault: FB_REFERENCE_IMAGE_DIR) + var error: NSError? + var comparisonSuccess = false + + if let envReferenceImageDirectory = envReferenceImageDirectory { + for suffix in suffixes { + let referenceImagesDirectory = "\(envReferenceImageDirectory)\(suffix)" + if viewOrLayer.isKind(of: UIView.self) { + do { + try compareSnapshot(of: viewOrLayer as! UIView, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance) + comparisonSuccess = true + } catch let error1 as NSError { + error = error1 + comparisonSuccess = false + } + } else if viewOrLayer.isKind(of: CALayer.self) { + do { + try compareSnapshot(of: viewOrLayer as! CALayer, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance) + comparisonSuccess = true + } catch let error1 as NSError { + error = error1 + comparisonSuccess = false + } + } else { + assertionFailure("Only UIView and CALayer classes can be snapshotted") + } + + assert(recordMode == false, message: "Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!", file: file, line: line) + + if comparisonSuccess || recordMode { + break + } + + assert(comparisonSuccess, message: "Snapshot comparison failed: \(error)", file: file, line: line) + } + } else { + XCTFail("Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme.") + } + } + + func assert(_ assertion: Bool, message: String, file: StaticString, line: UInt) { + if !assertion { + XCTFail(message, file: file, line: line) + } + } + } +#else +public extension FBSnapshotTestCase { + public func FBSnapshotVerifyView(_ view: UIView, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { + FBSnapshotVerifyViewOrLayer(view, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line) + } + + public func FBSnapshotVerifyLayer(_ layer: CALayer, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { + FBSnapshotVerifyViewOrLayer(layer, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line) + } + + fileprivate func FBSnapshotVerifyViewOrLayer(_ viewOrLayer: AnyObject, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { + let envReferenceImageDirectory = self.getReferenceImageDirectory(withDefault: FB_REFERENCE_IMAGE_DIR) + var error: NSError? + var comparisonSuccess = false + + if let envReferenceImageDirectory = envReferenceImageDirectory { + for suffix in suffixes { + let referenceImagesDirectory = "\(envReferenceImageDirectory)\(suffix)" + if viewOrLayer.isKind(of: UIView) { + do { + try compareSnapshot(of: viewOrLayer as! UIView, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance) + comparisonSuccess = true + } catch let error1 as NSError { + error = error1 + comparisonSuccess = false + } + } else if viewOrLayer.isKind(of: CALayer) { + do { + try compareSnapshot(of: viewOrLayer as! CALayer, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance) + comparisonSuccess = true + } catch let error1 as NSError { + error = error1 + comparisonSuccess = false + } + } else { + assertionFailure("Only UIView and CALayer classes can be snapshotted") + } + + assert(recordMode == false, message: "Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!", file: file, line: line) + + if comparisonSuccess || recordMode { + break + } + + assert(comparisonSuccess, message: "Snapshot comparison failed: \(error)", file: file, line: line) + } + } else { + XCTFail("Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme.") + } + } + + func assert(_ assertion: Bool, message: String, file: StaticString, line: UInt) { + if !assertion { + XCTFail(message, file: file, line: line) + } + } +} +#endif diff --git a/Example/Pods/FBSnapshotTestCase/LICENSE b/Example/Pods/FBSnapshotTestCase/LICENSE new file mode 100755 index 0000000..2dd780c --- /dev/null +++ b/Example/Pods/FBSnapshotTestCase/LICENSE @@ -0,0 +1,29 @@ +BSD License + +For the FBSnapshotTestCase software + +Copyright (c) 2013, Facebook, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Example/Pods/FBSnapshotTestCase/README.md b/Example/Pods/FBSnapshotTestCase/README.md new file mode 100755 index 0000000..bc23b83 --- /dev/null +++ b/Example/Pods/FBSnapshotTestCase/README.md @@ -0,0 +1,97 @@ +FBSnapshotTestCase +====================== + +[![Build Status](https://travis-ci.org/facebook/ios-snapshot-test-case.svg)](https://travis-ci.org/facebook/ios-snapshot-test-case) [![Cocoa Pod Version](https://cocoapod-badges.herokuapp.com/v/FBSnapshotTestCase/badge.svg)](http://cocoadocs.org/docsets/FBSnapshotTestCase/) + +What it does +------------ + +A "snapshot test case" takes a configured `UIView` or `CALayer` and uses the +`renderInContext:` method to get an image snapshot of its contents. It +compares this snapshot to a "reference image" stored in your source code +repository and fails the test if the two images don't match. + +Why? +---- + +At Facebook we write a lot of UI code. As you might imagine, each type of +feed story is rendered using a subclass of `UIView`. There are a lot of edge +cases that we want to handle correctly: + +- What if there is more text than can fit in the space available? +- What if an image doesn't match the size of an image view? +- What should the highlighted state look like? + +It's straightforward to test logic code, but less obvious how you should test +views. You can do a lot of rectangle asserts, but these are hard to understand +or visualize. Looking at an image diff shows you exactly what changed and how +it will look to users. + +We developed `FBSnapshotTestCase` to make snapshot tests easy. + +Installation with CocoaPods +--------------------------- + +1. Add the following lines to your Podfile: + + ``` + target "Tests" do + pod 'FBSnapshotTestCase' + end + ``` + + If you support iOS 7 use `FBSnapshotTestCase/Core` instead, which doesn't contain Swift support. + + Replace "Tests" with the name of your test project. + +2. There are [three ways](https://github.com/facebook/ios-snapshot-test-case/blob/master/FBSnapshotTestCase/FBSnapshotTestCase.h#L19-L29) of setting reference image directories, the recommended one is to define `FB_REFERENCE_IMAGE_DIR` in your scheme. This should point to the directory where you want reference images to be stored. At Facebook, we normally use this: + +|Name|Value| +|:---|:----| +|`FB_REFERENCE_IMAGE_DIR`|`$(SOURCE_ROOT)/$(PROJECT_NAME)Tests/ReferenceImages`| + + +![](FBSnapshotTestCaseDemo/Scheme_FB_REFERENCE_IMAGE_DIR.png) + +Creating a snapshot test +------------------------ + +1. Subclass `FBSnapshotTestCase` instead of `XCTestCase`. +2. From within your test, use `FBSnapshotVerifyView`. +3. Run the test once with `self.recordMode = YES;` in the test's `-setUp` + method. (This creates the reference images on disk.) +4. Remove the line enabling record mode and run the test. + +Features +-------- + +- Automatically names reference images on disk according to test class and + selector. +- Prints a descriptive error message to the console on failure. (Bonus: + failure message includes a one-line command to see an image diff if + you have [Kaleidoscope](http://www.kaleidoscopeapp.com) installed.) +- Supply an optional "identifier" if you want to perform multiple snapshots + in a single test method. +- Support for `CALayer` via `FBSnapshotVerifyLayer`. +- `usesDrawViewHierarchyInRect` to handle cases like `UIVisualEffect`, `UIAppearance` and Size Classes. +- `isDeviceAgnostic` to allow appending the device model (`iPhone`, `iPad`, `iPod Touch`, etc), OS version and screen size to the images (allowing to have multiple tests for the same «snapshot» for different `OS`s and devices). + +Notes +----- + +Your unit test must be an "application test", not a "logic test." (That is, it +must be run within the Simulator so that it has access to UIKit.) In Xcode 5 +and later new projects only offer application tests, but older projects will +have separate targets for the two types. + +Authors +------- + +`FBSnapshotTestCase` was written at Facebook by +[Jonathan Dann](https://facebook.com/j.p.dann) with significant contributions by +[Todd Krabach](https://facebook.com/toddkrabach). + +License +------- + +`FBSnapshotTestCase` is BSD-licensed. See `LICENSE`. diff --git a/Example/Pods/Local Podspecs/ZMJImageEditor.podspec.json b/Example/Pods/Local Podspecs/ZMJImageEditor.podspec.json new file mode 100755 index 0000000..47ae4ba --- /dev/null +++ b/Example/Pods/Local Podspecs/ZMJImageEditor.podspec.json @@ -0,0 +1,43 @@ +{ + "name": "ZMJImageEditor", + "version": "0.2.4", + "summary": "ZMJImageEditor is a component of image editing like WeChat, powerful and easy to integrate, and supports the functions of drawing, text, rotation, cutting, mapping and so on. (是一个和微信一样图片编辑的组件,功能强大,极易集成,支持绘制、文字、旋转、剪裁、贴图等功能)", + "homepage": "https://github.com/keshiim/ZMJImageEditor", + "license": { + "type": "MIT", + "file": "LICENSE" + }, + "authors": { + "keshiim": "keshiim@163.com" + }, + "source": { + "git": "https://github.com/keshiim/ZMJImageEditor.git", + "tag": "0.2.4" + }, + "platforms": { + "ios": "7.0" + }, + "source_files": "ZMJImageEditor/Classes/**/*", + "resources": [ + "ZMJImageEditor/Assets/*.png", + "ZMJImageEditor/Assets/*.{xib,storyboard}", + "ZMJImageEditor/Assets/*.{pdf,xcassets}", + "ZMJImageEditor/Assets/*.{lproj}", + "ZMJImageEditor/Assets/**/*.png", + "ZMJImageEditor/Assets/**/*.{xib,storyboard}", + "ZMJImageEditor/Assets/**/*.{pdf,xcassets}", + "ZMJImageEditor/Assets/**/*.{strings}" + ], + "frameworks": [ + "UIKit", + "MapKit" + ], + "dependencies": { + "YYCategories": [ + "~> 1.0.4" + ], + "Masonry": [ + "~> 1.0.1" + ] + } +} diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock new file mode 100755 index 0000000..9552192 --- /dev/null +++ b/Example/Pods/Manifest.lock @@ -0,0 +1,31 @@ +PODS: + - FBSnapshotTestCase (2.1.4): + - FBSnapshotTestCase/SwiftSupport (= 2.1.4) + - FBSnapshotTestCase/Core (2.1.4) + - FBSnapshotTestCase/SwiftSupport (2.1.4): + - FBSnapshotTestCase/Core + - Masonry (1.0.2) + - YYCategories (1.0.4): + - YYCategories/no-arc (= 1.0.4) + - YYCategories/no-arc (1.0.4) + - ZMJImageEditor (0.2.4): + - Masonry (~> 1.0.1) + - YYCategories (~> 1.0.4) + +DEPENDENCIES: + - FBSnapshotTestCase + - ZMJImageEditor (from `../`) + +EXTERNAL SOURCES: + ZMJImageEditor: + :path: ../ + +SPEC CHECKSUMS: + FBSnapshotTestCase: 094f9f314decbabe373b87cc339bea235a63e07a + Masonry: 7c429b56da9d4ee0bbb3ed77a5ea710d6a5df39e + YYCategories: 6bcd4314c6661a561410dce4a793379ebd306abd + ZMJImageEditor: 323cda566291ba8bf86918999ad7ef11ecd695de + +PODFILE CHECKSUM: 3c1d7a8afef6c42e332459f25ea9f8fb135c636f + +COCOAPODS: 1.4.0 diff --git a/Example/Pods/Masonry/LICENSE b/Example/Pods/Masonry/LICENSE new file mode 100755 index 0000000..a843c00 --- /dev/null +++ b/Example/Pods/Masonry/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2011-2012 Masonry Team - https://github.com/Masonry + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/Example/Pods/Masonry/Masonry/MASCompositeConstraint.h b/Example/Pods/Masonry/Masonry/MASCompositeConstraint.h new file mode 100755 index 0000000..934c6f1 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASCompositeConstraint.h @@ -0,0 +1,26 @@ +// +// MASCompositeConstraint.h +// Masonry +// +// Created by Jonas Budelmann on 21/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "MASConstraint.h" +#import "MASUtilities.h" + +/** + * A group of MASConstraint objects + */ +@interface MASCompositeConstraint : MASConstraint + +/** + * Creates a composite with a predefined array of children + * + * @param children child MASConstraints + * + * @return a composite constraint + */ +- (id)initWithChildren:(NSArray *)children; + +@end diff --git a/Example/Pods/Masonry/Masonry/MASCompositeConstraint.m b/Example/Pods/Masonry/Masonry/MASCompositeConstraint.m new file mode 100755 index 0000000..ed63ed6 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASCompositeConstraint.m @@ -0,0 +1,177 @@ +// +// MASCompositeConstraint.m +// Masonry +// +// Created by Jonas Budelmann on 21/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "MASCompositeConstraint.h" +#import "MASConstraint+Private.h" + +@interface MASCompositeConstraint () + +@property (nonatomic, strong) id mas_key; +@property (nonatomic, strong) NSMutableArray *childConstraints; + +@end + +@implementation MASCompositeConstraint + +- (id)initWithChildren:(NSArray *)children { + self = [super init]; + if (!self) return nil; + + _childConstraints = [children mutableCopy]; + for (MASConstraint *constraint in _childConstraints) { + constraint.delegate = self; + } + + return self; +} + +#pragma mark - MASConstraintDelegate + +- (void)constraint:(MASConstraint *)constraint shouldBeReplacedWithConstraint:(MASConstraint *)replacementConstraint { + NSUInteger index = [self.childConstraints indexOfObject:constraint]; + NSAssert(index != NSNotFound, @"Could not find constraint %@", constraint); + [self.childConstraints replaceObjectAtIndex:index withObject:replacementConstraint]; +} + +- (MASConstraint *)constraint:(MASConstraint __unused *)constraint addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute { + id strongDelegate = self.delegate; + MASConstraint *newConstraint = [strongDelegate constraint:self addConstraintWithLayoutAttribute:layoutAttribute]; + newConstraint.delegate = self; + [self.childConstraints addObject:newConstraint]; + return newConstraint; +} + +#pragma mark - NSLayoutConstraint multiplier proxies + +- (MASConstraint * (^)(CGFloat))multipliedBy { + return ^id(CGFloat multiplier) { + for (MASConstraint *constraint in self.childConstraints) { + constraint.multipliedBy(multiplier); + } + return self; + }; +} + +- (MASConstraint * (^)(CGFloat))dividedBy { + return ^id(CGFloat divider) { + for (MASConstraint *constraint in self.childConstraints) { + constraint.dividedBy(divider); + } + return self; + }; +} + +#pragma mark - MASLayoutPriority proxy + +- (MASConstraint * (^)(MASLayoutPriority))priority { + return ^id(MASLayoutPriority priority) { + for (MASConstraint *constraint in self.childConstraints) { + constraint.priority(priority); + } + return self; + }; +} + +#pragma mark - NSLayoutRelation proxy + +- (MASConstraint * (^)(id, NSLayoutRelation))equalToWithRelation { + return ^id(id attr, NSLayoutRelation relation) { + for (MASConstraint *constraint in self.childConstraints.copy) { + constraint.equalToWithRelation(attr, relation); + } + return self; + }; +} + +#pragma mark - attribute chaining + +- (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute { + [self constraint:self addConstraintWithLayoutAttribute:layoutAttribute]; + return self; +} + +#pragma mark - Animator proxy + +#if TARGET_OS_MAC && !(TARGET_OS_IPHONE || TARGET_OS_TV) + +- (MASConstraint *)animator { + for (MASConstraint *constraint in self.childConstraints) { + [constraint animator]; + } + return self; +} + +#endif + +#pragma mark - debug helpers + +- (MASConstraint * (^)(id))key { + return ^id(id key) { + self.mas_key = key; + int i = 0; + for (MASConstraint *constraint in self.childConstraints) { + constraint.key([NSString stringWithFormat:@"%@[%d]", key, i++]); + } + return self; + }; +} + +#pragma mark - NSLayoutConstraint constant setters + +- (void)setInsets:(MASEdgeInsets)insets { + for (MASConstraint *constraint in self.childConstraints) { + constraint.insets = insets; + } +} + +- (void)setOffset:(CGFloat)offset { + for (MASConstraint *constraint in self.childConstraints) { + constraint.offset = offset; + } +} + +- (void)setSizeOffset:(CGSize)sizeOffset { + for (MASConstraint *constraint in self.childConstraints) { + constraint.sizeOffset = sizeOffset; + } +} + +- (void)setCenterOffset:(CGPoint)centerOffset { + for (MASConstraint *constraint in self.childConstraints) { + constraint.centerOffset = centerOffset; + } +} + +#pragma mark - MASConstraint + +- (void)activate { + for (MASConstraint *constraint in self.childConstraints) { + [constraint activate]; + } +} + +- (void)deactivate { + for (MASConstraint *constraint in self.childConstraints) { + [constraint deactivate]; + } +} + +- (void)install { + for (MASConstraint *constraint in self.childConstraints) { + constraint.updateExisting = self.updateExisting; + [constraint install]; + } +} + +- (void)uninstall { + for (MASConstraint *constraint in self.childConstraints) { + [constraint uninstall]; + } +} + +@end diff --git a/Example/Pods/Masonry/Masonry/MASConstraint+Private.h b/Example/Pods/Masonry/Masonry/MASConstraint+Private.h new file mode 100755 index 0000000..ee0fd96 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASConstraint+Private.h @@ -0,0 +1,66 @@ +// +// MASConstraint+Private.h +// Masonry +// +// Created by Nick Tymchenko on 29/04/14. +// Copyright (c) 2014 cloudling. All rights reserved. +// + +#import "MASConstraint.h" + +@protocol MASConstraintDelegate; + + +@interface MASConstraint () + +/** + * Whether or not to check for an existing constraint instead of adding constraint + */ +@property (nonatomic, assign) BOOL updateExisting; + +/** + * Usually MASConstraintMaker but could be a parent MASConstraint + */ +@property (nonatomic, weak) id delegate; + +/** + * Based on a provided value type, is equal to calling: + * NSNumber - setOffset: + * NSValue with CGPoint - setPointOffset: + * NSValue with CGSize - setSizeOffset: + * NSValue with MASEdgeInsets - setInsets: + */ +- (void)setLayoutConstantWithValue:(NSValue *)value; + +@end + + +@interface MASConstraint (Abstract) + +/** + * Sets the constraint relation to given NSLayoutRelation + * returns a block which accepts one of the following: + * MASViewAttribute, UIView, NSValue, NSArray + * see readme for more details. + */ +- (MASConstraint * (^)(id, NSLayoutRelation))equalToWithRelation; + +/** + * Override to set a custom chaining behaviour + */ +- (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute; + +@end + + +@protocol MASConstraintDelegate + +/** + * Notifies the delegate when the constraint needs to be replaced with another constraint. For example + * A MASViewConstraint may turn into a MASCompositeConstraint when an array is passed to one of the equality blocks + */ +- (void)constraint:(MASConstraint *)constraint shouldBeReplacedWithConstraint:(MASConstraint *)replacementConstraint; + +- (MASConstraint *)constraint:(MASConstraint *)constraint addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute; + +@end diff --git a/Example/Pods/Masonry/Masonry/MASConstraint.h b/Example/Pods/Masonry/Masonry/MASConstraint.h new file mode 100755 index 0000000..70a10c8 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASConstraint.h @@ -0,0 +1,258 @@ +// +// MASConstraint.h +// Masonry +// +// Created by Jonas Budelmann on 22/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "MASUtilities.h" + +/** + * Enables Constraints to be created with chainable syntax + * Constraint can represent single NSLayoutConstraint (MASViewConstraint) + * or a group of NSLayoutConstraints (MASComposisteConstraint) + */ +@interface MASConstraint : NSObject + +// Chaining Support + +/** + * Modifies the NSLayoutConstraint constant, + * only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following + * NSLayoutAttributeTop, NSLayoutAttributeLeft, NSLayoutAttributeBottom, NSLayoutAttributeRight + */ +- (MASConstraint * (^)(MASEdgeInsets insets))insets; + +/** + * Modifies the NSLayoutConstraint constant, + * only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following + * NSLayoutAttributeWidth, NSLayoutAttributeHeight + */ +- (MASConstraint * (^)(CGSize offset))sizeOffset; + +/** + * Modifies the NSLayoutConstraint constant, + * only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following + * NSLayoutAttributeCenterX, NSLayoutAttributeCenterY + */ +- (MASConstraint * (^)(CGPoint offset))centerOffset; + +/** + * Modifies the NSLayoutConstraint constant + */ +- (MASConstraint * (^)(CGFloat offset))offset; + +/** + * Modifies the NSLayoutConstraint constant based on a value type + */ +- (MASConstraint * (^)(NSValue *value))valueOffset; + +/** + * Sets the NSLayoutConstraint multiplier property + */ +- (MASConstraint * (^)(CGFloat multiplier))multipliedBy; + +/** + * Sets the NSLayoutConstraint multiplier to 1.0/dividedBy + */ +- (MASConstraint * (^)(CGFloat divider))dividedBy; + +/** + * Sets the NSLayoutConstraint priority to a float or MASLayoutPriority + */ +- (MASConstraint * (^)(MASLayoutPriority priority))priority; + +/** + * Sets the NSLayoutConstraint priority to MASLayoutPriorityLow + */ +- (MASConstraint * (^)())priorityLow; + +/** + * Sets the NSLayoutConstraint priority to MASLayoutPriorityMedium + */ +- (MASConstraint * (^)())priorityMedium; + +/** + * Sets the NSLayoutConstraint priority to MASLayoutPriorityHigh + */ +- (MASConstraint * (^)())priorityHigh; + +/** + * Sets the constraint relation to NSLayoutRelationEqual + * returns a block which accepts one of the following: + * MASViewAttribute, UIView, NSValue, NSArray + * see readme for more details. + */ +- (MASConstraint * (^)(id attr))equalTo; + +/** + * Sets the constraint relation to NSLayoutRelationGreaterThanOrEqual + * returns a block which accepts one of the following: + * MASViewAttribute, UIView, NSValue, NSArray + * see readme for more details. + */ +- (MASConstraint * (^)(id attr))greaterThanOrEqualTo; + +/** + * Sets the constraint relation to NSLayoutRelationLessThanOrEqual + * returns a block which accepts one of the following: + * MASViewAttribute, UIView, NSValue, NSArray + * see readme for more details. + */ +- (MASConstraint * (^)(id attr))lessThanOrEqualTo; + +/** + * Optional semantic property which has no effect but improves the readability of constraint + */ +- (MASConstraint *)with; + +/** + * Optional semantic property which has no effect but improves the readability of constraint + */ +- (MASConstraint *)and; + +/** + * Creates a new MASCompositeConstraint with the called attribute and reciever + */ +- (MASConstraint *)left; +- (MASConstraint *)top; +- (MASConstraint *)right; +- (MASConstraint *)bottom; +- (MASConstraint *)leading; +- (MASConstraint *)trailing; +- (MASConstraint *)width; +- (MASConstraint *)height; +- (MASConstraint *)centerX; +- (MASConstraint *)centerY; +- (MASConstraint *)baseline; + +#if (__IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) || (__TV_OS_VERSION_MIN_REQUIRED >= 9000) || (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101100) + +- (MASConstraint *)firstBaseline; +- (MASConstraint *)lastBaseline; + +#endif + +#if TARGET_OS_IPHONE || TARGET_OS_TV + +- (MASConstraint *)leftMargin; +- (MASConstraint *)rightMargin; +- (MASConstraint *)topMargin; +- (MASConstraint *)bottomMargin; +- (MASConstraint *)leadingMargin; +- (MASConstraint *)trailingMargin; +- (MASConstraint *)centerXWithinMargins; +- (MASConstraint *)centerYWithinMargins; + +#endif + + +/** + * Sets the constraint debug name + */ +- (MASConstraint * (^)(id key))key; + +// NSLayoutConstraint constant Setters +// for use outside of mas_updateConstraints/mas_makeConstraints blocks + +/** + * Modifies the NSLayoutConstraint constant, + * only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following + * NSLayoutAttributeTop, NSLayoutAttributeLeft, NSLayoutAttributeBottom, NSLayoutAttributeRight + */ +- (void)setInsets:(MASEdgeInsets)insets; + +/** + * Modifies the NSLayoutConstraint constant, + * only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following + * NSLayoutAttributeWidth, NSLayoutAttributeHeight + */ +- (void)setSizeOffset:(CGSize)sizeOffset; + +/** + * Modifies the NSLayoutConstraint constant, + * only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following + * NSLayoutAttributeCenterX, NSLayoutAttributeCenterY + */ +- (void)setCenterOffset:(CGPoint)centerOffset; + +/** + * Modifies the NSLayoutConstraint constant + */ +- (void)setOffset:(CGFloat)offset; + + +// NSLayoutConstraint Installation support + +#if TARGET_OS_MAC && !(TARGET_OS_IPHONE || TARGET_OS_TV) +/** + * Whether or not to go through the animator proxy when modifying the constraint + */ +@property (nonatomic, copy, readonly) MASConstraint *animator; +#endif + +/** + * Activates an NSLayoutConstraint if it's supported by an OS. + * Invokes install otherwise. + */ +- (void)activate; + +/** + * Deactivates previously installed/activated NSLayoutConstraint. + */ +- (void)deactivate; + +/** + * Creates a NSLayoutConstraint and adds it to the appropriate view. + */ +- (void)install; + +/** + * Removes previously installed NSLayoutConstraint + */ +- (void)uninstall; + +@end + + +/** + * Convenience auto-boxing macros for MASConstraint methods. + * + * Defining MAS_SHORTHAND_GLOBALS will turn on auto-boxing for default syntax. + * A potential drawback of this is that the unprefixed macros will appear in global scope. + */ +#define mas_equalTo(...) equalTo(MASBoxValue((__VA_ARGS__))) +#define mas_greaterThanOrEqualTo(...) greaterThanOrEqualTo(MASBoxValue((__VA_ARGS__))) +#define mas_lessThanOrEqualTo(...) lessThanOrEqualTo(MASBoxValue((__VA_ARGS__))) + +#define mas_offset(...) valueOffset(MASBoxValue((__VA_ARGS__))) + + +#ifdef MAS_SHORTHAND_GLOBALS + +#define equalTo(...) mas_equalTo(__VA_ARGS__) +#define greaterThanOrEqualTo(...) mas_greaterThanOrEqualTo(__VA_ARGS__) +#define lessThanOrEqualTo(...) mas_lessThanOrEqualTo(__VA_ARGS__) + +#define offset(...) mas_offset(__VA_ARGS__) + +#endif + + +@interface MASConstraint (AutoboxingSupport) + +/** + * Aliases to corresponding relation methods (for shorthand macros) + * Also needed to aid autocompletion + */ +- (MASConstraint * (^)(id attr))mas_equalTo; +- (MASConstraint * (^)(id attr))mas_greaterThanOrEqualTo; +- (MASConstraint * (^)(id attr))mas_lessThanOrEqualTo; + +/** + * A dummy method to aid autocompletion + */ +- (MASConstraint * (^)(id offset))mas_offset; + +@end diff --git a/Example/Pods/Masonry/Masonry/MASConstraint.m b/Example/Pods/Masonry/Masonry/MASConstraint.m new file mode 100755 index 0000000..f24ec10 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASConstraint.m @@ -0,0 +1,292 @@ +// +// MASConstraint.m +// Masonry +// +// Created by Nick Tymchenko on 1/20/14. +// + +#import "MASConstraint.h" +#import "MASConstraint+Private.h" + +#define MASMethodNotImplemented() \ + @throw [NSException exceptionWithName:NSInternalInconsistencyException \ + reason:[NSString stringWithFormat:@"You must override %@ in a subclass.", NSStringFromSelector(_cmd)] \ + userInfo:nil] + +@implementation MASConstraint + +#pragma mark - Init + +- (id)init { + NSAssert(![self isMemberOfClass:[MASConstraint class]], @"MASConstraint is an abstract class, you should not instantiate it directly."); + return [super init]; +} + +#pragma mark - NSLayoutRelation proxies + +- (MASConstraint * (^)(id))equalTo { + return ^id(id attribute) { + return self.equalToWithRelation(attribute, NSLayoutRelationEqual); + }; +} + +- (MASConstraint * (^)(id))mas_equalTo { + return ^id(id attribute) { + return self.equalToWithRelation(attribute, NSLayoutRelationEqual); + }; +} + +- (MASConstraint * (^)(id))greaterThanOrEqualTo { + return ^id(id attribute) { + return self.equalToWithRelation(attribute, NSLayoutRelationGreaterThanOrEqual); + }; +} + +- (MASConstraint * (^)(id))mas_greaterThanOrEqualTo { + return ^id(id attribute) { + return self.equalToWithRelation(attribute, NSLayoutRelationGreaterThanOrEqual); + }; +} + +- (MASConstraint * (^)(id))lessThanOrEqualTo { + return ^id(id attribute) { + return self.equalToWithRelation(attribute, NSLayoutRelationLessThanOrEqual); + }; +} + +- (MASConstraint * (^)(id))mas_lessThanOrEqualTo { + return ^id(id attribute) { + return self.equalToWithRelation(attribute, NSLayoutRelationLessThanOrEqual); + }; +} + +#pragma mark - MASLayoutPriority proxies + +- (MASConstraint * (^)())priorityLow { + return ^id{ + self.priority(MASLayoutPriorityDefaultLow); + return self; + }; +} + +- (MASConstraint * (^)())priorityMedium { + return ^id{ + self.priority(MASLayoutPriorityDefaultMedium); + return self; + }; +} + +- (MASConstraint * (^)())priorityHigh { + return ^id{ + self.priority(MASLayoutPriorityDefaultHigh); + return self; + }; +} + +#pragma mark - NSLayoutConstraint constant proxies + +- (MASConstraint * (^)(MASEdgeInsets))insets { + return ^id(MASEdgeInsets insets){ + self.insets = insets; + return self; + }; +} + +- (MASConstraint * (^)(CGSize))sizeOffset { + return ^id(CGSize offset) { + self.sizeOffset = offset; + return self; + }; +} + +- (MASConstraint * (^)(CGPoint))centerOffset { + return ^id(CGPoint offset) { + self.centerOffset = offset; + return self; + }; +} + +- (MASConstraint * (^)(CGFloat))offset { + return ^id(CGFloat offset){ + self.offset = offset; + return self; + }; +} + +- (MASConstraint * (^)(NSValue *value))valueOffset { + return ^id(NSValue *offset) { + NSAssert([offset isKindOfClass:NSValue.class], @"expected an NSValue offset, got: %@", offset); + [self setLayoutConstantWithValue:offset]; + return self; + }; +} + +- (MASConstraint * (^)(id offset))mas_offset { + // Will never be called due to macro + return nil; +} + +#pragma mark - NSLayoutConstraint constant setter + +- (void)setLayoutConstantWithValue:(NSValue *)value { + if ([value isKindOfClass:NSNumber.class]) { + self.offset = [(NSNumber *)value doubleValue]; + } else if (strcmp(value.objCType, @encode(CGPoint)) == 0) { + CGPoint point; + [value getValue:&point]; + self.centerOffset = point; + } else if (strcmp(value.objCType, @encode(CGSize)) == 0) { + CGSize size; + [value getValue:&size]; + self.sizeOffset = size; + } else if (strcmp(value.objCType, @encode(MASEdgeInsets)) == 0) { + MASEdgeInsets insets; + [value getValue:&insets]; + self.insets = insets; + } else { + NSAssert(NO, @"attempting to set layout constant with unsupported value: %@", value); + } +} + +#pragma mark - Semantic properties + +- (MASConstraint *)with { + return self; +} + +- (MASConstraint *)and { + return self; +} + +#pragma mark - Chaining + +- (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute __unused)layoutAttribute { + MASMethodNotImplemented(); +} + +- (MASConstraint *)left { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLeft]; +} + +- (MASConstraint *)top { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeTop]; +} + +- (MASConstraint *)right { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeRight]; +} + +- (MASConstraint *)bottom { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeBottom]; +} + +- (MASConstraint *)leading { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLeading]; +} + +- (MASConstraint *)trailing { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeTrailing]; +} + +- (MASConstraint *)width { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeWidth]; +} + +- (MASConstraint *)height { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeHeight]; +} + +- (MASConstraint *)centerX { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeCenterX]; +} + +- (MASConstraint *)centerY { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeCenterY]; +} + +- (MASConstraint *)baseline { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeBaseline]; +} + +#if (__IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) || (__TV_OS_VERSION_MIN_REQUIRED >= 9000) || (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101100) + +- (MASConstraint *)firstBaseline { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeFirstBaseline]; +} +- (MASConstraint *)lastBaseline { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLastBaseline]; +} + +#endif + +#if TARGET_OS_IPHONE || TARGET_OS_TV + +- (MASConstraint *)leftMargin { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLeftMargin]; +} + +- (MASConstraint *)rightMargin { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeRightMargin]; +} + +- (MASConstraint *)topMargin { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeTopMargin]; +} + +- (MASConstraint *)bottomMargin { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeBottomMargin]; +} + +- (MASConstraint *)leadingMargin { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLeadingMargin]; +} + +- (MASConstraint *)trailingMargin { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeTrailingMargin]; +} + +- (MASConstraint *)centerXWithinMargins { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeCenterXWithinMargins]; +} + +- (MASConstraint *)centerYWithinMargins { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeCenterYWithinMargins]; +} + +#endif + +#pragma mark - Abstract + +- (MASConstraint * (^)(CGFloat multiplier))multipliedBy { MASMethodNotImplemented(); } + +- (MASConstraint * (^)(CGFloat divider))dividedBy { MASMethodNotImplemented(); } + +- (MASConstraint * (^)(MASLayoutPriority priority))priority { MASMethodNotImplemented(); } + +- (MASConstraint * (^)(id, NSLayoutRelation))equalToWithRelation { MASMethodNotImplemented(); } + +- (MASConstraint * (^)(id key))key { MASMethodNotImplemented(); } + +- (void)setInsets:(MASEdgeInsets __unused)insets { MASMethodNotImplemented(); } + +- (void)setSizeOffset:(CGSize __unused)sizeOffset { MASMethodNotImplemented(); } + +- (void)setCenterOffset:(CGPoint __unused)centerOffset { MASMethodNotImplemented(); } + +- (void)setOffset:(CGFloat __unused)offset { MASMethodNotImplemented(); } + +#if TARGET_OS_MAC && !(TARGET_OS_IPHONE || TARGET_OS_TV) + +- (MASConstraint *)animator { MASMethodNotImplemented(); } + +#endif + +- (void)activate { MASMethodNotImplemented(); } + +- (void)deactivate { MASMethodNotImplemented(); } + +- (void)install { MASMethodNotImplemented(); } + +- (void)uninstall { MASMethodNotImplemented(); } + +@end diff --git a/Example/Pods/Masonry/Masonry/MASConstraintMaker.h b/Example/Pods/Masonry/Masonry/MASConstraintMaker.h new file mode 100755 index 0000000..8f72b4c --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASConstraintMaker.h @@ -0,0 +1,146 @@ +// +// MASConstraintBuilder.h +// Masonry +// +// Created by Jonas Budelmann on 20/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "MASConstraint.h" +#import "MASUtilities.h" + +typedef NS_OPTIONS(NSInteger, MASAttribute) { + MASAttributeLeft = 1 << NSLayoutAttributeLeft, + MASAttributeRight = 1 << NSLayoutAttributeRight, + MASAttributeTop = 1 << NSLayoutAttributeTop, + MASAttributeBottom = 1 << NSLayoutAttributeBottom, + MASAttributeLeading = 1 << NSLayoutAttributeLeading, + MASAttributeTrailing = 1 << NSLayoutAttributeTrailing, + MASAttributeWidth = 1 << NSLayoutAttributeWidth, + MASAttributeHeight = 1 << NSLayoutAttributeHeight, + MASAttributeCenterX = 1 << NSLayoutAttributeCenterX, + MASAttributeCenterY = 1 << NSLayoutAttributeCenterY, + MASAttributeBaseline = 1 << NSLayoutAttributeBaseline, + +#if (__IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) || (__TV_OS_VERSION_MIN_REQUIRED >= 9000) || (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101100) + + MASAttributeFirstBaseline = 1 << NSLayoutAttributeFirstBaseline, + MASAttributeLastBaseline = 1 << NSLayoutAttributeLastBaseline, + +#endif + +#if TARGET_OS_IPHONE || TARGET_OS_TV + + MASAttributeLeftMargin = 1 << NSLayoutAttributeLeftMargin, + MASAttributeRightMargin = 1 << NSLayoutAttributeRightMargin, + MASAttributeTopMargin = 1 << NSLayoutAttributeTopMargin, + MASAttributeBottomMargin = 1 << NSLayoutAttributeBottomMargin, + MASAttributeLeadingMargin = 1 << NSLayoutAttributeLeadingMargin, + MASAttributeTrailingMargin = 1 << NSLayoutAttributeTrailingMargin, + MASAttributeCenterXWithinMargins = 1 << NSLayoutAttributeCenterXWithinMargins, + MASAttributeCenterYWithinMargins = 1 << NSLayoutAttributeCenterYWithinMargins, + +#endif + +}; + +/** + * Provides factory methods for creating MASConstraints. + * Constraints are collected until they are ready to be installed + * + */ +@interface MASConstraintMaker : NSObject + +/** + * The following properties return a new MASViewConstraint + * with the first item set to the makers associated view and the appropriate MASViewAttribute + */ +@property (nonatomic, strong, readonly) MASConstraint *left; +@property (nonatomic, strong, readonly) MASConstraint *top; +@property (nonatomic, strong, readonly) MASConstraint *right; +@property (nonatomic, strong, readonly) MASConstraint *bottom; +@property (nonatomic, strong, readonly) MASConstraint *leading; +@property (nonatomic, strong, readonly) MASConstraint *trailing; +@property (nonatomic, strong, readonly) MASConstraint *width; +@property (nonatomic, strong, readonly) MASConstraint *height; +@property (nonatomic, strong, readonly) MASConstraint *centerX; +@property (nonatomic, strong, readonly) MASConstraint *centerY; +@property (nonatomic, strong, readonly) MASConstraint *baseline; + +#if (__IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) || (__TV_OS_VERSION_MIN_REQUIRED >= 9000) || (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101100) + +@property (nonatomic, strong, readonly) MASConstraint *firstBaseline; +@property (nonatomic, strong, readonly) MASConstraint *lastBaseline; + +#endif + +#if TARGET_OS_IPHONE || TARGET_OS_TV + +@property (nonatomic, strong, readonly) MASConstraint *leftMargin; +@property (nonatomic, strong, readonly) MASConstraint *rightMargin; +@property (nonatomic, strong, readonly) MASConstraint *topMargin; +@property (nonatomic, strong, readonly) MASConstraint *bottomMargin; +@property (nonatomic, strong, readonly) MASConstraint *leadingMargin; +@property (nonatomic, strong, readonly) MASConstraint *trailingMargin; +@property (nonatomic, strong, readonly) MASConstraint *centerXWithinMargins; +@property (nonatomic, strong, readonly) MASConstraint *centerYWithinMargins; + +#endif + +/** + * Returns a block which creates a new MASCompositeConstraint with the first item set + * to the makers associated view and children corresponding to the set bits in the + * MASAttribute parameter. Combine multiple attributes via binary-or. + */ +@property (nonatomic, strong, readonly) MASConstraint *(^attributes)(MASAttribute attrs); + +/** + * Creates a MASCompositeConstraint with type MASCompositeConstraintTypeEdges + * which generates the appropriate MASViewConstraint children (top, left, bottom, right) + * with the first item set to the makers associated view + */ +@property (nonatomic, strong, readonly) MASConstraint *edges; + +/** + * Creates a MASCompositeConstraint with type MASCompositeConstraintTypeSize + * which generates the appropriate MASViewConstraint children (width, height) + * with the first item set to the makers associated view + */ +@property (nonatomic, strong, readonly) MASConstraint *size; + +/** + * Creates a MASCompositeConstraint with type MASCompositeConstraintTypeCenter + * which generates the appropriate MASViewConstraint children (centerX, centerY) + * with the first item set to the makers associated view + */ +@property (nonatomic, strong, readonly) MASConstraint *center; + +/** + * Whether or not to check for an existing constraint instead of adding constraint + */ +@property (nonatomic, assign) BOOL updateExisting; + +/** + * Whether or not to remove existing constraints prior to installing + */ +@property (nonatomic, assign) BOOL removeExisting; + +/** + * initialises the maker with a default view + * + * @param view any MASConstrait are created with this view as the first item + * + * @return a new MASConstraintMaker + */ +- (id)initWithView:(MAS_VIEW *)view; + +/** + * Calls install method on any MASConstraints which have been created by this maker + * + * @return an array of all the installed MASConstraints + */ +- (NSArray *)install; + +- (MASConstraint * (^)(dispatch_block_t))group; + +@end diff --git a/Example/Pods/Masonry/Masonry/MASConstraintMaker.m b/Example/Pods/Masonry/Masonry/MASConstraintMaker.m new file mode 100755 index 0000000..6e40a26 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASConstraintMaker.m @@ -0,0 +1,273 @@ +// +// MASConstraintBuilder.m +// Masonry +// +// Created by Jonas Budelmann on 20/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "MASConstraintMaker.h" +#import "MASViewConstraint.h" +#import "MASCompositeConstraint.h" +#import "MASConstraint+Private.h" +#import "MASViewAttribute.h" +#import "View+MASAdditions.h" + +@interface MASConstraintMaker () + +@property (nonatomic, weak) MAS_VIEW *view; +@property (nonatomic, strong) NSMutableArray *constraints; + +@end + +@implementation MASConstraintMaker + +- (id)initWithView:(MAS_VIEW *)view { + self = [super init]; + if (!self) return nil; + + self.view = view; + self.constraints = NSMutableArray.new; + + return self; +} + +- (NSArray *)install { + if (self.removeExisting) { + NSArray *installedConstraints = [MASViewConstraint installedConstraintsForView:self.view]; + for (MASConstraint *constraint in installedConstraints) { + [constraint uninstall]; + } + } + NSArray *constraints = self.constraints.copy; + for (MASConstraint *constraint in constraints) { + constraint.updateExisting = self.updateExisting; + [constraint install]; + } + [self.constraints removeAllObjects]; + return constraints; +} + +#pragma mark - MASConstraintDelegate + +- (void)constraint:(MASConstraint *)constraint shouldBeReplacedWithConstraint:(MASConstraint *)replacementConstraint { + NSUInteger index = [self.constraints indexOfObject:constraint]; + NSAssert(index != NSNotFound, @"Could not find constraint %@", constraint); + [self.constraints replaceObjectAtIndex:index withObject:replacementConstraint]; +} + +- (MASConstraint *)constraint:(MASConstraint *)constraint addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute { + MASViewAttribute *viewAttribute = [[MASViewAttribute alloc] initWithView:self.view layoutAttribute:layoutAttribute]; + MASViewConstraint *newConstraint = [[MASViewConstraint alloc] initWithFirstViewAttribute:viewAttribute]; + if ([constraint isKindOfClass:MASViewConstraint.class]) { + //replace with composite constraint + NSArray *children = @[constraint, newConstraint]; + MASCompositeConstraint *compositeConstraint = [[MASCompositeConstraint alloc] initWithChildren:children]; + compositeConstraint.delegate = self; + [self constraint:constraint shouldBeReplacedWithConstraint:compositeConstraint]; + return compositeConstraint; + } + if (!constraint) { + newConstraint.delegate = self; + [self.constraints addObject:newConstraint]; + } + return newConstraint; +} + +- (MASConstraint *)addConstraintWithAttributes:(MASAttribute)attrs { + __unused MASAttribute anyAttribute = (MASAttributeLeft | MASAttributeRight | MASAttributeTop | MASAttributeBottom | MASAttributeLeading + | MASAttributeTrailing | MASAttributeWidth | MASAttributeHeight | MASAttributeCenterX + | MASAttributeCenterY | MASAttributeBaseline +#if (__IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) || (__TV_OS_VERSION_MIN_REQUIRED >= 9000) || (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101100) + | MASAttributeFirstBaseline | MASAttributeLastBaseline +#endif +#if TARGET_OS_IPHONE || TARGET_OS_TV + | MASAttributeLeftMargin | MASAttributeRightMargin | MASAttributeTopMargin | MASAttributeBottomMargin + | MASAttributeLeadingMargin | MASAttributeTrailingMargin | MASAttributeCenterXWithinMargins + | MASAttributeCenterYWithinMargins +#endif + ); + + NSAssert((attrs & anyAttribute) != 0, @"You didn't pass any attribute to make.attributes(...)"); + + NSMutableArray *attributes = [NSMutableArray array]; + + if (attrs & MASAttributeLeft) [attributes addObject:self.view.mas_left]; + if (attrs & MASAttributeRight) [attributes addObject:self.view.mas_right]; + if (attrs & MASAttributeTop) [attributes addObject:self.view.mas_top]; + if (attrs & MASAttributeBottom) [attributes addObject:self.view.mas_bottom]; + if (attrs & MASAttributeLeading) [attributes addObject:self.view.mas_leading]; + if (attrs & MASAttributeTrailing) [attributes addObject:self.view.mas_trailing]; + if (attrs & MASAttributeWidth) [attributes addObject:self.view.mas_width]; + if (attrs & MASAttributeHeight) [attributes addObject:self.view.mas_height]; + if (attrs & MASAttributeCenterX) [attributes addObject:self.view.mas_centerX]; + if (attrs & MASAttributeCenterY) [attributes addObject:self.view.mas_centerY]; + if (attrs & MASAttributeBaseline) [attributes addObject:self.view.mas_baseline]; + +#if (__IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) || (__TV_OS_VERSION_MIN_REQUIRED >= 9000) || (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101100) + + if (attrs & MASAttributeFirstBaseline) [attributes addObject:self.view.mas_firstBaseline]; + if (attrs & MASAttributeLastBaseline) [attributes addObject:self.view.mas_lastBaseline]; + +#endif + +#if TARGET_OS_IPHONE || TARGET_OS_TV + + if (attrs & MASAttributeLeftMargin) [attributes addObject:self.view.mas_leftMargin]; + if (attrs & MASAttributeRightMargin) [attributes addObject:self.view.mas_rightMargin]; + if (attrs & MASAttributeTopMargin) [attributes addObject:self.view.mas_topMargin]; + if (attrs & MASAttributeBottomMargin) [attributes addObject:self.view.mas_bottomMargin]; + if (attrs & MASAttributeLeadingMargin) [attributes addObject:self.view.mas_leadingMargin]; + if (attrs & MASAttributeTrailingMargin) [attributes addObject:self.view.mas_trailingMargin]; + if (attrs & MASAttributeCenterXWithinMargins) [attributes addObject:self.view.mas_centerXWithinMargins]; + if (attrs & MASAttributeCenterYWithinMargins) [attributes addObject:self.view.mas_centerYWithinMargins]; + +#endif + + NSMutableArray *children = [NSMutableArray arrayWithCapacity:attributes.count]; + + for (MASViewAttribute *a in attributes) { + [children addObject:[[MASViewConstraint alloc] initWithFirstViewAttribute:a]]; + } + + MASCompositeConstraint *constraint = [[MASCompositeConstraint alloc] initWithChildren:children]; + constraint.delegate = self; + [self.constraints addObject:constraint]; + return constraint; +} + +#pragma mark - standard Attributes + +- (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute { + return [self constraint:nil addConstraintWithLayoutAttribute:layoutAttribute]; +} + +- (MASConstraint *)left { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLeft]; +} + +- (MASConstraint *)top { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeTop]; +} + +- (MASConstraint *)right { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeRight]; +} + +- (MASConstraint *)bottom { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeBottom]; +} + +- (MASConstraint *)leading { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLeading]; +} + +- (MASConstraint *)trailing { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeTrailing]; +} + +- (MASConstraint *)width { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeWidth]; +} + +- (MASConstraint *)height { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeHeight]; +} + +- (MASConstraint *)centerX { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeCenterX]; +} + +- (MASConstraint *)centerY { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeCenterY]; +} + +- (MASConstraint *)baseline { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeBaseline]; +} + +- (MASConstraint *(^)(MASAttribute))attributes { + return ^(MASAttribute attrs){ + return [self addConstraintWithAttributes:attrs]; + }; +} + +#if (__IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) || (__TV_OS_VERSION_MIN_REQUIRED >= 9000) || (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101100) + +- (MASConstraint *)firstBaseline { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeFirstBaseline]; +} + +- (MASConstraint *)lastBaseline { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLastBaseline]; +} + +#endif + + +#if TARGET_OS_IPHONE || TARGET_OS_TV + +- (MASConstraint *)leftMargin { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLeftMargin]; +} + +- (MASConstraint *)rightMargin { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeRightMargin]; +} + +- (MASConstraint *)topMargin { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeTopMargin]; +} + +- (MASConstraint *)bottomMargin { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeBottomMargin]; +} + +- (MASConstraint *)leadingMargin { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLeadingMargin]; +} + +- (MASConstraint *)trailingMargin { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeTrailingMargin]; +} + +- (MASConstraint *)centerXWithinMargins { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeCenterXWithinMargins]; +} + +- (MASConstraint *)centerYWithinMargins { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeCenterYWithinMargins]; +} + +#endif + + +#pragma mark - composite Attributes + +- (MASConstraint *)edges { + return [self addConstraintWithAttributes:MASAttributeTop | MASAttributeLeft | MASAttributeRight | MASAttributeBottom]; +} + +- (MASConstraint *)size { + return [self addConstraintWithAttributes:MASAttributeWidth | MASAttributeHeight]; +} + +- (MASConstraint *)center { + return [self addConstraintWithAttributes:MASAttributeCenterX | MASAttributeCenterY]; +} + +#pragma mark - grouping + +- (MASConstraint *(^)(dispatch_block_t group))group { + return ^id(dispatch_block_t group) { + NSInteger previousCount = self.constraints.count; + group(); + + NSArray *children = [self.constraints subarrayWithRange:NSMakeRange(previousCount, self.constraints.count - previousCount)]; + MASCompositeConstraint *constraint = [[MASCompositeConstraint alloc] initWithChildren:children]; + constraint.delegate = self; + return constraint; + }; +} + +@end diff --git a/Example/Pods/Masonry/Masonry/MASLayoutConstraint.h b/Example/Pods/Masonry/Masonry/MASLayoutConstraint.h new file mode 100755 index 0000000..699041c --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASLayoutConstraint.h @@ -0,0 +1,22 @@ +// +// MASLayoutConstraint.h +// Masonry +// +// Created by Jonas Budelmann on 3/08/13. +// Copyright (c) 2013 Jonas Budelmann. All rights reserved. +// + +#import "MASUtilities.h" + +/** + * When you are debugging or printing the constraints attached to a view this subclass + * makes it easier to identify which constraints have been created via Masonry + */ +@interface MASLayoutConstraint : NSLayoutConstraint + +/** + * a key to associate with this constraint + */ +@property (nonatomic, strong) id mas_key; + +@end diff --git a/Example/Pods/Masonry/Masonry/MASLayoutConstraint.m b/Example/Pods/Masonry/Masonry/MASLayoutConstraint.m new file mode 100755 index 0000000..3483f02 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASLayoutConstraint.m @@ -0,0 +1,13 @@ +// +// MASLayoutConstraint.m +// Masonry +// +// Created by Jonas Budelmann on 3/08/13. +// Copyright (c) 2013 Jonas Budelmann. All rights reserved. +// + +#import "MASLayoutConstraint.h" + +@implementation MASLayoutConstraint + +@end diff --git a/Example/Pods/Masonry/Masonry/MASUtilities.h b/Example/Pods/Masonry/Masonry/MASUtilities.h new file mode 100755 index 0000000..1dbfd93 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASUtilities.h @@ -0,0 +1,136 @@ +// +// MASUtilities.h +// Masonry +// +// Created by Jonas Budelmann on 19/08/13. +// Copyright (c) 2013 Jonas Budelmann. All rights reserved. +// + +#import + + + +#if TARGET_OS_IPHONE || TARGET_OS_TV + + #import + #define MAS_VIEW UIView + #define MAS_VIEW_CONTROLLER UIViewController + #define MASEdgeInsets UIEdgeInsets + + typedef UILayoutPriority MASLayoutPriority; + static const MASLayoutPriority MASLayoutPriorityRequired = UILayoutPriorityRequired; + static const MASLayoutPriority MASLayoutPriorityDefaultHigh = UILayoutPriorityDefaultHigh; + static const MASLayoutPriority MASLayoutPriorityDefaultMedium = 500; + static const MASLayoutPriority MASLayoutPriorityDefaultLow = UILayoutPriorityDefaultLow; + static const MASLayoutPriority MASLayoutPriorityFittingSizeLevel = UILayoutPriorityFittingSizeLevel; + +#elif TARGET_OS_MAC + + #import + #define MAS_VIEW NSView + #define MASEdgeInsets NSEdgeInsets + + typedef NSLayoutPriority MASLayoutPriority; + static const MASLayoutPriority MASLayoutPriorityRequired = NSLayoutPriorityRequired; + static const MASLayoutPriority MASLayoutPriorityDefaultHigh = NSLayoutPriorityDefaultHigh; + static const MASLayoutPriority MASLayoutPriorityDragThatCanResizeWindow = NSLayoutPriorityDragThatCanResizeWindow; + static const MASLayoutPriority MASLayoutPriorityDefaultMedium = 501; + static const MASLayoutPriority MASLayoutPriorityWindowSizeStayPut = NSLayoutPriorityWindowSizeStayPut; + static const MASLayoutPriority MASLayoutPriorityDragThatCannotResizeWindow = NSLayoutPriorityDragThatCannotResizeWindow; + static const MASLayoutPriority MASLayoutPriorityDefaultLow = NSLayoutPriorityDefaultLow; + static const MASLayoutPriority MASLayoutPriorityFittingSizeCompression = NSLayoutPriorityFittingSizeCompression; + +#endif + +/** + * Allows you to attach keys to objects matching the variable names passed. + * + * view1.mas_key = @"view1", view2.mas_key = @"view2"; + * + * is equivalent to: + * + * MASAttachKeys(view1, view2); + */ +#define MASAttachKeys(...) \ + { \ + NSDictionary *keyPairs = NSDictionaryOfVariableBindings(__VA_ARGS__); \ + for (id key in keyPairs.allKeys) { \ + id obj = keyPairs[key]; \ + NSAssert([obj respondsToSelector:@selector(setMas_key:)], \ + @"Cannot attach mas_key to %@", obj); \ + [obj setMas_key:key]; \ + } \ + } + +/** + * Used to create object hashes + * Based on http://www.mikeash.com/pyblog/friday-qa-2010-06-18-implementing-equality-and-hashing.html + */ +#define MAS_NSUINT_BIT (CHAR_BIT * sizeof(NSUInteger)) +#define MAS_NSUINTROTATE(val, howmuch) ((((NSUInteger)val) << howmuch) | (((NSUInteger)val) >> (MAS_NSUINT_BIT - howmuch))) + +/** + * Given a scalar or struct value, wraps it in NSValue + * Based on EXPObjectify: https://github.com/specta/expecta + */ +static inline id _MASBoxValue(const char *type, ...) { + va_list v; + va_start(v, type); + id obj = nil; + if (strcmp(type, @encode(id)) == 0) { + id actual = va_arg(v, id); + obj = actual; + } else if (strcmp(type, @encode(CGPoint)) == 0) { + CGPoint actual = (CGPoint)va_arg(v, CGPoint); + obj = [NSValue value:&actual withObjCType:type]; + } else if (strcmp(type, @encode(CGSize)) == 0) { + CGSize actual = (CGSize)va_arg(v, CGSize); + obj = [NSValue value:&actual withObjCType:type]; + } else if (strcmp(type, @encode(MASEdgeInsets)) == 0) { + MASEdgeInsets actual = (MASEdgeInsets)va_arg(v, MASEdgeInsets); + obj = [NSValue value:&actual withObjCType:type]; + } else if (strcmp(type, @encode(double)) == 0) { + double actual = (double)va_arg(v, double); + obj = [NSNumber numberWithDouble:actual]; + } else if (strcmp(type, @encode(float)) == 0) { + float actual = (float)va_arg(v, double); + obj = [NSNumber numberWithFloat:actual]; + } else if (strcmp(type, @encode(int)) == 0) { + int actual = (int)va_arg(v, int); + obj = [NSNumber numberWithInt:actual]; + } else if (strcmp(type, @encode(long)) == 0) { + long actual = (long)va_arg(v, long); + obj = [NSNumber numberWithLong:actual]; + } else if (strcmp(type, @encode(long long)) == 0) { + long long actual = (long long)va_arg(v, long long); + obj = [NSNumber numberWithLongLong:actual]; + } else if (strcmp(type, @encode(short)) == 0) { + short actual = (short)va_arg(v, int); + obj = [NSNumber numberWithShort:actual]; + } else if (strcmp(type, @encode(char)) == 0) { + char actual = (char)va_arg(v, int); + obj = [NSNumber numberWithChar:actual]; + } else if (strcmp(type, @encode(bool)) == 0) { + bool actual = (bool)va_arg(v, int); + obj = [NSNumber numberWithBool:actual]; + } else if (strcmp(type, @encode(unsigned char)) == 0) { + unsigned char actual = (unsigned char)va_arg(v, unsigned int); + obj = [NSNumber numberWithUnsignedChar:actual]; + } else if (strcmp(type, @encode(unsigned int)) == 0) { + unsigned int actual = (unsigned int)va_arg(v, unsigned int); + obj = [NSNumber numberWithUnsignedInt:actual]; + } else if (strcmp(type, @encode(unsigned long)) == 0) { + unsigned long actual = (unsigned long)va_arg(v, unsigned long); + obj = [NSNumber numberWithUnsignedLong:actual]; + } else if (strcmp(type, @encode(unsigned long long)) == 0) { + unsigned long long actual = (unsigned long long)va_arg(v, unsigned long long); + obj = [NSNumber numberWithUnsignedLongLong:actual]; + } else if (strcmp(type, @encode(unsigned short)) == 0) { + unsigned short actual = (unsigned short)va_arg(v, unsigned int); + obj = [NSNumber numberWithUnsignedShort:actual]; + } + va_end(v); + return obj; +} + +#define MASBoxValue(value) _MASBoxValue(@encode(__typeof__((value))), (value)) diff --git a/Example/Pods/Masonry/Masonry/MASViewAttribute.h b/Example/Pods/Masonry/Masonry/MASViewAttribute.h new file mode 100755 index 0000000..f8eb700 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASViewAttribute.h @@ -0,0 +1,49 @@ +// +// MASAttribute.h +// Masonry +// +// Created by Jonas Budelmann on 21/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "MASUtilities.h" + +/** + * An immutable tuple which stores the view and the related NSLayoutAttribute. + * Describes part of either the left or right hand side of a constraint equation + */ +@interface MASViewAttribute : NSObject + +/** + * The view which the reciever relates to. Can be nil if item is not a view. + */ +@property (nonatomic, weak, readonly) MAS_VIEW *view; + +/** + * The item which the reciever relates to. + */ +@property (nonatomic, weak, readonly) id item; + +/** + * The attribute which the reciever relates to + */ +@property (nonatomic, assign, readonly) NSLayoutAttribute layoutAttribute; + +/** + * Convenience initializer. + */ +- (id)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute; + +/** + * The designated initializer. + */ +- (id)initWithView:(MAS_VIEW *)view item:(id)item layoutAttribute:(NSLayoutAttribute)layoutAttribute; + +/** + * Determine whether the layoutAttribute is a size attribute + * + * @return YES if layoutAttribute is equal to NSLayoutAttributeWidth or NSLayoutAttributeHeight + */ +- (BOOL)isSizeAttribute; + +@end diff --git a/Example/Pods/Masonry/Masonry/MASViewAttribute.m b/Example/Pods/Masonry/Masonry/MASViewAttribute.m new file mode 100755 index 0000000..7131025 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASViewAttribute.m @@ -0,0 +1,46 @@ +// +// MASAttribute.m +// Masonry +// +// Created by Jonas Budelmann on 21/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "MASViewAttribute.h" + +@implementation MASViewAttribute + +- (id)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute { + self = [self initWithView:view item:view layoutAttribute:layoutAttribute]; + return self; +} + +- (id)initWithView:(MAS_VIEW *)view item:(id)item layoutAttribute:(NSLayoutAttribute)layoutAttribute { + self = [super init]; + if (!self) return nil; + + _view = view; + _item = item; + _layoutAttribute = layoutAttribute; + + return self; +} + +- (BOOL)isSizeAttribute { + return self.layoutAttribute == NSLayoutAttributeWidth + || self.layoutAttribute == NSLayoutAttributeHeight; +} + +- (BOOL)isEqual:(MASViewAttribute *)viewAttribute { + if ([viewAttribute isKindOfClass:self.class]) { + return self.view == viewAttribute.view + && self.layoutAttribute == viewAttribute.layoutAttribute; + } + return [super isEqual:viewAttribute]; +} + +- (NSUInteger)hash { + return MAS_NSUINTROTATE([self.view hash], MAS_NSUINT_BIT / 2) ^ self.layoutAttribute; +} + +@end diff --git a/Example/Pods/Masonry/Masonry/MASViewConstraint.h b/Example/Pods/Masonry/Masonry/MASViewConstraint.h new file mode 100755 index 0000000..5c78f7a --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASViewConstraint.h @@ -0,0 +1,48 @@ +// +// MASConstraint.h +// Masonry +// +// Created by Jonas Budelmann on 20/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "MASViewAttribute.h" +#import "MASConstraint.h" +#import "MASLayoutConstraint.h" +#import "MASUtilities.h" + +/** + * A single constraint. + * Contains the attributes neccessary for creating a NSLayoutConstraint and adding it to the appropriate view + */ +@interface MASViewConstraint : MASConstraint + +/** + * First item/view and first attribute of the NSLayoutConstraint + */ +@property (nonatomic, strong, readonly) MASViewAttribute *firstViewAttribute; + +/** + * Second item/view and second attribute of the NSLayoutConstraint + */ +@property (nonatomic, strong, readonly) MASViewAttribute *secondViewAttribute; + +/** + * initialises the MASViewConstraint with the first part of the equation + * + * @param firstViewAttribute view.mas_left, view.mas_width etc. + * + * @return a new view constraint + */ +- (id)initWithFirstViewAttribute:(MASViewAttribute *)firstViewAttribute; + +/** + * Returns all MASViewConstraints installed with this view as a first item. + * + * @param view A view to retrieve constraints for. + * + * @return An array of MASViewConstraints. + */ ++ (NSArray *)installedConstraintsForView:(MAS_VIEW *)view; + +@end diff --git a/Example/Pods/Masonry/Masonry/MASViewConstraint.m b/Example/Pods/Masonry/Masonry/MASViewConstraint.m new file mode 100755 index 0000000..84a801e --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASViewConstraint.m @@ -0,0 +1,397 @@ +// +// MASConstraint.m +// Masonry +// +// Created by Jonas Budelmann on 20/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "MASViewConstraint.h" +#import "MASConstraint+Private.h" +#import "MASCompositeConstraint.h" +#import "MASLayoutConstraint.h" +#import "View+MASAdditions.h" +#import + +@interface MAS_VIEW (MASConstraints) + +@property (nonatomic, readonly) NSMutableSet *mas_installedConstraints; + +@end + +@implementation MAS_VIEW (MASConstraints) + +static char kInstalledConstraintsKey; + +- (NSMutableSet *)mas_installedConstraints { + NSMutableSet *constraints = objc_getAssociatedObject(self, &kInstalledConstraintsKey); + if (!constraints) { + constraints = [NSMutableSet set]; + objc_setAssociatedObject(self, &kInstalledConstraintsKey, constraints, OBJC_ASSOCIATION_RETAIN_NONATOMIC); + } + return constraints; +} + +@end + + +@interface MASViewConstraint () + +@property (nonatomic, strong, readwrite) MASViewAttribute *secondViewAttribute; +@property (nonatomic, weak) MAS_VIEW *installedView; +@property (nonatomic, weak) MASLayoutConstraint *layoutConstraint; +@property (nonatomic, assign) NSLayoutRelation layoutRelation; +@property (nonatomic, assign) MASLayoutPriority layoutPriority; +@property (nonatomic, assign) CGFloat layoutMultiplier; +@property (nonatomic, assign) CGFloat layoutConstant; +@property (nonatomic, assign) BOOL hasLayoutRelation; +@property (nonatomic, strong) id mas_key; +@property (nonatomic, assign) BOOL useAnimator; + +@end + +@implementation MASViewConstraint + +- (id)initWithFirstViewAttribute:(MASViewAttribute *)firstViewAttribute { + self = [super init]; + if (!self) return nil; + + _firstViewAttribute = firstViewAttribute; + self.layoutPriority = MASLayoutPriorityRequired; + self.layoutMultiplier = 1; + + return self; +} + +#pragma mark - NSCoping + +- (id)copyWithZone:(NSZone __unused *)zone { + MASViewConstraint *constraint = [[MASViewConstraint alloc] initWithFirstViewAttribute:self.firstViewAttribute]; + constraint.layoutConstant = self.layoutConstant; + constraint.layoutRelation = self.layoutRelation; + constraint.layoutPriority = self.layoutPriority; + constraint.layoutMultiplier = self.layoutMultiplier; + constraint.delegate = self.delegate; + return constraint; +} + +#pragma mark - Public + ++ (NSArray *)installedConstraintsForView:(MAS_VIEW *)view { + return [view.mas_installedConstraints allObjects]; +} + +#pragma mark - Private + +- (void)setLayoutConstant:(CGFloat)layoutConstant { + _layoutConstant = layoutConstant; + +#if TARGET_OS_MAC && !(TARGET_OS_IPHONE || TARGET_OS_TV) + if (self.useAnimator) { + [self.layoutConstraint.animator setConstant:layoutConstant]; + } else { + self.layoutConstraint.constant = layoutConstant; + } +#else + self.layoutConstraint.constant = layoutConstant; +#endif +} + +- (void)setLayoutRelation:(NSLayoutRelation)layoutRelation { + _layoutRelation = layoutRelation; + self.hasLayoutRelation = YES; +} + +- (BOOL)supportsActiveProperty { + return [self.layoutConstraint respondsToSelector:@selector(isActive)]; +} + +- (BOOL)isActive { + BOOL active = YES; + if ([self supportsActiveProperty]) { + active = [self.layoutConstraint isActive]; + } + + return active; +} + +- (BOOL)hasBeenInstalled { + return (self.layoutConstraint != nil) && [self isActive]; +} + +- (void)setSecondViewAttribute:(id)secondViewAttribute { + if ([secondViewAttribute isKindOfClass:NSValue.class]) { + [self setLayoutConstantWithValue:secondViewAttribute]; + } else if ([secondViewAttribute isKindOfClass:MAS_VIEW.class]) { + _secondViewAttribute = [[MASViewAttribute alloc] initWithView:secondViewAttribute layoutAttribute:self.firstViewAttribute.layoutAttribute]; + } else if ([secondViewAttribute isKindOfClass:MASViewAttribute.class]) { + _secondViewAttribute = secondViewAttribute; + } else { + NSAssert(NO, @"attempting to add unsupported attribute: %@", secondViewAttribute); + } +} + +#pragma mark - NSLayoutConstraint multiplier proxies + +- (MASConstraint * (^)(CGFloat))multipliedBy { + return ^id(CGFloat multiplier) { + NSAssert(!self.hasBeenInstalled, + @"Cannot modify constraint multiplier after it has been installed"); + + self.layoutMultiplier = multiplier; + return self; + }; +} + + +- (MASConstraint * (^)(CGFloat))dividedBy { + return ^id(CGFloat divider) { + NSAssert(!self.hasBeenInstalled, + @"Cannot modify constraint multiplier after it has been installed"); + + self.layoutMultiplier = 1.0/divider; + return self; + }; +} + +#pragma mark - MASLayoutPriority proxy + +- (MASConstraint * (^)(MASLayoutPriority))priority { + return ^id(MASLayoutPriority priority) { + NSAssert(!self.hasBeenInstalled, + @"Cannot modify constraint priority after it has been installed"); + + self.layoutPriority = priority; + return self; + }; +} + +#pragma mark - NSLayoutRelation proxy + +- (MASConstraint * (^)(id, NSLayoutRelation))equalToWithRelation { + return ^id(id attribute, NSLayoutRelation relation) { + if ([attribute isKindOfClass:NSArray.class]) { + NSAssert(!self.hasLayoutRelation, @"Redefinition of constraint relation"); + NSMutableArray *children = NSMutableArray.new; + for (id attr in attribute) { + MASViewConstraint *viewConstraint = [self copy]; + viewConstraint.layoutRelation = relation; + viewConstraint.secondViewAttribute = attr; + [children addObject:viewConstraint]; + } + MASCompositeConstraint *compositeConstraint = [[MASCompositeConstraint alloc] initWithChildren:children]; + compositeConstraint.delegate = self.delegate; + [self.delegate constraint:self shouldBeReplacedWithConstraint:compositeConstraint]; + return compositeConstraint; + } else { + NSAssert(!self.hasLayoutRelation || self.layoutRelation == relation && [attribute isKindOfClass:NSValue.class], @"Redefinition of constraint relation"); + self.layoutRelation = relation; + self.secondViewAttribute = attribute; + return self; + } + }; +} + +#pragma mark - Semantic properties + +- (MASConstraint *)with { + return self; +} + +- (MASConstraint *)and { + return self; +} + +#pragma mark - attribute chaining + +- (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute { + NSAssert(!self.hasLayoutRelation, @"Attributes should be chained before defining the constraint relation"); + + return [self.delegate constraint:self addConstraintWithLayoutAttribute:layoutAttribute]; +} + +#pragma mark - Animator proxy + +#if TARGET_OS_MAC && !(TARGET_OS_IPHONE || TARGET_OS_TV) + +- (MASConstraint *)animator { + self.useAnimator = YES; + return self; +} + +#endif + +#pragma mark - debug helpers + +- (MASConstraint * (^)(id))key { + return ^id(id key) { + self.mas_key = key; + return self; + }; +} + +#pragma mark - NSLayoutConstraint constant setters + +- (void)setInsets:(MASEdgeInsets)insets { + NSLayoutAttribute layoutAttribute = self.firstViewAttribute.layoutAttribute; + switch (layoutAttribute) { + case NSLayoutAttributeLeft: + case NSLayoutAttributeLeading: + self.layoutConstant = insets.left; + break; + case NSLayoutAttributeTop: + self.layoutConstant = insets.top; + break; + case NSLayoutAttributeBottom: + self.layoutConstant = -insets.bottom; + break; + case NSLayoutAttributeRight: + case NSLayoutAttributeTrailing: + self.layoutConstant = -insets.right; + break; + default: + break; + } +} + +- (void)setOffset:(CGFloat)offset { + self.layoutConstant = offset; +} + +- (void)setSizeOffset:(CGSize)sizeOffset { + NSLayoutAttribute layoutAttribute = self.firstViewAttribute.layoutAttribute; + switch (layoutAttribute) { + case NSLayoutAttributeWidth: + self.layoutConstant = sizeOffset.width; + break; + case NSLayoutAttributeHeight: + self.layoutConstant = sizeOffset.height; + break; + default: + break; + } +} + +- (void)setCenterOffset:(CGPoint)centerOffset { + NSLayoutAttribute layoutAttribute = self.firstViewAttribute.layoutAttribute; + switch (layoutAttribute) { + case NSLayoutAttributeCenterX: + self.layoutConstant = centerOffset.x; + break; + case NSLayoutAttributeCenterY: + self.layoutConstant = centerOffset.y; + break; + default: + break; + } +} + +#pragma mark - MASConstraint + +- (void)activate { + [self install]; +} + +- (void)deactivate { + [self uninstall]; +} + +- (void)install { + if (self.hasBeenInstalled) { + return; + } + + if ([self supportsActiveProperty] && self.layoutConstraint) { + self.layoutConstraint.active = YES; + [self.firstViewAttribute.view.mas_installedConstraints addObject:self]; + return; + } + + MAS_VIEW *firstLayoutItem = self.firstViewAttribute.item; + NSLayoutAttribute firstLayoutAttribute = self.firstViewAttribute.layoutAttribute; + MAS_VIEW *secondLayoutItem = self.secondViewAttribute.item; + NSLayoutAttribute secondLayoutAttribute = self.secondViewAttribute.layoutAttribute; + + // alignment attributes must have a secondViewAttribute + // therefore we assume that is refering to superview + // eg make.left.equalTo(@10) + if (!self.firstViewAttribute.isSizeAttribute && !self.secondViewAttribute) { + secondLayoutItem = self.firstViewAttribute.view.superview; + secondLayoutAttribute = firstLayoutAttribute; + } + + MASLayoutConstraint *layoutConstraint + = [MASLayoutConstraint constraintWithItem:firstLayoutItem + attribute:firstLayoutAttribute + relatedBy:self.layoutRelation + toItem:secondLayoutItem + attribute:secondLayoutAttribute + multiplier:self.layoutMultiplier + constant:self.layoutConstant]; + + layoutConstraint.priority = self.layoutPriority; + layoutConstraint.mas_key = self.mas_key; + + if (self.secondViewAttribute.view) { + MAS_VIEW *closestCommonSuperview = [self.firstViewAttribute.view mas_closestCommonSuperview:self.secondViewAttribute.view]; + NSAssert(closestCommonSuperview, + @"couldn't find a common superview for %@ and %@", + self.firstViewAttribute.view, self.secondViewAttribute.view); + self.installedView = closestCommonSuperview; + } else if (self.firstViewAttribute.isSizeAttribute) { + self.installedView = self.firstViewAttribute.view; + } else { + self.installedView = self.firstViewAttribute.view.superview; + } + + + MASLayoutConstraint *existingConstraint = nil; + if (self.updateExisting) { + existingConstraint = [self layoutConstraintSimilarTo:layoutConstraint]; + } + if (existingConstraint) { + // just update the constant + existingConstraint.constant = layoutConstraint.constant; + self.layoutConstraint = existingConstraint; + } else { + [self.installedView addConstraint:layoutConstraint]; + self.layoutConstraint = layoutConstraint; + [firstLayoutItem.mas_installedConstraints addObject:self]; + } +} + +- (MASLayoutConstraint *)layoutConstraintSimilarTo:(MASLayoutConstraint *)layoutConstraint { + // check if any constraints are the same apart from the only mutable property constant + + // go through constraints in reverse as we do not want to match auto-resizing or interface builder constraints + // and they are likely to be added first. + for (NSLayoutConstraint *existingConstraint in self.installedView.constraints.reverseObjectEnumerator) { + if (![existingConstraint isKindOfClass:MASLayoutConstraint.class]) continue; + if (existingConstraint.firstItem != layoutConstraint.firstItem) continue; + if (existingConstraint.secondItem != layoutConstraint.secondItem) continue; + if (existingConstraint.firstAttribute != layoutConstraint.firstAttribute) continue; + if (existingConstraint.secondAttribute != layoutConstraint.secondAttribute) continue; + if (existingConstraint.relation != layoutConstraint.relation) continue; + if (existingConstraint.multiplier != layoutConstraint.multiplier) continue; + if (existingConstraint.priority != layoutConstraint.priority) continue; + + return (id)existingConstraint; + } + return nil; +} + +- (void)uninstall { + if ([self supportsActiveProperty]) { + self.layoutConstraint.active = NO; + [self.firstViewAttribute.view.mas_installedConstraints removeObject:self]; + return; + } + + [self.installedView removeConstraint:self.layoutConstraint]; + self.layoutConstraint = nil; + self.installedView = nil; + + [self.firstViewAttribute.view.mas_installedConstraints removeObject:self]; +} + +@end diff --git a/Example/Pods/Masonry/Masonry/Masonry.h b/Example/Pods/Masonry/Masonry/Masonry.h new file mode 100755 index 0000000..d1bd579 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/Masonry.h @@ -0,0 +1,29 @@ +// +// Masonry.h +// Masonry +// +// Created by Jonas Budelmann on 20/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import + +//! Project version number for Masonry. +FOUNDATION_EXPORT double MasonryVersionNumber; + +//! Project version string for Masonry. +FOUNDATION_EXPORT const unsigned char MasonryVersionString[]; + +#import "MASUtilities.h" +#import "View+MASAdditions.h" +#import "View+MASShorthandAdditions.h" +#import "ViewController+MASAdditions.h" +#import "NSArray+MASAdditions.h" +#import "NSArray+MASShorthandAdditions.h" +#import "MASConstraint.h" +#import "MASCompositeConstraint.h" +#import "MASViewAttribute.h" +#import "MASViewConstraint.h" +#import "MASConstraintMaker.h" +#import "MASLayoutConstraint.h" +#import "NSLayoutConstraint+MASDebugAdditions.h" diff --git a/Example/Pods/Masonry/Masonry/NSArray+MASAdditions.h b/Example/Pods/Masonry/Masonry/NSArray+MASAdditions.h new file mode 100755 index 0000000..83be23d --- /dev/null +++ b/Example/Pods/Masonry/Masonry/NSArray+MASAdditions.h @@ -0,0 +1,72 @@ +// +// NSArray+MASAdditions.h +// +// +// Created by Daniel Hammond on 11/26/13. +// +// + +#import "MASUtilities.h" +#import "MASConstraintMaker.h" +#import "MASViewAttribute.h" + +typedef NS_ENUM(NSUInteger, MASAxisType) { + MASAxisTypeHorizontal, + MASAxisTypeVertical +}; + +@interface NSArray (MASAdditions) + +/** + * Creates a MASConstraintMaker with each view in the callee. + * Any constraints defined are added to the view or the appropriate superview once the block has finished executing on each view + * + * @param block scope within which you can build up the constraints which you wish to apply to each view. + * + * @return Array of created MASConstraints + */ +- (NSArray *)mas_makeConstraints:(void (^)(MASConstraintMaker *make))block; + +/** + * Creates a MASConstraintMaker with each view in the callee. + * Any constraints defined are added to each view or the appropriate superview once the block has finished executing on each view. + * If an existing constraint exists then it will be updated instead. + * + * @param block scope within which you can build up the constraints which you wish to apply to each view. + * + * @return Array of created/updated MASConstraints + */ +- (NSArray *)mas_updateConstraints:(void (^)(MASConstraintMaker *make))block; + +/** + * Creates a MASConstraintMaker with each view in the callee. + * Any constraints defined are added to each view or the appropriate superview once the block has finished executing on each view. + * All constraints previously installed for the views will be removed. + * + * @param block scope within which you can build up the constraints which you wish to apply to each view. + * + * @return Array of created/updated MASConstraints + */ +- (NSArray *)mas_remakeConstraints:(void (^)(MASConstraintMaker *make))block; + +/** + * distribute with fixed spacing + * + * @param axisType which axis to distribute items along + * @param fixedSpacing the spacing between each item + * @param leadSpacing the spacing before the first item and the container + * @param tailSpacing the spacing after the last item and the container + */ +- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedSpacing:(CGFloat)fixedSpacing leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing; + +/** + * distribute with fixed item size + * + * @param axisType which axis to distribute items along + * @param fixedItemLength the fixed length of each item + * @param leadSpacing the spacing before the first item and the container + * @param tailSpacing the spacing after the last item and the container + */ +- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedItemLength:(CGFloat)fixedItemLength leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing; + +@end diff --git a/Example/Pods/Masonry/Masonry/NSArray+MASAdditions.m b/Example/Pods/Masonry/Masonry/NSArray+MASAdditions.m new file mode 100755 index 0000000..831d8cd --- /dev/null +++ b/Example/Pods/Masonry/Masonry/NSArray+MASAdditions.m @@ -0,0 +1,162 @@ +// +// NSArray+MASAdditions.m +// +// +// Created by Daniel Hammond on 11/26/13. +// +// + +#import "NSArray+MASAdditions.h" +#import "View+MASAdditions.h" + +@implementation NSArray (MASAdditions) + +- (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *make))block { + NSMutableArray *constraints = [NSMutableArray array]; + for (MAS_VIEW *view in self) { + NSAssert([view isKindOfClass:[MAS_VIEW class]], @"All objects in the array must be views"); + [constraints addObjectsFromArray:[view mas_makeConstraints:block]]; + } + return constraints; +} + +- (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *make))block { + NSMutableArray *constraints = [NSMutableArray array]; + for (MAS_VIEW *view in self) { + NSAssert([view isKindOfClass:[MAS_VIEW class]], @"All objects in the array must be views"); + [constraints addObjectsFromArray:[view mas_updateConstraints:block]]; + } + return constraints; +} + +- (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block { + NSMutableArray *constraints = [NSMutableArray array]; + for (MAS_VIEW *view in self) { + NSAssert([view isKindOfClass:[MAS_VIEW class]], @"All objects in the array must be views"); + [constraints addObjectsFromArray:[view mas_remakeConstraints:block]]; + } + return constraints; +} + +- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedSpacing:(CGFloat)fixedSpacing leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing { + if (self.count < 2) { + NSAssert(self.count>1,@"views to distribute need to bigger than one"); + return; + } + + MAS_VIEW *tempSuperView = [self mas_commonSuperviewOfViews]; + if (axisType == MASAxisTypeHorizontal) { + MAS_VIEW *prev; + for (int i = 0; i < self.count; i++) { + MAS_VIEW *v = self[i]; + [v mas_makeConstraints:^(MASConstraintMaker *make) { + if (prev) { + make.width.equalTo(prev); + make.left.equalTo(prev.mas_right).offset(fixedSpacing); + if (i == self.count - 1) {//last one + make.right.equalTo(tempSuperView).offset(-tailSpacing); + } + } + else {//first one + make.left.equalTo(tempSuperView).offset(leadSpacing); + } + + }]; + prev = v; + } + } + else { + MAS_VIEW *prev; + for (int i = 0; i < self.count; i++) { + MAS_VIEW *v = self[i]; + [v mas_makeConstraints:^(MASConstraintMaker *make) { + if (prev) { + make.height.equalTo(prev); + make.top.equalTo(prev.mas_bottom).offset(fixedSpacing); + if (i == self.count - 1) {//last one + make.bottom.equalTo(tempSuperView).offset(-tailSpacing); + } + } + else {//first one + make.top.equalTo(tempSuperView).offset(leadSpacing); + } + + }]; + prev = v; + } + } +} + +- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedItemLength:(CGFloat)fixedItemLength leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing { + if (self.count < 2) { + NSAssert(self.count>1,@"views to distribute need to bigger than one"); + return; + } + + MAS_VIEW *tempSuperView = [self mas_commonSuperviewOfViews]; + if (axisType == MASAxisTypeHorizontal) { + MAS_VIEW *prev; + for (int i = 0; i < self.count; i++) { + MAS_VIEW *v = self[i]; + [v mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.equalTo(@(fixedItemLength)); + if (prev) { + if (i == self.count - 1) {//last one + make.right.equalTo(tempSuperView).offset(-tailSpacing); + } + else { + CGFloat offset = (1-(i/((CGFloat)self.count-1)))*(fixedItemLength+leadSpacing)-i*tailSpacing/(((CGFloat)self.count-1)); + make.right.equalTo(tempSuperView).multipliedBy(i/((CGFloat)self.count-1)).with.offset(offset); + } + } + else {//first one + make.left.equalTo(tempSuperView).offset(leadSpacing); + } + }]; + prev = v; + } + } + else { + MAS_VIEW *prev; + for (int i = 0; i < self.count; i++) { + MAS_VIEW *v = self[i]; + [v mas_makeConstraints:^(MASConstraintMaker *make) { + make.height.equalTo(@(fixedItemLength)); + if (prev) { + if (i == self.count - 1) {//last one + make.bottom.equalTo(tempSuperView).offset(-tailSpacing); + } + else { + CGFloat offset = (1-(i/((CGFloat)self.count-1)))*(fixedItemLength+leadSpacing)-i*tailSpacing/(((CGFloat)self.count-1)); + make.bottom.equalTo(tempSuperView).multipliedBy(i/((CGFloat)self.count-1)).with.offset(offset); + } + } + else {//first one + make.top.equalTo(tempSuperView).offset(leadSpacing); + } + }]; + prev = v; + } + } +} + +- (MAS_VIEW *)mas_commonSuperviewOfViews +{ + MAS_VIEW *commonSuperview = nil; + MAS_VIEW *previousView = nil; + for (id object in self) { + if ([object isKindOfClass:[MAS_VIEW class]]) { + MAS_VIEW *view = (MAS_VIEW *)object; + if (previousView) { + commonSuperview = [view mas_closestCommonSuperview:commonSuperview]; + } else { + commonSuperview = view; + } + previousView = view; + } + } + NSAssert(commonSuperview, @"Can't constrain views that do not share a common superview. Make sure that all the views in this array have been added into the same view hierarchy."); + return commonSuperview; +} + +@end diff --git a/Example/Pods/Masonry/Masonry/NSArray+MASShorthandAdditions.h b/Example/Pods/Masonry/Masonry/NSArray+MASShorthandAdditions.h new file mode 100755 index 0000000..8b47369 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/NSArray+MASShorthandAdditions.h @@ -0,0 +1,41 @@ +// +// NSArray+MASShorthandAdditions.h +// Masonry +// +// Created by Jonas Budelmann on 22/07/13. +// Copyright (c) 2013 Jonas Budelmann. All rights reserved. +// + +#import "NSArray+MASAdditions.h" + +#ifdef MAS_SHORTHAND + +/** + * Shorthand array additions without the 'mas_' prefixes, + * only enabled if MAS_SHORTHAND is defined + */ +@interface NSArray (MASShorthandAdditions) + +- (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *make))block; +- (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *make))block; +- (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *make))block; + +@end + +@implementation NSArray (MASShorthandAdditions) + +- (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *))block { + return [self mas_makeConstraints:block]; +} + +- (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *))block { + return [self mas_updateConstraints:block]; +} + +- (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *))block { + return [self mas_remakeConstraints:block]; +} + +@end + +#endif diff --git a/Example/Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h b/Example/Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h new file mode 100755 index 0000000..1279b4f --- /dev/null +++ b/Example/Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h @@ -0,0 +1,16 @@ +// +// NSLayoutConstraint+MASDebugAdditions.h +// Masonry +// +// Created by Jonas Budelmann on 3/08/13. +// Copyright (c) 2013 Jonas Budelmann. All rights reserved. +// + +#import "MASUtilities.h" + +/** + * makes debug and log output of NSLayoutConstraints more readable + */ +@interface NSLayoutConstraint (MASDebugAdditions) + +@end diff --git a/Example/Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.m b/Example/Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.m new file mode 100755 index 0000000..3569cf8 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.m @@ -0,0 +1,146 @@ +// +// NSLayoutConstraint+MASDebugAdditions.m +// Masonry +// +// Created by Jonas Budelmann on 3/08/13. +// Copyright (c) 2013 Jonas Budelmann. All rights reserved. +// + +#import "NSLayoutConstraint+MASDebugAdditions.h" +#import "MASConstraint.h" +#import "MASLayoutConstraint.h" + +@implementation NSLayoutConstraint (MASDebugAdditions) + +#pragma mark - description maps + ++ (NSDictionary *)layoutRelationDescriptionsByValue { + static dispatch_once_t once; + static NSDictionary *descriptionMap; + dispatch_once(&once, ^{ + descriptionMap = @{ + @(NSLayoutRelationEqual) : @"==", + @(NSLayoutRelationGreaterThanOrEqual) : @">=", + @(NSLayoutRelationLessThanOrEqual) : @"<=", + }; + }); + return descriptionMap; +} + ++ (NSDictionary *)layoutAttributeDescriptionsByValue { + static dispatch_once_t once; + static NSDictionary *descriptionMap; + dispatch_once(&once, ^{ + descriptionMap = @{ + @(NSLayoutAttributeTop) : @"top", + @(NSLayoutAttributeLeft) : @"left", + @(NSLayoutAttributeBottom) : @"bottom", + @(NSLayoutAttributeRight) : @"right", + @(NSLayoutAttributeLeading) : @"leading", + @(NSLayoutAttributeTrailing) : @"trailing", + @(NSLayoutAttributeWidth) : @"width", + @(NSLayoutAttributeHeight) : @"height", + @(NSLayoutAttributeCenterX) : @"centerX", + @(NSLayoutAttributeCenterY) : @"centerY", + @(NSLayoutAttributeBaseline) : @"baseline", + +#if (__IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) || (__TV_OS_VERSION_MIN_REQUIRED >= 9000) || (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101100) + @(NSLayoutAttributeFirstBaseline) : @"firstBaseline", + @(NSLayoutAttributeLastBaseline) : @"lastBaseline", +#endif + +#if TARGET_OS_IPHONE || TARGET_OS_TV + @(NSLayoutAttributeLeftMargin) : @"leftMargin", + @(NSLayoutAttributeRightMargin) : @"rightMargin", + @(NSLayoutAttributeTopMargin) : @"topMargin", + @(NSLayoutAttributeBottomMargin) : @"bottomMargin", + @(NSLayoutAttributeLeadingMargin) : @"leadingMargin", + @(NSLayoutAttributeTrailingMargin) : @"trailingMargin", + @(NSLayoutAttributeCenterXWithinMargins) : @"centerXWithinMargins", + @(NSLayoutAttributeCenterYWithinMargins) : @"centerYWithinMargins", +#endif + + }; + + }); + return descriptionMap; +} + + ++ (NSDictionary *)layoutPriorityDescriptionsByValue { + static dispatch_once_t once; + static NSDictionary *descriptionMap; + dispatch_once(&once, ^{ +#if TARGET_OS_IPHONE || TARGET_OS_TV + descriptionMap = @{ + @(MASLayoutPriorityDefaultHigh) : @"high", + @(MASLayoutPriorityDefaultLow) : @"low", + @(MASLayoutPriorityDefaultMedium) : @"medium", + @(MASLayoutPriorityRequired) : @"required", + @(MASLayoutPriorityFittingSizeLevel) : @"fitting size", + }; +#elif TARGET_OS_MAC + descriptionMap = @{ + @(MASLayoutPriorityDefaultHigh) : @"high", + @(MASLayoutPriorityDragThatCanResizeWindow) : @"drag can resize window", + @(MASLayoutPriorityDefaultMedium) : @"medium", + @(MASLayoutPriorityWindowSizeStayPut) : @"window size stay put", + @(MASLayoutPriorityDragThatCannotResizeWindow) : @"drag cannot resize window", + @(MASLayoutPriorityDefaultLow) : @"low", + @(MASLayoutPriorityFittingSizeCompression) : @"fitting size", + @(MASLayoutPriorityRequired) : @"required", + }; +#endif + }); + return descriptionMap; +} + +#pragma mark - description override + ++ (NSString *)descriptionForObject:(id)obj { + if ([obj respondsToSelector:@selector(mas_key)] && [obj mas_key]) { + return [NSString stringWithFormat:@"%@:%@", [obj class], [obj mas_key]]; + } + return [NSString stringWithFormat:@"%@:%p", [obj class], obj]; +} + +- (NSString *)description { + NSMutableString *description = [[NSMutableString alloc] initWithString:@"<"]; + + [description appendString:[self.class descriptionForObject:self]]; + + [description appendFormat:@" %@", [self.class descriptionForObject:self.firstItem]]; + if (self.firstAttribute != NSLayoutAttributeNotAnAttribute) { + [description appendFormat:@".%@", self.class.layoutAttributeDescriptionsByValue[@(self.firstAttribute)]]; + } + + [description appendFormat:@" %@", self.class.layoutRelationDescriptionsByValue[@(self.relation)]]; + + if (self.secondItem) { + [description appendFormat:@" %@", [self.class descriptionForObject:self.secondItem]]; + } + if (self.secondAttribute != NSLayoutAttributeNotAnAttribute) { + [description appendFormat:@".%@", self.class.layoutAttributeDescriptionsByValue[@(self.secondAttribute)]]; + } + + if (self.multiplier != 1) { + [description appendFormat:@" * %g", self.multiplier]; + } + + if (self.secondAttribute == NSLayoutAttributeNotAnAttribute) { + [description appendFormat:@" %g", self.constant]; + } else { + if (self.constant) { + [description appendFormat:@" %@ %g", (self.constant < 0 ? @"-" : @"+"), ABS(self.constant)]; + } + } + + if (self.priority != MASLayoutPriorityRequired) { + [description appendFormat:@" ^%@", self.class.layoutPriorityDescriptionsByValue[@(self.priority)] ?: [NSNumber numberWithDouble:self.priority]]; + } + + [description appendString:@">"]; + return description; +} + +@end diff --git a/Example/Pods/Masonry/Masonry/View+MASAdditions.h b/Example/Pods/Masonry/Masonry/View+MASAdditions.h new file mode 100755 index 0000000..ab1e8ae --- /dev/null +++ b/Example/Pods/Masonry/Masonry/View+MASAdditions.h @@ -0,0 +1,101 @@ +// +// UIView+MASAdditions.h +// Masonry +// +// Created by Jonas Budelmann on 20/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "MASUtilities.h" +#import "MASConstraintMaker.h" +#import "MASViewAttribute.h" + +/** + * Provides constraint maker block + * and convience methods for creating MASViewAttribute which are view + NSLayoutAttribute pairs + */ +@interface MAS_VIEW (MASAdditions) + +/** + * following properties return a new MASViewAttribute with current view and appropriate NSLayoutAttribute + */ +@property (nonatomic, strong, readonly) MASViewAttribute *mas_left; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_top; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_right; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_bottom; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_leading; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_trailing; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_width; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_height; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_centerX; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_centerY; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_baseline; +@property (nonatomic, strong, readonly) MASViewAttribute *(^mas_attribute)(NSLayoutAttribute attr); + +#if (__IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) || (__TV_OS_VERSION_MIN_REQUIRED >= 9000) || (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101100) + +@property (nonatomic, strong, readonly) MASViewAttribute *mas_firstBaseline; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_lastBaseline; + +#endif + +#if TARGET_OS_IPHONE || TARGET_OS_TV + +@property (nonatomic, strong, readonly) MASViewAttribute *mas_leftMargin; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_rightMargin; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_topMargin; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomMargin; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_leadingMargin; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_trailingMargin; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_centerXWithinMargins; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_centerYWithinMargins; + +#endif + +/** + * a key to associate with this view + */ +@property (nonatomic, strong) id mas_key; + +/** + * Finds the closest common superview between this view and another view + * + * @param view other view + * + * @return returns nil if common superview could not be found + */ +- (instancetype)mas_closestCommonSuperview:(MAS_VIEW *)view; + +/** + * Creates a MASConstraintMaker with the callee view. + * Any constraints defined are added to the view or the appropriate superview once the block has finished executing + * + * @param block scope within which you can build up the constraints which you wish to apply to the view. + * + * @return Array of created MASConstraints + */ +- (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *make))block; + +/** + * Creates a MASConstraintMaker with the callee view. + * Any constraints defined are added to the view or the appropriate superview once the block has finished executing. + * If an existing constraint exists then it will be updated instead. + * + * @param block scope within which you can build up the constraints which you wish to apply to the view. + * + * @return Array of created/updated MASConstraints + */ +- (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *make))block; + +/** + * Creates a MASConstraintMaker with the callee view. + * Any constraints defined are added to the view or the appropriate superview once the block has finished executing. + * All constraints previously installed for the view will be removed. + * + * @param block scope within which you can build up the constraints which you wish to apply to the view. + * + * @return Array of created/updated MASConstraints + */ +- (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block; + +@end diff --git a/Example/Pods/Masonry/Masonry/View+MASAdditions.m b/Example/Pods/Masonry/Masonry/View+MASAdditions.m new file mode 100755 index 0000000..b53b68d --- /dev/null +++ b/Example/Pods/Masonry/Masonry/View+MASAdditions.m @@ -0,0 +1,166 @@ +// +// UIView+MASAdditions.m +// Masonry +// +// Created by Jonas Budelmann on 20/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "View+MASAdditions.h" +#import + +@implementation MAS_VIEW (MASAdditions) + +- (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *))block { + self.translatesAutoresizingMaskIntoConstraints = NO; + MASConstraintMaker *constraintMaker = [[MASConstraintMaker alloc] initWithView:self]; + block(constraintMaker); + return [constraintMaker install]; +} + +- (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *))block { + self.translatesAutoresizingMaskIntoConstraints = NO; + MASConstraintMaker *constraintMaker = [[MASConstraintMaker alloc] initWithView:self]; + constraintMaker.updateExisting = YES; + block(constraintMaker); + return [constraintMaker install]; +} + +- (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block { + self.translatesAutoresizingMaskIntoConstraints = NO; + MASConstraintMaker *constraintMaker = [[MASConstraintMaker alloc] initWithView:self]; + constraintMaker.removeExisting = YES; + block(constraintMaker); + return [constraintMaker install]; +} + +#pragma mark - NSLayoutAttribute properties + +- (MASViewAttribute *)mas_left { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeLeft]; +} + +- (MASViewAttribute *)mas_top { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeTop]; +} + +- (MASViewAttribute *)mas_right { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeRight]; +} + +- (MASViewAttribute *)mas_bottom { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeBottom]; +} + +- (MASViewAttribute *)mas_leading { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeLeading]; +} + +- (MASViewAttribute *)mas_trailing { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeTrailing]; +} + +- (MASViewAttribute *)mas_width { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeWidth]; +} + +- (MASViewAttribute *)mas_height { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeHeight]; +} + +- (MASViewAttribute *)mas_centerX { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeCenterX]; +} + +- (MASViewAttribute *)mas_centerY { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeCenterY]; +} + +- (MASViewAttribute *)mas_baseline { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeBaseline]; +} + +- (MASViewAttribute *(^)(NSLayoutAttribute))mas_attribute +{ + return ^(NSLayoutAttribute attr) { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:attr]; + }; +} + +#if (__IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) || (__TV_OS_VERSION_MIN_REQUIRED >= 9000) || (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101100) + +- (MASViewAttribute *)mas_firstBaseline { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeFirstBaseline]; +} +- (MASViewAttribute *)mas_lastBaseline { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeLastBaseline]; +} + +#endif + +#if TARGET_OS_IPHONE || TARGET_OS_TV + +- (MASViewAttribute *)mas_leftMargin { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeLeftMargin]; +} + +- (MASViewAttribute *)mas_rightMargin { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeRightMargin]; +} + +- (MASViewAttribute *)mas_topMargin { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeTopMargin]; +} + +- (MASViewAttribute *)mas_bottomMargin { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeBottomMargin]; +} + +- (MASViewAttribute *)mas_leadingMargin { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeLeadingMargin]; +} + +- (MASViewAttribute *)mas_trailingMargin { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeTrailingMargin]; +} + +- (MASViewAttribute *)mas_centerXWithinMargins { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeCenterXWithinMargins]; +} + +- (MASViewAttribute *)mas_centerYWithinMargins { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeCenterYWithinMargins]; +} + +#endif + +#pragma mark - associated properties + +- (id)mas_key { + return objc_getAssociatedObject(self, @selector(mas_key)); +} + +- (void)setMas_key:(id)key { + objc_setAssociatedObject(self, @selector(mas_key), key, OBJC_ASSOCIATION_RETAIN_NONATOMIC); +} + +#pragma mark - heirachy + +- (instancetype)mas_closestCommonSuperview:(MAS_VIEW *)view { + MAS_VIEW *closestCommonSuperview = nil; + + MAS_VIEW *secondViewSuperview = view; + while (!closestCommonSuperview && secondViewSuperview) { + MAS_VIEW *firstViewSuperview = self; + while (!closestCommonSuperview && firstViewSuperview) { + if (secondViewSuperview == firstViewSuperview) { + closestCommonSuperview = secondViewSuperview; + } + firstViewSuperview = firstViewSuperview.superview; + } + secondViewSuperview = secondViewSuperview.superview; + } + return closestCommonSuperview; +} + +@end diff --git a/Example/Pods/Masonry/Masonry/View+MASShorthandAdditions.h b/Example/Pods/Masonry/Masonry/View+MASShorthandAdditions.h new file mode 100755 index 0000000..0446056 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/View+MASShorthandAdditions.h @@ -0,0 +1,115 @@ +// +// UIView+MASShorthandAdditions.h +// Masonry +// +// Created by Jonas Budelmann on 22/07/13. +// Copyright (c) 2013 Jonas Budelmann. All rights reserved. +// + +#import "View+MASAdditions.h" + +#ifdef MAS_SHORTHAND + +/** + * Shorthand view additions without the 'mas_' prefixes, + * only enabled if MAS_SHORTHAND is defined + */ +@interface MAS_VIEW (MASShorthandAdditions) + +@property (nonatomic, strong, readonly) MASViewAttribute *left; +@property (nonatomic, strong, readonly) MASViewAttribute *top; +@property (nonatomic, strong, readonly) MASViewAttribute *right; +@property (nonatomic, strong, readonly) MASViewAttribute *bottom; +@property (nonatomic, strong, readonly) MASViewAttribute *leading; +@property (nonatomic, strong, readonly) MASViewAttribute *trailing; +@property (nonatomic, strong, readonly) MASViewAttribute *width; +@property (nonatomic, strong, readonly) MASViewAttribute *height; +@property (nonatomic, strong, readonly) MASViewAttribute *centerX; +@property (nonatomic, strong, readonly) MASViewAttribute *centerY; +@property (nonatomic, strong, readonly) MASViewAttribute *baseline; +@property (nonatomic, strong, readonly) MASViewAttribute *(^attribute)(NSLayoutAttribute attr); + +#if (__IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) || (__TV_OS_VERSION_MIN_REQUIRED >= 9000) || (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101100) + +@property (nonatomic, strong, readonly) MASViewAttribute *firstBaseline; +@property (nonatomic, strong, readonly) MASViewAttribute *lastBaseline; + +#endif + +#if TARGET_OS_IPHONE || TARGET_OS_TV + +@property (nonatomic, strong, readonly) MASViewAttribute *leftMargin; +@property (nonatomic, strong, readonly) MASViewAttribute *rightMargin; +@property (nonatomic, strong, readonly) MASViewAttribute *topMargin; +@property (nonatomic, strong, readonly) MASViewAttribute *bottomMargin; +@property (nonatomic, strong, readonly) MASViewAttribute *leadingMargin; +@property (nonatomic, strong, readonly) MASViewAttribute *trailingMargin; +@property (nonatomic, strong, readonly) MASViewAttribute *centerXWithinMargins; +@property (nonatomic, strong, readonly) MASViewAttribute *centerYWithinMargins; + +#endif + +- (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *make))block; +- (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *make))block; +- (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *make))block; + +@end + +#define MAS_ATTR_FORWARD(attr) \ +- (MASViewAttribute *)attr { \ + return [self mas_##attr]; \ +} + +@implementation MAS_VIEW (MASShorthandAdditions) + +MAS_ATTR_FORWARD(top); +MAS_ATTR_FORWARD(left); +MAS_ATTR_FORWARD(bottom); +MAS_ATTR_FORWARD(right); +MAS_ATTR_FORWARD(leading); +MAS_ATTR_FORWARD(trailing); +MAS_ATTR_FORWARD(width); +MAS_ATTR_FORWARD(height); +MAS_ATTR_FORWARD(centerX); +MAS_ATTR_FORWARD(centerY); +MAS_ATTR_FORWARD(baseline); + +#if (__IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) || (__TV_OS_VERSION_MIN_REQUIRED >= 9000) || (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101100) + +MAS_ATTR_FORWARD(firstBaseline); +MAS_ATTR_FORWARD(lastBaseline); + +#endif + +#if TARGET_OS_IPHONE || TARGET_OS_TV + +MAS_ATTR_FORWARD(leftMargin); +MAS_ATTR_FORWARD(rightMargin); +MAS_ATTR_FORWARD(topMargin); +MAS_ATTR_FORWARD(bottomMargin); +MAS_ATTR_FORWARD(leadingMargin); +MAS_ATTR_FORWARD(trailingMargin); +MAS_ATTR_FORWARD(centerXWithinMargins); +MAS_ATTR_FORWARD(centerYWithinMargins); + +#endif + +- (MASViewAttribute *(^)(NSLayoutAttribute))attribute { + return [self mas_attribute]; +} + +- (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *))block { + return [self mas_makeConstraints:block]; +} + +- (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *))block { + return [self mas_updateConstraints:block]; +} + +- (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *))block { + return [self mas_remakeConstraints:block]; +} + +@end + +#endif diff --git a/Example/Pods/Masonry/Masonry/ViewController+MASAdditions.h b/Example/Pods/Masonry/Masonry/ViewController+MASAdditions.h new file mode 100755 index 0000000..79fd1fa --- /dev/null +++ b/Example/Pods/Masonry/Masonry/ViewController+MASAdditions.h @@ -0,0 +1,30 @@ +// +// UIViewController+MASAdditions.h +// Masonry +// +// Created by Craig Siemens on 2015-06-23. +// +// + +#import "MASUtilities.h" +#import "MASConstraintMaker.h" +#import "MASViewAttribute.h" + +#ifdef MAS_VIEW_CONTROLLER + +@interface MAS_VIEW_CONTROLLER (MASAdditions) + +/** + * following properties return a new MASViewAttribute with appropriate UILayoutGuide and NSLayoutAttribute + */ +@property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuide; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuide; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuideTop; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuideBottom; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuideTop; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuideBottom; + + +@end + +#endif diff --git a/Example/Pods/Masonry/Masonry/ViewController+MASAdditions.m b/Example/Pods/Masonry/Masonry/ViewController+MASAdditions.m new file mode 100755 index 0000000..2f5139f --- /dev/null +++ b/Example/Pods/Masonry/Masonry/ViewController+MASAdditions.m @@ -0,0 +1,39 @@ +// +// UIViewController+MASAdditions.m +// Masonry +// +// Created by Craig Siemens on 2015-06-23. +// +// + +#import "ViewController+MASAdditions.h" + +#ifdef MAS_VIEW_CONTROLLER + +@implementation MAS_VIEW_CONTROLLER (MASAdditions) + +- (MASViewAttribute *)mas_topLayoutGuide { + return [[MASViewAttribute alloc] initWithView:self.view item:self.topLayoutGuide layoutAttribute:NSLayoutAttributeBottom]; +} +- (MASViewAttribute *)mas_topLayoutGuideTop { + return [[MASViewAttribute alloc] initWithView:self.view item:self.topLayoutGuide layoutAttribute:NSLayoutAttributeTop]; +} +- (MASViewAttribute *)mas_topLayoutGuideBottom { + return [[MASViewAttribute alloc] initWithView:self.view item:self.topLayoutGuide layoutAttribute:NSLayoutAttributeBottom]; +} + +- (MASViewAttribute *)mas_bottomLayoutGuide { + return [[MASViewAttribute alloc] initWithView:self.view item:self.bottomLayoutGuide layoutAttribute:NSLayoutAttributeTop]; +} +- (MASViewAttribute *)mas_bottomLayoutGuideTop { + return [[MASViewAttribute alloc] initWithView:self.view item:self.bottomLayoutGuide layoutAttribute:NSLayoutAttributeTop]; +} +- (MASViewAttribute *)mas_bottomLayoutGuideBottom { + return [[MASViewAttribute alloc] initWithView:self.view item:self.bottomLayoutGuide layoutAttribute:NSLayoutAttributeBottom]; +} + + + +@end + +#endif diff --git a/Example/Pods/Masonry/README.md b/Example/Pods/Masonry/README.md new file mode 100755 index 0000000..2b59a48 --- /dev/null +++ b/Example/Pods/Masonry/README.md @@ -0,0 +1,409 @@ +#Masonry [![Build Status](https://travis-ci.org/SnapKit/Masonry.svg?branch=master)](https://travis-ci.org/SnapKit/Masonry) [![Coverage Status](https://img.shields.io/coveralls/SnapKit/Masonry.svg?style=flat-square)](https://coveralls.io/r/SnapKit/Masonry) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) ![Pod Version](https://img.shields.io/cocoapods/v/Masonry.svg?style=flat) + +**Masonry is still actively maintained, we are committed to fixing bugs and merging good quality PRs from the wider community. However if you're using Swift in your project, we recommend using [SnapKit](https://github.com/SnapKit/SnapKit) as it provides better type safety with a simpler API.** + +Masonry is a light-weight layout framework which wraps AutoLayout with a nicer syntax. Masonry has its own layout DSL which provides a chainable way of describing your NSLayoutConstraints which results in layout code that is more concise and readable. +Masonry supports iOS and Mac OS X. + +For examples take a look at the **Masonry iOS Examples** project in the Masonry workspace. You will need to run `pod install` after downloading. + +## What's wrong with NSLayoutConstraints? + +Under the hood Auto Layout is a powerful and flexible way of organising and laying out your views. However creating constraints from code is verbose and not very descriptive. +Imagine a simple example in which you want to have a view fill its superview but inset by 10 pixels on every side +```obj-c +UIView *superview = self.view; + +UIView *view1 = [[UIView alloc] init]; +view1.translatesAutoresizingMaskIntoConstraints = NO; +view1.backgroundColor = [UIColor greenColor]; +[superview addSubview:view1]; + +UIEdgeInsets padding = UIEdgeInsetsMake(10, 10, 10, 10); + +[superview addConstraints:@[ + + //view1 constraints + [NSLayoutConstraint constraintWithItem:view1 + attribute:NSLayoutAttributeTop + relatedBy:NSLayoutRelationEqual + toItem:superview + attribute:NSLayoutAttributeTop + multiplier:1.0 + constant:padding.top], + + [NSLayoutConstraint constraintWithItem:view1 + attribute:NSLayoutAttributeLeft + relatedBy:NSLayoutRelationEqual + toItem:superview + attribute:NSLayoutAttributeLeft + multiplier:1.0 + constant:padding.left], + + [NSLayoutConstraint constraintWithItem:view1 + attribute:NSLayoutAttributeBottom + relatedBy:NSLayoutRelationEqual + toItem:superview + attribute:NSLayoutAttributeBottom + multiplier:1.0 + constant:-padding.bottom], + + [NSLayoutConstraint constraintWithItem:view1 + attribute:NSLayoutAttributeRight + relatedBy:NSLayoutRelationEqual + toItem:superview + attribute:NSLayoutAttributeRight + multiplier:1 + constant:-padding.right], + + ]]; +``` +Even with such a simple example the code needed is quite verbose and quickly becomes unreadable when you have more than 2 or 3 views. +Another option is to use Visual Format Language (VFL), which is a bit less long winded. +However the ASCII type syntax has its own pitfalls and its also a bit harder to animate as `NSLayoutConstraint constraintsWithVisualFormat:` returns an array. + +## Prepare to meet your Maker! + +Heres the same constraints created using MASConstraintMaker + +```obj-c +UIEdgeInsets padding = UIEdgeInsetsMake(10, 10, 10, 10); + +[view1 mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(superview.mas_top).with.offset(padding.top); //with is an optional semantic filler + make.left.equalTo(superview.mas_left).with.offset(padding.left); + make.bottom.equalTo(superview.mas_bottom).with.offset(-padding.bottom); + make.right.equalTo(superview.mas_right).with.offset(-padding.right); +}]; +``` +Or even shorter + +```obj-c +[view1 mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(superview).with.insets(padding); +}]; +``` + +Also note in the first example we had to add the constraints to the superview `[superview addConstraints:...`. +Masonry however will automagically add constraints to the appropriate view. + +Masonry will also call `view1.translatesAutoresizingMaskIntoConstraints = NO;` for you. + +## Not all things are created equal + +> `.equalTo` equivalent to **NSLayoutRelationEqual** + +> `.lessThanOrEqualTo` equivalent to **NSLayoutRelationLessThanOrEqual** + +> `.greaterThanOrEqualTo` equivalent to **NSLayoutRelationGreaterThanOrEqual** + +These three equality constraints accept one argument which can be any of the following: + +#### 1. MASViewAttribute + +```obj-c +make.centerX.lessThanOrEqualTo(view2.mas_left); +``` + +MASViewAttribute | NSLayoutAttribute +------------------------- | -------------------------- +view.mas_left | NSLayoutAttributeLeft +view.mas_right | NSLayoutAttributeRight +view.mas_top | NSLayoutAttributeTop +view.mas_bottom | NSLayoutAttributeBottom +view.mas_leading | NSLayoutAttributeLeading +view.mas_trailing | NSLayoutAttributeTrailing +view.mas_width | NSLayoutAttributeWidth +view.mas_height | NSLayoutAttributeHeight +view.mas_centerX | NSLayoutAttributeCenterX +view.mas_centerY | NSLayoutAttributeCenterY +view.mas_baseline | NSLayoutAttributeBaseline + +#### 2. UIView/NSView + +if you want view.left to be greater than or equal to label.left : +```obj-c +//these two constraints are exactly the same +make.left.greaterThanOrEqualTo(label); +make.left.greaterThanOrEqualTo(label.mas_left); +``` + +#### 3. NSNumber + +Auto Layout allows width and height to be set to constant values. +if you want to set view to have a minimum and maximum width you could pass a number to the equality blocks: +```obj-c +//width >= 200 && width <= 400 +make.width.greaterThanOrEqualTo(@200); +make.width.lessThanOrEqualTo(@400) +``` + +However Auto Layout does not allow alignment attributes such as left, right, centerY etc to be set to constant values. +So if you pass a NSNumber for these attributes Masonry will turn these into constraints relative to the view’s superview ie: +```obj-c +//creates view.left = view.superview.left + 10 +make.left.lessThanOrEqualTo(@10) +``` + +Instead of using NSNumber, you can use primitives and structs to build your constraints, like so: +```obj-c +make.top.mas_equalTo(42); +make.height.mas_equalTo(20); +make.size.mas_equalTo(CGSizeMake(50, 100)); +make.edges.mas_equalTo(UIEdgeInsetsMake(10, 0, 10, 0)); +make.left.mas_equalTo(view).mas_offset(UIEdgeInsetsMake(10, 0, 10, 0)); +``` + +By default, macros which support [autoboxing](https://en.wikipedia.org/wiki/Autoboxing#Autoboxing) are prefixed with `mas_`. Unprefixed versions are available by defining `MAS_SHORTHAND_GLOBALS` before importing Masonry. + +#### 4. NSArray + +An array of a mixture of any of the previous types +```obj-c +make.height.equalTo(@[view1.mas_height, view2.mas_height]); +make.height.equalTo(@[view1, view2]); +make.left.equalTo(@[view1, @100, view3.right]); +```` + +## Learn to prioritize + +> `.priority` allows you to specify an exact priority + +> `.priorityHigh` equivalent to **UILayoutPriorityDefaultHigh** + +> `.priorityMedium` is half way between high and low + +> `.priorityLow` equivalent to **UILayoutPriorityDefaultLow** + +Priorities are can be tacked on to the end of a constraint chain like so: +```obj-c +make.left.greaterThanOrEqualTo(label.mas_left).with.priorityLow(); + +make.top.equalTo(label.mas_top).with.priority(600); +``` + +## Composition, composition, composition + +Masonry also gives you a few convenience methods which create multiple constraints at the same time. These are called MASCompositeConstraints + +#### edges + +```obj-c +// make top, left, bottom, right equal view2 +make.edges.equalTo(view2); + +// make top = superview.top + 5, left = superview.left + 10, +// bottom = superview.bottom - 15, right = superview.right - 20 +make.edges.equalTo(superview).insets(UIEdgeInsetsMake(5, 10, 15, 20)) +``` + +#### size + +```obj-c +// make width and height greater than or equal to titleLabel +make.size.greaterThanOrEqualTo(titleLabel) + +// make width = superview.width + 100, height = superview.height - 50 +make.size.equalTo(superview).sizeOffset(CGSizeMake(100, -50)) +``` + +#### center +```obj-c +// make centerX and centerY = button1 +make.center.equalTo(button1) + +// make centerX = superview.centerX - 5, centerY = superview.centerY + 10 +make.center.equalTo(superview).centerOffset(CGPointMake(-5, 10)) +``` + +You can chain view attributes for increased readability: + +```obj-c +// All edges but the top should equal those of the superview +make.left.right.and.bottom.equalTo(superview); +make.top.equalTo(otherView); +``` + +## Hold on for dear life + +Sometimes you need modify existing constraints in order to animate or remove/replace constraints. +In Masonry there are a few different approaches to updating constraints. + +#### 1. References +You can hold on to a reference of a particular constraint by assigning the result of a constraint make expression to a local variable or a class property. +You could also reference multiple constraints by storing them away in an array. + +```obj-c +// in public/private interface +@property (nonatomic, strong) MASConstraint *topConstraint; + +... + +// when making constraints +[view1 mas_makeConstraints:^(MASConstraintMaker *make) { + self.topConstraint = make.top.equalTo(superview.mas_top).with.offset(padding.top); + make.left.equalTo(superview.mas_left).with.offset(padding.left); +}]; + +... +// then later you can call +[self.topConstraint uninstall]; +``` + +#### 2. mas_updateConstraints +Alternatively if you are only updating the constant value of the constraint you can use the convience method `mas_updateConstraints` instead of `mas_makeConstraints` + +```obj-c +// this is Apple's recommended place for adding/updating constraints +// this method can get called multiple times in response to setNeedsUpdateConstraints +// which can be called by UIKit internally or in your code if you need to trigger an update to your constraints +- (void)updateConstraints { + [self.growingButton mas_updateConstraints:^(MASConstraintMaker *make) { + make.center.equalTo(self); + make.width.equalTo(@(self.buttonSize.width)).priorityLow(); + make.height.equalTo(@(self.buttonSize.height)).priorityLow(); + make.width.lessThanOrEqualTo(self); + make.height.lessThanOrEqualTo(self); + }]; + + //according to apple super should be called at end of method + [super updateConstraints]; +} +``` + +### 3. mas_remakeConstraints +`mas_updateConstraints` is useful for updating a set of constraints, but doing anything beyond updating constant values can get exhausting. That's where `mas_remakeConstraints` comes in. + +`mas_remakeConstraints` is similar to `mas_updateConstraints`, but instead of updating constant values, it will remove all of its constraints before installing them again. This lets you provide different constraints without having to keep around references to ones which you want to remove. + +```obj-c +- (void)changeButtonPosition { + [self.button mas_remakeConstraints:^(MASConstraintMaker *make) { + make.size.equalTo(self.buttonSize); + + if (topLeft) { + make.top.and.left.offset(10); + } else { + make.bottom.and.right.offset(-10); + } + }]; +} +``` + +You can find more detailed examples of all three approaches in the **Masonry iOS Examples** project. + +## When the ^&*!@ hits the fan! + +Laying out your views doesn't always goto plan. So when things literally go pear shaped, you don't want to be looking at console output like this: + +```obj-c +Unable to simultaneously satisfy constraints.....blah blah blah.... +( + "=5000)]>", + "", + "", + "" +) + +Will attempt to recover by breaking constraint +=5000)]> +``` + +Masonry adds a category to NSLayoutConstraint which overrides the default implementation of `- (NSString *)description`. +Now you can give meaningful names to views and constraints, and also easily pick out the constraints created by Masonry. + +which means your console output can now look like this: + +```obj-c +Unable to simultaneously satisfy constraints......blah blah blah.... +( + "", + "= 5000>", + "", + "" +) + +Will attempt to recover by breaking constraint += 5000> +``` + +For an example of how to set this up take a look at the **Masonry iOS Examples** project in the Masonry workspace. + +## Where should I create my constraints? + +```objc +@implementation DIYCustomView + +- (id)init { + self = [super init]; + if (!self) return nil; + + // --- Create your views here --- + self.button = [[UIButton alloc] init]; + + return self; +} + +// tell UIKit that you are using AutoLayout ++ (BOOL)requiresConstraintBasedLayout { + return YES; +} + +// this is Apple's recommended place for adding/updating constraints +- (void)updateConstraints { + + // --- remake/update constraints here + [self.button remakeConstraints:^(MASConstraintMaker *make) { + make.width.equalTo(@(self.buttonSize.width)); + make.height.equalTo(@(self.buttonSize.height)); + }]; + + //according to apple super should be called at end of method + [super updateConstraints]; +} + +- (void)didTapButton:(UIButton *)button { + // --- Do your changes ie change variables that affect your layout etc --- + self.buttonSize = CGSize(200, 200); + + // tell constraints they need updating + [self setNeedsUpdateConstraints]; +} + +@end +``` + +## Installation +Use the [orsome](http://www.youtube.com/watch?v=YaIZF8uUTtk) [CocoaPods](http://github.com/CocoaPods/CocoaPods). + +In your Podfile +>`pod 'Masonry'` + +If you want to use masonry without all those pesky 'mas_' prefixes. Add #define MAS_SHORTHAND to your prefix.pch before importing Masonry +>`#define MAS_SHORTHAND` + +Get busy Masoning +>`#import "Masonry.h"` + +## Code Snippets + +Copy the included code snippets to ``~/Library/Developer/Xcode/UserData/CodeSnippets`` to write your masonry blocks at lightning speed! + +`mas_make` -> `[ mas_makeConstraints:^(MASConstraintMaker *make){}];` + +`mas_update` -> `[ mas_updateConstraints:^(MASConstraintMaker *make){}];` + +`mas_remake` -> `[ mas_remakeConstraints:^(MASConstraintMaker *make){}];` + +## Features +* Not limited to subset of Auto Layout. Anything NSLayoutConstraint can do, Masonry can do too! +* Great debug support, give your views and constraints meaningful names. +* Constraints read like sentences. +* No crazy macro magic. Masonry won't pollute the global namespace with macros. +* Not string or dictionary based and hence you get compile time checking. + +## TODO +* Eye candy +* Mac example project +* More tests and examples + diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj new file mode 100755 index 0000000..3840de8 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -0,0 +1,2152 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 009BC7E903F94ECA31277A7497339179 /* YYCategories-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6661EE75AB7297511F768400634F5D3B /* YYCategories-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0192F6C257532571397302894FD4992A /* MASViewAttribute.m in Sources */ = {isa = PBXBuildFile; fileRef = 5791B94B768F236C2B064846F3896442 /* MASViewAttribute.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 03A0D5C3F30220D1A75FCB4EB9D550E3 /* TOCropViewControllerLocalizable.strings in Sources */ = {isa = PBXBuildFile; fileRef = 8C7B98967BE290EB6AA130B05672B387 /* TOCropViewControllerLocalizable.strings */; }; + 0413208A707F6770F23A42B3001E9B5E /* ViewController+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = ACA6D13D3E5854603F1A24D9E4709BA6 /* ViewController+MASAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 041B4F2F91E2520AB775DECB11D964EF /* WBGImageEditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 742494B1640EE4E5DAE54F3248A35493 /* WBGImageEditor.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 044C663A39B20FC2AB618FBE948664EE /* UIFont+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BDCF65857FEAB7262C2B81EAB5D10A4 /* UIFont+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 047BD48DE66931394A7C768E56F4228F /* NSArray+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C5ADCE27051C0BDBDB5C06E6F390F3A /* NSArray+MASAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 04A7D6AADAB213CE7D26F8EAD2F87536 /* MASUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 338D22830EC01A8BF72FBFB3ACC7346F /* MASUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 051A816D6DD0CAE13496DDCFE0829167 /* UIImage+Diff.h in Headers */ = {isa = PBXBuildFile; fileRef = 155ACC000F4DD9610B044D2C04D51153 /* UIImage+Diff.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 0561DBBAC433A8393C82E9581332B8F2 /* TOCropViewControllerLocalizable.strings in Sources */ = {isa = PBXBuildFile; fileRef = 8386DF32B289C51BCE56ED50F9D929CD /* TOCropViewControllerLocalizable.strings */; }; + 06453BE748D85EAC5D267C5872B9B61F /* UITextField+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 83B4990AF0384DEEA3CFF51E276F2ECB /* UITextField+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 068EF598E554EC57038ACFB89CC2C47A /* View+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3333D69FA254A9BC9D26ECF0E5B91363 /* View+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 06AC7884D3A65A6A4A56AFBFD443D2BF /* MASLayoutConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = A41705AE19071E459B9213E359352BBD /* MASLayoutConstraint.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0757CB11206E308300CD8D2C /* XPixelItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 0757CB0B206E308300CD8D2C /* XPixelItem.h */; }; + 0757CB12206E308300CD8D2C /* XPixelItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 0757CB0C206E308300CD8D2C /* XPixelItem.m */; }; + 0757CB13206E308300CD8D2C /* XRGBTool.h in Headers */ = {isa = PBXBuildFile; fileRef = 0757CB0D206E308300CD8D2C /* XRGBTool.h */; }; + 0757CB14206E308300CD8D2C /* XRGBTool.m in Sources */ = {isa = PBXBuildFile; fileRef = 0757CB0E206E308300CD8D2C /* XRGBTool.m */; }; + 0757CB15206E308300CD8D2C /* XScratchView.h in Headers */ = {isa = PBXBuildFile; fileRef = 0757CB0F206E308300CD8D2C /* XScratchView.h */; }; + 0757CB16206E308300CD8D2C /* XScratchView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0757CB10206E308300CD8D2C /* XScratchView.m */; }; + 091D17D5D8F832D28546A72B788CF0AE /* MASViewConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = BD6CD12291F1CB7C3FBAB53758A2EF88 /* MASViewConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0A8230463EEE6D7A300682E1F2E44E0B /* WBGImageEditor.m in Sources */ = {isa = PBXBuildFile; fileRef = 8613FA428BF8B7F995A7B2E84ED7AC25 /* WBGImageEditor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0C9B209BEA71E9FC659FC42C4A5B6566 /* YYCGUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B52149B987D9698FCD3F7F29DF85E03 /* YYCGUtilities.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0E6C2333F34292CA00028D63828B241B /* UIScrollView+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 454A057ECB301B795819AF9D14240D3D /* UIScrollView+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0EF408B833D35105450E6214B0AF4234 /* WBGDrawTool.h in Headers */ = {isa = PBXBuildFile; fileRef = 42A229085A75DEA776ACED3EB791CD44 /* WBGDrawTool.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0FDB2B4F75591851F0F119EAE70B3F63 /* NSLayoutConstraint+MASDebugAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 11AB33774D672FF723BAFC3EFCBE6204 /* NSLayoutConstraint+MASDebugAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 12B75FC68FCCFE81C578CDF07A3CB6D2 /* YYCategoriesMacro.h in Headers */ = {isa = PBXBuildFile; fileRef = 29E2501C15009A6BCDF5FBCFCA65CFA4 /* YYCategoriesMacro.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 134956DD8D77170A84CA0B6777E29514 /* NSNotificationCenter+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 55152A3A0E9B368F1EBF268044ECC842 /* NSNotificationCenter+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 14E53985EEA4291C4C813CA6B8B7E206 /* TOCropViewControllerLocalizable.strings in Sources */ = {isa = PBXBuildFile; fileRef = 3C78A3C38A7BBA8A56037817D1E12603 /* TOCropViewControllerLocalizable.strings */; }; + 155B7B5B6B039BAB5105E2C9B88D8A8B /* UIDevice+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = EC3958655A0F91427F97306A987A5C26 /* UIDevice+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 184FC8F2D1E548C5B7129E27276F030A /* UITableView+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = E551C87B74BDDA432FADDE63588C8AD8 /* UITableView+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 187737A2D18B069C0A3A9A696F4FB7BC /* UIDevice+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DE4430B2E8326001C966F35A2BD3090 /* UIDevice+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1A5C0AD98AB623200E4C042D4EBEC12B /* TOCropViewControllerLocalizable.strings in Sources */ = {isa = PBXBuildFile; fileRef = F6E2E2A34F3CD514DC72B581FD8BF37F /* TOCropViewControllerLocalizable.strings */; }; + 1B92107FFBB64E9AE5B1FF0565D5B995 /* NSKeyedUnarchiver+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = FC73FFFD8B1F74022DE9E404F650264E /* NSKeyedUnarchiver+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1B9CD9B6D735874DB6B698EBA615EA6B /* UIImage+Compare.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C21DFC83416C5A7A77DC6F9E4B4A431 /* UIImage+Compare.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1D11FE1034FDBC0749047A703F667007 /* UIImage+library.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DBF2D8CB03DCA42A55A2233C0161FCC /* UIImage+library.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1FA86B887246B1A96BC39BF77CAF7C0D /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 584FFF1B32AF8EEFBF63E8292EDB7BBA /* UIKit.framework */; }; + 1FD8CCC3B105795985800DD8DEE90283 /* TOCropViewControllerLocalizable.strings in Sources */ = {isa = PBXBuildFile; fileRef = 8E41D47A66AD4CB990E1909A7D987A8D /* TOCropViewControllerLocalizable.strings */; }; + 2223FCD34F7E5601BA4AAFA98D759D2E /* TOActivityCroppedImageProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 03B17EC8A858BDE2B8EFCBCEF8F592D9 /* TOActivityCroppedImageProvider.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 22692AB0AA2073E557E3B63FF13E742C /* NSObject+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 98E3D618102BA7B228D9B9E7D3DFB547 /* NSObject+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 250BD284BDC3DCF64DDA776B88B3E117 /* UIImage+library.m in Sources */ = {isa = PBXBuildFile; fileRef = 009A65476109653F7D8C6770C76B1AC7 /* UIImage+library.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 27E52B617CD7AD1959BF889845F41877 /* UIFont+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = AE80EB410A3AA319BA954192D42B6483 /* UIFont+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 28467C9A7D56688956810ADF4AFC0E4F /* TOCropViewControllerTransitioning.m in Sources */ = {isa = PBXBuildFile; fileRef = 3748190F4149F9886B222D5D948369E3 /* TOCropViewControllerTransitioning.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2854C9B1086758BD2B6681206B6759B4 /* ViewController+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C07F72A617B71B4828B533A1D46EDEC /* ViewController+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2961C30712DBBC6299407304022E4722 /* WBGImageEditorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 251C9D5525714DEFB23FEE34FDA45A91 /* WBGImageEditorViewController.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2C8CF429A4E6C1F7F875A51B737C6C00 /* WBGMoreKeyboardCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CFB7B74A88A92B7C9A23D6C6526D52C /* WBGMoreKeyboardCell.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2E06CE583CF00D3050D8A1961E269CE2 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 531E0F6A69B46D1B80F58D43B2B8F8EA /* NSLayoutConstraint+MASDebugAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2E870DEE3BA0030C9403F3E2DCD6997E /* WBGMoreKeyboard.m in Sources */ = {isa = PBXBuildFile; fileRef = 472CBFDD91B1AE1425F1A8A9E8A10264 /* WBGMoreKeyboard.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2F485B69F51E4F723A38410F31F08550 /* FBSnapshotTestController.h in Headers */ = {isa = PBXBuildFile; fileRef = E19BF895D575C2A4066DD32627A0FB49 /* FBSnapshotTestController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 30CF08CC5C7FBB7B16DC2BCB4CD9109F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C668F3D2FE9B4B82778F0C8A9279D8D3 /* CoreGraphics.framework */; }; + 30E889E8B90A9D9FD41162DE2479CE42 /* WBGMoreKeyboard.h in Headers */ = {isa = PBXBuildFile; fileRef = 058E853E629BB2A225771C521D41F5E8 /* WBGMoreKeyboard.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 31E353F389CC04681D63D727C52C580D /* Pods-ZMJImageEditor_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 667AAC0DCB7A999B327F0AC4564C80E2 /* Pods-ZMJImageEditor_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3403AF781D77064AF434F7254FB74088 /* ColorfullButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 77580A257C1D802A94A6A94301FE22E8 /* ColorfullButton.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 35A273C264DCD5A3101BA4461F625FF6 /* UITableView+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = B1887A6F6A2CCA39B199C1B9545025C8 /* UITableView+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 37172DA8E5E3B4FD7364347EC0752C50 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF7F269E96B5A9E498D77CC9F66040EF /* Accelerate.framework */; }; + 387C9C60C80C23EE553B5773C1AE9C8C /* TOCropViewControllerLocalizable.strings in Sources */ = {isa = PBXBuildFile; fileRef = 21D8B8B16324700E620FB1A85E693713 /* TOCropViewControllerLocalizable.strings */; }; + 38E0CD63021889EE46E1A6B9FA0415F5 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 584FFF1B32AF8EEFBF63E8292EDB7BBA /* UIKit.framework */; }; + 3941D1D1F4DD47A2BFBE51BDFA03E413 /* WBGBaseKeyboard.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B67ACEE49F11D3FC4EBA5F2144DEEE3 /* WBGBaseKeyboard.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3CBA19161E2E7EEF300E6378F6ED8009 /* TOCropToolbar.h in Headers */ = {isa = PBXBuildFile; fileRef = D9AA527EB285D77383B0DB3C9295DD71 /* TOCropToolbar.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3E0B2277F69874529B73FBE117897AE4 /* UIColor+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 288FC93EDEBB440FE0CFF66F35065DFE /* UIColor+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3ED52943246DCC847D7F5C52FFC9C4CE /* WBGMoreKeyboardItem.h in Headers */ = {isa = PBXBuildFile; fileRef = A99B2D4B25D5FDE893FA349C21203C59 /* WBGMoreKeyboardItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3F06A9F63F0512E0DDC87E3A143BCE41 /* WBGKeyboardProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = C3F599BA00708B81D98DFD748B60D90F /* WBGKeyboardProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4099083B16D8042D29FB3E015351595A /* TOCropViewController-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 97AA177C914A037B85E32B9603955ABE /* TOCropViewController-Bridging-Header.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 40A53A172551896FF40F1F0C7D946963 /* NSArray+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = A4220DFB7EDCE2E2EDE419C8B53C8192 /* NSArray+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 421CDD701AEE0F2458A84200366CDD0F /* UIImage+Snapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = BCAA531CF8B4EC2593E059217425F681 /* UIImage+Snapshot.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 432FA22864D148EBD4CB22F55AB68004 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 291387DE3D86FABC569886F4EE5168A3 /* Foundation.framework */; }; + 4370395CF174041982C5C17F1049173B /* NSTimer+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = B19764049D59CC84B49FB2AF91C00CB5 /* NSTimer+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 43FB38E4319B481924E3A98621C90C06 /* TOCropView.m in Sources */ = {isa = PBXBuildFile; fileRef = 95A9EEDCD00B9A8A71E3886F2BACF77B /* TOCropView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 45472DAFDE192B1DCE68731DA30F32F1 /* NSObject+YYAddForARC.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D4415559846DB06E72CB5882FE85CA3 /* NSObject+YYAddForARC.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 457ACF9150DCF9AF445B129CC9678FB6 /* Masonry-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F1FD226E442C5CFC15C34591C1892AC0 /* Masonry-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4659B2125519FE5977DEDA6076CEBCC9 /* MASConstraintMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = 4567070FE825666727D8FF5DFBE559FE /* MASConstraintMaker.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4748B051821A81A5734E49FF62425562 /* TOCropView.h in Headers */ = {isa = PBXBuildFile; fileRef = CB72987223520345992D0EDEA44D9267 /* TOCropView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4855CA074D67AA3DA51B2E9450046AA8 /* TOCropViewControllerLocalizable.strings in Sources */ = {isa = PBXBuildFile; fileRef = 40C23029ABF2304B748D47EACFD79BBD /* TOCropViewControllerLocalizable.strings */; }; + 4A9137B2375B6B712F4FE1D9FDFCA3D3 /* NSObject+YYAddForKVO.h in Headers */ = {isa = PBXBuildFile; fileRef = BB046D3F531804642D32085EE857DDA7 /* NSObject+YYAddForKVO.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4B4CC22CB2B8EEF61842A6D545D6B0A3 /* TOCropViewControllerLocalizable.strings in Sources */ = {isa = PBXBuildFile; fileRef = 785ACF7D42DA59720F6001D0768AA77D /* TOCropViewControllerLocalizable.strings */; }; + 4B4D0E5B7626184E389C9F6F12F2A83F /* EditImage.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 79B84149D4D0F869EFA7D3B4ECC50F52 /* EditImage.xcassets */; }; + 4B98C9998726791655FCE42C5AD0379B /* TOCropViewControllerLocalizable.strings in Sources */ = {isa = PBXBuildFile; fileRef = 84C417853E9A2AC8E3FE915E50E234E1 /* TOCropViewControllerLocalizable.strings */; }; + 4BD523C3473B9F9D5C269BF503C667BB /* NSObject+YYAddForKVO.m in Sources */ = {isa = PBXBuildFile; fileRef = F4BBF9C194EC5B367E4A6A7BA31C094B /* NSObject+YYAddForKVO.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4D4F2050654580FE1F1D5F4F82CEDDB8 /* MASConstraint+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 13BD521D75E5E45FE5AC3D965DBE6753 /* MASConstraint+Private.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4FBDC7E130265E68F98D665DA6C65502 /* TOCropScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = AF98E3A0B44BD8EE988456A4D49ADD02 /* TOCropScrollView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 51687FD2D06EBB14D2BDC35795D838A0 /* UIImage+CropRotate.h in Headers */ = {isa = PBXBuildFile; fileRef = 0EF701F77222C785B41E95D14B16F54C /* UIImage+CropRotate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 56BBD301D6DDC46B5E36796EA1C12E3F /* UIControl+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 6904A21E7D1604EE09AA8236CCB379B0 /* UIControl+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 57A91AF1A36CF2950C9BE9EE3535B0DC /* ZMJImageEditor-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D6C8F726F3AF276D71FC4547E125696 /* ZMJImageEditor-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 59DB75AEF06C8ABB55DF817A732B2A99 /* WBGImageToolBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 4AFE2B93F9E121B6C705BC0F138F1384 /* WBGImageToolBase.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5A5C08F3A316687F241B1005C52B0E90 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 291387DE3D86FABC569886F4EE5168A3 /* Foundation.framework */; }; + 5BE558AA41DEEEA255828A80CD78187D /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 584FFF1B32AF8EEFBF63E8292EDB7BBA /* UIKit.framework */; }; + 5CE2E0C1C5EC4B0B3123CA5A26A32E79 /* TOCropOverlayView.h in Headers */ = {isa = PBXBuildFile; fileRef = F34DBF65DBD8403F18CD4892D552DBEC /* TOCropOverlayView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5CF950A3F1412DA876B708A54DF86F10 /* NSThread+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AE61E9D468E892C26B1D9E12326F69D /* NSThread+YYAdd.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5F65495211297994220A8D081EAEFE15 /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = F55D230A380F3A820348B82474D9C076 /* SwiftSupport.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 60635349E1797676CCA1165045198BD1 /* MASViewConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = E3F1FFD4DAE55C7F054FDD6D1F4DDDE8 /* MASViewConstraint.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 61100C0E6FB329EE38659B3E5A1B7090 /* UIApplication+StrictKeyWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 695F2383CA5629D3A1903D77AA739CA4 /* UIApplication+StrictKeyWindow.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 621F5A28FDF1AE8FBCC68D14D31505AC /* WBGImageEditorGestureManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C5CB61C1D878270C23EF182A16A161A /* WBGImageEditorGestureManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6270B4CBE865733B3B2AB8873675E31B /* YYCategories.h in Headers */ = {isa = PBXBuildFile; fileRef = E711EECBAEB6C4204FE2E532D42AA854 /* YYCategories.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 636BBA734C1A17A734761D674FAE8800 /* MASViewAttribute.h in Headers */ = {isa = PBXBuildFile; fileRef = 5828261F5E03608CDFC9439BD9DA1E8F /* MASViewAttribute.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 65C9BC1819F330D4BD33722F26DE631B /* TOCropViewControllerLocalizable.strings in Sources */ = {isa = PBXBuildFile; fileRef = 08D7733E18EFAE68E2825697D10BF492 /* TOCropViewControllerLocalizable.strings */; }; + 670EB0EDC617ABD20A3BA732F912E8C0 /* ZMJImageEditor-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DE0B63E20606C5DAD3DCE914F0A6325C /* ZMJImageEditor-dummy.m */; }; + 682D40E53A189AF5AB40658ACF885ED5 /* WBGMoreKeyboardItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DE9CF31170DEFB8A689E8F2361A470 /* WBGMoreKeyboardItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 686294615C627FA1CE16BC743375B22E /* TOCropToolbar.m in Sources */ = {isa = PBXBuildFile; fileRef = C0F37B663279B2A9638C0ECE6F80E668 /* TOCropToolbar.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6C33FEAF7483FB8FD42015EE8F4BEFAC /* CALayer+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = B0454055CF79434A220A9774CF19E75C /* CALayer+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6DC99D02C7138F4203369E435C3776FC /* Masonry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C28901966C0D8C233C7DC594387010B8 /* Masonry.framework */; }; + 6F5D7628285BCEB1632538FEDBDFC991 /* UIControl+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 99DA798B865D88ABB59B3FC18CEFE8E1 /* UIControl+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6FAB5298272C4B4E26438CF8C9F14BA4 /* UIImage+Snapshot.m in Sources */ = {isa = PBXBuildFile; fileRef = FEA1BA354BE38B0CB750E6AD2BE8EFDB /* UIImage+Snapshot.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 70D8ECAF68A99D523B70FE11778CC480 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6CE3AD5D5783AF921A55BC0284348EF2 /* QuartzCore.framework */; }; + 716475937A9612FB91D9E82059FFD6E6 /* MASConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BA73FF14EDBB6637B499C8DCCBA11F4 /* MASConstraint.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7180760AF6FCE116F1A2F7FA4E8C1131 /* UIScreen+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = E2D7A93B89FD7FDF73E97BFF58F09EE0 /* UIScreen+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7237EF1ED7EB63D34547CD2170635528 /* NSNumber+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = E62F505E8DD7DB12D1E7A01171F96C07 /* NSNumber+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 72A0F6025B87ED8B0B439BFEB58B0371 /* UIColor+TLChat.h in Headers */ = {isa = PBXBuildFile; fileRef = 778FB861E59E698892F40C965AD320E7 /* UIColor+TLChat.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7408D9BD00535B58DA91AF916EE58641 /* UIImage+Diff.m in Sources */ = {isa = PBXBuildFile; fileRef = 349969AB77C020B8480BE4C012724C16 /* UIImage+Diff.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 75D26E4601E48D0B2B7819AEDF02D4D3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 291387DE3D86FABC569886F4EE5168A3 /* Foundation.framework */; }; + 76F88286856F254F9D87E1FB7DEDB192 /* UIBezierPath+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = AB592A5097D05E9BC8CB05C3087363AE /* UIBezierPath+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 78760302595AC1AC5BC8374A7495D525 /* View+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = D068768D93A9AAB58EC72D3B6BDCA786 /* View+MASAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7A0AE732064D6912EBAF1FEA5372CCFB /* UIBarButtonItem+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 83BF98D8FEA72FEB0C5E916E574149DD /* UIBarButtonItem+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7AC0806BD3A808461BE626BDB26E8EE0 /* WBGImageToolBase.m in Sources */ = {isa = PBXBuildFile; fileRef = C0677B157F6AFA2BF7EDD595FB3D042D /* WBGImageToolBase.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7BC4C3FB0E1234F999DF1B808941631C /* UIColor+TLChat.m in Sources */ = {isa = PBXBuildFile; fileRef = AA80A7273CAB9D1AC51357892FBCD9C3 /* UIColor+TLChat.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7C17BEA6034027310D1D205DB2008CA5 /* MASLayoutConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = F28F285624DDEC412437FB47880E6F2B /* MASLayoutConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7CABE51B8E2347FE7C45FE698D0477CE /* TOCropViewControllerLocalizable.strings in Sources */ = {isa = PBXBuildFile; fileRef = 8A90A90031A8AAD9360D474E8EAAFB4A /* TOCropViewControllerLocalizable.strings */; }; + 7D6169BD2D34A6B7DB7D4852BDE64172 /* WBGImageEditorGestureManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 53B7229C117288B523C6C5DB9C8F9115 /* WBGImageEditorGestureManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7E9B14D5F8842A86CA86F2AF45230725 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1826AE8F4E141065380C77DF657F8932 /* XCTest.framework */; }; + 7F03673E8013A64329C29F63658C8C0C /* UIScrollView+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = A7BA2E8AA1B52F6E9DC8D6415E4C3BFC /* UIScrollView+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7F97C4BCF71877056A7829143E78F33B /* FBSnapshotTestCasePlatform.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AD61CAE932A2090BDDA6670DBDF0DA7 /* FBSnapshotTestCasePlatform.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8118EF74ECED7C0F719D8061EAE8337C /* WBGMoreKeyboard+CollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1EF4D12F246F7F288A87F8DBDFAD2405 /* WBGMoreKeyboard+CollectionView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 816AA6C651AE9E9E3CEF5B3ED45C9C11 /* Masonry-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 51EE13235ABAAA8B670478509BE9EA47 /* Masonry-dummy.m */; }; + 841FF232C33C7D49C58CEFDBE7EEB92B /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 584FFF1B32AF8EEFBF63E8292EDB7BBA /* UIKit.framework */; }; + 86BE2A79B177B0DEE300C8222D1CF591 /* TOActivityCroppedImageProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = DC8274E2CD6514B4D0B16F46AC656014 /* TOActivityCroppedImageProvider.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 88DE7BAB1F4999A5F4B617F44E5FD1D3 /* MASConstraintMaker.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AD634905A0090E461440085CF302868 /* MASConstraintMaker.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 89016F2768317A9C061990A8F63C7DAC /* TOCropViewControllerLocalizable.strings in Sources */ = {isa = PBXBuildFile; fileRef = 83884BE41B035F732968D0192687AA29 /* TOCropViewControllerLocalizable.strings */; }; + 8AB0F2D736DA39C686232520146AD6EA /* WBGMoreKeyboardCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 7602B1656CBF1F2CE8DC53497B1C0AC6 /* WBGMoreKeyboardCell.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8C49535786C1C4ED144D2CB854129DC0 /* TOCropOverlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = A8AF4FEBDDE8BA6B3E543EE6CBE5D83F /* TOCropOverlayView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8CD45B754192DE834B642975E85257AB /* MASCompositeConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = C5AA539E1A12AD904E3C9C5085598D0D /* MASCompositeConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8D5E9EB934168A681900DEDCFAE4ACD5 /* NSNotificationCenter+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6B2DA687FFB6316ED0D485B9B9F118 /* NSNotificationCenter+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8EC154DBDC3E19254D3A4F562F9DCE9F /* NSBundle+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 97A61E9271A3A9B148449F45FBCB3AE3 /* NSBundle+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 90563C5CEC9A5E3C931A25520FFFCB94 /* UIImage+CropRotate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1107115ECFBEFB24D12F9C77BA1AF5D0 /* UIImage+CropRotate.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9132734E8F355E6651D5A4A2BE26E7E7 /* WBGTextTool.m in Sources */ = {isa = PBXBuildFile; fileRef = 48343299174E614B9E81F4809FE81C36 /* WBGTextTool.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 91D0138ACFAD733E4061F12E450C336C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 291387DE3D86FABC569886F4EE5168A3 /* Foundation.framework */; }; + 9673CF780F48C8E4EC2A331717B1F67C /* FBSnapshotTestCase.h in Headers */ = {isa = PBXBuildFile; fileRef = DAE00C0F89148D59056485BF40DBC371 /* FBSnapshotTestCase.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9790BFB4EB481EA23517B5A4EC54A9DC /* WBGImageEditorViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 956EA9D3EE5C84A3AE5545D6D101FFFC /* WBGImageEditorViewController.xib */; }; + 9A0F2F88FE1503AB25E25011C518B03F /* UIView+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 044B3013D945A6E50919D217388316A3 /* UIView+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9AC948B0AA78BA9D5B1DF084DD4C0608 /* TOCropViewControllerTransitioning.h in Headers */ = {isa = PBXBuildFile; fileRef = C10E630CA6AB5F884DB90D78F8D7E0DB /* TOCropViewControllerTransitioning.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9C68C0A168D22073B8FE8C0049DF9F12 /* NSDate+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = F23EF7AE55FF66EA097384600BF2859A /* NSDate+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9E8AE8216E65BC0A04228FC4EB1DB2D7 /* YYCGUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 56F0E2593A9DAB16CCC87D02570598D5 /* YYCGUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F1D91BB44947684D3BB45335E26DC3C /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 23E73A1ADB2A5E760AE3A9321285D8D2 /* CoreText.framework */; }; + A13DDCEB2879FC3C96B0454DCEE1AE27 /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 58B7FDFB7A82F2DD9E4068556477850C /* ImageIO.framework */; }; + A1A0FD734430CB79A66B5D5BA3399D53 /* TOCropViewControllerLocalizable.strings in Sources */ = {isa = PBXBuildFile; fileRef = 23BAA4155AC910B792A64241A611AC10 /* TOCropViewControllerLocalizable.strings */; }; + A331CAFC6468A9E23D34A3ADB887176C /* NSKeyedUnarchiver+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 597068BF93F28A63DDD842782A2EF1F4 /* NSKeyedUnarchiver+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A45ABD3AE666386996D2CDBA89524DBF /* TOCropViewControllerLocalizable.strings in Sources */ = {isa = PBXBuildFile; fileRef = CA518139E5184512FEBC043CAC64B26E /* TOCropViewControllerLocalizable.strings */; }; + A4F40AF0A964963A8C3E153080BCA9AF /* NSObject+YYAddForARC.h in Headers */ = {isa = PBXBuildFile; fileRef = 032CCD218D78C06C54D188F99242B4B0 /* NSObject+YYAddForARC.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A79A783CA09CA27E3B9709B97BE9B67D /* UIImage+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 037C4297C14F4133430F2DB1C97BA25D /* UIImage+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AB8CE4E66263B5E14BD032EBD9AA067C /* WBGImageEditorViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A2BCBD499071469DBB0883E42602F8 /* WBGImageEditorViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AD226248CDFF54DB887CF67D6415993B /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B87DCA1F7FA702A92E4051C5C65AB7DB /* MapKit.framework */; }; + AD7811298CF1D5E6D03A8EE49ECB5E31 /* UIImage+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = F3E09A686FD07C11C6A3FAA79BA8AF53 /* UIImage+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AF5DACC6C5BA9FC49EC3682409CBFF7E /* NSData+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = AD976A3EE413457AE0392EE909458DE7 /* NSData+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B09CA66D3BB166CECCAD850932DB149F /* NSBundle+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 3532D2F00411E9A7FF08B96C2C0C8BA5 /* NSBundle+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B21C5FBA14614AACE6B0D4CB7079661A /* Pods-ZMJImageEditor_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D7E41DC14666481C8F2D8A5447838763 /* Pods-ZMJImageEditor_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B27DFD6025D94758785918F1D6F6C060 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6CE3AD5D5783AF921A55BC0284348EF2 /* QuartzCore.framework */; }; + B44383A3FA435C1E986942C817339302 /* View+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = E26AF1D5BB025331030942C138277790 /* View+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B63E54CCA06B259ED3F4D6A74B939B18 /* TOCropViewControllerLocalizable.strings in Sources */ = {isa = PBXBuildFile; fileRef = 432325F43EFF648D5F4CB1CDCCCCAD47 /* TOCropViewControllerLocalizable.strings */; }; + B689DE2BB9D661E4B6B28D504704A668 /* UIColor+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AD27CC97298040EAB23DA23A6D16EC9 /* UIColor+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B6A8E974372D5B2771100E1325E09683 /* NSTimer+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 408D57379953C990D1D4DB332E57223A /* NSTimer+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B758FB09FE2C06C1B8E36A71A9D76D41 /* FBSnapshotTestCase-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 92FF5C709BAF5873F5FBCFEEAC7B3894 /* FBSnapshotTestCase-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B8F2E7F8EC7E1E0359C8F7DBCDB3EC91 /* TOCropViewControllerLocalizable.strings in Sources */ = {isa = PBXBuildFile; fileRef = 5A2F4395A956FF0DE366189A16B3BCC4 /* TOCropViewControllerLocalizable.strings */; }; + BC952FC04FC963C1294DCD619C9B6B3B /* UIApplication+StrictKeyWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 93744308B1F0C1743C0665054003A210 /* UIApplication+StrictKeyWindow.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BDA49498D4FA5F723E9C7ECE14628E55 /* WBGDrawTool.m in Sources */ = {isa = PBXBuildFile; fileRef = 92BA5729C3E2D2D850C5F10A6E5A514B /* WBGDrawTool.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BE696E03EF0A24976648C02CCFDC9009 /* TOCroppedImageAttributes.m in Sources */ = {isa = PBXBuildFile; fileRef = 55BBB4904874401EE18DB9EB264A233D /* TOCroppedImageAttributes.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BFCE460CC33E8872B7156D4166340178 /* FBSnapshotTestCasePlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = F16DBC30D4F7C4AF8150BE334FF09071 /* FBSnapshotTestCasePlatform.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C0453499BD14CCF0EA35EEC1595A9BDF /* NSDictionary+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 000F56CDA208E26ECADC5DBAF4898738 /* NSDictionary+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C0A16E00B4BC2D88A7833D5DAED62942 /* NSArray+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 1700E22D100D90D5715F833515B356C3 /* NSArray+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C1F18227E0134BECA902FA724CA5DCE3 /* ColorfullButton.m in Sources */ = {isa = PBXBuildFile; fileRef = F465B2658F83F58E635A4EA1334B7B5B /* ColorfullButton.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C2227F21ADEA4B2E162E9DF448F38A33 /* TOCropViewControllerLocalizable.strings in Sources */ = {isa = PBXBuildFile; fileRef = 9BCA265A0270536F587F1BC7D9D818D1 /* TOCropViewControllerLocalizable.strings */; }; + C2910FB3919C3AB7F9167D28399845A7 /* TOCropViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B8027AE2DA7C78EE8035D198044BDC26 /* TOCropViewController.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C2BD4A32A7B02051796C5FD7830DF61E /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 77F81F5D0DFF7F601D8C87BB79546DEE /* CoreFoundation.framework */; }; + C3C5080AD8CAD907056CB39B8C1F759C /* WBGMoreKeyboardDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = C026E97164E25184173EC23037D8CD43 /* WBGMoreKeyboardDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C8DF22EAFFC2F81B0426E2165AC93E44 /* MASConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 19143FD0AAF084A1A7DCA23A13643C18 /* MASConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CAFA5E486BCE117A7D8C0FBF9DA6666B /* UIImage+Compare.h in Headers */ = {isa = PBXBuildFile; fileRef = 53CB7DDDAEAFED88B313828C7EE49974 /* UIImage+Compare.h */; settings = {ATTRIBUTES = (Private, ); }; }; + CC4245A0C06C43E348F691A3ED804FB6 /* NSString+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = D057E555E8208468AB1D346327D84D93 /* NSString+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CC8F9B4A1AC4E276EA8AA4C6F2BF3CD4 /* Masonry.h in Headers */ = {isa = PBXBuildFile; fileRef = E7DC9301E143F2E354C088B811529EC7 /* Masonry.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CCBCE3E843EEBEF5D3EDCC15F77A8C7E /* TOCroppedImageAttributes.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A9549114E9401D70B1D480DC75D15BA /* TOCroppedImageAttributes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CCCBEDCBD703D31FE7B4C2E317B1A6A2 /* TOCropViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F5C2209E75F256A38681F74C401141D /* TOCropViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CD89591CCD13051183D73E23A04C4E8D /* UIApplication+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 803226CA2E0B15C55891086B2C2CE975 /* UIApplication+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CDF88922E23519D958E98A87D886737C /* NSNumber+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = E4BBDE8C3ED8BF990D0FEF1F2390E583 /* NSNumber+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D097F3914F8E2EA14FB7C88FA3099F26 /* FBSnapshotTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 521F728378F54A06CE0AA08299662B74 /* FBSnapshotTestCase.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D19872333B5B6FC6E570B385969B03D2 /* TOCropViewControllerLocalizable.strings in Sources */ = {isa = PBXBuildFile; fileRef = 774B6534926D32CEB26271301E61845B /* TOCropViewControllerLocalizable.strings */; }; + D60631FC114CB93B29C64146E68AC530 /* WBGTextToolView.h in Headers */ = {isa = PBXBuildFile; fileRef = 4426CA98EDC98EB159E60828591B40E2 /* WBGTextToolView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D6B6086E837B13F445CBD12AE55E9C50 /* UIApplication+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 05612ED5BAD24B79EE5AB41FAD82D477 /* UIApplication+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D7C71BC65D01946AEE2464DACD21F085 /* UIBezierPath+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 93FEC4AB017C2B759A1500D5C8D85CC1 /* UIBezierPath+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D89B0808DD8643E7DB505E1DF5EAA3B0 /* TOCropViewControllerLocalizable.strings in Sources */ = {isa = PBXBuildFile; fileRef = B3800F867A2D7D8288D3F30F5822CCA0 /* TOCropViewControllerLocalizable.strings */; }; + D8B1525CB3DFCBD8E5032680530413D9 /* NSArray+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = D394460E766F3E2A4253A8ADE71F5710 /* NSArray+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA02D49AAA40A4BEE20B69E85DF4C912 /* NSDate+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 4AC00E9537FEE4070BDF8531D02743A4 /* NSDate+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA13D6EA246CC0AA93928DFAC8ADBFC4 /* UIGestureRecognizer+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AA3BAC2F5AF482B2D634148BEE0695C /* UIGestureRecognizer+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DDBE28A0FFACEED542CD8CB5067F44F0 /* NSString+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 707C73A0FF06AA6C8201DA821FE4DCBD /* NSString+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E2BA03A31A489B4530AAFAEE7F9CC43F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 291387DE3D86FABC569886F4EE5168A3 /* Foundation.framework */; }; + E3F7C98CDFA11FDC268DA34B3A3EEE27 /* YYCategories-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = EB9D054BCDA605128D2894A9E446CD55 /* YYCategories-dummy.m */; }; + E48BA1C128AE8173F3122355358F409F /* YYCategories.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1C45E2DB46E4F4376EB847B6C7991AA8 /* YYCategories.framework */; }; + E8BCB00EB02CB959CB2A5632396E8287 /* NSDictionary+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EFADC89A23BD89785D9C04303DE72FA /* NSDictionary+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E9A33425B14E879746FD1F6F4C39EDA1 /* NSData+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 542897BEBC2F476CA3C546C868F4565F /* NSData+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E9C404EA9549983F54C9117E34777D6B /* UIBarButtonItem+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = B7982C1496AC7F1809081197BFAA2757 /* UIBarButtonItem+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E9D5EF482949E65F0E84B0810721CFBF /* FBSnapshotTestController.m in Sources */ = {isa = PBXBuildFile; fileRef = A8C3EECB3FBE5938139F76A9E5382DC9 /* FBSnapshotTestController.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EA888CABD6B2305C25A210B94AC52B45 /* MASCompositeConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EDA96F82813C5E7AAC80728354903CE /* MASCompositeConstraint.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EBFADCBE2D0FFADC074AD02C67EAE207 /* UIScreen+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = A7B41DD767377631788CEA4210156A8E /* UIScreen+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EC1E9A66D3FB27337CB68784F3705467 /* UIGestureRecognizer+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 893756AFB8F3346110B466290F64E5D2 /* UIGestureRecognizer+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + ECB4ACC8213D6D037FDC4AD74133F00B /* UITextField+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 19A273E277C0BA4409AAC6472E1ADFC8 /* UITextField+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + ED452B68FE3A201F80FB2C45283A87EA /* NSObject+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 725D62D6CC619BA76E7B94DCBDA5572D /* NSObject+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EDC4DB0F79B9F10F8BD8FF343EFB103E /* Pods-ZMJImageEditor_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CE96EAEFEC66284B35616339E3985359 /* Pods-ZMJImageEditor_Tests-dummy.m */; }; + F05DF38ED965B40976C743F90E269E57 /* WBGTextTool.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F3D4A65A6715450DE15A42D821892E0 /* WBGTextTool.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F2A7E90D4D0CCFCB77259EA2A09568DC /* Pods-ZMJImageEditor_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D1329023B7355D30E7834AC46F190AB3 /* Pods-ZMJImageEditor_Example-dummy.m */; }; + F2C18CF570892C6E866C8FE5F95FBA86 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 291387DE3D86FABC569886F4EE5168A3 /* Foundation.framework */; }; + F33986F4969B4F178AF9EB568FE8B1AA /* FBSnapshotTestCase-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AED6821773B8C28A065F99528E0044DF /* FBSnapshotTestCase-dummy.m */; }; + F3AAF979FB520FB55D8BC22298FB3774 /* TOCropScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BE48DD809956365A0311A9C7B63A758 /* TOCropScrollView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F51600EA2074955D00656DF6 /* WBGMosicaViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F51600E82074955D00656DF6 /* WBGMosicaViewController.h */; }; + F51600EB2074955D00656DF6 /* WBGMosicaViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F51600E82074955D00656DF6 /* WBGMosicaViewController.h */; }; + F51600EC2074955D00656DF6 /* WBGMosicaViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F51600E92074955D00656DF6 /* WBGMosicaViewController.m */; }; + F51600ED2074955D00656DF6 /* WBGMosicaViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F51600E92074955D00656DF6 /* WBGMosicaViewController.m */; }; + F7EEF93BF045A409C784256E16292B58 /* WBGBaseKeyboard.h in Headers */ = {isa = PBXBuildFile; fileRef = DC925F77A9191A75A7E228DD5B4530D1 /* WBGBaseKeyboard.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F99F266E6438E33DA9ACEE7A3FC2BF39 /* WBGKeyboardDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 01D58AE2EDF19E304F41CB90D07A083F /* WBGKeyboardDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FA152FFEF2D7F6BEE845AB8FF75CC534 /* WBGMoreKeyboard+CollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = F624293C1C4F12DC8176653E123AC143 /* WBGMoreKeyboard+CollectionView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FA2B254B65A921187FACDE9D5CCD1E11 /* CoreImage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BB9564C865DCB3AFA23EB8D3665ACE35 /* CoreImage.framework */; }; + FA51E4984856B7BCAD1358F4A4815EE4 /* UIView+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 74C8CE2A899FDAA0D3AA934196DAB51E /* UIView+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FBFC7B99173C83F04163C3882EB59809 /* NSThread+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 86500CF789114F52B8BAA68F5605411E /* NSThread+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FC69D469BE65890F4D6B8C09D7F626CE /* WBGTextToolView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D915599BC5C6EC2153E000C2ECD4782 /* WBGTextToolView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FC6E989A6FD2436C61739522765B827E /* WBGChatMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = E7CB1934C7B2079B54E4234B9DED4DDE /* WBGChatMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FD0574087B825F02372E8D86A5D08909 /* CALayer+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = E1633CD66CE003869D3D1AE0F5914F07 /* CALayer+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FDD65CADA9015E07352A594A557209AE /* NSArray+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 02A49D9E19F3D12CF6F8E56A07842266 /* NSArray+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 28D1D41F0D2120055F48846D6F5CD53A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = D52144DE9D7255DE912490FF5A806573; + remoteInfo = Masonry; + }; + 5A1579D5A0D5EE88595680BD30BEB7AA /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 34CD2E3428AB802BACA62286FF5074B1; + remoteInfo = FBSnapshotTestCase; + }; + AA1B51AD68DB63D3202A00838987D860 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 87D7F0C150CA7457900250EC5FB56470; + remoteInfo = YYCategories; + }; + CD2442C600856B08B85289D4E7DC0A66 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 87D7F0C150CA7457900250EC5FB56470; + remoteInfo = YYCategories; + }; + E033CF997A8955A17CAE9BB7D88C738C /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = D52144DE9D7255DE912490FF5A806573; + remoteInfo = Masonry; + }; + ED7137D8CD4CA2D35FD74DED3AEEC736 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = DF3CAC8BF9A4BFD67F2331059AB809C4; + remoteInfo = ZMJImageEditor; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 000F56CDA208E26ECADC5DBAF4898738 /* NSDictionary+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+YYAdd.h"; path = "YYCategories/Foundation/NSDictionary+YYAdd.h"; sourceTree = ""; }; + 009A65476109653F7D8C6770C76B1AC7 /* UIImage+library.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIImage+library.m"; sourceTree = ""; }; + 01D58AE2EDF19E304F41CB90D07A083F /* WBGKeyboardDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WBGKeyboardDelegate.h; path = ZMJImageEditor/Classes/WBGKeyboardDelegate.h; sourceTree = ""; }; + 02A49D9E19F3D12CF6F8E56A07842266 /* NSArray+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+YYAdd.m"; path = "YYCategories/Foundation/NSArray+YYAdd.m"; sourceTree = ""; }; + 032CCD218D78C06C54D188F99242B4B0 /* NSObject+YYAddForARC.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+YYAddForARC.h"; path = "YYCategories/Foundation/NSObject+YYAddForARC.h"; sourceTree = ""; }; + 037C4297C14F4133430F2DB1C97BA25D /* UIImage+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+YYAdd.m"; path = "YYCategories/UIKit/UIImage+YYAdd.m"; sourceTree = ""; }; + 03B17EC8A858BDE2B8EFCBCEF8F592D9 /* TOActivityCroppedImageProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TOActivityCroppedImageProvider.h; sourceTree = ""; }; + 04335F2EFED04B65DE677919ED6F355F /* YYCategories.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = YYCategories.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 044B3013D945A6E50919D217388316A3 /* UIView+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+YYAdd.h"; path = "YYCategories/UIKit/UIView+YYAdd.h"; sourceTree = ""; }; + 054DD3130C0711392F9234F2426E5781 /* Pods-ZMJImageEditor_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ZMJImageEditor_Tests-resources.sh"; sourceTree = ""; }; + 05612ED5BAD24B79EE5AB41FAD82D477 /* UIApplication+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIApplication+YYAdd.h"; path = "YYCategories/UIKit/UIApplication+YYAdd.h"; sourceTree = ""; }; + 058E853E629BB2A225771C521D41F5E8 /* WBGMoreKeyboard.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WBGMoreKeyboard.h; path = ZMJImageEditor/Classes/WBGMoreKeyboard.h; sourceTree = ""; }; + 0757CB0B206E308300CD8D2C /* XPixelItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPixelItem.h; sourceTree = ""; }; + 0757CB0C206E308300CD8D2C /* XPixelItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPixelItem.m; sourceTree = ""; }; + 0757CB0D206E308300CD8D2C /* XRGBTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XRGBTool.h; sourceTree = ""; }; + 0757CB0E206E308300CD8D2C /* XRGBTool.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XRGBTool.m; sourceTree = ""; }; + 0757CB0F206E308300CD8D2C /* XScratchView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XScratchView.h; sourceTree = ""; }; + 0757CB10206E308300CD8D2C /* XScratchView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XScratchView.m; sourceTree = ""; }; + 08D7733E18EFAE68E2825697D10BF492 /* TOCropViewControllerLocalizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = TOCropViewControllerLocalizable.strings; path = "zh-Hant.lproj/TOCropViewControllerLocalizable.strings"; sourceTree = ""; }; + 0B52149B987D9698FCD3F7F29DF85E03 /* YYCGUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYCGUtilities.m; path = YYCategories/Quartz/YYCGUtilities.m; sourceTree = ""; }; + 0C21DFC83416C5A7A77DC6F9E4B4A431 /* UIImage+Compare.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Compare.m"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.m"; sourceTree = ""; }; + 0C5ADCE27051C0BDBDB5C06E6F390F3A /* NSArray+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+MASAdditions.m"; path = "Masonry/NSArray+MASAdditions.m"; sourceTree = ""; }; + 0D4415559846DB06E72CB5882FE85CA3 /* NSObject+YYAddForARC.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+YYAddForARC.m"; path = "YYCategories/Foundation/NSObject+YYAddForARC.m"; sourceTree = ""; }; + 0D915599BC5C6EC2153E000C2ECD4782 /* WBGTextToolView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = WBGTextToolView.m; path = ZMJImageEditor/Classes/WBGTextToolView.m; sourceTree = ""; }; + 0EF701F77222C785B41E95D14B16F54C /* UIImage+CropRotate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIImage+CropRotate.h"; sourceTree = ""; }; + 0F028ABCA216BBF367C16FB1610E4B35 /* YYCategories-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YYCategories-prefix.pch"; sourceTree = ""; }; + 1107115ECFBEFB24D12F9C77BA1AF5D0 /* UIImage+CropRotate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIImage+CropRotate.m"; sourceTree = ""; }; + 11AB33774D672FF723BAFC3EFCBE6204 /* NSLayoutConstraint+MASDebugAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSLayoutConstraint+MASDebugAdditions.h"; path = "Masonry/NSLayoutConstraint+MASDebugAdditions.h"; sourceTree = ""; }; + 13BD521D75E5E45FE5AC3D965DBE6753 /* MASConstraint+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MASConstraint+Private.h"; path = "Masonry/MASConstraint+Private.h"; sourceTree = ""; }; + 14235E1B39208D3B29F87659AD1D2AA0 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 155ACC000F4DD9610B044D2C04D51153 /* UIImage+Diff.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Diff.h"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.h"; sourceTree = ""; }; + 1700E22D100D90D5715F833515B356C3 /* NSArray+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+MASAdditions.h"; path = "Masonry/NSArray+MASAdditions.h"; sourceTree = ""; }; + 1826AE8F4E141065380C77DF657F8932 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 19143FD0AAF084A1A7DCA23A13643C18 /* MASConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASConstraint.h; path = Masonry/MASConstraint.h; sourceTree = ""; }; + 19A273E277C0BA4409AAC6472E1ADFC8 /* UITextField+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UITextField+YYAdd.m"; path = "YYCategories/UIKit/UITextField+YYAdd.m"; sourceTree = ""; }; + 1AE61E9D468E892C26B1D9E12326F69D /* NSThread+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSThread+YYAdd.m"; path = "YYCategories/Foundation/NSThread+YYAdd.m"; sourceTree = ""; }; + 1B53291484F71F76438AE81F10296C33 /* ZMJImageEditor.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; path = ZMJImageEditor.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 1C45E2DB46E4F4376EB847B6C7991AA8 /* YYCategories.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = YYCategories.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1DBF2D8CB03DCA42A55A2233C0161FCC /* UIImage+library.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIImage+library.h"; sourceTree = ""; }; + 1EF4D12F246F7F288A87F8DBDFAD2405 /* WBGMoreKeyboard+CollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "WBGMoreKeyboard+CollectionView.m"; path = "ZMJImageEditor/Classes/WBGMoreKeyboard+CollectionView.m"; sourceTree = ""; }; + 21D8B8B16324700E620FB1A85E693713 /* TOCropViewControllerLocalizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = TOCropViewControllerLocalizable.strings; path = pl.lproj/TOCropViewControllerLocalizable.strings; sourceTree = ""; }; + 23BAA4155AC910B792A64241A611AC10 /* TOCropViewControllerLocalizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = TOCropViewControllerLocalizable.strings; path = es.lproj/TOCropViewControllerLocalizable.strings; sourceTree = ""; }; + 23E73A1ADB2A5E760AE3A9321285D8D2 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/CoreText.framework; sourceTree = DEVELOPER_DIR; }; + 251C9D5525714DEFB23FEE34FDA45A91 /* WBGImageEditorViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = WBGImageEditorViewController.m; path = ZMJImageEditor/Classes/WBGImageEditorViewController.m; sourceTree = ""; }; + 288FC93EDEBB440FE0CFF66F35065DFE /* UIColor+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIColor+YYAdd.h"; path = "YYCategories/UIKit/UIColor+YYAdd.h"; sourceTree = ""; }; + 291387DE3D86FABC569886F4EE5168A3 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 29E2501C15009A6BCDF5FBCFCA65CFA4 /* YYCategoriesMacro.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYCategoriesMacro.h; path = YYCategories/YYCategoriesMacro.h; sourceTree = ""; }; + 2AD634905A0090E461440085CF302868 /* MASConstraintMaker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASConstraintMaker.h; path = Masonry/MASConstraintMaker.h; sourceTree = ""; }; + 2F980A703008F80D464E9CCEE5F2177F /* Pods_ZMJImageEditor_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ZMJImageEditor_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 325F279CD2A83FF3EB20EB167771029A /* Pods-ZMJImageEditor_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ZMJImageEditor_Tests.modulemap"; sourceTree = ""; }; + 3324402E88C55B23C53B1C0A6682C88E /* Masonry-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Masonry-prefix.pch"; sourceTree = ""; }; + 3333D69FA254A9BC9D26ECF0E5B91363 /* View+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "View+MASAdditions.h"; path = "Masonry/View+MASAdditions.h"; sourceTree = ""; }; + 338D22830EC01A8BF72FBFB3ACC7346F /* MASUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASUtilities.h; path = Masonry/MASUtilities.h; sourceTree = ""; }; + 349969AB77C020B8480BE4C012724C16 /* UIImage+Diff.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Diff.m"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.m"; sourceTree = ""; }; + 3532D2F00411E9A7FF08B96C2C0C8BA5 /* NSBundle+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSBundle+YYAdd.h"; path = "YYCategories/Foundation/NSBundle+YYAdd.h"; sourceTree = ""; }; + 3748190F4149F9886B222D5D948369E3 /* TOCropViewControllerTransitioning.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TOCropViewControllerTransitioning.m; sourceTree = ""; }; + 381DC890FE5CD48FF70A0D556A488926 /* ZMJImageEditor-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ZMJImageEditor-prefix.pch"; sourceTree = ""; }; + 38E1B8E543C506AA861BEC7CD9E75122 /* Pods-ZMJImageEditor_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ZMJImageEditor_Tests-acknowledgements.markdown"; sourceTree = ""; }; + 3A6256F5AE11595218ED0DDB68C04CC9 /* ZMJImageEditor.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ZMJImageEditor.modulemap; sourceTree = ""; }; + 3AD75A93EAA754FB640E90703CBA5041 /* Pods-ZMJImageEditor_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ZMJImageEditor_Example.release.xcconfig"; sourceTree = ""; }; + 3B8A3D5E933027D9AA78B1BC386FA1A1 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 3C78A3C38A7BBA8A56037817D1E12603 /* TOCropViewControllerLocalizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = TOCropViewControllerLocalizable.strings; path = da.lproj/TOCropViewControllerLocalizable.strings; sourceTree = ""; }; + 3D0DDB3CD0F9CDF4C715ADB193B84AD3 /* Pods-ZMJImageEditor_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ZMJImageEditor_Tests-acknowledgements.plist"; sourceTree = ""; }; + 3D22F9D967CAD79AD3DFE34452812DD4 /* YYCategories.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = YYCategories.xcconfig; sourceTree = ""; }; + 3D6B2DA687FFB6316ED0D485B9B9F118 /* NSNotificationCenter+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+YYAdd.h"; path = "YYCategories/Foundation/NSNotificationCenter+YYAdd.h"; sourceTree = ""; }; + 3DE4430B2E8326001C966F35A2BD3090 /* UIDevice+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIDevice+YYAdd.m"; path = "YYCategories/UIKit/UIDevice+YYAdd.m"; sourceTree = ""; }; + 3F5C2209E75F256A38681F74C401141D /* TOCropViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TOCropViewController.h; sourceTree = ""; }; + 3F9A0F837A37A4D7B16B89E1DB209A8A /* ZMJImageEditor.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ZMJImageEditor.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 408D57379953C990D1D4DB332E57223A /* NSTimer+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSTimer+YYAdd.h"; path = "YYCategories/Foundation/NSTimer+YYAdd.h"; sourceTree = ""; }; + 40A08FBFF7B69B5FE6C6D0F271387C93 /* ZMJImageEditor.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ZMJImageEditor.xcconfig; sourceTree = ""; }; + 40C23029ABF2304B748D47EACFD79BBD /* TOCropViewControllerLocalizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = TOCropViewControllerLocalizable.strings; path = ja.lproj/TOCropViewControllerLocalizable.strings; sourceTree = ""; }; + 4118C5BCD44582D5372D368BCE765F41 /* Pods-ZMJImageEditor_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ZMJImageEditor_Example-acknowledgements.plist"; sourceTree = ""; }; + 42A229085A75DEA776ACED3EB791CD44 /* WBGDrawTool.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WBGDrawTool.h; path = ZMJImageEditor/Classes/WBGDrawTool.h; sourceTree = ""; }; + 432325F43EFF648D5F4CB1CDCCCCAD47 /* TOCropViewControllerLocalizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = TOCropViewControllerLocalizable.strings; path = de.lproj/TOCropViewControllerLocalizable.strings; sourceTree = ""; }; + 4426CA98EDC98EB159E60828591B40E2 /* WBGTextToolView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WBGTextToolView.h; path = ZMJImageEditor/Classes/WBGTextToolView.h; sourceTree = ""; }; + 454A057ECB301B795819AF9D14240D3D /* UIScrollView+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+YYAdd.h"; path = "YYCategories/UIKit/UIScrollView+YYAdd.h"; sourceTree = ""; }; + 4565CACF8D056C96D5482E87BACCBCCE /* FBSnapshotTestCase-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSnapshotTestCase-prefix.pch"; sourceTree = ""; }; + 4567070FE825666727D8FF5DFBE559FE /* MASConstraintMaker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASConstraintMaker.m; path = Masonry/MASConstraintMaker.m; sourceTree = ""; }; + 46515CF7E7E1AC4A1D40C1BB383795D0 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 47051BE9E78710C36774A60BE8534A78 /* FBSnapshotTestCase.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FBSnapshotTestCase.modulemap; sourceTree = ""; }; + 472CBFDD91B1AE1425F1A8A9E8A10264 /* WBGMoreKeyboard.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = WBGMoreKeyboard.m; path = ZMJImageEditor/Classes/WBGMoreKeyboard.m; sourceTree = ""; }; + 48343299174E614B9E81F4809FE81C36 /* WBGTextTool.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = WBGTextTool.m; path = ZMJImageEditor/Classes/WBGTextTool.m; sourceTree = ""; }; + 4A9549114E9401D70B1D480DC75D15BA /* TOCroppedImageAttributes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TOCroppedImageAttributes.h; sourceTree = ""; }; + 4AC00E9537FEE4070BDF8531D02743A4 /* NSDate+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDate+YYAdd.h"; path = "YYCategories/Foundation/NSDate+YYAdd.h"; sourceTree = ""; }; + 4AFE2B93F9E121B6C705BC0F138F1384 /* WBGImageToolBase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WBGImageToolBase.h; path = ZMJImageEditor/Classes/WBGImageToolBase.h; sourceTree = ""; }; + 4BA73FF14EDBB6637B499C8DCCBA11F4 /* MASConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASConstraint.m; path = Masonry/MASConstraint.m; sourceTree = ""; }; + 4CFB7B74A88A92B7C9A23D6C6526D52C /* WBGMoreKeyboardCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = WBGMoreKeyboardCell.m; path = ZMJImageEditor/Classes/WBGMoreKeyboardCell.m; sourceTree = ""; }; + 4EDA96F82813C5E7AAC80728354903CE /* MASCompositeConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASCompositeConstraint.m; path = Masonry/MASCompositeConstraint.m; sourceTree = ""; }; + 51876CDF1EC413F492B55C664B3FBD6C /* Pods-ZMJImageEditor_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ZMJImageEditor_Tests-frameworks.sh"; sourceTree = ""; }; + 51EE13235ABAAA8B670478509BE9EA47 /* Masonry-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Masonry-dummy.m"; sourceTree = ""; }; + 521F728378F54A06CE0AA08299662B74 /* FBSnapshotTestCase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCase.m; path = FBSnapshotTestCase/FBSnapshotTestCase.m; sourceTree = ""; }; + 531E0F6A69B46D1B80F58D43B2B8F8EA /* NSLayoutConstraint+MASDebugAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSLayoutConstraint+MASDebugAdditions.m"; path = "Masonry/NSLayoutConstraint+MASDebugAdditions.m"; sourceTree = ""; }; + 53B7229C117288B523C6C5DB9C8F9115 /* WBGImageEditorGestureManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = WBGImageEditorGestureManager.m; path = ZMJImageEditor/Classes/WBGImageEditorGestureManager.m; sourceTree = ""; }; + 53CB7DDDAEAFED88B313828C7EE49974 /* UIImage+Compare.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Compare.h"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.h"; sourceTree = ""; }; + 542897BEBC2F476CA3C546C868F4565F /* NSData+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+YYAdd.m"; path = "YYCategories/Foundation/NSData+YYAdd.m"; sourceTree = ""; }; + 55152A3A0E9B368F1EBF268044ECC842 /* NSNotificationCenter+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNotificationCenter+YYAdd.m"; path = "YYCategories/Foundation/NSNotificationCenter+YYAdd.m"; sourceTree = ""; }; + 55BBB4904874401EE18DB9EB264A233D /* TOCroppedImageAttributes.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TOCroppedImageAttributes.m; sourceTree = ""; }; + 56F0E2593A9DAB16CCC87D02570598D5 /* YYCGUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYCGUtilities.h; path = YYCategories/Quartz/YYCGUtilities.h; sourceTree = ""; }; + 5791B94B768F236C2B064846F3896442 /* MASViewAttribute.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASViewAttribute.m; path = Masonry/MASViewAttribute.m; sourceTree = ""; }; + 5828261F5E03608CDFC9439BD9DA1E8F /* MASViewAttribute.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASViewAttribute.h; path = Masonry/MASViewAttribute.h; sourceTree = ""; }; + 584FFF1B32AF8EEFBF63E8292EDB7BBA /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; + 58B7FDFB7A82F2DD9E4068556477850C /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/ImageIO.framework; sourceTree = DEVELOPER_DIR; }; + 597068BF93F28A63DDD842782A2EF1F4 /* NSKeyedUnarchiver+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSKeyedUnarchiver+YYAdd.m"; path = "YYCategories/Foundation/NSKeyedUnarchiver+YYAdd.m"; sourceTree = ""; }; + 5A2F4395A956FF0DE366189A16B3BCC4 /* TOCropViewControllerLocalizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = TOCropViewControllerLocalizable.strings; path = "zh-Hans.lproj/TOCropViewControllerLocalizable.strings"; sourceTree = ""; }; + 5A3366B173C6AB64E7785413D5815398 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; + 5B67ACEE49F11D3FC4EBA5F2144DEEE3 /* WBGBaseKeyboard.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = WBGBaseKeyboard.m; path = ZMJImageEditor/Classes/WBGBaseKeyboard.m; sourceTree = ""; }; + 5D79301E50A4CCDFBCCA6A7298BBCD69 /* Pods-ZMJImageEditor_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ZMJImageEditor_Example-resources.sh"; sourceTree = ""; }; + 6661EE75AB7297511F768400634F5D3B /* YYCategories-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YYCategories-umbrella.h"; sourceTree = ""; }; + 667AAC0DCB7A999B327F0AC4564C80E2 /* Pods-ZMJImageEditor_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ZMJImageEditor_Tests-umbrella.h"; sourceTree = ""; }; + 6904A21E7D1604EE09AA8236CCB379B0 /* UIControl+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIControl+YYAdd.m"; path = "YYCategories/UIKit/UIControl+YYAdd.m"; sourceTree = ""; }; + 695F2383CA5629D3A1903D77AA739CA4 /* UIApplication+StrictKeyWindow.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIApplication+StrictKeyWindow.m"; path = "FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m"; sourceTree = ""; }; + 698143D70C1680572D9263D64DBFAD10 /* Pods-ZMJImageEditor_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ZMJImageEditor_Example-frameworks.sh"; sourceTree = ""; }; + 6AD27CC97298040EAB23DA23A6D16EC9 /* UIColor+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIColor+YYAdd.m"; path = "YYCategories/UIKit/UIColor+YYAdd.m"; sourceTree = ""; }; + 6CE3AD5D5783AF921A55BC0284348EF2 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; + 6CFB0B6BD03DCB4133F5F93ED56A6D33 /* Pods-ZMJImageEditor_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ZMJImageEditor_Example.debug.xcconfig"; sourceTree = ""; }; + 6D6C8F726F3AF276D71FC4547E125696 /* ZMJImageEditor-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ZMJImageEditor-umbrella.h"; sourceTree = ""; }; + 6EFADC89A23BD89785D9C04303DE72FA /* NSDictionary+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+YYAdd.m"; path = "YYCategories/Foundation/NSDictionary+YYAdd.m"; sourceTree = ""; }; + 6F3D4A65A6715450DE15A42D821892E0 /* WBGTextTool.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WBGTextTool.h; path = ZMJImageEditor/Classes/WBGTextTool.h; sourceTree = ""; }; + 707C73A0FF06AA6C8201DA821FE4DCBD /* NSString+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSString+YYAdd.m"; path = "YYCategories/Foundation/NSString+YYAdd.m"; sourceTree = ""; }; + 71DE9CF31170DEFB8A689E8F2361A470 /* WBGMoreKeyboardItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = WBGMoreKeyboardItem.m; path = ZMJImageEditor/Classes/WBGMoreKeyboardItem.m; sourceTree = ""; }; + 725D62D6CC619BA76E7B94DCBDA5572D /* NSObject+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+YYAdd.m"; path = "YYCategories/Foundation/NSObject+YYAdd.m"; sourceTree = ""; }; + 742494B1640EE4E5DAE54F3248A35493 /* WBGImageEditor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WBGImageEditor.h; path = ZMJImageEditor/Classes/WBGImageEditor.h; sourceTree = ""; }; + 74C8CE2A899FDAA0D3AA934196DAB51E /* UIView+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+YYAdd.m"; path = "YYCategories/UIKit/UIView+YYAdd.m"; sourceTree = ""; }; + 7602B1656CBF1F2CE8DC53497B1C0AC6 /* WBGMoreKeyboardCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WBGMoreKeyboardCell.h; path = ZMJImageEditor/Classes/WBGMoreKeyboardCell.h; sourceTree = ""; }; + 76A3647C115D332ADE0EAFB3CD5112FD /* Masonry.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Masonry.xcconfig; sourceTree = ""; }; + 774B6534926D32CEB26271301E61845B /* TOCropViewControllerLocalizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = TOCropViewControllerLocalizable.strings; path = ru.lproj/TOCropViewControllerLocalizable.strings; sourceTree = ""; }; + 77580A257C1D802A94A6A94301FE22E8 /* ColorfullButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ColorfullButton.h; path = ZMJImageEditor/Classes/ColorfullButton.h; sourceTree = ""; }; + 778FB861E59E698892F40C965AD320E7 /* UIColor+TLChat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIColor+TLChat.h"; path = "ZMJImageEditor/Classes/UIColor+TLChat.h"; sourceTree = ""; }; + 77F81F5D0DFF7F601D8C87BB79546DEE /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/CoreFoundation.framework; sourceTree = DEVELOPER_DIR; }; + 781B11D056195D87313659BC50121D05 /* WBGImageEditorViewController.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = WBGImageEditorViewController.strings; path = en.lproj/WBGImageEditorViewController.strings; sourceTree = ""; }; + 785ACF7D42DA59720F6001D0768AA77D /* TOCropViewControllerLocalizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = TOCropViewControllerLocalizable.strings; path = id.lproj/TOCropViewControllerLocalizable.strings; sourceTree = ""; }; + 790CC60AAE8B3B90E276F5D643345DF4 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 79B84149D4D0F869EFA7D3B4ECC50F52 /* EditImage.xcassets */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder.assetcatalog; name = EditImage.xcassets; path = ZMJImageEditor/Assets/EditImage.xcassets; sourceTree = ""; }; + 7CA0A50583B6C27B945C4ADD37672B6F /* FBSnapshotTestCase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FBSnapshotTestCase.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 803226CA2E0B15C55891086B2C2CE975 /* UIApplication+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIApplication+YYAdd.m"; path = "YYCategories/UIKit/UIApplication+YYAdd.m"; sourceTree = ""; }; + 811FE1299764F213982CB05B3BC355FD /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 83406B3C073C17800D67FFC258540BDF /* Pods-ZMJImageEditor_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ZMJImageEditor_Tests.debug.xcconfig"; sourceTree = ""; }; + 8386DF32B289C51BCE56ED50F9D929CD /* TOCropViewControllerLocalizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = TOCropViewControllerLocalizable.strings; path = tr.lproj/TOCropViewControllerLocalizable.strings; sourceTree = ""; }; + 83884BE41B035F732968D0192687AA29 /* TOCropViewControllerLocalizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = TOCropViewControllerLocalizable.strings; path = fr.lproj/TOCropViewControllerLocalizable.strings; sourceTree = ""; }; + 83B4990AF0384DEEA3CFF51E276F2ECB /* UITextField+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UITextField+YYAdd.h"; path = "YYCategories/UIKit/UITextField+YYAdd.h"; sourceTree = ""; }; + 83BF98D8FEA72FEB0C5E916E574149DD /* UIBarButtonItem+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIBarButtonItem+YYAdd.h"; path = "YYCategories/UIKit/UIBarButtonItem+YYAdd.h"; sourceTree = ""; }; + 84C417853E9A2AC8E3FE915E50E234E1 /* TOCropViewControllerLocalizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = TOCropViewControllerLocalizable.strings; path = ar.lproj/TOCropViewControllerLocalizable.strings; sourceTree = ""; }; + 8613FA428BF8B7F995A7B2E84ED7AC25 /* WBGImageEditor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = WBGImageEditor.m; path = ZMJImageEditor/Classes/WBGImageEditor.m; sourceTree = ""; }; + 86500CF789114F52B8BAA68F5605411E /* NSThread+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSThread+YYAdd.h"; path = "YYCategories/Foundation/NSThread+YYAdd.h"; sourceTree = ""; }; + 866B225CB1DA555213F674EDDD8BB0C8 /* WBGImageEditorViewController.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = WBGImageEditorViewController.strings; path = "zh-Hans.lproj/WBGImageEditorViewController.strings"; sourceTree = ""; }; + 893756AFB8F3346110B466290F64E5D2 /* UIGestureRecognizer+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIGestureRecognizer+YYAdd.m"; path = "YYCategories/UIKit/UIGestureRecognizer+YYAdd.m"; sourceTree = ""; }; + 8A90A90031A8AAD9360D474E8EAAFB4A /* TOCropViewControllerLocalizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = TOCropViewControllerLocalizable.strings; path = pt.lproj/TOCropViewControllerLocalizable.strings; sourceTree = ""; }; + 8AA3BAC2F5AF482B2D634148BEE0695C /* UIGestureRecognizer+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIGestureRecognizer+YYAdd.h"; path = "YYCategories/UIKit/UIGestureRecognizer+YYAdd.h"; sourceTree = ""; }; + 8BDCF65857FEAB7262C2B81EAB5D10A4 /* UIFont+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIFont+YYAdd.m"; path = "YYCategories/UIKit/UIFont+YYAdd.m"; sourceTree = ""; }; + 8BE48DD809956365A0311A9C7B63A758 /* TOCropScrollView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TOCropScrollView.h; sourceTree = ""; }; + 8C7B98967BE290EB6AA130B05672B387 /* TOCropViewControllerLocalizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = TOCropViewControllerLocalizable.strings; path = nl.lproj/TOCropViewControllerLocalizable.strings; sourceTree = ""; }; + 8E41D47A66AD4CB990E1909A7D987A8D /* TOCropViewControllerLocalizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = TOCropViewControllerLocalizable.strings; path = vi.lproj/TOCropViewControllerLocalizable.strings; sourceTree = ""; }; + 92BA5729C3E2D2D850C5F10A6E5A514B /* WBGDrawTool.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = WBGDrawTool.m; path = ZMJImageEditor/Classes/WBGDrawTool.m; sourceTree = ""; }; + 92FF5C709BAF5873F5FBCFEEAC7B3894 /* FBSnapshotTestCase-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSnapshotTestCase-umbrella.h"; sourceTree = ""; }; + 93744308B1F0C1743C0665054003A210 /* UIApplication+StrictKeyWindow.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIApplication+StrictKeyWindow.h"; path = "FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h"; sourceTree = ""; }; + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 93FEC4AB017C2B759A1500D5C8D85CC1 /* UIBezierPath+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIBezierPath+YYAdd.h"; path = "YYCategories/UIKit/UIBezierPath+YYAdd.h"; sourceTree = ""; }; + 95A9EEDCD00B9A8A71E3886F2BACF77B /* TOCropView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TOCropView.m; sourceTree = ""; }; + 97A61E9271A3A9B148449F45FBCB3AE3 /* NSBundle+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSBundle+YYAdd.m"; path = "YYCategories/Foundation/NSBundle+YYAdd.m"; sourceTree = ""; }; + 97AA177C914A037B85E32B9603955ABE /* TOCropViewController-Bridging-Header.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TOCropViewController-Bridging-Header.h"; sourceTree = ""; }; + 98E3D618102BA7B228D9B9E7D3DFB547 /* NSObject+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+YYAdd.h"; path = "YYCategories/Foundation/NSObject+YYAdd.h"; sourceTree = ""; }; + 99DA798B865D88ABB59B3FC18CEFE8E1 /* UIControl+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIControl+YYAdd.h"; path = "YYCategories/UIKit/UIControl+YYAdd.h"; sourceTree = ""; }; + 9AD61CAE932A2090BDDA6670DBDF0DA7 /* FBSnapshotTestCasePlatform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCasePlatform.m; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.m; sourceTree = ""; }; + 9B6AEAD0EB04ED7F6FF0827BB3A2B21D /* Pods-ZMJImageEditor_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ZMJImageEditor_Example.modulemap"; sourceTree = ""; }; + 9BCA265A0270536F587F1BC7D9D818D1 /* TOCropViewControllerLocalizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = TOCropViewControllerLocalizable.strings; path = it.lproj/TOCropViewControllerLocalizable.strings; sourceTree = ""; }; + 9C07F72A617B71B4828B533A1D46EDEC /* ViewController+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "ViewController+MASAdditions.h"; path = "Masonry/ViewController+MASAdditions.h"; sourceTree = ""; }; + 9C5CB61C1D878270C23EF182A16A161A /* WBGImageEditorGestureManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WBGImageEditorGestureManager.h; path = ZMJImageEditor/Classes/WBGImageEditorGestureManager.h; sourceTree = ""; }; + A3A33709AFBEA5FD661FA0E79996E792 /* Pods-ZMJImageEditor_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ZMJImageEditor_Example-acknowledgements.markdown"; sourceTree = ""; }; + A41705AE19071E459B9213E359352BBD /* MASLayoutConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASLayoutConstraint.m; path = Masonry/MASLayoutConstraint.m; sourceTree = ""; }; + A4220DFB7EDCE2E2EDE419C8B53C8192 /* NSArray+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+YYAdd.h"; path = "YYCategories/Foundation/NSArray+YYAdd.h"; sourceTree = ""; }; + A7AC881042E1924204424782969BD55F /* WBGImageEditorViewController.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = WBGImageEditorViewController.xib; path = Base.lproj/WBGImageEditorViewController.xib; sourceTree = ""; }; + A7B41DD767377631788CEA4210156A8E /* UIScreen+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScreen+YYAdd.m"; path = "YYCategories/UIKit/UIScreen+YYAdd.m"; sourceTree = ""; }; + A7BA2E8AA1B52F6E9DC8D6415E4C3BFC /* UIScrollView+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+YYAdd.m"; path = "YYCategories/UIKit/UIScrollView+YYAdd.m"; sourceTree = ""; }; + A8AF4FEBDDE8BA6B3E543EE6CBE5D83F /* TOCropOverlayView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TOCropOverlayView.m; sourceTree = ""; }; + A8C3EECB3FBE5938139F76A9E5382DC9 /* FBSnapshotTestController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestController.m; path = FBSnapshotTestCase/FBSnapshotTestController.m; sourceTree = ""; }; + A99B2D4B25D5FDE893FA349C21203C59 /* WBGMoreKeyboardItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WBGMoreKeyboardItem.h; path = ZMJImageEditor/Classes/WBGMoreKeyboardItem.h; sourceTree = ""; }; + A9A2BCBD499071469DBB0883E42602F8 /* WBGImageEditorViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WBGImageEditorViewController.h; path = ZMJImageEditor/Classes/WBGImageEditorViewController.h; sourceTree = ""; }; + AA80A7273CAB9D1AC51357892FBCD9C3 /* UIColor+TLChat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIColor+TLChat.m"; path = "ZMJImageEditor/Classes/UIColor+TLChat.m"; sourceTree = ""; }; + AB592A5097D05E9BC8CB05C3087363AE /* UIBezierPath+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIBezierPath+YYAdd.m"; path = "YYCategories/UIKit/UIBezierPath+YYAdd.m"; sourceTree = ""; }; + ACA6D13D3E5854603F1A24D9E4709BA6 /* ViewController+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "ViewController+MASAdditions.m"; path = "Masonry/ViewController+MASAdditions.m"; sourceTree = ""; }; + AD976A3EE413457AE0392EE909458DE7 /* NSData+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+YYAdd.h"; path = "YYCategories/Foundation/NSData+YYAdd.h"; sourceTree = ""; }; + AE80EB410A3AA319BA954192D42B6483 /* UIFont+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIFont+YYAdd.h"; path = "YYCategories/UIKit/UIFont+YYAdd.h"; sourceTree = ""; }; + AED6821773B8C28A065F99528E0044DF /* FBSnapshotTestCase-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FBSnapshotTestCase-dummy.m"; sourceTree = ""; }; + AF98E3A0B44BD8EE988456A4D49ADD02 /* TOCropScrollView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TOCropScrollView.m; sourceTree = ""; }; + B0454055CF79434A220A9774CF19E75C /* CALayer+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CALayer+YYAdd.h"; path = "YYCategories/Quartz/CALayer+YYAdd.h"; sourceTree = ""; }; + B1887A6F6A2CCA39B199C1B9545025C8 /* UITableView+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UITableView+YYAdd.h"; path = "YYCategories/UIKit/UITableView+YYAdd.h"; sourceTree = ""; }; + B19764049D59CC84B49FB2AF91C00CB5 /* NSTimer+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSTimer+YYAdd.m"; path = "YYCategories/Foundation/NSTimer+YYAdd.m"; sourceTree = ""; }; + B3800F867A2D7D8288D3F30F5822CCA0 /* TOCropViewControllerLocalizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = TOCropViewControllerLocalizable.strings; path = en.lproj/TOCropViewControllerLocalizable.strings; sourceTree = ""; }; + B6C7710872A7D420370C5DAB17B68F30 /* Pods-ZMJImageEditor_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ZMJImageEditor_Tests.release.xcconfig"; sourceTree = ""; }; + B7982C1496AC7F1809081197BFAA2757 /* UIBarButtonItem+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIBarButtonItem+YYAdd.m"; path = "YYCategories/UIKit/UIBarButtonItem+YYAdd.m"; sourceTree = ""; }; + B8027AE2DA7C78EE8035D198044BDC26 /* TOCropViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TOCropViewController.m; sourceTree = ""; }; + B87DCA1F7FA702A92E4051C5C65AB7DB /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/MapKit.framework; sourceTree = DEVELOPER_DIR; }; + BB046D3F531804642D32085EE857DDA7 /* NSObject+YYAddForKVO.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+YYAddForKVO.h"; path = "YYCategories/Foundation/NSObject+YYAddForKVO.h"; sourceTree = ""; }; + BB9564C865DCB3AFA23EB8D3665ACE35 /* CoreImage.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreImage.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/CoreImage.framework; sourceTree = DEVELOPER_DIR; }; + BCAA531CF8B4EC2593E059217425F681 /* UIImage+Snapshot.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Snapshot.h"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.h"; sourceTree = ""; }; + BD6CD12291F1CB7C3FBAB53758A2EF88 /* MASViewConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASViewConstraint.h; path = Masonry/MASViewConstraint.h; sourceTree = ""; }; + C026E97164E25184173EC23037D8CD43 /* WBGMoreKeyboardDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WBGMoreKeyboardDelegate.h; path = ZMJImageEditor/Classes/WBGMoreKeyboardDelegate.h; sourceTree = ""; }; + C0677B157F6AFA2BF7EDD595FB3D042D /* WBGImageToolBase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = WBGImageToolBase.m; path = ZMJImageEditor/Classes/WBGImageToolBase.m; sourceTree = ""; }; + C0F37B663279B2A9638C0ECE6F80E668 /* TOCropToolbar.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TOCropToolbar.m; sourceTree = ""; }; + C10E630CA6AB5F884DB90D78F8D7E0DB /* TOCropViewControllerTransitioning.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TOCropViewControllerTransitioning.h; sourceTree = ""; }; + C28901966C0D8C233C7DC594387010B8 /* Masonry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Masonry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C3F599BA00708B81D98DFD748B60D90F /* WBGKeyboardProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WBGKeyboardProtocol.h; path = ZMJImageEditor/Classes/WBGKeyboardProtocol.h; sourceTree = ""; }; + C5AA539E1A12AD904E3C9C5085598D0D /* MASCompositeConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASCompositeConstraint.h; path = Masonry/MASCompositeConstraint.h; sourceTree = ""; }; + C668F3D2FE9B4B82778F0C8A9279D8D3 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; }; + CA518139E5184512FEBC043CAC64B26E /* TOCropViewControllerLocalizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = TOCropViewControllerLocalizable.strings; path = Base.lproj/TOCropViewControllerLocalizable.strings; sourceTree = ""; }; + CB72987223520345992D0EDEA44D9267 /* TOCropView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TOCropView.h; sourceTree = ""; }; + CDDEFAF40F1166E87D2407069D5F6E27 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; + CE96EAEFEC66284B35616339E3985359 /* Pods-ZMJImageEditor_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ZMJImageEditor_Tests-dummy.m"; sourceTree = ""; }; + D057E555E8208468AB1D346327D84D93 /* NSString+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+YYAdd.h"; path = "YYCategories/Foundation/NSString+YYAdd.h"; sourceTree = ""; }; + D068768D93A9AAB58EC72D3B6BDCA786 /* View+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "View+MASAdditions.m"; path = "Masonry/View+MASAdditions.m"; sourceTree = ""; }; + D1329023B7355D30E7834AC46F190AB3 /* Pods-ZMJImageEditor_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ZMJImageEditor_Example-dummy.m"; sourceTree = ""; }; + D394460E766F3E2A4253A8ADE71F5710 /* NSArray+MASShorthandAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+MASShorthandAdditions.h"; path = "Masonry/NSArray+MASShorthandAdditions.h"; sourceTree = ""; }; + D7E41DC14666481C8F2D8A5447838763 /* Pods-ZMJImageEditor_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ZMJImageEditor_Example-umbrella.h"; sourceTree = ""; }; + D9AA527EB285D77383B0DB3C9295DD71 /* TOCropToolbar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TOCropToolbar.h; sourceTree = ""; }; + DAE00C0F89148D59056485BF40DBC371 /* FBSnapshotTestCase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCase.h; path = FBSnapshotTestCase/FBSnapshotTestCase.h; sourceTree = ""; }; + DC8274E2CD6514B4D0B16F46AC656014 /* TOActivityCroppedImageProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TOActivityCroppedImageProvider.m; sourceTree = ""; }; + DC925F77A9191A75A7E228DD5B4530D1 /* WBGBaseKeyboard.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WBGBaseKeyboard.h; path = ZMJImageEditor/Classes/WBGBaseKeyboard.h; sourceTree = ""; }; + DE0B63E20606C5DAD3DCE914F0A6325C /* ZMJImageEditor-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ZMJImageEditor-dummy.m"; sourceTree = ""; }; + DE7680615C4DC4CCE837C07C30D0D345 /* FBSnapshotTestCase.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FBSnapshotTestCase.xcconfig; sourceTree = ""; }; + DF7F269E96B5A9E498D77CC9F66040EF /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Accelerate.framework; sourceTree = DEVELOPER_DIR; }; + E1633CD66CE003869D3D1AE0F5914F07 /* CALayer+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CALayer+YYAdd.m"; path = "YYCategories/Quartz/CALayer+YYAdd.m"; sourceTree = ""; }; + E19BF895D575C2A4066DD32627A0FB49 /* FBSnapshotTestController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestController.h; path = FBSnapshotTestCase/FBSnapshotTestController.h; sourceTree = ""; }; + E26AF1D5BB025331030942C138277790 /* View+MASShorthandAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "View+MASShorthandAdditions.h"; path = "Masonry/View+MASShorthandAdditions.h"; sourceTree = ""; }; + E2D7A93B89FD7FDF73E97BFF58F09EE0 /* UIScreen+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScreen+YYAdd.h"; path = "YYCategories/UIKit/UIScreen+YYAdd.h"; sourceTree = ""; }; + E3F1FFD4DAE55C7F054FDD6D1F4DDDE8 /* MASViewConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASViewConstraint.m; path = Masonry/MASViewConstraint.m; sourceTree = ""; }; + E3F9CF2C90C6D9D9B543BBED7172DFE8 /* YYCategories.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = YYCategories.modulemap; sourceTree = ""; }; + E4BBDE8C3ED8BF990D0FEF1F2390E583 /* NSNumber+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNumber+YYAdd.h"; path = "YYCategories/Foundation/NSNumber+YYAdd.h"; sourceTree = ""; }; + E551C87B74BDDA432FADDE63588C8AD8 /* UITableView+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UITableView+YYAdd.m"; path = "YYCategories/UIKit/UITableView+YYAdd.m"; sourceTree = ""; }; + E61E76C662A72BCA37F0CE6F3A9A49E7 /* Masonry.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Masonry.modulemap; sourceTree = ""; }; + E62F505E8DD7DB12D1E7A01171F96C07 /* NSNumber+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNumber+YYAdd.m"; path = "YYCategories/Foundation/NSNumber+YYAdd.m"; sourceTree = ""; }; + E711EECBAEB6C4204FE2E532D42AA854 /* YYCategories.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYCategories.h; path = YYCategories/YYCategories.h; sourceTree = ""; }; + E7CB1934C7B2079B54E4234B9DED4DDE /* WBGChatMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WBGChatMacros.h; path = ZMJImageEditor/Classes/WBGChatMacros.h; sourceTree = ""; }; + E7DC9301E143F2E354C088B811529EC7 /* Masonry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Masonry.h; path = Masonry/Masonry.h; sourceTree = ""; }; + EB9D054BCDA605128D2894A9E446CD55 /* YYCategories-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "YYCategories-dummy.m"; sourceTree = ""; }; + EC3958655A0F91427F97306A987A5C26 /* UIDevice+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIDevice+YYAdd.h"; path = "YYCategories/UIKit/UIDevice+YYAdd.h"; sourceTree = ""; }; + F0059EE62408D27E57BBA84CF74C0F67 /* Pods_ZMJImageEditor_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ZMJImageEditor_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F16DBC30D4F7C4AF8150BE334FF09071 /* FBSnapshotTestCasePlatform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCasePlatform.h; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.h; sourceTree = ""; }; + F1FD226E442C5CFC15C34591C1892AC0 /* Masonry-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Masonry-umbrella.h"; sourceTree = ""; }; + F23EF7AE55FF66EA097384600BF2859A /* NSDate+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDate+YYAdd.m"; path = "YYCategories/Foundation/NSDate+YYAdd.m"; sourceTree = ""; }; + F28F285624DDEC412437FB47880E6F2B /* MASLayoutConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASLayoutConstraint.h; path = Masonry/MASLayoutConstraint.h; sourceTree = ""; }; + F34DBF65DBD8403F18CD4892D552DBEC /* TOCropOverlayView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TOCropOverlayView.h; sourceTree = ""; }; + F3E09A686FD07C11C6A3FAA79BA8AF53 /* UIImage+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+YYAdd.h"; path = "YYCategories/UIKit/UIImage+YYAdd.h"; sourceTree = ""; }; + F465B2658F83F58E635A4EA1334B7B5B /* ColorfullButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ColorfullButton.m; path = ZMJImageEditor/Classes/ColorfullButton.m; sourceTree = ""; }; + F498C38B93CB5D78E5E2E1FC6BD22EE7 /* Masonry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Masonry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F4BBF9C194EC5B367E4A6A7BA31C094B /* NSObject+YYAddForKVO.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+YYAddForKVO.m"; path = "YYCategories/Foundation/NSObject+YYAddForKVO.m"; sourceTree = ""; }; + F51600E82074955D00656DF6 /* WBGMosicaViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WBGMosicaViewController.h; sourceTree = ""; }; + F51600E92074955D00656DF6 /* WBGMosicaViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WBGMosicaViewController.m; sourceTree = ""; }; + F55D230A380F3A820348B82474D9C076 /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = FBSnapshotTestCase/SwiftSupport.swift; sourceTree = ""; }; + F571368B29397E58E38BC59F91B2460B /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + F624293C1C4F12DC8176653E123AC143 /* WBGMoreKeyboard+CollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "WBGMoreKeyboard+CollectionView.h"; path = "ZMJImageEditor/Classes/WBGMoreKeyboard+CollectionView.h"; sourceTree = ""; }; + F6E2E2A34F3CD514DC72B581FD8BF37F /* TOCropViewControllerLocalizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = TOCropViewControllerLocalizable.strings; path = ko.lproj/TOCropViewControllerLocalizable.strings; sourceTree = ""; }; + FC73FFFD8B1F74022DE9E404F650264E /* NSKeyedUnarchiver+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSKeyedUnarchiver+YYAdd.h"; path = "YYCategories/Foundation/NSKeyedUnarchiver+YYAdd.h"; sourceTree = ""; }; + FEA1BA354BE38B0CB750E6AD2BE8EFDB /* UIImage+Snapshot.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Snapshot.m"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.m"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 1D421A30A1BDB7E1C4216F64D0C939B1 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 91D0138ACFAD733E4061F12E450C336C /* Foundation.framework in Frameworks */, + B27DFD6025D94758785918F1D6F6C060 /* QuartzCore.framework in Frameworks */, + 841FF232C33C7D49C58CEFDBE7EEB92B /* UIKit.framework in Frameworks */, + 7E9B14D5F8842A86CA86F2AF45230725 /* XCTest.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 398A2CB63612359BB0D4A19FD84BFAF7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 5A5C08F3A316687F241B1005C52B0E90 /* Foundation.framework in Frameworks */, + AD226248CDFF54DB887CF67D6415993B /* MapKit.framework in Frameworks */, + 6DC99D02C7138F4203369E435C3776FC /* Masonry.framework in Frameworks */, + 5BE558AA41DEEEA255828A80CD78187D /* UIKit.framework in Frameworks */, + E48BA1C128AE8173F3122355358F409F /* YYCategories.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 42FDFB8CF2971F8C76D52C9326CDB6FC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + E2BA03A31A489B4530AAFAEE7F9CC43F /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 72DB0313405B981B9B29578A40750035 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 37172DA8E5E3B4FD7364347EC0752C50 /* Accelerate.framework in Frameworks */, + C2BD4A32A7B02051796C5FD7830DF61E /* CoreFoundation.framework in Frameworks */, + 30CF08CC5C7FBB7B16DC2BCB4CD9109F /* CoreGraphics.framework in Frameworks */, + FA2B254B65A921187FACDE9D5CCD1E11 /* CoreImage.framework in Frameworks */, + 9F1D91BB44947684D3BB45335E26DC3C /* CoreText.framework in Frameworks */, + 75D26E4601E48D0B2B7819AEDF02D4D3 /* Foundation.framework in Frameworks */, + A13DDCEB2879FC3C96B0454DCEE1AE27 /* ImageIO.framework in Frameworks */, + 70D8ECAF68A99D523B70FE11778CC480 /* QuartzCore.framework in Frameworks */, + 1FA86B887246B1A96BC39BF77CAF7C0D /* UIKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B998E3FFF638A179156143389ADADE51 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F2C18CF570892C6E866C8FE5F95FBA86 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F6EC657AC5A7BEE9A3D288B582F4C5E9 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 432FA22864D148EBD4CB22F55AB68004 /* Foundation.framework in Frameworks */, + 38E0CD63021889EE46E1A6B9FA0415F5 /* UIKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 0757CB0A206E308300CD8D2C /* Mosica */ = { + isa = PBXGroup; + children = ( + 0757CB0B206E308300CD8D2C /* XPixelItem.h */, + 0757CB0C206E308300CD8D2C /* XPixelItem.m */, + 0757CB0D206E308300CD8D2C /* XRGBTool.h */, + 0757CB0E206E308300CD8D2C /* XRGBTool.m */, + 0757CB0F206E308300CD8D2C /* XScratchView.h */, + 0757CB10206E308300CD8D2C /* XScratchView.m */, + ); + path = Mosica; + sourceTree = ""; + }; + 24C352AB247F172C50DE1B03B6D75B99 /* Development Pods */ = { + isa = PBXGroup; + children = ( + 960AF84189D853DE311C8AC49E540D1E /* ZMJImageEditor */, + ); + name = "Development Pods"; + sourceTree = ""; + }; + 2FB523B0C90E610B5C35A3BCF7AA7A2B /* no-arc */ = { + isa = PBXGroup; + children = ( + 032CCD218D78C06C54D188F99242B4B0 /* NSObject+YYAddForARC.h */, + 0D4415559846DB06E72CB5882FE85CA3 /* NSObject+YYAddForARC.m */, + 86500CF789114F52B8BAA68F5605411E /* NSThread+YYAdd.h */, + 1AE61E9D468E892C26B1D9E12326F69D /* NSThread+YYAdd.m */, + ); + name = "no-arc"; + sourceTree = ""; + }; + 3EDC698A64F55DEE000A38C14C826DC4 /* Masonry */ = { + isa = PBXGroup; + children = ( + C5AA539E1A12AD904E3C9C5085598D0D /* MASCompositeConstraint.h */, + 4EDA96F82813C5E7AAC80728354903CE /* MASCompositeConstraint.m */, + 19143FD0AAF084A1A7DCA23A13643C18 /* MASConstraint.h */, + 4BA73FF14EDBB6637B499C8DCCBA11F4 /* MASConstraint.m */, + 13BD521D75E5E45FE5AC3D965DBE6753 /* MASConstraint+Private.h */, + 2AD634905A0090E461440085CF302868 /* MASConstraintMaker.h */, + 4567070FE825666727D8FF5DFBE559FE /* MASConstraintMaker.m */, + F28F285624DDEC412437FB47880E6F2B /* MASLayoutConstraint.h */, + A41705AE19071E459B9213E359352BBD /* MASLayoutConstraint.m */, + E7DC9301E143F2E354C088B811529EC7 /* Masonry.h */, + 338D22830EC01A8BF72FBFB3ACC7346F /* MASUtilities.h */, + 5828261F5E03608CDFC9439BD9DA1E8F /* MASViewAttribute.h */, + 5791B94B768F236C2B064846F3896442 /* MASViewAttribute.m */, + BD6CD12291F1CB7C3FBAB53758A2EF88 /* MASViewConstraint.h */, + E3F1FFD4DAE55C7F054FDD6D1F4DDDE8 /* MASViewConstraint.m */, + 1700E22D100D90D5715F833515B356C3 /* NSArray+MASAdditions.h */, + 0C5ADCE27051C0BDBDB5C06E6F390F3A /* NSArray+MASAdditions.m */, + D394460E766F3E2A4253A8ADE71F5710 /* NSArray+MASShorthandAdditions.h */, + 11AB33774D672FF723BAFC3EFCBE6204 /* NSLayoutConstraint+MASDebugAdditions.h */, + 531E0F6A69B46D1B80F58D43B2B8F8EA /* NSLayoutConstraint+MASDebugAdditions.m */, + 3333D69FA254A9BC9D26ECF0E5B91363 /* View+MASAdditions.h */, + D068768D93A9AAB58EC72D3B6BDCA786 /* View+MASAdditions.m */, + E26AF1D5BB025331030942C138277790 /* View+MASShorthandAdditions.h */, + 9C07F72A617B71B4828B533A1D46EDEC /* ViewController+MASAdditions.h */, + ACA6D13D3E5854603F1A24D9E4709BA6 /* ViewController+MASAdditions.m */, + D51CB165A90D3447A49E025EE2321A02 /* Support Files */, + ); + path = Masonry; + sourceTree = ""; + }; + 46FFBB225AC36DEA1A4072EDB3EE0013 /* Pods */ = { + isa = PBXGroup; + children = ( + A9799A3355CC829C0AB878C352B80C71 /* FBSnapshotTestCase */, + 3EDC698A64F55DEE000A38C14C826DC4 /* Masonry */, + 816FB1C781407221163BA7D51A1B7985 /* YYCategories */, + ); + name = Pods; + sourceTree = ""; + }; + 5FF7F6C567DE1E4B2DAB539E64A88C00 /* Resources */ = { + isa = PBXGroup; + children = ( + 79B84149D4D0F869EFA7D3B4ECC50F52 /* EditImage.xcassets */, + 956EA9D3EE5C84A3AE5545D6D101FFFC /* WBGImageEditorViewController.xib */, + ); + name = Resources; + sourceTree = ""; + }; + 613F2DEBD24075B3D5D8782FFA6EDA0C /* Products */ = { + isa = PBXGroup; + children = ( + 7CA0A50583B6C27B945C4ADD37672B6F /* FBSnapshotTestCase.framework */, + F498C38B93CB5D78E5E2E1FC6BD22EE7 /* Masonry.framework */, + F0059EE62408D27E57BBA84CF74C0F67 /* Pods_ZMJImageEditor_Example.framework */, + 2F980A703008F80D464E9CCEE5F2177F /* Pods_ZMJImageEditor_Tests.framework */, + 04335F2EFED04B65DE677919ED6F355F /* YYCategories.framework */, + 3F9A0F837A37A4D7B16B89E1DB209A8A /* ZMJImageEditor.framework */, + ); + name = Products; + sourceTree = ""; + }; + 61D7C7C9136AF834206CCD6BA0907088 /* Frameworks */ = { + isa = PBXGroup; + children = ( + C28901966C0D8C233C7DC594387010B8 /* Masonry.framework */, + 1C45E2DB46E4F4376EB847B6C7991AA8 /* YYCategories.framework */, + D45E555F9FECB5BA969AD1053765DBC7 /* iOS */, + ); + name = Frameworks; + sourceTree = ""; + }; + 7CD1156919B447D427995F80BC64F46E /* Pod */ = { + isa = PBXGroup; + children = ( + CDDEFAF40F1166E87D2407069D5F6E27 /* LICENSE */, + 5A3366B173C6AB64E7785413D5815398 /* README.md */, + 1B53291484F71F76438AE81F10296C33 /* ZMJImageEditor.podspec */, + ); + name = Pod; + sourceTree = ""; + }; + 7DB346D0F39D3F0E887471402A8071AB = { + isa = PBXGroup; + children = ( + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, + 24C352AB247F172C50DE1B03B6D75B99 /* Development Pods */, + 61D7C7C9136AF834206CCD6BA0907088 /* Frameworks */, + 46FFBB225AC36DEA1A4072EDB3EE0013 /* Pods */, + 613F2DEBD24075B3D5D8782FFA6EDA0C /* Products */, + AFA01FE53420B068E5CAB53C1374202A /* Targets Support Files */, + ); + sourceTree = ""; + }; + 816FB1C781407221163BA7D51A1B7985 /* YYCategories */ = { + isa = PBXGroup; + children = ( + B0454055CF79434A220A9774CF19E75C /* CALayer+YYAdd.h */, + E1633CD66CE003869D3D1AE0F5914F07 /* CALayer+YYAdd.m */, + A4220DFB7EDCE2E2EDE419C8B53C8192 /* NSArray+YYAdd.h */, + 02A49D9E19F3D12CF6F8E56A07842266 /* NSArray+YYAdd.m */, + 3532D2F00411E9A7FF08B96C2C0C8BA5 /* NSBundle+YYAdd.h */, + 97A61E9271A3A9B148449F45FBCB3AE3 /* NSBundle+YYAdd.m */, + AD976A3EE413457AE0392EE909458DE7 /* NSData+YYAdd.h */, + 542897BEBC2F476CA3C546C868F4565F /* NSData+YYAdd.m */, + 4AC00E9537FEE4070BDF8531D02743A4 /* NSDate+YYAdd.h */, + F23EF7AE55FF66EA097384600BF2859A /* NSDate+YYAdd.m */, + 000F56CDA208E26ECADC5DBAF4898738 /* NSDictionary+YYAdd.h */, + 6EFADC89A23BD89785D9C04303DE72FA /* NSDictionary+YYAdd.m */, + FC73FFFD8B1F74022DE9E404F650264E /* NSKeyedUnarchiver+YYAdd.h */, + 597068BF93F28A63DDD842782A2EF1F4 /* NSKeyedUnarchiver+YYAdd.m */, + 3D6B2DA687FFB6316ED0D485B9B9F118 /* NSNotificationCenter+YYAdd.h */, + 55152A3A0E9B368F1EBF268044ECC842 /* NSNotificationCenter+YYAdd.m */, + E4BBDE8C3ED8BF990D0FEF1F2390E583 /* NSNumber+YYAdd.h */, + E62F505E8DD7DB12D1E7A01171F96C07 /* NSNumber+YYAdd.m */, + 98E3D618102BA7B228D9B9E7D3DFB547 /* NSObject+YYAdd.h */, + 725D62D6CC619BA76E7B94DCBDA5572D /* NSObject+YYAdd.m */, + BB046D3F531804642D32085EE857DDA7 /* NSObject+YYAddForKVO.h */, + F4BBF9C194EC5B367E4A6A7BA31C094B /* NSObject+YYAddForKVO.m */, + D057E555E8208468AB1D346327D84D93 /* NSString+YYAdd.h */, + 707C73A0FF06AA6C8201DA821FE4DCBD /* NSString+YYAdd.m */, + 408D57379953C990D1D4DB332E57223A /* NSTimer+YYAdd.h */, + B19764049D59CC84B49FB2AF91C00CB5 /* NSTimer+YYAdd.m */, + 05612ED5BAD24B79EE5AB41FAD82D477 /* UIApplication+YYAdd.h */, + 803226CA2E0B15C55891086B2C2CE975 /* UIApplication+YYAdd.m */, + 83BF98D8FEA72FEB0C5E916E574149DD /* UIBarButtonItem+YYAdd.h */, + B7982C1496AC7F1809081197BFAA2757 /* UIBarButtonItem+YYAdd.m */, + 93FEC4AB017C2B759A1500D5C8D85CC1 /* UIBezierPath+YYAdd.h */, + AB592A5097D05E9BC8CB05C3087363AE /* UIBezierPath+YYAdd.m */, + 288FC93EDEBB440FE0CFF66F35065DFE /* UIColor+YYAdd.h */, + 6AD27CC97298040EAB23DA23A6D16EC9 /* UIColor+YYAdd.m */, + 99DA798B865D88ABB59B3FC18CEFE8E1 /* UIControl+YYAdd.h */, + 6904A21E7D1604EE09AA8236CCB379B0 /* UIControl+YYAdd.m */, + EC3958655A0F91427F97306A987A5C26 /* UIDevice+YYAdd.h */, + 3DE4430B2E8326001C966F35A2BD3090 /* UIDevice+YYAdd.m */, + AE80EB410A3AA319BA954192D42B6483 /* UIFont+YYAdd.h */, + 8BDCF65857FEAB7262C2B81EAB5D10A4 /* UIFont+YYAdd.m */, + 8AA3BAC2F5AF482B2D634148BEE0695C /* UIGestureRecognizer+YYAdd.h */, + 893756AFB8F3346110B466290F64E5D2 /* UIGestureRecognizer+YYAdd.m */, + F3E09A686FD07C11C6A3FAA79BA8AF53 /* UIImage+YYAdd.h */, + 037C4297C14F4133430F2DB1C97BA25D /* UIImage+YYAdd.m */, + E2D7A93B89FD7FDF73E97BFF58F09EE0 /* UIScreen+YYAdd.h */, + A7B41DD767377631788CEA4210156A8E /* UIScreen+YYAdd.m */, + 454A057ECB301B795819AF9D14240D3D /* UIScrollView+YYAdd.h */, + A7BA2E8AA1B52F6E9DC8D6415E4C3BFC /* UIScrollView+YYAdd.m */, + B1887A6F6A2CCA39B199C1B9545025C8 /* UITableView+YYAdd.h */, + E551C87B74BDDA432FADDE63588C8AD8 /* UITableView+YYAdd.m */, + 83B4990AF0384DEEA3CFF51E276F2ECB /* UITextField+YYAdd.h */, + 19A273E277C0BA4409AAC6472E1ADFC8 /* UITextField+YYAdd.m */, + 044B3013D945A6E50919D217388316A3 /* UIView+YYAdd.h */, + 74C8CE2A899FDAA0D3AA934196DAB51E /* UIView+YYAdd.m */, + E711EECBAEB6C4204FE2E532D42AA854 /* YYCategories.h */, + 29E2501C15009A6BCDF5FBCFCA65CFA4 /* YYCategoriesMacro.h */, + 56F0E2593A9DAB16CCC87D02570598D5 /* YYCGUtilities.h */, + 0B52149B987D9698FCD3F7F29DF85E03 /* YYCGUtilities.m */, + 2FB523B0C90E610B5C35A3BCF7AA7A2B /* no-arc */, + C9CB04D8B97A702E989EF264202A28CE /* Support Files */, + ); + path = YYCategories; + sourceTree = ""; + }; + 83A4E0B989F1BE843C5B640EE68D0FCE /* Core */ = { + isa = PBXGroup; + children = ( + DAE00C0F89148D59056485BF40DBC371 /* FBSnapshotTestCase.h */, + 521F728378F54A06CE0AA08299662B74 /* FBSnapshotTestCase.m */, + F16DBC30D4F7C4AF8150BE334FF09071 /* FBSnapshotTestCasePlatform.h */, + 9AD61CAE932A2090BDDA6670DBDF0DA7 /* FBSnapshotTestCasePlatform.m */, + E19BF895D575C2A4066DD32627A0FB49 /* FBSnapshotTestController.h */, + A8C3EECB3FBE5938139F76A9E5382DC9 /* FBSnapshotTestController.m */, + 93744308B1F0C1743C0665054003A210 /* UIApplication+StrictKeyWindow.h */, + 695F2383CA5629D3A1903D77AA739CA4 /* UIApplication+StrictKeyWindow.m */, + 53CB7DDDAEAFED88B313828C7EE49974 /* UIImage+Compare.h */, + 0C21DFC83416C5A7A77DC6F9E4B4A431 /* UIImage+Compare.m */, + 155ACC000F4DD9610B044D2C04D51153 /* UIImage+Diff.h */, + 349969AB77C020B8480BE4C012724C16 /* UIImage+Diff.m */, + BCAA531CF8B4EC2593E059217425F681 /* UIImage+Snapshot.h */, + FEA1BA354BE38B0CB750E6AD2BE8EFDB /* UIImage+Snapshot.m */, + ); + name = Core; + sourceTree = ""; + }; + 88D15EF1EB7F598C7254D0C5B7AB3DF8 /* Support Files */ = { + isa = PBXGroup; + children = ( + 47051BE9E78710C36774A60BE8534A78 /* FBSnapshotTestCase.modulemap */, + DE7680615C4DC4CCE837C07C30D0D345 /* FBSnapshotTestCase.xcconfig */, + AED6821773B8C28A065F99528E0044DF /* FBSnapshotTestCase-dummy.m */, + 4565CACF8D056C96D5482E87BACCBCCE /* FBSnapshotTestCase-prefix.pch */, + 92FF5C709BAF5873F5FBCFEEAC7B3894 /* FBSnapshotTestCase-umbrella.h */, + 811FE1299764F213982CB05B3BC355FD /* Info.plist */, + ); + name = "Support Files"; + path = "../Target Support Files/FBSnapshotTestCase"; + sourceTree = ""; + }; + 8D5A3161C0F8DD427FCA4963463CCC65 /* Support Files */ = { + isa = PBXGroup; + children = ( + 14235E1B39208D3B29F87659AD1D2AA0 /* Info.plist */, + 3A6256F5AE11595218ED0DDB68C04CC9 /* ZMJImageEditor.modulemap */, + 40A08FBFF7B69B5FE6C6D0F271387C93 /* ZMJImageEditor.xcconfig */, + DE0B63E20606C5DAD3DCE914F0A6325C /* ZMJImageEditor-dummy.m */, + 381DC890FE5CD48FF70A0D556A488926 /* ZMJImageEditor-prefix.pch */, + 6D6C8F726F3AF276D71FC4547E125696 /* ZMJImageEditor-umbrella.h */, + ); + name = "Support Files"; + path = "Example/Pods/Target Support Files/ZMJImageEditor"; + sourceTree = ""; + }; + 8F3CC7E8FB8127CE179B336FD78DDD04 /* Pods-ZMJImageEditor_Tests */ = { + isa = PBXGroup; + children = ( + 46515CF7E7E1AC4A1D40C1BB383795D0 /* Info.plist */, + 325F279CD2A83FF3EB20EB167771029A /* Pods-ZMJImageEditor_Tests.modulemap */, + 38E1B8E543C506AA861BEC7CD9E75122 /* Pods-ZMJImageEditor_Tests-acknowledgements.markdown */, + 3D0DDB3CD0F9CDF4C715ADB193B84AD3 /* Pods-ZMJImageEditor_Tests-acknowledgements.plist */, + CE96EAEFEC66284B35616339E3985359 /* Pods-ZMJImageEditor_Tests-dummy.m */, + 51876CDF1EC413F492B55C664B3FBD6C /* Pods-ZMJImageEditor_Tests-frameworks.sh */, + 054DD3130C0711392F9234F2426E5781 /* Pods-ZMJImageEditor_Tests-resources.sh */, + 667AAC0DCB7A999B327F0AC4564C80E2 /* Pods-ZMJImageEditor_Tests-umbrella.h */, + 83406B3C073C17800D67FFC258540BDF /* Pods-ZMJImageEditor_Tests.debug.xcconfig */, + B6C7710872A7D420370C5DAB17B68F30 /* Pods-ZMJImageEditor_Tests.release.xcconfig */, + ); + name = "Pods-ZMJImageEditor_Tests"; + path = "Target Support Files/Pods-ZMJImageEditor_Tests"; + sourceTree = ""; + }; + 960AF84189D853DE311C8AC49E540D1E /* ZMJImageEditor */ = { + isa = PBXGroup; + children = ( + 0757CB0A206E308300CD8D2C /* Mosica */, + 77580A257C1D802A94A6A94301FE22E8 /* ColorfullButton.h */, + F465B2658F83F58E635A4EA1334B7B5B /* ColorfullButton.m */, + 778FB861E59E698892F40C965AD320E7 /* UIColor+TLChat.h */, + AA80A7273CAB9D1AC51357892FBCD9C3 /* UIColor+TLChat.m */, + DC925F77A9191A75A7E228DD5B4530D1 /* WBGBaseKeyboard.h */, + 5B67ACEE49F11D3FC4EBA5F2144DEEE3 /* WBGBaseKeyboard.m */, + E7CB1934C7B2079B54E4234B9DED4DDE /* WBGChatMacros.h */, + 42A229085A75DEA776ACED3EB791CD44 /* WBGDrawTool.h */, + 92BA5729C3E2D2D850C5F10A6E5A514B /* WBGDrawTool.m */, + F51600E82074955D00656DF6 /* WBGMosicaViewController.h */, + F51600E92074955D00656DF6 /* WBGMosicaViewController.m */, + 742494B1640EE4E5DAE54F3248A35493 /* WBGImageEditor.h */, + 8613FA428BF8B7F995A7B2E84ED7AC25 /* WBGImageEditor.m */, + 9C5CB61C1D878270C23EF182A16A161A /* WBGImageEditorGestureManager.h */, + 53B7229C117288B523C6C5DB9C8F9115 /* WBGImageEditorGestureManager.m */, + A9A2BCBD499071469DBB0883E42602F8 /* WBGImageEditorViewController.h */, + 251C9D5525714DEFB23FEE34FDA45A91 /* WBGImageEditorViewController.m */, + 4AFE2B93F9E121B6C705BC0F138F1384 /* WBGImageToolBase.h */, + C0677B157F6AFA2BF7EDD595FB3D042D /* WBGImageToolBase.m */, + 01D58AE2EDF19E304F41CB90D07A083F /* WBGKeyboardDelegate.h */, + C3F599BA00708B81D98DFD748B60D90F /* WBGKeyboardProtocol.h */, + 058E853E629BB2A225771C521D41F5E8 /* WBGMoreKeyboard.h */, + 472CBFDD91B1AE1425F1A8A9E8A10264 /* WBGMoreKeyboard.m */, + F624293C1C4F12DC8176653E123AC143 /* WBGMoreKeyboard+CollectionView.h */, + 1EF4D12F246F7F288A87F8DBDFAD2405 /* WBGMoreKeyboard+CollectionView.m */, + 7602B1656CBF1F2CE8DC53497B1C0AC6 /* WBGMoreKeyboardCell.h */, + 4CFB7B74A88A92B7C9A23D6C6526D52C /* WBGMoreKeyboardCell.m */, + C026E97164E25184173EC23037D8CD43 /* WBGMoreKeyboardDelegate.h */, + A99B2D4B25D5FDE893FA349C21203C59 /* WBGMoreKeyboardItem.h */, + 71DE9CF31170DEFB8A689E8F2361A470 /* WBGMoreKeyboardItem.m */, + 6F3D4A65A6715450DE15A42D821892E0 /* WBGTextTool.h */, + 48343299174E614B9E81F4809FE81C36 /* WBGTextTool.m */, + 4426CA98EDC98EB159E60828591B40E2 /* WBGTextToolView.h */, + 0D915599BC5C6EC2153E000C2ECD4782 /* WBGTextToolView.m */, + 7CD1156919B447D427995F80BC64F46E /* Pod */, + 5FF7F6C567DE1E4B2DAB539E64A88C00 /* Resources */, + 8D5A3161C0F8DD427FCA4963463CCC65 /* Support Files */, + 9F186E944EBA2E843A861F2595134D3C /* TOCropViewController */, + ); + name = ZMJImageEditor; + path = ../..; + sourceTree = ""; + }; + 9F186E944EBA2E843A861F2595134D3C /* TOCropViewController */ = { + isa = PBXGroup; + children = ( + 3F5C2209E75F256A38681F74C401141D /* TOCropViewController.h */, + B8027AE2DA7C78EE8035D198044BDC26 /* TOCropViewController.m */, + 97AA177C914A037B85E32B9603955ABE /* TOCropViewController-Bridging-Header.h */, + 6DB7AEC5BFFC9BBFD9EC7155944B3904 /* TOCropViewControllerLocalizable.strings */, + D7AE3A6BB8E0D836AB719B0CCB88A6FA /* Models */, + CA68EAF494552AA6920D0CD7B12B1163 /* Views */, + ); + name = TOCropViewController; + path = ZMJImageEditor/Classes/TOCropViewController; + sourceTree = ""; + }; + 9F4653017BE4C139CFE9DCCFD973FD4B /* Pods-ZMJImageEditor_Example */ = { + isa = PBXGroup; + children = ( + F571368B29397E58E38BC59F91B2460B /* Info.plist */, + 9B6AEAD0EB04ED7F6FF0827BB3A2B21D /* Pods-ZMJImageEditor_Example.modulemap */, + A3A33709AFBEA5FD661FA0E79996E792 /* Pods-ZMJImageEditor_Example-acknowledgements.markdown */, + 4118C5BCD44582D5372D368BCE765F41 /* Pods-ZMJImageEditor_Example-acknowledgements.plist */, + D1329023B7355D30E7834AC46F190AB3 /* Pods-ZMJImageEditor_Example-dummy.m */, + 698143D70C1680572D9263D64DBFAD10 /* Pods-ZMJImageEditor_Example-frameworks.sh */, + 5D79301E50A4CCDFBCCA6A7298BBCD69 /* Pods-ZMJImageEditor_Example-resources.sh */, + D7E41DC14666481C8F2D8A5447838763 /* Pods-ZMJImageEditor_Example-umbrella.h */, + 6CFB0B6BD03DCB4133F5F93ED56A6D33 /* Pods-ZMJImageEditor_Example.debug.xcconfig */, + 3AD75A93EAA754FB640E90703CBA5041 /* Pods-ZMJImageEditor_Example.release.xcconfig */, + ); + name = "Pods-ZMJImageEditor_Example"; + path = "Target Support Files/Pods-ZMJImageEditor_Example"; + sourceTree = ""; + }; + A9799A3355CC829C0AB878C352B80C71 /* FBSnapshotTestCase */ = { + isa = PBXGroup; + children = ( + 83A4E0B989F1BE843C5B640EE68D0FCE /* Core */, + 88D15EF1EB7F598C7254D0C5B7AB3DF8 /* Support Files */, + D20BC95DB2E896D00DEF8F9950E2E265 /* SwiftSupport */, + ); + path = FBSnapshotTestCase; + sourceTree = ""; + }; + AFA01FE53420B068E5CAB53C1374202A /* Targets Support Files */ = { + isa = PBXGroup; + children = ( + 9F4653017BE4C139CFE9DCCFD973FD4B /* Pods-ZMJImageEditor_Example */, + 8F3CC7E8FB8127CE179B336FD78DDD04 /* Pods-ZMJImageEditor_Tests */, + ); + name = "Targets Support Files"; + sourceTree = ""; + }; + C9CB04D8B97A702E989EF264202A28CE /* Support Files */ = { + isa = PBXGroup; + children = ( + 3B8A3D5E933027D9AA78B1BC386FA1A1 /* Info.plist */, + E3F9CF2C90C6D9D9B543BBED7172DFE8 /* YYCategories.modulemap */, + 3D22F9D967CAD79AD3DFE34452812DD4 /* YYCategories.xcconfig */, + EB9D054BCDA605128D2894A9E446CD55 /* YYCategories-dummy.m */, + 0F028ABCA216BBF367C16FB1610E4B35 /* YYCategories-prefix.pch */, + 6661EE75AB7297511F768400634F5D3B /* YYCategories-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/YYCategories"; + sourceTree = ""; + }; + CA68EAF494552AA6920D0CD7B12B1163 /* Views */ = { + isa = PBXGroup; + children = ( + F34DBF65DBD8403F18CD4892D552DBEC /* TOCropOverlayView.h */, + A8AF4FEBDDE8BA6B3E543EE6CBE5D83F /* TOCropOverlayView.m */, + 8BE48DD809956365A0311A9C7B63A758 /* TOCropScrollView.h */, + AF98E3A0B44BD8EE988456A4D49ADD02 /* TOCropScrollView.m */, + D9AA527EB285D77383B0DB3C9295DD71 /* TOCropToolbar.h */, + C0F37B663279B2A9638C0ECE6F80E668 /* TOCropToolbar.m */, + CB72987223520345992D0EDEA44D9267 /* TOCropView.h */, + 95A9EEDCD00B9A8A71E3886F2BACF77B /* TOCropView.m */, + 1DBF2D8CB03DCA42A55A2233C0161FCC /* UIImage+library.h */, + 009A65476109653F7D8C6770C76B1AC7 /* UIImage+library.m */, + ); + path = Views; + sourceTree = ""; + }; + D20BC95DB2E896D00DEF8F9950E2E265 /* SwiftSupport */ = { + isa = PBXGroup; + children = ( + F55D230A380F3A820348B82474D9C076 /* SwiftSupport.swift */, + ); + name = SwiftSupport; + sourceTree = ""; + }; + D45E555F9FECB5BA969AD1053765DBC7 /* iOS */ = { + isa = PBXGroup; + children = ( + DF7F269E96B5A9E498D77CC9F66040EF /* Accelerate.framework */, + 77F81F5D0DFF7F601D8C87BB79546DEE /* CoreFoundation.framework */, + C668F3D2FE9B4B82778F0C8A9279D8D3 /* CoreGraphics.framework */, + BB9564C865DCB3AFA23EB8D3665ACE35 /* CoreImage.framework */, + 23E73A1ADB2A5E760AE3A9321285D8D2 /* CoreText.framework */, + 291387DE3D86FABC569886F4EE5168A3 /* Foundation.framework */, + 58B7FDFB7A82F2DD9E4068556477850C /* ImageIO.framework */, + B87DCA1F7FA702A92E4051C5C65AB7DB /* MapKit.framework */, + 6CE3AD5D5783AF921A55BC0284348EF2 /* QuartzCore.framework */, + 584FFF1B32AF8EEFBF63E8292EDB7BBA /* UIKit.framework */, + 1826AE8F4E141065380C77DF657F8932 /* XCTest.framework */, + ); + name = iOS; + sourceTree = ""; + }; + D51CB165A90D3447A49E025EE2321A02 /* Support Files */ = { + isa = PBXGroup; + children = ( + 790CC60AAE8B3B90E276F5D643345DF4 /* Info.plist */, + E61E76C662A72BCA37F0CE6F3A9A49E7 /* Masonry.modulemap */, + 76A3647C115D332ADE0EAFB3CD5112FD /* Masonry.xcconfig */, + 51EE13235ABAAA8B670478509BE9EA47 /* Masonry-dummy.m */, + 3324402E88C55B23C53B1C0A6682C88E /* Masonry-prefix.pch */, + F1FD226E442C5CFC15C34591C1892AC0 /* Masonry-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/Masonry"; + sourceTree = ""; + }; + D7AE3A6BB8E0D836AB719B0CCB88A6FA /* Models */ = { + isa = PBXGroup; + children = ( + 03B17EC8A858BDE2B8EFCBCEF8F592D9 /* TOActivityCroppedImageProvider.h */, + DC8274E2CD6514B4D0B16F46AC656014 /* TOActivityCroppedImageProvider.m */, + 4A9549114E9401D70B1D480DC75D15BA /* TOCroppedImageAttributes.h */, + 55BBB4904874401EE18DB9EB264A233D /* TOCroppedImageAttributes.m */, + C10E630CA6AB5F884DB90D78F8D7E0DB /* TOCropViewControllerTransitioning.h */, + 3748190F4149F9886B222D5D948369E3 /* TOCropViewControllerTransitioning.m */, + 0EF701F77222C785B41E95D14B16F54C /* UIImage+CropRotate.h */, + 1107115ECFBEFB24D12F9C77BA1AF5D0 /* UIImage+CropRotate.m */, + ); + path = Models; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 0505610608D5684F7153253CB0DC9D65 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + B21C5FBA14614AACE6B0D4CB7079661A /* Pods-ZMJImageEditor_Example-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3577225D86D65B890A4B9151A4BFB04F /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 31E353F389CC04681D63D727C52C580D /* Pods-ZMJImageEditor_Tests-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9DC6F5AC11E37A1EB45C6473C9E800B6 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F51600EA2074955D00656DF6 /* WBGMosicaViewController.h in Headers */, + B758FB09FE2C06C1B8E36A71A9D76D41 /* FBSnapshotTestCase-umbrella.h in Headers */, + 9673CF780F48C8E4EC2A331717B1F67C /* FBSnapshotTestCase.h in Headers */, + BFCE460CC33E8872B7156D4166340178 /* FBSnapshotTestCasePlatform.h in Headers */, + 2F485B69F51E4F723A38410F31F08550 /* FBSnapshotTestController.h in Headers */, + BC952FC04FC963C1294DCD619C9B6B3B /* UIApplication+StrictKeyWindow.h in Headers */, + CAFA5E486BCE117A7D8C0FBF9DA6666B /* UIImage+Compare.h in Headers */, + 051A816D6DD0CAE13496DDCFE0829167 /* UIImage+Diff.h in Headers */, + 421CDD701AEE0F2458A84200366CDD0F /* UIImage+Snapshot.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EBD3DD931B544DFAD44A4594939AA409 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 3403AF781D77064AF434F7254FB74088 /* ColorfullButton.h in Headers */, + 2223FCD34F7E5601BA4AAFA98D759D2E /* TOActivityCroppedImageProvider.h in Headers */, + 5CE2E0C1C5EC4B0B3123CA5A26A32E79 /* TOCropOverlayView.h in Headers */, + CCBCE3E843EEBEF5D3EDCC15F77A8C7E /* TOCroppedImageAttributes.h in Headers */, + F3AAF979FB520FB55D8BC22298FB3774 /* TOCropScrollView.h in Headers */, + 3CBA19161E2E7EEF300E6378F6ED8009 /* TOCropToolbar.h in Headers */, + 4748B051821A81A5734E49FF62425562 /* TOCropView.h in Headers */, + 4099083B16D8042D29FB3E015351595A /* TOCropViewController-Bridging-Header.h in Headers */, + CCCBEDCBD703D31FE7B4C2E317B1A6A2 /* TOCropViewController.h in Headers */, + 9AC948B0AA78BA9D5B1DF084DD4C0608 /* TOCropViewControllerTransitioning.h in Headers */, + 72A0F6025B87ED8B0B439BFEB58B0371 /* UIColor+TLChat.h in Headers */, + 51687FD2D06EBB14D2BDC35795D838A0 /* UIImage+CropRotate.h in Headers */, + 1D11FE1034FDBC0749047A703F667007 /* UIImage+library.h in Headers */, + F7EEF93BF045A409C784256E16292B58 /* WBGBaseKeyboard.h in Headers */, + FC6E989A6FD2436C61739522765B827E /* WBGChatMacros.h in Headers */, + 0EF408B833D35105450E6214B0AF4234 /* WBGDrawTool.h in Headers */, + 041B4F2F91E2520AB775DECB11D964EF /* WBGImageEditor.h in Headers */, + 0757CB13206E308300CD8D2C /* XRGBTool.h in Headers */, + 0757CB15206E308300CD8D2C /* XScratchView.h in Headers */, + 621F5A28FDF1AE8FBCC68D14D31505AC /* WBGImageEditorGestureManager.h in Headers */, + AB8CE4E66263B5E14BD032EBD9AA067C /* WBGImageEditorViewController.h in Headers */, + 59DB75AEF06C8ABB55DF817A732B2A99 /* WBGImageToolBase.h in Headers */, + F51600EB2074955D00656DF6 /* WBGMosicaViewController.h in Headers */, + F99F266E6438E33DA9ACEE7A3FC2BF39 /* WBGKeyboardDelegate.h in Headers */, + 3F06A9F63F0512E0DDC87E3A143BCE41 /* WBGKeyboardProtocol.h in Headers */, + FA152FFEF2D7F6BEE845AB8FF75CC534 /* WBGMoreKeyboard+CollectionView.h in Headers */, + 30E889E8B90A9D9FD41162DE2479CE42 /* WBGMoreKeyboard.h in Headers */, + 8AB0F2D736DA39C686232520146AD6EA /* WBGMoreKeyboardCell.h in Headers */, + C3C5080AD8CAD907056CB39B8C1F759C /* WBGMoreKeyboardDelegate.h in Headers */, + 3ED52943246DCC847D7F5C52FFC9C4CE /* WBGMoreKeyboardItem.h in Headers */, + 0757CB11206E308300CD8D2C /* XPixelItem.h in Headers */, + F05DF38ED965B40976C743F90E269E57 /* WBGTextTool.h in Headers */, + D60631FC114CB93B29C64146E68AC530 /* WBGTextToolView.h in Headers */, + 57A91AF1A36CF2950C9BE9EE3535B0DC /* ZMJImageEditor-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EEDE957F6B97E95BB75800C5D91ADC48 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 6C33FEAF7483FB8FD42015EE8F4BEFAC /* CALayer+YYAdd.h in Headers */, + 40A53A172551896FF40F1F0C7D946963 /* NSArray+YYAdd.h in Headers */, + B09CA66D3BB166CECCAD850932DB149F /* NSBundle+YYAdd.h in Headers */, + AF5DACC6C5BA9FC49EC3682409CBFF7E /* NSData+YYAdd.h in Headers */, + DA02D49AAA40A4BEE20B69E85DF4C912 /* NSDate+YYAdd.h in Headers */, + C0453499BD14CCF0EA35EEC1595A9BDF /* NSDictionary+YYAdd.h in Headers */, + 1B92107FFBB64E9AE5B1FF0565D5B995 /* NSKeyedUnarchiver+YYAdd.h in Headers */, + 8D5E9EB934168A681900DEDCFAE4ACD5 /* NSNotificationCenter+YYAdd.h in Headers */, + CDF88922E23519D958E98A87D886737C /* NSNumber+YYAdd.h in Headers */, + 22692AB0AA2073E557E3B63FF13E742C /* NSObject+YYAdd.h in Headers */, + A4F40AF0A964963A8C3E153080BCA9AF /* NSObject+YYAddForARC.h in Headers */, + 4A9137B2375B6B712F4FE1D9FDFCA3D3 /* NSObject+YYAddForKVO.h in Headers */, + CC4245A0C06C43E348F691A3ED804FB6 /* NSString+YYAdd.h in Headers */, + FBFC7B99173C83F04163C3882EB59809 /* NSThread+YYAdd.h in Headers */, + B6A8E974372D5B2771100E1325E09683 /* NSTimer+YYAdd.h in Headers */, + D6B6086E837B13F445CBD12AE55E9C50 /* UIApplication+YYAdd.h in Headers */, + 7A0AE732064D6912EBAF1FEA5372CCFB /* UIBarButtonItem+YYAdd.h in Headers */, + D7C71BC65D01946AEE2464DACD21F085 /* UIBezierPath+YYAdd.h in Headers */, + 3E0B2277F69874529B73FBE117897AE4 /* UIColor+YYAdd.h in Headers */, + 6F5D7628285BCEB1632538FEDBDFC991 /* UIControl+YYAdd.h in Headers */, + 155B7B5B6B039BAB5105E2C9B88D8A8B /* UIDevice+YYAdd.h in Headers */, + 27E52B617CD7AD1959BF889845F41877 /* UIFont+YYAdd.h in Headers */, + DA13D6EA246CC0AA93928DFAC8ADBFC4 /* UIGestureRecognizer+YYAdd.h in Headers */, + AD7811298CF1D5E6D03A8EE49ECB5E31 /* UIImage+YYAdd.h in Headers */, + 7180760AF6FCE116F1A2F7FA4E8C1131 /* UIScreen+YYAdd.h in Headers */, + 0E6C2333F34292CA00028D63828B241B /* UIScrollView+YYAdd.h in Headers */, + 35A273C264DCD5A3101BA4461F625FF6 /* UITableView+YYAdd.h in Headers */, + 06453BE748D85EAC5D267C5872B9B61F /* UITextField+YYAdd.h in Headers */, + 9A0F2F88FE1503AB25E25011C518B03F /* UIView+YYAdd.h in Headers */, + 009BC7E903F94ECA31277A7497339179 /* YYCategories-umbrella.h in Headers */, + 6270B4CBE865733B3B2AB8873675E31B /* YYCategories.h in Headers */, + 12B75FC68FCCFE81C578CDF07A3CB6D2 /* YYCategoriesMacro.h in Headers */, + 9E8AE8216E65BC0A04228FC4EB1DB2D7 /* YYCGUtilities.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F3E9930C736C01D12F5733EFD1F0A948 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8CD45B754192DE834B642975E85257AB /* MASCompositeConstraint.h in Headers */, + 4D4F2050654580FE1F1D5F4F82CEDDB8 /* MASConstraint+Private.h in Headers */, + C8DF22EAFFC2F81B0426E2165AC93E44 /* MASConstraint.h in Headers */, + 88DE7BAB1F4999A5F4B617F44E5FD1D3 /* MASConstraintMaker.h in Headers */, + 7C17BEA6034027310D1D205DB2008CA5 /* MASLayoutConstraint.h in Headers */, + 457ACF9150DCF9AF445B129CC9678FB6 /* Masonry-umbrella.h in Headers */, + CC8F9B4A1AC4E276EA8AA4C6F2BF3CD4 /* Masonry.h in Headers */, + 04A7D6AADAB213CE7D26F8EAD2F87536 /* MASUtilities.h in Headers */, + 636BBA734C1A17A734761D674FAE8800 /* MASViewAttribute.h in Headers */, + 091D17D5D8F832D28546A72B788CF0AE /* MASViewConstraint.h in Headers */, + C0A16E00B4BC2D88A7833D5DAED62942 /* NSArray+MASAdditions.h in Headers */, + D8B1525CB3DFCBD8E5032680530413D9 /* NSArray+MASShorthandAdditions.h in Headers */, + 0FDB2B4F75591851F0F119EAE70B3F63 /* NSLayoutConstraint+MASDebugAdditions.h in Headers */, + 068EF598E554EC57038ACFB89CC2C47A /* View+MASAdditions.h in Headers */, + B44383A3FA435C1E986942C817339302 /* View+MASShorthandAdditions.h in Headers */, + 2854C9B1086758BD2B6681206B6759B4 /* ViewController+MASAdditions.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 34CD2E3428AB802BACA62286FF5074B1 /* FBSnapshotTestCase */ = { + isa = PBXNativeTarget; + buildConfigurationList = F28097D43AF5CD8DA838ABD52A053790 /* Build configuration list for PBXNativeTarget "FBSnapshotTestCase" */; + buildPhases = ( + AD173CC510A850B6289189A20CD107AE /* Sources */, + 1D421A30A1BDB7E1C4216F64D0C939B1 /* Frameworks */, + 9DC6F5AC11E37A1EB45C6473C9E800B6 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = FBSnapshotTestCase; + productName = FBSnapshotTestCase; + productReference = 7CA0A50583B6C27B945C4ADD37672B6F /* FBSnapshotTestCase.framework */; + productType = "com.apple.product-type.framework"; + }; + 5A152BF216B923B412D88F1BD407006D /* Pods-ZMJImageEditor_Tests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 505C413EEF2B336F37A81F19663CB569 /* Build configuration list for PBXNativeTarget "Pods-ZMJImageEditor_Tests" */; + buildPhases = ( + A1671B92326A4BD49B4CAE25C1E34E8F /* Sources */, + 42FDFB8CF2971F8C76D52C9326CDB6FC /* Frameworks */, + 3577225D86D65B890A4B9151A4BFB04F /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + 6910B78A5843446EDBE141A933102D89 /* PBXTargetDependency */, + ); + name = "Pods-ZMJImageEditor_Tests"; + productName = "Pods-ZMJImageEditor_Tests"; + productReference = 2F980A703008F80D464E9CCEE5F2177F /* Pods_ZMJImageEditor_Tests.framework */; + productType = "com.apple.product-type.framework"; + }; + 7DA9A08318F9D9EA3278EFC3D8FF8170 /* Pods-ZMJImageEditor_Example */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1B598B177D19D1360BCB71DA9DCCCC85 /* Build configuration list for PBXNativeTarget "Pods-ZMJImageEditor_Example" */; + buildPhases = ( + CAB8BE3C946606F370AF48784B87E556 /* Sources */, + B998E3FFF638A179156143389ADADE51 /* Frameworks */, + 0505610608D5684F7153253CB0DC9D65 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + 124177C14E1EB7FAEF9B866818E7D976 /* PBXTargetDependency */, + C501973899F5A2A09EB55990A311B16B /* PBXTargetDependency */, + 50A65612AD4456F50A5AE388825F2061 /* PBXTargetDependency */, + ); + name = "Pods-ZMJImageEditor_Example"; + productName = "Pods-ZMJImageEditor_Example"; + productReference = F0059EE62408D27E57BBA84CF74C0F67 /* Pods_ZMJImageEditor_Example.framework */; + productType = "com.apple.product-type.framework"; + }; + 87D7F0C150CA7457900250EC5FB56470 /* YYCategories */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6C1E8DD41754CCB05D22CD2993743352 /* Build configuration list for PBXNativeTarget "YYCategories" */; + buildPhases = ( + E8C1275C55005613A3C6C99285B9417B /* Sources */, + 72DB0313405B981B9B29578A40750035 /* Frameworks */, + EEDE957F6B97E95BB75800C5D91ADC48 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = YYCategories; + productName = YYCategories; + productReference = 04335F2EFED04B65DE677919ED6F355F /* YYCategories.framework */; + productType = "com.apple.product-type.framework"; + }; + D52144DE9D7255DE912490FF5A806573 /* Masonry */ = { + isa = PBXNativeTarget; + buildConfigurationList = 02D024184BD368B565F3B6257DF3C605 /* Build configuration list for PBXNativeTarget "Masonry" */; + buildPhases = ( + F81D11D65E53E335DDBA6206E2E20270 /* Sources */, + F6EC657AC5A7BEE9A3D288B582F4C5E9 /* Frameworks */, + F3E9930C736C01D12F5733EFD1F0A948 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Masonry; + productName = Masonry; + productReference = F498C38B93CB5D78E5E2E1FC6BD22EE7 /* Masonry.framework */; + productType = "com.apple.product-type.framework"; + }; + DF3CAC8BF9A4BFD67F2331059AB809C4 /* ZMJImageEditor */ = { + isa = PBXNativeTarget; + buildConfigurationList = 51076BDBEA936B291B19D7ACE4E20208 /* Build configuration list for PBXNativeTarget "ZMJImageEditor" */; + buildPhases = ( + 2D6A78BF1C5AE7B015BA8660771086B1 /* Sources */, + 398A2CB63612359BB0D4A19FD84BFAF7 /* Frameworks */, + EBD3DD931B544DFAD44A4594939AA409 /* Headers */, + 0235397F8AB6698A70F0AD0BAB2F1E64 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 62B1DDC0EBA252D294CDAAC519C0A565 /* PBXTargetDependency */, + 1D5AB39A58BDDA7219F66DE09ED93043 /* PBXTargetDependency */, + ); + name = ZMJImageEditor; + productName = ZMJImageEditor; + productReference = 3F9A0F837A37A4D7B16B89E1DB209A8A /* ZMJImageEditor.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0930; + LastUpgradeCheck = 0930; + }; + buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + English, + en, + "zh-Hans", + Base, + "zh-Hant", + da, + de, + es, + fr, + id, + it, + ja, + ko, + nl, + pl, + pt, + ru, + tr, + vi, + ar, + ); + mainGroup = 7DB346D0F39D3F0E887471402A8071AB; + productRefGroup = 613F2DEBD24075B3D5D8782FFA6EDA0C /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 34CD2E3428AB802BACA62286FF5074B1 /* FBSnapshotTestCase */, + D52144DE9D7255DE912490FF5A806573 /* Masonry */, + 7DA9A08318F9D9EA3278EFC3D8FF8170 /* Pods-ZMJImageEditor_Example */, + 5A152BF216B923B412D88F1BD407006D /* Pods-ZMJImageEditor_Tests */, + 87D7F0C150CA7457900250EC5FB56470 /* YYCategories */, + DF3CAC8BF9A4BFD67F2331059AB809C4 /* ZMJImageEditor */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 0235397F8AB6698A70F0AD0BAB2F1E64 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4B4D0E5B7626184E389C9F6F12F2A83F /* EditImage.xcassets in Resources */, + 9790BFB4EB481EA23517B5A4EC54A9DC /* WBGImageEditorViewController.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 2D6A78BF1C5AE7B015BA8660771086B1 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C1F18227E0134BECA902FA724CA5DCE3 /* ColorfullButton.m in Sources */, + 86BE2A79B177B0DEE300C8222D1CF591 /* TOActivityCroppedImageProvider.m in Sources */, + 8C49535786C1C4ED144D2CB854129DC0 /* TOCropOverlayView.m in Sources */, + F51600ED2074955D00656DF6 /* WBGMosicaViewController.m in Sources */, + BE696E03EF0A24976648C02CCFDC9009 /* TOCroppedImageAttributes.m in Sources */, + 4FBDC7E130265E68F98D665DA6C65502 /* TOCropScrollView.m in Sources */, + 686294615C627FA1CE16BC743375B22E /* TOCropToolbar.m in Sources */, + 43FB38E4319B481924E3A98621C90C06 /* TOCropView.m in Sources */, + C2910FB3919C3AB7F9167D28399845A7 /* TOCropViewController.m in Sources */, + 4855CA074D67AA3DA51B2E9450046AA8 /* TOCropViewControllerLocalizable.strings in Sources */, + A45ABD3AE666386996D2CDBA89524DBF /* TOCropViewControllerLocalizable.strings in Sources */, + 14E53985EEA4291C4C813CA6B8B7E206 /* TOCropViewControllerLocalizable.strings in Sources */, + B63E54CCA06B259ED3F4D6A74B939B18 /* TOCropViewControllerLocalizable.strings in Sources */, + D89B0808DD8643E7DB505E1DF5EAA3B0 /* TOCropViewControllerLocalizable.strings in Sources */, + A1A0FD734430CB79A66B5D5BA3399D53 /* TOCropViewControllerLocalizable.strings in Sources */, + 89016F2768317A9C061990A8F63C7DAC /* TOCropViewControllerLocalizable.strings in Sources */, + 4B4CC22CB2B8EEF61842A6D545D6B0A3 /* TOCropViewControllerLocalizable.strings in Sources */, + C2227F21ADEA4B2E162E9DF448F38A33 /* TOCropViewControllerLocalizable.strings in Sources */, + 1A5C0AD98AB623200E4C042D4EBEC12B /* TOCropViewControllerLocalizable.strings in Sources */, + 03A0D5C3F30220D1A75FCB4EB9D550E3 /* TOCropViewControllerLocalizable.strings in Sources */, + 387C9C60C80C23EE553B5773C1AE9C8C /* TOCropViewControllerLocalizable.strings in Sources */, + 7CABE51B8E2347FE7C45FE698D0477CE /* TOCropViewControllerLocalizable.strings in Sources */, + D19872333B5B6FC6E570B385969B03D2 /* TOCropViewControllerLocalizable.strings in Sources */, + 0561DBBAC433A8393C82E9581332B8F2 /* TOCropViewControllerLocalizable.strings in Sources */, + 1FD8CCC3B105795985800DD8DEE90283 /* TOCropViewControllerLocalizable.strings in Sources */, + B8F2E7F8EC7E1E0359C8F7DBCDB3EC91 /* TOCropViewControllerLocalizable.strings in Sources */, + 65C9BC1819F330D4BD33722F26DE631B /* TOCropViewControllerLocalizable.strings in Sources */, + 4B98C9998726791655FCE42C5AD0379B /* TOCropViewControllerLocalizable.strings in Sources */, + 28467C9A7D56688956810ADF4AFC0E4F /* TOCropViewControllerTransitioning.m in Sources */, + 7BC4C3FB0E1234F999DF1B808941631C /* UIColor+TLChat.m in Sources */, + 90563C5CEC9A5E3C931A25520FFFCB94 /* UIImage+CropRotate.m in Sources */, + 250BD284BDC3DCF64DDA776B88B3E117 /* UIImage+library.m in Sources */, + 3941D1D1F4DD47A2BFBE51BDFA03E413 /* WBGBaseKeyboard.m in Sources */, + BDA49498D4FA5F723E9C7ECE14628E55 /* WBGDrawTool.m in Sources */, + 0A8230463EEE6D7A300682E1F2E44E0B /* WBGImageEditor.m in Sources */, + 0757CB12206E308300CD8D2C /* XPixelItem.m in Sources */, + 7D6169BD2D34A6B7DB7D4852BDE64172 /* WBGImageEditorGestureManager.m in Sources */, + 0757CB14206E308300CD8D2C /* XRGBTool.m in Sources */, + 2961C30712DBBC6299407304022E4722 /* WBGImageEditorViewController.m in Sources */, + 7AC0806BD3A808461BE626BDB26E8EE0 /* WBGImageToolBase.m in Sources */, + 8118EF74ECED7C0F719D8061EAE8337C /* WBGMoreKeyboard+CollectionView.m in Sources */, + 2E870DEE3BA0030C9403F3E2DCD6997E /* WBGMoreKeyboard.m in Sources */, + 2C8CF429A4E6C1F7F875A51B737C6C00 /* WBGMoreKeyboardCell.m in Sources */, + 0757CB16206E308300CD8D2C /* XScratchView.m in Sources */, + 682D40E53A189AF5AB40658ACF885ED5 /* WBGMoreKeyboardItem.m in Sources */, + 9132734E8F355E6651D5A4A2BE26E7E7 /* WBGTextTool.m in Sources */, + FC69D469BE65890F4D6B8C09D7F626CE /* WBGTextToolView.m in Sources */, + 670EB0EDC617ABD20A3BA732F912E8C0 /* ZMJImageEditor-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A1671B92326A4BD49B4CAE25C1E34E8F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + EDC4DB0F79B9F10F8BD8FF343EFB103E /* Pods-ZMJImageEditor_Tests-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AD173CC510A850B6289189A20CD107AE /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F33986F4969B4F178AF9EB568FE8B1AA /* FBSnapshotTestCase-dummy.m in Sources */, + D097F3914F8E2EA14FB7C88FA3099F26 /* FBSnapshotTestCase.m in Sources */, + 7F97C4BCF71877056A7829143E78F33B /* FBSnapshotTestCasePlatform.m in Sources */, + F51600EC2074955D00656DF6 /* WBGMosicaViewController.m in Sources */, + E9D5EF482949E65F0E84B0810721CFBF /* FBSnapshotTestController.m in Sources */, + 5F65495211297994220A8D081EAEFE15 /* SwiftSupport.swift in Sources */, + 61100C0E6FB329EE38659B3E5A1B7090 /* UIApplication+StrictKeyWindow.m in Sources */, + 1B9CD9B6D735874DB6B698EBA615EA6B /* UIImage+Compare.m in Sources */, + 7408D9BD00535B58DA91AF916EE58641 /* UIImage+Diff.m in Sources */, + 6FAB5298272C4B4E26438CF8C9F14BA4 /* UIImage+Snapshot.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CAB8BE3C946606F370AF48784B87E556 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F2A7E90D4D0CCFCB77259EA2A09568DC /* Pods-ZMJImageEditor_Example-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E8C1275C55005613A3C6C99285B9417B /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FD0574087B825F02372E8D86A5D08909 /* CALayer+YYAdd.m in Sources */, + FDD65CADA9015E07352A594A557209AE /* NSArray+YYAdd.m in Sources */, + 8EC154DBDC3E19254D3A4F562F9DCE9F /* NSBundle+YYAdd.m in Sources */, + E9A33425B14E879746FD1F6F4C39EDA1 /* NSData+YYAdd.m in Sources */, + 9C68C0A168D22073B8FE8C0049DF9F12 /* NSDate+YYAdd.m in Sources */, + E8BCB00EB02CB959CB2A5632396E8287 /* NSDictionary+YYAdd.m in Sources */, + A331CAFC6468A9E23D34A3ADB887176C /* NSKeyedUnarchiver+YYAdd.m in Sources */, + 134956DD8D77170A84CA0B6777E29514 /* NSNotificationCenter+YYAdd.m in Sources */, + 7237EF1ED7EB63D34547CD2170635528 /* NSNumber+YYAdd.m in Sources */, + ED452B68FE3A201F80FB2C45283A87EA /* NSObject+YYAdd.m in Sources */, + 45472DAFDE192B1DCE68731DA30F32F1 /* NSObject+YYAddForARC.m in Sources */, + 4BD523C3473B9F9D5C269BF503C667BB /* NSObject+YYAddForKVO.m in Sources */, + DDBE28A0FFACEED542CD8CB5067F44F0 /* NSString+YYAdd.m in Sources */, + 5CF950A3F1412DA876B708A54DF86F10 /* NSThread+YYAdd.m in Sources */, + 4370395CF174041982C5C17F1049173B /* NSTimer+YYAdd.m in Sources */, + CD89591CCD13051183D73E23A04C4E8D /* UIApplication+YYAdd.m in Sources */, + E9C404EA9549983F54C9117E34777D6B /* UIBarButtonItem+YYAdd.m in Sources */, + 76F88286856F254F9D87E1FB7DEDB192 /* UIBezierPath+YYAdd.m in Sources */, + B689DE2BB9D661E4B6B28D504704A668 /* UIColor+YYAdd.m in Sources */, + 56BBD301D6DDC46B5E36796EA1C12E3F /* UIControl+YYAdd.m in Sources */, + 187737A2D18B069C0A3A9A696F4FB7BC /* UIDevice+YYAdd.m in Sources */, + 044C663A39B20FC2AB618FBE948664EE /* UIFont+YYAdd.m in Sources */, + EC1E9A66D3FB27337CB68784F3705467 /* UIGestureRecognizer+YYAdd.m in Sources */, + A79A783CA09CA27E3B9709B97BE9B67D /* UIImage+YYAdd.m in Sources */, + EBFADCBE2D0FFADC074AD02C67EAE207 /* UIScreen+YYAdd.m in Sources */, + 7F03673E8013A64329C29F63658C8C0C /* UIScrollView+YYAdd.m in Sources */, + 184FC8F2D1E548C5B7129E27276F030A /* UITableView+YYAdd.m in Sources */, + ECB4ACC8213D6D037FDC4AD74133F00B /* UITextField+YYAdd.m in Sources */, + FA51E4984856B7BCAD1358F4A4815EE4 /* UIView+YYAdd.m in Sources */, + E3F7C98CDFA11FDC268DA34B3A3EEE27 /* YYCategories-dummy.m in Sources */, + 0C9B209BEA71E9FC659FC42C4A5B6566 /* YYCGUtilities.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F81D11D65E53E335DDBA6206E2E20270 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + EA888CABD6B2305C25A210B94AC52B45 /* MASCompositeConstraint.m in Sources */, + 716475937A9612FB91D9E82059FFD6E6 /* MASConstraint.m in Sources */, + 4659B2125519FE5977DEDA6076CEBCC9 /* MASConstraintMaker.m in Sources */, + 06AC7884D3A65A6A4A56AFBFD443D2BF /* MASLayoutConstraint.m in Sources */, + 816AA6C651AE9E9E3CEF5B3ED45C9C11 /* Masonry-dummy.m in Sources */, + 0192F6C257532571397302894FD4992A /* MASViewAttribute.m in Sources */, + 60635349E1797676CCA1165045198BD1 /* MASViewConstraint.m in Sources */, + 047BD48DE66931394A7C768E56F4228F /* NSArray+MASAdditions.m in Sources */, + 2E06CE583CF00D3050D8A1961E269CE2 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */, + 78760302595AC1AC5BC8374A7495D525 /* View+MASAdditions.m in Sources */, + 0413208A707F6770F23A42B3001E9B5E /* ViewController+MASAdditions.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 124177C14E1EB7FAEF9B866818E7D976 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Masonry; + target = D52144DE9D7255DE912490FF5A806573 /* Masonry */; + targetProxy = E033CF997A8955A17CAE9BB7D88C738C /* PBXContainerItemProxy */; + }; + 1D5AB39A58BDDA7219F66DE09ED93043 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = YYCategories; + target = 87D7F0C150CA7457900250EC5FB56470 /* YYCategories */; + targetProxy = CD2442C600856B08B85289D4E7DC0A66 /* PBXContainerItemProxy */; + }; + 50A65612AD4456F50A5AE388825F2061 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = ZMJImageEditor; + target = DF3CAC8BF9A4BFD67F2331059AB809C4 /* ZMJImageEditor */; + targetProxy = ED7137D8CD4CA2D35FD74DED3AEEC736 /* PBXContainerItemProxy */; + }; + 62B1DDC0EBA252D294CDAAC519C0A565 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Masonry; + target = D52144DE9D7255DE912490FF5A806573 /* Masonry */; + targetProxy = 28D1D41F0D2120055F48846D6F5CD53A /* PBXContainerItemProxy */; + }; + 6910B78A5843446EDBE141A933102D89 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = FBSnapshotTestCase; + target = 34CD2E3428AB802BACA62286FF5074B1 /* FBSnapshotTestCase */; + targetProxy = 5A1579D5A0D5EE88595680BD30BEB7AA /* PBXContainerItemProxy */; + }; + C501973899F5A2A09EB55990A311B16B /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = YYCategories; + target = 87D7F0C150CA7457900250EC5FB56470 /* YYCategories */; + targetProxy = AA1B51AD68DB63D3202A00838987D860 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 6DB7AEC5BFFC9BBFD9EC7155944B3904 /* TOCropViewControllerLocalizable.strings */ = { + isa = PBXVariantGroup; + children = ( + 08D7733E18EFAE68E2825697D10BF492 /* TOCropViewControllerLocalizable.strings */, + CA518139E5184512FEBC043CAC64B26E /* TOCropViewControllerLocalizable.strings */, + 3C78A3C38A7BBA8A56037817D1E12603 /* TOCropViewControllerLocalizable.strings */, + 432325F43EFF648D5F4CB1CDCCCCAD47 /* TOCropViewControllerLocalizable.strings */, + B3800F867A2D7D8288D3F30F5822CCA0 /* TOCropViewControllerLocalizable.strings */, + 23BAA4155AC910B792A64241A611AC10 /* TOCropViewControllerLocalizable.strings */, + 83884BE41B035F732968D0192687AA29 /* TOCropViewControllerLocalizable.strings */, + 785ACF7D42DA59720F6001D0768AA77D /* TOCropViewControllerLocalizable.strings */, + 9BCA265A0270536F587F1BC7D9D818D1 /* TOCropViewControllerLocalizable.strings */, + 40C23029ABF2304B748D47EACFD79BBD /* TOCropViewControllerLocalizable.strings */, + F6E2E2A34F3CD514DC72B581FD8BF37F /* TOCropViewControllerLocalizable.strings */, + 8C7B98967BE290EB6AA130B05672B387 /* TOCropViewControllerLocalizable.strings */, + 21D8B8B16324700E620FB1A85E693713 /* TOCropViewControllerLocalizable.strings */, + 8A90A90031A8AAD9360D474E8EAAFB4A /* TOCropViewControllerLocalizable.strings */, + 774B6534926D32CEB26271301E61845B /* TOCropViewControllerLocalizable.strings */, + 8386DF32B289C51BCE56ED50F9D929CD /* TOCropViewControllerLocalizable.strings */, + 8E41D47A66AD4CB990E1909A7D987A8D /* TOCropViewControllerLocalizable.strings */, + 5A2F4395A956FF0DE366189A16B3BCC4 /* TOCropViewControllerLocalizable.strings */, + 84C417853E9A2AC8E3FE915E50E234E1 /* TOCropViewControllerLocalizable.strings */, + ); + name = TOCropViewControllerLocalizable.strings; + path = .; + sourceTree = ""; + }; + 956EA9D3EE5C84A3AE5545D6D101FFFC /* WBGImageEditorViewController.xib */ = { + isa = PBXVariantGroup; + children = ( + 781B11D056195D87313659BC50121D05 /* WBGImageEditorViewController.strings */, + 866B225CB1DA555213F674EDDD8BB0C8 /* WBGImageEditorViewController.strings */, + A7AC881042E1924204424782969BD55F /* WBGImageEditorViewController.xib */, + ); + name = WBGImageEditorViewController.xib; + path = ZMJImageEditor/Assets; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 07A95C29B8FA3DCBF3E87DC19C3EF6F7 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = DE7680615C4DC4CCE837C07C30D0D345 /* FBSnapshotTestCase.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/FBSnapshotTestCase/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap"; + PRODUCT_NAME = FBSnapshotTestCase; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 3.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 0E856C659AD8E4C09B9EC5557F7D727B /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 76A3647C115D332ADE0EAFB3CD5112FD /* Masonry.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Masonry/Masonry-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Masonry/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Masonry/Masonry.modulemap"; + PRODUCT_NAME = Masonry; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 1F2B05BDAA1F32F9845FBF35781F57DB /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 76A3647C115D332ADE0EAFB3CD5112FD /* Masonry.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Masonry/Masonry-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Masonry/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Masonry/Masonry.modulemap"; + PRODUCT_NAME = Masonry; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 31B8F14B6F954B62C9AE61669B18913D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6CFB0B6BD03DCB4133F5F93ED56A6D33 /* Pods-ZMJImageEditor_Example.debug.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-ZMJImageEditor_Example/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = Pods_ZMJImageEditor_Example; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 38E7F1CF2773C0F6FB8629C8B9571FF0 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 83406B3C073C17800D67FFC258540BDF /* Pods-ZMJImageEditor_Tests.debug.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-ZMJImageEditor_Tests/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = Pods_ZMJImageEditor_Tests; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 59212FF961477C8F8F758D7414A345FC /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = DE7680615C4DC4CCE837C07C30D0D345 /* FBSnapshotTestCase.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/FBSnapshotTestCase/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap"; + PRODUCT_NAME = FBSnapshotTestCase; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 797731EE571A8742F3CD8EF41B7B3442 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3D22F9D967CAD79AD3DFE34452812DD4 /* YYCategories.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/YYCategories/YYCategories-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/YYCategories/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/YYCategories/YYCategories.modulemap"; + PRODUCT_NAME = YYCategories; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + AB6B633DE98D9F70D3734775F7152388 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3AD75A93EAA754FB640E90703CBA5041 /* Pods-ZMJImageEditor_Example.release.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-ZMJImageEditor_Example/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = Pods_ZMJImageEditor_Example; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + C3E37FB098AE76440E29106ADBF00CEB /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_REQUIRED = NO; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Debug; + }; + C695DB52709A5832CD8A16333EE7D17D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 40A08FBFF7B69B5FE6C6D0F271387C93 /* ZMJImageEditor.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/ZMJImageEditor/ZMJImageEditor-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/ZMJImageEditor/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/ZMJImageEditor/ZMJImageEditor.modulemap"; + PRODUCT_NAME = ZMJImageEditor; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + D6087A41D7FEA5BFF67144808FFD85CB /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3D22F9D967CAD79AD3DFE34452812DD4 /* YYCategories.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/YYCategories/YYCategories-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/YYCategories/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/YYCategories/YYCategories.modulemap"; + PRODUCT_NAME = YYCategories; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + DA03565BE765DB55C6448FB363A44481 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_REQUIRED = NO; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_RELEASE=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; + STRIP_INSTALLED_PRODUCT = NO; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Release; + }; + F0D3F027D866025EA5174DFC77C2C1D5 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B6C7710872A7D420370C5DAB17B68F30 /* Pods-ZMJImageEditor_Tests.release.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-ZMJImageEditor_Tests/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = Pods_ZMJImageEditor_Tests; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + FBC567B9DA538BDC771FBBF29D09085D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 40A08FBFF7B69B5FE6C6D0F271387C93 /* ZMJImageEditor.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/ZMJImageEditor/ZMJImageEditor-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/ZMJImageEditor/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/ZMJImageEditor/ZMJImageEditor.modulemap"; + PRODUCT_NAME = ZMJImageEditor; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 02D024184BD368B565F3B6257DF3C605 /* Build configuration list for PBXNativeTarget "Masonry" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1F2B05BDAA1F32F9845FBF35781F57DB /* Debug */, + 0E856C659AD8E4C09B9EC5557F7D727B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 1B598B177D19D1360BCB71DA9DCCCC85 /* Build configuration list for PBXNativeTarget "Pods-ZMJImageEditor_Example" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 31B8F14B6F954B62C9AE61669B18913D /* Debug */, + AB6B633DE98D9F70D3734775F7152388 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C3E37FB098AE76440E29106ADBF00CEB /* Debug */, + DA03565BE765DB55C6448FB363A44481 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 505C413EEF2B336F37A81F19663CB569 /* Build configuration list for PBXNativeTarget "Pods-ZMJImageEditor_Tests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 38E7F1CF2773C0F6FB8629C8B9571FF0 /* Debug */, + F0D3F027D866025EA5174DFC77C2C1D5 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 51076BDBEA936B291B19D7ACE4E20208 /* Build configuration list for PBXNativeTarget "ZMJImageEditor" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C695DB52709A5832CD8A16333EE7D17D /* Debug */, + FBC567B9DA538BDC771FBBF29D09085D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 6C1E8DD41754CCB05D22CD2993743352 /* Build configuration list for PBXNativeTarget "YYCategories" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D6087A41D7FEA5BFF67144808FFD85CB /* Debug */, + 797731EE571A8742F3CD8EF41B7B3442 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + F28097D43AF5CD8DA838ABD52A053790 /* Build configuration list for PBXNativeTarget "FBSnapshotTestCase" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 59212FF961477C8F8F758D7414A345FC /* Debug */, + 07A95C29B8FA3DCBF3E87DC19C3EF6F7 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; +} diff --git a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m new file mode 100755 index 0000000..fb0c8fe --- /dev/null +++ b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_FBSnapshotTestCase : NSObject +@end +@implementation PodsDummy_FBSnapshotTestCase +@end diff --git a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch new file mode 100755 index 0000000..beb2a24 --- /dev/null +++ b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h new file mode 100755 index 0000000..1734e02 --- /dev/null +++ b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h @@ -0,0 +1,19 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "FBSnapshotTestCase.h" +#import "FBSnapshotTestCasePlatform.h" +#import "FBSnapshotTestController.h" + +FOUNDATION_EXPORT double FBSnapshotTestCaseVersionNumber; +FOUNDATION_EXPORT const unsigned char FBSnapshotTestCaseVersionString[]; + diff --git a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap new file mode 100755 index 0000000..45b74ec --- /dev/null +++ b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap @@ -0,0 +1,6 @@ +framework module FBSnapshotTestCase { + umbrella header "FBSnapshotTestCase-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.xcconfig b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.xcconfig new file mode 100755 index 0000000..289fc80 --- /dev/null +++ b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.xcconfig @@ -0,0 +1,13 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase +ENABLE_BITCODE = NO +FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" +OTHER_LDFLAGS = -framework "Foundation" -framework "QuartzCore" -framework "UIKit" -framework "XCTest" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" "-suppress-warnings" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/FBSnapshotTestCase +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES diff --git a/Example/Pods/Target Support Files/FBSnapshotTestCase/Info.plist b/Example/Pods/Target Support Files/FBSnapshotTestCase/Info.plist new file mode 100755 index 0000000..57b76a5 --- /dev/null +++ b/Example/Pods/Target Support Files/FBSnapshotTestCase/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 2.1.4 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/Masonry/Info.plist b/Example/Pods/Target Support Files/Masonry/Info.plist new file mode 100755 index 0000000..b35ab35 --- /dev/null +++ b/Example/Pods/Target Support Files/Masonry/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0.2 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/Masonry/Masonry-dummy.m b/Example/Pods/Target Support Files/Masonry/Masonry-dummy.m new file mode 100755 index 0000000..04001b1 --- /dev/null +++ b/Example/Pods/Target Support Files/Masonry/Masonry-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Masonry : NSObject +@end +@implementation PodsDummy_Masonry +@end diff --git a/Example/Pods/Target Support Files/Masonry/Masonry-prefix.pch b/Example/Pods/Target Support Files/Masonry/Masonry-prefix.pch new file mode 100755 index 0000000..beb2a24 --- /dev/null +++ b/Example/Pods/Target Support Files/Masonry/Masonry-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Example/Pods/Target Support Files/Masonry/Masonry-umbrella.h b/Example/Pods/Target Support Files/Masonry/Masonry-umbrella.h new file mode 100755 index 0000000..3fe9c4c --- /dev/null +++ b/Example/Pods/Target Support Files/Masonry/Masonry-umbrella.h @@ -0,0 +1,31 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "MASCompositeConstraint.h" +#import "MASConstraint+Private.h" +#import "MASConstraint.h" +#import "MASConstraintMaker.h" +#import "MASLayoutConstraint.h" +#import "Masonry.h" +#import "MASUtilities.h" +#import "MASViewAttribute.h" +#import "MASViewConstraint.h" +#import "NSArray+MASAdditions.h" +#import "NSArray+MASShorthandAdditions.h" +#import "NSLayoutConstraint+MASDebugAdditions.h" +#import "View+MASAdditions.h" +#import "View+MASShorthandAdditions.h" +#import "ViewController+MASAdditions.h" + +FOUNDATION_EXPORT double MasonryVersionNumber; +FOUNDATION_EXPORT const unsigned char MasonryVersionString[]; + diff --git a/Example/Pods/Target Support Files/Masonry/Masonry.modulemap b/Example/Pods/Target Support Files/Masonry/Masonry.modulemap new file mode 100755 index 0000000..06ec492 --- /dev/null +++ b/Example/Pods/Target Support Files/Masonry/Masonry.modulemap @@ -0,0 +1,6 @@ +framework module Masonry { + umbrella header "Masonry-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/Pods/Target Support Files/Masonry/Masonry.xcconfig b/Example/Pods/Target Support Files/Masonry/Masonry.xcconfig new file mode 100755 index 0000000..c830bdd --- /dev/null +++ b/Example/Pods/Target Support Files/Masonry/Masonry.xcconfig @@ -0,0 +1,10 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Masonry +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" +OTHER_LDFLAGS = -framework "Foundation" -framework "UIKit" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/Masonry +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES diff --git a/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Info.plist b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Info.plist new file mode 100755 index 0000000..2243fe6 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-acknowledgements.markdown new file mode 100755 index 0000000..0d5f1f7 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-acknowledgements.markdown @@ -0,0 +1,74 @@ +# Acknowledgements +This application makes use of the following third party libraries: + +## Masonry + +Copyright (c) 2011-2012 Masonry Team - https://github.com/Masonry + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +## YYCategories + +The MIT License (MIT) + +Copyright (c) 2015 ibireme + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +## ZMJImageEditor + +Copyright (c) 2017 keshiim + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Generated by CocoaPods - https://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-acknowledgements.plist new file mode 100755 index 0000000..5aa1754 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-acknowledgements.plist @@ -0,0 +1,118 @@ + + + + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2011-2012 Masonry Team - https://github.com/Masonry + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + License + MIT + Title + Masonry + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2015 ibireme <ibireme@gmail.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + License + MIT + Title + YYCategories + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2017 keshiim <keshiim@163.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + License + MIT + Title + ZMJImageEditor + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + + diff --git a/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-dummy.m b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-dummy.m new file mode 100755 index 0000000..eb8f31a --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_ZMJImageEditor_Example : NSObject +@end +@implementation PodsDummy_Pods_ZMJImageEditor_Example +@end diff --git a/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-frameworks.sh b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-frameworks.sh new file mode 100755 index 0000000..2b87014 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-frameworks.sh @@ -0,0 +1,148 @@ +#!/bin/sh +set -e + +echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + +SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" + +# Used as a return value for each invocation of `strip_invalid_archs` function. +STRIP_BINARY_RETVAL=0 + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +# Copies and strips a vendored framework +install_framework() +{ + if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then + local source="${BUILT_PRODUCTS_DIR}/$1" + elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then + local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" + elif [ -r "$1" ]; then + local source="$1" + fi + + local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + + if [ -L "${source}" ]; then + echo "Symlinked..." + source="$(readlink "${source}")" + fi + + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + + local basename + basename="$(basename -s .framework "$1")" + binary="${destination}/${basename}.framework/${basename}" + if ! [ -r "$binary" ]; then + binary="${destination}/${basename}" + fi + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then + strip_invalid_archs "$binary" + fi + + # Resign the code if required by the build settings to avoid unstable apps + code_sign_if_enabled "${destination}/$(basename "$1")" + + # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. + if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then + local swift_runtime_libs + swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) + for lib in $swift_runtime_libs; do + echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" + rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" + code_sign_if_enabled "${destination}/${lib}" + done + fi +} + +# Copies and strips a vendored dSYM +install_dsym() { + local source="$1" + if [ -r "$source" ]; then + # Copy the dSYM into a the targets temp dir. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" + + local basename + basename="$(basename -s .framework.dSYM "$source")" + binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}" + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then + strip_invalid_archs "$binary" + fi + + if [[ $STRIP_BINARY_RETVAL == 1 ]]; then + # Move the stripped file into its final destination. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}" + else + # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. + touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM" + fi + fi +} + +# Signs a framework with the provided identity +code_sign_if_enabled() { + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identitiy + echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'" + + if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + code_sign_cmd="$code_sign_cmd &" + fi + echo "$code_sign_cmd" + eval "$code_sign_cmd" + fi +} + +# Strip invalid architectures +strip_invalid_archs() { + binary="$1" + # Get architectures for current target binary + binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" + # Intersect them with the architectures we are building for + intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" + # If there are no archs supported by this binary then warn the user + if [[ -z "$intersected_archs" ]]; then + echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." + STRIP_BINARY_RETVAL=0 + return + fi + stripped="" + for arch in $binary_archs; do + if ! [[ "${ARCHS}" == *"$arch"* ]]; then + # Strip non-valid architectures in-place + lipo -remove "$arch" -output "$binary" "$binary" || exit 1 + stripped="$stripped $arch" + fi + done + if [[ "$stripped" ]]; then + echo "Stripped $binary of architectures:$stripped" + fi + STRIP_BINARY_RETVAL=1 +} + + +if [[ "$CONFIGURATION" == "Debug" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/Masonry/Masonry.framework" + install_framework "${BUILT_PRODUCTS_DIR}/YYCategories/YYCategories.framework" + install_framework "${BUILT_PRODUCTS_DIR}/ZMJImageEditor/ZMJImageEditor.framework" +fi +if [[ "$CONFIGURATION" == "Release" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/Masonry/Masonry.framework" + install_framework "${BUILT_PRODUCTS_DIR}/YYCategories/YYCategories.framework" + install_framework "${BUILT_PRODUCTS_DIR}/ZMJImageEditor/ZMJImageEditor.framework" +fi +if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + wait +fi diff --git a/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-resources.sh b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-resources.sh new file mode 100755 index 0000000..a7df440 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-resources.sh @@ -0,0 +1,106 @@ +#!/bin/sh +set -e + +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + +RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt +> "$RESOURCES_TO_COPY" + +XCASSET_FILES=() + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +case "${TARGETED_DEVICE_FAMILY}" in + 1,2) + TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" + ;; + 1) + TARGET_DEVICE_ARGS="--target-device iphone" + ;; + 2) + TARGET_DEVICE_ARGS="--target-device ipad" + ;; + 3) + TARGET_DEVICE_ARGS="--target-device tv" + ;; + 4) + TARGET_DEVICE_ARGS="--target-device watch" + ;; + *) + TARGET_DEVICE_ARGS="--target-device mac" + ;; +esac + +install_resource() +{ + if [[ "$1" = /* ]] ; then + RESOURCE_PATH="$1" + else + RESOURCE_PATH="${PODS_ROOT}/$1" + fi + if [[ ! -e "$RESOURCE_PATH" ]] ; then + cat << EOM +error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. +EOM + exit 1 + fi + case $RESOURCE_PATH in + *.storyboard) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} + ;; + *.xib) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} + ;; + *.framework) + echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true + mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + ;; + *.xcdatamodel) + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" + ;; + *.xcdatamodeld) + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" + ;; + *.xcmappingmodel) + echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true + xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" + ;; + *.xcassets) + ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" + XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") + ;; + *) + echo "$RESOURCE_PATH" || true + echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" + ;; + esac +} + +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then + mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +fi +rm -f "$RESOURCES_TO_COPY" + +if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] +then + # Find all other xcassets (this unfortunately includes those of path pods and other targets). + OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) + while read line; do + if [[ $line != "${PODS_ROOT}*" ]]; then + XCASSET_FILES+=("$line") + fi + done <<<"$OTHER_XCASSETS" + + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +fi diff --git a/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-umbrella.h b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-umbrella.h new file mode 100755 index 0000000..381234e --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double Pods_ZMJImageEditor_ExampleVersionNumber; +FOUNDATION_EXPORT const unsigned char Pods_ZMJImageEditor_ExampleVersionString[]; + diff --git a/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example.debug.xcconfig b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example.debug.xcconfig new file mode 100755 index 0000000..54d153c --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example.debug.xcconfig @@ -0,0 +1,9 @@ +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" "${PODS_CONFIGURATION_BUILD_DIR}/YYCategories" "${PODS_CONFIGURATION_BUILD_DIR}/ZMJImageEditor" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Masonry/Masonry.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYCategories/YYCategories.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/ZMJImageEditor/ZMJImageEditor.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "Masonry" -framework "YYCategories" -framework "ZMJImageEditor" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods diff --git a/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example.modulemap b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example.modulemap new file mode 100755 index 0000000..71b35d2 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example.modulemap @@ -0,0 +1,6 @@ +framework module Pods_ZMJImageEditor_Example { + umbrella header "Pods-ZMJImageEditor_Example-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example.release.xcconfig b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example.release.xcconfig new file mode 100755 index 0000000..54d153c --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example.release.xcconfig @@ -0,0 +1,9 @@ +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" "${PODS_CONFIGURATION_BUILD_DIR}/YYCategories" "${PODS_CONFIGURATION_BUILD_DIR}/ZMJImageEditor" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Masonry/Masonry.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYCategories/YYCategories.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/ZMJImageEditor/ZMJImageEditor.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "Masonry" -framework "YYCategories" -framework "ZMJImageEditor" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods diff --git a/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Info.plist b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Info.plist new file mode 100755 index 0000000..2243fe6 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-acknowledgements.markdown new file mode 100755 index 0000000..2a27ea6 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-acknowledgements.markdown @@ -0,0 +1,36 @@ +# Acknowledgements +This application makes use of the following third party libraries: + +## FBSnapshotTestCase + +BSD License + +For the FBSnapshotTestCase software + +Copyright (c) 2013, Facebook, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Generated by CocoaPods - https://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-acknowledgements.plist new file mode 100755 index 0000000..7f6bd1a --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-acknowledgements.plist @@ -0,0 +1,68 @@ + + + + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + BSD License + +For the FBSnapshotTestCase software + +Copyright (c) 2013, Facebook, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + License + BSD + Title + FBSnapshotTestCase + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + + diff --git a/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-dummy.m b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-dummy.m new file mode 100755 index 0000000..f34b159 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_ZMJImageEditor_Tests : NSObject +@end +@implementation PodsDummy_Pods_ZMJImageEditor_Tests +@end diff --git a/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-frameworks.sh b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-frameworks.sh new file mode 100755 index 0000000..a7ed4e9 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-frameworks.sh @@ -0,0 +1,144 @@ +#!/bin/sh +set -e + +echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + +SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" + +# Used as a return value for each invocation of `strip_invalid_archs` function. +STRIP_BINARY_RETVAL=0 + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +# Copies and strips a vendored framework +install_framework() +{ + if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then + local source="${BUILT_PRODUCTS_DIR}/$1" + elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then + local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" + elif [ -r "$1" ]; then + local source="$1" + fi + + local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + + if [ -L "${source}" ]; then + echo "Symlinked..." + source="$(readlink "${source}")" + fi + + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + + local basename + basename="$(basename -s .framework "$1")" + binary="${destination}/${basename}.framework/${basename}" + if ! [ -r "$binary" ]; then + binary="${destination}/${basename}" + fi + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then + strip_invalid_archs "$binary" + fi + + # Resign the code if required by the build settings to avoid unstable apps + code_sign_if_enabled "${destination}/$(basename "$1")" + + # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. + if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then + local swift_runtime_libs + swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) + for lib in $swift_runtime_libs; do + echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" + rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" + code_sign_if_enabled "${destination}/${lib}" + done + fi +} + +# Copies and strips a vendored dSYM +install_dsym() { + local source="$1" + if [ -r "$source" ]; then + # Copy the dSYM into a the targets temp dir. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" + + local basename + basename="$(basename -s .framework.dSYM "$source")" + binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}" + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then + strip_invalid_archs "$binary" + fi + + if [[ $STRIP_BINARY_RETVAL == 1 ]]; then + # Move the stripped file into its final destination. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}" + else + # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. + touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM" + fi + fi +} + +# Signs a framework with the provided identity +code_sign_if_enabled() { + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identitiy + echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'" + + if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + code_sign_cmd="$code_sign_cmd &" + fi + echo "$code_sign_cmd" + eval "$code_sign_cmd" + fi +} + +# Strip invalid architectures +strip_invalid_archs() { + binary="$1" + # Get architectures for current target binary + binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" + # Intersect them with the architectures we are building for + intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" + # If there are no archs supported by this binary then warn the user + if [[ -z "$intersected_archs" ]]; then + echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." + STRIP_BINARY_RETVAL=0 + return + fi + stripped="" + for arch in $binary_archs; do + if ! [[ "${ARCHS}" == *"$arch"* ]]; then + # Strip non-valid architectures in-place + lipo -remove "$arch" -output "$binary" "$binary" || exit 1 + stripped="$stripped $arch" + fi + done + if [[ "$stripped" ]]; then + echo "Stripped $binary of architectures:$stripped" + fi + STRIP_BINARY_RETVAL=1 +} + + +if [[ "$CONFIGURATION" == "Debug" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.framework" +fi +if [[ "$CONFIGURATION" == "Release" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.framework" +fi +if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + wait +fi diff --git a/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-resources.sh b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-resources.sh new file mode 100755 index 0000000..a7df440 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-resources.sh @@ -0,0 +1,106 @@ +#!/bin/sh +set -e + +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + +RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt +> "$RESOURCES_TO_COPY" + +XCASSET_FILES=() + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +case "${TARGETED_DEVICE_FAMILY}" in + 1,2) + TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" + ;; + 1) + TARGET_DEVICE_ARGS="--target-device iphone" + ;; + 2) + TARGET_DEVICE_ARGS="--target-device ipad" + ;; + 3) + TARGET_DEVICE_ARGS="--target-device tv" + ;; + 4) + TARGET_DEVICE_ARGS="--target-device watch" + ;; + *) + TARGET_DEVICE_ARGS="--target-device mac" + ;; +esac + +install_resource() +{ + if [[ "$1" = /* ]] ; then + RESOURCE_PATH="$1" + else + RESOURCE_PATH="${PODS_ROOT}/$1" + fi + if [[ ! -e "$RESOURCE_PATH" ]] ; then + cat << EOM +error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. +EOM + exit 1 + fi + case $RESOURCE_PATH in + *.storyboard) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} + ;; + *.xib) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} + ;; + *.framework) + echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true + mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + ;; + *.xcdatamodel) + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" + ;; + *.xcdatamodeld) + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" + ;; + *.xcmappingmodel) + echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true + xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" + ;; + *.xcassets) + ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" + XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") + ;; + *) + echo "$RESOURCE_PATH" || true + echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" + ;; + esac +} + +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then + mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +fi +rm -f "$RESOURCES_TO_COPY" + +if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] +then + # Find all other xcassets (this unfortunately includes those of path pods and other targets). + OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) + while read line; do + if [[ $line != "${PODS_ROOT}*" ]]; then + XCASSET_FILES+=("$line") + fi + done <<<"$OTHER_XCASSETS" + + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +fi diff --git a/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-umbrella.h b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-umbrella.h new file mode 100755 index 0000000..f36b3ff --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double Pods_ZMJImageEditor_TestsVersionNumber; +FOUNDATION_EXPORT const unsigned char Pods_ZMJImageEditor_TestsVersionString[]; + diff --git a/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests.debug.xcconfig b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests.debug.xcconfig new file mode 100755 index 0000000..69d7e16 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests.debug.xcconfig @@ -0,0 +1,11 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks "${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" "${PODS_CONFIGURATION_BUILD_DIR}/YYCategories" "${PODS_CONFIGURATION_BUILD_DIR}/ZMJImageEditor" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.framework/Headers" $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Masonry/Masonry.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYCategories/YYCategories.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/ZMJImageEditor/ZMJImageEditor.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "FBSnapshotTestCase" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods diff --git a/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests.modulemap b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests.modulemap new file mode 100755 index 0000000..d64aada --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests.modulemap @@ -0,0 +1,6 @@ +framework module Pods_ZMJImageEditor_Tests { + umbrella header "Pods-ZMJImageEditor_Tests-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests.release.xcconfig b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests.release.xcconfig new file mode 100755 index 0000000..69d7e16 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests.release.xcconfig @@ -0,0 +1,11 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks "${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" "${PODS_CONFIGURATION_BUILD_DIR}/YYCategories" "${PODS_CONFIGURATION_BUILD_DIR}/ZMJImageEditor" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.framework/Headers" $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Masonry/Masonry.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYCategories/YYCategories.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/ZMJImageEditor/ZMJImageEditor.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "FBSnapshotTestCase" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods diff --git a/Example/Pods/Target Support Files/YYCategories/Info.plist b/Example/Pods/Target Support Files/YYCategories/Info.plist new file mode 100755 index 0000000..2660a93 --- /dev/null +++ b/Example/Pods/Target Support Files/YYCategories/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0.4 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/YYCategories/YYCategories-dummy.m b/Example/Pods/Target Support Files/YYCategories/YYCategories-dummy.m new file mode 100755 index 0000000..9c28603 --- /dev/null +++ b/Example/Pods/Target Support Files/YYCategories/YYCategories-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_YYCategories : NSObject +@end +@implementation PodsDummy_YYCategories +@end diff --git a/Example/Pods/Target Support Files/YYCategories/YYCategories-prefix.pch b/Example/Pods/Target Support Files/YYCategories/YYCategories-prefix.pch new file mode 100755 index 0000000..beb2a24 --- /dev/null +++ b/Example/Pods/Target Support Files/YYCategories/YYCategories-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Example/Pods/Target Support Files/YYCategories/YYCategories-umbrella.h b/Example/Pods/Target Support Files/YYCategories/YYCategories-umbrella.h new file mode 100755 index 0000000..9c6740e --- /dev/null +++ b/Example/Pods/Target Support Files/YYCategories/YYCategories-umbrella.h @@ -0,0 +1,48 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "NSArray+YYAdd.h" +#import "NSBundle+YYAdd.h" +#import "NSData+YYAdd.h" +#import "NSDate+YYAdd.h" +#import "NSDictionary+YYAdd.h" +#import "NSKeyedUnarchiver+YYAdd.h" +#import "NSNotificationCenter+YYAdd.h" +#import "NSNumber+YYAdd.h" +#import "NSObject+YYAdd.h" +#import "NSObject+YYAddForKVO.h" +#import "NSString+YYAdd.h" +#import "NSTimer+YYAdd.h" +#import "CALayer+YYAdd.h" +#import "YYCGUtilities.h" +#import "UIApplication+YYAdd.h" +#import "UIBarButtonItem+YYAdd.h" +#import "UIBezierPath+YYAdd.h" +#import "UIColor+YYAdd.h" +#import "UIControl+YYAdd.h" +#import "UIDevice+YYAdd.h" +#import "UIFont+YYAdd.h" +#import "UIGestureRecognizer+YYAdd.h" +#import "UIImage+YYAdd.h" +#import "UIScreen+YYAdd.h" +#import "UIScrollView+YYAdd.h" +#import "UITableView+YYAdd.h" +#import "UITextField+YYAdd.h" +#import "UIView+YYAdd.h" +#import "YYCategories.h" +#import "YYCategoriesMacro.h" +#import "NSObject+YYAddForARC.h" +#import "NSThread+YYAdd.h" + +FOUNDATION_EXPORT double YYCategoriesVersionNumber; +FOUNDATION_EXPORT const unsigned char YYCategoriesVersionString[]; + diff --git a/Example/Pods/Target Support Files/YYCategories/YYCategories.modulemap b/Example/Pods/Target Support Files/YYCategories/YYCategories.modulemap new file mode 100755 index 0000000..edd4a6b --- /dev/null +++ b/Example/Pods/Target Support Files/YYCategories/YYCategories.modulemap @@ -0,0 +1,6 @@ +framework module YYCategories { + umbrella header "YYCategories-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/Pods/Target Support Files/YYCategories/YYCategories.xcconfig b/Example/Pods/Target Support Files/YYCategories/YYCategories.xcconfig new file mode 100755 index 0000000..ca1ed43 --- /dev/null +++ b/Example/Pods/Target Support Files/YYCategories/YYCategories.xcconfig @@ -0,0 +1,10 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/YYCategories +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" +OTHER_LDFLAGS = -l"z" -framework "Accelerate" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreImage" -framework "CoreText" -framework "ImageIO" -framework "QuartzCore" -framework "UIKit" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/YYCategories +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES diff --git a/Example/Pods/Target Support Files/ZMJImageEditor/Info.plist b/Example/Pods/Target Support Files/ZMJImageEditor/Info.plist new file mode 100755 index 0000000..f7c6cd4 --- /dev/null +++ b/Example/Pods/Target Support Files/ZMJImageEditor/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 0.2.4 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/ZMJImageEditor/ZMJImageEditor-dummy.m b/Example/Pods/Target Support Files/ZMJImageEditor/ZMJImageEditor-dummy.m new file mode 100755 index 0000000..47e83f0 --- /dev/null +++ b/Example/Pods/Target Support Files/ZMJImageEditor/ZMJImageEditor-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_ZMJImageEditor : NSObject +@end +@implementation PodsDummy_ZMJImageEditor +@end diff --git a/Example/Pods/Target Support Files/ZMJImageEditor/ZMJImageEditor-prefix.pch b/Example/Pods/Target Support Files/ZMJImageEditor/ZMJImageEditor-prefix.pch new file mode 100755 index 0000000..beb2a24 --- /dev/null +++ b/Example/Pods/Target Support Files/ZMJImageEditor/ZMJImageEditor-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Example/Pods/Target Support Files/ZMJImageEditor/ZMJImageEditor-umbrella.h b/Example/Pods/Target Support Files/ZMJImageEditor/ZMJImageEditor-umbrella.h new file mode 100755 index 0000000..46d63e5 --- /dev/null +++ b/Example/Pods/Target Support Files/ZMJImageEditor/ZMJImageEditor-umbrella.h @@ -0,0 +1,45 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "ColorfullButton.h" +#import "TOActivityCroppedImageProvider.h" +#import "TOCroppedImageAttributes.h" +#import "TOCropViewControllerTransitioning.h" +#import "UIImage+CropRotate.h" +#import "TOCropViewController-Bridging-Header.h" +#import "TOCropViewController.h" +#import "TOCropOverlayView.h" +#import "TOCropScrollView.h" +#import "TOCropToolbar.h" +#import "TOCropView.h" +#import "UIImage+library.h" +#import "UIColor+TLChat.h" +#import "WBGBaseKeyboard.h" +#import "WBGChatMacros.h" +#import "WBGDrawTool.h" +#import "WBGImageEditor.h" +#import "WBGImageEditorGestureManager.h" +#import "WBGImageEditorViewController.h" +#import "WBGImageToolBase.h" +#import "WBGKeyboardDelegate.h" +#import "WBGKeyboardProtocol.h" +#import "WBGMoreKeyboard+CollectionView.h" +#import "WBGMoreKeyboard.h" +#import "WBGMoreKeyboardCell.h" +#import "WBGMoreKeyboardDelegate.h" +#import "WBGMoreKeyboardItem.h" +#import "WBGTextTool.h" +#import "WBGTextToolView.h" + +FOUNDATION_EXPORT double ZMJImageEditorVersionNumber; +FOUNDATION_EXPORT const unsigned char ZMJImageEditorVersionString[]; + diff --git a/Example/Pods/Target Support Files/ZMJImageEditor/ZMJImageEditor.modulemap b/Example/Pods/Target Support Files/ZMJImageEditor/ZMJImageEditor.modulemap new file mode 100755 index 0000000..b5cf11e --- /dev/null +++ b/Example/Pods/Target Support Files/ZMJImageEditor/ZMJImageEditor.modulemap @@ -0,0 +1,6 @@ +framework module ZMJImageEditor { + umbrella header "ZMJImageEditor-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/Pods/Target Support Files/ZMJImageEditor/ZMJImageEditor.xcconfig b/Example/Pods/Target Support Files/ZMJImageEditor/ZMJImageEditor.xcconfig new file mode 100755 index 0000000..7b52af3 --- /dev/null +++ b/Example/Pods/Target Support Files/ZMJImageEditor/ZMJImageEditor.xcconfig @@ -0,0 +1,11 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/ZMJImageEditor +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" "${PODS_CONFIGURATION_BUILD_DIR}/YYCategories" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" +OTHER_LDFLAGS = -framework "MapKit" -framework "UIKit" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES diff --git a/Example/Pods/YYCategories/LICENSE b/Example/Pods/YYCategories/LICENSE new file mode 100755 index 0000000..46be20b --- /dev/null +++ b/Example/Pods/YYCategories/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 ibireme + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/Example/Pods/YYCategories/README.md b/Example/Pods/YYCategories/README.md new file mode 100755 index 0000000..58aa73a --- /dev/null +++ b/Example/Pods/YYCategories/README.md @@ -0,0 +1,145 @@ +YYCategories +============== + +[![License MIT](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://raw.githubusercontent.com/ibireme/YYCategories/master/LICENSE)  +[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)  +[![CocoaPods](http://img.shields.io/cocoapods/v/YYCategories.svg?style=flat)](http://cocoapods.org/?q=YYCategories)  +[![CocoaPods](http://img.shields.io/cocoapods/p/YYCategories.svg?style=flat)](http://cocoapods.org/?q=YYCategories)  +[![Support](https://img.shields.io/badge/support-iOS%206%2B%20-blue.svg?style=flat)](https://www.apple.com/nl/ios/)  +[![Build Status](https://travis-ci.org/ibireme/YYCategories.svg?branch=master)](https://travis-ci.org/ibireme/YYCategories) + +A set of useful categories for Foundation and UIKit.
+(It's a component of [YYKit](https://github.com/ibireme/YYKit)) + +Documentation +============== + +You can build and install docset use `Docset` scheme in Xcode, `appledoc` need to be pre-installed. +Or your can read the [Documentation](http://github.ibireme.com/doc/YYCategories/index.html) online. + + +Installation +============== + +### CocoaPods + +1. Add `pod 'YYCategories'` to your Podfile. +2. Run `pod install` or `pod update`. +3. Import \. + + +### Carthage + +1. Add `github "ibireme/YYCategories"` to your Cartfile. +2. Run `carthage update --platform ios` and add the framework to your project. +3. Import \. + + +### Manually + +1. Download all the files in the YYCategories subdirectory. +2. Add the source files to your Xcode project. +3. Add `-fno-objc-arc` compiler flag to `NSObject+YYAddForARC.m` and `NSThread+YYAdd.m`. +4. Link with required frameworks: + * UIKit + * CoreGraphics + * QuartzCore + * Accelerate + * ImageIO + * CoreText + * CoreFoundation + * libz +5. Import `YYCategories.h`. + + +Documentation +============== +Full API documentation is available on [CocoaDocs](http://cocoadocs.org/docsets/YYCategories/).
+You can also install documentation locally using [appledoc](https://github.com/tomaz/appledoc). + + +Requirements +============== +This library requires `iOS 6.0+` and `Xcode 7.0+`. + + +Notice +============== +I want to use the APIs as if it was provided by system, so I don't add prefix in +these categories. This may cause some potential problems(such as conflict with other libraries), so if you just need some pieces of code +in this project, pick them out and don't import the whole library. + + +License +============== +YYCategories is provided under the MIT license. See LICENSE file for details. + + + + +

+--- +中文介绍 +============== +功能丰富的 Category 类型工具库。
+(该项目是 [YYKit](https://github.com/ibireme/YYKit) 组件之一) + +文档 +============== + +你可以用 `Docset` scheme 来生成文档 (需要预先安装 appledoc),或者[在线查看](http://github.ibireme.com/doc/YYCategories/index.html)。 + + +安装 +============== + +### CocoaPods + +1. 在 Podfile 中添加 `pod 'YYCategories'`。 +2. 执行 `pod install` 或 `pod update`。 +3. 导入 \。 + + +### Carthage + +1. 在 Cartfile 中添加 `github "ibireme/YYCategories"`。 +2. 执行 `carthage update --platform ios` 并将生成的 framework 添加到你的工程。 +3. 导入 \。 + + +### 手动安装 + +1. 下载 YYCategories 文件夹内的所有内容。 +2. 将 YYCategories 内的源文件添加(拖放)到你的工程。 +3. 为 `NSObject+YYAddForARC.m` 和 `NSThread+YYAdd.m` 添加编译参数 `-fno-objc-arc`。 +4. 链接以下 frameworks: + * UIKit + * CoreGraphics + * QuartzCore + * Accelerate + * ImageIO + * CoreText + * CoreFoundation + * libz +5. 导入 `YYCategories.h`。 + + +文档 +============== +你可以在 [CocoaDocs](http://cocoadocs.org/docsets/YYCategories/) 查看在线 API 文档,也可以用 [appledoc](https://github.com/tomaz/appledoc) 本地生成文档。 + +系统要求 +============== +该项目最低支持 `iOS 6.0` 和 `Xcode 7.0`。 + + +注意 +============== +我希望调用 API 时,有着和调用系统自带 API 一样的体验,所以我并没有为 Category 方法添加前缀。我已经用工具扫描过这个项目中的 API,确保没有对系统 API 产生影响。我知道没有前缀的 Category 可能会带来麻烦(比如可能和其他某些类库产生冲突),所以如果你只需要其中少量代码,那最好将那段代码取出来,而不是导入整个库。 + + +许可证 +============== +YYCategories 使用 MIT 许可证,详情见 LICENSE 文件。 + + diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSArray+YYAdd.h b/Example/Pods/YYCategories/YYCategories/Foundation/NSArray+YYAdd.h new file mode 100755 index 0000000..44af305 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSArray+YYAdd.h @@ -0,0 +1,196 @@ +// +// NSArray+YYAdd.h +// YYCategories +// +// Created by ibireme on 13/4/4. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provide some some common method for `NSArray`. + */ +@interface NSArray (YYAdd) + +/** + Creates and returns an array from a specified property list data. + + @param plist A property list data whose root object is an array. + @return A new array created from the plist data, or nil if an error occurs. + */ ++ (nullable NSArray *)arrayWithPlistData:(NSData *)plist; + +/** + Creates and returns an array from a specified property list xml string. + + @param plist A property list xml string whose root object is an array. + @return A new array created from the plist string, or nil if an error occurs. + */ ++ (nullable NSArray *)arrayWithPlistString:(NSString *)plist; + +/** + Serialize the array to a binary property list data. + + @return A bplist data, or nil if an error occurs. + */ +- (nullable NSData *)plistData; + +/** + Serialize the array to a xml property list string. + + @return A plist xml string, or nil if an error occurs. + */ +- (nullable NSString *)plistString; + +/** + Returns the object located at a random index. + + @return The object in the array with a random index value. + If the array is empty, returns nil. + */ +- (nullable id)randomObject; + +/** + Returns the object located at index, or return nil when out of bounds. + It's similar to `objectAtIndex:`, but it never throw exception. + + @param index The object located at index. + */ +- (nullable id)objectOrNilAtIndex:(NSUInteger)index; + +/** + Convert object to json string. return nil if an error occurs. + NSString/NSNumber/NSDictionary/NSArray + */ +- (nullable NSString *)jsonStringEncoded; + +/** + Convert object to json string formatted. return nil if an error occurs. + */ +- (nullable NSString *)jsonPrettyStringEncoded; + +@end + + +/** + Provide some some common method for `NSMutableArray`. + */ +@interface NSMutableArray (YYAdd) + +/** + Creates and returns an array from a specified property list data. + + @param plist A property list data whose root object is an array. + @return A new array created from the plist data, or nil if an error occurs. + */ ++ (nullable NSMutableArray *)arrayWithPlistData:(NSData *)plist; + +/** + Creates and returns an array from a specified property list xml string. + + @param plist A property list xml string whose root object is an array. + @return A new array created from the plist string, or nil if an error occurs. + */ ++ (nullable NSMutableArray *)arrayWithPlistString:(NSString *)plist; + +/** + Removes the object with the lowest-valued index in the array. + If the array is empty, this method has no effect. + + @discussion Apple has implemented this method, but did not make it public. + Override for safe. + */ +- (void)removeFirstObject; + +/** + Removes the object with the highest-valued index in the array. + If the array is empty, this method has no effect. + + @discussion Apple's implementation said it raises an NSRangeException if the + array is empty, but in fact nothing will happen. Override for safe. + */ +- (void)removeLastObject; + +/** + Removes and returns the object with the lowest-valued index in the array. + If the array is empty, it just returns nil. + + @return The first object, or nil. + */ +- (nullable id)popFirstObject; + +/** + Removes and returns the object with the highest-valued index in the array. + If the array is empty, it just returns nil. + + @return The first object, or nil. + */ +- (nullable id)popLastObject; + +/** + Inserts a given object at the end of the array. + + @param anObject The object to add to the end of the array's content. + This value must not be nil. Raises an NSInvalidArgumentException if anObject is nil. + */ +- (void)appendObject:(id)anObject; + +/** + Inserts a given object at the beginning of the array. + + @param anObject The object to add to the end of the array's content. + This value must not be nil. Raises an NSInvalidArgumentException if anObject is nil. + */ +- (void)prependObject:(id)anObject; + +/** + Adds the objects contained in another given array to the end of the receiving + array's content. + + @param objects An array of objects to add to the end of the receiving array's + content. If the objects is empty or nil, this method has no effect. + */ +- (void)appendObjects:(NSArray *)objects; + +/** + Adds the objects contained in another given array to the beginnin of the receiving + array's content. + + @param objects An array of objects to add to the beginning of the receiving array's + content. If the objects is empty or nil, this method has no effect. + */ +- (void)prependObjects:(NSArray *)objects; + +/** + Adds the objects contained in another given array at the index of the receiving + array's content. + + @param objects An array of objects to add to the receiving array's + content. If the objects is empty or nil, this method has no effect. + + @param index The index in the array at which to insert objects. This value must + not be greater than the count of elements in the array. Raises an + NSRangeException if index is greater than the number of elements in the array. + */ +- (void)insertObjects:(NSArray *)objects atIndex:(NSUInteger)index; + +/** + Reverse the index of object in this array. + Example: Before @[ @1, @2, @3 ], After @[ @3, @2, @1 ]. + */ +- (void)reverse; + +/** + Sort the object in this array randomly. + */ +- (void)shuffle; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSArray+YYAdd.m b/Example/Pods/YYCategories/YYCategories/Foundation/NSArray+YYAdd.m new file mode 100755 index 0000000..fab17e5 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSArray+YYAdd.m @@ -0,0 +1,172 @@ +// +// NSArray+YYAdd.m +// YYCategories +// +// Created by ibireme on 13/4/4. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "NSArray+YYAdd.h" +#import "YYCategoriesMacro.h" +#import "NSData+YYAdd.h" + +YYSYNTH_DUMMY_CLASS(NSArray_YYAdd) + + +@implementation NSArray (YYAdd) + ++ (NSArray *)arrayWithPlistData:(NSData *)plist { + if (!plist) return nil; + NSArray *array = [NSPropertyListSerialization propertyListWithData:plist options:NSPropertyListImmutable format:NULL error:NULL]; + if ([array isKindOfClass:[NSArray class]]) return array; + return nil; +} + ++ (NSArray *)arrayWithPlistString:(NSString *)plist { + if (!plist) return nil; + NSData* data = [plist dataUsingEncoding:NSUTF8StringEncoding]; + return [self arrayWithPlistData:data]; +} + +- (NSData *)plistData { + return [NSPropertyListSerialization dataWithPropertyList:self format:NSPropertyListBinaryFormat_v1_0 options:kNilOptions error:NULL]; +} + +- (NSString *)plistString { + NSData *xmlData = [NSPropertyListSerialization dataWithPropertyList:self format:NSPropertyListXMLFormat_v1_0 options:kNilOptions error:NULL]; + if (xmlData) return xmlData.utf8String; + return nil; +} + +- (id)randomObject { + if (self.count) { + return self[arc4random_uniform((u_int32_t)self.count)]; + } + return nil; +} + +- (id)objectOrNilAtIndex:(NSUInteger)index { + return index < self.count ? self[index] : nil; +} + +- (NSString *)jsonStringEncoded { + if ([NSJSONSerialization isValidJSONObject:self]) { + NSError *error; + NSData *jsonData = [NSJSONSerialization dataWithJSONObject:self options:0 error:&error]; + NSString *json = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; + return json; + } + return nil; +} + +- (NSString *)jsonPrettyStringEncoded { + if ([NSJSONSerialization isValidJSONObject:self]) { + NSError *error; + NSData *jsonData = [NSJSONSerialization dataWithJSONObject:self options:NSJSONWritingPrettyPrinted error:&error]; + NSString *json = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; + return json; + } + return nil; +} + +@end + + + +@implementation NSMutableArray (YYAdd) + ++ (NSMutableArray *)arrayWithPlistData:(NSData *)plist { + if (!plist) return nil; + NSMutableArray *array = [NSPropertyListSerialization propertyListWithData:plist options:NSPropertyListMutableContainersAndLeaves format:NULL error:NULL]; + if ([array isKindOfClass:[NSMutableArray class]]) return array; + return nil; +} + ++ (NSMutableArray *)arrayWithPlistString:(NSString *)plist { + if (!plist) return nil; + NSData* data = [plist dataUsingEncoding:NSUTF8StringEncoding]; + return [self arrayWithPlistData:data]; +} + +- (void)removeFirstObject { + if (self.count) { + [self removeObjectAtIndex:0]; + } +} + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation" +- (void)removeLastObject { + if (self.count) { + [self removeObjectAtIndex:self.count - 1]; + } +} + +#pragma clang diagnostic pop + + +- (id)popFirstObject { + id obj = nil; + if (self.count) { + obj = self.firstObject; + [self removeFirstObject]; + } + return obj; +} + +- (id)popLastObject { + id obj = nil; + if (self.count) { + obj = self.lastObject; + [self removeLastObject]; + } + return obj; +} + +- (void)appendObject:(id)anObject { + [self addObject:anObject]; +} + +- (void)prependObject:(id)anObject { + [self insertObject:anObject atIndex:0]; +} + +- (void)appendObjects:(NSArray *)objects { + if (!objects) return; + [self addObjectsFromArray:objects]; +} + +- (void)prependObjects:(NSArray *)objects { + if (!objects) return; + NSUInteger i = 0; + for (id obj in objects) { + [self insertObject:obj atIndex:i++]; + } +} + +- (void)insertObjects:(NSArray *)objects atIndex:(NSUInteger)index { + NSUInteger i = index; + for (id obj in objects) { + [self insertObject:obj atIndex:i++]; + } +} + +- (void)reverse { + NSUInteger count = self.count; + int mid = floor(count / 2.0); + for (NSUInteger i = 0; i < mid; i++) { + [self exchangeObjectAtIndex:i withObjectAtIndex:(count - (i + 1))]; + } +} + +- (void)shuffle { + for (NSUInteger i = self.count; i > 1; i--) { + [self exchangeObjectAtIndex:(i - 1) + withObjectAtIndex:arc4random_uniform((u_int32_t)i)]; + } +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSBundle+YYAdd.h b/Example/Pods/YYCategories/YYCategories/Foundation/NSBundle+YYAdd.h new file mode 100755 index 0000000..cec2c40 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSBundle+YYAdd.h @@ -0,0 +1,92 @@ +// +// NSBundle+YYAdd.h +// YYCategories +// +// Created by ibireme on 14/10/20. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides extensions for `NSBundle` to get resource by @2x or @3x... + + Example: ico.png, ico@2x.png, ico@3x.png. Call scaledResource:@"ico" ofType:@"png" + on iPhone6 will return "ico@2x.png"'s path. + */ +@interface NSBundle (YYAdd) + +/** + An array of NSNumber objects, shows the best order for path scale search. + e.g. iPhone3GS:@[@1,@2,@3] iPhone5:@[@2,@3,@1] iPhone6 Plus:@[@3,@2,@1] + */ ++ (NSArray *)preferredScales; + +/** + Returns the full pathname for the resource file identified by the specified + name and extension and residing in a given bundle directory. It first search + the file with current screen's scale (such as @2x), then search from higher + scale to lower scale. + + @param name The name of a resource file contained in the directory + specified by bundlePath. + + @param ext If extension is an empty string or nil, the extension is + assumed not to exist and the file is the first file encountered that exactly matches name. + + @param bundlePath The path of a top-level bundle directory. This must be a + valid path. For example, to specify the bundle directory for a Mac app, you + might specify the path /Applications/MyApp.app. + + @return The full pathname for the resource file or nil if the file could not be + located. This method also returns nil if the bundle specified by the bundlePath + parameter does not exist or is not a readable directory. + */ ++ (nullable NSString *)pathForScaledResource:(NSString *)name + ofType:(nullable nullable NSString *)ext + inDirectory:(NSString *)bundlePath; + +/** + Returns the full pathname for the resource identified by the specified name and + file extension. It first search the file with current screen's scale (such as @2x), + then search from higher scale to lower scale. + + @param name The name of the resource file. If name is an empty string or + nil, returns the first file encountered of the supplied type. + + @param ext If extension is an empty string or nil, the extension is + assumed not to exist and the file is the first file encountered that exactly matches name. + + + @return The full pathname for the resource file or nil if the file could not be located. + */ +- (nullable NSString *)pathForScaledResource:(NSString *)name ofType:(nullable NSString *)ext; + +/** + Returns the full pathname for the resource identified by the specified name and + file extension and located in the specified bundle subdirectory. It first search + the file with current screen's scale (such as @2x), then search from higher + scale to lower scale. + + @param name The name of the resource file. + + @param ext If extension is an empty string or nil, all the files in + subpath and its subdirectories are returned. If an extension is provided the + subdirectories are not searched. + + @param subpath The name of the bundle subdirectory. Can be nil. + + @return The full pathname for the resource file or nil if the file could not be located. + */ +- (nullable NSString *)pathForScaledResource:(NSString *)name + ofType:(nullable NSString *)ext + inDirectory:(nullable NSString *)subpath; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSBundle+YYAdd.m b/Example/Pods/YYCategories/YYCategories/Foundation/NSBundle+YYAdd.m new file mode 100755 index 0000000..01d665c --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSBundle+YYAdd.m @@ -0,0 +1,87 @@ +// +// NSBundle+YYAdd.m +// YYCategories +// +// Created by ibireme on 14/10/20. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "NSBundle+YYAdd.h" +#import "NSString+YYAdd.h" +#import "YYCategoriesMacro.h" + +YYSYNTH_DUMMY_CLASS(NSBundle_YYAdd) + +@implementation NSBundle (YYAdd) + ++ (NSArray *)preferredScales { + static NSArray *scales; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + CGFloat screenScale = [UIScreen mainScreen].scale; + if (screenScale <= 1) { + scales = @[@1,@2,@3]; + } else if (screenScale <= 2) { + scales = @[@2,@3,@1]; + } else { + scales = @[@3,@2,@1]; + } + }); + return scales; +} + ++ (NSString *)pathForScaledResource:(NSString *)name ofType:(NSString *)ext inDirectory:(NSString *)bundlePath { + if (name.length == 0) return nil; + if ([name hasSuffix:@"/"]) return [self pathForResource:name ofType:ext inDirectory:bundlePath]; + + NSString *path = nil; + NSArray *scales = [self preferredScales]; + for (int s = 0; s < scales.count; s++) { + CGFloat scale = ((NSNumber *)scales[s]).floatValue; + NSString *scaledName = ext.length ? [name stringByAppendingNameScale:scale] + : [name stringByAppendingPathScale:scale]; + path = [self pathForResource:scaledName ofType:ext inDirectory:bundlePath]; + if (path) break; + } + + return path; +} + +- (NSString *)pathForScaledResource:(NSString *)name ofType:(NSString *)ext { + if (name.length == 0) return nil; + if ([name hasSuffix:@"/"]) return [self pathForResource:name ofType:ext]; + + NSString *path = nil; + NSArray *scales = [NSBundle preferredScales]; + for (int s = 0; s < scales.count; s++) { + CGFloat scale = ((NSNumber *)scales[s]).floatValue; + NSString *scaledName = ext.length ? [name stringByAppendingNameScale:scale] + : [name stringByAppendingPathScale:scale]; + path = [self pathForResource:scaledName ofType:ext]; + if (path) break; + } + + return path; +} + +- (NSString *)pathForScaledResource:(NSString *)name ofType:(NSString *)ext inDirectory:(NSString *)subpath { + if (name.length == 0) return nil; + if ([name hasSuffix:@"/"]) return [self pathForResource:name ofType:ext]; + + NSString *path = nil; + NSArray *scales = [NSBundle preferredScales]; + for (int s = 0; s < scales.count; s++) { + CGFloat scale = ((NSNumber *)scales[s]).floatValue; + NSString *scaledName = ext.length ? [name stringByAppendingNameScale:scale] + : [name stringByAppendingPathScale:scale]; + path = [self pathForResource:scaledName ofType:ext inDirectory:subpath]; + if (path) break; + } + + return path; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSData+YYAdd.h b/Example/Pods/YYCategories/YYCategories/Foundation/NSData+YYAdd.h new file mode 100755 index 0000000..95acda2 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSData+YYAdd.h @@ -0,0 +1,310 @@ +// +// NSData+YYAdd.h +// YYCategories +// +// Created by ibireme on 13/4/4. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provide hash, encrypt, encode and some common method for `NSData`. + */ +@interface NSData (YYAdd) + +#pragma mark - Hash +///============================================================================= +/// @name Hash +///============================================================================= + +/** + Returns a lowercase NSString for md2 hash. + */ +- (NSString *)md2String; + +/** + Returns an NSData for md2 hash. + */ +- (NSData *)md2Data; + +/** + Returns a lowercase NSString for md4 hash. + */ +- (NSString *)md4String; + +/** + Returns an NSData for md4 hash. + */ +- (NSData *)md4Data; + +/** + Returns a lowercase NSString for md5 hash. + */ +- (NSString *)md5String; + +/** + Returns an NSData for md5 hash. + */ +- (NSData *)md5Data; + +/** + Returns a lowercase NSString for sha1 hash. + */ +- (NSString *)sha1String; + +/** + Returns an NSData for sha1 hash. + */ +- (NSData *)sha1Data; + +/** + Returns a lowercase NSString for sha224 hash. + */ +- (NSString *)sha224String; + +/** + Returns an NSData for sha224 hash. + */ +- (NSData *)sha224Data; + +/** + Returns a lowercase NSString for sha256 hash. + */ +- (NSString *)sha256String; + +/** + Returns an NSData for sha256 hash. + */ +- (NSData *)sha256Data; + +/** + Returns a lowercase NSString for sha384 hash. + */ +- (NSString *)sha384String; + +/** + Returns an NSData for sha384 hash. + */ +- (NSData *)sha384Data; + +/** + Returns a lowercase NSString for sha512 hash. + */ +- (NSString *)sha512String; + +/** + Returns an NSData for sha512 hash. + */ +- (NSData *)sha512Data; + +/** + Returns a lowercase NSString for hmac using algorithm md5 with key. + @param key The hmac key. + */ +- (NSString *)hmacMD5StringWithKey:(NSString *)key; + +/** + Returns an NSData for hmac using algorithm md5 with key. + @param key The hmac key. + */ +- (NSData *)hmacMD5DataWithKey:(NSData *)key; + +/** + Returns a lowercase NSString for hmac using algorithm sha1 with key. + @param key The hmac key. + */ +- (NSString *)hmacSHA1StringWithKey:(NSString *)key; + +/** + Returns an NSData for hmac using algorithm sha1 with key. + @param key The hmac key. + */ +- (NSData *)hmacSHA1DataWithKey:(NSData *)key; + +/** + Returns a lowercase NSString for hmac using algorithm sha224 with key. + @param key The hmac key. + */ +- (NSString *)hmacSHA224StringWithKey:(NSString *)key; + +/** + Returns an NSData for hmac using algorithm sha224 with key. + @param key The hmac key. + */ +- (NSData *)hmacSHA224DataWithKey:(NSData *)key; + +/** + Returns a lowercase NSString for hmac using algorithm sha256 with key. + @param key The hmac key. + */ +- (NSString *)hmacSHA256StringWithKey:(NSString *)key; + +/** + Returns an NSData for hmac using algorithm sha256 with key. + @param key The hmac key. + */ +- (NSData *)hmacSHA256DataWithKey:(NSData *)key; + +/** + Returns a lowercase NSString for hmac using algorithm sha384 with key. + @param key The hmac key. + */ +- (NSString *)hmacSHA384StringWithKey:(NSString *)key; + +/** + Returns an NSData for hmac using algorithm sha384 with key. + @param key The hmac key. + */ +- (NSData *)hmacSHA384DataWithKey:(NSData *)key; + +/** + Returns a lowercase NSString for hmac using algorithm sha512 with key. + @param key The hmac key. + */ +- (NSString *)hmacSHA512StringWithKey:(NSString *)key; + +/** + Returns an NSData for hmac using algorithm sha512 with key. + @param key The hmac key. + */ +- (NSData *)hmacSHA512DataWithKey:(NSData *)key; + +/** + Returns a lowercase NSString for crc32 hash. + */ +- (NSString *)crc32String; + +/** + Returns crc32 hash. + */ +- (uint32_t)crc32; + + +#pragma mark - Encrypt and Decrypt +///============================================================================= +/// @name Encrypt and Decrypt +///============================================================================= + +/** + Returns an encrypted NSData using AES. + + @param key A key length of 16, 24 or 32 (128, 192 or 256bits). + + @param iv An initialization vector length of 16(128bits). + Pass nil when you don't want to use iv. + + @return An NSData encrypted, or nil if an error occurs. + */ +- (nullable NSData *)aes256EncryptWithKey:(NSData *)key iv:(nullable NSData *)iv; + +/** + Returns an decrypted NSData using AES. + + @param key A key length of 16, 24 or 32 (128, 192 or 256bits). + + @param iv An initialization vector length of 16(128bits). + Pass nil when you don't want to use iv. + + @return An NSData decrypted, or nil if an error occurs. + */ +- (nullable NSData *)aes256DecryptWithkey:(NSData *)key iv:(nullable NSData *)iv; + + +#pragma mark - Encode and decode +///============================================================================= +/// @name Encode and decode +///============================================================================= + +/** + Returns string decoded in UTF8. + */ +- (nullable NSString *)utf8String; + +/** + Returns a uppercase NSString in HEX. + */ +- (nullable NSString *)hexString; + +/** + Returns an NSData from hex string. + + @param hexString The hex string which is case insensitive. + + @return a new NSData, or nil if an error occurs. + */ ++ (nullable NSData *)dataWithHexString:(NSString *)hexString; + +/** + Returns an NSString for base64 encoded. + */ +- (nullable NSString *)base64EncodedString; + +/** + Returns an NSData from base64 encoded string. + + @warning This method has been implemented in iOS7. + + @param base64EncodedString The encoded string. + */ ++ (nullable NSData *)dataWithBase64EncodedString:(NSString *)base64EncodedString; + +/** + Returns an NSDictionary or NSArray for decoded self. + Returns nil if an error occurs. + */ +- (nullable id)jsonValueDecoded; + + +#pragma mark - Inflate and deflate +///============================================================================= +/// @name Inflate and deflate +///============================================================================= + +/** + Decompress data from gzip data. + @return Inflated data. + */ +- (nullable NSData *)gzipInflate; + +/** + Comperss data to gzip in default compresssion level. + @return Deflated data. + */ +- (nullable NSData *)gzipDeflate; + +/** + Decompress data from zlib-compressed data. + @return Inflated data. + */ +- (nullable NSData *)zlibInflate; + +/** + Comperss data to zlib-compressed in default compresssion level. + @return Deflated data. + */ +- (nullable NSData *)zlibDeflate; + + +#pragma mark - Others +///============================================================================= +/// @name Others +///============================================================================= + +/** + Create data from the file in main bundle (similar to [UIImage imageNamed:]). + + @param name The file name (in main bundle). + + @return A new data create from the file. + */ ++ (nullable NSData *)dataNamed:(NSString *)name; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSData+YYAdd.m b/Example/Pods/YYCategories/YYCategories/Foundation/NSData+YYAdd.m new file mode 100755 index 0000000..26c7f0e --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSData+YYAdd.m @@ -0,0 +1,642 @@ +// +// NSData+YYAdd.m +// YYCategories +// +// Created by ibireme on 13/4/4. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "NSData+YYAdd.h" +#import "YYCategoriesMacro.h" +#include +#include + +YYSYNTH_DUMMY_CLASS(NSData_YYAdd) + + +@implementation NSData (YYAdd) + +- (NSString *)md2String { + unsigned char result[CC_MD2_DIGEST_LENGTH]; + CC_MD2(self.bytes, (CC_LONG)self.length, result); + return [NSString stringWithFormat: + @"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", + result[0], result[1], result[2], result[3], + result[4], result[5], result[6], result[7], + result[8], result[9], result[10], result[11], + result[12], result[13], result[14], result[15] + ]; +} + +- (NSData *)md2Data { + unsigned char result[CC_MD2_DIGEST_LENGTH]; + CC_MD2(self.bytes, (CC_LONG)self.length, result); + return [NSData dataWithBytes:result length:CC_MD2_DIGEST_LENGTH]; +} + +- (NSString *)md4String { + unsigned char result[CC_MD4_DIGEST_LENGTH]; + CC_MD4(self.bytes, (CC_LONG)self.length, result); + return [NSString stringWithFormat: + @"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", + result[0], result[1], result[2], result[3], + result[4], result[5], result[6], result[7], + result[8], result[9], result[10], result[11], + result[12], result[13], result[14], result[15] + ]; +} + +- (NSData *)md4Data { + unsigned char result[CC_MD4_DIGEST_LENGTH]; + CC_MD4(self.bytes, (CC_LONG)self.length, result); + return [NSData dataWithBytes:result length:CC_MD4_DIGEST_LENGTH]; +} + +- (NSString *)md5String { + unsigned char result[CC_MD5_DIGEST_LENGTH]; + CC_MD5(self.bytes, (CC_LONG)self.length, result); + return [NSString stringWithFormat: + @"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", + result[0], result[1], result[2], result[3], + result[4], result[5], result[6], result[7], + result[8], result[9], result[10], result[11], + result[12], result[13], result[14], result[15] + ]; +} + +- (NSData *)md5Data { + unsigned char result[CC_MD5_DIGEST_LENGTH]; + CC_MD5(self.bytes, (CC_LONG)self.length, result); + return [NSData dataWithBytes:result length:CC_MD5_DIGEST_LENGTH]; +} + +- (NSString *)sha1String { + unsigned char result[CC_SHA1_DIGEST_LENGTH]; + CC_SHA1(self.bytes, (CC_LONG)self.length, result); + NSMutableString *hash = [NSMutableString + stringWithCapacity:CC_SHA1_DIGEST_LENGTH * 2]; + for (int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++) { + [hash appendFormat:@"%02x", result[i]]; + } + return hash; +} + +- (NSData *)sha1Data { + unsigned char result[CC_SHA1_DIGEST_LENGTH]; + CC_SHA1(self.bytes, (CC_LONG)self.length, result); + return [NSData dataWithBytes:result length:CC_SHA1_DIGEST_LENGTH]; +} + +- (NSString *)sha224String { + unsigned char result[CC_SHA224_DIGEST_LENGTH]; + CC_SHA224(self.bytes, (CC_LONG)self.length, result); + NSMutableString *hash = [NSMutableString + stringWithCapacity:CC_SHA224_DIGEST_LENGTH * 2]; + for (int i = 0; i < CC_SHA224_DIGEST_LENGTH; i++) { + [hash appendFormat:@"%02x", result[i]]; + } + return hash; +} + +- (NSData *)sha224Data { + unsigned char result[CC_SHA224_DIGEST_LENGTH]; + CC_SHA224(self.bytes, (CC_LONG)self.length, result); + return [NSData dataWithBytes:result length:CC_SHA224_DIGEST_LENGTH]; +} + +- (NSString *)sha256String { + unsigned char result[CC_SHA256_DIGEST_LENGTH]; + CC_SHA256(self.bytes, (CC_LONG)self.length, result); + NSMutableString *hash = [NSMutableString + stringWithCapacity:CC_SHA256_DIGEST_LENGTH * 2]; + for (int i = 0; i < CC_SHA256_DIGEST_LENGTH; i++) { + [hash appendFormat:@"%02x", result[i]]; + } + return hash; +} + +- (NSData *)sha256Data { + unsigned char result[CC_SHA256_DIGEST_LENGTH]; + CC_SHA256(self.bytes, (CC_LONG)self.length, result); + return [NSData dataWithBytes:result length:CC_SHA256_DIGEST_LENGTH]; +} + +- (NSString *)sha384String { + unsigned char result[CC_SHA384_DIGEST_LENGTH]; + CC_SHA384(self.bytes, (CC_LONG)self.length, result); + NSMutableString *hash = [NSMutableString + stringWithCapacity:CC_SHA384_DIGEST_LENGTH * 2]; + for (int i = 0; i < CC_SHA384_DIGEST_LENGTH; i++) { + [hash appendFormat:@"%02x", result[i]]; + } + return hash; +} + +- (NSData *)sha384Data { + unsigned char result[CC_SHA384_DIGEST_LENGTH]; + CC_SHA384(self.bytes, (CC_LONG)self.length, result); + return [NSData dataWithBytes:result length:CC_SHA384_DIGEST_LENGTH]; +} + +- (NSString *)sha512String { + unsigned char result[CC_SHA512_DIGEST_LENGTH]; + CC_SHA512(self.bytes, (CC_LONG)self.length, result); + NSMutableString *hash = [NSMutableString + stringWithCapacity:CC_SHA512_DIGEST_LENGTH * 2]; + for (int i = 0; i < CC_SHA512_DIGEST_LENGTH; i++) { + [hash appendFormat:@"%02x", result[i]]; + } + return hash; +} + +- (NSData *)sha512Data { + unsigned char result[CC_SHA512_DIGEST_LENGTH]; + CC_SHA512(self.bytes, (CC_LONG)self.length, result); + return [NSData dataWithBytes:result length:CC_SHA512_DIGEST_LENGTH]; +} + +- (NSString *)hmacStringUsingAlg:(CCHmacAlgorithm)alg withKey:(NSString *)key { + size_t size; + switch (alg) { + case kCCHmacAlgMD5: size = CC_MD5_DIGEST_LENGTH; break; + case kCCHmacAlgSHA1: size = CC_SHA1_DIGEST_LENGTH; break; + case kCCHmacAlgSHA224: size = CC_SHA224_DIGEST_LENGTH; break; + case kCCHmacAlgSHA256: size = CC_SHA256_DIGEST_LENGTH; break; + case kCCHmacAlgSHA384: size = CC_SHA384_DIGEST_LENGTH; break; + case kCCHmacAlgSHA512: size = CC_SHA512_DIGEST_LENGTH; break; + default: return nil; + } + unsigned char result[size]; + const char *cKey = [key cStringUsingEncoding:NSUTF8StringEncoding]; + CCHmac(alg, cKey, strlen(cKey), self.bytes, self.length, result); + NSMutableString *hash = [NSMutableString stringWithCapacity:size * 2]; + for (int i = 0; i < size; i++) { + [hash appendFormat:@"%02x", result[i]]; + } + return hash; +} + +- (NSData *)hmacDataUsingAlg:(CCHmacAlgorithm)alg withKey:(NSData *)key { + size_t size; + switch (alg) { + case kCCHmacAlgMD5: size = CC_MD5_DIGEST_LENGTH; break; + case kCCHmacAlgSHA1: size = CC_SHA1_DIGEST_LENGTH; break; + case kCCHmacAlgSHA224: size = CC_SHA224_DIGEST_LENGTH; break; + case kCCHmacAlgSHA256: size = CC_SHA256_DIGEST_LENGTH; break; + case kCCHmacAlgSHA384: size = CC_SHA384_DIGEST_LENGTH; break; + case kCCHmacAlgSHA512: size = CC_SHA512_DIGEST_LENGTH; break; + default: return nil; + } + unsigned char result[size]; + CCHmac(alg, [key bytes], key.length, self.bytes, self.length, result); + return [NSData dataWithBytes:result length:size]; +} + +- (NSString *)hmacMD5StringWithKey:(NSString *)key { + return [self hmacStringUsingAlg:kCCHmacAlgMD5 withKey:key]; +} + +- (NSData *)hmacMD5DataWithKey:(NSData *)key { + return [self hmacDataUsingAlg:kCCHmacAlgMD5 withKey:key]; +} + +- (NSString *)hmacSHA1StringWithKey:(NSString *)key { + return [self hmacStringUsingAlg:kCCHmacAlgSHA1 withKey:key]; +} + +- (NSData *)hmacSHA1DataWithKey:(NSData *)key { + return [self hmacDataUsingAlg:kCCHmacAlgSHA1 withKey:key]; +} + +- (NSString *)hmacSHA224StringWithKey:(NSString *)key { + return [self hmacStringUsingAlg:kCCHmacAlgSHA224 withKey:key]; +} + +- (NSData *)hmacSHA224DataWithKey:(NSData *)key { + return [self hmacDataUsingAlg:kCCHmacAlgSHA224 withKey:key]; +} + +- (NSString *)hmacSHA256StringWithKey:(NSString *)key { + return [self hmacStringUsingAlg:kCCHmacAlgSHA256 withKey:key]; +} + +- (NSData *)hmacSHA256DataWithKey:(NSData *)key { + return [self hmacDataUsingAlg:kCCHmacAlgSHA256 withKey:key]; +} + +- (NSString *)hmacSHA384StringWithKey:(NSString *)key { + return [self hmacStringUsingAlg:kCCHmacAlgSHA384 withKey:key]; +} + +- (NSData *)hmacSHA384DataWithKey:(NSData *)key { + return [self hmacDataUsingAlg:kCCHmacAlgSHA384 withKey:key]; +} + +- (NSString *)hmacSHA512StringWithKey:(NSString *)key { + return [self hmacStringUsingAlg:kCCHmacAlgSHA512 withKey:key]; +} + +- (NSData *)hmacSHA512DataWithKey:(NSData *)key { + return [self hmacDataUsingAlg:kCCHmacAlgSHA512 withKey:key]; +} + +- (NSString *)crc32String { + uLong result = crc32(0, self.bytes, (uInt)self.length); + return [NSString stringWithFormat:@"%08x", (uint32_t)result]; +} + +- (uint32_t)crc32 { + uLong result = crc32(0, self.bytes, (uInt)self.length); + return (uint32_t)result; +} + +- (NSData *)aes256EncryptWithKey:(NSData *)key iv:(NSData *)iv { + if (key.length != 16 && key.length != 24 && key.length != 32) { + return nil; + } + if (iv.length != 16 && iv.length != 0) { + return nil; + } + + NSData *result = nil; + size_t bufferSize = self.length + kCCBlockSizeAES128; + void *buffer = malloc(bufferSize); + if (!buffer) return nil; + size_t encryptedSize = 0; + CCCryptorStatus cryptStatus = CCCrypt(kCCEncrypt, + kCCAlgorithmAES128, + kCCOptionPKCS7Padding, + key.bytes, + key.length, + iv.bytes, + self.bytes, + self.length, + buffer, + bufferSize, + &encryptedSize); + if (cryptStatus == kCCSuccess) { + result = [[NSData alloc]initWithBytes:buffer length:encryptedSize]; + free(buffer); + return result; + } else { + free(buffer); + return nil; + } +} + +- (NSData *)aes256DecryptWithkey:(NSData *)key iv:(NSData *)iv { + if (key.length != 16 && key.length != 24 && key.length != 32) { + return nil; + } + if (iv.length != 16 && iv.length != 0) { + return nil; + } + + NSData *result = nil; + size_t bufferSize = self.length + kCCBlockSizeAES128; + void *buffer = malloc(bufferSize); + if (!buffer) return nil; + size_t encryptedSize = 0; + CCCryptorStatus cryptStatus = CCCrypt(kCCDecrypt, + kCCAlgorithmAES128, + kCCOptionPKCS7Padding, + key.bytes, + key.length, + iv.bytes, + self.bytes, + self.length, + buffer, + bufferSize, + &encryptedSize); + if (cryptStatus == kCCSuccess) { + result = [[NSData alloc]initWithBytes:buffer length:encryptedSize]; + free(buffer); + return result; + } else { + free(buffer); + return nil; + } +} + +- (NSString *)utf8String { + if (self.length > 0) { + return [[NSString alloc] initWithData:self encoding:NSUTF8StringEncoding]; + } + return @""; +} + +- (NSString *)hexString { + NSUInteger length = self.length; + NSMutableString *result = [NSMutableString stringWithCapacity:length * 2]; + const unsigned char *byte = self.bytes; + for (int i = 0; i < length; i++, byte++) { + [result appendFormat:@"%02X", *byte]; + } + return result; +} + ++ (NSData *)dataWithHexString:(NSString *)hexStr { + hexStr = [hexStr stringByReplacingOccurrencesOfString:@" " withString:@""]; + hexStr = [hexStr lowercaseString]; + NSUInteger len = hexStr.length; + if (!len) return nil; + unichar *buf = malloc(sizeof(unichar) * len); + if (!buf) return nil; + [hexStr getCharacters:buf range:NSMakeRange(0, len)]; + + NSMutableData *result = [NSMutableData data]; + unsigned char bytes; + char str[3] = { '\0', '\0', '\0' }; + int i; + for (i = 0; i < len / 2; i++) { + str[0] = buf[i * 2]; + str[1] = buf[i * 2 + 1]; + bytes = strtol(str, NULL, 16); + [result appendBytes:&bytes length:1]; + } + free(buf); + return result; +} + +static const char base64EncodingTable[64] += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; +static const short base64DecodingTable[256] = { + -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -2, -1, -1, -2, -2, + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, + -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, 62, -2, -2, -2, 63, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -2, -2, -2, -2, -2, -2, + -2, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -2, -2, -2, -2, -2, + -2, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -2, -2, -2, -2, -2, + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 +}; + +- (NSString *)base64EncodedString { + NSUInteger length = self.length; + if (length == 0) + return @""; + + NSUInteger out_length = ((length + 2) / 3) * 4; + uint8_t *output = malloc(((out_length + 2) / 3) * 4); + if (output == NULL) + return nil; + + const char *input = self.bytes; + NSInteger i, value; + for (i = 0; i < length; i += 3) { + value = 0; + for (NSInteger j = i; j < i + 3; j++) { + value <<= 8; + if (j < length) { + value |= (0xFF & input[j]); + } + } + NSInteger index = (i / 3) * 4; + output[index + 0] = base64EncodingTable[(value >> 18) & 0x3F]; + output[index + 1] = base64EncodingTable[(value >> 12) & 0x3F]; + output[index + 2] = ((i + 1) < length) + ? base64EncodingTable[(value >> 6) & 0x3F] + : '='; + output[index + 3] = ((i + 2) < length) + ? base64EncodingTable[(value >> 0) & 0x3F] + : '='; + } + + NSString *base64 = [[NSString alloc] initWithBytes:output + length:out_length + encoding:NSASCIIStringEncoding]; + free(output); + return base64; +} + ++ (NSData *)dataWithBase64EncodedString:(NSString *)base64EncodedString { + NSInteger length = base64EncodedString.length; + const char *string = [base64EncodedString cStringUsingEncoding:NSASCIIStringEncoding]; + if (string == NULL) + return nil; + + while (length > 0 && string[length - 1] == '=') + length--; + + NSInteger outputLength = length * 3 / 4; + NSMutableData *data = [NSMutableData dataWithLength:outputLength]; + if (data == nil) + return nil; + if (length == 0) + return data; + + uint8_t *output = data.mutableBytes; + NSInteger inputPoint = 0; + NSInteger outputPoint = 0; + while (inputPoint < length) { + char i0 = string[inputPoint++]; + char i1 = string[inputPoint++]; + char i2 = inputPoint < length ? string[inputPoint++] : 'A'; + char i3 = inputPoint < length ? string[inputPoint++] : 'A'; + + output[outputPoint++] = (base64DecodingTable[i0] << 2) + | (base64DecodingTable[i1] >> 4); + if (outputPoint < outputLength) { + output[outputPoint++] = ((base64DecodingTable[i1] & 0xf) << 4) + | (base64DecodingTable[i2] >> 2); + } + if (outputPoint < outputLength) { + output[outputPoint++] = ((base64DecodingTable[i2] & 0x3) << 6) + | base64DecodingTable[i3]; + } + } + + return data; +} + +- (id)jsonValueDecoded { + NSError *error = nil; + id value = [NSJSONSerialization JSONObjectWithData:self options:kNilOptions error:&error]; + if (error) { + NSLog(@"jsonValueDecoded error:%@", error); + } + return value; +} + +- (NSData *)gzipInflate { + if ([self length] == 0) return self; + + unsigned full_length = (unsigned)[self length]; + unsigned half_length = (unsigned)[self length] / 2; + + NSMutableData *decompressed = [NSMutableData + dataWithLength:full_length + half_length]; + BOOL done = NO; + int status; + + z_stream strm; + strm.next_in = (Bytef *)[self bytes]; + strm.avail_in = (unsigned)[self length]; + strm.total_out = 0; + strm.zalloc = Z_NULL; + strm.zfree = Z_NULL; + + if (inflateInit2(&strm, (15 + 32)) != Z_OK) return nil; + while (!done) { + // Make sure we have enough room and reset the lengths. + if (strm.total_out >= [decompressed length]) + [decompressed increaseLengthBy:half_length]; + strm.next_out = [decompressed mutableBytes] + strm.total_out; + strm.avail_out = (uInt)([decompressed length] - strm.total_out); + + // Inflate another chunk. + status = inflate(&strm, Z_SYNC_FLUSH); + if (status == Z_STREAM_END) done = YES; + else if (status != Z_OK) break; + } + if (inflateEnd(&strm) != Z_OK) return nil; + + // Set real length. + if (done) { + [decompressed setLength:strm.total_out]; + return [NSData dataWithData:decompressed]; + } else return nil; +} + +- (NSData *)gzipDeflate { + if ([self length] == 0) return self; + + z_stream strm; + + strm.zalloc = Z_NULL; + strm.zfree = Z_NULL; + strm.opaque = Z_NULL; + strm.total_out = 0; + strm.next_in = (Bytef *)[self bytes]; + strm.avail_in = (uInt)[self length]; + + // Compresssion Levels: + // Z_NO_COMPRESSION + // Z_BEST_SPEED + // Z_BEST_COMPRESSION + // Z_DEFAULT_COMPRESSION + + if (deflateInit2(&strm, Z_DEFAULT_COMPRESSION, Z_DEFLATED, (15 + 16), + 8, Z_DEFAULT_STRATEGY) != Z_OK) + return nil; + + // 16K chunks for expansion + NSMutableData *compressed = [NSMutableData dataWithLength:16384]; + + do { + if (strm.total_out >= [compressed length]) + [compressed increaseLengthBy:16384]; + + strm.next_out = [compressed mutableBytes] + strm.total_out; + strm.avail_out = (uInt)([compressed length] - strm.total_out); + + deflate(&strm, Z_FINISH); + } + while (strm.avail_out == 0); + + deflateEnd(&strm); + + [compressed setLength:strm.total_out]; + return [NSData dataWithData:compressed]; +} + +- (NSData *)zlibInflate { + if ([self length] == 0) return self; + + NSUInteger full_length = [self length]; + NSUInteger half_length = [self length] / 2; + + NSMutableData *decompressed = [NSMutableData + dataWithLength:full_length + half_length]; + BOOL done = NO; + int status; + + z_stream strm; + strm.next_in = (Bytef *)[self bytes]; + strm.avail_in = (uInt)full_length; + strm.total_out = 0; + strm.zalloc = Z_NULL; + strm.zfree = Z_NULL; + + if (inflateInit(&strm) != Z_OK) return nil; + + while (!done) { + // Make sure we have enough room and reset the lengths. + if (strm.total_out >= [decompressed length]) + [decompressed increaseLengthBy:half_length]; + strm.next_out = [decompressed mutableBytes] + strm.total_out; + strm.avail_out = (uInt)([decompressed length] - strm.total_out); + + // Inflate another chunk. + status = inflate(&strm, Z_SYNC_FLUSH); + if (status == Z_STREAM_END) done = YES; + else if (status != Z_OK) break; + } + if (inflateEnd(&strm) != Z_OK) return nil; + + // Set real length. + if (done) { + [decompressed setLength:strm.total_out]; + return [NSData dataWithData:decompressed]; + } else return nil; +} + +- (NSData *)zlibDeflate { + if ([self length] == 0) return self; + + z_stream strm; + + strm.zalloc = Z_NULL; + strm.zfree = Z_NULL; + strm.opaque = Z_NULL; + strm.total_out = 0; + strm.next_in = (Bytef *)[self bytes]; + strm.avail_in = (uInt)[self length]; + + // Compresssion Levels: + // Z_NO_COMPRESSION + // Z_BEST_SPEED + // Z_BEST_COMPRESSION + // Z_DEFAULT_COMPRESSION + + if (deflateInit(&strm, Z_DEFAULT_COMPRESSION) != Z_OK) return nil; + + // 16K chuncks for expansion + NSMutableData *compressed = [NSMutableData dataWithLength:16384]; + + do { + if (strm.total_out >= [compressed length]) + [compressed increaseLengthBy:16384]; + + strm.next_out = [compressed mutableBytes] + strm.total_out; + strm.avail_out = (uInt)([compressed length] - strm.total_out); + + deflate(&strm, Z_FINISH); + } + while (strm.avail_out == 0); + + deflateEnd(&strm); + + [compressed setLength:strm.total_out]; + return [NSData dataWithData:compressed]; +} + ++ (NSData *)dataNamed:(NSString *)name { + NSString *path = [[NSBundle mainBundle] pathForResource:name ofType:@""]; + if (!path) return nil; + NSData *data = [NSData dataWithContentsOfFile:path]; + return data; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSDate+YYAdd.h b/Example/Pods/YYCategories/YYCategories/Foundation/NSDate+YYAdd.h new file mode 100755 index 0000000..d281902 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSDate+YYAdd.h @@ -0,0 +1,188 @@ +// +// NSDate+YYAdd.h +// YYCategories +// +// Created by ibireme on 13/4/11. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides extensions for `NSDate`. + */ +@interface NSDate (YYAdd) + +#pragma mark - Component Properties +///============================================================================= +/// @name Component Properties +///============================================================================= + +@property (nonatomic, readonly) NSInteger year; ///< Year component +@property (nonatomic, readonly) NSInteger month; ///< Month component (1~12) +@property (nonatomic, readonly) NSInteger day; ///< Day component (1~31) +@property (nonatomic, readonly) NSInteger hour; ///< Hour component (0~23) +@property (nonatomic, readonly) NSInteger minute; ///< Minute component (0~59) +@property (nonatomic, readonly) NSInteger second; ///< Second component (0~59) +@property (nonatomic, readonly) NSInteger nanosecond; ///< Nanosecond component +@property (nonatomic, readonly) NSInteger weekday; ///< Weekday component (1~7, first day is based on user setting) +@property (nonatomic, readonly) NSInteger weekdayOrdinal; ///< WeekdayOrdinal component +@property (nonatomic, readonly) NSInteger weekOfMonth; ///< WeekOfMonth component (1~5) +@property (nonatomic, readonly) NSInteger weekOfYear; ///< WeekOfYear component (1~53) +@property (nonatomic, readonly) NSInteger yearForWeekOfYear; ///< YearForWeekOfYear component +@property (nonatomic, readonly) NSInteger quarter; ///< Quarter component +@property (nonatomic, readonly) BOOL isLeapMonth; ///< Weather the month is leap month +@property (nonatomic, readonly) BOOL isLeapYear; ///< Weather the year is leap year +@property (nonatomic, readonly) BOOL isToday; ///< Weather date is today (based on current locale) +@property (nonatomic, readonly) BOOL isYesterday; ///< Weather date is yesterday (based on current locale) + +#pragma mark - Date modify +///============================================================================= +/// @name Date modify +///============================================================================= + +/** + Returns a date representing the receiver date shifted later by the provided number of years. + + @param years Number of years to add. + @return Date modified by the number of desired years. + */ +- (nullable NSDate *)dateByAddingYears:(NSInteger)years; + +/** + Returns a date representing the receiver date shifted later by the provided number of months. + + @param months Number of months to add. + @return Date modified by the number of desired months. + */ +- (nullable NSDate *)dateByAddingMonths:(NSInteger)months; + +/** + Returns a date representing the receiver date shifted later by the provided number of weeks. + + @param weeks Number of weeks to add. + @return Date modified by the number of desired weeks. + */ +- (nullable NSDate *)dateByAddingWeeks:(NSInteger)weeks; + +/** + Returns a date representing the receiver date shifted later by the provided number of days. + + @param days Number of days to add. + @return Date modified by the number of desired days. + */ +- (nullable NSDate *)dateByAddingDays:(NSInteger)days; + +/** + Returns a date representing the receiver date shifted later by the provided number of hours. + + @param hours Number of hours to add. + @return Date modified by the number of desired hours. + */ +- (nullable NSDate *)dateByAddingHours:(NSInteger)hours; + +/** + Returns a date representing the receiver date shifted later by the provided number of minutes. + + @param minutes Number of minutes to add. + @return Date modified by the number of desired minutes. + */ +- (nullable NSDate *)dateByAddingMinutes:(NSInteger)minutes; + +/** + Returns a date representing the receiver date shifted later by the provided number of seconds. + + @param seconds Number of seconds to add. + @return Date modified by the number of desired seconds. + */ +- (nullable NSDate *)dateByAddingSeconds:(NSInteger)seconds; + + +#pragma mark - Date Format +///============================================================================= +/// @name Date Format +///============================================================================= + +/** + Returns a formatted string representing this date. + see http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns + for format description. + + @param format String representing the desired date format. + e.g. @"yyyy-MM-dd HH:mm:ss" + + @return NSString representing the formatted date string. + */ +- (nullable NSString *)stringWithFormat:(NSString *)format; + +/** + Returns a formatted string representing this date. + see http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns + for format description. + + @param format String representing the desired date format. + e.g. @"yyyy-MM-dd HH:mm:ss" + + @param timeZone Desired time zone. + + @param locale Desired locale. + + @return NSString representing the formatted date string. + */ +- (nullable NSString *)stringWithFormat:(NSString *)format + timeZone:(nullable NSTimeZone *)timeZone + locale:(nullable NSLocale *)locale; + +/** + Returns a string representing this date in ISO8601 format. + e.g. "2010-07-09T16:13:30+12:00" + + @return NSString representing the formatted date string in ISO8601. + */ +- (nullable NSString *)stringWithISOFormat; + +/** + Returns a date parsed from given string interpreted using the format. + + @param dateString The string to parse. + @param format The string's date format. + + @return A date representation of string interpreted using the format. + If can not parse the string, returns nil. + */ ++ (nullable NSDate *)dateWithString:(NSString *)dateString format:(NSString *)format; + +/** + Returns a date parsed from given string interpreted using the format. + + @param dateString The string to parse. + @param format The string's date format. + @param timeZone The time zone, can be nil. + @param locale The locale, can be nil. + + @return A date representation of string interpreted using the format. + If can not parse the string, returns nil. + */ ++ (nullable NSDate *)dateWithString:(NSString *)dateString + format:(NSString *)format + timeZone:(nullable NSTimeZone *)timeZone + locale:(nullable NSLocale *)locale; + +/** + Returns a date parsed from given string interpreted using the ISO8601 format. + + @param dateString The date string in ISO8601 format. e.g. "2010-07-09T16:13:30+12:00" + + @return A date representation of string interpreted using the format. + If can not parse the string, returns nil. + */ ++ (nullable NSDate *)dateWithISOFormatString:(NSString *)dateString; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSDate+YYAdd.m b/Example/Pods/YYCategories/YYCategories/Foundation/NSDate+YYAdd.m new file mode 100755 index 0000000..9e27a5d --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSDate+YYAdd.m @@ -0,0 +1,188 @@ +// +// NSDate+YYAdd.m +// YYCategories +// +// Created by ibireme on 13/4/11. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "NSDate+YYAdd.h" +#import "YYCategoriesMacro.h" +#import + +YYSYNTH_DUMMY_CLASS(NSDate_YYAdd) + + +@implementation NSDate (YYAdd) + +- (NSInteger)year { + return [[[NSCalendar currentCalendar] components:NSCalendarUnitYear fromDate:self] year]; +} + +- (NSInteger)month { + return [[[NSCalendar currentCalendar] components:NSCalendarUnitMonth fromDate:self] month]; +} + +- (NSInteger)day { + return [[[NSCalendar currentCalendar] components:NSCalendarUnitDay fromDate:self] day]; +} + +- (NSInteger)hour { + return [[[NSCalendar currentCalendar] components:NSCalendarUnitHour fromDate:self] hour]; +} + +- (NSInteger)minute { + return [[[NSCalendar currentCalendar] components:NSCalendarUnitMinute fromDate:self] minute]; +} + +- (NSInteger)second { + return [[[NSCalendar currentCalendar] components:NSCalendarUnitSecond fromDate:self] second]; +} + +- (NSInteger)nanosecond { + return [[[NSCalendar currentCalendar] components:NSCalendarUnitSecond fromDate:self] nanosecond]; +} + +- (NSInteger)weekday { + return [[[NSCalendar currentCalendar] components:NSCalendarUnitWeekday fromDate:self] weekday]; +} + +- (NSInteger)weekdayOrdinal { + return [[[NSCalendar currentCalendar] components:NSCalendarUnitWeekdayOrdinal fromDate:self] weekdayOrdinal]; +} + +- (NSInteger)weekOfMonth { + return [[[NSCalendar currentCalendar] components:NSCalendarUnitWeekOfMonth fromDate:self] weekOfMonth]; +} + +- (NSInteger)weekOfYear { + return [[[NSCalendar currentCalendar] components:NSCalendarUnitWeekOfYear fromDate:self] weekOfYear]; +} + +- (NSInteger)yearForWeekOfYear { + return [[[NSCalendar currentCalendar] components:NSCalendarUnitYearForWeekOfYear fromDate:self] yearForWeekOfYear]; +} + +- (NSInteger)quarter { + return [[[NSCalendar currentCalendar] components:NSCalendarUnitQuarter fromDate:self] quarter]; +} + +- (BOOL)isLeapMonth { + return [[[NSCalendar currentCalendar] components:NSCalendarUnitQuarter fromDate:self] isLeapMonth]; +} + +- (BOOL)isLeapYear { + NSUInteger year = self.year; + return ((year % 400 == 0) || ((year % 100 != 0) && (year % 4 == 0))); +} + +- (BOOL)isToday { + if (fabs(self.timeIntervalSinceNow) >= 60 * 60 * 24) return NO; + return [NSDate new].day == self.day; +} + +- (BOOL)isYesterday { + NSDate *added = [self dateByAddingDays:1]; + return [added isToday]; +} + +- (NSDate *)dateByAddingYears:(NSInteger)years { + NSCalendar *calendar = [NSCalendar currentCalendar]; + NSDateComponents *components = [[NSDateComponents alloc] init]; + [components setYear:years]; + return [calendar dateByAddingComponents:components toDate:self options:0]; +} + +- (NSDate *)dateByAddingMonths:(NSInteger)months { + NSCalendar *calendar = [NSCalendar currentCalendar]; + NSDateComponents *components = [[NSDateComponents alloc] init]; + [components setMonth:months]; + return [calendar dateByAddingComponents:components toDate:self options:0]; +} + +- (NSDate *)dateByAddingWeeks:(NSInteger)weeks { + NSCalendar *calendar = [NSCalendar currentCalendar]; + NSDateComponents *components = [[NSDateComponents alloc] init]; + [components setWeekOfYear:weeks]; + return [calendar dateByAddingComponents:components toDate:self options:0]; +} + +- (NSDate *)dateByAddingDays:(NSInteger)days { + NSTimeInterval aTimeInterval = [self timeIntervalSinceReferenceDate] + 86400 * days; + NSDate *newDate = [NSDate dateWithTimeIntervalSinceReferenceDate:aTimeInterval]; + return newDate; +} + +- (NSDate *)dateByAddingHours:(NSInteger)hours { + NSTimeInterval aTimeInterval = [self timeIntervalSinceReferenceDate] + 3600 * hours; + NSDate *newDate = [NSDate dateWithTimeIntervalSinceReferenceDate:aTimeInterval]; + return newDate; +} + +- (NSDate *)dateByAddingMinutes:(NSInteger)minutes { + NSTimeInterval aTimeInterval = [self timeIntervalSinceReferenceDate] + 60 * minutes; + NSDate *newDate = [NSDate dateWithTimeIntervalSinceReferenceDate:aTimeInterval]; + return newDate; +} + +- (NSDate *)dateByAddingSeconds:(NSInteger)seconds { + NSTimeInterval aTimeInterval = [self timeIntervalSinceReferenceDate] + seconds; + NSDate *newDate = [NSDate dateWithTimeIntervalSinceReferenceDate:aTimeInterval]; + return newDate; +} + +- (NSString *)stringWithFormat:(NSString *)format { + NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; + [formatter setDateFormat:format]; + [formatter setLocale:[NSLocale currentLocale]]; + return [formatter stringFromDate:self]; +} + +- (NSString *)stringWithFormat:(NSString *)format timeZone:(NSTimeZone *)timeZone locale:(NSLocale *)locale { + NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; + [formatter setDateFormat:format]; + if (timeZone) [formatter setTimeZone:timeZone]; + if (locale) [formatter setLocale:locale]; + return [formatter stringFromDate:self]; +} + +- (NSString *)stringWithISOFormat { + static NSDateFormatter *formatter = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + formatter = [[NSDateFormatter alloc] init]; + formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]; + formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ssZ"; + }); + return [formatter stringFromDate:self]; +} + ++ (NSDate *)dateWithString:(NSString *)dateString format:(NSString *)format { + NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; + [formatter setDateFormat:format]; + return [formatter dateFromString:dateString]; +} + ++ (NSDate *)dateWithString:(NSString *)dateString format:(NSString *)format timeZone:(NSTimeZone *)timeZone locale:(NSLocale *)locale { + NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; + [formatter setDateFormat:format]; + if (timeZone) [formatter setTimeZone:timeZone]; + if (locale) [formatter setLocale:locale]; + return [formatter dateFromString:dateString]; +} + ++ (NSDate *)dateWithISOFormatString:(NSString *)dateString { + static NSDateFormatter *formatter = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + formatter = [[NSDateFormatter alloc] init]; + formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]; + formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ssZ"; + }); + return [formatter dateFromString:dateString]; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSDictionary+YYAdd.h b/Example/Pods/YYCategories/YYCategories/Foundation/NSDictionary+YYAdd.h new file mode 100755 index 0000000..99f0cda --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSDictionary+YYAdd.h @@ -0,0 +1,197 @@ +// +// NSDictionary+YYAdd.h +// YYCategories +// +// Created by ibireme on 13/4/4. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provide some some common method for `NSDictionary`. + */ +@interface NSDictionary (YYAdd) + +#pragma mark - Dictionary Convertor +///============================================================================= +/// @name Dictionary Convertor +///============================================================================= + +/** + Creates and returns a dictionary from a specified property list data. + + @param plist A property list data whose root object is a dictionary. + @return A new dictionary created from the plist data, or nil if an error occurs. + */ ++ (nullable NSDictionary *)dictionaryWithPlistData:(NSData *)plist; + +/** + Creates and returns a dictionary from a specified property list xml string. + + @param plist A property list xml string whose root object is a dictionary. + @return A new dictionary created from the plist string, or nil if an error occurs. + + @discussion Apple has implemented this method, but did not make it public. + */ ++ (nullable NSDictionary *)dictionaryWithPlistString:(NSString *)plist; + +/** + Serialize the dictionary to a binary property list data. + + @return A bplist data, or nil if an error occurs. + + @discussion Apple has implemented this method, but did not make it public. + */ +- (nullable NSData *)plistData; + +/** + Serialize the dictionary to a xml property list string. + + @return A plist xml string, or nil if an error occurs. + */ +- (nullable NSString *)plistString; + +/** + Returns a new array containing the dictionary's keys sorted. + The keys should be NSString, and they will be sorted ascending. + + @return A new array containing the dictionary's keys, + or an empty array if the dictionary has no entries. + */ +- (NSArray *)allKeysSorted; + +/** + Returns a new array containing the dictionary's values sorted by keys. + + The order of the values in the array is defined by keys. + The keys should be NSString, and they will be sorted ascending. + + @return A new array containing the dictionary's values sorted by keys, + or an empty array if the dictionary has no entries. + */ +- (NSArray *)allValuesSortedByKeys; + +/** + Returns a BOOL value tells if the dictionary has an object for key. + + @param key The key. + */ +- (BOOL)containsObjectForKey:(id)key; + +/** + Returns a new dictionary containing the entries for keys. + If the keys is empty or nil, it just returns an empty dictionary. + + @param keys The keys. + @return The entries for the keys. + */ +- (NSDictionary *)entriesForKeys:(NSArray *)keys; + +/** + Convert dictionary to json string. return nil if an error occurs. + */ +- (nullable NSString *)jsonStringEncoded; + +/** + Convert dictionary to json string formatted. return nil if an error occurs. + */ +- (nullable NSString *)jsonPrettyStringEncoded; + +/** + Try to parse an XML and wrap it into a dictionary. + If you just want to get some value from a small xml, try this. + + example XML: "link" + example Return: @{@"_name":@"config", @"a":{@"_text":@"link",@"href":@"test.com"}} + + @param xmlDataOrString XML in NSData or NSString format. + @return Return a new dictionary, or nil if an error occurs. + */ ++ (nullable NSDictionary *)dictionaryWithXML:(id)xmlDataOrString; + +#pragma mark - Dictionary Value Getter +///============================================================================= +/// @name Dictionary Value Getter +///============================================================================= + +- (BOOL)boolValueForKey:(NSString *)key default:(BOOL)def; + +- (char)charValueForKey:(NSString *)key default:(char)def; +- (unsigned char)unsignedCharValueForKey:(NSString *)key default:(unsigned char)def; + +- (short)shortValueForKey:(NSString *)key default:(short)def; +- (unsigned short)unsignedShortValueForKey:(NSString *)key default:(unsigned short)def; + +- (int)intValueForKey:(NSString *)key default:(int)def; +- (unsigned int)unsignedIntValueForKey:(NSString *)key default:(unsigned int)def; + +- (long)longValueForKey:(NSString *)key default:(long)def; +- (unsigned long)unsignedLongValueForKey:(NSString *)key default:(unsigned long)def; + +- (long long)longLongValueForKey:(NSString *)key default:(long long)def; +- (unsigned long long)unsignedLongLongValueForKey:(NSString *)key default:(unsigned long long)def; + +- (float)floatValueForKey:(NSString *)key default:(float)def; +- (double)doubleValueForKey:(NSString *)key default:(double)def; + +- (NSInteger)integerValueForKey:(NSString *)key default:(NSInteger)def; +- (NSUInteger)unsignedIntegerValueForKey:(NSString *)key default:(NSUInteger)def; + +- (nullable NSNumber *)numberValueForKey:(NSString *)key default:(nullable NSNumber *)def; +- (nullable NSString *)stringValueForKey:(NSString *)key default:(nullable NSString *)def; + +@end + + + +/** + Provide some some common method for `NSMutableDictionary`. + */ +@interface NSMutableDictionary (YYAdd) + +/** + Creates and returns a dictionary from a specified property list data. + + @param plist A property list data whose root object is a dictionary. + @return A new dictionary created from the plist data, or nil if an error occurs. + + @discussion Apple has implemented this method, but did not make it public. + */ ++ (nullable NSMutableDictionary *)dictionaryWithPlistData:(NSData *)plist; + +/** + Creates and returns a dictionary from a specified property list xml string. + + @param plist A property list xml string whose root object is a dictionary. + @return A new dictionary created from the plist string, or nil if an error occurs. + */ ++ (nullable NSMutableDictionary *)dictionaryWithPlistString:(NSString *)plist; + + +/** + Removes and returns the value associated with a given key. + + @param aKey The key for which to return and remove the corresponding value. + @return The value associated with aKey, or nil if no value is associated with aKey. + */ +- (nullable id)popObjectForKey:(id)aKey; + +/** + Returns a new dictionary containing the entries for keys, and remove these + entries from reciever. If the keys is empty or nil, it just returns an + empty dictionary. + + @param keys The keys. + @return The entries for the keys. + */ +- (NSDictionary *)popEntriesForKeys:(NSArray *)keys; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSDictionary+YYAdd.m b/Example/Pods/YYCategories/YYCategories/Foundation/NSDictionary+YYAdd.m new file mode 100755 index 0000000..54a4873 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSDictionary+YYAdd.m @@ -0,0 +1,391 @@ +// +// NSDictionary+YYAdd.m +// YYCategories +// +// Created by ibireme on 13/4/4. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "NSDictionary+YYAdd.h" +#import "NSString+YYAdd.h" +#import "NSData+YYAdd.h" +#import "YYCategoriesMacro.h" + +YYSYNTH_DUMMY_CLASS(NSDictionary_YYAdd) + + +@interface _YYXMLDictionaryParser : NSObject +@end + +@implementation _YYXMLDictionaryParser { + NSMutableDictionary *_root; + NSMutableArray *_stack; + NSMutableString *_text; +} + +- (instancetype)initWithData:(NSData *)data { + self = super.init; + NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data]; + [parser setDelegate:self]; + [parser parse]; + return self; +} + +- (instancetype)initWithString:(NSString *)xml { + NSData *data = [xml dataUsingEncoding:NSUTF8StringEncoding]; + return [self initWithData:data]; +} + +- (NSDictionary *)result { + return _root; +} + +#pragma mark NSXMLParserDelegate + +#define XMLText @"_text" +#define XMLName @"_name" +#define XMLPref @"_" + +- (void)textEnd { + _text = _text.stringByTrim.mutableCopy; + if (_text.length) { + NSMutableDictionary *top = _stack.lastObject; + id existing = top[XMLText]; + if ([existing isKindOfClass:[NSArray class]]) { + [existing addObject:_text]; + } else if (existing) { + top[XMLText] = [@[existing, _text] mutableCopy]; + } else { + top[XMLText] = _text; + } + } + _text = nil; +} + +- (void)parser:(__unused NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(__unused NSString *)namespaceURI qualifiedName:(__unused NSString *)qName attributes:(NSDictionary *)attributeDict { + [self textEnd]; + + NSMutableDictionary *node = [NSMutableDictionary new]; + if (!_root) node[XMLName] = elementName; + if (attributeDict.count) [node addEntriesFromDictionary:attributeDict]; + + if (_root) { + NSMutableDictionary *top = _stack.lastObject; + id existing = top[elementName]; + if ([existing isKindOfClass:[NSArray class]]) { + [existing addObject:node]; + } else if (existing) { + top[elementName] = [@[existing, node] mutableCopy]; + } else { + top[elementName] = node; + } + [_stack addObject:node]; + } else { + _root = node; + _stack = [NSMutableArray arrayWithObject:node]; + } +} + +- (void)parser:(__unused NSXMLParser *)parser didEndElement:(__unused NSString *)elementName namespaceURI:(__unused NSString *)namespaceURI qualifiedName:(__unused NSString *)qName { + [self textEnd]; + + NSMutableDictionary *top = _stack.lastObject; + [_stack removeLastObject]; + + NSMutableDictionary *left = top.mutableCopy; + [left removeObjectsForKeys:@[XMLText, XMLName]]; + for (NSString *key in left.allKeys) { + [left removeObjectForKey:key]; + if ([key hasPrefix:XMLPref]) { + left[[key substringFromIndex:XMLPref.length]] = top[key]; + } + } + if (left.count) return; + + NSMutableDictionary *children = top.mutableCopy; + [children removeObjectsForKeys:@[XMLText, XMLName]]; + for (NSString *key in children.allKeys) { + if ([key hasPrefix:XMLPref]) { + [children removeObjectForKey:key]; + } + } + if (children.count) return; + + NSMutableDictionary *topNew = _stack.lastObject; + NSString *nodeName = top[XMLName]; + if (!nodeName) { + for (NSString *name in topNew) { + id object = topNew[name]; + if (object == top) { + nodeName = name; break; + } else if ([object isKindOfClass:[NSArray class]] && [object containsObject:top]) { + nodeName = name; break; + } + } + } + if (!nodeName) return; + + id inner = top[XMLText]; + if ([inner isKindOfClass:[NSArray class]]) { + inner = [inner componentsJoinedByString:@"\n"]; + } + if (!inner) return; + + id parent = topNew[nodeName]; + if ([parent isKindOfClass:[NSArray class]]) { + parent[[parent count] - 1] = inner; + } else { + topNew[nodeName] = inner; + } +} + +- (void)parser:(__unused NSXMLParser *)parser foundCharacters:(NSString *)string { + if (_text) [_text appendString:string]; + else _text = [NSMutableString stringWithString:string]; +} + +- (void)parser:(__unused NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock { + NSString *string = [[NSString alloc] initWithData:CDATABlock encoding:NSUTF8StringEncoding]; + if (_text) [_text appendString:string]; + else _text = [NSMutableString stringWithString:string]; +} + +#undef XMLText +#undef XMLName +#undef XMLPref +@end + + +@implementation NSDictionary (YYAdd) + ++ (NSDictionary *)dictionaryWithPlistData:(NSData *)plist { + if (!plist) return nil; + NSDictionary *dictionary = [NSPropertyListSerialization propertyListWithData:plist options:NSPropertyListImmutable format:NULL error:NULL]; + if ([dictionary isKindOfClass:[NSDictionary class]]) return dictionary; + return nil; +} + ++ (NSDictionary *)dictionaryWithPlistString:(NSString *)plist { + if (!plist) return nil; + NSData* data = [plist dataUsingEncoding:NSUTF8StringEncoding]; + return [self dictionaryWithPlistData:data]; +} + +- (NSData *)plistData { + return [NSPropertyListSerialization dataWithPropertyList:self format:NSPropertyListBinaryFormat_v1_0 options:kNilOptions error:NULL]; +} + +- (NSString *)plistString { + NSData *xmlData = [NSPropertyListSerialization dataWithPropertyList:self format:NSPropertyListXMLFormat_v1_0 options:kNilOptions error:NULL]; + if (xmlData) return xmlData.utf8String; + return nil; +} + +- (NSArray *)allKeysSorted { + return [[self allKeys] sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)]; +} + +- (NSArray *)allValuesSortedByKeys { + NSArray *sortedKeys = [self allKeysSorted]; + NSMutableArray *arr = [[NSMutableArray alloc] init]; + for (id key in sortedKeys) { + [arr addObject:self[key]]; + } + return arr; +} + +- (BOOL)containsObjectForKey:(id)key { + if (!key) return NO; + return self[key] != nil; +} + +- (NSDictionary *)entriesForKeys:(NSArray *)keys { + NSMutableDictionary *dic = [NSMutableDictionary new]; + for (id key in keys) { + id value = self[key]; + if (value) dic[key] = value; + } + return dic; +} + +- (NSString *)jsonStringEncoded { + if ([NSJSONSerialization isValidJSONObject:self]) { + NSError *error; + NSData *jsonData = [NSJSONSerialization dataWithJSONObject:self options:0 error:&error]; + NSString *json = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; + return json; + } + return nil; +} + +- (NSString *)jsonPrettyStringEncoded { + if ([NSJSONSerialization isValidJSONObject:self]) { + NSError *error; + NSData *jsonData = [NSJSONSerialization dataWithJSONObject:self options:NSJSONWritingPrettyPrinted error:&error]; + NSString *json = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; + return json; + } + return nil; +} + ++ (NSDictionary *)dictionaryWithXML:(id)xml { + _YYXMLDictionaryParser *parser = nil; + if ([xml isKindOfClass:[NSString class]]) { + parser = [[_YYXMLDictionaryParser alloc] initWithString:xml]; + } else if ([xml isKindOfClass:[NSData class]]) { + parser = [[_YYXMLDictionaryParser alloc] initWithData:xml]; + } + return [parser result]; +} + + +/// Get a number value from 'id'. +static NSNumber *NSNumberFromID(id value) { + static NSCharacterSet *dot; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + dot = [NSCharacterSet characterSetWithRange:NSMakeRange('.', 1)]; + }); + if (!value || value == [NSNull null]) return nil; + if ([value isKindOfClass:[NSNumber class]]) return value; + if ([value isKindOfClass:[NSString class]]) { + NSString *lower = ((NSString *)value).lowercaseString; + if ([lower isEqualToString:@"true"] || [lower isEqualToString:@"yes"]) return @(YES); + if ([lower isEqualToString:@"false"] || [lower isEqualToString:@"no"]) return @(NO); + if ([lower isEqualToString:@"nil"] || [lower isEqualToString:@"null"]) return nil; + if ([(NSString *)value rangeOfCharacterFromSet:dot].location != NSNotFound) { + return @(((NSString *)value).doubleValue); + } else { + return @(((NSString *)value).longLongValue); + } + } + return nil; +} + +#define RETURN_VALUE(_type_) \ +if (!key) return def; \ +id value = self[key]; \ +if (!value || value == [NSNull null]) return def; \ +if ([value isKindOfClass:[NSNumber class]]) return ((NSNumber *)value)._type_; \ +if ([value isKindOfClass:[NSString class]]) return NSNumberFromID(value)._type_; \ +return def; + +- (BOOL)boolValueForKey:(NSString *)key default:(BOOL)def { + RETURN_VALUE(boolValue); +} + +- (char)charValueForKey:(NSString *)key default:(char)def { + RETURN_VALUE(charValue); +} + +- (unsigned char)unsignedCharValueForKey:(NSString *)key default:(unsigned char)def { + RETURN_VALUE(unsignedCharValue); +} + +- (short)shortValueForKey:(NSString *)key default:(short)def { + RETURN_VALUE(shortValue); +} + +- (unsigned short)unsignedShortValueForKey:(NSString *)key default:(unsigned short)def { + RETURN_VALUE(unsignedShortValue); +} + +- (int)intValueForKey:(NSString *)key default:(int)def { + RETURN_VALUE(intValue); +} + +- (unsigned int)unsignedIntValueForKey:(NSString *)key default:(unsigned int)def { + RETURN_VALUE(unsignedIntValue); +} + +- (long)longValueForKey:(NSString *)key default:(long)def { + RETURN_VALUE(longValue); +} + +- (unsigned long)unsignedLongValueForKey:(NSString *)key default:(unsigned long)def { + RETURN_VALUE(unsignedLongValue); +} + +- (long long)longLongValueForKey:(NSString *)key default:(long long)def { + RETURN_VALUE(longLongValue); +} + +- (unsigned long long)unsignedLongLongValueForKey:(NSString *)key default:(unsigned long long)def { + RETURN_VALUE(unsignedLongLongValue); +} + +- (float)floatValueForKey:(NSString *)key default:(float)def { + RETURN_VALUE(floatValue); +} + +- (double)doubleValueForKey:(NSString *)key default:(double)def { + RETURN_VALUE(doubleValue); +} + +- (NSInteger)integerValueForKey:(NSString *)key default:(NSInteger)def { + RETURN_VALUE(integerValue); +} + +- (NSUInteger)unsignedIntegerValueForKey:(NSString *)key default:(NSUInteger)def { + RETURN_VALUE(unsignedIntegerValue); +} + +- (NSNumber *)numberValueForKey:(NSString *)key default:(NSNumber *)def { + if (!key) return def; + id value = self[key]; + if (!value || value == [NSNull null]) return def; + if ([value isKindOfClass:[NSNumber class]]) return value; + if ([value isKindOfClass:[NSString class]]) return NSNumberFromID(value); + return def; +} + +- (NSString *)stringValueForKey:(NSString *)key default:(NSString *)def { + if (!key) return def; + id value = self[key]; + if (!value || value == [NSNull null]) return def; + if ([value isKindOfClass:[NSString class]]) return value; + if ([value isKindOfClass:[NSNumber class]]) return ((NSNumber *)value).description; + return def; +} + +@end + + +@implementation NSMutableDictionary (YYAdd) + ++ (NSMutableDictionary *)dictionaryWithPlistData:(NSData *)plist { + if (!plist) return nil; + NSMutableDictionary *dictionary = [NSPropertyListSerialization propertyListWithData:plist options:NSPropertyListMutableContainersAndLeaves format:NULL error:NULL]; + if ([dictionary isKindOfClass:[NSMutableDictionary class]]) return dictionary; + return nil; +} + ++ (NSMutableDictionary *)dictionaryWithPlistString:(NSString *)plist { + if (!plist) return nil; + NSData* data = [plist dataUsingEncoding:NSUTF8StringEncoding]; + return [self dictionaryWithPlistData:data]; +} + +- (id)popObjectForKey:(id)aKey { + if (!aKey) return nil; + id value = self[aKey]; + [self removeObjectForKey:aKey]; + return value; +} + +- (NSDictionary *)popEntriesForKeys:(NSArray *)keys { + NSMutableDictionary *dic = [NSMutableDictionary new]; + for (id key in keys) { + id value = self[key]; + if (value) { + [self removeObjectForKey:key]; + dic[key] = value; + } + } + return dic; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSKeyedUnarchiver+YYAdd.h b/Example/Pods/YYCategories/YYCategories/Foundation/NSKeyedUnarchiver+YYAdd.h new file mode 100755 index 0000000..c8384db --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSKeyedUnarchiver+YYAdd.h @@ -0,0 +1,45 @@ +// +// NSKeyedUnarchiver+YYAdd.h +// YYCategories +// +// Created by ibireme on 13/8/4. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides extensions for `NSKeyedUnarchiver`. + */ +@interface NSKeyedUnarchiver (YYAdd) + +/** + Same as unarchiveObjectWithData:, except it returns the exception by reference. + + @param data The data need unarchived. + + @param exception Pointer which will, upon return, if an exception occurred and + said pointer is not NULL, point to said NSException. + */ ++ (nullable id)unarchiveObjectWithData:(NSData *)data + exception:(NSException *_Nullable *_Nullable)exception; + +/** + Same as unarchiveObjectWithFile:, except it returns the exception by reference. + + @param path The path of archived object file. + + @param exception Pointer which will, upon return, if an exception occurred and + said pointer is not NULL, point to said NSException. + */ ++ (nullable id)unarchiveObjectWithFile:(NSString *)path + exception:(NSException *_Nullable *_Nullable)exception; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSKeyedUnarchiver+YYAdd.m b/Example/Pods/YYCategories/YYCategories/Foundation/NSKeyedUnarchiver+YYAdd.m new file mode 100755 index 0000000..8cba716 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSKeyedUnarchiver+YYAdd.m @@ -0,0 +1,51 @@ +// +// NSKeyedUnarchiver+YYAdd.m +// YYCategories +// +// Created by ibireme on 13/8/4. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "NSKeyedUnarchiver+YYAdd.h" +#import "YYCategoriesMacro.h" + +YYSYNTH_DUMMY_CLASS(NSKeyedUnarchiver_YYAdd) + + +@implementation NSKeyedUnarchiver (YYAdd) + ++ (id)unarchiveObjectWithData:(NSData *)data exception:(__autoreleasing NSException **)exception { + id object = nil; + @try { + object = [NSKeyedUnarchiver unarchiveObjectWithData:data]; + } + @catch (NSException *e) + { + if (exception) *exception = e; + } + @finally + { + } + return object; +} + ++ (id)unarchiveObjectWithFile:(NSString *)path exception:(__autoreleasing NSException **)exception { + id object = nil; + + @try { + object = [NSKeyedUnarchiver unarchiveObjectWithFile:path]; + } + @catch (NSException *e) + { + if (exception) *exception = e; + } + @finally + { + } + return object; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSNotificationCenter+YYAdd.h b/Example/Pods/YYCategories/YYCategories/Foundation/NSNotificationCenter+YYAdd.h new file mode 100755 index 0000000..101571e --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSNotificationCenter+YYAdd.h @@ -0,0 +1,97 @@ +// +// NSNotificationCenter+YYAdd.h +// YYCategories +// +// Created by ibireme on 13/8/24. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provide some method for `NSNotificationCenter` + to post notification in different thread. + */ +@interface NSNotificationCenter (YYAdd) + +/** + Posts a given notification to the receiver on main thread. + If current thread is main thread, the notification is posted synchronized; + otherwise, is posted asynchronized. + + @param notification The notification to post. + An exception is raised if notification is nil. + */ +- (void)postNotificationOnMainThread:(NSNotification *)notification; + +/** + Posts a given notification to the receiver on main thread. + + @param notification The notification to post. + An exception is raised if notification is nil. + + @param wait A Boolean that specifies whether the current thread blocks + until after the specified notification is posted on the + receiver on the main thread. Specify YES to block this + thread; otherwise, specify NO to have this method return + immediately. + */ +- (void)postNotificationOnMainThread:(NSNotification *)notification + waitUntilDone:(BOOL)wait; + +/** + Creates a notification with a given name and sender and posts it to the + receiver on main thread. If current thread is main thread, the notification + is posted synchronized; otherwise, is posted asynchronized. + + @param name The name of the notification. + + @param object The object posting the notification. + */ +- (void)postNotificationOnMainThreadWithName:(NSString *)name + object:(nullable id)object; + +/** + Creates a notification with a given name and sender and posts it to the + receiver on main thread. If current thread is main thread, the notification + is posted synchronized; otherwise, is posted asynchronized. + + @param name The name of the notification. + + @param object The object posting the notification. + + @param userInfo Information about the the notification. May be nil. + */ +- (void)postNotificationOnMainThreadWithName:(NSString *)name + object:(nullable id)object + userInfo:(nullable NSDictionary *)userInfo; + +/** + Creates a notification with a given name and sender and posts it to the + receiver on main thread. + + @param name The name of the notification. + + @param object The object posting the notification. + + @param userInfo Information about the the notification. May be nil. + + @param wait A Boolean that specifies whether the current thread blocks + until after the specified notification is posted on the + receiver on the main thread. Specify YES to block this + thread; otherwise, specify NO to have this method return + immediately. + */ +- (void)postNotificationOnMainThreadWithName:(NSString *)name + object:(nullable id)object + userInfo:(nullable NSDictionary *)userInfo + waitUntilDone:(BOOL)wait; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSNotificationCenter+YYAdd.m b/Example/Pods/YYCategories/YYCategories/Foundation/NSNotificationCenter+YYAdd.m new file mode 100755 index 0000000..5a35edc --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSNotificationCenter+YYAdd.m @@ -0,0 +1,62 @@ +// +// NSNotificationCenter+YYAdd.m +// YYCategories +// +// Created by ibireme on 13/8/24. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "NSNotificationCenter+YYAdd.h" +#include +#import "YYCategoriesMacro.h" + +YYSYNTH_DUMMY_CLASS(NSNotificationCenter_YYAdd) + + +@implementation NSNotificationCenter (YYAdd) + +- (void)postNotificationOnMainThread:(NSNotification *)notification { + if (pthread_main_np()) return [self postNotification:notification]; + [self postNotificationOnMainThread:notification waitUntilDone:NO]; +} + +- (void)postNotificationOnMainThread:(NSNotification *)notification waitUntilDone:(BOOL)wait { + if (pthread_main_np()) return [self postNotification:notification]; + [[self class] performSelectorOnMainThread:@selector(_yy_postNotification:) withObject:notification waitUntilDone:wait]; +} + +- (void)postNotificationOnMainThreadWithName:(NSString *)name object:(id)object { + if (pthread_main_np()) return [self postNotificationName:name object:object userInfo:nil]; + [self postNotificationOnMainThreadWithName:name object:object userInfo:nil waitUntilDone:NO]; +} + +- (void)postNotificationOnMainThreadWithName:(NSString *)name object:(id)object userInfo:(NSDictionary *)userInfo { + if (pthread_main_np()) return [self postNotificationName:name object:object userInfo:userInfo]; + [self postNotificationOnMainThreadWithName:name object:object userInfo:userInfo waitUntilDone:NO]; +} + +- (void)postNotificationOnMainThreadWithName:(NSString *)name object:(id)object userInfo:(NSDictionary *)userInfo waitUntilDone:(BOOL)wait { + if (pthread_main_np()) return [self postNotificationName:name object:object userInfo:userInfo]; + NSMutableDictionary *info = [[NSMutableDictionary allocWithZone:nil] initWithCapacity:3]; + if (name) [info setObject:name forKey:@"name"]; + if (object) [info setObject:object forKey:@"object"]; + if (userInfo) [info setObject:userInfo forKey:@"userInfo"]; + [[self class] performSelectorOnMainThread:@selector(_yy_postNotificationName:) withObject:info waitUntilDone:wait]; +} + ++ (void)_yy_postNotification:(NSNotification *)notification { + [[self defaultCenter] postNotification:notification]; +} + ++ (void)_yy_postNotificationName:(NSDictionary *)info { + NSString *name = [info objectForKey:@"name"]; + id object = [info objectForKey:@"object"]; + NSDictionary *userInfo = [info objectForKey:@"userInfo"]; + + [[self defaultCenter] postNotificationName:name object:object userInfo:userInfo]; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSNumber+YYAdd.h b/Example/Pods/YYCategories/YYCategories/Foundation/NSNumber+YYAdd.h new file mode 100755 index 0000000..3c73286 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSNumber+YYAdd.h @@ -0,0 +1,33 @@ +// +// NSNumber+YYAdd.h +// YYCategories +// +// Created by ibireme on 13/8/24. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provide a method to parse `NSString` for `NSNumber`. + */ +@interface NSNumber (YYAdd) + +/** + Creates and returns an NSNumber object from a string. + Valid format: @"12", @"12.345", @" -0xFF", @" .23e99 "... + + @param string The string described an number. + + @return an NSNumber when parse succeed, or nil if an error occurs. + */ ++ (nullable NSNumber *)numberWithString:(NSString *)string; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSNumber+YYAdd.m b/Example/Pods/YYCategories/YYCategories/Foundation/NSNumber+YYAdd.m new file mode 100755 index 0000000..e21fbd1 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSNumber+YYAdd.m @@ -0,0 +1,63 @@ +// +// NSNumber+YYAdd.m +// YYCategories +// +// Created by ibireme on 13/8/24. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "NSNumber+YYAdd.h" +#import "NSString+YYAdd.h" +#import "YYCategoriesMacro.h" + +YYSYNTH_DUMMY_CLASS(NSNumber_YYAdd) + + +@implementation NSNumber (YYAdd) + ++ (NSNumber *)numberWithString:(NSString *)string { + NSString *str = [[string stringByTrim] lowercaseString]; + if (!str || !str.length) { + return nil; + } + + static NSDictionary *dic; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + dic = @{@"true" : @(YES), + @"yes" : @(YES), + @"false" : @(NO), + @"no" : @(NO), + @"nil" : [NSNull null], + @"null" : [NSNull null], + @"" : [NSNull null]}; + }); + NSNumber *num = dic[str]; + if (num) { + if (num == (id)[NSNull null]) return nil; + return num; + } + + // hex number + int sign = 0; + if ([str hasPrefix:@"0x"]) sign = 1; + else if ([str hasPrefix:@"-0x"]) sign = -1; + if (sign != 0) { + NSScanner *scan = [NSScanner scannerWithString:str]; + unsigned num = -1; + BOOL suc = [scan scanHexInt:&num]; + if (suc) + return [NSNumber numberWithLong:((long)num * sign)]; + else + return nil; + } + // normal number + NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; + [formatter setNumberStyle:NSNumberFormatterDecimalStyle]; + return [formatter numberFromString:string]; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAdd.h b/Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAdd.h new file mode 100755 index 0000000..8f5c169 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAdd.h @@ -0,0 +1,302 @@ +// +// NSObject+YYAdd.h +// YYCategories +// +// Created by ibireme on 14/10/8. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Common tasks for NSObject. + */ +@interface NSObject (YYAdd) + + +#pragma mark - Sending messages with variable parameters +///============================================================================= +/// @name Sending messages with variable parameters +///============================================================================= + +/** + Sends a specified message to the receiver and returns the result of the message. + + @param sel A selector identifying the message to send. If the selector is + NULL or unrecognized, an NSInvalidArgumentException is raised. + + @param ... Variable parameter list. Parameters type must correspond to the + selector's method declaration, or unexpected results may occur. + It doesn't support union or struct which is larger than 256 bytes. + + @return An object that is the result of the message. + + @discussion The selector's return value will be wrap as NSNumber or NSValue + if the selector's `return type` is not object. It always returns nil + if the selector's `return type` is void. + + Sample Code: + + // no variable args + [view performSelectorWithArgs:@selector(removeFromSuperView)]; + + // variable arg is not object + [view performSelectorWithArgs:@selector(setCenter:), CGPointMake(0, 0)]; + + // perform and return object + UIImage *image = [UIImage.class performSelectorWithArgs:@selector(imageWithData:scale:), data, 2.0]; + + // perform and return wrapped number + NSNumber *lengthValue = [@"hello" performSelectorWithArgs:@selector(length)]; + NSUInteger length = lengthValue.unsignedIntegerValue; + + // perform and return wrapped struct + NSValue *frameValue = [view performSelectorWithArgs:@selector(frame)]; + CGRect frame = frameValue.CGRectValue; + */ +- (nullable id)performSelectorWithArgs:(SEL)sel, ...; + +/** + Invokes a method of the receiver on the current thread using the default mode after a delay. + + @warning It can't cancelled by previous request. + + @param sel A selector identifying the message to send. If the selector is + NULL or unrecognized, an NSInvalidArgumentException is raised immediately. + + @param delay The minimum time before which the message is sent. Specifying + a delay of 0 does not necessarily cause the selector to be + performed immediately. The selector is still queued on the + thread's run loop and performed as soon as possible. + + @param ... Variable parameter list. Parameters type must correspond to the + selector's method declaration, or unexpected results may occur. + It doesn't support union or struct which is larger than 256 bytes. + + Sample Code: + + // no variable args + [view performSelectorWithArgs:@selector(removeFromSuperView) afterDelay:2.0]; + + // variable arg is not object + [view performSelectorWithArgs:@selector(setCenter:), afterDelay:0, CGPointMake(0, 0)]; + */ +- (void)performSelectorWithArgs:(SEL)sel afterDelay:(NSTimeInterval)delay, ...; + +/** + Invokes a method of the receiver on the main thread using the default mode. + + @param sel A selector identifying the message to send. If the selector is + NULL or unrecognized, an NSInvalidArgumentException is raised. + + @param wait A Boolean that specifies whether the current thread blocks until + after the specified selector is performed on the receiver on the + specified thread. Specify YES to block this thread; otherwise, + specify NO to have this method return immediately. + + @param ... Variable parameter list. Parameters type must correspond to the + selector's method declaration, or unexpected results may occur. + It doesn't support union or struct which is larger than 256 bytes. + + @return While @a wait is YES, it returns object that is the result of + the message. Otherwise return nil; + + @discussion The selector's return value will be wrap as NSNumber or NSValue + if the selector's `return type` is not object. It always returns nil + if the selector's `return type` is void, or @a wait is YES. + + Sample Code: + + // no variable args + [view performSelectorWithArgsOnMainThread:@selector(removeFromSuperView), waitUntilDone:NO]; + + // variable arg is not object + [view performSelectorWithArgsOnMainThread:@selector(setCenter:), waitUntilDone:NO, CGPointMake(0, 0)]; + */ +- (nullable id)performSelectorWithArgsOnMainThread:(SEL)sel waitUntilDone:(BOOL)wait, ...; + +/** + Invokes a method of the receiver on the specified thread using the default mode. + + @param sel A selector identifying the message to send. If the selector is + NULL or unrecognized, an NSInvalidArgumentException is raised. + + @param thread The thread on which to execute aSelector. + + @param wait A Boolean that specifies whether the current thread blocks until + after the specified selector is performed on the receiver on the + specified thread. Specify YES to block this thread; otherwise, + specify NO to have this method return immediately. + + @param ... Variable parameter list. Parameters type must correspond to the + selector's method declaration, or unexpected results may occur. + It doesn't support union or struct which is larger than 256 bytes. + + @return While @a wait is YES, it returns object that is the result of + the message. Otherwise return nil; + + @discussion The selector's return value will be wrap as NSNumber or NSValue + if the selector's `return type` is not object. It always returns nil + if the selector's `return type` is void, or @a wait is YES. + + Sample Code: + + [view performSelectorWithArgs:@selector(removeFromSuperView) onThread:mainThread waitUntilDone:NO]; + + [array performSelectorWithArgs:@selector(sortUsingComparator:) + onThread:backgroundThread + waitUntilDone:NO, ^NSComparisonResult(NSNumber *num1, NSNumber *num2) { + return [num2 compare:num2]; + }]; + */ +- (nullable id)performSelectorWithArgs:(SEL)sel onThread:(NSThread *)thread waitUntilDone:(BOOL)wait, ...; + +/** + Invokes a method of the receiver on a new background thread. + + @param sel A selector identifying the message to send. If the selector is + NULL or unrecognized, an NSInvalidArgumentException is raised. + + @param ... Variable parameter list. Parameters type must correspond to the + selector's method declaration, or unexpected results may occur. + It doesn't support union or struct which is larger than 256 bytes. + + @discussion This method creates a new thread in your application, putting + your application into multithreaded mode if it was not already. + The method represented by sel must set up the thread environment + just as you would for any other new thread in your program. + + Sample Code: + + [array performSelectorWithArgsInBackground:@selector(sortUsingComparator:), + ^NSComparisonResult(NSNumber *num1, NSNumber *num2) { + return [num2 compare:num2]; + }]; + */ +- (void)performSelectorWithArgsInBackground:(SEL)sel, ...; + +/** + Invokes a method of the receiver on the current thread after a delay. + + @warning arc-performSelector-leaks + + @param sel A selector that identifies the method to invoke. The method should + not have a significant return value and should take no argument. + If the selector is NULL or unrecognized, + an NSInvalidArgumentException is raised after the delay. + + @param delay The minimum time before which the message is sent. Specifying a + delay of 0 does not necessarily cause the selector to be performed + immediately. The selector is still queued on the thread's run loop + and performed as soon as possible. + + @discussion This method sets up a timer to perform the aSelector message on + the current thread's run loop. The timer is configured to run in + the default mode (NSDefaultRunLoopMode). When the timer fires, the + thread attempts to dequeue the message from the run loop and + perform the selector. It succeeds if the run loop is running and + in the default mode; otherwise, the timer waits until the run loop + is in the default mode. + */ +- (void)performSelector:(SEL)sel afterDelay:(NSTimeInterval)delay; + + +#pragma mark - Swap method (Swizzling) +///============================================================================= +/// @name Swap method (Swizzling) +///============================================================================= + +/** + Swap two instance method's implementation in one class. Dangerous, be careful. + + @param originalSel Selector 1. + @param newSel Selector 2. + @return YES if swizzling succeed; otherwise, NO. + */ ++ (BOOL)swizzleInstanceMethod:(SEL)originalSel with:(SEL)newSel; + +/** + Swap two class method's implementation in one class. Dangerous, be careful. + + @param originalSel Selector 1. + @param newSel Selector 2. + @return YES if swizzling succeed; otherwise, NO. + */ ++ (BOOL)swizzleClassMethod:(SEL)originalSel with:(SEL)newSel; + + +#pragma mark - Associate value +///============================================================================= +/// @name Associate value +///============================================================================= + +/** + Associate one object to `self`, as if it was a strong property (strong, nonatomic). + + @param value The object to associate. + @param key The pointer to get value from `self`. + */ +- (void)setAssociateValue:(nullable id)value withKey:(void *)key; + +/** + Associate one object to `self`, as if it was a weak property (week, nonatomic). + + @param value The object to associate. + @param key The pointer to get value from `self`. + */ +- (void)setAssociateWeakValue:(nullable id)value withKey:(void *)key; + +/** + Get the associated value from `self`. + + @param key The pointer to get value from `self`. + */ +- (nullable id)getAssociatedValueForKey:(void *)key; + +/** + Remove all associated values. + */ +- (void)removeAssociatedValues; + + +#pragma mark - Others +///============================================================================= +/// @name Others +///============================================================================= + +/** + Returns the class name in NSString. + */ ++ (NSString *)className; + +/** + Returns the class name in NSString. + + @discussion Apple has implemented this method in NSObject(NSLayoutConstraintCallsThis), + but did not make it public. + */ +- (NSString *)className; + +/** + Returns a copy of the instance with `NSKeyedArchiver` and ``NSKeyedUnarchiver``. + Returns nil if an error occurs. + */ +- (nullable id)deepCopy; + +/** + Returns a copy of the instance use archiver and unarchiver. + Returns nil if an error occurs. + + @param archiver NSKeyedArchiver class or any class inherited. + @param unarchiver NSKeyedUnarchiver clsas or any class inherited. + */ +- (nullable id)deepCopyWithArchiver:(Class)archiver unarchiver:(Class)unarchiver; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAdd.m b/Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAdd.m new file mode 100755 index 0000000..7e31e86 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAdd.m @@ -0,0 +1,396 @@ +// +// NSObject+YYAdd.m +// YYCategories +// +// Created by ibireme on 14/10/8. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "NSObject+YYAdd.h" +#import "YYCategoriesMacro.h" +#import +#import + +YYSYNTH_DUMMY_CLASS(NSObject_YYAdd) + + +@implementation NSObject (YYAdd) + +/* + NSInvocation is much slower than objc_msgSend()... + Do not use it if you have performance issues. + */ + +#define INIT_INV(_last_arg_, _return_) \ +NSMethodSignature * sig = [self methodSignatureForSelector:sel]; \ +if (!sig) { [self doesNotRecognizeSelector:sel]; return _return_; } \ +NSInvocation *inv = [NSInvocation invocationWithMethodSignature:sig]; \ +if (!inv) { [self doesNotRecognizeSelector:sel]; return _return_; } \ +[inv setTarget:self]; \ +[inv setSelector:sel]; \ +va_list args; \ +va_start(args, _last_arg_); \ +[NSObject setInv:inv withSig:sig andArgs:args]; \ +va_end(args); + +- (id)performSelectorWithArgs:(SEL)sel, ...{ + INIT_INV(sel, nil); + [inv invoke]; + return [NSObject getReturnFromInv:inv withSig:sig]; +} + +- (void)performSelectorWithArgs:(SEL)sel afterDelay:(NSTimeInterval)delay, ...{ + INIT_INV(delay, ); + [inv retainArguments]; + [inv performSelector:@selector(invoke) withObject:nil afterDelay:delay]; +} + +- (id)performSelectorWithArgsOnMainThread:(SEL)sel waitUntilDone:(BOOL)wait, ...{ + INIT_INV(wait, nil); + if (!wait) [inv retainArguments]; + [inv performSelectorOnMainThread:@selector(invoke) withObject:nil waitUntilDone:wait]; + return wait ? [NSObject getReturnFromInv:inv withSig:sig] : nil; +} + +- (id)performSelectorWithArgs:(SEL)sel onThread:(NSThread *)thr waitUntilDone:(BOOL)wait, ...{ + INIT_INV(wait, nil); + if (!wait) [inv retainArguments]; + [inv performSelector:@selector(invoke) onThread:thr withObject:nil waitUntilDone:wait]; + return wait ? [NSObject getReturnFromInv:inv withSig:sig] : nil; +} + +- (void)performSelectorWithArgsInBackground:(SEL)sel, ...{ + INIT_INV(sel, ); + [inv retainArguments]; + [inv performSelectorInBackground:@selector(invoke) withObject:nil]; +} + +#undef INIT_INV + ++ (id)getReturnFromInv:(NSInvocation *)inv withSig:(NSMethodSignature *)sig { + NSUInteger length = [sig methodReturnLength]; + if (length == 0) return nil; + + char *type = (char *)[sig methodReturnType]; + while (*type == 'r' || // const + *type == 'n' || // in + *type == 'N' || // inout + *type == 'o' || // out + *type == 'O' || // bycopy + *type == 'R' || // byref + *type == 'V') { // oneway + type++; // cutoff useless prefix + } + +#define return_with_number(_type_) \ +do { \ +_type_ ret; \ +[inv getReturnValue:&ret]; \ +return @(ret); \ +} while (0) + + switch (*type) { + case 'v': return nil; // void + case 'B': return_with_number(bool); + case 'c': return_with_number(char); + case 'C': return_with_number(unsigned char); + case 's': return_with_number(short); + case 'S': return_with_number(unsigned short); + case 'i': return_with_number(int); + case 'I': return_with_number(unsigned int); + case 'l': return_with_number(int); + case 'L': return_with_number(unsigned int); + case 'q': return_with_number(long long); + case 'Q': return_with_number(unsigned long long); + case 'f': return_with_number(float); + case 'd': return_with_number(double); + case 'D': { // long double + long double ret; + [inv getReturnValue:&ret]; + return [NSNumber numberWithDouble:ret]; + }; + + case '@': { // id + id ret = nil; + [inv getReturnValue:&ret]; + return ret; + }; + + case '#': { // Class + Class ret = nil; + [inv getReturnValue:&ret]; + return ret; + }; + + default: { // struct / union / SEL / void* / unknown + const char *objCType = [sig methodReturnType]; + char *buf = calloc(1, length); + if (!buf) return nil; + [inv getReturnValue:buf]; + NSValue *value = [NSValue valueWithBytes:buf objCType:objCType]; + free(buf); + return value; + }; + } +#undef return_with_number +} + ++ (void)setInv:(NSInvocation *)inv withSig:(NSMethodSignature *)sig andArgs:(va_list)args { + NSUInteger count = [sig numberOfArguments]; + for (int index = 2; index < count; index++) { + char *type = (char *)[sig getArgumentTypeAtIndex:index]; + while (*type == 'r' || // const + *type == 'n' || // in + *type == 'N' || // inout + *type == 'o' || // out + *type == 'O' || // bycopy + *type == 'R' || // byref + *type == 'V') { // oneway + type++; // cutoff useless prefix + } + + BOOL unsupportedType = NO; + switch (*type) { + case 'v': // 1: void + case 'B': // 1: bool + case 'c': // 1: char / BOOL + case 'C': // 1: unsigned char + case 's': // 2: short + case 'S': // 2: unsigned short + case 'i': // 4: int / NSInteger(32bit) + case 'I': // 4: unsigned int / NSUInteger(32bit) + case 'l': // 4: long(32bit) + case 'L': // 4: unsigned long(32bit) + { // 'char' and 'short' will be promoted to 'int'. + int arg = va_arg(args, int); + [inv setArgument:&arg atIndex:index]; + } break; + + case 'q': // 8: long long / long(64bit) / NSInteger(64bit) + case 'Q': // 8: unsigned long long / unsigned long(64bit) / NSUInteger(64bit) + { + long long arg = va_arg(args, long long); + [inv setArgument:&arg atIndex:index]; + } break; + + case 'f': // 4: float / CGFloat(32bit) + { // 'float' will be promoted to 'double'. + double arg = va_arg(args, double); + float argf = arg; + [inv setArgument:&argf atIndex:index]; + } break; + + case 'd': // 8: double / CGFloat(64bit) + { + double arg = va_arg(args, double); + [inv setArgument:&arg atIndex:index]; + } break; + + case 'D': // 16: long double + { + long double arg = va_arg(args, long double); + [inv setArgument:&arg atIndex:index]; + } break; + + case '*': // char * + case '^': // pointer + { + void *arg = va_arg(args, void *); + [inv setArgument:&arg atIndex:index]; + } break; + + case ':': // SEL + { + SEL arg = va_arg(args, SEL); + [inv setArgument:&arg atIndex:index]; + } break; + + case '#': // Class + { + Class arg = va_arg(args, Class); + [inv setArgument:&arg atIndex:index]; + } break; + + case '@': // id + { + id arg = va_arg(args, id); + [inv setArgument:&arg atIndex:index]; + } break; + + case '{': // struct + { + if (strcmp(type, @encode(CGPoint)) == 0) { + CGPoint arg = va_arg(args, CGPoint); + [inv setArgument:&arg atIndex:index]; + } else if (strcmp(type, @encode(CGSize)) == 0) { + CGSize arg = va_arg(args, CGSize); + [inv setArgument:&arg atIndex:index]; + } else if (strcmp(type, @encode(CGRect)) == 0) { + CGRect arg = va_arg(args, CGRect); + [inv setArgument:&arg atIndex:index]; + } else if (strcmp(type, @encode(CGVector)) == 0) { + CGVector arg = va_arg(args, CGVector); + [inv setArgument:&arg atIndex:index]; + } else if (strcmp(type, @encode(CGAffineTransform)) == 0) { + CGAffineTransform arg = va_arg(args, CGAffineTransform); + [inv setArgument:&arg atIndex:index]; + } else if (strcmp(type, @encode(CATransform3D)) == 0) { + CATransform3D arg = va_arg(args, CATransform3D); + [inv setArgument:&arg atIndex:index]; + } else if (strcmp(type, @encode(NSRange)) == 0) { + NSRange arg = va_arg(args, NSRange); + [inv setArgument:&arg atIndex:index]; + } else if (strcmp(type, @encode(UIOffset)) == 0) { + UIOffset arg = va_arg(args, UIOffset); + [inv setArgument:&arg atIndex:index]; + } else if (strcmp(type, @encode(UIEdgeInsets)) == 0) { + UIEdgeInsets arg = va_arg(args, UIEdgeInsets); + [inv setArgument:&arg atIndex:index]; + } else { + unsupportedType = YES; + } + } break; + + case '(': // union + { + unsupportedType = YES; + } break; + + case '[': // array + { + unsupportedType = YES; + } break; + + default: // what?! + { + unsupportedType = YES; + } break; + } + + if (unsupportedType) { + // Try with some dummy type... + + NSUInteger size = 0; + NSGetSizeAndAlignment(type, &size, NULL); + +#define case_size(_size_) \ +else if (size <= 4 * _size_ ) { \ + struct dummy { char tmp[4 * _size_]; }; \ + struct dummy arg = va_arg(args, struct dummy); \ + [inv setArgument:&arg atIndex:index]; \ +} + if (size == 0) { } + case_size( 1) case_size( 2) case_size( 3) case_size( 4) + case_size( 5) case_size( 6) case_size( 7) case_size( 8) + case_size( 9) case_size(10) case_size(11) case_size(12) + case_size(13) case_size(14) case_size(15) case_size(16) + case_size(17) case_size(18) case_size(19) case_size(20) + case_size(21) case_size(22) case_size(23) case_size(24) + case_size(25) case_size(26) case_size(27) case_size(28) + case_size(29) case_size(30) case_size(31) case_size(32) + case_size(33) case_size(34) case_size(35) case_size(36) + case_size(37) case_size(38) case_size(39) case_size(40) + case_size(41) case_size(42) case_size(43) case_size(44) + case_size(45) case_size(46) case_size(47) case_size(48) + case_size(49) case_size(50) case_size(51) case_size(52) + case_size(53) case_size(54) case_size(55) case_size(56) + case_size(57) case_size(58) case_size(59) case_size(60) + case_size(61) case_size(62) case_size(63) case_size(64) + else { + /* + Larger than 256 byte?! I don't want to deal with this stuff up... + Ignore this argument. + */ + struct dummy {char tmp;}; + for (int i = 0; i < size; i++) va_arg(args, struct dummy); + NSLog(@"YYCategories performSelectorWithArgs unsupported type:%s (%lu bytes)", + [sig getArgumentTypeAtIndex:index],(unsigned long)size); + } +#undef case_size + + } + } +} + +- (void)performSelector:(SEL)selector afterDelay:(NSTimeInterval)delay { + [self performSelector:selector withObject:nil afterDelay:delay]; +} + ++ (BOOL)swizzleInstanceMethod:(SEL)originalSel with:(SEL)newSel { + Method originalMethod = class_getInstanceMethod(self, originalSel); + Method newMethod = class_getInstanceMethod(self, newSel); + if (!originalMethod || !newMethod) return NO; + + class_addMethod(self, + originalSel, + class_getMethodImplementation(self, originalSel), + method_getTypeEncoding(originalMethod)); + class_addMethod(self, + newSel, + class_getMethodImplementation(self, newSel), + method_getTypeEncoding(newMethod)); + + method_exchangeImplementations(class_getInstanceMethod(self, originalSel), + class_getInstanceMethod(self, newSel)); + return YES; +} + ++ (BOOL)swizzleClassMethod:(SEL)originalSel with:(SEL)newSel { + Class class = object_getClass(self); + Method originalMethod = class_getInstanceMethod(class, originalSel); + Method newMethod = class_getInstanceMethod(class, newSel); + if (!originalMethod || !newMethod) return NO; + method_exchangeImplementations(originalMethod, newMethod); + return YES; +} + +- (void)setAssociateValue:(id)value withKey:(void *)key { + objc_setAssociatedObject(self, key, value, OBJC_ASSOCIATION_RETAIN_NONATOMIC); +} + +- (void)setAssociateWeakValue:(id)value withKey:(void *)key { + objc_setAssociatedObject(self, key, value, OBJC_ASSOCIATION_ASSIGN); +} + +- (void)removeAssociatedValues { + objc_removeAssociatedObjects(self); +} + +- (id)getAssociatedValueForKey:(void *)key { + return objc_getAssociatedObject(self, key); +} + ++ (NSString *)className { + return NSStringFromClass(self); +} + +- (NSString *)className { + return [NSString stringWithUTF8String:class_getName([self class])]; +} + +- (id)deepCopy { + id obj = nil; + @try { + obj = [NSKeyedUnarchiver unarchiveObjectWithData:[NSKeyedArchiver archivedDataWithRootObject:self]]; + } + @catch (NSException *exception) { + NSLog(@"%@", exception); + } + return obj; +} + +- (id)deepCopyWithArchiver:(Class)archiver unarchiver:(Class)unarchiver { + id obj = nil; + @try { + obj = [unarchiver unarchiveObjectWithData:[archiver archivedDataWithRootObject:self]]; + } + @catch (NSException *exception) { + NSLog(@"%@", exception); + } + return obj; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAddForARC.h b/Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAddForARC.h new file mode 100755 index 0000000..2052ce3 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAddForARC.h @@ -0,0 +1,31 @@ +// +// NSObject+YYAddForARC.h +// YYCategories +// +// Created by ibireme on 13/12/15. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +/** + Debug method for NSObject when using ARC. + */ +@interface NSObject (YYAddForARC) + +/// Same as `retain` +- (instancetype)arcDebugRetain; + +/// Same as `release` +- (oneway void)arcDebugRelease; + +/// Same as `autorelease` +- (instancetype)arcDebugAutorelease; + +/// Same as `retainCount` +- (NSUInteger)arcDebugRetainCount; + +@end diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAddForARC.m b/Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAddForARC.m new file mode 100755 index 0000000..0cdf876 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAddForARC.m @@ -0,0 +1,40 @@ +// +// NSObject+YYAddForARC.m +// YYCategories +// +// Created by ibireme on 13/12/15. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "NSObject+YYAddForARC.h" + +@interface NSObject_YYAddForARC : NSObject @end +@implementation NSObject_YYAddForARC @end + +#if __has_feature(objc_arc) +#error This file must be compiled without ARC. Specify the -fno-objc-arc flag to this file. +#endif + + +@implementation NSObject (YYAddForARC) + +- (instancetype)arcDebugRetain { + return [self retain]; +} + +- (oneway void)arcDebugRelease { + [self release]; +} + +- (instancetype)arcDebugAutorelease { + return [self autorelease]; +} + +- (NSUInteger)arcDebugRetainCount { + return [self retainCount]; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAddForKVO.h b/Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAddForKVO.h new file mode 100755 index 0000000..b3f1df1 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAddForKVO.h @@ -0,0 +1,54 @@ +// +// NSObject+YYAddForKVO.h +// YYCategories +// +// Created by ibireme on 14/10/15. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Observer with block (KVO). + */ +@interface NSObject (YYAddForKVO) + +/** + Registers a block to receive KVO notifications for the specified key-path + relative to the receiver. + + @discussion The block and block captured objects are retained. Call + `removeObserverBlocksForKeyPath:` or `removeObserverBlocks` to release. + + @param keyPath The key path, relative to the receiver, of the property to + observe. This value must not be nil. + + @param block The block to register for KVO notifications. + */ +- (void)addObserverBlockForKeyPath:(NSString*)keyPath + block:(void (^)(id _Nonnull obj, id _Nonnull oldVal, id _Nonnull newVal))block; + +/** + Stops all blocks (associated by `addObserverBlockForKeyPath:block:`) from + receiving change notifications for the property specified by a given key-path + relative to the receiver, and release these blocks. + + @param keyPath A key-path, relative to the receiver, for which blocks is + registered to receive KVO change notifications. + */ +- (void)removeObserverBlocksForKeyPath:(NSString*)keyPath; + +/** + Stops all blocks (associated by `addObserverBlockForKeyPath:block:`) from + receiving change notifications, and release these blocks. + */ +- (void)removeObserverBlocks; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAddForKVO.m b/Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAddForKVO.m new file mode 100755 index 0000000..cf8bd73 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSObject+YYAddForKVO.m @@ -0,0 +1,110 @@ +// +// NSObject+YYAddForKVO.m +// YYCategories +// +// Created by ibireme on 14/10/15. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "NSObject+YYAddForKVO.h" +#import "YYCategoriesMacro.h" +#import +#import + +YYSYNTH_DUMMY_CLASS(NSObject_YYAddForKVO) + + + + +static const int block_key; + +@interface _YYNSObjectKVOBlockTarget : NSObject + +@property (nonatomic, copy) void (^block)(__weak id obj, id oldVal, id newVal); + +- (id)initWithBlock:(void (^)(__weak id obj, id oldVal, id newVal))block; + +@end + +@implementation _YYNSObjectKVOBlockTarget + +- (id)initWithBlock:(void (^)(__weak id obj, id oldVal, id newVal))block { + self = [super init]; + if (self) { + self.block = block; + } + return self; +} + +- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { + if (!self.block) return; + + BOOL isPrior = [[change objectForKey:NSKeyValueChangeNotificationIsPriorKey] boolValue]; + if (isPrior) return; + + NSKeyValueChange changeKind = [[change objectForKey:NSKeyValueChangeKindKey] integerValue]; + if (changeKind != NSKeyValueChangeSetting) return; + + id oldVal = [change objectForKey:NSKeyValueChangeOldKey]; + if (oldVal == [NSNull null]) oldVal = nil; + + id newVal = [change objectForKey:NSKeyValueChangeNewKey]; + if (newVal == [NSNull null]) newVal = nil; + + self.block(object, oldVal, newVal); +} + +@end + + + +@implementation NSObject (YYAddForKVO) + +- (void)addObserverBlockForKeyPath:(NSString *)keyPath block:(void (^)(__weak id obj, id oldVal, id newVal))block { + if (!keyPath || !block) return; + _YYNSObjectKVOBlockTarget *target = [[_YYNSObjectKVOBlockTarget alloc] initWithBlock:block]; + NSMutableDictionary *dic = [self _yy_allNSObjectObserverBlocks]; + NSMutableArray *arr = dic[keyPath]; + if (!arr) { + arr = [NSMutableArray new]; + dic[keyPath] = arr; + } + [arr addObject:target]; + [self addObserver:target forKeyPath:keyPath options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:NULL]; +} + +- (void)removeObserverBlocksForKeyPath:(NSString *)keyPath { + if (!keyPath) return; + NSMutableDictionary *dic = [self _yy_allNSObjectObserverBlocks]; + NSMutableArray *arr = dic[keyPath]; + [arr enumerateObjectsUsingBlock: ^(id obj, NSUInteger idx, BOOL *stop) { + [self removeObserver:obj forKeyPath:keyPath]; + }]; + + [dic removeObjectForKey:keyPath]; +} + +- (void)removeObserverBlocks { + NSMutableDictionary *dic = [self _yy_allNSObjectObserverBlocks]; + [dic enumerateKeysAndObjectsUsingBlock: ^(NSString *key, NSArray *arr, BOOL *stop) { + [arr enumerateObjectsUsingBlock: ^(id obj, NSUInteger idx, BOOL *stop) { + [self removeObserver:obj forKeyPath:key]; + }]; + }]; + + [dic removeAllObjects]; +} + +- (NSMutableDictionary *)_yy_allNSObjectObserverBlocks { + NSMutableDictionary *targets = objc_getAssociatedObject(self, &block_key); + if (!targets) { + targets = [NSMutableDictionary new]; + objc_setAssociatedObject(self, &block_key, targets, OBJC_ASSOCIATION_RETAIN_NONATOMIC); + } + return targets; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSString+YYAdd.h b/Example/Pods/YYCategories/YYCategories/Foundation/NSString+YYAdd.h new file mode 100755 index 0000000..d06c5e0 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSString+YYAdd.h @@ -0,0 +1,409 @@ +// +// NSString+YYAdd.h +// YYCategories +// +// Created by ibireme on 13/4/3. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provide hash, encrypt, encode and some common method for 'NSString'. + */ +@interface NSString (YYAdd) + +#pragma mark - Hash +///============================================================================= +/// @name Hash +///============================================================================= + +/** + Returns a lowercase NSString for md2 hash. + */ +- (nullable NSString *)md2String; + +/** + Returns a lowercase NSString for md4 hash. + */ +- (nullable NSString *)md4String; + +/** + Returns a lowercase NSString for md5 hash. + */ +- (nullable NSString *)md5String; + +/** + Returns a lowercase NSString for sha1 hash. + */ +- (nullable NSString *)sha1String; + +/** + Returns a lowercase NSString for sha224 hash. + */ +- (nullable NSString *)sha224String; + +/** + Returns a lowercase NSString for sha256 hash. + */ +- (nullable NSString *)sha256String; + +/** + Returns a lowercase NSString for sha384 hash. + */ +- (nullable NSString *)sha384String; + +/** + Returns a lowercase NSString for sha512 hash. + */ +- (nullable NSString *)sha512String; + +/** + Returns a lowercase NSString for hmac using algorithm md5 with key. + @param key The hmac key. + */ +- (nullable NSString *)hmacMD5StringWithKey:(NSString *)key; + +/** + Returns a lowercase NSString for hmac using algorithm sha1 with key. + @param key The hmac key. + */ +- (nullable NSString *)hmacSHA1StringWithKey:(NSString *)key; + +/** + Returns a lowercase NSString for hmac using algorithm sha224 with key. + @param key The hmac key. + */ +- (nullable NSString *)hmacSHA224StringWithKey:(NSString *)key; + +/** + Returns a lowercase NSString for hmac using algorithm sha256 with key. + @param key The hmac key. + */ +- (nullable NSString *)hmacSHA256StringWithKey:(NSString *)key; + +/** + Returns a lowercase NSString for hmac using algorithm sha384 with key. + @param key The hmac key. + */ +- (nullable NSString *)hmacSHA384StringWithKey:(NSString *)key; + +/** + Returns a lowercase NSString for hmac using algorithm sha512 with key. + @param key The hmac key. + */ +- (nullable NSString *)hmacSHA512StringWithKey:(NSString *)key; + +/** + Returns a lowercase NSString for crc32 hash. + */ +- (nullable NSString *)crc32String; + + +#pragma mark - Encode and decode +///============================================================================= +/// @name Encode and decode +///============================================================================= + +/** + Returns an NSString for base64 encoded. + */ +- (nullable NSString *)base64EncodedString; + +/** + Returns an NSString from base64 encoded string. + @param base64Encoding The encoded string. + */ ++ (nullable NSString *)stringWithBase64EncodedString:(NSString *)base64EncodedString; + +/** + URL encode a string in utf-8. + @return the encoded string. + */ +- (NSString *)stringByURLEncode; + +/** + URL decode a string in utf-8. + @return the decoded string. + */ +- (NSString *)stringByURLDecode; + +/** + Escape commmon HTML to Entity. + Example: "a + Before After(scale:2) + "icon" "icon@2x" + "icon " "icon @2x" + "icon.top" "icon.top@2x" + "/p/name" "/p/name@2x" + "/path/" "/path/" + + + @param scale Resource scale. + @return String by add scale modifier, or just return if it's not end with file name. + */ +- (NSString *)stringByAppendingNameScale:(CGFloat)scale; + +/** + Add scale modifier to the file path (with path extension), + From @"name.png" to @"name@2x.png". + + e.g. + + + + + + + + + +
Before After(scale:2)
"icon.png" "icon@2x.png"
"icon..png""icon.@2x.png"
"icon" "icon@2x"
"icon " "icon @2x"
"icon." "icon.@2x"
"/p/name" "/p/name@2x"
"/path/" "/path/"
+ + @param scale Resource scale. + @return String by add scale modifier, or just return if it's not end with file name. + */ +- (NSString *)stringByAppendingPathScale:(CGFloat)scale; + +/** + Return the path scale. + + e.g. + + + + + + + + +
Path Scale
"icon.png" 1
"icon@2x.png" 2
"icon@2.5x.png" 2.5
"icon@2x" 1
"icon@2x..png" 1
"icon@2x.png/" 1
+ */ +- (CGFloat)pathScale; + +/** + nil, @"", @" ", @"\n" will Returns NO; otherwise Returns YES. + */ +- (BOOL)isNotBlank; + +/** + Returns YES if the target string is contained within the receiver. + @param string A string to test the the receiver. + + @discussion Apple has implemented this method in iOS8. + */ +- (BOOL)containsString:(NSString *)string; + +/** + Returns YES if the target CharacterSet is contained within the receiver. + @param set A character set to test the the receiver. + */ +- (BOOL)containsCharacterSet:(NSCharacterSet *)set; + +/** + Try to parse this string and returns an `NSNumber`. + @return Returns an `NSNumber` if parse succeed, or nil if an error occurs. + */ +- (NSNumber *)numberValue; + +/** + Returns an NSData using UTF-8 encoding. + */ +- (NSData *)dataValue; + +/** + Returns NSMakeRange(0, self.length). + */ +- (NSRange)rangeOfAll; + +/** + Returns an NSDictionary/NSArray which is decoded from receiver. + Returns nil if an error occurs. + + e.g. NSString: @"{"name":"a","count":2}" => NSDictionary: @[@"name":@"a",@"count":@2] + */ +- (id)jsonValueDecoded; + +/** + Create a string from the file in main bundle (similar to [UIImage imageNamed:]). + + @param name The file name (in main bundle). + + @return A new string create from the file in UTF-8 character encoding. + */ ++ (NSString *)stringNamed:(NSString *)name; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSString+YYAdd.m b/Example/Pods/YYCategories/YYCategories/Foundation/NSString+YYAdd.m new file mode 100755 index 0000000..1d6588f --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSString+YYAdd.m @@ -0,0 +1,414 @@ +// +// NSString+YYAdd.m +// YYCategories +// +// Created by ibireme on 13/4/3. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "NSString+YYAdd.h" +#import "NSData+YYAdd.h" +#import "NSNumber+YYAdd.h" +#import "UIDevice+YYAdd.h" +#import "YYCategoriesMacro.h" + +YYSYNTH_DUMMY_CLASS(NSString_YYAdd) + + +@implementation NSString (YYAdd) + +- (NSString *)md2String { + return [[self dataUsingEncoding:NSUTF8StringEncoding] md2String]; +} + +- (NSString *)md4String { + return [[self dataUsingEncoding:NSUTF8StringEncoding] md4String]; +} + +- (NSString *)md5String { + return [[self dataUsingEncoding:NSUTF8StringEncoding] md5String]; +} + +- (NSString *)sha1String { + return [[self dataUsingEncoding:NSUTF8StringEncoding] sha1String]; +} + +- (NSString *)sha224String { + return [[self dataUsingEncoding:NSUTF8StringEncoding] sha224String]; +} + +- (NSString *)sha256String { + return [[self dataUsingEncoding:NSUTF8StringEncoding] sha256String]; +} + +- (NSString *)sha384String { + return [[self dataUsingEncoding:NSUTF8StringEncoding] sha384String]; +} + +- (NSString *)sha512String { + return [[self dataUsingEncoding:NSUTF8StringEncoding] sha512String]; +} + +- (NSString *)crc32String { + return [[self dataUsingEncoding:NSUTF8StringEncoding] crc32String]; +} + +- (NSString *)hmacMD5StringWithKey:(NSString *)key { + return [[self dataUsingEncoding:NSUTF8StringEncoding] + hmacMD5StringWithKey:key]; +} + +- (NSString *)hmacSHA1StringWithKey:(NSString *)key { + return [[self dataUsingEncoding:NSUTF8StringEncoding] + hmacSHA1StringWithKey:key]; +} + +- (NSString *)hmacSHA224StringWithKey:(NSString *)key { + return [[self dataUsingEncoding:NSUTF8StringEncoding] + hmacSHA224StringWithKey:key]; +} + +- (NSString *)hmacSHA256StringWithKey:(NSString *)key { + return [[self dataUsingEncoding:NSUTF8StringEncoding] + hmacSHA256StringWithKey:key]; +} + +- (NSString *)hmacSHA384StringWithKey:(NSString *)key { + return [[self dataUsingEncoding:NSUTF8StringEncoding] + hmacSHA384StringWithKey:key]; +} + +- (NSString *)hmacSHA512StringWithKey:(NSString *)key { + return [[self dataUsingEncoding:NSUTF8StringEncoding] + hmacSHA512StringWithKey:key]; +} + +- (NSString *)base64EncodedString { + return [[self dataUsingEncoding:NSUTF8StringEncoding] base64EncodedString]; +} + ++ (NSString *)stringWithBase64EncodedString:(NSString *)base64EncodedString { + NSData *data = [NSData dataWithBase64EncodedString:base64EncodedString]; + return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; +} + +- (NSString *)stringByURLEncode { + if ([self respondsToSelector:@selector(stringByAddingPercentEncodingWithAllowedCharacters:)]) { + /** + AFNetworking/AFURLRequestSerialization.m + + Returns a percent-escaped string following RFC 3986 for a query string key or value. + RFC 3986 states that the following characters are "reserved" characters. + - General Delimiters: ":", "#", "[", "]", "@", "?", "/" + - Sub-Delimiters: "!", "$", "&", "'", "(", ")", "*", "+", ",", ";", "=" + In RFC 3986 - Section 3.4, it states that the "?" and "/" characters should not be escaped to allow + query strings to include a URL. Therefore, all "reserved" characters with the exception of "?" and "/" + should be percent-escaped in the query string. + - parameter string: The string to be percent-escaped. + - returns: The percent-escaped string. + */ + static NSString * const kAFCharactersGeneralDelimitersToEncode = @":#[]@"; // does not include "?" or "/" due to RFC 3986 - Section 3.4 + static NSString * const kAFCharactersSubDelimitersToEncode = @"!$&'()*+,;="; + + NSMutableCharacterSet * allowedCharacterSet = [[NSCharacterSet URLQueryAllowedCharacterSet] mutableCopy]; + [allowedCharacterSet removeCharactersInString:[kAFCharactersGeneralDelimitersToEncode stringByAppendingString:kAFCharactersSubDelimitersToEncode]]; + static NSUInteger const batchSize = 50; + + NSUInteger index = 0; + NSMutableString *escaped = @"".mutableCopy; + + while (index < self.length) { + NSUInteger length = MIN(self.length - index, batchSize); + NSRange range = NSMakeRange(index, length); + // To avoid breaking up character sequences such as 👴🏻👮🏽 + range = [self rangeOfComposedCharacterSequencesForRange:range]; + NSString *substring = [self substringWithRange:range]; + NSString *encoded = [substring stringByAddingPercentEncodingWithAllowedCharacters:allowedCharacterSet]; + [escaped appendString:encoded]; + + index += range.length; + } + return escaped; + } else { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + CFStringEncoding cfEncoding = CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding); + NSString *encoded = (__bridge_transfer NSString *) + CFURLCreateStringByAddingPercentEscapes( + kCFAllocatorDefault, + (__bridge CFStringRef)self, + NULL, + CFSTR("!#$&'()*+,/:;=?@[]"), + cfEncoding); + return encoded; +#pragma clang diagnostic pop + } +} + +- (NSString *)stringByURLDecode { + if ([self respondsToSelector:@selector(stringByRemovingPercentEncoding)]) { + return [self stringByRemovingPercentEncoding]; + } else { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + CFStringEncoding en = CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding); + NSString *decoded = [self stringByReplacingOccurrencesOfString:@"+" + withString:@" "]; + decoded = (__bridge_transfer NSString *) + CFURLCreateStringByReplacingPercentEscapesUsingEncoding( + NULL, + (__bridge CFStringRef)decoded, + CFSTR(""), + en); + return decoded; +#pragma clang diagnostic pop + } +} + +- (NSString *)stringByEscapingHTML { + NSUInteger len = self.length; + if (!len) return self; + + unichar *buf = malloc(sizeof(unichar) * len); + if (!buf) return self; + [self getCharacters:buf range:NSMakeRange(0, len)]; + + NSMutableString *result = [NSMutableString string]; + for (int i = 0; i < len; i++) { + unichar c = buf[i]; + NSString *esc = nil; + switch (c) { + case 34: esc = @"""; break; + case 38: esc = @"&"; break; + case 39: esc = @"'"; break; + case 60: esc = @"<"; break; + case 62: esc = @">"; break; + default: break; + } + if (esc) { + [result appendString:esc]; + } else { + CFStringAppendCharacters((CFMutableStringRef)result, &c, 1); + } + } + free(buf); + return result; +} + +- (CGSize)sizeForFont:(UIFont *)font size:(CGSize)size mode:(NSLineBreakMode)lineBreakMode { + CGSize result; + if (!font) font = [UIFont systemFontOfSize:12]; + if ([self respondsToSelector:@selector(boundingRectWithSize:options:attributes:context:)]) { + NSMutableDictionary *attr = [NSMutableDictionary new]; + attr[NSFontAttributeName] = font; + if (lineBreakMode != NSLineBreakByWordWrapping) { + NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle new]; + paragraphStyle.lineBreakMode = lineBreakMode; + attr[NSParagraphStyleAttributeName] = paragraphStyle; + } + CGRect rect = [self boundingRectWithSize:size + options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading + attributes:attr context:nil]; + result = rect.size; + } else { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + result = [self sizeWithFont:font constrainedToSize:size lineBreakMode:lineBreakMode]; +#pragma clang diagnostic pop + } + return result; +} + +- (CGFloat)widthForFont:(UIFont *)font { + CGSize size = [self sizeForFont:font size:CGSizeMake(HUGE, HUGE) mode:NSLineBreakByWordWrapping]; + return size.width; +} + +- (CGFloat)heightForFont:(UIFont *)font width:(CGFloat)width { + CGSize size = [self sizeForFont:font size:CGSizeMake(width, HUGE) mode:NSLineBreakByWordWrapping]; + return size.height; +} + +- (BOOL)matchesRegex:(NSString *)regex options:(NSRegularExpressionOptions)options { + NSRegularExpression *pattern = [NSRegularExpression regularExpressionWithPattern:regex options:options error:NULL]; + if (!pattern) return NO; + return ([pattern numberOfMatchesInString:self options:0 range:NSMakeRange(0, self.length)] > 0); +} + +- (void)enumerateRegexMatches:(NSString *)regex + options:(NSRegularExpressionOptions)options + usingBlock:(void (^)(NSString *match, NSRange matchRange, BOOL *stop))block { + if (regex.length == 0 || !block) return; + NSRegularExpression *pattern = [NSRegularExpression regularExpressionWithPattern:regex options:options error:nil]; + if (!regex) return; + [pattern enumerateMatchesInString:self options:kNilOptions range:NSMakeRange(0, self.length) usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) { + block([self substringWithRange:result.range], result.range, stop); + }]; +} + +- (NSString *)stringByReplacingRegex:(NSString *)regex + options:(NSRegularExpressionOptions)options + withString:(NSString *)replacement; { + NSRegularExpression *pattern = [NSRegularExpression regularExpressionWithPattern:regex options:options error:nil]; + if (!pattern) return self; + return [pattern stringByReplacingMatchesInString:self options:0 range:NSMakeRange(0, [self length]) withTemplate:replacement]; +} + +- (char)charValue { + return self.numberValue.charValue; +} + +- (unsigned char) unsignedCharValue { + return self.numberValue.unsignedCharValue; +} + +- (short) shortValue { + return self.numberValue.shortValue; +} + +- (unsigned short) unsignedShortValue { + return self.numberValue.unsignedShortValue; +} + +- (unsigned int) unsignedIntValue { + return self.numberValue.unsignedIntValue; +} + +- (long) longValue { + return self.numberValue.longValue; +} + +- (unsigned long) unsignedLongValue { + return self.numberValue.unsignedLongValue; +} + +- (unsigned long long) unsignedLongLongValue { + return self.numberValue.unsignedLongLongValue; +} + +- (NSUInteger) unsignedIntegerValue { + return self.numberValue.unsignedIntegerValue; +} + + ++ (NSString *)stringWithUUID { + CFUUIDRef uuid = CFUUIDCreate(NULL); + CFStringRef string = CFUUIDCreateString(NULL, uuid); + CFRelease(uuid); + return (__bridge_transfer NSString *)string; +} + ++ (NSString *)stringWithUTF32Char:(UTF32Char)char32 { + char32 = NSSwapHostIntToLittle(char32); + return [[NSString alloc] initWithBytes:&char32 length:4 encoding:NSUTF32LittleEndianStringEncoding]; +} + ++ (NSString *)stringWithUTF32Chars:(const UTF32Char *)char32 length:(NSUInteger)length { + return [[NSString alloc] initWithBytes:(const void *)char32 + length:length * 4 + encoding:NSUTF32LittleEndianStringEncoding]; +} + +- (void)enumerateUTF32CharInRange:(NSRange)range usingBlock:(void (^)(UTF32Char char32, NSRange range, BOOL *stop))block { + NSString *str = self; + if (range.location != 0 || range.length != self.length) { + str = [self substringWithRange:range]; + } + NSUInteger len = [str lengthOfBytesUsingEncoding:NSUTF32StringEncoding] / 4; + UTF32Char *char32 = (UTF32Char *)[str cStringUsingEncoding:NSUTF32LittleEndianStringEncoding]; + if (len == 0 || char32 == NULL) return; + + NSUInteger location = 0; + BOOL stop = NO; + NSRange subRange; + UTF32Char oneChar; + + for (NSUInteger i = 0; i < len; i++) { + oneChar = char32[i]; + subRange = NSMakeRange(location, oneChar > 0xFFFF ? 2 : 1); + block(oneChar, subRange, &stop); + if (stop) return; + location += subRange.length; + } +} + +- (NSString *)stringByTrim { + NSCharacterSet *set = [NSCharacterSet whitespaceAndNewlineCharacterSet]; + return [self stringByTrimmingCharactersInSet:set]; +} + +- (NSString *)stringByAppendingNameScale:(CGFloat)scale { + if (fabs(scale - 1) <= __FLT_EPSILON__ || self.length == 0 || [self hasSuffix:@"/"]) return self.copy; + return [self stringByAppendingFormat:@"@%@x", @(scale)]; +} + +- (NSString *)stringByAppendingPathScale:(CGFloat)scale { + if (fabs(scale - 1) <= __FLT_EPSILON__ || self.length == 0 || [self hasSuffix:@"/"]) return self.copy; + NSString *ext = self.pathExtension; + NSRange extRange = NSMakeRange(self.length - ext.length, 0); + if (ext.length > 0) extRange.location -= 1; + NSString *scaleStr = [NSString stringWithFormat:@"@%@x", @(scale)]; + return [self stringByReplacingCharactersInRange:extRange withString:scaleStr]; +} + +- (CGFloat)pathScale { + if (self.length == 0 || [self hasSuffix:@"/"]) return 1; + NSString *name = self.stringByDeletingPathExtension; + __block CGFloat scale = 1; + [name enumerateRegexMatches:@"@[0-9]+\\.?[0-9]*x$" options:NSRegularExpressionAnchorsMatchLines usingBlock: ^(NSString *match, NSRange matchRange, BOOL *stop) { + scale = [match substringWithRange:NSMakeRange(1, match.length - 2)].doubleValue; + }]; + return scale; +} + +- (BOOL)isNotBlank { + NSCharacterSet *blank = [NSCharacterSet whitespaceAndNewlineCharacterSet]; + for (NSInteger i = 0; i < self.length; ++i) { + unichar c = [self characterAtIndex:i]; + if (![blank characterIsMember:c]) { + return YES; + } + } + return NO; +} + +- (BOOL)containsString:(NSString *)string { + if (string == nil) return NO; + return [self rangeOfString:string].location != NSNotFound; +} + +- (BOOL)containsCharacterSet:(NSCharacterSet *)set { + if (set == nil) return NO; + return [self rangeOfCharacterFromSet:set].location != NSNotFound; +} + +- (NSNumber *)numberValue { + return [NSNumber numberWithString:self]; +} + +- (NSData *)dataValue { + return [self dataUsingEncoding:NSUTF8StringEncoding]; +} + +- (NSRange)rangeOfAll { + return NSMakeRange(0, self.length); +} + +- (id)jsonValueDecoded { + return [[self dataValue] jsonValueDecoded]; +} + ++ (NSString *)stringNamed:(NSString *)name { + NSString *path = [[NSBundle mainBundle] pathForResource:name ofType:@""]; + NSString *str = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:NULL]; + if (!str) { + path = [[NSBundle mainBundle] pathForResource:name ofType:@"txt"]; + str = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:NULL]; + } + return str; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSThread+YYAdd.h b/Example/Pods/YYCategories/YYCategories/Foundation/NSThread+YYAdd.h new file mode 100755 index 0000000..01d2761 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSThread+YYAdd.h @@ -0,0 +1,25 @@ +// +// NSThread+YYAdd.h +// YYCategories +// +// Created by ibireme on 15/7/3. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +@interface NSThread (YYAdd) + +/** + Add an autorelease pool to current runloop for current thread. + + @discussion If you create your own thread (NSThread/pthread), and you use + runloop to manage your task, you may use this method to add an autorelease pool + to the runloop. Its behavior is the same as the main thread's autorelease pool. + */ ++ (void)addAutoreleasePoolToCurrentRunloop; + +@end diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSThread+YYAdd.m b/Example/Pods/YYCategories/YYCategories/Foundation/NSThread+YYAdd.m new file mode 100755 index 0000000..cda53e0 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSThread+YYAdd.m @@ -0,0 +1,107 @@ +// +// NSThread+YYAdd.h +// YYCategories +// +// Created by ibireme on 15/7/3. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "NSThread+YYAdd.h" +#import + +@interface NSThread_YYAdd : NSObject @end +@implementation NSThread_YYAdd @end + +#if __has_feature(objc_arc) +#error This file must be compiled without ARC. Specify the -fno-objc-arc flag to this file. +#endif + +static NSString *const YYNSThreadAutoleasePoolKey = @"YYNSThreadAutoleasePoolKey"; +static NSString *const YYNSThreadAutoleasePoolStackKey = @"YYNSThreadAutoleasePoolStackKey"; + +static const void *PoolStackRetainCallBack(CFAllocatorRef allocator, const void *value) { + return value; +} + +static void PoolStackReleaseCallBack(CFAllocatorRef allocator, const void *value) { + CFRelease((CFTypeRef)value); +} + + +static inline void YYAutoreleasePoolPush() { + NSMutableDictionary *dic = [NSThread currentThread].threadDictionary; + NSMutableArray *poolStack = dic[YYNSThreadAutoleasePoolStackKey]; + + if (!poolStack) { + /* + do not retain pool on push, + but release on pop to avoid memory analyze warning + */ + CFArrayCallBacks callbacks = {0}; + callbacks.retain = PoolStackRetainCallBack; + callbacks.release = PoolStackReleaseCallBack; + poolStack = (id)CFArrayCreateMutable(CFAllocatorGetDefault(), 0, &callbacks); + dic[YYNSThreadAutoleasePoolStackKey] = poolStack; + CFRelease(poolStack); + } + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; //< create + [poolStack addObject:pool]; // push +} + +static inline void YYAutoreleasePoolPop() { + NSMutableDictionary *dic = [NSThread currentThread].threadDictionary; + NSMutableArray *poolStack = dic[YYNSThreadAutoleasePoolStackKey]; + [poolStack removeLastObject]; // pop +} + +static void YYRunLoopAutoreleasePoolObserverCallBack(CFRunLoopObserverRef observer, CFRunLoopActivity activity, void *info) { + switch (activity) { + case kCFRunLoopEntry: { + YYAutoreleasePoolPush(); + } break; + case kCFRunLoopBeforeWaiting: { + YYAutoreleasePoolPop(); + YYAutoreleasePoolPush(); + } break; + case kCFRunLoopExit: { + YYAutoreleasePoolPop(); + } break; + default: break; + } +} + +static void YYRunloopAutoreleasePoolSetup() { + CFRunLoopRef runloop = CFRunLoopGetCurrent(); + + CFRunLoopObserverRef pushObserver; + pushObserver = CFRunLoopObserverCreate(CFAllocatorGetDefault(), kCFRunLoopEntry, + true, // repeat + -0x7FFFFFFF, // before other observers + YYRunLoopAutoreleasePoolObserverCallBack, NULL); + CFRunLoopAddObserver(runloop, pushObserver, kCFRunLoopCommonModes); + CFRelease(pushObserver); + + CFRunLoopObserverRef popObserver; + popObserver = CFRunLoopObserverCreate(CFAllocatorGetDefault(), kCFRunLoopBeforeWaiting | kCFRunLoopExit, + true, // repeat + 0x7FFFFFFF, // after other observers + YYRunLoopAutoreleasePoolObserverCallBack, NULL); + CFRunLoopAddObserver(runloop, popObserver, kCFRunLoopCommonModes); + CFRelease(popObserver); +} + +@implementation NSThread (YYAdd) + ++ (void)addAutoreleasePoolToCurrentRunloop { + if ([NSThread isMainThread]) return; // The main thread already has autorelease pool. + NSThread *thread = [self currentThread]; + if (!thread) return; + if (thread.threadDictionary[YYNSThreadAutoleasePoolKey]) return; // already added + YYRunloopAutoreleasePoolSetup(); + thread.threadDictionary[YYNSThreadAutoleasePoolKey] = YYNSThreadAutoleasePoolKey; // mark the state +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSTimer+YYAdd.h b/Example/Pods/YYCategories/YYCategories/Foundation/NSTimer+YYAdd.h new file mode 100755 index 0000000..60834fc --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSTimer+YYAdd.h @@ -0,0 +1,66 @@ +// +// NSTimer+YYAdd.h +// YYCategories +// +// Created by ibireme on 14/15/11. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides extensions for `NSTimer`. + */ +@interface NSTimer (YYAdd) + +/** + Creates and returns a new NSTimer object and schedules it on the current run + loop in the default mode. + + @discussion After seconds seconds have elapsed, the timer fires, + sending the message aSelector to target. + + @param seconds The number of seconds between firings of the timer. If seconds + is less than or equal to 0.0, this method chooses the + nonnegative value of 0.1 milliseconds instead. + + @param block The block to invoke when the timer fires. The timer maintains + a strong reference to the block until it (the timer) is invalidated. + + @param repeats If YES, the timer will repeatedly reschedule itself until + invalidated. If NO, the timer will be invalidated after it fires. + + @return A new NSTimer object, configured according to the specified parameters. + */ ++ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)seconds block:(void (^)(NSTimer *timer))block repeats:(BOOL)repeats; + +/** + Creates and returns a new NSTimer object initialized with the specified block. + + @discussion You must add the new timer to a run loop, using addTimer:forMode:. + Then, after seconds have elapsed, the timer fires, invoking + block. (If the timer is configured to repeat, there is no need + to subsequently re-add the timer to the run loop.) + + @param seconds The number of seconds between firings of the timer. If seconds + is less than or equal to 0.0, this method chooses the + nonnegative value of 0.1 milliseconds instead. + + @param block The block to invoke when the timer fires. The timer instructs + the block to maintain a strong reference to its arguments. + + @param repeats If YES, the timer will repeatedly reschedule itself until + invalidated. If NO, the timer will be invalidated after it fires. + + @return A new NSTimer object, configured according to the specified parameters. + */ ++ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)seconds block:(void (^)(NSTimer *timer))block repeats:(BOOL)repeats; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/Foundation/NSTimer+YYAdd.m b/Example/Pods/YYCategories/YYCategories/Foundation/NSTimer+YYAdd.m new file mode 100755 index 0000000..dcd52e4 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Foundation/NSTimer+YYAdd.m @@ -0,0 +1,35 @@ +// +// NSTimer+YYAdd.m +// YYCategories +// +// Created by ibireme on 14/15/11. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "NSTimer+YYAdd.h" +#import "YYCategoriesMacro.h" + +YYSYNTH_DUMMY_CLASS(NSTimer_YYAdd) + + +@implementation NSTimer (YYAdd) + ++ (void)_yy_ExecBlock:(NSTimer *)timer { + if ([timer userInfo]) { + void (^block)(NSTimer *timer) = (void (^)(NSTimer *timer))[timer userInfo]; + block(timer); + } +} + ++ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)seconds block:(void (^)(NSTimer *timer))block repeats:(BOOL)repeats { + return [NSTimer scheduledTimerWithTimeInterval:seconds target:self selector:@selector(_yy_ExecBlock:) userInfo:[block copy] repeats:repeats]; +} + ++ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)seconds block:(void (^)(NSTimer *timer))block repeats:(BOOL)repeats { + return [NSTimer timerWithTimeInterval:seconds target:self selector:@selector(_yy_ExecBlock:) userInfo:[block copy] repeats:repeats]; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/Quartz/CALayer+YYAdd.h b/Example/Pods/YYCategories/YYCategories/Quartz/CALayer+YYAdd.h new file mode 100755 index 0000000..5001a75 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Quartz/CALayer+YYAdd.h @@ -0,0 +1,97 @@ +// +// CALayer+YYAdd.h +// YYCategories +// +// Created by ibireme on 14/5/10. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides extensions for `CALayer`. + */ +@interface CALayer (YYAdd) + +/** + Take snapshot without transform, image's size equals to bounds. + */ +- (nullable UIImage *)snapshotImage; + +/** + Take snapshot without transform, PDF's page size equals to bounds. + */ +- (nullable NSData *)snapshotPDF; + +/** + Shortcut to set the layer's shadow + + @param color Shadow Color + @param offset Shadow offset + @param radius Shadow radius + */ +- (void)setLayerShadow:(UIColor*)color offset:(CGSize)offset radius:(CGFloat)radius; + +/** + Remove all sublayers. + */ +- (void)removeAllSublayers; + +@property (nonatomic) CGFloat left; ///< Shortcut for frame.origin.x. +@property (nonatomic) CGFloat top; ///< Shortcut for frame.origin.y +@property (nonatomic) CGFloat right; ///< Shortcut for frame.origin.x + frame.size.width +@property (nonatomic) CGFloat bottom; ///< Shortcut for frame.origin.y + frame.size.height +@property (nonatomic) CGFloat width; ///< Shortcut for frame.size.width. +@property (nonatomic) CGFloat height; ///< Shortcut for frame.size.height. +@property (nonatomic) CGPoint center; ///< Shortcut for center. +@property (nonatomic) CGFloat centerX; ///< Shortcut for center.x +@property (nonatomic) CGFloat centerY; ///< Shortcut for center.y +@property (nonatomic) CGPoint origin; ///< Shortcut for frame.origin. +@property (nonatomic, getter=frameSize, setter=setFrameSize:) CGSize size; ///< Shortcut for frame.size. + + +@property (nonatomic) CGFloat transformRotation; ///< key path "tranform.rotation" +@property (nonatomic) CGFloat transformRotationX; ///< key path "tranform.rotation.x" +@property (nonatomic) CGFloat transformRotationY; ///< key path "tranform.rotation.y" +@property (nonatomic) CGFloat transformRotationZ; ///< key path "tranform.rotation.z" +@property (nonatomic) CGFloat transformScale; ///< key path "tranform.scale" +@property (nonatomic) CGFloat transformScaleX; ///< key path "tranform.scale.x" +@property (nonatomic) CGFloat transformScaleY; ///< key path "tranform.scale.y" +@property (nonatomic) CGFloat transformScaleZ; ///< key path "tranform.scale.z" +@property (nonatomic) CGFloat transformTranslationX; ///< key path "tranform.translation.x" +@property (nonatomic) CGFloat transformTranslationY; ///< key path "tranform.translation.y" +@property (nonatomic) CGFloat transformTranslationZ; ///< key path "tranform.translation.z" + +/** + Shortcut for transform.m34, -1/1000 is a good value. + It should be set before other transform shortcut. + */ +@property (nonatomic) CGFloat transformDepth; + +/** + Wrapper for `contentsGravity` property. + */ +@property (nonatomic) UIViewContentMode contentMode; + +/** + Add a fade animation to layer's contents when the contents is changed. + + @param duration Animation duration + @param curve Animation curve. + */ +- (void)addFadeAnimationWithDuration:(NSTimeInterval)duration curve:(UIViewAnimationCurve)curve; + +/** + Cancel fade animation which is added with "-addFadeAnimationWithDuration:curve:". + */ +- (void)removePreviousFadeAnimation; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/Quartz/CALayer+YYAdd.m b/Example/Pods/YYCategories/YYCategories/Quartz/CALayer+YYAdd.m new file mode 100755 index 0000000..31efbff --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Quartz/CALayer+YYAdd.m @@ -0,0 +1,324 @@ +// +// CALayer+YYAdd.m +// YYCategories +// +// Created by ibireme on 14/5/10. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "CALayer+YYAdd.h" +#import "YYCategoriesMacro.h" +#import "YYCGUtilities.h" + +YYSYNTH_DUMMY_CLASS(CALayer_YYAdd) + + +@implementation CALayer (YYAdd) + +- (UIImage *)snapshotImage { + UIGraphicsBeginImageContextWithOptions(self.bounds.size, self.opaque, 0); + CGContextRef context = UIGraphicsGetCurrentContext(); + [self renderInContext:context]; + UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + return image; +} + +- (NSData *)snapshotPDF { + CGRect bounds = self.bounds; + NSMutableData* data = [NSMutableData data]; + CGDataConsumerRef consumer = CGDataConsumerCreateWithCFData((__bridge CFMutableDataRef)data); + CGContextRef context = CGPDFContextCreate(consumer, &bounds, NULL); + CGDataConsumerRelease(consumer); + if (!context) return nil; + CGPDFContextBeginPage(context, NULL); + CGContextTranslateCTM(context, 0, bounds.size.height); + CGContextScaleCTM(context, 1.0, -1.0); + [self renderInContext:context]; + CGPDFContextEndPage(context); + CGPDFContextClose(context); + CGContextRelease(context); + return data; +} + +- (void)setLayerShadow:(UIColor*)color offset:(CGSize)offset radius:(CGFloat)radius { + self.shadowColor = color.CGColor; + self.shadowOffset = offset; + self.shadowRadius = radius; + self.shadowOpacity = 1; + self.shouldRasterize = YES; + self.rasterizationScale = [UIScreen mainScreen].scale; +} + +- (void)removeAllSublayers { + while (self.sublayers.count) { + [self.sublayers.lastObject removeFromSuperlayer]; + } +} + +- (CGFloat)left { + return self.frame.origin.x; +} + +- (void)setLeft:(CGFloat)x { + CGRect frame = self.frame; + frame.origin.x = x; + self.frame = frame; +} + +- (CGFloat)top { + return self.frame.origin.y; +} + +- (void)setTop:(CGFloat)y { + CGRect frame = self.frame; + frame.origin.y = y; + self.frame = frame; +} + +- (CGFloat)right { + return self.frame.origin.x + self.frame.size.width; +} + +- (void)setRight:(CGFloat)right { + CGRect frame = self.frame; + frame.origin.x = right - frame.size.width; + self.frame = frame; +} + +- (CGFloat)bottom { + return self.frame.origin.y + self.frame.size.height; +} + +- (void)setBottom:(CGFloat)bottom { + CGRect frame = self.frame; + frame.origin.y = bottom - frame.size.height; + self.frame = frame; +} + +- (CGFloat)width { + return self.frame.size.width; +} + +- (void)setWidth:(CGFloat)width { + CGRect frame = self.frame; + frame.size.width = width; + self.frame = frame; +} + +- (CGFloat)height { + return self.frame.size.height; +} + +- (void)setHeight:(CGFloat)height { + CGRect frame = self.frame; + frame.size.height = height; + self.frame = frame; +} + +- (CGPoint)center { + return CGPointMake(self.frame.origin.x + self.frame.size.width * 0.5, + self.frame.origin.y + self.frame.size.height * 0.5); +} + +- (void)setCenter:(CGPoint)center { + CGRect frame = self.frame; + frame.origin.x = center.x - frame.size.width * 0.5; + frame.origin.y = center.y - frame.size.height * 0.5; + self.frame = frame; +} + +- (CGFloat)centerX { + return self.frame.origin.x + self.frame.size.width * 0.5; +} + +- (void)setCenterX:(CGFloat)centerX { + CGRect frame = self.frame; + frame.origin.x = centerX - frame.size.width * 0.5; + self.frame = frame; +} + +- (CGFloat)centerY { + return self.frame.origin.y + self.frame.size.height * 0.5; +} + +- (void)setCenterY:(CGFloat)centerY { + CGRect frame = self.frame; + frame.origin.y = centerY - frame.size.height * 0.5; + self.frame = frame; +} + +- (CGPoint)origin { + return self.frame.origin; +} + +- (void)setOrigin:(CGPoint)origin { + CGRect frame = self.frame; + frame.origin = origin; + self.frame = frame; +} + +- (CGSize)frameSize { + return self.frame.size; +} + +- (void)setFrameSize:(CGSize)size { + CGRect frame = self.frame; + frame.size = size; + self.frame = frame; +} + +- (CGFloat)transformRotation { + NSNumber *v = [self valueForKeyPath:@"transform.rotation"]; + return v.doubleValue; +} + +- (void)setTransformRotation:(CGFloat)v { + [self setValue:@(v) forKeyPath:@"transform.rotation"]; +} + +- (CGFloat)transformRotationX { + NSNumber *v = [self valueForKeyPath:@"transform.rotation.x"]; + return v.doubleValue; +} + +- (void)setTransformRotationX:(CGFloat)v { + [self setValue:@(v) forKeyPath:@"transform.rotation.x"]; +} + +- (CGFloat)transformRotationY { + NSNumber *v = [self valueForKeyPath:@"transform.rotation.y"]; + return v.doubleValue; +} + +- (void)setTransformRotationY:(CGFloat)v { + [self setValue:@(v) forKeyPath:@"transform.rotation.y"]; +} + +- (CGFloat)transformRotationZ { + NSNumber *v = [self valueForKeyPath:@"transform.rotation.z"]; + return v.doubleValue; +} + +- (void)setTransformRotationZ:(CGFloat)v { + [self setValue:@(v) forKeyPath:@"transform.rotation.z"]; +} + +- (CGFloat)transformScaleX { + NSNumber *v = [self valueForKeyPath:@"transform.scale.x"]; + return v.doubleValue; +} + +- (void)setTransformScaleX:(CGFloat)v { + [self setValue:@(v) forKeyPath:@"transform.scale.x"]; +} + +- (CGFloat)transformScaleY { + NSNumber *v = [self valueForKeyPath:@"transform.scale.y"]; + return v.doubleValue; +} + +- (void)setTransformScaleY:(CGFloat)v { + [self setValue:@(v) forKeyPath:@"transform.scale.y"]; +} + +- (CGFloat)transformScaleZ { + NSNumber *v = [self valueForKeyPath:@"transform.scale.z"]; + return v.doubleValue; +} + +- (void)setTransformScaleZ:(CGFloat)v { + [self setValue:@(v) forKeyPath:@"transform.scale.z"]; +} + +- (CGFloat)transformScale { + NSNumber *v = [self valueForKeyPath:@"transform.scale"]; + return v.doubleValue; +} + +- (void)setTransformScale:(CGFloat)v { + [self setValue:@(v) forKeyPath:@"transform.scale"]; +} + +- (CGFloat)transformTranslationX { + NSNumber *v = [self valueForKeyPath:@"transform.translation.x"]; + return v.doubleValue; +} + +- (void)setTransformTranslationX:(CGFloat)v { + [self setValue:@(v) forKeyPath:@"transform.translation.x"]; +} + +- (CGFloat)transformTranslationY { + NSNumber *v = [self valueForKeyPath:@"transform.translation.y"]; + return v.doubleValue; +} + +- (void)setTransformTranslationY:(CGFloat)v { + [self setValue:@(v) forKeyPath:@"transform.translation.y"]; +} + +- (CGFloat)transformTranslationZ { + NSNumber *v = [self valueForKeyPath:@"transform.translation.z"]; + return v.doubleValue; +} + +- (void)setTransformTranslationZ:(CGFloat)v { + [self setValue:@(v) forKeyPath:@"transform.translation.z"]; +} + +- (CGFloat)transformDepth { + return self.transform.m34; +} + +- (void)setTransformDepth:(CGFloat)v { + CATransform3D d = self.transform; + d.m34 = v; + self.transform = d; +} + +- (UIViewContentMode)contentMode { + return YYCAGravityToUIViewContentMode(self.contentsGravity); +} + +- (void)setContentMode:(UIViewContentMode)contentMode { + self.contentsGravity = YYUIViewContentModeToCAGravity(contentMode); +} + +- (void)addFadeAnimationWithDuration:(NSTimeInterval)duration curve:(UIViewAnimationCurve)curve { + if (duration <= 0) return; + + NSString *mediaFunction; + switch (curve) { + case UIViewAnimationCurveEaseInOut: { + mediaFunction = kCAMediaTimingFunctionEaseInEaseOut; + } break; + case UIViewAnimationCurveEaseIn: { + mediaFunction = kCAMediaTimingFunctionEaseIn; + } break; + case UIViewAnimationCurveEaseOut: { + mediaFunction = kCAMediaTimingFunctionEaseOut; + } break; + case UIViewAnimationCurveLinear: { + mediaFunction = kCAMediaTimingFunctionLinear; + } break; + default: { + mediaFunction = kCAMediaTimingFunctionLinear; + } break; + } + + CATransition *transition = [CATransition animation]; + transition.duration = duration; + transition.timingFunction = [CAMediaTimingFunction functionWithName:mediaFunction]; + transition.type = kCATransitionFade; + [self addAnimation:transition forKey:@"yykit.fade"]; +} + +- (void)removePreviousFadeAnimation { + [self removeAnimationForKey:@"yykit.fade"]; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/Quartz/YYCGUtilities.h b/Example/Pods/YYCategories/YYCategories/Quartz/YYCGUtilities.h new file mode 100755 index 0000000..96cc451 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Quartz/YYCGUtilities.h @@ -0,0 +1,330 @@ +// +// YYCGUtilities.h +// YYCategories +// +// Created by ibireme on 15/2/28. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +/// Create an `ARGB` Bitmap context. Returns NULL if an error occurs. +/// +/// @discussion The function is same as UIGraphicsBeginImageContextWithOptions(), +/// but it doesn't push the context to UIGraphic, so you can retain the context for reuse. +CGContextRef _Nullable YYCGContextCreateARGBBitmapContext(CGSize size, BOOL opaque, CGFloat scale); + +/// Create a `DeviceGray` Bitmap context. Returns NULL if an error occurs. +CGContextRef _Nullable YYCGContextCreateGrayBitmapContext(CGSize size, CGFloat scale); + + + +/// Get main screen's scale. +CGFloat YYScreenScale(); + +/// Get main screen's size. Height is always larger than width. +CGSize YYScreenSize(); + + + +/// Convert degrees to radians. +static inline CGFloat DegreesToRadians(CGFloat degrees) { + return degrees * M_PI / 180; +} + +/// Convert radians to degrees. +static inline CGFloat RadiansToDegrees(CGFloat radians) { + return radians * 180 / M_PI; +} + + + +/// Get the transform rotation. +/// @return the rotation in radians [-PI,PI] ([-180°,180°]) +static inline CGFloat CGAffineTransformGetRotation(CGAffineTransform transform) { + return atan2(transform.b, transform.a); +} + +/// Get the transform's scale.x +static inline CGFloat CGAffineTransformGetScaleX(CGAffineTransform transform) { + return sqrt(transform.a * transform.a + transform.c * transform.c); +} + +/// Get the transform's scale.y +static inline CGFloat CGAffineTransformGetScaleY(CGAffineTransform transform) { + return sqrt(transform.b * transform.b + transform.d * transform.d); +} + +/// Get the transform's translate.x +static inline CGFloat CGAffineTransformGetTranslateX(CGAffineTransform transform) { + return transform.tx; +} + +/// Get the transform's translate.y +static inline CGFloat CGAffineTransformGetTranslateY(CGAffineTransform transform) { + return transform.ty; +} + +/** + If you have 3 pair of points transformed by a same CGAffineTransform: + p1 (transform->) q1 + p2 (transform->) q2 + p3 (transform->) q3 + This method returns the original transform matrix from these 3 pair of points. + + @see http://stackoverflow.com/questions/13291796/calculate-values-for-a-cgaffinetransform-from-three-points-in-each-of-two-uiview + */ +CGAffineTransform YYCGAffineTransformGetFromPoints(CGPoint before[3], CGPoint after[3]); + +/// Get the transform which can converts a point from the coordinate system of a given view to another. +CGAffineTransform YYCGAffineTransformGetFromViews(UIView *from, UIView *to); + +/// Create a skew transform. +static inline CGAffineTransform CGAffineTransformMakeSkew(CGFloat x, CGFloat y){ + CGAffineTransform transform = CGAffineTransformIdentity; + transform.c = -x; + transform.b = y; + return transform; +} + +/// Negates/inverts a UIEdgeInsets. +static inline UIEdgeInsets UIEdgeInsetsInvert(UIEdgeInsets insets) { + return UIEdgeInsetsMake(-insets.top, -insets.left, -insets.bottom, -insets.right); +} + +/// Convert CALayer's gravity string to UIViewContentMode. +UIViewContentMode YYCAGravityToUIViewContentMode(NSString *gravity); + +/// Convert UIViewContentMode to CALayer's gravity string. +NSString *YYUIViewContentModeToCAGravity(UIViewContentMode contentMode); + + + +/** + Returns a rectangle to fit the @param rect with specified content mode. + + @param rect The constrant rect + @param size The content size + @param mode The content mode + @return A rectangle for the given content mode. + @discussion UIViewContentModeRedraw is same as UIViewContentModeScaleToFill. + */ +CGRect YYCGRectFitWithContentMode(CGRect rect, CGSize size, UIViewContentMode mode); + +/// Returns the center for the rectangle. +static inline CGPoint CGRectGetCenter(CGRect rect) { + return CGPointMake(CGRectGetMidX(rect), CGRectGetMidY(rect)); +} + +/// Returns the area of the rectangle. +static inline CGFloat CGRectGetArea(CGRect rect) { + if (CGRectIsNull(rect)) return 0; + rect = CGRectStandardize(rect); + return rect.size.width * rect.size.height; +} + +/// Returns the distance between two points. +static inline CGFloat CGPointGetDistanceToPoint(CGPoint p1, CGPoint p2) { + return sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y)); +} + +/// Returns the minmium distance between a point to a rectangle. +static inline CGFloat CGPointGetDistanceToRect(CGPoint p, CGRect r) { + r = CGRectStandardize(r); + if (CGRectContainsPoint(r, p)) return 0; + CGFloat distV, distH; + if (CGRectGetMinY(r) <= p.y && p.y <= CGRectGetMaxY(r)) { + distV = 0; + } else { + distV = p.y < CGRectGetMinY(r) ? CGRectGetMinY(r) - p.y : p.y - CGRectGetMaxY(r); + } + if (CGRectGetMinX(r) <= p.x && p.x <= CGRectGetMaxX(r)) { + distH = 0; + } else { + distH = p.x < CGRectGetMinX(r) ? CGRectGetMinX(r) - p.x : p.x - CGRectGetMaxX(r); + } + return MAX(distV, distH); +} + + + +/// Convert point to pixel. +static inline CGFloat CGFloatToPixel(CGFloat value) { + return value * YYScreenScale(); +} + +/// Convert pixel to point. +static inline CGFloat CGFloatFromPixel(CGFloat value) { + return value / YYScreenScale(); +} + + + +/// floor point value for pixel-aligned +static inline CGFloat CGFloatPixelFloor(CGFloat value) { + CGFloat scale = YYScreenScale(); + return floor(value * scale) / scale; +} + +/// round point value for pixel-aligned +static inline CGFloat CGFloatPixelRound(CGFloat value) { + CGFloat scale = YYScreenScale(); + return round(value * scale) / scale; +} + +/// ceil point value for pixel-aligned +static inline CGFloat CGFloatPixelCeil(CGFloat value) { + CGFloat scale = YYScreenScale(); + return ceil(value * scale) / scale; +} + +/// round point value to .5 pixel for path stroke (odd pixel line width pixel-aligned) +static inline CGFloat CGFloatPixelHalf(CGFloat value) { + CGFloat scale = YYScreenScale(); + return (floor(value * scale) + 0.5) / scale; +} + + + +/// floor point value for pixel-aligned +static inline CGPoint CGPointPixelFloor(CGPoint point) { + CGFloat scale = YYScreenScale(); + return CGPointMake(floor(point.x * scale) / scale, + floor(point.y * scale) / scale); +} + +/// round point value for pixel-aligned +static inline CGPoint CGPointPixelRound(CGPoint point) { + CGFloat scale = YYScreenScale(); + return CGPointMake(round(point.x * scale) / scale, + round(point.y * scale) / scale); +} + +/// ceil point value for pixel-aligned +static inline CGPoint CGPointPixelCeil(CGPoint point) { + CGFloat scale = YYScreenScale(); + return CGPointMake(ceil(point.x * scale) / scale, + ceil(point.y * scale) / scale); +} + +/// round point value to .5 pixel for path stroke (odd pixel line width pixel-aligned) +static inline CGPoint CGPointPixelHalf(CGPoint point) { + CGFloat scale = YYScreenScale(); + return CGPointMake((floor(point.x * scale) + 0.5) / scale, + (floor(point.y * scale) + 0.5) / scale); +} + + + +/// floor point value for pixel-aligned +static inline CGSize CGSizePixelFloor(CGSize size) { + CGFloat scale = YYScreenScale(); + return CGSizeMake(floor(size.width * scale) / scale, + floor(size.height * scale) / scale); +} + +/// round point value for pixel-aligned +static inline CGSize CGSizePixelRound(CGSize size) { + CGFloat scale = YYScreenScale(); + return CGSizeMake(round(size.width * scale) / scale, + round(size.height * scale) / scale); +} + +/// ceil point value for pixel-aligned +static inline CGSize CGSizePixelCeil(CGSize size) { + CGFloat scale = YYScreenScale(); + return CGSizeMake(ceil(size.width * scale) / scale, + ceil(size.height * scale) / scale); +} + +/// round point value to .5 pixel for path stroke (odd pixel line width pixel-aligned) +static inline CGSize CGSizePixelHalf(CGSize size) { + CGFloat scale = YYScreenScale(); + return CGSizeMake((floor(size.width * scale) + 0.5) / scale, + (floor(size.height * scale) + 0.5) / scale); +} + + + +/// floor point value for pixel-aligned +static inline CGRect CGRectPixelFloor(CGRect rect) { + CGPoint origin = CGPointPixelCeil(rect.origin); + CGPoint corner = CGPointPixelFloor(CGPointMake(rect.origin.x + rect.size.width, + rect.origin.y + rect.size.height)); + CGRect ret = CGRectMake(origin.x, origin.y, corner.x - origin.x, corner.y - origin.y); + if (ret.size.width < 0) ret.size.width = 0; + if (ret.size.height < 0) ret.size.height = 0; + return ret; +} + +/// round point value for pixel-aligned +static inline CGRect CGRectPixelRound(CGRect rect) { + CGPoint origin = CGPointPixelRound(rect.origin); + CGPoint corner = CGPointPixelRound(CGPointMake(rect.origin.x + rect.size.width, + rect.origin.y + rect.size.height)); + return CGRectMake(origin.x, origin.y, corner.x - origin.x, corner.y - origin.y); +} + +/// ceil point value for pixel-aligned +static inline CGRect CGRectPixelCeil(CGRect rect) { + CGPoint origin = CGPointPixelFloor(rect.origin); + CGPoint corner = CGPointPixelCeil(CGPointMake(rect.origin.x + rect.size.width, + rect.origin.y + rect.size.height)); + return CGRectMake(origin.x, origin.y, corner.x - origin.x, corner.y - origin.y); +} + +/// round point value to .5 pixel for path stroke (odd pixel line width pixel-aligned) +static inline CGRect CGRectPixelHalf(CGRect rect) { + CGPoint origin = CGPointPixelHalf(rect.origin); + CGPoint corner = CGPointPixelHalf(CGPointMake(rect.origin.x + rect.size.width, + rect.origin.y + rect.size.height)); + return CGRectMake(origin.x, origin.y, corner.x - origin.x, corner.y - origin.y); +} + + + +/// floor UIEdgeInset for pixel-aligned +static inline UIEdgeInsets UIEdgeInsetPixelFloor(UIEdgeInsets insets) { + insets.top = CGFloatPixelFloor(insets.top); + insets.left = CGFloatPixelFloor(insets.left); + insets.bottom = CGFloatPixelFloor(insets.bottom); + insets.right = CGFloatPixelFloor(insets.right); + return insets; +} + +/// ceil UIEdgeInset for pixel-aligned +static inline UIEdgeInsets UIEdgeInsetPixelCeil(UIEdgeInsets insets) { + insets.top = CGFloatPixelCeil(insets.top); + insets.left = CGFloatPixelCeil(insets.left); + insets.bottom = CGFloatPixelCeil(insets.bottom); + insets.right = CGFloatPixelCeil(insets.right); + return insets; +} + +// main screen's scale +#ifndef kScreenScale +#define kScreenScale YYScreenScale() +#endif + +// main screen's size (portrait) +#ifndef kScreenSize +#define kScreenSize YYScreenSize() +#endif + +// main screen's width (portrait) +#ifndef kScreenWidth +#define kScreenWidth YYScreenSize().width +#endif + +// main screen's height (portrait) +#ifndef kScreenHeight +#define kScreenHeight YYScreenSize().height +#endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/Quartz/YYCGUtilities.m b/Example/Pods/YYCategories/YYCategories/Quartz/YYCGUtilities.m new file mode 100755 index 0000000..327c5e6 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/Quartz/YYCGUtilities.m @@ -0,0 +1,271 @@ +// +// YYCGUtilities.m +// YYCategories +// +// Created by ibireme on 15/2/28. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "YYCGUtilities.h" +#import +#import "UIView+YYAdd.h" + +CGContextRef YYCGContextCreateARGBBitmapContext(CGSize size, BOOL opaque, CGFloat scale) { + size_t width = ceil(size.width * scale); + size_t height = ceil(size.height * scale); + if (width < 1 || height < 1) return NULL; + + //pre-multiplied ARGB, 8-bits per component + CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB(); + CGImageAlphaInfo alphaInfo = (opaque ? kCGImageAlphaNoneSkipFirst : kCGImageAlphaPremultipliedFirst); + CGContextRef context = CGBitmapContextCreate(NULL, width, height, 8, 0, space, kCGBitmapByteOrderDefault | alphaInfo); + CGColorSpaceRelease(space); + if (context) { + CGContextTranslateCTM(context, 0, height); + CGContextScaleCTM(context, scale, -scale); + } + return context; +} + +CGContextRef YYCGContextCreateGrayBitmapContext(CGSize size, CGFloat scale) { + size_t width = ceil(size.width * scale); + size_t height = ceil(size.height * scale); + if (width < 1 || height < 1) return NULL; + + //DeviceGray, 8-bits per component + CGColorSpaceRef space = CGColorSpaceCreateDeviceGray(); + CGImageAlphaInfo alphaInfo = kCGImageAlphaNone; + CGContextRef context = CGBitmapContextCreate(NULL, width, height, 8, 0, space, kCGBitmapByteOrderDefault | alphaInfo); + CGColorSpaceRelease(space); + if (context) { + CGContextTranslateCTM(context, 0, height); + CGContextScaleCTM(context, scale, -scale); + } + return context; +} + +CGFloat YYScreenScale() { + static CGFloat scale; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + scale = [UIScreen mainScreen].scale; + }); + return scale; +} + +CGSize YYScreenSize() { + static CGSize size; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + size = [UIScreen mainScreen].bounds.size; + if (size.height < size.width) { + CGFloat tmp = size.height; + size.height = size.width; + size.width = tmp; + } + }); + return size; +} + +// return 0 when succeed +static int matrix_invert(__CLPK_integer N, double *matrix) { + __CLPK_integer error = 0; + __CLPK_integer pivot_tmp[6 * 6]; + __CLPK_integer *pivot = pivot_tmp; + double workspace_tmp[6 * 6]; + double *workspace = workspace_tmp; + bool need_free = false; + + if (N > 6) { + need_free = true; + pivot = malloc(N * N * sizeof(__CLPK_integer)); + if (!pivot) return -1; + workspace = malloc(N * sizeof(double)); + if (!workspace) { + free(pivot); + return -1; + } + } + + dgetrf_(&N, &N, matrix, &N, pivot, &error); + + if (error == 0) { + dgetri_(&N, matrix, &N, pivot, workspace, &N, &error); + } + + if (need_free) { + free(pivot); + free(workspace); + } + return error; +} + +CGAffineTransform YYCGAffineTransformGetFromPoints(CGPoint before[3], CGPoint after[3]) { + if (before == NULL || after == NULL) return CGAffineTransformIdentity; + + CGPoint p1, p2, p3, q1, q2, q3; + p1 = before[0]; p2 = before[1]; p3 = before[2]; + q1 = after[0]; q2 = after[1]; q3 = after[2]; + + double A[36]; + A[ 0] = p1.x; A[ 1] = p1.y; A[ 2] = 0; A[ 3] = 0; A[ 4] = 1; A[ 5] = 0; + A[ 6] = 0; A[ 7] = 0; A[ 8] = p1.x; A[ 9] = p1.y; A[10] = 0; A[11] = 1; + A[12] = p2.x; A[13] = p2.y; A[14] = 0; A[15] = 0; A[16] = 1; A[17] = 0; + A[18] = 0; A[19] = 0; A[20] = p2.x; A[21] = p2.y; A[22] = 0; A[23] = 1; + A[24] = p3.x; A[25] = p3.y; A[26] = 0; A[27] = 0; A[28] = 1; A[29] = 0; + A[30] = 0; A[31] = 0; A[32] = p3.x; A[33] = p3.y; A[34] = 0; A[35] = 1; + + int error = matrix_invert(6, A); + if (error) return CGAffineTransformIdentity; + + double B[6]; + B[0] = q1.x; B[1] = q1.y; B[2] = q2.x; B[3] = q2.y; B[4] = q3.x; B[5] = q3.y; + + double M[6]; + M[0] = A[ 0] * B[0] + A[ 1] * B[1] + A[ 2] * B[2] + A[ 3] * B[3] + A[ 4] * B[4] + A[ 5] * B[5]; + M[1] = A[ 6] * B[0] + A[ 7] * B[1] + A[ 8] * B[2] + A[ 9] * B[3] + A[10] * B[4] + A[11] * B[5]; + M[2] = A[12] * B[0] + A[13] * B[1] + A[14] * B[2] + A[15] * B[3] + A[16] * B[4] + A[17] * B[5]; + M[3] = A[18] * B[0] + A[19] * B[1] + A[20] * B[2] + A[21] * B[3] + A[22] * B[4] + A[23] * B[5]; + M[4] = A[24] * B[0] + A[25] * B[1] + A[26] * B[2] + A[27] * B[3] + A[28] * B[4] + A[29] * B[5]; + M[5] = A[30] * B[0] + A[31] * B[1] + A[32] * B[2] + A[33] * B[3] + A[34] * B[4] + A[35] * B[5]; + + CGAffineTransform transform = CGAffineTransformMake(M[0], M[2], M[1], M[3], M[4], M[5]); + return transform; +} + +CGAffineTransform YYCGAffineTransformGetFromViews(UIView *from, UIView *to) { + if (!from || !to) return CGAffineTransformIdentity; + + CGPoint before[3], after[3]; + before[0] = CGPointMake(0, 0); + before[1] = CGPointMake(0, 1); + before[2] = CGPointMake(1, 0); + after[0] = [from convertPoint:before[0] toViewOrWindow:to]; + after[1] = [from convertPoint:before[1] toViewOrWindow:to]; + after[2] = [from convertPoint:before[2] toViewOrWindow:to]; + + return YYCGAffineTransformGetFromPoints(before, after); +} + +UIViewContentMode YYCAGravityToUIViewContentMode(NSString *gravity) { + static NSDictionary *dic; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + dic = @{ kCAGravityCenter:@(UIViewContentModeCenter), + kCAGravityTop:@(UIViewContentModeTop), + kCAGravityBottom:@(UIViewContentModeBottom), + kCAGravityLeft:@(UIViewContentModeLeft), + kCAGravityRight:@(UIViewContentModeRight), + kCAGravityTopLeft:@(UIViewContentModeTopLeft), + kCAGravityTopRight:@(UIViewContentModeTopRight), + kCAGravityBottomLeft:@(UIViewContentModeBottomLeft), + kCAGravityBottomRight:@(UIViewContentModeBottomRight), + kCAGravityResize:@(UIViewContentModeScaleToFill), + kCAGravityResizeAspect:@(UIViewContentModeScaleAspectFit), + kCAGravityResizeAspectFill:@(UIViewContentModeScaleAspectFill) }; + }); + if (!gravity) return UIViewContentModeScaleToFill; + return (UIViewContentMode)((NSNumber *)dic[gravity]).integerValue; +} + +NSString *YYUIViewContentModeToCAGravity(UIViewContentMode contentMode) { + switch (contentMode) { + case UIViewContentModeScaleToFill: return kCAGravityResize; + case UIViewContentModeScaleAspectFit: return kCAGravityResizeAspect; + case UIViewContentModeScaleAspectFill: return kCAGravityResizeAspectFill; + case UIViewContentModeRedraw: return kCAGravityResize; + case UIViewContentModeCenter: return kCAGravityCenter; + case UIViewContentModeTop: return kCAGravityTop; + case UIViewContentModeBottom: return kCAGravityBottom; + case UIViewContentModeLeft: return kCAGravityLeft; + case UIViewContentModeRight: return kCAGravityRight; + case UIViewContentModeTopLeft: return kCAGravityTopLeft; + case UIViewContentModeTopRight: return kCAGravityTopRight; + case UIViewContentModeBottomLeft: return kCAGravityBottomLeft; + case UIViewContentModeBottomRight: return kCAGravityBottomRight; + default: return kCAGravityResize; + } +} + +CGRect YYCGRectFitWithContentMode(CGRect rect, CGSize size, UIViewContentMode mode) { + rect = CGRectStandardize(rect); + size.width = size.width < 0 ? -size.width : size.width; + size.height = size.height < 0 ? -size.height : size.height; + CGPoint center = CGPointMake(CGRectGetMidX(rect), CGRectGetMidY(rect)); + switch (mode) { + case UIViewContentModeScaleAspectFit: + case UIViewContentModeScaleAspectFill: { + if (rect.size.width < 0.01 || rect.size.height < 0.01 || + size.width < 0.01 || size.height < 0.01) { + rect.origin = center; + rect.size = CGSizeZero; + } else { + CGFloat scale; + if (mode == UIViewContentModeScaleAspectFit) { + if (size.width / size.height < rect.size.width / rect.size.height) { + scale = rect.size.height / size.height; + } else { + scale = rect.size.width / size.width; + } + } else { + if (size.width / size.height < rect.size.width / rect.size.height) { + scale = rect.size.width / size.width; + } else { + scale = rect.size.height / size.height; + } + } + size.width *= scale; + size.height *= scale; + rect.size = size; + rect.origin = CGPointMake(center.x - size.width * 0.5, center.y - size.height * 0.5); + } + } break; + case UIViewContentModeCenter: { + rect.size = size; + rect.origin = CGPointMake(center.x - size.width * 0.5, center.y - size.height * 0.5); + } break; + case UIViewContentModeTop: { + rect.origin.x = center.x - size.width * 0.5; + rect.size = size; + } break; + case UIViewContentModeBottom: { + rect.origin.x = center.x - size.width * 0.5; + rect.origin.y += rect.size.height - size.height; + rect.size = size; + } break; + case UIViewContentModeLeft: { + rect.origin.y = center.y - size.height * 0.5; + rect.size = size; + } break; + case UIViewContentModeRight: { + rect.origin.y = center.y - size.height * 0.5; + rect.origin.x += rect.size.width - size.width; + rect.size = size; + } break; + case UIViewContentModeTopLeft: { + rect.size = size; + } break; + case UIViewContentModeTopRight: { + rect.origin.x += rect.size.width - size.width; + rect.size = size; + } break; + case UIViewContentModeBottomLeft: { + rect.origin.y += rect.size.height - size.height; + rect.size = size; + } break; + case UIViewContentModeBottomRight: { + rect.origin.x += rect.size.width - size.width; + rect.origin.y += rect.size.height - size.height; + rect.size = size; + } break; + case UIViewContentModeScaleToFill: + case UIViewContentModeRedraw: + default: { + rect = rect; + } + } + return rect; +} diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIApplication+YYAdd.h b/Example/Pods/YYCategories/YYCategories/UIKit/UIApplication+YYAdd.h new file mode 100755 index 0000000..1551eb9 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIApplication+YYAdd.h @@ -0,0 +1,85 @@ +// +// UIApplication+YYAdd.h +// YYCategories +// +// Created by ibireme on 13/4/4. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides extensions for `UIApplication`. + */ +@interface UIApplication (YYAdd) + +/// "Documents" folder in this app's sandbox. +@property (nonatomic, readonly) NSURL *documentsURL; +@property (nonatomic, readonly) NSString *documentsPath; + +/// "Caches" folder in this app's sandbox. +@property (nonatomic, readonly) NSURL *cachesURL; +@property (nonatomic, readonly) NSString *cachesPath; + +/// "Library" folder in this app's sandbox. +@property (nonatomic, readonly) NSURL *libraryURL; +@property (nonatomic, readonly) NSString *libraryPath; + +/// Application's Bundle Name (show in SpringBoard). +@property (nullable, nonatomic, readonly) NSString *appBundleName; + +/// Application's Bundle ID. e.g. "com.ibireme.MyApp" +@property (nullable, nonatomic, readonly) NSString *appBundleID; + +/// Application's Version. e.g. "1.2.0" +@property (nullable, nonatomic, readonly) NSString *appVersion; + +/// Application's Build number. e.g. "123" +@property (nullable, nonatomic, readonly) NSString *appBuildVersion; + +/// Whether this app is priated (not install from appstore). +@property (nonatomic, readonly) BOOL isPirated; + +/// Whether this app is being debugged (debugger attached). +@property (nonatomic, readonly) BOOL isBeingDebugged; + +/// Current thread real memory used in byte. (-1 when error occurs) +@property (nonatomic, readonly) int64_t memoryUsage; + +/// Current thread CPU usage, 1.0 means 100%. (-1 when error occurs) +@property (nonatomic, readonly) float cpuUsage; + + +/** + Increments the number of active network requests. + If this number was zero before incrementing, this will start animating the + status bar network activity indicator. + + This method is thread safe. + */ +- (void)incrementNetworkActivityCount; + +/** + Decrements the number of active network requests. + If this number becomes zero after decrementing, this will stop animating the + status bar network activity indicator. + + This method is thread safe. + */ +- (void)decrementNetworkActivityCount; + + +/// Returns YES in App Extension. ++ (BOOL)isAppExtension; + +/// Same as sharedApplication, but returns nil in App Extension. ++ (nullable UIApplication *)sharedExtensionApplication; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIApplication+YYAdd.m b/Example/Pods/YYCategories/YYCategories/UIKit/UIApplication+YYAdd.m new file mode 100755 index 0000000..4ea2647 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIApplication+YYAdd.m @@ -0,0 +1,239 @@ +// +// UIApplication+YYAdd.m +// YYCategories +// +// Created by ibireme on 13/4/4. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "UIApplication+YYAdd.h" +#import "NSArray+YYAdd.h" +#import "NSObject+YYAdd.h" +#import "YYCategoriesMacro.h" +#import "UIDevice+YYAdd.h" +#import +#import +#import + +YYSYNTH_DUMMY_CLASS(UIApplication_YYAdd) + +#define kNetworkIndicatorDelay (1/30.0) +@interface _YYUIApplicationNetworkIndicatorInfo : NSObject +@property (nonatomic, assign) NSInteger count; +@property (nonatomic, strong) NSTimer *timer; +@end + +@implementation _YYUIApplicationNetworkIndicatorInfo +@end + + +@implementation UIApplication (YYAdd) + +- (NSURL *)documentsURL { + return [[[NSFileManager defaultManager] + URLsForDirectory:NSDocumentDirectory + inDomains:NSUserDomainMask] lastObject]; +} + +- (NSString *)documentsPath { + return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; +} + +- (NSURL *)cachesURL { + return [[[NSFileManager defaultManager] + URLsForDirectory:NSCachesDirectory + inDomains:NSUserDomainMask] lastObject]; +} + +- (NSString *)cachesPath { + return [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject]; +} + +- (NSURL *)libraryURL { + return [[[NSFileManager defaultManager] + URLsForDirectory:NSLibraryDirectory + inDomains:NSUserDomainMask] lastObject]; +} + +- (NSString *)libraryPath { + return [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) firstObject]; +} + +- (BOOL)isPirated { + if ([[UIDevice currentDevice] isSimulator]) return YES; // Simulator is not from appstore + + if (getgid() <= 10) return YES; // process ID shouldn't be root + + if ([[[NSBundle mainBundle] infoDictionary] objectForKey:@"SignerIdentity"]) { + return YES; + } + + if (![self _yy_fileExistInMainBundle:@"_CodeSignature"]) { + return YES; + } + + if (![self _yy_fileExistInMainBundle:@"SC_Info"]) { + return YES; + } + + //if someone really want to crack your app, this method is useless.. + //you may change this method's name, encrypt the code and do more check.. + return NO; +} + +- (BOOL)_yy_fileExistInMainBundle:(NSString *)name { + NSString *bundlePath = [[NSBundle mainBundle] bundlePath]; + NSString *path = [NSString stringWithFormat:@"%@/%@", bundlePath, name]; + return [[NSFileManager defaultManager] fileExistsAtPath:path]; +} + +- (NSString *)appBundleName { + return [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleName"]; +} + +- (NSString *)appBundleID { + return [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleIdentifier"]; +} + +- (NSString *)appVersion { + return [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"]; +} + +- (NSString *)appBuildVersion { + return [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"]; +} + +- (BOOL)isBeingDebugged { + size_t size = sizeof(struct kinfo_proc); + struct kinfo_proc info; + int ret = 0, name[4]; + memset(&info, 0, sizeof(struct kinfo_proc)); + + name[0] = CTL_KERN; + name[1] = KERN_PROC; + name[2] = KERN_PROC_PID; name[3] = getpid(); + + if (ret == (sysctl(name, 4, &info, &size, NULL, 0))) { + return ret != 0; + } + return (info.kp_proc.p_flag & P_TRACED) ? YES : NO; +} + +- (int64_t)memoryUsage { + struct task_basic_info info; + mach_msg_type_number_t size = sizeof(info); + kern_return_t kern = task_info(mach_task_self(), TASK_BASIC_INFO, (task_info_t)&info, &size); + if (kern != KERN_SUCCESS) return -1; + return info.resident_size; +} + +- (float)cpuUsage { + kern_return_t kr; + task_info_data_t tinfo; + mach_msg_type_number_t task_info_count; + + task_info_count = TASK_INFO_MAX; + kr = task_info(mach_task_self(), TASK_BASIC_INFO, (task_info_t)tinfo, &task_info_count); + if (kr != KERN_SUCCESS) { + return -1; + } + + thread_array_t thread_list; + mach_msg_type_number_t thread_count; + + thread_info_data_t thinfo; + mach_msg_type_number_t thread_info_count; + + thread_basic_info_t basic_info_th; + + kr = task_threads(mach_task_self(), &thread_list, &thread_count); + if (kr != KERN_SUCCESS) { + return -1; + } + + long tot_sec = 0; + long tot_usec = 0; + float tot_cpu = 0; + int j; + + for (j = 0; j < thread_count; j++) { + thread_info_count = THREAD_INFO_MAX; + kr = thread_info(thread_list[j], THREAD_BASIC_INFO, + (thread_info_t)thinfo, &thread_info_count); + if (kr != KERN_SUCCESS) { + return -1; + } + + basic_info_th = (thread_basic_info_t)thinfo; + + if (!(basic_info_th->flags & TH_FLAGS_IDLE)) { + tot_sec = tot_sec + basic_info_th->user_time.seconds + basic_info_th->system_time.seconds; + tot_usec = tot_usec + basic_info_th->system_time.microseconds + basic_info_th->system_time.microseconds; + tot_cpu = tot_cpu + basic_info_th->cpu_usage / (float)TH_USAGE_SCALE; + } + } + + kr = vm_deallocate(mach_task_self(), (vm_offset_t)thread_list, thread_count * sizeof(thread_t)); + assert(kr == KERN_SUCCESS); + + return tot_cpu; +} + +YYSYNTH_DYNAMIC_PROPERTY_OBJECT(networkActivityInfo, setNetworkActivityInfo, RETAIN_NONATOMIC, _YYUIApplicationNetworkIndicatorInfo *); + +- (void)_delaySetActivity:(NSTimer *)timer { + NSNumber *visiable = timer.userInfo; + if (self.networkActivityIndicatorVisible != visiable.boolValue) { + [self setNetworkActivityIndicatorVisible:visiable.boolValue]; + } + [timer invalidate]; +} + +- (void)_changeNetworkActivityCount:(NSInteger)delta { + @synchronized(self){ + dispatch_async_on_main_queue(^{ + _YYUIApplicationNetworkIndicatorInfo *info = [self networkActivityInfo]; + if (!info) { + info = [_YYUIApplicationNetworkIndicatorInfo new]; + [self setNetworkActivityInfo:info]; + } + NSInteger count = info.count; + count += delta; + info.count = count; + [info.timer invalidate]; + info.timer = [NSTimer timerWithTimeInterval:kNetworkIndicatorDelay target:self selector:@selector(_delaySetActivity:) userInfo:@(info.count > 0) repeats:NO]; + [[NSRunLoop mainRunLoop] addTimer:info.timer forMode:NSRunLoopCommonModes]; + }); + } +} + +- (void)incrementNetworkActivityCount { + [self _changeNetworkActivityCount:1]; +} + +- (void)decrementNetworkActivityCount { + [self _changeNetworkActivityCount:-1]; +} + ++ (BOOL)isAppExtension { + static BOOL isAppExtension = NO; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + Class cls = NSClassFromString(@"UIApplication"); + if(!cls || ![cls respondsToSelector:@selector(sharedApplication)]) isAppExtension = YES; + if ([[[NSBundle mainBundle] bundlePath] hasSuffix:@".appex"]) isAppExtension = YES; + }); + return isAppExtension; +} + ++ (UIApplication *)sharedExtensionApplication { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wundeclared-selector" + return [self isAppExtension] ? nil : [UIApplication performSelector:@selector(sharedApplication)]; +#pragma clang diagnostic pop +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIBarButtonItem+YYAdd.h b/Example/Pods/YYCategories/YYCategories/UIKit/UIBarButtonItem+YYAdd.h new file mode 100755 index 0000000..75d5052 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIBarButtonItem+YYAdd.h @@ -0,0 +1,32 @@ +// +// UIBarButtonItem+YYAdd.h +// YYCategories +// +// Created by ibireme on 13/10/15. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides extensions for `UIBarButtonItem`. + */ +@interface UIBarButtonItem (YYAdd) + +/** + The block that invoked when the item is selected. The objects captured by block + will retained by the ButtonItem. + + @discussion This param is conflict with `target` and `action` property. + Set this will set `target` and `action` property to some internal objects. + */ +@property (nullable, nonatomic, copy) void (^actionBlock)(id); + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIBarButtonItem+YYAdd.m b/Example/Pods/YYCategories/YYCategories/UIKit/UIBarButtonItem+YYAdd.m new file mode 100755 index 0000000..354650b --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIBarButtonItem+YYAdd.m @@ -0,0 +1,62 @@ +// +// UIBarButtonItem+YYAdd.m +// YYCategories +// +// Created by ibireme on 13/10/15. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "UIBarButtonItem+YYAdd.h" +#import "YYCategoriesMacro.h" +#import + +YYSYNTH_DUMMY_CLASS(UIBarButtonItem_YYAdd) + + +static const int block_key; + +@interface _YYUIBarButtonItemBlockTarget : NSObject + +@property (nonatomic, copy) void (^block)(id sender); + +- (id)initWithBlock:(void (^)(id sender))block; +- (void)invoke:(id)sender; + +@end + +@implementation _YYUIBarButtonItemBlockTarget + +- (id)initWithBlock:(void (^)(id sender))block{ + self = [super init]; + if (self) { + _block = [block copy]; + } + return self; +} + +- (void)invoke:(id)sender { + if (self.block) self.block(sender); +} + +@end + + +@implementation UIBarButtonItem (YYAdd) + +- (void)setActionBlock:(void (^)(id sender))block { + _YYUIBarButtonItemBlockTarget *target = [[_YYUIBarButtonItemBlockTarget alloc] initWithBlock:block]; + objc_setAssociatedObject(self, &block_key, target, OBJC_ASSOCIATION_RETAIN_NONATOMIC); + + [self setTarget:target]; + [self setAction:@selector(invoke:)]; +} + +- (void (^)(id)) actionBlock { + _YYUIBarButtonItemBlockTarget *target = objc_getAssociatedObject(self, &block_key); + return target.block; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIBezierPath+YYAdd.h b/Example/Pods/YYCategories/YYCategories/UIKit/UIBezierPath+YYAdd.h new file mode 100755 index 0000000..a26cbc6 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIBezierPath+YYAdd.h @@ -0,0 +1,37 @@ +// +// UIBezierPath+YYAdd.h +// YYCategories +// +// Created by ibireme on 14/10/30. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides extensions for `UIBezierPath`. + */ +@interface UIBezierPath (YYAdd) + +/** + Creates and returns a new UIBezierPath object initialized with the text glyphs + generated from the specified font. + + @discussion It doesnot support apple emoji. If you want get emoji image, try + [UIImage imageWithEmoji:size:] in `UIImage(YYAdd)`. + + @param text The text to generate glyph path. + @param font The font to generate glyph path. + + @return A new path object with the text and font, or nil if an error occurs. + */ ++ (nullable UIBezierPath *)bezierPathWithText:(NSString *)text font:(UIFont *)font; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIBezierPath+YYAdd.m b/Example/Pods/YYCategories/YYCategories/UIKit/UIBezierPath+YYAdd.m new file mode 100755 index 0000000..7e82fdf --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIBezierPath+YYAdd.m @@ -0,0 +1,64 @@ +// +// UIBezierPath+YYAdd.m +// YYCategories +// +// Created by ibireme on 14/10/30. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "UIBezierPath+YYAdd.h" +#import "UIFont+YYAdd.h" +#import +#import "YYCategoriesMacro.h" + +YYSYNTH_DUMMY_CLASS(UIBezierPath_YYAdd) + + +@implementation UIBezierPath (YYAdd) + ++ (UIBezierPath *)bezierPathWithText:(NSString *)text font:(UIFont *)font { + CTFontRef ctFont = font.CTFontRef; + if (!ctFont) return nil; + NSDictionary *attrs = @{ (__bridge id)kCTFontAttributeName:(__bridge id)ctFont }; + NSAttributedString *attrString = [[NSAttributedString alloc] initWithString:text attributes:attrs]; + CFRelease(ctFont); + + CTLineRef line = CTLineCreateWithAttributedString((__bridge CFTypeRef)attrString); + if (!line) return nil; + + CGMutablePathRef cgPath = CGPathCreateMutable(); + CFArrayRef runs = CTLineGetGlyphRuns(line); + for (CFIndex iRun = 0, iRunMax = CFArrayGetCount(runs); iRun < iRunMax; iRun++) { + CTRunRef run = (CTRunRef)CFArrayGetValueAtIndex(runs, iRun); + CTFontRef runFont = CFDictionaryGetValue(CTRunGetAttributes(run), kCTFontAttributeName); + + for (CFIndex iGlyph = 0, iGlyphMax = CTRunGetGlyphCount(run); iGlyph < iGlyphMax; iGlyph++) { + CFRange glyphRange = CFRangeMake(iGlyph, 1); + CGGlyph glyph; + CGPoint position; + CTRunGetGlyphs(run, glyphRange, &glyph); + CTRunGetPositions(run, glyphRange, &position); + + CGPathRef glyphPath = CTFontCreatePathForGlyph(runFont, glyph, NULL); + if (glyphPath) { + CGAffineTransform transform = CGAffineTransformMakeTranslation(position.x, position.y); + CGPathAddPath(cgPath, &transform, glyphPath); + CGPathRelease(glyphPath); + } + } + } + UIBezierPath *path = [UIBezierPath bezierPathWithCGPath:cgPath]; + CGRect boundingBox = CGPathGetPathBoundingBox(cgPath); + CFRelease(cgPath); + CFRelease(line); + + [path applyTransform:CGAffineTransformMakeScale(1.0, -1.0)]; + [path applyTransform:CGAffineTransformMakeTranslation(0.0, boundingBox.size.height)]; + + return path; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIColor+YYAdd.h b/Example/Pods/YYCategories/YYCategories/UIKit/UIColor+YYAdd.h new file mode 100755 index 0000000..5e703f5 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIColor+YYAdd.h @@ -0,0 +1,358 @@ +// +// UIColor+YYAdd.h +// YYCategories +// +// Created by ibireme on 13/4/4. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +extern void YY_RGB2HSL(CGFloat r, CGFloat g, CGFloat b, + CGFloat *h, CGFloat *s, CGFloat *l); + +extern void YY_HSL2RGB(CGFloat h, CGFloat s, CGFloat l, + CGFloat *r, CGFloat *g, CGFloat *b); + +extern void YY_RGB2HSB(CGFloat r, CGFloat g, CGFloat b, + CGFloat *h, CGFloat *s, CGFloat *v); + +extern void YY_HSB2RGB(CGFloat h, CGFloat s, CGFloat v, + CGFloat *r, CGFloat *g, CGFloat *b); + +extern void YY_RGB2CMYK(CGFloat r, CGFloat g, CGFloat b, + CGFloat *c, CGFloat *m, CGFloat *y, CGFloat *k); + +extern void YY_CMYK2RGB(CGFloat c, CGFloat m, CGFloat y, CGFloat k, + CGFloat *r, CGFloat *g, CGFloat *b); + +extern void YY_HSB2HSL(CGFloat h, CGFloat s, CGFloat b, + CGFloat *hh, CGFloat *ss, CGFloat *ll); + +extern void YY_HSL2HSB(CGFloat h, CGFloat s, CGFloat l, + CGFloat *hh, CGFloat *ss, CGFloat *bb); + + +/* + Create UIColor with a hex string. + Example: UIColorHex(0xF0F), UIColorHex(66ccff), UIColorHex(#66CCFF88) + + Valid format: #RGB #RGBA #RRGGBB #RRGGBBAA 0xRGB ... + The `#` or "0x" sign is not required. + */ +#ifndef UIColorHex +#define UIColorHex(_hex_) [UIColor colorWithHexString:((__bridge NSString *)CFSTR(#_hex_))] +#endif + +/** + Provide some method for `UIColor` to convert color between + RGB,HSB,HSL,CMYK and Hex. + + | Color space | Meaning | + |-------------|----------------------------------------| + | RGB * | Red, Green, Blue | + | HSB(HSV) * | Hue, Saturation, Brightness (Value) | + | HSL | Hue, Saturation, Lightness | + | CMYK | Cyan, Magenta, Yellow, Black | + + Apple use RGB & HSB default. + + All the value in this category is float number in the range `0.0` to `1.0`. + Values below `0.0` are interpreted as `0.0`, + and values above `1.0` are interpreted as `1.0`. + + If you want convert color between more color space (CIEXYZ,Lab,YUV...), + see https://github.com/ibireme/yy_color_convertor + */ +@interface UIColor (YYAdd) + + +#pragma mark - Create a UIColor Object +///============================================================================= +/// @name Creating a UIColor Object +///============================================================================= + +/** + Creates and returns a color object using the specified opacity + and HSL color space component values. + + @param hue The hue component of the color object in the HSL color space, + specified as a value from 0.0 to 1.0. + + @param saturation The saturation component of the color object in the HSL color space, + specified as a value from 0.0 to 1.0. + + @param lightness The lightness component of the color object in the HSL color space, + specified as a value from 0.0 to 1.0. + + @param alpha The opacity value of the color object, + specified as a value from 0.0 to 1.0. + + @return The color object. The color information represented by this + object is in the device RGB colorspace. + */ ++ (UIColor *)colorWithHue:(CGFloat)hue + saturation:(CGFloat)saturation + lightness:(CGFloat)lightness + alpha:(CGFloat)alpha; + +/** + Creates and returns a color object using the specified opacity + and CMYK color space component values. + + @param cyan The cyan component of the color object in the CMYK color space, + specified as a value from 0.0 to 1.0. + + @param magenta The magenta component of the color object in the CMYK color space, + specified as a value from 0.0 to 1.0. + + @param yellow The yellow component of the color object in the CMYK color space, + specified as a value from 0.0 to 1.0. + + @param black The black component of the color object in the CMYK color space, + specified as a value from 0.0 to 1.0. + + @param alpha The opacity value of the color object, + specified as a value from 0.0 to 1.0. + + @return The color object. The color information represented by this + object is in the device RGB colorspace. + */ ++ (UIColor *)colorWithCyan:(CGFloat)cyan + magenta:(CGFloat)magenta + yellow:(CGFloat)yellow + black:(CGFloat)black + alpha:(CGFloat)alpha; + +/** + Creates and returns a color object using the hex RGB color values. + + @param rgbValue The rgb value such as 0x66ccff. + + @return The color object. The color information represented by this + object is in the device RGB colorspace. + */ ++ (UIColor *)colorWithRGB:(uint32_t)rgbValue; + +/** + Creates and returns a color object using the hex RGBA color values. + + @param rgbaValue The rgb value such as 0x66ccffff. + + @return The color object. The color information represented by this + object is in the device RGB colorspace. + */ ++ (UIColor *)colorWithRGBA:(uint32_t)rgbaValue; + +/** + Creates and returns a color object using the specified opacity and RGB hex value. + + @param rgbValue The rgb value such as 0x66CCFF. + + @param alpha The opacity value of the color object, + specified as a value from 0.0 to 1.0. + + @return The color object. The color information represented by this + object is in the device RGB colorspace. + */ ++ (UIColor *)colorWithRGB:(uint32_t)rgbValue alpha:(CGFloat)alpha; + +/** + Creates and returns a color object from hex string. + + @discussion: + Valid format: #RGB #RGBA #RRGGBB #RRGGBBAA 0xRGB ... + The `#` or "0x" sign is not required. + The alpha will be set to 1.0 if there is no alpha component. + It will return nil when an error occurs in parsing. + + Example: @"0xF0F", @"66ccff", @"#66CCFF88" + + @param hexStr The hex string value for the new color. + + @return An UIColor object from string, or nil if an error occurs. + */ ++ (nullable UIColor *)colorWithHexString:(NSString *)hexStr; + +/** + Creates and returns a color object by add new color. + + @param add the color added + + @param blendMode add color blend mode + */ +- (UIColor *)colorByAddColor:(UIColor *)add blendMode:(CGBlendMode)blendMode; + +/** + Creates and returns a color object by change components. + + @param hueDelta the hue change delta specified as a value + from -1.0 to 1.0. 0 means no change. + + @param saturationDelta the saturation change delta specified as a value + from -1.0 to 1.0. 0 means no change. + + @param brightnessDelta the brightness change delta specified as a value + from -1.0 to 1.0. 0 means no change. + + @param alphaDelta the alpha change delta specified as a value + from -1.0 to 1.0. 0 means no change. + */ +- (UIColor *)colorByChangeHue:(CGFloat)hueDelta + saturation:(CGFloat)saturationDelta + brightness:(CGFloat)brightnessDelta + alpha:(CGFloat)alphaDelta; + + +#pragma mark - Get color's description +///============================================================================= +/// @name Get color's description +///============================================================================= + +/** + Returns the rgb value in hex. + @return hex value of RGB,such as 0x66ccff. + */ +- (uint32_t)rgbValue; + +/** + Returns the rgba value in hex. + + @return hex value of RGBA,such as 0x66ccffff. + */ +- (uint32_t)rgbaValue; + +/** + Returns the color's RGB value as a hex string (lowercase). + Such as @"0066cc". + + It will return nil when the color space is not RGB + + @return The color's value as a hex string. + */ +- (nullable NSString *)hexString; + +/** + Returns the color's RGBA value as a hex string (lowercase). + Such as @"0066ccff". + + It will return nil when the color space is not RGBA + + @return The color's value as a hex string. + */ +- (nullable NSString *)hexStringWithAlpha; + + +#pragma mark - Retrieving Color Information +///============================================================================= +/// @name Retrieving Color Information +///============================================================================= + +/** + Returns the components that make up the color in the HSL color space. + + @param hue On return, the hue component of the color object, + specified as a value between 0.0 and 1.0. + + @param saturation On return, the saturation component of the color object, + specified as a value between 0.0 and 1.0. + + @param lightness On return, the lightness component of the color object, + specified as a value between 0.0 and 1.0. + + @param alpha On return, the alpha component of the color object, + specified as a value between 0.0 and 1.0. + + @return YES if the color could be converted, NO otherwise. + */ +- (BOOL)getHue:(CGFloat *)hue + saturation:(CGFloat *)saturation + lightness:(CGFloat *)lightness + alpha:(CGFloat *)alpha; + +/** + Returns the components that make up the color in the CMYK color space. + + @param cyan On return, the cyan component of the color object, + specified as a value between 0.0 and 1.0. + + @param magenta On return, the magenta component of the color object, + specified as a value between 0.0 and 1.0. + + @param yellow On return, the yellow component of the color object, + specified as a value between 0.0 and 1.0. + + @param black On return, the black component of the color object, + specified as a value between 0.0 and 1.0. + + @param alpha On return, the alpha component of the color object, + specified as a value between 0.0 and 1.0. + + @return YES if the color could be converted, NO otherwise. + */ +- (BOOL)getCyan:(CGFloat *)cyan + magenta:(CGFloat *)magenta + yellow:(CGFloat *)yellow + black:(CGFloat *)black + alpha:(CGFloat *)alpha; + +/** + The color's red component value in RGB color space. + The value of this property is a float in the range `0.0` to `1.0`. + */ +@property (nonatomic, readonly) CGFloat red; + +/** + The color's green component value in RGB color space. + The value of this property is a float in the range `0.0` to `1.0`. + */ +@property (nonatomic, readonly) CGFloat green; + +/** + The color's blue component value in RGB color space. + The value of this property is a float in the range `0.0` to `1.0`. + */ +@property (nonatomic, readonly) CGFloat blue; + +/** + The color's hue component value in HSB color space. + The value of this property is a float in the range `0.0` to `1.0`. + */ +@property (nonatomic, readonly) CGFloat hue; + +/** + The color's saturation component value in HSB color space. + The value of this property is a float in the range `0.0` to `1.0`. + */ +@property (nonatomic, readonly) CGFloat saturation; + +/** + The color's brightness component value in HSB color space. + The value of this property is a float in the range `0.0` to `1.0`. + */ +@property (nonatomic, readonly) CGFloat brightness; + +/** + The color's alpha component value. + The value of this property is a float in the range `0.0` to `1.0`. + */ +@property (nonatomic, readonly) CGFloat alpha; + +/** + The color's colorspace model. + */ +@property (nonatomic, readonly) CGColorSpaceModel colorSpaceModel; + +/** + Readable colorspace string. + */ +@property (nullable, nonatomic, readonly) NSString *colorSpaceString; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIColor+YYAdd.m b/Example/Pods/YYCategories/YYCategories/UIKit/UIColor+YYAdd.m new file mode 100755 index 0000000..c0714ff --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIColor+YYAdd.m @@ -0,0 +1,472 @@ +// +// UIColor+YYAdd.m +// YYCategories +// +// Created by ibireme on 13/4/4. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "UIColor+YYAdd.h" +#import "NSString+YYAdd.h" +#import "YYCategoriesMacro.h" + +YYSYNTH_DUMMY_CLASS(UIColor_YYAdd) + + +#define CLAMP_COLOR_VALUE(v) (v) = (v) < 0 ? 0 : (v) > 1 ? 1 : (v) + +void YY_RGB2HSL(CGFloat r, CGFloat g, CGFloat b, + CGFloat *h, CGFloat *s, CGFloat *l) { + CLAMP_COLOR_VALUE(r); + CLAMP_COLOR_VALUE(g); + CLAMP_COLOR_VALUE(b); + + CGFloat max, min, delta, sum; + max = fmaxf(r, fmaxf(g, b)); + min = fminf(r, fminf(g, b)); + delta = max - min; + sum = max + min; + + *l = sum / 2; // Lightness + if (delta == 0) { // No Saturation, so Hue is undefined (achromatic) + *h = *s = 0; + return; + } + *s = delta / (sum < 1 ? sum : 2 - sum); // Saturation + if (r == max) *h = (g - b) / delta / 6; // color between y & m + else if (g == max) *h = (2 + (b - r) / delta) / 6; // color between c & y + else *h = (4 + (r - g) / delta) / 6; // color between m & y + if (*h < 0) *h += 1; +} + +void YY_HSL2RGB(CGFloat h, CGFloat s, CGFloat l, + CGFloat *r, CGFloat *g, CGFloat *b) { + CLAMP_COLOR_VALUE(h); + CLAMP_COLOR_VALUE(s); + CLAMP_COLOR_VALUE(l); + + if (s == 0) { // No Saturation, Hue is undefined (achromatic) + *r = *g = *b = l; + return; + } + + CGFloat q; + q = (l <= 0.5) ? (l * (1 + s)) : (l + s - (l * s)); + if (q <= 0) { + *r = *g = *b = 0.0; + } else { + *r = *g = *b = 0; + int sextant; + CGFloat m, sv, fract, vsf, mid1, mid2; + m = l + l - q; + sv = (q - m) / q; + if (h == 1) h = 0; + h *= 6.0; + sextant = h; + fract = h - sextant; + vsf = q * sv * fract; + mid1 = m + vsf; + mid2 = q - vsf; + switch (sextant) { + case 0: *r = q; *g = mid1; *b = m; break; + case 1: *r = mid2; *g = q; *b = m; break; + case 2: *r = m; *g = q; *b = mid1; break; + case 3: *r = m; *g = mid2; *b = q; break; + case 4: *r = mid1; *g = m; *b = q; break; + case 5: *r = q; *g = m; *b = mid2; break; + } + } +} + +void YY_RGB2HSB(CGFloat r, CGFloat g, CGFloat b, + CGFloat *h, CGFloat *s, CGFloat *v) { + CLAMP_COLOR_VALUE(r); + CLAMP_COLOR_VALUE(g); + CLAMP_COLOR_VALUE(b); + + CGFloat max, min, delta; + max = fmax(r, fmax(g, b)); + min = fmin(r, fmin(g, b)); + delta = max - min; + + *v = max; // Brightness + if (delta == 0) { // No Saturation, so Hue is undefined (achromatic) + *h = *s = 0; + return; + } + *s = delta / max; // Saturation + + if (r == max) *h = (g - b) / delta / 6; // color between y & m + else if (g == max) *h = (2 + (b - r) / delta) / 6; // color between c & y + else *h = (4 + (r - g) / delta) / 6; // color between m & c + if (*h < 0) *h += 1; +} + +void YY_HSB2RGB(CGFloat h, CGFloat s, CGFloat v, + CGFloat *r, CGFloat *g, CGFloat *b) { + CLAMP_COLOR_VALUE(h); + CLAMP_COLOR_VALUE(s); + CLAMP_COLOR_VALUE(v); + + if (s == 0) { + *r = *g = *b = v; // No Saturation, so Hue is undefined (Achromatic) + } else { + int sextant; + CGFloat f, p, q, t; + if (h == 1) h = 0; + h *= 6; + sextant = floor(h); + f = h - sextant; + p = v * (1 - s); + q = v * (1 - s * f); + t = v * (1 - s * (1 - f)); + switch (sextant) { + case 0: *r = v; *g = t; *b = p; break; + case 1: *r = q; *g = v; *b = p; break; + case 2: *r = p; *g = v; *b = t; break; + case 3: *r = p; *g = q; *b = v; break; + case 4: *r = t; *g = p; *b = v; break; + case 5: *r = v; *g = p; *b = q; break; + } + } +} + +void YY_RGB2CMYK(CGFloat r, CGFloat g, CGFloat b, + CGFloat *c, CGFloat *m, CGFloat *y, CGFloat *k) { + CLAMP_COLOR_VALUE(r); + CLAMP_COLOR_VALUE(g); + CLAMP_COLOR_VALUE(b); + + *c = 1 - r; + *m = 1 - g; + *y = 1 - b; + *k = fmin(*c, fmin(*m, *y)); + + if (*k == 1) { + *c = *m = *y = 0; // Pure black + } else { + *c = (*c - *k) / (1 - *k); + *m = (*m - *k) / (1 - *k); + *y = (*y - *k) / (1 - *k); + } +} + +void YY_CMYK2RGB(CGFloat c, CGFloat m, CGFloat y, CGFloat k, + CGFloat *r, CGFloat *g, CGFloat *b) { + CLAMP_COLOR_VALUE(c); + CLAMP_COLOR_VALUE(m); + CLAMP_COLOR_VALUE(y); + CLAMP_COLOR_VALUE(k); + + *r = (1 - c) * (1 - k); + *g = (1 - m) * (1 - k); + *b = (1 - y) * (1 - k); +} + +void YY_HSB2HSL(CGFloat h, CGFloat s, CGFloat b, + CGFloat *hh, CGFloat *ss, CGFloat *ll) { + CLAMP_COLOR_VALUE(h); + CLAMP_COLOR_VALUE(s); + CLAMP_COLOR_VALUE(b); + + *hh = h; + *ll = (2 - s) * b / 2; + if (*ll <= 0.5) { + *ss = (s) / ((2 - s)); + } else { + *ss = (s * b) / (2 - (2 - s) * b); + } +} + +void YY_HSL2HSB(CGFloat h, CGFloat s, CGFloat l, + CGFloat *hh, CGFloat *ss, CGFloat *bb) { + CLAMP_COLOR_VALUE(h); + CLAMP_COLOR_VALUE(s); + CLAMP_COLOR_VALUE(l); + + *hh = h; + if (l <= 0.5) { + *bb = (s + 1) * l; + *ss = (2 * s) / (s + 1); + } else { + *bb = l + s * (1 - l); + *ss = (2 * s * (1 - l)) / *bb; + } +} + +@implementation UIColor (YYAdd) + ++ (UIColor *)colorWithHue:(CGFloat)hue + saturation:(CGFloat)saturation + lightness:(CGFloat)lightness + alpha:(CGFloat)alpha { + CGFloat r, g, b; + YY_HSL2RGB(hue, saturation, lightness, &r, &g, &b); + return [UIColor colorWithRed:r green:g blue:b alpha:alpha]; +} ++ (UIColor *)colorWithCyan:(CGFloat)cyan + magenta:(CGFloat)magenta + yellow:(CGFloat)yellow + black:(CGFloat)black + alpha:(CGFloat)alpha { + CGFloat r, g, b; + YY_CMYK2RGB(cyan, magenta, yellow, black, &r, &g, &b); + return [UIColor colorWithRed:r green:g blue:b alpha:alpha]; +} + ++ (UIColor *)colorWithRGB:(uint32_t)rgbValue { + return [UIColor colorWithRed:((rgbValue & 0xFF0000) >> 16) / 255.0f + green:((rgbValue & 0xFF00) >> 8) / 255.0f + blue:(rgbValue & 0xFF) / 255.0f + alpha:1]; +} + ++ (UIColor *)colorWithRGBA:(uint32_t)rgbaValue { + return [UIColor colorWithRed:((rgbaValue & 0xFF000000) >> 24) / 255.0f + green:((rgbaValue & 0xFF0000) >> 16) / 255.0f + blue:((rgbaValue & 0xFF00) >> 8) / 255.0f + alpha:(rgbaValue & 0xFF) / 255.0f]; +} + ++ (UIColor *)colorWithRGB:(uint32_t)rgbValue alpha:(CGFloat)alpha { + return [UIColor colorWithRed:((rgbValue & 0xFF0000) >> 16) / 255.0f + green:((rgbValue & 0xFF00) >> 8) / 255.0f + blue:(rgbValue & 0xFF) / 255.0f + alpha:alpha]; +} + +- (uint32_t)rgbValue { + CGFloat r = 0, g = 0, b = 0, a = 0; + [self getRed:&r green:&g blue:&b alpha:&a]; + int8_t red = r * 255; + uint8_t green = g * 255; + uint8_t blue = b * 255; + return (red << 16) + (green << 8) + blue; +} + +- (uint32_t)rgbaValue { + CGFloat r = 0, g = 0, b = 0, a = 0; + [self getRed:&r green:&g blue:&b alpha:&a]; + int8_t red = r * 255; + uint8_t green = g * 255; + uint8_t blue = b * 255; + uint8_t alpha = a * 255; + return (red << 24) + (green << 16) + (blue << 8) + alpha; +} + +static inline NSUInteger hexStrToInt(NSString *str) { + uint32_t result = 0; + sscanf([str UTF8String], "%X", &result); + return result; +} + +static BOOL hexStrToRGBA(NSString *str, + CGFloat *r, CGFloat *g, CGFloat *b, CGFloat *a) { + str = [[str stringByTrim] uppercaseString]; + if ([str hasPrefix:@"#"]) { + str = [str substringFromIndex:1]; + } else if ([str hasPrefix:@"0X"]) { + str = [str substringFromIndex:2]; + } + + NSUInteger length = [str length]; + // RGB RGBA RRGGBB RRGGBBAA + if (length != 3 && length != 4 && length != 6 && length != 8) { + return NO; + } + + //RGB,RGBA,RRGGBB,RRGGBBAA + if (length < 5) { + *r = hexStrToInt([str substringWithRange:NSMakeRange(0, 1)]) / 255.0f; + *g = hexStrToInt([str substringWithRange:NSMakeRange(1, 1)]) / 255.0f; + *b = hexStrToInt([str substringWithRange:NSMakeRange(2, 1)]) / 255.0f; + if (length == 4) *a = hexStrToInt([str substringWithRange:NSMakeRange(3, 1)]) / 255.0f; + else *a = 1; + } else { + *r = hexStrToInt([str substringWithRange:NSMakeRange(0, 2)]) / 255.0f; + *g = hexStrToInt([str substringWithRange:NSMakeRange(2, 2)]) / 255.0f; + *b = hexStrToInt([str substringWithRange:NSMakeRange(4, 2)]) / 255.0f; + if (length == 8) *a = hexStrToInt([str substringWithRange:NSMakeRange(6, 2)]) / 255.0f; + else *a = 1; + } + return YES; +} + ++ (instancetype)colorWithHexString:(NSString *)hexStr { + CGFloat r, g, b, a; + if (hexStrToRGBA(hexStr, &r, &g, &b, &a)) { + return [UIColor colorWithRed:r green:g blue:b alpha:a]; + } + return nil; +} + +- (NSString *)hexString { + return [self hexStringWithAlpha:NO]; +} + +- (NSString *)hexStringWithAlpha { + return [self hexStringWithAlpha:YES]; +} + +- (NSString *)hexStringWithAlpha:(BOOL)withAlpha { + CGColorRef color = self.CGColor; + size_t count = CGColorGetNumberOfComponents(color); + const CGFloat *components = CGColorGetComponents(color); + static NSString *stringFormat = @"%02x%02x%02x"; + NSString *hex = nil; + if (count == 2) { + NSUInteger white = (NSUInteger)(components[0] * 255.0f); + hex = [NSString stringWithFormat:stringFormat, white, white, white]; + } else if (count == 4) { + hex = [NSString stringWithFormat:stringFormat, + (NSUInteger)(components[0] * 255.0f), + (NSUInteger)(components[1] * 255.0f), + (NSUInteger)(components[2] * 255.0f)]; + } + + if (hex && withAlpha) { + hex = [hex stringByAppendingFormat:@"%02lx", + (unsigned long)(self.alpha * 255.0 + 0.5)]; + } + return hex; +} + +- (UIColor *)colorByAddColor:(UIColor *)add blendMode:(CGBlendMode)blendMode { + CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); + CGBitmapInfo bitmapInfo = kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big; + uint8_t pixel[4] = { 0 }; + CGContextRef context = CGBitmapContextCreate(&pixel, 1, 1, 8, 4, colorSpace, bitmapInfo); + CGContextSetFillColorWithColor(context, self.CGColor); + CGContextFillRect(context, CGRectMake(0, 0, 1, 1)); + CGContextSetBlendMode(context, blendMode); + CGContextSetFillColorWithColor(context, add.CGColor); + CGContextFillRect(context, CGRectMake(0, 0, 1, 1)); + CGContextRelease(context); + CGColorSpaceRelease(colorSpace); + return [UIColor colorWithRed:pixel[0] / 255.0f green:pixel[1] / 255.0f blue:pixel[2] / 255.0f alpha:pixel[3] / 255.0f]; +} + +- (UIColor *)colorByChangeHue:(CGFloat)h saturation:(CGFloat)s brightness:(CGFloat)b alpha:(CGFloat)a { + CGFloat hh, ss, bb, aa; + if (![self getHue:&hh saturation:&ss brightness:&bb alpha:&aa]) { + return self; + } + hh += h; + ss += s; + bb += b; + aa += a; + hh -= (int)hh; + hh = hh < 0 ? hh + 1 : hh; + ss = ss < 0 ? 0 : ss > 1 ? 1 : ss; + bb = bb < 0 ? 0 : bb > 1 ? 1 : bb; + aa = aa < 0 ? 0 : aa > 1 ? 1 : aa; + return [UIColor colorWithHue:hh saturation:ss brightness:bb alpha:aa]; +} + +- (BOOL)getHue:(CGFloat *)hue + saturation:(CGFloat *)saturation + lightness:(CGFloat *)lightness + alpha:(CGFloat *)alpha { + CGFloat r, g, b, a; + if (![self getRed:&r green:&g blue:&b alpha:&a]) { + return NO; + } + YY_RGB2HSL(r, g, b, hue, saturation, lightness); + *alpha = a; + return YES; +} + +- (BOOL)getCyan:(CGFloat *)cyan + magenta:(CGFloat *)magenta + yellow:(CGFloat *)yellow + black:(CGFloat *)black + alpha:(CGFloat *)alpha { + CGFloat r, g, b, a; + if (![self getRed:&r green:&g blue:&b alpha:&a]) { + return NO; + } + YY_RGB2CMYK(r, g, b, cyan, magenta, yellow, black); + *alpha = a; + return YES; +} + +- (CGFloat)red { + CGFloat r = 0, g, b, a; + [self getRed:&r green:&g blue:&b alpha:&a]; + return r; +} + +- (CGFloat)green { + CGFloat r, g = 0, b, a; + [self getRed:&r green:&g blue:&b alpha:&a]; + return g; +} + +- (CGFloat)blue { + CGFloat r, g, b = 0, a; + [self getRed:&r green:&g blue:&b alpha:&a]; + return b; +} + +- (CGFloat)alpha { + return CGColorGetAlpha(self.CGColor); +} + +- (CGFloat)hue { + CGFloat h = 0, s, b, a; + [self getHue:&h saturation:&s brightness:&b alpha:&a]; + return h; +} + +- (CGFloat)saturation { + CGFloat h, s = 0, b, a; + [self getHue:&h saturation:&s brightness:&b alpha:&a]; + return s; +} + +- (CGFloat)brightness { + CGFloat h, s, b = 0, a; + [self getHue:&h saturation:&s brightness:&b alpha:&a]; + return b; +} + +- (CGColorSpaceModel)colorSpaceModel { + return CGColorSpaceGetModel(CGColorGetColorSpace(self.CGColor)); +} + +- (NSString *)colorSpaceString { + CGColorSpaceModel model = CGColorSpaceGetModel(CGColorGetColorSpace(self.CGColor)); + switch (model) { + case kCGColorSpaceModelUnknown: + return @"kCGColorSpaceModelUnknown"; + + case kCGColorSpaceModelMonochrome: + return @"kCGColorSpaceModelMonochrome"; + + case kCGColorSpaceModelRGB: + return @"kCGColorSpaceModelRGB"; + + case kCGColorSpaceModelCMYK: + return @"kCGColorSpaceModelCMYK"; + + case kCGColorSpaceModelLab: + return @"kCGColorSpaceModelLab"; + + case kCGColorSpaceModelDeviceN: + return @"kCGColorSpaceModelDeviceN"; + + case kCGColorSpaceModelIndexed: + return @"kCGColorSpaceModelIndexed"; + + case kCGColorSpaceModelPattern: + return @"kCGColorSpaceModelPattern"; + + default: + return @"ColorSpaceInvalid"; + } +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIControl+YYAdd.h b/Example/Pods/YYCategories/YYCategories/UIKit/UIControl+YYAdd.h new file mode 100755 index 0000000..c48cba1 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIControl+YYAdd.h @@ -0,0 +1,78 @@ +// +// UIControl+YYAdd.h +// YYCategories +// +// Created by ibireme on 13/4/5. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides extensions for `UIControl`. + */ +@interface UIControl (YYAdd) + +/** + Removes all targets and actions for a particular event (or events) + from an internal dispatch table. + */ +- (void)removeAllTargets; + +/** + Adds or replaces a target and action for a particular event (or events) + to an internal dispatch table. + + @param target The target object—that is, the object to which the + action message is sent. If this is nil, the responder + chain is searched for an object willing to respond to the + action message. + + @param action A selector identifying an action message. It cannot be NULL. + + @param controlEvents A bitmask specifying the control events for which the + action message is sent. + */ +- (void)setTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents; + +/** + Adds a block for a particular event (or events) to an internal dispatch table. + It will cause a strong reference to @a block. + + @param block The block which is invoked then the action message is + sent (cannot be nil). The block is retained. + + @param controlEvents A bitmask specifying the control events for which the + action message is sent. + */ +- (void)addBlockForControlEvents:(UIControlEvents)controlEvents block:(void (^)(id sender))block; + +/** + Adds or replaces a block for a particular event (or events) to an internal + dispatch table. It will cause a strong reference to @a block. + + @param block The block which is invoked then the action message is + sent (cannot be nil). The block is retained. + + @param controlEvents A bitmask specifying the control events for which the + action message is sent. + */ +- (void)setBlockForControlEvents:(UIControlEvents)controlEvents block:(void (^)(id sender))block; + +/** + Removes all blocks for a particular event (or events) from an internal + dispatch table. + + @param controlEvents A bitmask specifying the control events for which the + action message is sent. + */ +- (void)removeAllBlocksForControlEvents:(UIControlEvents)controlEvents; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIControl+YYAdd.m b/Example/Pods/YYCategories/YYCategories/UIKit/UIControl+YYAdd.m new file mode 100755 index 0000000..4ae42aa --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIControl+YYAdd.m @@ -0,0 +1,118 @@ +// +// UIControl+YYAdd.m +// YYCategories +// +// Created by ibireme on 13/4/5. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "UIControl+YYAdd.h" +#import "YYCategoriesMacro.h" +#import + +YYSYNTH_DUMMY_CLASS(UIControl_YYAdd) + + +static const int block_key; + +@interface _YYUIControlBlockTarget : NSObject + +@property (nonatomic, copy) void (^block)(id sender); +@property (nonatomic, assign) UIControlEvents events; + +- (id)initWithBlock:(void (^)(id sender))block events:(UIControlEvents)events; +- (void)invoke:(id)sender; + +@end + +@implementation _YYUIControlBlockTarget + +- (id)initWithBlock:(void (^)(id sender))block events:(UIControlEvents)events { + self = [super init]; + if (self) { + _block = [block copy]; + _events = events; + } + return self; +} + +- (void)invoke:(id)sender { + if (_block) _block(sender); +} + +@end + + + +@implementation UIControl (YYAdd) + +- (void)removeAllTargets { + [[self allTargets] enumerateObjectsUsingBlock: ^(id object, BOOL *stop) { + [self removeTarget:object action:NULL forControlEvents:UIControlEventAllEvents]; + }]; + [[self _yy_allUIControlBlockTargets] removeAllObjects]; +} + +- (void)setTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents { + if (!target || !action || !controlEvents) return; + NSSet *targets = [self allTargets]; + for (id currentTarget in targets) { + NSArray *actions = [self actionsForTarget:currentTarget forControlEvent:controlEvents]; + for (NSString *currentAction in actions) { + [self removeTarget:currentTarget action:NSSelectorFromString(currentAction) + forControlEvents:controlEvents]; + } + } + [self addTarget:target action:action forControlEvents:controlEvents]; +} + +- (void)addBlockForControlEvents:(UIControlEvents)controlEvents + block:(void (^)(id sender))block { + if (!controlEvents) return; + _YYUIControlBlockTarget *target = [[_YYUIControlBlockTarget alloc] + initWithBlock:block events:controlEvents]; + [self addTarget:target action:@selector(invoke:) forControlEvents:controlEvents]; + NSMutableArray *targets = [self _yy_allUIControlBlockTargets]; + [targets addObject:target]; +} + +- (void)setBlockForControlEvents:(UIControlEvents)controlEvents + block:(void (^)(id sender))block { + [self removeAllBlocksForControlEvents:UIControlEventAllEvents]; + [self addBlockForControlEvents:controlEvents block:block]; +} + +- (void)removeAllBlocksForControlEvents:(UIControlEvents)controlEvents { + if (!controlEvents) return; + + NSMutableArray *targets = [self _yy_allUIControlBlockTargets]; + NSMutableArray *removes = [NSMutableArray array]; + for (_YYUIControlBlockTarget *target in targets) { + if (target.events & controlEvents) { + UIControlEvents newEvent = target.events & (~controlEvents); + if (newEvent) { + [self removeTarget:target action:@selector(invoke:) forControlEvents:target.events]; + target.events = newEvent; + [self addTarget:target action:@selector(invoke:) forControlEvents:target.events]; + } else { + [self removeTarget:target action:@selector(invoke:) forControlEvents:target.events]; + [removes addObject:target]; + } + } + } + [targets removeObjectsInArray:removes]; +} + +- (NSMutableArray *)_yy_allUIControlBlockTargets { + NSMutableArray *targets = objc_getAssociatedObject(self, &block_key); + if (!targets) { + targets = [NSMutableArray array]; + objc_setAssociatedObject(self, &block_key, targets, OBJC_ASSOCIATION_RETAIN_NONATOMIC); + } + return targets; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIDevice+YYAdd.h b/Example/Pods/YYCategories/YYCategories/UIKit/UIDevice+YYAdd.h new file mode 100755 index 0000000..a08c5b4 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIDevice+YYAdd.h @@ -0,0 +1,191 @@ +// +// UIDevice+YYAdd.h +// YYCategories +// +// Created by ibireme on 13/4/3. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides extensions for `UIDevice`. + */ +@interface UIDevice (YYAdd) + + +#pragma mark - Device Information +///============================================================================= +/// @name Device Information +///============================================================================= + +/// Device system version (e.g. 8.1) ++ (double)systemVersion; + +/// Whether the device is iPad/iPad mini. +@property (nonatomic, readonly) BOOL isPad; + +/// Whether the device is a simulator. +@property (nonatomic, readonly) BOOL isSimulator; + +/// Whether the device is jailbroken. +@property (nonatomic, readonly) BOOL isJailbroken; + +/// Wherher the device can make phone calls. +@property (nonatomic, readonly) BOOL canMakePhoneCalls NS_EXTENSION_UNAVAILABLE_IOS(""); + +/// The device's machine model. e.g. "iPhone6,1" "iPad4,6" +/// @see http://theiphonewiki.com/wiki/Models +@property (nullable, nonatomic, readonly) NSString *machineModel; + +/// The device's machine model name. e.g. "iPhone 5s" "iPad mini 2" +/// @see http://theiphonewiki.com/wiki/Models +@property (nullable, nonatomic, readonly) NSString *machineModelName; + +/// The System's startup time. +@property (nonatomic, readonly) NSDate *systemUptime; + + +#pragma mark - Network Information +///============================================================================= +/// @name Network Information +///============================================================================= + +/// WIFI IP address of this device (can be nil). e.g. @"192.168.1.111" +@property (nullable, nonatomic, readonly) NSString *ipAddressWIFI; + +/// Cell IP address of this device (can be nil). e.g. @"10.2.2.222" +@property (nullable, nonatomic, readonly) NSString *ipAddressCell; + + +/** + Network traffic type: + + WWAN: Wireless Wide Area Network. + For example: 3G/4G. + + WIFI: Wi-Fi. + + AWDL: Apple Wireless Direct Link (peer-to-peer connection). + For exmaple: AirDrop, AirPlay, GameKit. + */ +typedef NS_OPTIONS(NSUInteger, YYNetworkTrafficType) { + YYNetworkTrafficTypeWWANSent = 1 << 0, + YYNetworkTrafficTypeWWANReceived = 1 << 1, + YYNetworkTrafficTypeWIFISent = 1 << 2, + YYNetworkTrafficTypeWIFIReceived = 1 << 3, + YYNetworkTrafficTypeAWDLSent = 1 << 4, + YYNetworkTrafficTypeAWDLReceived = 1 << 5, + + YYNetworkTrafficTypeWWAN = YYNetworkTrafficTypeWWANSent | YYNetworkTrafficTypeWWANReceived, + YYNetworkTrafficTypeWIFI = YYNetworkTrafficTypeWIFISent | YYNetworkTrafficTypeWIFIReceived, + YYNetworkTrafficTypeAWDL = YYNetworkTrafficTypeAWDLSent | YYNetworkTrafficTypeAWDLReceived, + + YYNetworkTrafficTypeALL = YYNetworkTrafficTypeWWAN | + YYNetworkTrafficTypeWIFI | + YYNetworkTrafficTypeAWDL, +}; + +/** + Get device network traffic bytes. + + @discussion This is a counter since the device's last boot time. + Usage: + + uint64_t bytes = [[UIDevice currentDevice] getNetworkTrafficBytes:YYNetworkTrafficTypeALL]; + NSTimeInterval time = CACurrentMediaTime(); + + uint64_t bytesPerSecond = (bytes - _lastBytes) / (time - _lastTime); + + _lastBytes = bytes; + _lastTime = time; + + + @param type traffic types + @return bytes counter. + */ +- (uint64_t)getNetworkTrafficBytes:(YYNetworkTrafficType)types; + +#pragma mark - Disk Space +///============================================================================= +/// @name Disk Space +///============================================================================= + +/// Total disk space in byte. (-1 when error occurs) +@property (nonatomic, readonly) int64_t diskSpace; + +/// Free disk space in byte. (-1 when error occurs) +@property (nonatomic, readonly) int64_t diskSpaceFree; + +/// Used disk space in byte. (-1 when error occurs) +@property (nonatomic, readonly) int64_t diskSpaceUsed; + + +#pragma mark - Memory Information +///============================================================================= +/// @name Memory Information +///============================================================================= + +/// Total physical memory in byte. (-1 when error occurs) +@property (nonatomic, readonly) int64_t memoryTotal; + +/// Used (active + inactive + wired) memory in byte. (-1 when error occurs) +@property (nonatomic, readonly) int64_t memoryUsed; + +/// Free memory in byte. (-1 when error occurs) +@property (nonatomic, readonly) int64_t memoryFree; + +/// Acvite memory in byte. (-1 when error occurs) +@property (nonatomic, readonly) int64_t memoryActive; + +/// Inactive memory in byte. (-1 when error occurs) +@property (nonatomic, readonly) int64_t memoryInactive; + +/// Wired memory in byte. (-1 when error occurs) +@property (nonatomic, readonly) int64_t memoryWired; + +/// Purgable memory in byte. (-1 when error occurs) +@property (nonatomic, readonly) int64_t memoryPurgable; + +#pragma mark - CPU Information +///============================================================================= +/// @name CPU Information +///============================================================================= + +/// Avaliable CPU processor count. +@property (nonatomic, readonly) NSUInteger cpuCount; + +/// Current CPU usage, 1.0 means 100%. (-1 when error occurs) +@property (nonatomic, readonly) float cpuUsage; + +/// Current CPU usage per processor (array of NSNumber), 1.0 means 100%. (nil when error occurs) +@property (nullable, nonatomic, readonly) NSArray *cpuUsagePerProcessor; + +@end + +NS_ASSUME_NONNULL_END + +#ifndef kSystemVersion +#define kSystemVersion [UIDevice systemVersion] +#endif + +#ifndef kiOS6Later +#define kiOS6Later (kSystemVersion >= 6) +#endif + +#ifndef kiOS7Later +#define kiOS7Later (kSystemVersion >= 7) +#endif + +#ifndef kiOS8Later +#define kiOS8Later (kSystemVersion >= 8) +#endif + +#ifndef kiOS9Later +#define kiOS9Later (kSystemVersion >= 9) +#endif diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIDevice+YYAdd.m b/Example/Pods/YYCategories/YYCategories/UIKit/UIDevice+YYAdd.m new file mode 100755 index 0000000..cfd48c4 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIDevice+YYAdd.m @@ -0,0 +1,516 @@ +// +// UIDevice+YYAdd.m +// YYCategories +// +// Created by ibireme on 13/4/3. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "UIDevice+YYAdd.h" +#include +#include +#include +#include +#include +#include +#include +#import "YYCategoriesMacro.h" +#import "NSString+YYAdd.h" + +YYSYNTH_DUMMY_CLASS(UIDevice_YYAdd) + + +@implementation UIDevice (YYAdd) + ++ (double)systemVersion { + static double version; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + version = [UIDevice currentDevice].systemVersion.doubleValue; + }); + return version; +} + +- (BOOL)isPad { + static dispatch_once_t one; + static BOOL pad; + dispatch_once(&one, ^{ + pad = UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad; + }); + return pad; +} + +- (BOOL)isSimulator { + static dispatch_once_t one; + static BOOL simu; + dispatch_once(&one, ^{ + simu = NSNotFound != [[self model] rangeOfString:@"Simulator"].location; + }); + return simu; +} + +- (BOOL)isJailbroken { + if ([self isSimulator]) return NO; // Dont't check simulator + + // iOS9 URL Scheme query changed ... + // NSURL *cydiaURL = [NSURL URLWithString:@"cydia://package"]; + // if ([[UIApplication sharedApplication] canOpenURL:cydiaURL]) return YES; + + NSArray *paths = @[@"/Applications/Cydia.app", + @"/private/var/lib/apt/", + @"/private/var/lib/cydia", + @"/private/var/stash"]; + for (NSString *path in paths) { + if ([[NSFileManager defaultManager] fileExistsAtPath:path]) return YES; + } + + FILE *bash = fopen("/bin/bash", "r"); + if (bash != NULL) { + fclose(bash); + return YES; + } + + NSString *path = [NSString stringWithFormat:@"/private/%@", [NSString stringWithUUID]]; + if ([@"test" writeToFile : path atomically : YES encoding : NSUTF8StringEncoding error : NULL]) { + [[NSFileManager defaultManager] removeItemAtPath:path error:nil]; + return YES; + } + + return NO; +} + +#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED +- (BOOL)canMakePhoneCalls { + __block BOOL can; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + can = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tel://"]]; + }); + return can; +} +#endif + +- (NSString *)ipAddressWithIfaName:(NSString *)name { + if (name.length == 0) return nil; + NSString *address = nil; + struct ifaddrs *addrs = NULL; + if (getifaddrs(&addrs) == 0) { + struct ifaddrs *addr = addrs; + while (addr) { + if ([[NSString stringWithUTF8String:addr->ifa_name] isEqualToString:name]) { + sa_family_t family = addr->ifa_addr->sa_family; + switch (family) { + case AF_INET: { // IPv4 + char str[INET_ADDRSTRLEN] = {0}; + inet_ntop(family, &(((struct sockaddr_in *)addr->ifa_addr)->sin_addr), str, sizeof(str)); + if (strlen(str) > 0) { + address = [NSString stringWithUTF8String:str]; + } + } break; + + case AF_INET6: { // IPv6 + char str[INET6_ADDRSTRLEN] = {0}; + inet_ntop(family, &(((struct sockaddr_in6 *)addr->ifa_addr)->sin6_addr), str, sizeof(str)); + if (strlen(str) > 0) { + address = [NSString stringWithUTF8String:str]; + } + } + + default: break; + } + if (address) break; + } + addr = addr->ifa_next; + } + } + freeifaddrs(addrs); + return address; +} + +- (NSString *)ipAddressWIFI { + return [self ipAddressWithIfaName:@"en0"]; +} + +- (NSString *)ipAddressCell { + return [self ipAddressWithIfaName:@"pdp_ip0"]; +} + + +typedef struct { + uint64_t en_in; + uint64_t en_out; + uint64_t pdp_ip_in; + uint64_t pdp_ip_out; + uint64_t awdl_in; + uint64_t awdl_out; +} yy_net_interface_counter; + + +static uint64_t yy_net_counter_add(uint64_t counter, uint64_t bytes) { + if (bytes < (counter % 0xFFFFFFFF)) { + counter += 0xFFFFFFFF - (counter % 0xFFFFFFFF); + counter += bytes; + } else { + counter = bytes; + } + return counter; +} + +static uint64_t yy_net_counter_get_by_type(yy_net_interface_counter *counter, YYNetworkTrafficType type) { + uint64_t bytes = 0; + if (type & YYNetworkTrafficTypeWWANSent) bytes += counter->pdp_ip_out; + if (type & YYNetworkTrafficTypeWWANReceived) bytes += counter->pdp_ip_in; + if (type & YYNetworkTrafficTypeWIFISent) bytes += counter->en_out; + if (type & YYNetworkTrafficTypeWIFIReceived) bytes += counter->en_in; + if (type & YYNetworkTrafficTypeAWDLSent) bytes += counter->awdl_out; + if (type & YYNetworkTrafficTypeAWDLReceived) bytes += counter->awdl_in; + return bytes; +} + +static yy_net_interface_counter yy_get_net_interface_counter() { + static dispatch_semaphore_t lock; + static NSMutableDictionary *sharedInCounters; + static NSMutableDictionary *sharedOutCounters; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + sharedInCounters = [NSMutableDictionary new]; + sharedOutCounters = [NSMutableDictionary new]; + lock = dispatch_semaphore_create(1); + }); + + yy_net_interface_counter counter = {0}; + struct ifaddrs *addrs; + const struct ifaddrs *cursor; + if (getifaddrs(&addrs) == 0) { + cursor = addrs; + dispatch_semaphore_wait(lock, DISPATCH_TIME_FOREVER); + while (cursor) { + if (cursor->ifa_addr->sa_family == AF_LINK) { + const struct if_data *data = cursor->ifa_data; + NSString *name = cursor->ifa_name ? [NSString stringWithUTF8String:cursor->ifa_name] : nil; + if (name) { + uint64_t counter_in = ((NSNumber *)sharedInCounters[name]).unsignedLongLongValue; + counter_in = yy_net_counter_add(counter_in, data->ifi_ibytes); + sharedInCounters[name] = @(counter_in); + + uint64_t counter_out = ((NSNumber *)sharedOutCounters[name]).unsignedLongLongValue; + counter_out = yy_net_counter_add(counter_out, data->ifi_obytes); + sharedOutCounters[name] = @(counter_out); + + if ([name hasPrefix:@"en"]) { + counter.en_in += counter_in; + counter.en_out += counter_out; + } else if ([name hasPrefix:@"awdl"]) { + counter.awdl_in += counter_in; + counter.awdl_out += counter_out; + } else if ([name hasPrefix:@"pdp_ip"]) { + counter.pdp_ip_in += counter_in; + counter.pdp_ip_out += counter_out; + } + } + } + cursor = cursor->ifa_next; + } + dispatch_semaphore_signal(lock); + freeifaddrs(addrs); + } + + return counter; +} + +- (uint64_t)getNetworkTrafficBytes:(YYNetworkTrafficType)types { + yy_net_interface_counter counter = yy_get_net_interface_counter(); + return yy_net_counter_get_by_type(&counter, types); +} + +- (NSString *)machineModel { + static dispatch_once_t one; + static NSString *model; + dispatch_once(&one, ^{ + size_t size; + sysctlbyname("hw.machine", NULL, &size, NULL, 0); + char *machine = malloc(size); + sysctlbyname("hw.machine", machine, &size, NULL, 0); + model = [NSString stringWithUTF8String:machine]; + free(machine); + }); + return model; +} + +- (NSString *)machineModelName { + static dispatch_once_t one; + static NSString *name; + dispatch_once(&one, ^{ + NSString *model = [self machineModel]; + if (!model) return; + NSDictionary *dic = @{ + @"Watch1,1" : @"Apple Watch 38mm", + @"Watch1,2" : @"Apple Watch 42mm", + @"Watch2,3" : @"Apple Watch Series 2 38mm", + @"Watch2,4" : @"Apple Watch Series 2 42mm", + @"Watch2,6" : @"Apple Watch Series 1 38mm", + @"Watch1,7" : @"Apple Watch Series 1 42mm", + + @"iPod1,1" : @"iPod touch 1", + @"iPod2,1" : @"iPod touch 2", + @"iPod3,1" : @"iPod touch 3", + @"iPod4,1" : @"iPod touch 4", + @"iPod5,1" : @"iPod touch 5", + @"iPod7,1" : @"iPod touch 6", + + @"iPhone1,1" : @"iPhone 1G", + @"iPhone1,2" : @"iPhone 3G", + @"iPhone2,1" : @"iPhone 3GS", + @"iPhone3,1" : @"iPhone 4 (GSM)", + @"iPhone3,2" : @"iPhone 4", + @"iPhone3,3" : @"iPhone 4 (CDMA)", + @"iPhone4,1" : @"iPhone 4S", + @"iPhone5,1" : @"iPhone 5", + @"iPhone5,2" : @"iPhone 5", + @"iPhone5,3" : @"iPhone 5c", + @"iPhone5,4" : @"iPhone 5c", + @"iPhone6,1" : @"iPhone 5s", + @"iPhone6,2" : @"iPhone 5s", + @"iPhone7,1" : @"iPhone 6 Plus", + @"iPhone7,2" : @"iPhone 6", + @"iPhone8,1" : @"iPhone 6s", + @"iPhone8,2" : @"iPhone 6s Plus", + @"iPhone8,4" : @"iPhone SE", + @"iPhone9,1" : @"iPhone 7", + @"iPhone9,2" : @"iPhone 7 Plus", + @"iPhone9,3" : @"iPhone 7", + @"iPhone9,4" : @"iPhone 7 Plus", + + @"iPad1,1" : @"iPad 1", + @"iPad2,1" : @"iPad 2 (WiFi)", + @"iPad2,2" : @"iPad 2 (GSM)", + @"iPad2,3" : @"iPad 2 (CDMA)", + @"iPad2,4" : @"iPad 2", + @"iPad2,5" : @"iPad mini 1", + @"iPad2,6" : @"iPad mini 1", + @"iPad2,7" : @"iPad mini 1", + @"iPad3,1" : @"iPad 3 (WiFi)", + @"iPad3,2" : @"iPad 3 (4G)", + @"iPad3,3" : @"iPad 3 (4G)", + @"iPad3,4" : @"iPad 4", + @"iPad3,5" : @"iPad 4", + @"iPad3,6" : @"iPad 4", + @"iPad4,1" : @"iPad Air", + @"iPad4,2" : @"iPad Air", + @"iPad4,3" : @"iPad Air", + @"iPad4,4" : @"iPad mini 2", + @"iPad4,5" : @"iPad mini 2", + @"iPad4,6" : @"iPad mini 2", + @"iPad4,7" : @"iPad mini 3", + @"iPad4,8" : @"iPad mini 3", + @"iPad4,9" : @"iPad mini 3", + @"iPad5,1" : @"iPad mini 4", + @"iPad5,2" : @"iPad mini 4", + @"iPad5,3" : @"iPad Air 2", + @"iPad5,4" : @"iPad Air 2", + @"iPad6,3" : @"iPad Pro (9.7 inch)", + @"iPad6,4" : @"iPad Pro (9.7 inch)", + @"iPad6,7" : @"iPad Pro (12.9 inch)", + @"iPad6,8" : @"iPad Pro (12.9 inch)", + + @"AppleTV2,1" : @"Apple TV 2", + @"AppleTV3,1" : @"Apple TV 3", + @"AppleTV3,2" : @"Apple TV 3", + @"AppleTV5,3" : @"Apple TV 4", + + @"i386" : @"Simulator x86", + @"x86_64" : @"Simulator x64", + }; + name = dic[model]; + if (!name) name = model; + }); + return name; +} + +- (NSDate *)systemUptime { + NSTimeInterval time = [[NSProcessInfo processInfo] systemUptime]; + return [[NSDate alloc] initWithTimeIntervalSinceNow:(0 - time)]; +} + +- (int64_t)diskSpace { + NSError *error = nil; + NSDictionary *attrs = [[NSFileManager defaultManager] attributesOfFileSystemForPath:NSHomeDirectory() error:&error]; + if (error) return -1; + int64_t space = [[attrs objectForKey:NSFileSystemSize] longLongValue]; + if (space < 0) space = -1; + return space; +} + +- (int64_t)diskSpaceFree { + NSError *error = nil; + NSDictionary *attrs = [[NSFileManager defaultManager] attributesOfFileSystemForPath:NSHomeDirectory() error:&error]; + if (error) return -1; + int64_t space = [[attrs objectForKey:NSFileSystemFreeSize] longLongValue]; + if (space < 0) space = -1; + return space; +} + +- (int64_t)diskSpaceUsed { + int64_t total = self.diskSpace; + int64_t free = self.diskSpaceFree; + if (total < 0 || free < 0) return -1; + int64_t used = total - free; + if (used < 0) used = -1; + return used; +} + +- (int64_t)memoryTotal { + int64_t mem = [[NSProcessInfo processInfo] physicalMemory]; + if (mem < -1) mem = -1; + return mem; +} + +- (int64_t)memoryUsed { + mach_port_t host_port = mach_host_self(); + mach_msg_type_number_t host_size = sizeof(vm_statistics_data_t) / sizeof(integer_t); + vm_size_t page_size; + vm_statistics_data_t vm_stat; + kern_return_t kern; + + kern = host_page_size(host_port, &page_size); + if (kern != KERN_SUCCESS) return -1; + kern = host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size); + if (kern != KERN_SUCCESS) return -1; + return page_size * (vm_stat.active_count + vm_stat.inactive_count + vm_stat.wire_count); +} + +- (int64_t)memoryFree { + mach_port_t host_port = mach_host_self(); + mach_msg_type_number_t host_size = sizeof(vm_statistics_data_t) / sizeof(integer_t); + vm_size_t page_size; + vm_statistics_data_t vm_stat; + kern_return_t kern; + + kern = host_page_size(host_port, &page_size); + if (kern != KERN_SUCCESS) return -1; + kern = host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size); + if (kern != KERN_SUCCESS) return -1; + return vm_stat.free_count * page_size; +} + +- (int64_t)memoryActive { + mach_port_t host_port = mach_host_self(); + mach_msg_type_number_t host_size = sizeof(vm_statistics_data_t) / sizeof(integer_t); + vm_size_t page_size; + vm_statistics_data_t vm_stat; + kern_return_t kern; + + kern = host_page_size(host_port, &page_size); + if (kern != KERN_SUCCESS) return -1; + kern = host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size); + if (kern != KERN_SUCCESS) return -1; + return vm_stat.active_count * page_size; +} + +- (int64_t)memoryInactive { + mach_port_t host_port = mach_host_self(); + mach_msg_type_number_t host_size = sizeof(vm_statistics_data_t) / sizeof(integer_t); + vm_size_t page_size; + vm_statistics_data_t vm_stat; + kern_return_t kern; + + kern = host_page_size(host_port, &page_size); + if (kern != KERN_SUCCESS) return -1; + kern = host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size); + if (kern != KERN_SUCCESS) return -1; + return vm_stat.inactive_count * page_size; +} + +- (int64_t)memoryWired { + mach_port_t host_port = mach_host_self(); + mach_msg_type_number_t host_size = sizeof(vm_statistics_data_t) / sizeof(integer_t); + vm_size_t page_size; + vm_statistics_data_t vm_stat; + kern_return_t kern; + + kern = host_page_size(host_port, &page_size); + if (kern != KERN_SUCCESS) return -1; + kern = host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size); + if (kern != KERN_SUCCESS) return -1; + return vm_stat.wire_count * page_size; +} + +- (int64_t)memoryPurgable { + mach_port_t host_port = mach_host_self(); + mach_msg_type_number_t host_size = sizeof(vm_statistics_data_t) / sizeof(integer_t); + vm_size_t page_size; + vm_statistics_data_t vm_stat; + kern_return_t kern; + + kern = host_page_size(host_port, &page_size); + if (kern != KERN_SUCCESS) return -1; + kern = host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size); + if (kern != KERN_SUCCESS) return -1; + return vm_stat.purgeable_count * page_size; +} + +- (NSUInteger)cpuCount { + return [NSProcessInfo processInfo].activeProcessorCount; +} + +- (float)cpuUsage { + float cpu = 0; + NSArray *cpus = [self cpuUsagePerProcessor]; + if (cpus.count == 0) return -1; + for (NSNumber *n in cpus) { + cpu += n.floatValue; + } + return cpu; +} + +- (NSArray *)cpuUsagePerProcessor { + processor_info_array_t _cpuInfo, _prevCPUInfo = nil; + mach_msg_type_number_t _numCPUInfo, _numPrevCPUInfo = 0; + unsigned _numCPUs; + NSLock *_cpuUsageLock; + + int _mib[2U] = { CTL_HW, HW_NCPU }; + size_t _sizeOfNumCPUs = sizeof(_numCPUs); + int _status = sysctl(_mib, 2U, &_numCPUs, &_sizeOfNumCPUs, NULL, 0U); + if (_status) + _numCPUs = 1; + + _cpuUsageLock = [[NSLock alloc] init]; + + natural_t _numCPUsU = 0U; + kern_return_t err = host_processor_info(mach_host_self(), PROCESSOR_CPU_LOAD_INFO, &_numCPUsU, &_cpuInfo, &_numCPUInfo); + if (err == KERN_SUCCESS) { + [_cpuUsageLock lock]; + + NSMutableArray *cpus = [NSMutableArray new]; + for (unsigned i = 0U; i < _numCPUs; ++i) { + Float32 _inUse, _total; + if (_prevCPUInfo) { + _inUse = ( + (_cpuInfo[(CPU_STATE_MAX * i) + CPU_STATE_USER] - _prevCPUInfo[(CPU_STATE_MAX * i) + CPU_STATE_USER]) + + (_cpuInfo[(CPU_STATE_MAX * i) + CPU_STATE_SYSTEM] - _prevCPUInfo[(CPU_STATE_MAX * i) + CPU_STATE_SYSTEM]) + + (_cpuInfo[(CPU_STATE_MAX * i) + CPU_STATE_NICE] - _prevCPUInfo[(CPU_STATE_MAX * i) + CPU_STATE_NICE]) + ); + _total = _inUse + (_cpuInfo[(CPU_STATE_MAX * i) + CPU_STATE_IDLE] - _prevCPUInfo[(CPU_STATE_MAX * i) + CPU_STATE_IDLE]); + } else { + _inUse = _cpuInfo[(CPU_STATE_MAX * i) + CPU_STATE_USER] + _cpuInfo[(CPU_STATE_MAX * i) + CPU_STATE_SYSTEM] + _cpuInfo[(CPU_STATE_MAX * i) + CPU_STATE_NICE]; + _total = _inUse + _cpuInfo[(CPU_STATE_MAX * i) + CPU_STATE_IDLE]; + } + [cpus addObject:@(_inUse / _total)]; + } + + [_cpuUsageLock unlock]; + if (_prevCPUInfo) { + size_t prevCpuInfoSize = sizeof(integer_t) * _numPrevCPUInfo; + vm_deallocate(mach_task_self(), (vm_address_t)_prevCPUInfo, prevCpuInfoSize); + } + return cpus; + } else { + return nil; + } +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIFont+YYAdd.h b/Example/Pods/YYCategories/YYCategories/UIKit/UIFont+YYAdd.h new file mode 100755 index 0000000..9120ff1 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIFont+YYAdd.h @@ -0,0 +1,153 @@ +// +// UIFont+YYAdd.h +// YYCategories +// +// Created by ibireme on 14/5/11. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides extensions for `UIFont`. + */ +@interface UIFont (YYAdd) + +#pragma mark - Font Traits +///============================================================================= +/// @name Font Traits +///============================================================================= + +@property (nonatomic, readonly) BOOL isBold NS_AVAILABLE_IOS(7_0); ///< Whether the font is bold. +@property (nonatomic, readonly) BOOL isItalic NS_AVAILABLE_IOS(7_0); ///< Whether the font is italic. +@property (nonatomic, readonly) BOOL isMonoSpace NS_AVAILABLE_IOS(7_0); ///< Whether the font is mono space. +@property (nonatomic, readonly) BOOL isColorGlyphs NS_AVAILABLE_IOS(7_0); ///< Whether the font is color glyphs (such as Emoji). +@property (nonatomic, readonly) CGFloat fontWeight NS_AVAILABLE_IOS(7_0); ///< Font weight from -1.0 to 1.0. Regular weight is 0.0. + +/** + Create a bold font from receiver. + @return A bold font, or nil if failed. + */ +- (nullable UIFont *)fontWithBold NS_AVAILABLE_IOS(7_0); + +/** + Create a italic font from receiver. + @return A italic font, or nil if failed. + */ +- (nullable UIFont *)fontWithItalic NS_AVAILABLE_IOS(7_0); + +/** + Create a bold and italic font from receiver. + @return A bold and italic font, or nil if failed. + */ +- (nullable UIFont *)fontWithBoldItalic NS_AVAILABLE_IOS(7_0); + +/** + Create a normal (no bold/italic/...) font from receiver. + @return A normal font, or nil if failed. + */ +- (nullable UIFont *)fontWithNormal NS_AVAILABLE_IOS(7_0); + +#pragma mark - Create font +///============================================================================= +/// @name Create font +///============================================================================= + +/** + Creates and returns a font object for the specified CTFontRef. + + @param CTFont CoreText font. + */ ++ (nullable UIFont *)fontWithCTFont:(CTFontRef)CTFont; + +/** + Creates and returns a font object for the specified CGFontRef and size. + + @param CGFont CoreGraphic font. + @param size Font size. + */ ++ (nullable UIFont *)fontWithCGFont:(CGFontRef)CGFont size:(CGFloat)size; + +/** + Creates and returns the CTFontRef object. (need call CFRelease() after used) + */ +- (nullable CTFontRef)CTFontRef CF_RETURNS_RETAINED; + +/** + Creates and returns the CGFontRef object. (need call CFRelease() after used) + */ +- (nullable CGFontRef)CGFontRef CF_RETURNS_RETAINED; + + +#pragma mark - Load and unload font +///============================================================================= +/// @name Load and unload font +///============================================================================= + +/** + Load the font from file path. Support format:TTF,OTF. + If return YES, font can be load use it PostScript Name: [UIFont fontWithName:...] + + @param path font file's full path + */ ++ (BOOL)loadFontFromPath:(NSString *)path; + +/** + Unload font from file path. + + @param path font file's full path + */ ++ (void)unloadFontFromPath:(NSString *)path; + +/** + Load the font from data. Support format:TTF,OTF. + + @param data Font data. + + @return UIFont object if load succeed, otherwise nil. + */ ++ (nullable UIFont *)loadFontFromData:(NSData *)data; + +/** + Unload font which is loaded by loadFontFromData: function. + + @param font the font loaded by loadFontFromData: function + + @return YES if succeed, otherwise NO. + */ ++ (BOOL)unloadFontFromData:(UIFont *)font; + + +#pragma mark - Dump font data +///============================================================================= +/// @name Dump font data +///============================================================================= + +/** + Serialize and return the font data. + + @param font The font. + + @return data in TTF, or nil if an error occurs. + */ ++ (nullable NSData *)dataFromFont:(UIFont *)font; + +/** + Serialize and return the font data. + + @param cgFont The font. + + @return data in TTF, or nil if an error occurs. + */ ++ (nullable NSData *)dataFromCGFont:(CGFontRef)cgFont; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIFont+YYAdd.m b/Example/Pods/YYCategories/YYCategories/UIKit/UIFont+YYAdd.m new file mode 100755 index 0000000..ada9047 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIFont+YYAdd.m @@ -0,0 +1,269 @@ +// +// UIFont+YYAdd.m +// YYCategories +// +// Created by ibireme on 14/5/11. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "UIFont+YYAdd.h" +#import "YYCategoriesMacro.h" + +YYSYNTH_DUMMY_CLASS(UIFont_YYAdd) + + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wprotocol" +// Apple has implemented UIFont, but did not make it public. + +@implementation UIFont (YYAdd) + +- (BOOL)isBold { + if (![self respondsToSelector:@selector(fontDescriptor)]) return NO; + return (self.fontDescriptor.symbolicTraits & UIFontDescriptorTraitBold) > 0; +} + +- (BOOL)isItalic { + if (![self respondsToSelector:@selector(fontDescriptor)]) return NO; + return (self.fontDescriptor.symbolicTraits & UIFontDescriptorTraitItalic) > 0; +} + +- (BOOL)isMonoSpace { + if (![self respondsToSelector:@selector(fontDescriptor)]) return NO; + return (self.fontDescriptor.symbolicTraits & UIFontDescriptorTraitMonoSpace) > 0; +} + +- (BOOL)isColorGlyphs { + if (![self respondsToSelector:@selector(fontDescriptor)]) return NO; + return (CTFontGetSymbolicTraits((__bridge CTFontRef)self) & kCTFontTraitColorGlyphs) != 0; +} + +- (CGFloat)fontWeight { + NSDictionary *traits = [self.fontDescriptor objectForKey:UIFontDescriptorTraitsAttribute]; + return [traits[UIFontWeightTrait] floatValue]; +} + +- (UIFont *)fontWithBold { + if (![self respondsToSelector:@selector(fontDescriptor)]) return nil; + return [UIFont fontWithDescriptor:[self.fontDescriptor fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitBold] size:self.pointSize]; +} + +- (UIFont *)fontWithItalic { + if (![self respondsToSelector:@selector(fontDescriptor)]) return nil; + return [UIFont fontWithDescriptor:[self.fontDescriptor fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitItalic] size:self.pointSize]; +} + +- (UIFont *)fontWithBoldItalic { + if (![self respondsToSelector:@selector(fontDescriptor)]) return nil; + return [UIFont fontWithDescriptor:[self.fontDescriptor fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitBold | UIFontDescriptorTraitItalic] size:self.pointSize]; +} + +- (UIFont *)fontWithNormal { + if (![self respondsToSelector:@selector(fontDescriptor)]) return nil; + return [UIFont fontWithDescriptor:[self.fontDescriptor fontDescriptorWithSymbolicTraits:0] size:self.pointSize]; +} + ++ (UIFont *)fontWithCTFont:(CTFontRef)CTFont { + if (!CTFont) return nil; + CFStringRef name = CTFontCopyPostScriptName(CTFont); + if (!name) return nil; + CGFloat size = CTFontGetSize(CTFont); + UIFont *font = [self fontWithName:(__bridge NSString *)(name) size:size]; + CFRelease(name); + return font; +} + ++ (UIFont *)fontWithCGFont:(CGFontRef)CGFont size:(CGFloat)size { + if (!CGFont) return nil; + CFStringRef name = CGFontCopyPostScriptName(CGFont); + if (!name) return nil; + UIFont *font = [self fontWithName:(__bridge NSString *)(name) size:size]; + CFRelease(name); + return font; +} + +- (CTFontRef)CTFontRef CF_RETURNS_RETAINED { + CTFontRef font = CTFontCreateWithName((__bridge CFStringRef)self.fontName, self.pointSize, NULL); + return font; +} + +- (CGFontRef)CGFontRef CF_RETURNS_RETAINED { + CGFontRef font = CGFontCreateWithFontName((__bridge CFStringRef)self.fontName); + return font; +} + ++ (BOOL)loadFontFromPath:(NSString *)path { + NSURL *url = [NSURL fileURLWithPath:path]; + CFErrorRef error; + BOOL suc = CTFontManagerRegisterFontsForURL((__bridge CFTypeRef)url, kCTFontManagerScopeNone, &error); + if (!suc) { + NSLog(@"Failed to load font: %@", error); + } + return suc; +} + ++ (void)unloadFontFromPath:(NSString *)path { + NSURL *url = [NSURL fileURLWithPath:path]; + CTFontManagerUnregisterFontsForURL((__bridge CFTypeRef)url, kCTFontManagerScopeNone, NULL); +} + ++ (UIFont *)loadFontFromData:(NSData *)data { + CGDataProviderRef provider = CGDataProviderCreateWithCFData((__bridge CFDataRef)data); + if (!provider) return nil; + CGFontRef fontRef = CGFontCreateWithDataProvider(provider); + CGDataProviderRelease(provider); + if (!fontRef) return nil; + + CFErrorRef errorRef; + BOOL suc = CTFontManagerRegisterGraphicsFont(fontRef, &errorRef); + if (!suc) { + CFRelease(fontRef); + NSLog(@"%@", errorRef); + return nil; + } else { + CFStringRef fontName = CGFontCopyPostScriptName(fontRef); + UIFont *font = [UIFont fontWithName:(__bridge NSString *)(fontName) size:[UIFont systemFontSize]]; + if (fontName) CFRelease(fontName); + CGFontRelease(fontRef); + return font; + } +} + ++ (BOOL)unloadFontFromData:(UIFont *)font { + CGFontRef fontRef = CGFontCreateWithFontName((__bridge CFStringRef)font.fontName); + if (!fontRef) return NO; + CFErrorRef errorRef; + BOOL suc = CTFontManagerUnregisterGraphicsFont(fontRef, &errorRef); + CFRelease(fontRef); + if (!suc) NSLog(@"%@", errorRef); + return suc; +} + ++ (NSData *)dataFromFont:(UIFont *)font { + CGFontRef cgFont = font.CGFontRef; + NSData *data = [self dataFromCGFont:cgFont]; + CGFontRelease(cgFont); + return data; +} + +typedef struct FontHeader { + int32_t fVersion; + uint16_t fNumTables; + uint16_t fSearchRange; + uint16_t fEntrySelector; + uint16_t fRangeShift; +} FontHeader; + +typedef struct TableEntry { + uint32_t fTag; + uint32_t fCheckSum; + uint32_t fOffset; + uint32_t fLength; +} TableEntry; + +static uint32_t CalcTableCheckSum(const uint32_t *table, uint32_t numberOfBytesInTable) { + uint32_t sum = 0; + uint32_t nLongs = (numberOfBytesInTable + 3) / 4; + while (nLongs-- > 0) { + sum += CFSwapInt32HostToBig(*table++); + } + return sum; +} + +//Reference: +//https://github.com/google/skia/blob/master/src%2Fports%2FSkFontHost_mac.cpp ++ (NSData *)dataFromCGFont:(CGFontRef)cgFont { + if (!cgFont) return nil; + + CFRetain(cgFont); + + CFArrayRef tags = CGFontCopyTableTags(cgFont); + if (!tags) return nil; + CFIndex tableCount = CFArrayGetCount(tags); + + size_t *tableSizes = malloc(sizeof(size_t) * tableCount); + memset(tableSizes, 0, sizeof(size_t) * tableCount); + + BOOL containsCFFTable = NO; + + size_t totalSize = sizeof(FontHeader) + sizeof(TableEntry) * tableCount; + + for (CFIndex index = 0; index < tableCount; index++) { + size_t tableSize = 0; + uint32_t aTag = (uint32_t)CFArrayGetValueAtIndex(tags, index); + if (aTag == kCTFontTableCFF && !containsCFFTable) { + containsCFFTable = YES; + } + CFDataRef tableDataRef = CGFontCopyTableForTag(cgFont, aTag); + if (tableDataRef) { + tableSize = CFDataGetLength(tableDataRef); + CFRelease(tableDataRef); + } + totalSize += (tableSize + 3) & ~3; + tableSizes[index] = tableSize; + } + + unsigned char *stream = malloc(totalSize); + memset(stream, 0, totalSize); + char *dataStart = (char *)stream; + char *dataPtr = dataStart; + + // compute font header entries + uint16_t entrySelector = 0; + uint16_t searchRange = 1; + while (searchRange < tableCount >> 1) { + entrySelector++; + searchRange <<= 1; + } + searchRange <<= 4; + + uint16_t rangeShift = (tableCount << 4) - searchRange; + + // write font header (also called sfnt header, offset subtable) + FontHeader *offsetTable = (FontHeader *)dataPtr; + + //OpenType Font contains CFF Table use 'OTTO' as version, and with .otf extension + //otherwise 0001 0000 + offsetTable->fVersion = containsCFFTable ? 'OTTO' : CFSwapInt16HostToBig(1); + offsetTable->fNumTables = CFSwapInt16HostToBig((uint16_t)tableCount); + offsetTable->fSearchRange = CFSwapInt16HostToBig((uint16_t)searchRange); + offsetTable->fEntrySelector = CFSwapInt16HostToBig((uint16_t)entrySelector); + offsetTable->fRangeShift = CFSwapInt16HostToBig((uint16_t)rangeShift); + + dataPtr += sizeof(FontHeader); + + // write tables + TableEntry *entry = (TableEntry *)dataPtr; + dataPtr += sizeof(TableEntry) * tableCount; + + for (int index = 0; index < tableCount; ++index) { + uint32_t aTag = (uint32_t)CFArrayGetValueAtIndex(tags, index); + CFDataRef tableDataRef = CGFontCopyTableForTag(cgFont, aTag); + size_t tableSize = CFDataGetLength(tableDataRef); + + memcpy(dataPtr, CFDataGetBytePtr(tableDataRef), tableSize); + + entry->fTag = CFSwapInt32HostToBig((uint32_t)aTag); + entry->fCheckSum = CFSwapInt32HostToBig(CalcTableCheckSum((uint32_t *)dataPtr, (uint32_t)tableSize)); + + uint32_t offset = (uint32_t)dataPtr - (uint32_t)dataStart; + entry->fOffset = CFSwapInt32HostToBig((uint32_t)offset); + entry->fLength = CFSwapInt32HostToBig((uint32_t)tableSize); + dataPtr += (tableSize + 3) & ~3; + ++entry; + CFRelease(tableDataRef); + } + + CFRelease(cgFont); + CFRelease(tags); + free(tableSizes); + NSData *fontData = [NSData dataWithBytesNoCopy:stream length:totalSize freeWhenDone:YES]; + return fontData; +} + +@end + +#pragma clang diagnostic pop diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIGestureRecognizer+YYAdd.h b/Example/Pods/YYCategories/YYCategories/UIKit/UIGestureRecognizer+YYAdd.h new file mode 100755 index 0000000..987ebe5 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIGestureRecognizer+YYAdd.h @@ -0,0 +1,47 @@ +// +// UIGestureRecognizer+YYAdd.h +// YYCategories +// +// Created by ibireme on 13/10/13. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides extensions for `UIGestureRecognizer`. + */ +@interface UIGestureRecognizer (YYAdd) + +/** + Initializes an allocated gesture-recognizer object with a action block. + + @param block An action block that to handle the gesture recognized by the + receiver. nil is invalid. It is retained by the gesture. + + @return An initialized instance of a concrete UIGestureRecognizer subclass or + nil if an error occurred in the attempt to initialize the object. + */ +- (instancetype)initWithActionBlock:(void (^)(id sender))block; + +/** + Adds an action block to a gesture-recognizer object. It is retained by the + gesture. + + @param block A block invoked by the action message. nil is not a valid value. + */ +- (void)addActionBlock:(void (^)(id sender))block; + +/** + Remove all action blocks. + */ +- (void)removeAllActionBlocks; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIGestureRecognizer+YYAdd.m b/Example/Pods/YYCategories/YYCategories/UIKit/UIGestureRecognizer+YYAdd.m new file mode 100755 index 0000000..61a25e8 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIGestureRecognizer+YYAdd.m @@ -0,0 +1,78 @@ +// +// UIGestureRecognizer+YYAdd.m +// YYCategories +// +// Created by ibireme on 13/10/13. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "UIGestureRecognizer+YYAdd.h" +#import "YYCategoriesMacro.h" +#import + +static const int block_key; + +@interface _YYUIGestureRecognizerBlockTarget : NSObject + +@property (nonatomic, copy) void (^block)(id sender); + +- (id)initWithBlock:(void (^)(id sender))block; +- (void)invoke:(id)sender; + +@end + +@implementation _YYUIGestureRecognizerBlockTarget + +- (id)initWithBlock:(void (^)(id sender))block{ + self = [super init]; + if (self) { + _block = [block copy]; + } + return self; +} + +- (void)invoke:(id)sender { + if (_block) _block(sender); +} + +@end + + + + +@implementation UIGestureRecognizer (YYAdd) + +- (instancetype)initWithActionBlock:(void (^)(id sender))block { + self = [self init]; + [self addActionBlock:block]; + return self; +} + +- (void)addActionBlock:(void (^)(id sender))block { + _YYUIGestureRecognizerBlockTarget *target = [[_YYUIGestureRecognizerBlockTarget alloc] initWithBlock:block]; + [self addTarget:target action:@selector(invoke:)]; + NSMutableArray *targets = [self _yy_allUIGestureRecognizerBlockTargets]; + [targets addObject:target]; +} + +- (void)removeAllActionBlocks{ + NSMutableArray *targets = [self _yy_allUIGestureRecognizerBlockTargets]; + [targets enumerateObjectsUsingBlock:^(id target, NSUInteger idx, BOOL *stop) { + [self removeTarget:target action:@selector(invoke:)]; + }]; + [targets removeAllObjects]; +} + +- (NSMutableArray *)_yy_allUIGestureRecognizerBlockTargets { + NSMutableArray *targets = objc_getAssociatedObject(self, &block_key); + if (!targets) { + targets = [NSMutableArray array]; + objc_setAssociatedObject(self, &block_key, targets, OBJC_ASSOCIATION_RETAIN_NONATOMIC); + } + return targets; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIImage+YYAdd.h b/Example/Pods/YYCategories/YYCategories/UIKit/UIImage+YYAdd.h new file mode 100755 index 0000000..f4b443f --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIImage+YYAdd.h @@ -0,0 +1,377 @@ +// +// UIImage+YYAdd.h +// YYCategories +// +// Created by ibireme on 13/4/4. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provide some commen method for `UIImage`. + Image process is based on CoreGraphic and vImage. + */ +@interface UIImage (YYAdd) + +#pragma mark - Create image +///============================================================================= +/// @name Create image +///============================================================================= + +/** + Create an animated image with GIF data. After created, you can access + the images via property '.images'. If the data is not animated gif, this + function is same as [UIImage imageWithData:data scale:scale]; + + @discussion It has a better display performance, but costs more memory + (width * height * frames Bytes). It only suited to display small + gif such as animated emoji. If you want to display large gif, + see `YYImage`. + + @param data GIF data. + + @param scale The scale factor + + @return A new image created from GIF, or nil when an error occurs. + */ ++ (nullable UIImage *)imageWithSmallGIFData:(NSData *)data scale:(CGFloat)scale; + +/** + Whether the data is animated GIF. + + @param data Image data + + @return Returns YES only if the data is gif and contains more than one frame, + otherwise returns NO. + */ ++ (BOOL)isAnimatedGIFData:(NSData *)data; + +/** + Whether the file in the specified path is GIF. + + @param path An absolute file path. + + @return Returns YES if the file is gif, otherwise returns NO. + */ ++ (BOOL)isAnimatedGIFFile:(NSString *)path; + +/** + Create an image from a PDF file data or path. + + @discussion If the PDF has multiple page, is just return's the first page's + content. Image's scale is equal to current screen's scale, size is same as + PDF's origin size. + + @param dataOrPath PDF data in `NSData`, or PDF file path in `NSString`. + + @return A new image create from PDF, or nil when an error occurs. + */ ++ (nullable UIImage *)imageWithPDF:(id)dataOrPath; + +/** + Create an image from a PDF file data or path. + + @discussion If the PDF has multiple page, is just return's the first page's + content. Image's scale is equal to current screen's scale. + + @param dataOrPath PDF data in `NSData`, or PDF file path in `NSString`. + + @param size The new image's size, PDF's content will be stretched as needed. + + @return A new image create from PDF, or nil when an error occurs. + */ ++ (nullable UIImage *)imageWithPDF:(id)dataOrPath size:(CGSize)size; + +/** + Create a square image from apple emoji. + + @discussion It creates a square image from apple emoji, image's scale is equal + to current screen's scale. The original emoji image in `AppleColorEmoji` font + is in size 160*160 px. + + @param emoji single emoji, such as @"😄". + + @param size image's size. + + @return Image from emoji, or nil when an error occurs. + */ ++ (nullable UIImage *)imageWithEmoji:(NSString *)emoji size:(CGFloat)size; + +/** + Create and return a 1x1 point size image with the given color. + + @param color The color. + */ ++ (nullable UIImage *)imageWithColor:(UIColor *)color; + +/** + Create and return a pure color image with the given color and size. + + @param color The color. + @param size New image's type. + */ ++ (nullable UIImage *)imageWithColor:(UIColor *)color size:(CGSize)size; + +/** + Create and return an image with custom draw code. + + @param size The image size. + @param drawBlock The draw block. + + @return The new image. + */ ++ (nullable UIImage *)imageWithSize:(CGSize)size drawBlock:(void (^)(CGContextRef context))drawBlock; + +#pragma mark - Image Info +///============================================================================= +/// @name Image Info +///============================================================================= + +/** + Whether this image has alpha channel. + */ +- (BOOL)hasAlphaChannel; + + +#pragma mark - Modify Image +///============================================================================= +/// @name Modify Image +///============================================================================= + +/** + Draws the entire image in the specified rectangle, content changed with + the contentMode. + + @discussion This method draws the entire image in the current graphics context, + respecting the image's orientation setting. In the default coordinate system, + images are situated down and to the right of the origin of the specified + rectangle. This method respects any transforms applied to the current graphics + context, however. + + @param rect The rectangle in which to draw the image. + + @param contentMode Draw content mode + + @param clips A Boolean value that determines whether content are confined to the rect. + */ +- (void)drawInRect:(CGRect)rect withContentMode:(UIViewContentMode)contentMode clipsToBounds:(BOOL)clips; + +/** + Returns a new image which is scaled from this image. + The image will be stretched as needed. + + @param size The new size to be scaled, values should be positive. + + @return The new image with the given size. + */ +- (nullable UIImage *)imageByResizeToSize:(CGSize)size; + +/** + Returns a new image which is scaled from this image. + The image content will be changed with thencontentMode. + + @param size The new size to be scaled, values should be positive. + + @param contentMode The content mode for image content. + + @return The new image with the given size. + */ +- (nullable UIImage *)imageByResizeToSize:(CGSize)size contentMode:(UIViewContentMode)contentMode; + +/** + Returns a new image which is cropped from this image. + + @param rect Image's inner rect. + + @return The new image, or nil if an error occurs. + */ +- (nullable UIImage *)imageByCropToRect:(CGRect)rect; + +/** + Returns a new image which is edge inset from this image. + + @param insets Inset (positive) for each of the edges, values can be negative to 'outset'. + + @param color Extend edge's fill color, nil means clear color. + + @return The new image, or nil if an error occurs. + */ +- (nullable UIImage *)imageByInsetEdge:(UIEdgeInsets)insets withColor:(nullable UIColor *)color; + +/** + Rounds a new image with a given corner size. + + @param radius The radius of each corner oval. Values larger than half the + rectangle's width or height are clamped appropriately to half + the width or height. + */ +- (nullable UIImage *)imageByRoundCornerRadius:(CGFloat)radius; + +/** + Rounds a new image with a given corner size. + + @param radius The radius of each corner oval. Values larger than half the + rectangle's width or height are clamped appropriately to + half the width or height. + + @param borderWidth The inset border line width. Values larger than half the rectangle's + width or height are clamped appropriately to half the width + or height. + + @param borderColor The border stroke color. nil means clear color. + */ +- (nullable UIImage *)imageByRoundCornerRadius:(CGFloat)radius + borderWidth:(CGFloat)borderWidth + borderColor:(nullable UIColor *)borderColor; + +/** + Rounds a new image with a given corner size. + + @param radius The radius of each corner oval. Values larger than half the + rectangle's width or height are clamped appropriately to + half the width or height. + + @param corners A bitmask value that identifies the corners that you want + rounded. You can use this parameter to round only a subset + of the corners of the rectangle. + + @param borderWidth The inset border line width. Values larger than half the rectangle's + width or height are clamped appropriately to half the width + or height. + + @param borderColor The border stroke color. nil means clear color. + + @param borderLineJoin The border line join. + */ +- (nullable UIImage *)imageByRoundCornerRadius:(CGFloat)radius + corners:(UIRectCorner)corners + borderWidth:(CGFloat)borderWidth + borderColor:(nullable UIColor *)borderColor + borderLineJoin:(CGLineJoin)borderLineJoin; + +/** + Returns a new rotated image (relative to the center). + + @param radians Rotated radians in counterclockwise.⟲ + + @param fitSize YES: new image's size is extend to fit all content. + NO: image's size will not change, content may be clipped. + */ +- (nullable UIImage *)imageByRotate:(CGFloat)radians fitSize:(BOOL)fitSize; + +/** + Returns a new image rotated counterclockwise by a quarter‑turn (90°). ⤺ + The width and height will be exchanged. + */ +- (nullable UIImage *)imageByRotateLeft90; + +/** + Returns a new image rotated clockwise by a quarter‑turn (90°). ⤼ + The width and height will be exchanged. + */ +- (nullable UIImage *)imageByRotateRight90; + +/** + Returns a new image rotated 180° . ↻ + */ +- (nullable UIImage *)imageByRotate180; + +/** + Returns a vertically flipped image. ⥯ + */ +- (nullable UIImage *)imageByFlipVertical; + +/** + Returns a horizontally flipped image. ⇋ + */ +- (nullable UIImage *)imageByFlipHorizontal; + + +#pragma mark - Image Effect +///============================================================================= +/// @name Image Effect +///============================================================================= + +/** + Tint the image in alpha channel with the given color. + + @param color The color. + */ +- (nullable UIImage *)imageByTintColor:(UIColor *)color; + +/** + Returns a grayscaled image. + */ +- (nullable UIImage *)imageByGrayscale; + +/** + Applies a blur effect to this image. Suitable for blur any content. + */ +- (nullable UIImage *)imageByBlurSoft; + +/** + Applies a blur effect to this image. Suitable for blur any content except pure white. + (same as iOS Control Panel) + */ +- (nullable UIImage *)imageByBlurLight; + +/** + Applies a blur effect to this image. Suitable for displaying black text. + (same as iOS Navigation Bar White) + */ +- (nullable UIImage *)imageByBlurExtraLight; + +/** + Applies a blur effect to this image. Suitable for displaying white text. + (same as iOS Notification Center) + */ +- (nullable UIImage *)imageByBlurDark; + +/** + Applies a blur and tint color to this image. + + @param tintColor The tint color. + */ +- (nullable UIImage *)imageByBlurWithTint:(UIColor *)tintColor; + +/** + Applies a blur, tint color, and saturation adjustment to this image, + optionally within the area specified by @a maskImage. + + @param blurRadius The radius of the blur in points, 0 means no blur effect. + + @param tintColor An optional UIColor object that is uniformly blended with + the result of the blur and saturation operations. The + alpha channel of this color determines how strong the + tint is. nil means no tint. + + @param tintBlendMode The @a tintColor blend mode. Default is kCGBlendModeNormal (0). + + @param saturation A value of 1.0 produces no change in the resulting image. + Values less than 1.0 will desaturation the resulting image + while values greater than 1.0 will have the opposite effect. + 0 means gray scale. + + @param maskImage If specified, @a inputImage is only modified in the area(s) + defined by this mask. This must be an image mask or it + must meet the requirements of the mask parameter of + CGContextClipToMask. + + @return image with effect, or nil if an error occurs (e.g. no + enough memory). + */ +- (nullable UIImage *)imageByBlurRadius:(CGFloat)blurRadius + tintColor:(nullable UIColor *)tintColor + tintMode:(CGBlendMode)tintBlendMode + saturation:(CGFloat)saturation + maskImage:(nullable UIImage *)maskImage; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIImage+YYAdd.m b/Example/Pods/YYCategories/YYCategories/UIKit/UIImage+YYAdd.m new file mode 100755 index 0000000..bf75b5e --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIImage+YYAdd.m @@ -0,0 +1,752 @@ +// +// UIImage+YYAdd.m +// YYCategories +// +// Created by ibireme on 13/4/4. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "UIImage+YYAdd.h" +#import "UIDevice+YYAdd.h" +#import "NSString+YYAdd.h" +#import "YYCategoriesMacro.h" +#import "YYCGUtilities.h" +#import +#import +#import +#import +#import "YYCGUtilities.h" + +YYSYNTH_DUMMY_CLASS(UIImage_YYAdd) + +static NSTimeInterval _yy_CGImageSourceGetGIFFrameDelayAtIndex(CGImageSourceRef source, size_t index) { + NSTimeInterval delay = 0; + CFDictionaryRef dic = CGImageSourceCopyPropertiesAtIndex(source, index, NULL); + if (dic) { + CFDictionaryRef dicGIF = CFDictionaryGetValue(dic, kCGImagePropertyGIFDictionary); + if (dicGIF) { + NSNumber *num = CFDictionaryGetValue(dicGIF, kCGImagePropertyGIFUnclampedDelayTime); + if (num.doubleValue <= __FLT_EPSILON__) { + num = CFDictionaryGetValue(dicGIF, kCGImagePropertyGIFDelayTime); + } + delay = num.doubleValue; + } + CFRelease(dic); + } + + // http://nullsleep.tumblr.com/post/16524517190/animated-gif-minimum-frame-delay-browser-compatibility + if (delay < 0.02) delay = 0.1; + return delay; +} + + + +@implementation UIImage (YYAdd) + ++ (UIImage *)imageWithSmallGIFData:(NSData *)data scale:(CGFloat)scale { + CGImageSourceRef source = CGImageSourceCreateWithData((__bridge CFTypeRef)(data), NULL); + if (!source) return nil; + + size_t count = CGImageSourceGetCount(source); + if (count <= 1) { + CFRelease(source); + return [self.class imageWithData:data scale:scale]; + } + + NSUInteger frames[count]; + double oneFrameTime = 1 / 50.0; // 50 fps + NSTimeInterval totalTime = 0; + NSUInteger totalFrame = 0; + NSUInteger gcdFrame = 0; + for (size_t i = 0; i < count; i++) { + NSTimeInterval delay = _yy_CGImageSourceGetGIFFrameDelayAtIndex(source, i); + totalTime += delay; + NSInteger frame = lrint(delay / oneFrameTime); + if (frame < 1) frame = 1; + frames[i] = frame; + totalFrame += frames[i]; + if (i == 0) gcdFrame = frames[i]; + else { + NSUInteger frame = frames[i], tmp; + if (frame < gcdFrame) { + tmp = frame; frame = gcdFrame; gcdFrame = tmp; + } + while (true) { + tmp = frame % gcdFrame; + if (tmp == 0) break; + frame = gcdFrame; + gcdFrame = tmp; + } + } + } + NSMutableArray *array = [NSMutableArray new]; + for (size_t i = 0; i < count; i++) { + CGImageRef imageRef = CGImageSourceCreateImageAtIndex(source, i, NULL); + if (!imageRef) { + CFRelease(source); + return nil; + } + size_t width = CGImageGetWidth(imageRef); + size_t height = CGImageGetHeight(imageRef); + if (width == 0 || height == 0) { + CFRelease(source); + CFRelease(imageRef); + return nil; + } + + CGImageAlphaInfo alphaInfo = CGImageGetAlphaInfo(imageRef) & kCGBitmapAlphaInfoMask; + BOOL hasAlpha = NO; + if (alphaInfo == kCGImageAlphaPremultipliedLast || + alphaInfo == kCGImageAlphaPremultipliedFirst || + alphaInfo == kCGImageAlphaLast || + alphaInfo == kCGImageAlphaFirst) { + hasAlpha = YES; + } + // BGRA8888 (premultiplied) or BGRX8888 + // same as UIGraphicsBeginImageContext() and -[UIView drawRect:] + CGBitmapInfo bitmapInfo = kCGBitmapByteOrder32Host; + bitmapInfo |= hasAlpha ? kCGImageAlphaPremultipliedFirst : kCGImageAlphaNoneSkipFirst; + CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB(); + CGContextRef context = CGBitmapContextCreate(NULL, width, height, 8, 0, space, bitmapInfo); + CGColorSpaceRelease(space); + if (!context) { + CFRelease(source); + CFRelease(imageRef); + return nil; + } + CGContextDrawImage(context, CGRectMake(0, 0, width, height), imageRef); // decode + CGImageRef decoded = CGBitmapContextCreateImage(context); + CFRelease(context); + if (!decoded) { + CFRelease(source); + CFRelease(imageRef); + return nil; + } + UIImage *image = [UIImage imageWithCGImage:decoded scale:scale orientation:UIImageOrientationUp]; + CGImageRelease(imageRef); + CGImageRelease(decoded); + if (!image) { + CFRelease(source); + return nil; + } + for (size_t j = 0, max = frames[i] / gcdFrame; j < max; j++) { + [array addObject:image]; + } + } + CFRelease(source); + UIImage *image = [self.class animatedImageWithImages:array duration:totalTime]; + return image; +} + ++ (BOOL)isAnimatedGIFData:(NSData *)data { + if (data.length < 16) return NO; + UInt32 magic = *(UInt32 *)data.bytes; + // http://www.w3.org/Graphics/GIF/spec-gif89a.txt + if ((magic & 0xFFFFFF) != '\0FIG') return NO; + CGImageSourceRef source = CGImageSourceCreateWithData((__bridge CFTypeRef)data, NULL); + if (!source) return NO; + size_t count = CGImageSourceGetCount(source); + CFRelease(source); + return count > 1; +} + ++ (BOOL)isAnimatedGIFFile:(NSString *)path { + if (path.length == 0) return NO; + const char *cpath = path.UTF8String; + FILE *fd = fopen(cpath, "rb"); + if (!fd) return NO; + + BOOL isGIF = NO; + UInt32 magic = 0; + if (fread(&magic, sizeof(UInt32), 1, fd) == 1) { + if ((magic & 0xFFFFFF) == '\0FIG') isGIF = YES; + } + fclose(fd); + return isGIF; +} + ++ (UIImage *)imageWithPDF:(id)dataOrPath { + return [self _yy_imageWithPDF:dataOrPath resize:NO size:CGSizeZero]; +} + ++ (UIImage *)imageWithPDF:(id)dataOrPath size:(CGSize)size { + return [self _yy_imageWithPDF:dataOrPath resize:YES size:size]; +} + ++ (UIImage *)imageWithEmoji:(NSString *)emoji size:(CGFloat)size { + if (emoji.length == 0) return nil; + if (size < 1) return nil; + + CGFloat scale = [UIScreen mainScreen].scale; + CTFontRef font = CTFontCreateWithName(CFSTR("AppleColorEmoji"), size * scale, NULL); + if (!font) return nil; + + NSAttributedString *str = [[NSAttributedString alloc] initWithString:emoji attributes:@{ (__bridge id)kCTFontAttributeName:(__bridge id)font, (__bridge id)kCTForegroundColorAttributeName:(__bridge id)[UIColor whiteColor].CGColor }]; + CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); + CGContextRef ctx = CGBitmapContextCreate(NULL, size * scale, size * scale, 8, 0, colorSpace, kCGBitmapByteOrderDefault | kCGImageAlphaPremultipliedFirst); + CGContextSetInterpolationQuality(ctx, kCGInterpolationHigh); + CTLineRef line = CTLineCreateWithAttributedString((__bridge CFTypeRef)str); + CGRect bounds = CTLineGetBoundsWithOptions(line, kCTLineBoundsUseGlyphPathBounds); + CGContextSetTextPosition(ctx, 0, -bounds.origin.y); + CTLineDraw(line, ctx); + CGImageRef imageRef = CGBitmapContextCreateImage(ctx); + UIImage *image = [[UIImage alloc] initWithCGImage:imageRef scale:scale orientation:UIImageOrientationUp]; + + CFRelease(font); + CGColorSpaceRelease(colorSpace); + CGContextRelease(ctx); + if (line)CFRelease(line); + if (imageRef) CFRelease(imageRef); + + return image; +} + ++ (UIImage *)_yy_imageWithPDF:(id)dataOrPath resize:(BOOL)resize size:(CGSize)size { + CGPDFDocumentRef pdf = NULL; + if ([dataOrPath isKindOfClass:[NSData class]]) { + CGDataProviderRef provider = CGDataProviderCreateWithCFData((__bridge CFDataRef)dataOrPath); + pdf = CGPDFDocumentCreateWithProvider(provider); + CGDataProviderRelease(provider); + } else if ([dataOrPath isKindOfClass:[NSString class]]) { + pdf = CGPDFDocumentCreateWithURL((__bridge CFURLRef)[NSURL fileURLWithPath:dataOrPath]); + } + if (!pdf) return nil; + + CGPDFPageRef page = CGPDFDocumentGetPage(pdf, 1); + if (!page) { + CGPDFDocumentRelease(pdf); + return nil; + } + + CGRect pdfRect = CGPDFPageGetBoxRect(page, kCGPDFCropBox); + CGSize pdfSize = resize ? size : pdfRect.size; + CGFloat scale = [UIScreen mainScreen].scale; + CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); + CGContextRef ctx = CGBitmapContextCreate(NULL, pdfSize.width * scale, pdfSize.height * scale, 8, 0, colorSpace, kCGBitmapByteOrderDefault | kCGImageAlphaPremultipliedFirst); + if (!ctx) { + CGColorSpaceRelease(colorSpace); + CGPDFDocumentRelease(pdf); + return nil; + } + + CGContextScaleCTM(ctx, scale, scale); + CGContextTranslateCTM(ctx, -pdfRect.origin.x, -pdfRect.origin.y); + CGContextDrawPDFPage(ctx, page); + CGPDFDocumentRelease(pdf); + + CGImageRef image = CGBitmapContextCreateImage(ctx); + UIImage *pdfImage = [[UIImage alloc] initWithCGImage:image scale:scale orientation:UIImageOrientationUp]; + CGImageRelease(image); + CGContextRelease(ctx); + CGColorSpaceRelease(colorSpace); + + return pdfImage; +} + ++ (UIImage *)imageWithColor:(UIColor *)color { + return [self imageWithColor:color size:CGSizeMake(1, 1)]; +} + ++ (UIImage *)imageWithColor:(UIColor *)color size:(CGSize)size { + if (!color || size.width <= 0 || size.height <= 0) return nil; + CGRect rect = CGRectMake(0.0f, 0.0f, size.width, size.height); + UIGraphicsBeginImageContextWithOptions(rect.size, NO, 0); + CGContextRef context = UIGraphicsGetCurrentContext(); + CGContextSetFillColorWithColor(context, color.CGColor); + CGContextFillRect(context, rect); + UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + return image; +} + ++ (UIImage *)imageWithSize:(CGSize)size drawBlock:(void (^)(CGContextRef context))drawBlock { + if (!drawBlock) return nil; + UIGraphicsBeginImageContextWithOptions(size, NO, 0); + CGContextRef context = UIGraphicsGetCurrentContext(); + if (!context) return nil; + drawBlock(context); + UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + return image; +} + +- (BOOL)hasAlphaChannel { + if (self.CGImage == NULL) return NO; + CGImageAlphaInfo alpha = CGImageGetAlphaInfo(self.CGImage) & kCGBitmapAlphaInfoMask; + return (alpha == kCGImageAlphaFirst || + alpha == kCGImageAlphaLast || + alpha == kCGImageAlphaPremultipliedFirst || + alpha == kCGImageAlphaPremultipliedLast); +} + +- (void)drawInRect:(CGRect)rect withContentMode:(UIViewContentMode)contentMode clipsToBounds:(BOOL)clips{ + CGRect drawRect = YYCGRectFitWithContentMode(rect, self.size, contentMode); + if (drawRect.size.width == 0 || drawRect.size.height == 0) return; + if (clips) { + CGContextRef context = UIGraphicsGetCurrentContext(); + if (context) { + CGContextSaveGState(context); + CGContextAddRect(context, rect); + CGContextClip(context); + [self drawInRect:drawRect]; + CGContextRestoreGState(context); + } + } else { + [self drawInRect:drawRect]; + } +} + +- (UIImage *)imageByResizeToSize:(CGSize)size { + if (size.width <= 0 || size.height <= 0) return nil; + UIGraphicsBeginImageContextWithOptions(size, NO, self.scale); + [self drawInRect:CGRectMake(0, 0, size.width, size.height)]; + UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + return image; +} + +- (UIImage *)imageByResizeToSize:(CGSize)size contentMode:(UIViewContentMode)contentMode { + if (size.width <= 0 || size.height <= 0) return nil; + UIGraphicsBeginImageContextWithOptions(size, NO, self.scale); + [self drawInRect:CGRectMake(0, 0, size.width, size.height) withContentMode:contentMode clipsToBounds:NO]; + UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + return image; +} + +- (UIImage *)imageByCropToRect:(CGRect)rect { + rect.origin.x *= self.scale; + rect.origin.y *= self.scale; + rect.size.width *= self.scale; + rect.size.height *= self.scale; + if (rect.size.width <= 0 || rect.size.height <= 0) return nil; + CGImageRef imageRef = CGImageCreateWithImageInRect(self.CGImage, rect); + UIImage *image = [UIImage imageWithCGImage:imageRef scale:self.scale orientation:self.imageOrientation]; + CGImageRelease(imageRef); + return image; +} + +- (UIImage *)imageByInsetEdge:(UIEdgeInsets)insets withColor:(UIColor *)color { + CGSize size = self.size; + size.width -= insets.left + insets.right; + size.height -= insets.top + insets.bottom; + if (size.width <= 0 || size.height <= 0) return nil; + CGRect rect = CGRectMake(-insets.left, -insets.top, self.size.width, self.size.height); + UIGraphicsBeginImageContextWithOptions(size, NO, self.scale); + CGContextRef context = UIGraphicsGetCurrentContext(); + if (color) { + CGContextSetFillColorWithColor(context, color.CGColor); + CGMutablePathRef path = CGPathCreateMutable(); + CGPathAddRect(path, NULL, CGRectMake(0, 0, size.width, size.height)); + CGPathAddRect(path, NULL, rect); + CGContextAddPath(context, path); + CGContextEOFillPath(context); + CGPathRelease(path); + } + [self drawInRect:rect]; + UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + return image; +} + +- (UIImage *)imageByRoundCornerRadius:(CGFloat)radius { + return [self imageByRoundCornerRadius:radius borderWidth:0 borderColor:nil]; +} + +- (UIImage *)imageByRoundCornerRadius:(CGFloat)radius + borderWidth:(CGFloat)borderWidth + borderColor:(UIColor *)borderColor { + return [self imageByRoundCornerRadius:radius + corners:UIRectCornerAllCorners + borderWidth:borderWidth + borderColor:borderColor + borderLineJoin:kCGLineJoinMiter]; +} + +- (UIImage *)imageByRoundCornerRadius:(CGFloat)radius + corners:(UIRectCorner)corners + borderWidth:(CGFloat)borderWidth + borderColor:(UIColor *)borderColor + borderLineJoin:(CGLineJoin)borderLineJoin { + + if (corners != UIRectCornerAllCorners) { + UIRectCorner tmp = 0; + if (corners & UIRectCornerTopLeft) tmp |= UIRectCornerBottomLeft; + if (corners & UIRectCornerTopRight) tmp |= UIRectCornerBottomRight; + if (corners & UIRectCornerBottomLeft) tmp |= UIRectCornerTopLeft; + if (corners & UIRectCornerBottomRight) tmp |= UIRectCornerTopRight; + corners = tmp; + } + + UIGraphicsBeginImageContextWithOptions(self.size, NO, self.scale); + CGContextRef context = UIGraphicsGetCurrentContext(); + CGRect rect = CGRectMake(0, 0, self.size.width, self.size.height); + CGContextScaleCTM(context, 1, -1); + CGContextTranslateCTM(context, 0, -rect.size.height); + + CGFloat minSize = MIN(self.size.width, self.size.height); + if (borderWidth < minSize / 2) { + UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectInset(rect, borderWidth, borderWidth) byRoundingCorners:corners cornerRadii:CGSizeMake(radius, borderWidth)]; + [path closePath]; + + CGContextSaveGState(context); + [path addClip]; + CGContextDrawImage(context, rect, self.CGImage); + CGContextRestoreGState(context); + } + + if (borderColor && borderWidth < minSize / 2 && borderWidth > 0) { + CGFloat strokeInset = (floor(borderWidth * self.scale) + 0.5) / self.scale; + CGRect strokeRect = CGRectInset(rect, strokeInset, strokeInset); + CGFloat strokeRadius = radius > self.scale / 2 ? radius - self.scale / 2 : 0; + UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:strokeRect byRoundingCorners:corners cornerRadii:CGSizeMake(strokeRadius, borderWidth)]; + [path closePath]; + + path.lineWidth = borderWidth; + path.lineJoinStyle = borderLineJoin; + [borderColor setStroke]; + [path stroke]; + } + + UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + return image; +} + +- (UIImage *)imageByRotate:(CGFloat)radians fitSize:(BOOL)fitSize { + size_t width = (size_t)CGImageGetWidth(self.CGImage); + size_t height = (size_t)CGImageGetHeight(self.CGImage); + CGRect newRect = CGRectApplyAffineTransform(CGRectMake(0., 0., width, height), + fitSize ? CGAffineTransformMakeRotation(radians) : CGAffineTransformIdentity); + + CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); + CGContextRef context = CGBitmapContextCreate(NULL, + (size_t)newRect.size.width, + (size_t)newRect.size.height, + 8, + (size_t)newRect.size.width * 4, + colorSpace, + kCGBitmapByteOrderDefault | kCGImageAlphaPremultipliedFirst); + CGColorSpaceRelease(colorSpace); + if (!context) return nil; + + CGContextSetShouldAntialias(context, true); + CGContextSetAllowsAntialiasing(context, true); + CGContextSetInterpolationQuality(context, kCGInterpolationHigh); + + CGContextTranslateCTM(context, +(newRect.size.width * 0.5), +(newRect.size.height * 0.5)); + CGContextRotateCTM(context, radians); + + CGContextDrawImage(context, CGRectMake(-(width * 0.5), -(height * 0.5), width, height), self.CGImage); + CGImageRef imgRef = CGBitmapContextCreateImage(context); + UIImage *img = [UIImage imageWithCGImage:imgRef scale:self.scale orientation:self.imageOrientation]; + CGImageRelease(imgRef); + CGContextRelease(context); + return img; +} + +- (UIImage *)_yy_flipHorizontal:(BOOL)horizontal vertical:(BOOL)vertical { + if (!self.CGImage) return nil; + size_t width = (size_t)CGImageGetWidth(self.CGImage); + size_t height = (size_t)CGImageGetHeight(self.CGImage); + size_t bytesPerRow = width * 4; + CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); + CGContextRef context = CGBitmapContextCreate(NULL, width, height, 8, bytesPerRow, colorSpace, kCGBitmapByteOrderDefault | kCGImageAlphaPremultipliedFirst); + CGColorSpaceRelease(colorSpace); + if (!context) return nil; + + CGContextDrawImage(context, CGRectMake(0, 0, width, height), self.CGImage); + UInt8 *data = (UInt8 *)CGBitmapContextGetData(context); + if (!data) { + CGContextRelease(context); + return nil; + } + vImage_Buffer src = { data, height, width, bytesPerRow }; + vImage_Buffer dest = { data, height, width, bytesPerRow }; + if (vertical) { + vImageVerticalReflect_ARGB8888(&src, &dest, kvImageBackgroundColorFill); + } + if (horizontal) { + vImageHorizontalReflect_ARGB8888(&src, &dest, kvImageBackgroundColorFill); + } + CGImageRef imgRef = CGBitmapContextCreateImage(context); + CGContextRelease(context); + UIImage *img = [UIImage imageWithCGImage:imgRef scale:self.scale orientation:self.imageOrientation]; + CGImageRelease(imgRef); + return img; +} + +- (UIImage *)imageByRotateLeft90 { + return [self imageByRotate:DegreesToRadians(90) fitSize:YES]; +} + +- (UIImage *)imageByRotateRight90 { + return [self imageByRotate:DegreesToRadians(-90) fitSize:YES]; +} + +- (UIImage *)imageByRotate180 { + return [self _yy_flipHorizontal:YES vertical:YES]; +} + +- (UIImage *)imageByFlipVertical { + return [self _yy_flipHorizontal:NO vertical:YES]; +} + +- (UIImage *)imageByFlipHorizontal { + return [self _yy_flipHorizontal:YES vertical:NO]; +} + +- (UIImage *)imageByTintColor:(UIColor *)color { + UIGraphicsBeginImageContextWithOptions(self.size, NO, self.scale); + CGRect rect = CGRectMake(0, 0, self.size.width, self.size.height); + [color set]; + UIRectFill(rect); + [self drawAtPoint:CGPointMake(0, 0) blendMode:kCGBlendModeDestinationIn alpha:1]; + UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + return newImage; +} + +- (UIImage *)imageByGrayscale { + return [self imageByBlurRadius:0 tintColor:nil tintMode:0 saturation:0 maskImage:nil]; +} + +- (UIImage *)imageByBlurSoft { + return [self imageByBlurRadius:60 tintColor:[UIColor colorWithWhite:0.84 alpha:0.36] tintMode:kCGBlendModeNormal saturation:1.8 maskImage:nil]; +} + +- (UIImage *)imageByBlurLight { + return [self imageByBlurRadius:60 tintColor:[UIColor colorWithWhite:1.0 alpha:0.3] tintMode:kCGBlendModeNormal saturation:1.8 maskImage:nil]; +} + +- (UIImage *)imageByBlurExtraLight { + return [self imageByBlurRadius:40 tintColor:[UIColor colorWithWhite:0.97 alpha:0.82] tintMode:kCGBlendModeNormal saturation:1.8 maskImage:nil]; +} + +- (UIImage *)imageByBlurDark { + return [self imageByBlurRadius:40 tintColor:[UIColor colorWithWhite:0.11 alpha:0.73] tintMode:kCGBlendModeNormal saturation:1.8 maskImage:nil]; +} + +- (UIImage *)imageByBlurWithTint:(UIColor *)tintColor { + const CGFloat EffectColorAlpha = 0.6; + UIColor *effectColor = tintColor; + size_t componentCount = CGColorGetNumberOfComponents(tintColor.CGColor); + if (componentCount == 2) { + CGFloat b; + if ([tintColor getWhite:&b alpha:NULL]) { + effectColor = [UIColor colorWithWhite:b alpha:EffectColorAlpha]; + } + } else { + CGFloat r, g, b; + if ([tintColor getRed:&r green:&g blue:&b alpha:NULL]) { + effectColor = [UIColor colorWithRed:r green:g blue:b alpha:EffectColorAlpha]; + } + } + return [self imageByBlurRadius:20 tintColor:effectColor tintMode:kCGBlendModeNormal saturation:-1.0 maskImage:nil]; +} + +- (UIImage *)imageByBlurRadius:(CGFloat)blurRadius + tintColor:(UIColor *)tintColor + tintMode:(CGBlendMode)tintBlendMode + saturation:(CGFloat)saturation + maskImage:(UIImage *)maskImage { + if (self.size.width < 1 || self.size.height < 1) { + NSLog(@"UIImage+YYAdd error: invalid size: (%.2f x %.2f). Both dimensions must be >= 1: %@", self.size.width, self.size.height, self); + return nil; + } + if (!self.CGImage) { + NSLog(@"UIImage+YYAdd error: inputImage must be backed by a CGImage: %@", self); + return nil; + } + if (maskImage && !maskImage.CGImage) { + NSLog(@"UIImage+YYAdd error: effectMaskImage must be backed by a CGImage: %@", maskImage); + return nil; + } + + // iOS7 and above can use new func. + BOOL hasNewFunc = (long)vImageBuffer_InitWithCGImage != 0 && (long)vImageCreateCGImageFromBuffer != 0; + BOOL hasBlur = blurRadius > __FLT_EPSILON__; + BOOL hasSaturation = fabs(saturation - 1.0) > __FLT_EPSILON__; + + CGSize size = self.size; + CGRect rect = { CGPointZero, size }; + CGFloat scale = self.scale; + CGImageRef imageRef = self.CGImage; + BOOL opaque = NO; + + if (!hasBlur && !hasSaturation) { + return [self _yy_mergeImageRef:imageRef tintColor:tintColor tintBlendMode:tintBlendMode maskImage:maskImage opaque:opaque]; + } + + vImage_Buffer effect = { 0 }, scratch = { 0 }; + vImage_Buffer *input = NULL, *output = NULL; + + vImage_CGImageFormat format = { + .bitsPerComponent = 8, + .bitsPerPixel = 32, + .colorSpace = NULL, + .bitmapInfo = kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Little, //requests a BGRA buffer. + .version = 0, + .decode = NULL, + .renderingIntent = kCGRenderingIntentDefault + }; + + if (hasNewFunc) { + vImage_Error err; + err = vImageBuffer_InitWithCGImage(&effect, &format, NULL, imageRef, kvImagePrintDiagnosticsToConsole); + if (err != kvImageNoError) { + NSLog(@"UIImage+YYAdd error: vImageBuffer_InitWithCGImage returned error code %zi for inputImage: %@", err, self); + return nil; + } + err = vImageBuffer_Init(&scratch, effect.height, effect.width, format.bitsPerPixel, kvImageNoFlags); + if (err != kvImageNoError) { + NSLog(@"UIImage+YYAdd error: vImageBuffer_Init returned error code %zi for inputImage: %@", err, self); + return nil; + } + } else { + UIGraphicsBeginImageContextWithOptions(size, opaque, scale); + CGContextRef effectCtx = UIGraphicsGetCurrentContext(); + CGContextScaleCTM(effectCtx, 1.0, -1.0); + CGContextTranslateCTM(effectCtx, 0, -size.height); + CGContextDrawImage(effectCtx, rect, imageRef); + effect.data = CGBitmapContextGetData(effectCtx); + effect.width = CGBitmapContextGetWidth(effectCtx); + effect.height = CGBitmapContextGetHeight(effectCtx); + effect.rowBytes = CGBitmapContextGetBytesPerRow(effectCtx); + + UIGraphicsBeginImageContextWithOptions(size, opaque, scale); + CGContextRef scratchCtx = UIGraphicsGetCurrentContext(); + scratch.data = CGBitmapContextGetData(scratchCtx); + scratch.width = CGBitmapContextGetWidth(scratchCtx); + scratch.height = CGBitmapContextGetHeight(scratchCtx); + scratch.rowBytes = CGBitmapContextGetBytesPerRow(scratchCtx); + } + + input = &effect; + output = &scratch; + + if (hasBlur) { + // A description of how to compute the box kernel width from the Gaussian + // radius (aka standard deviation) appears in the SVG spec: + // http://www.w3.org/TR/SVG/filters.html#feGaussianBlurElement + // + // For larger values of 's' (s >= 2.0), an approximation can be used: Three + // successive box-blurs build a piece-wise quadratic convolution kernel, which + // approximates the Gaussian kernel to within roughly 3%. + // + // let d = floor(s * 3*sqrt(2*pi)/4 + 0.5) + // + // ... if d is odd, use three box-blurs of size 'd', centered on the output pixel. + // + CGFloat inputRadius = blurRadius * scale; + if (inputRadius - 2.0 < __FLT_EPSILON__) inputRadius = 2.0; + uint32_t radius = floor((inputRadius * 3.0 * sqrt(2 * M_PI) / 4 + 0.5) / 2); + radius |= 1; // force radius to be odd so that the three box-blur methodology works. + int iterations; + if (blurRadius * scale < 0.5) iterations = 1; + else if (blurRadius * scale < 1.5) iterations = 2; + else iterations = 3; + NSInteger tempSize = vImageBoxConvolve_ARGB8888(input, output, NULL, 0, 0, radius, radius, NULL, kvImageGetTempBufferSize | kvImageEdgeExtend); + void *temp = malloc(tempSize); + for (int i = 0; i < iterations; i++) { + vImageBoxConvolve_ARGB8888(input, output, temp, 0, 0, radius, radius, NULL, kvImageEdgeExtend); + YY_SWAP(input, output); + } + free(temp); + } + + + if (hasSaturation) { + // These values appear in the W3C Filter Effects spec: + // https://dvcs.w3.org/hg/FXTF/raw-file/default/filters/Publish.html#grayscaleEquivalent + CGFloat s = saturation; + CGFloat matrixFloat[] = { + 0.0722 + 0.9278 * s, 0.0722 - 0.0722 * s, 0.0722 - 0.0722 * s, 0, + 0.7152 - 0.7152 * s, 0.7152 + 0.2848 * s, 0.7152 - 0.7152 * s, 0, + 0.2126 - 0.2126 * s, 0.2126 - 0.2126 * s, 0.2126 + 0.7873 * s, 0, + 0, 0, 0, 1, + }; + const int32_t divisor = 256; + NSUInteger matrixSize = sizeof(matrixFloat) / sizeof(matrixFloat[0]); + int16_t matrix[matrixSize]; + for (NSUInteger i = 0; i < matrixSize; ++i) { + matrix[i] = (int16_t)roundf(matrixFloat[i] * divisor); + } + vImageMatrixMultiply_ARGB8888(input, output, matrix, divisor, NULL, NULL, kvImageNoFlags); + YY_SWAP(input, output); + } + + UIImage *outputImage = nil; + if (hasNewFunc) { + CGImageRef effectCGImage = NULL; + effectCGImage = vImageCreateCGImageFromBuffer(input, &format, &_yy_cleanupBuffer, NULL, kvImageNoAllocate, NULL); + if (effectCGImage == NULL) { + effectCGImage = vImageCreateCGImageFromBuffer(input, &format, NULL, NULL, kvImageNoFlags, NULL); + free(input->data); + } + free(output->data); + outputImage = [self _yy_mergeImageRef:effectCGImage tintColor:tintColor tintBlendMode:tintBlendMode maskImage:maskImage opaque:opaque]; + CGImageRelease(effectCGImage); + } else { + CGImageRef effectCGImage; + UIImage *effectImage; + if (input != &effect) effectImage = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + if (input == &effect) effectImage = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + effectCGImage = effectImage.CGImage; + outputImage = [self _yy_mergeImageRef:effectCGImage tintColor:tintColor tintBlendMode:tintBlendMode maskImage:maskImage opaque:opaque]; + } + return outputImage; +} + +// Helper function to handle deferred cleanup of a buffer. +static void _yy_cleanupBuffer(void *userData, void *buf_data) { + free(buf_data); +} + +// Helper function to add tint and mask. +- (UIImage *)_yy_mergeImageRef:(CGImageRef)effectCGImage + tintColor:(UIColor *)tintColor + tintBlendMode:(CGBlendMode)tintBlendMode + maskImage:(UIImage *)maskImage + opaque:(BOOL)opaque { + BOOL hasTint = tintColor != nil && CGColorGetAlpha(tintColor.CGColor) > __FLT_EPSILON__; + BOOL hasMask = maskImage != nil; + CGSize size = self.size; + CGRect rect = { CGPointZero, size }; + CGFloat scale = self.scale; + + if (!hasTint && !hasMask) { + return [UIImage imageWithCGImage:effectCGImage]; + } + + UIGraphicsBeginImageContextWithOptions(size, opaque, scale); + CGContextRef context = UIGraphicsGetCurrentContext(); + CGContextScaleCTM(context, 1.0, -1.0); + CGContextTranslateCTM(context, 0, -size.height); + if (hasMask) { + CGContextDrawImage(context, rect, self.CGImage); + CGContextSaveGState(context); + CGContextClipToMask(context, rect, maskImage.CGImage); + } + CGContextDrawImage(context, rect, effectCGImage); + if (hasTint) { + CGContextSaveGState(context); + CGContextSetBlendMode(context, tintBlendMode); + CGContextSetFillColorWithColor(context, tintColor.CGColor); + CGContextFillRect(context, rect); + CGContextRestoreGState(context); + } + if (hasMask) { + CGContextRestoreGState(context); + } + UIImage *outputImage = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + return outputImage; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIScreen+YYAdd.h b/Example/Pods/YYCategories/YYCategories/UIKit/UIScreen+YYAdd.h new file mode 100755 index 0000000..43940bf --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIScreen+YYAdd.h @@ -0,0 +1,63 @@ +// +// UIScreen+YYAdd.h +// YYCategories +// +// Created by ibireme on 13/4/5. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides extensions for `UIScreen`. + */ +@interface UIScreen (YYAdd) + +/** + Main screen's scale + + @return screen's scale + */ ++ (CGFloat)screenScale; + +/** + Returns the bounds of the screen for the current device orientation. + + @return A rect indicating the bounds of the screen. + @see boundsForOrientation: + */ +- (CGRect)currentBounds NS_EXTENSION_UNAVAILABLE_IOS(""); + +/** + Returns the bounds of the screen for a given device orientation. + `UIScreen`'s `bounds` method always returns the bounds of the + screen of it in the portrait orientation. + + @param orientation The orientation to get the screen's bounds. + @return A rect indicating the bounds of the screen. + @see currentBounds + */ +- (CGRect)boundsForOrientation:(UIInterfaceOrientation)orientation; + +/** + The screen's real size in pixel (width is always smaller than height). + This value may not be very accurate in an unknown device, or simulator. + e.g. (768,1024) + */ +@property (nonatomic, readonly) CGSize sizeInPixel; + +/** + The screen's PPI. + This value may not be very accurate in an unknown device, or simulator. + Default value is 96. + */ +@property (nonatomic, readonly) CGFloat pixelsPerInch; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIScreen+YYAdd.m b/Example/Pods/YYCategories/YYCategories/UIKit/UIScreen+YYAdd.m new file mode 100755 index 0000000..a0b0255 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIScreen+YYAdd.m @@ -0,0 +1,176 @@ +// +// UIScreen+YYAdd.m +// YYCategories +// +// Created by ibireme on 13/4/5. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "UIScreen+YYAdd.h" +#import "YYCategoriesMacro.h" +#import "UIDevice+YYAdd.h" + +YYSYNTH_DUMMY_CLASS(UIScreen_YYAdd); + + +@implementation UIScreen (YYAdd) + ++ (CGFloat)screenScale { + static CGFloat screenScale = 0.0; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + if ([NSThread isMainThread]) { + screenScale = [[UIScreen mainScreen] scale]; + } else { + dispatch_sync(dispatch_get_main_queue(), ^{ + screenScale = [[UIScreen mainScreen] scale]; + }); + } + }); + return screenScale; +} + +#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED +- (CGRect)currentBounds { + return [self boundsForOrientation:[[UIApplication sharedApplication] statusBarOrientation]]; +} +#endif + +- (CGRect)boundsForOrientation:(UIInterfaceOrientation)orientation { + CGRect bounds = [self bounds]; + + if (UIInterfaceOrientationIsLandscape(orientation)) { + CGFloat buffer = bounds.size.width; + bounds.size.width = bounds.size.height; + bounds.size.height = buffer; + } + return bounds; +} + +- (CGSize)sizeInPixel { + CGSize size = CGSizeZero; + + if ([[UIScreen mainScreen] isEqual:self]) { + NSString *model = [UIDevice currentDevice].machineModel; + + if ([model hasPrefix:@"iPhone"]) { + if ([model isEqualToString:@"iPhone7,1"]) return CGSizeMake(1080, 1920); + if ([model isEqualToString:@"iPhone8,2"]) return CGSizeMake(1080, 1920); + if ([model isEqualToString:@"iPhone9,2"]) return CGSizeMake(1080, 1920); + if ([model isEqualToString:@"iPhone9,4"]) return CGSizeMake(1080, 1920); + } + if ([model hasPrefix:@"iPad"]) { + if ([model hasPrefix:@"iPad6,7"]) size = CGSizeMake(2048, 2732); + if ([model hasPrefix:@"iPad6,8"]) size = CGSizeMake(2048, 2732); + } + } + + if (CGSizeEqualToSize(size, CGSizeZero)) { + if ([self respondsToSelector:@selector(nativeBounds)]) { + size = self.nativeBounds.size; + } else { + size = self.bounds.size; + size.width *= self.scale; + size.height *= self.scale; + } + if (size.height < size.width) { + CGFloat tmp = size.height; + size.height = size.width; + size.width = tmp; + } + } + return size; +} + +- (CGFloat)pixelsPerInch { + if (![[UIScreen mainScreen] isEqual:self]) { + return 326; + } + + static CGFloat ppi = 0; + static dispatch_once_t one; + static NSString *name; + dispatch_once(&one, ^{ + NSDictionary *dic = @{ + @"Watch1,1" : @326, //@"Apple Watch 38mm", + @"Watch1,2" : @326, //@"Apple Watch 43mm", + @"Watch2,3" : @326, //@"Apple Watch Series 2 38mm", + @"Watch2,4" : @326, //@"Apple Watch Series 2 42mm", + @"Watch2,6" : @326, //@"Apple Watch Series 1 38mm", + @"Watch1,7" : @326, //@"Apple Watch Series 1 42mm", + + @"iPod1,1" : @163, //@"iPod touch 1", + @"iPod2,1" : @163, //@"iPod touch 2", + @"iPod3,1" : @163, //@"iPod touch 3", + @"iPod4,1" : @326, //@"iPod touch 4", + @"iPod5,1" : @326, //@"iPod touch 5", + @"iPod7,1" : @326, //@"iPod touch 6", + + @"iPhone1,1" : @163, //@"iPhone 1G", + @"iPhone1,2" : @163, //@"iPhone 3G", + @"iPhone2,1" : @163, //@"iPhone 3GS", + @"iPhone3,1" : @326, //@"iPhone 4 (GSM)", + @"iPhone3,2" : @326, //@"iPhone 4", + @"iPhone3,3" : @326, //@"iPhone 4 (CDMA)", + @"iPhone4,1" : @326, //@"iPhone 4S", + @"iPhone5,1" : @326, //@"iPhone 5", + @"iPhone5,2" : @326, //@"iPhone 5", + @"iPhone5,3" : @326, //@"iPhone 5c", + @"iPhone5,4" : @326, //@"iPhone 5c", + @"iPhone6,1" : @326, //@"iPhone 5s", + @"iPhone6,2" : @326, //@"iPhone 5s", + @"iPhone7,1" : @401, //@"iPhone 6 Plus", + @"iPhone7,2" : @326, //@"iPhone 6", + @"iPhone8,1" : @326, //@"iPhone 6s", + @"iPhone8,2" : @401, //@"iPhone 6s Plus", + @"iPhone8,4" : @326, //@"iPhone SE", + @"iPhone9,1" : @326, //@"iPhone 7", + @"iPhone9,2" : @401, //@"iPhone 7 Plus", + @"iPhone9,3" : @326, //@"iPhone 7", + @"iPhone9,4" : @401, //@"iPhone 7 Plus", + + @"iPad1,1" : @132, //@"iPad 1", + @"iPad2,1" : @132, //@"iPad 2 (WiFi)", + @"iPad2,2" : @132, //@"iPad 2 (GSM)", + @"iPad2,3" : @132, //@"iPad 2 (CDMA)", + @"iPad2,4" : @132, //@"iPad 2", + @"iPad2,5" : @264, //@"iPad mini 1", + @"iPad2,6" : @264, //@"iPad mini 1", + @"iPad2,7" : @264, //@"iPad mini 1", + @"iPad3,1" : @324, //@"iPad 3 (WiFi)", + @"iPad3,2" : @324, //@"iPad 3 (4G)", + @"iPad3,3" : @324, //@"iPad 3 (4G)", + @"iPad3,4" : @324, //@"iPad 4", + @"iPad3,5" : @324, //@"iPad 4", + @"iPad3,6" : @324, //@"iPad 4", + @"iPad4,1" : @324, //@"iPad Air", + @"iPad4,2" : @324, //@"iPad Air", + @"iPad4,3" : @324, //@"iPad Air", + @"iPad4,4" : @264, //@"iPad mini 2", + @"iPad4,5" : @264, //@"iPad mini 2", + @"iPad4,6" : @264, //@"iPad mini 2", + @"iPad4,7" : @264, //@"iPad mini 3", + @"iPad4,8" : @264, //@"iPad mini 3", + @"iPad4,9" : @264, //@"iPad mini 3", + @"iPad5,1" : @264, //@"iPad mini 4", + @"iPad5,2" : @264, //@"iPad mini 4", + @"iPad5,3" : @324, //@"iPad Air 2", + @"iPad5,4" : @324, //@"iPad Air 2", + @"iPad6,3" : @324, //@"iPad Pro (9.7 inch)", + @"iPad6,4" : @324, //@"iPad Pro (9.7 inch)", + @"iPad6,7" : @264, //@"iPad Pro (12.9 inch)", + @"iPad6,8" : @264, //@"iPad Pro (12.9 inch)", + }; + NSString *model = [UIDevice currentDevice].machineModel; + if (model) { + ppi = dic[name].doubleValue; + } + if (ppi == 0) ppi = 326; + }); + return ppi; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIScrollView+YYAdd.h b/Example/Pods/YYCategories/YYCategories/UIKit/UIScrollView+YYAdd.h new file mode 100755 index 0000000..b62f99d --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIScrollView+YYAdd.h @@ -0,0 +1,71 @@ +// +// UIScrollView+YYAdd.h +// YYCategories +// +// Created by ibireme on 13/4/5. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides extensions for `UIScrollView`. + */ +@interface UIScrollView (YYAdd) + +/** + Scroll content to top with animation. + */ +- (void)scrollToTop; + +/** + Scroll content to bottom with animation. + */ +- (void)scrollToBottom; + +/** + Scroll content to left with animation. + */ +- (void)scrollToLeft; + +/** + Scroll content to right with animation. + */ +- (void)scrollToRight; + +/** + Scroll content to top. + + @param animated Use animation. + */ +- (void)scrollToTopAnimated:(BOOL)animated; + +/** + Scroll content to bottom. + + @param animated Use animation. + */ +- (void)scrollToBottomAnimated:(BOOL)animated; + +/** + Scroll content to left. + + @param animated Use animation. + */ +- (void)scrollToLeftAnimated:(BOOL)animated; + +/** + Scroll content to right. + + @param animated Use animation. + */ +- (void)scrollToRightAnimated:(BOOL)animated; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIScrollView+YYAdd.m b/Example/Pods/YYCategories/YYCategories/UIKit/UIScrollView+YYAdd.m new file mode 100755 index 0000000..766105a --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIScrollView+YYAdd.m @@ -0,0 +1,60 @@ +// +// UIScrollView+YYAdd.m +// YYCategories +// +// Created by ibireme on 13/4/5. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "UIScrollView+YYAdd.h" +#import "YYCategoriesMacro.h" + +YYSYNTH_DUMMY_CLASS(UIScrollView_YYAdd) + + +@implementation UIScrollView (YYAdd) + +- (void)scrollToTop { + [self scrollToTopAnimated:YES]; +} + +- (void)scrollToBottom { + [self scrollToBottomAnimated:YES]; +} + +- (void)scrollToLeft { + [self scrollToLeftAnimated:YES]; +} + +- (void)scrollToRight { + [self scrollToRightAnimated:YES]; +} + +- (void)scrollToTopAnimated:(BOOL)animated { + CGPoint off = self.contentOffset; + off.y = 0 - self.contentInset.top; + [self setContentOffset:off animated:animated]; +} + +- (void)scrollToBottomAnimated:(BOOL)animated { + CGPoint off = self.contentOffset; + off.y = self.contentSize.height - self.bounds.size.height + self.contentInset.bottom; + [self setContentOffset:off animated:animated]; +} + +- (void)scrollToLeftAnimated:(BOOL)animated { + CGPoint off = self.contentOffset; + off.x = 0 - self.contentInset.left; + [self setContentOffset:off animated:animated]; +} + +- (void)scrollToRightAnimated:(BOOL)animated { + CGPoint off = self.contentOffset; + off.x = self.contentSize.width - self.bounds.size.width + self.contentInset.right; + [self setContentOffset:off animated:animated]; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UITableView+YYAdd.h b/Example/Pods/YYCategories/YYCategories/UIKit/UITableView+YYAdd.h new file mode 100755 index 0000000..5dc38b2 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UITableView+YYAdd.h @@ -0,0 +1,188 @@ +// +// UITableView+YYAdd.h +// YYCategories +// +// Created by ibireme on 14/5/12. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides extensions for `UITableView`. + */ +@interface UITableView (YYAdd) + +/** + Perform a series of method calls that insert, delete, or select rows and + sections of the receiver. + + @discussion Perform a series of method calls that insert, delete, or select + rows and sections of the table. Call this method if you want + subsequent insertions, deletion, and selection operations (for + example, cellForRowAtIndexPath: and indexPathsForVisibleRows) + to be animated simultaneously. + + @discussion If you do not make the insertion, deletion, and selection calls + inside this block, table attributes such as row count might become + invalid. You should not call reloadData within the block; if you + call this method within the group, you will need to perform any + animations yourself. + + @param block A block combine a series of method calls. + */ +- (void)updateWithBlock:(void (^)(UITableView *tableView))block; + +/** + Scrolls the receiver until a row or section location on the screen. + + @discussion Invoking this method does not cause the delegate to + receive a scrollViewDidScroll: message, as is normal for + programmatically-invoked user interface operations. + + @param row Row index in section. NSNotFound is a valid value for + scrolling to a section with zero rows. + + @param section Section index in table. + + @param scrollPosition A constant that identifies a relative position in the + receiving table view (top, middle, bottom) for row when + scrolling concludes. + + @param animated YES if you want to animate the change in position, + NO if it should be immediate. + */ +- (void)scrollToRow:(NSUInteger)row inSection:(NSUInteger)section atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated; + +/** + Inserts a row in the receiver with an option to animate the insertion. + + @param row Row index in section. + + @param section Section index in table. + + @param animation A constant that either specifies the kind of animation to + perform when inserting the cell or requests no animation. + */ +- (void)insertRow:(NSUInteger)row inSection:(NSUInteger)section withRowAnimation:(UITableViewRowAnimation)animation; + +/** + Reloads the specified row using a certain animation effect. + + @param row Row index in section. + + @param section Section index in table. + + @param animation A constant that indicates how the reloading is to be animated, + for example, fade out or slide out from the bottom. The animation + constant affects the direction in which both the old and the + new rows slide. For example, if the animation constant is + UITableViewRowAnimationRight, the old rows slide out to the + right and the new cells slide in from the right. + */ +- (void)reloadRow:(NSUInteger)row inSection:(NSUInteger)section withRowAnimation:(UITableViewRowAnimation)animation; + +/** + Deletes the row with an option to animate the deletion. + + @param row Row index in section. + + @param section Section index in table. + + @param animation A constant that indicates how the deletion is to be animated, + for example, fade out or slide out from the bottom. + */ +- (void)deleteRow:(NSUInteger)row inSection:(NSUInteger)section withRowAnimation:(UITableViewRowAnimation)animation; + +/** + Inserts the row in the receiver at the locations identified by the indexPath, + with an option to animate the insertion. + + @param indexPath An NSIndexPath object representing a row index and section + index that together identify a row in the table view. + + @param animation A constant that either specifies the kind of animation to + perform when inserting the cell or requests no animation. + */ +- (void)insertRowAtIndexPath:(NSIndexPath *)indexPath withRowAnimation:(UITableViewRowAnimation)animation; + +/** + Reloads the specified row using a certain animation effect. + + @param indexPath An NSIndexPath object representing a row index and section + index that together identify a row in the table view. + + @param animation A constant that indicates how the reloading is to be animated, + for example, fade out or slide out from the bottom. The animation + constant affects the direction in which both the old and the + new rows slide. For example, if the animation constant is + UITableViewRowAnimationRight, the old rows slide out to the + right and the new cells slide in from the right. + */ +- (void)reloadRowAtIndexPath:(NSIndexPath *)indexPath withRowAnimation:(UITableViewRowAnimation)animation; + +/** + Deletes the row specified by an array of index paths, + with an option to animate the deletion. + + @param indexPath An NSIndexPath object representing a row index and section + index that together identify a row in the table view. + + @param animation A constant that indicates how the deletion is to be animated, + for example, fade out or slide out from the bottom. + */ +- (void)deleteRowAtIndexPath:(NSIndexPath *)indexPath withRowAnimation:(UITableViewRowAnimation)animation; + +/** + Inserts a section in the receiver, with an option to animate the insertion. + + @param section An index specifies the section to insert in the receiving + table view. If a section already exists at the specified + index location, it is moved down one index location. + + @param animation A constant that indicates how the insertion is to be animated, + for example, fade in or slide in from the left. + */ +- (void)insertSection:(NSUInteger)section withRowAnimation:(UITableViewRowAnimation)animation; + +/** + Deletes a section in the receiver, with an option to animate the deletion. + + @param section An index that specifies the sections to delete from the + receiving table view. If a section exists after the specified + index location, it is moved up one index location. + + @param animation A constant that either specifies the kind of animation to + perform when deleting the section or requests no animation. + */ +- (void)deleteSection:(NSUInteger)section withRowAnimation:(UITableViewRowAnimation)animation; + +/** + Reloads the specified section using a given animation effect. + + @param section An index identifying the section to reload. + + @param animation A constant that indicates how the reloading is to be animated, + for example, fade out or slide out from the bottom. The + animation constant affects the direction in which both the + old and the new section rows slide. For example, if the + animation constant is UITableViewRowAnimationRight, the old + rows slide out to the right and the new cells slide in from the right. + */ +- (void)reloadSection:(NSUInteger)section withRowAnimation:(UITableViewRowAnimation)animation; + +/** + Unselect all rows in tableView. + + @param animated YES to animate the transition, NO to make the transition immediate. + */ +- (void)clearSelectedRowsAnimated:(BOOL)animated; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UITableView+YYAdd.m b/Example/Pods/YYCategories/YYCategories/UIKit/UITableView+YYAdd.m new file mode 100755 index 0000000..9bd400e --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UITableView+YYAdd.m @@ -0,0 +1,80 @@ +// +// UITableView+YYAdd.m +// YYCategories +// +// Created by ibireme on 14/5/12. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "UITableView+YYAdd.h" +#import "YYCategoriesMacro.h" + +YYSYNTH_DUMMY_CLASS(UITableView_YYAdd) + + +@implementation UITableView (YYAdd) + +- (void)updateWithBlock:(void (^)(UITableView *tableView))block { + [self beginUpdates]; + block(self); + [self endUpdates]; +} + +- (void)scrollToRow:(NSUInteger)row inSection:(NSUInteger)section atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated { + NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:section]; + [self scrollToRowAtIndexPath:indexPath atScrollPosition:scrollPosition animated:animated]; +} + +- (void)insertRowAtIndexPath:(NSIndexPath *)indexPath withRowAnimation:(UITableViewRowAnimation)animation { + [self insertRowsAtIndexPaths:@[indexPath] withRowAnimation:animation]; +} + +- (void)insertRow:(NSUInteger)row inSection:(NSUInteger)section withRowAnimation:(UITableViewRowAnimation)animation { + NSIndexPath *toInsert = [NSIndexPath indexPathForRow:row inSection:section]; + [self insertRowAtIndexPath:toInsert withRowAnimation:animation]; +} + +- (void)reloadRowAtIndexPath:(NSIndexPath *)indexPath withRowAnimation:(UITableViewRowAnimation)animation { + [self reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:animation]; +} + +- (void)reloadRow:(NSUInteger)row inSection:(NSUInteger)section withRowAnimation:(UITableViewRowAnimation)animation { + NSIndexPath *toReload = [NSIndexPath indexPathForRow:row inSection:section]; + [self reloadRowAtIndexPath:toReload withRowAnimation:animation]; +} + +- (void)deleteRowAtIndexPath:(NSIndexPath *)indexPath withRowAnimation:(UITableViewRowAnimation)animation { + [self deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:animation]; +} + +- (void)deleteRow:(NSUInteger)row inSection:(NSUInteger)section withRowAnimation:(UITableViewRowAnimation)animation { + NSIndexPath *toDelete = [NSIndexPath indexPathForRow:row inSection:section]; + [self deleteRowAtIndexPath:toDelete withRowAnimation:animation]; +} + +- (void)insertSection:(NSUInteger)section withRowAnimation:(UITableViewRowAnimation)animation { + NSIndexSet *sections = [NSIndexSet indexSetWithIndex:section]; + [self insertSections:sections withRowAnimation:animation]; +} + +- (void)deleteSection:(NSUInteger)section withRowAnimation:(UITableViewRowAnimation)animation { + NSIndexSet *sections = [NSIndexSet indexSetWithIndex:section]; + [self deleteSections:sections withRowAnimation:animation]; +} + +- (void)reloadSection:(NSUInteger)section withRowAnimation:(UITableViewRowAnimation)animation { + NSIndexSet *indexSet = [NSIndexSet indexSetWithIndex:section]; + [self reloadSections:indexSet withRowAnimation:animation]; +} + +- (void)clearSelectedRowsAnimated:(BOOL)animated { + NSArray *indexs = [self indexPathsForSelectedRows]; + [indexs enumerateObjectsUsingBlock:^(NSIndexPath* path, NSUInteger idx, BOOL *stop) { + [self deselectRowAtIndexPath:path animated:animated]; + }]; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UITextField+YYAdd.h b/Example/Pods/YYCategories/YYCategories/UIKit/UITextField+YYAdd.h new file mode 100755 index 0000000..adf3f8f --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UITextField+YYAdd.h @@ -0,0 +1,35 @@ +// +// UITextField+YYAdd.h +// YYCategories +// +// Created by ibireme on 14/5/12. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides extensions for `UITextField`. + */ +@interface UITextField (YYAdd) + +/** + Set all text selected. + */ +- (void)selectAllText; + +/** + Set text in range selected. + + @param range The range of selected text in a document. + */ +- (void)setSelectedRange:(NSRange)range; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UITextField+YYAdd.m b/Example/Pods/YYCategories/YYCategories/UIKit/UITextField+YYAdd.m new file mode 100755 index 0000000..0288c82 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UITextField+YYAdd.m @@ -0,0 +1,33 @@ +// +// UITextField+YYAdd.m +// YYCategories +// +// Created by ibireme on 14/5/12. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "UITextField+YYAdd.h" +#import "YYCategoriesMacro.h" + +YYSYNTH_DUMMY_CLASS(UITextField_YYAdd) + + +@implementation UITextField (YYAdd) + +- (void)selectAllText { + UITextRange *range = [self textRangeFromPosition:self.beginningOfDocument toPosition:self.endOfDocument]; + [self setSelectedTextRange:range]; +} + +- (void)setSelectedRange:(NSRange)range { + UITextPosition *beginning = self.beginningOfDocument; + UITextPosition *startPosition = [self positionFromPosition:beginning offset:range.location]; + UITextPosition *endPosition = [self positionFromPosition:beginning offset:NSMaxRange(range)]; + UITextRange *selectionRange = [self textRangeFromPosition:startPosition toPosition:endPosition]; + [self setSelectedTextRange:selectionRange]; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIView+YYAdd.h b/Example/Pods/YYCategories/YYCategories/UIKit/UIView+YYAdd.h new file mode 100755 index 0000000..844b35b --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIView+YYAdd.h @@ -0,0 +1,117 @@ +// +// UIView+YYAdd.h +// YYCategories +// +// Created by ibireme on 13/4/3. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides extensions for `UIView`. + */ +@interface UIView (YYAdd) + +/** + Create a snapshot image of the complete view hierarchy. + */ +- (nullable UIImage *)snapshotImage; + +/** + Create a snapshot image of the complete view hierarchy. + @discussion It's faster than "snapshotImage", but may cause screen updates. + See -[UIView drawViewHierarchyInRect:afterScreenUpdates:] for more information. + */ +- (nullable UIImage *)snapshotImageAfterScreenUpdates:(BOOL)afterUpdates; + +/** + Create a snapshot PDF of the complete view hierarchy. + */ +- (nullable NSData *)snapshotPDF; + +/** + Shortcut to set the view.layer's shadow + + @param color Shadow Color + @param offset Shadow offset + @param radius Shadow radius + */ +- (void)setLayerShadow:(nullable UIColor*)color offset:(CGSize)offset radius:(CGFloat)radius; + +/** + Remove all subviews. + + @warning Never call this method inside your view's drawRect: method. + */ +- (void)removeAllSubviews; + +/** + Returns the view's view controller (may be nil). + */ +@property (nullable, nonatomic, readonly) UIViewController *viewController; + +/** + Returns the visible alpha on screen, taking into account superview and window. + */ +@property (nonatomic, readonly) CGFloat visibleAlpha; + +/** + Converts a point from the receiver's coordinate system to that of the specified view or window. + + @param point A point specified in the local coordinate system (bounds) of the receiver. + @param view The view or window into whose coordinate system point is to be converted. + If view is nil, this method instead converts to window base coordinates. + @return The point converted to the coordinate system of view. + */ +- (CGPoint)convertPoint:(CGPoint)point toViewOrWindow:(nullable UIView *)view; + +/** + Converts a point from the coordinate system of a given view or window to that of the receiver. + + @param point A point specified in the local coordinate system (bounds) of view. + @param view The view or window with point in its coordinate system. + If view is nil, this method instead converts from window base coordinates. + @return The point converted to the local coordinate system (bounds) of the receiver. + */ +- (CGPoint)convertPoint:(CGPoint)point fromViewOrWindow:(nullable UIView *)view; + +/** + Converts a rectangle from the receiver's coordinate system to that of another view or window. + + @param rect A rectangle specified in the local coordinate system (bounds) of the receiver. + @param view The view or window that is the target of the conversion operation. If view is nil, this method instead converts to window base coordinates. + @return The converted rectangle. + */ +- (CGRect)convertRect:(CGRect)rect toViewOrWindow:(nullable UIView *)view; + +/** + Converts a rectangle from the coordinate system of another view or window to that of the receiver. + + @param rect A rectangle specified in the local coordinate system (bounds) of view. + @param view The view or window with rect in its coordinate system. + If view is nil, this method instead converts from window base coordinates. + @return The converted rectangle. + */ +- (CGRect)convertRect:(CGRect)rect fromViewOrWindow:(nullable UIView *)view; + + +@property (nonatomic) CGFloat left; ///< Shortcut for frame.origin.x. +@property (nonatomic) CGFloat top; ///< Shortcut for frame.origin.y +@property (nonatomic) CGFloat right; ///< Shortcut for frame.origin.x + frame.size.width +@property (nonatomic) CGFloat bottom; ///< Shortcut for frame.origin.y + frame.size.height +@property (nonatomic) CGFloat width; ///< Shortcut for frame.size.width. +@property (nonatomic) CGFloat height; ///< Shortcut for frame.size.height. +@property (nonatomic) CGFloat centerX; ///< Shortcut for center.x +@property (nonatomic) CGFloat centerY; ///< Shortcut for center.y +@property (nonatomic) CGPoint origin; ///< Shortcut for frame.origin. +@property (nonatomic) CGSize size; ///< Shortcut for frame.size. + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCategories/YYCategories/UIKit/UIView+YYAdd.m b/Example/Pods/YYCategories/YYCategories/UIKit/UIView+YYAdd.m new file mode 100755 index 0000000..90c877e --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/UIKit/UIView+YYAdd.m @@ -0,0 +1,272 @@ +// +// UIView+YYAdd.m +// YYCategories +// +// Created by ibireme on 13/4/3. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "UIView+YYAdd.h" +#import +#import "YYCategoriesMacro.h" + +YYSYNTH_DUMMY_CLASS(UIView_YYAdd) + + +@implementation UIView (YYAdd) + +- (UIImage *)snapshotImage { + UIGraphicsBeginImageContextWithOptions(self.bounds.size, self.opaque, 0); + [self.layer renderInContext:UIGraphicsGetCurrentContext()]; + UIImage *snap = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + return snap; +} + +- (UIImage *)snapshotImageAfterScreenUpdates:(BOOL)afterUpdates { + if (![self respondsToSelector:@selector(drawViewHierarchyInRect:afterScreenUpdates:)]) { + return [self snapshotImage]; + } + UIGraphicsBeginImageContextWithOptions(self.bounds.size, self.opaque, 0); + [self drawViewHierarchyInRect:self.bounds afterScreenUpdates:afterUpdates]; + UIImage *snap = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + return snap; +} + +- (NSData *)snapshotPDF { + CGRect bounds = self.bounds; + NSMutableData* data = [NSMutableData data]; + CGDataConsumerRef consumer = CGDataConsumerCreateWithCFData((__bridge CFMutableDataRef)data); + CGContextRef context = CGPDFContextCreate(consumer, &bounds, NULL); + CGDataConsumerRelease(consumer); + if (!context) return nil; + CGPDFContextBeginPage(context, NULL); + CGContextTranslateCTM(context, 0, bounds.size.height); + CGContextScaleCTM(context, 1.0, -1.0); + [self.layer renderInContext:context]; + CGPDFContextEndPage(context); + CGPDFContextClose(context); + CGContextRelease(context); + return data; +} + +- (void)setLayerShadow:(UIColor*)color offset:(CGSize)offset radius:(CGFloat)radius { + self.layer.shadowColor = color.CGColor; + self.layer.shadowOffset = offset; + self.layer.shadowRadius = radius; + self.layer.shadowOpacity = 1; + self.layer.shouldRasterize = YES; + self.layer.rasterizationScale = [UIScreen mainScreen].scale; +} + +- (void)removeAllSubviews { + //[self.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)]; + while (self.subviews.count) { + [self.subviews.lastObject removeFromSuperview]; + } +} + + +- (UIViewController *)viewController { + for (UIView *view = self; view; view = view.superview) { + UIResponder *nextResponder = [view nextResponder]; + if ([nextResponder isKindOfClass:[UIViewController class]]) { + return (UIViewController *)nextResponder; + } + } + return nil; +} + +- (CGFloat)visibleAlpha { + if ([self isKindOfClass:[UIWindow class]]) { + if (self.hidden) return 0; + return self.alpha; + } + if (!self.window) return 0; + CGFloat alpha = 1; + UIView *v = self; + while (v) { + if (v.hidden) { + alpha = 0; + break; + } + alpha *= v.alpha; + v = v.superview; + } + return alpha; +} + +- (CGPoint)convertPoint:(CGPoint)point toViewOrWindow:(UIView *)view { + if (!view) { + if ([self isKindOfClass:[UIWindow class]]) { + return [((UIWindow *)self) convertPoint:point toWindow:nil]; + } else { + return [self convertPoint:point toView:nil]; + } + } + + UIWindow *from = [self isKindOfClass:[UIWindow class]] ? (id)self : self.window; + UIWindow *to = [view isKindOfClass:[UIWindow class]] ? (id)view : view.window; + if ((!from || !to) || (from == to)) return [self convertPoint:point toView:view]; + point = [self convertPoint:point toView:from]; + point = [to convertPoint:point fromWindow:from]; + point = [view convertPoint:point fromView:to]; + return point; +} + +- (CGPoint)convertPoint:(CGPoint)point fromViewOrWindow:(UIView *)view { + if (!view) { + if ([self isKindOfClass:[UIWindow class]]) { + return [((UIWindow *)self) convertPoint:point fromWindow:nil]; + } else { + return [self convertPoint:point fromView:nil]; + } + } + + UIWindow *from = [view isKindOfClass:[UIWindow class]] ? (id)view : view.window; + UIWindow *to = [self isKindOfClass:[UIWindow class]] ? (id)self : self.window; + if ((!from || !to) || (from == to)) return [self convertPoint:point fromView:view]; + point = [from convertPoint:point fromView:view]; + point = [to convertPoint:point fromWindow:from]; + point = [self convertPoint:point fromView:to]; + return point; +} + +- (CGRect)convertRect:(CGRect)rect toViewOrWindow:(UIView *)view { + if (!view) { + if ([self isKindOfClass:[UIWindow class]]) { + return [((UIWindow *)self) convertRect:rect toWindow:nil]; + } else { + return [self convertRect:rect toView:nil]; + } + } + + UIWindow *from = [self isKindOfClass:[UIWindow class]] ? (id)self : self.window; + UIWindow *to = [view isKindOfClass:[UIWindow class]] ? (id)view : view.window; + if (!from || !to) return [self convertRect:rect toView:view]; + if (from == to) return [self convertRect:rect toView:view]; + rect = [self convertRect:rect toView:from]; + rect = [to convertRect:rect fromWindow:from]; + rect = [view convertRect:rect fromView:to]; + return rect; +} + +- (CGRect)convertRect:(CGRect)rect fromViewOrWindow:(UIView *)view { + if (!view) { + if ([self isKindOfClass:[UIWindow class]]) { + return [((UIWindow *)self) convertRect:rect fromWindow:nil]; + } else { + return [self convertRect:rect fromView:nil]; + } + } + + UIWindow *from = [view isKindOfClass:[UIWindow class]] ? (id)view : view.window; + UIWindow *to = [self isKindOfClass:[UIWindow class]] ? (id)self : self.window; + if ((!from || !to) || (from == to)) return [self convertRect:rect fromView:view]; + rect = [from convertRect:rect fromView:view]; + rect = [to convertRect:rect fromWindow:from]; + rect = [self convertRect:rect fromView:to]; + return rect; +} + +- (CGFloat)left { + return self.frame.origin.x; +} + +- (void)setLeft:(CGFloat)x { + CGRect frame = self.frame; + frame.origin.x = x; + self.frame = frame; +} + +- (CGFloat)top { + return self.frame.origin.y; +} + +- (void)setTop:(CGFloat)y { + CGRect frame = self.frame; + frame.origin.y = y; + self.frame = frame; +} + +- (CGFloat)right { + return self.frame.origin.x + self.frame.size.width; +} + +- (void)setRight:(CGFloat)right { + CGRect frame = self.frame; + frame.origin.x = right - frame.size.width; + self.frame = frame; +} + +- (CGFloat)bottom { + return self.frame.origin.y + self.frame.size.height; +} + +- (void)setBottom:(CGFloat)bottom { + CGRect frame = self.frame; + frame.origin.y = bottom - frame.size.height; + self.frame = frame; +} + +- (CGFloat)width { + return self.frame.size.width; +} + +- (void)setWidth:(CGFloat)width { + CGRect frame = self.frame; + frame.size.width = width; + self.frame = frame; +} + +- (CGFloat)height { + return self.frame.size.height; +} + +- (void)setHeight:(CGFloat)height { + CGRect frame = self.frame; + frame.size.height = height; + self.frame = frame; +} + +- (CGFloat)centerX { + return self.center.x; +} + +- (void)setCenterX:(CGFloat)centerX { + self.center = CGPointMake(centerX, self.center.y); +} + +- (CGFloat)centerY { + return self.center.y; +} + +- (void)setCenterY:(CGFloat)centerY { + self.center = CGPointMake(self.center.x, centerY); +} + +- (CGPoint)origin { + return self.frame.origin; +} + +- (void)setOrigin:(CGPoint)origin { + CGRect frame = self.frame; + frame.origin = origin; + self.frame = frame; +} + +- (CGSize)size { + return self.frame.size; +} + +- (void)setSize:(CGSize)size { + CGRect frame = self.frame; + frame.size = size; + self.frame = frame; +} + +@end diff --git a/Example/Pods/YYCategories/YYCategories/YYCategories.h b/Example/Pods/YYCategories/YYCategories/YYCategories.h new file mode 100755 index 0000000..25370a7 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/YYCategories.h @@ -0,0 +1,81 @@ +// +// YYCategories.h +// YYCategories +// +// Created by ibireme on 13/3/29. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +#if __has_include() +FOUNDATION_EXPORT double YYCategoriesVersionNumber; +FOUNDATION_EXPORT const unsigned char YYCategoriesVersionString[]; +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#else +#import "YYCategoriesMacro.h" +#import "NSObject+YYAdd.h" +#import "NSObject+YYAddForKVO.h" +#import "NSObject+YYAddForARC.h" +#import "NSData+YYAdd.h" +#import "NSString+YYAdd.h" +#import "NSArray+YYAdd.h" +#import "NSDictionary+YYAdd.h" +#import "NSDate+YYAdd.h" +#import "NSNumber+YYAdd.h" +#import "NSNotificationCenter+YYAdd.h" +#import "NSKeyedUnarchiver+YYAdd.h" +#import "NSTimer+YYAdd.h" +#import "NSBundle+YYAdd.h" +#import "NSThread+YYAdd.h" +#import "UIColor+YYAdd.h" +#import "UIImage+YYAdd.h" +#import "UIControl+YYAdd.h" +#import "UIBarButtonItem+YYAdd.h" +#import "UIGestureRecognizer+YYAdd.h" +#import "UIView+YYAdd.h" +#import "UIScrollView+YYAdd.h" +#import "UITableView+YYAdd.h" +#import "UITextField+YYAdd.h" +#import "UIScreen+YYAdd.h" +#import "UIDevice+YYAdd.h" +#import "UIApplication+YYAdd.h" +#import "UIFont+YYAdd.h" +#import "UIBezierPath+YYAdd.h" +#import "CALayer+YYAdd.h" +#import "YYCGUtilities.h" +#endif + diff --git a/Example/Pods/YYCategories/YYCategories/YYCategoriesMacro.h b/Example/Pods/YYCategories/YYCategories/YYCategoriesMacro.h new file mode 100755 index 0000000..65d52a9 --- /dev/null +++ b/Example/Pods/YYCategories/YYCategories/YYCategoriesMacro.h @@ -0,0 +1,337 @@ +// +// YYCategoriesMacro.h +// YYCategories +// +// Created by ibireme on 13/3/29. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import +#import +#import + +#ifndef YYCategoriesMacro_h +#define YYCategoriesMacro_h + +#ifdef __cplusplus +#define YY_EXTERN_C_BEGIN extern "C" { +#define YY_EXTERN_C_END } +#else +#define YY_EXTERN_C_BEGIN +#define YY_EXTERN_C_END +#endif + + + +YY_EXTERN_C_BEGIN + +#ifndef YY_CLAMP // return the clamped value +#define YY_CLAMP(_x_, _low_, _high_) (((_x_) > (_high_)) ? (_high_) : (((_x_) < (_low_)) ? (_low_) : (_x_))) +#endif + +#ifndef YY_SWAP // swap two value +#define YY_SWAP(_a_, _b_) do { __typeof__(_a_) _tmp_ = (_a_); (_a_) = (_b_); (_b_) = _tmp_; } while (0) +#endif + + +#define YYAssertNil(condition, description, ...) NSAssert(!(condition), (description), ##__VA_ARGS__) +#define YYCAssertNil(condition, description, ...) NSCAssert(!(condition), (description), ##__VA_ARGS__) + +#define YYAssertNotNil(condition, description, ...) NSAssert((condition), (description), ##__VA_ARGS__) +#define YYCAssertNotNil(condition, description, ...) NSCAssert((condition), (description), ##__VA_ARGS__) + +#define YYAssertMainThread() NSAssert([NSThread isMainThread], @"This method must be called on the main thread") +#define YYCAssertMainThread() NSCAssert([NSThread isMainThread], @"This method must be called on the main thread") + + +/** + Add this macro before each category implementation, so we don't have to use + -all_load or -force_load to load object files from static libraries that only + contain categories and no classes. + More info: http://developer.apple.com/library/mac/#qa/qa2006/qa1490.html . + ******************************************************************************* + Example: + YYSYNTH_DUMMY_CLASS(NSString_YYAdd) + */ +#ifndef YYSYNTH_DUMMY_CLASS +#define YYSYNTH_DUMMY_CLASS(_name_) \ +@interface YYSYNTH_DUMMY_CLASS_ ## _name_ : NSObject @end \ +@implementation YYSYNTH_DUMMY_CLASS_ ## _name_ @end +#endif + + +/** + Synthsize a dynamic object property in @implementation scope. + It allows us to add custom properties to existing classes in categories. + + @param association ASSIGN / RETAIN / COPY / RETAIN_NONATOMIC / COPY_NONATOMIC + @warning #import + ******************************************************************************* + Example: + @interface NSObject (MyAdd) + @property (nonatomic, retain) UIColor *myColor; + @end + + #import + @implementation NSObject (MyAdd) + YYSYNTH_DYNAMIC_PROPERTY_OBJECT(myColor, setMyColor, RETAIN, UIColor *) + @end + */ +#ifndef YYSYNTH_DYNAMIC_PROPERTY_OBJECT +#define YYSYNTH_DYNAMIC_PROPERTY_OBJECT(_getter_, _setter_, _association_, _type_) \ +- (void)_setter_ : (_type_)object { \ + [self willChangeValueForKey:@#_getter_]; \ + objc_setAssociatedObject(self, _cmd, object, OBJC_ASSOCIATION_ ## _association_); \ + [self didChangeValueForKey:@#_getter_]; \ +} \ +- (_type_)_getter_ { \ + return objc_getAssociatedObject(self, @selector(_setter_:)); \ +} +#endif + + +/** + Synthsize a dynamic c type property in @implementation scope. + It allows us to add custom properties to existing classes in categories. + + @warning #import + ******************************************************************************* + Example: + @interface NSObject (MyAdd) + @property (nonatomic, retain) CGPoint myPoint; + @end + + #import + @implementation NSObject (MyAdd) + YYSYNTH_DYNAMIC_PROPERTY_CTYPE(myPoint, setMyPoint, CGPoint) + @end + */ +#ifndef YYSYNTH_DYNAMIC_PROPERTY_CTYPE +#define YYSYNTH_DYNAMIC_PROPERTY_CTYPE(_getter_, _setter_, _type_) \ +- (void)_setter_ : (_type_)object { \ + [self willChangeValueForKey:@#_getter_]; \ + NSValue *value = [NSValue value:&object withObjCType:@encode(_type_)]; \ + objc_setAssociatedObject(self, _cmd, value, OBJC_ASSOCIATION_RETAIN); \ + [self didChangeValueForKey:@#_getter_]; \ +} \ +- (type)_getter_ { \ + _type_ cValue = { 0 }; \ + NSValue *value = objc_getAssociatedObject(self, @selector(_setter_:)); \ + [value getValue:&cValue]; \ + return cValue; \ +} +#endif + +/** + Synthsize a weak or strong reference. + + Example: + @weakify(self) + [self doSomething^{ + @strongify(self) + if (!self) return; + ... + }]; + + */ +#ifndef weakify + #if DEBUG + #if __has_feature(objc_arc) + #define weakify(object) autoreleasepool{} __weak __typeof__(object) weak##_##object = object; + #else + #define weakify(object) autoreleasepool{} __block __typeof__(object) block##_##object = object; + #endif + #else + #if __has_feature(objc_arc) + #define weakify(object) try{} @finally{} {} __weak __typeof__(object) weak##_##object = object; + #else + #define weakify(object) try{} @finally{} {} __block __typeof__(object) block##_##object = object; + #endif + #endif +#endif + +#ifndef strongify + #if DEBUG + #if __has_feature(objc_arc) + #define strongify(object) autoreleasepool{} __typeof__(object) object = weak##_##object; + #else + #define strongify(object) autoreleasepool{} __typeof__(object) object = block##_##object; + #endif + #else + #if __has_feature(objc_arc) + #define strongify(object) try{} @finally{} __typeof__(object) object = weak##_##object; + #else + #define strongify(object) try{} @finally{} __typeof__(object) object = block##_##object; + #endif + #endif +#endif + + +/** + Convert CFRange to NSRange + @param range CFRange @return NSRange + */ +static inline NSRange YYNSRangeFromCFRange(CFRange range) { + return NSMakeRange(range.location, range.length); +} + +/** + Convert NSRange to CFRange + @param range NSRange @return CFRange + */ +static inline CFRange YYCFRangeFromNSRange(NSRange range) { + return CFRangeMake(range.location, range.length); +} + +/** + Same as CFAutorelease(), compatible for iOS6 + @param arg CFObject @return same as input + */ +static inline CFTypeRef YYCFAutorelease(CFTypeRef CF_RELEASES_ARGUMENT arg) { + if (((long)CFAutorelease + 1) != 1) { + return CFAutorelease(arg); + } else { + id __autoreleasing obj = CFBridgingRelease(arg); + return (__bridge CFTypeRef)obj; + } +} + +/** + Profile time cost. + @param ^block code to benchmark + @param ^complete code time cost (millisecond) + + Usage: + YYBenchmark(^{ + // code + }, ^(double ms) { + NSLog("time cost: %.2f ms",ms); + }); + + */ +static inline void YYBenchmark(void (^block)(void), void (^complete)(double ms)) { + // version + /* + extern double CACurrentMediaTime (void); + double begin, end, ms; + begin = CACurrentMediaTime(); + block(); + end = CACurrentMediaTime(); + ms = (end - begin) * 1000.0; + complete(ms); + */ + + // version + struct timeval t0, t1; + gettimeofday(&t0, NULL); + block(); + gettimeofday(&t1, NULL); + double ms = (double)(t1.tv_sec - t0.tv_sec) * 1e3 + (double)(t1.tv_usec - t0.tv_usec) * 1e-3; + complete(ms); +} + +static inline NSDate *_YYCompileTime(const char *data, const char *time) { + NSString *timeStr = [NSString stringWithFormat:@"%s %s",data,time]; + NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; + NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; + [formatter setDateFormat:@"MMM dd yyyy HH:mm:ss"]; + [formatter setLocale:locale]; + return [formatter dateFromString:timeStr]; +} + +/** + Get compile timestamp. + @return A new date object set to the compile date and time. + */ +#ifndef YYCompileTime +// use macro to avoid compile warning when use pch file +#define YYCompileTime() _YYCompileTime(__DATE__, __TIME__) +#endif + +/** + Returns a dispatch_time delay from now. + */ +static inline dispatch_time_t dispatch_time_delay(NSTimeInterval second) { + return dispatch_time(DISPATCH_TIME_NOW, (int64_t)(second * NSEC_PER_SEC)); +} + +/** + Returns a dispatch_wall_time delay from now. + */ +static inline dispatch_time_t dispatch_walltime_delay(NSTimeInterval second) { + return dispatch_walltime(DISPATCH_TIME_NOW, (int64_t)(second * NSEC_PER_SEC)); +} + +/** + Returns a dispatch_wall_time from NSDate. + */ +static inline dispatch_time_t dispatch_walltime_date(NSDate *date) { + NSTimeInterval interval; + double second, subsecond; + struct timespec time; + dispatch_time_t milestone; + + interval = [date timeIntervalSince1970]; + subsecond = modf(interval, &second); + time.tv_sec = second; + time.tv_nsec = subsecond * NSEC_PER_SEC; + milestone = dispatch_walltime(&time, 0); + return milestone; +} + +/** + Whether in main queue/thread. + */ +static inline bool dispatch_is_main_queue() { + return pthread_main_np() != 0; +} + +/** + Submits a block for asynchronous execution on a main queue and returns immediately. + */ +static inline void dispatch_async_on_main_queue(void (^block)()) { + if (pthread_main_np()) { + block(); + } else { + dispatch_async(dispatch_get_main_queue(), block); + } +} + +/** + Submits a block for execution on a main queue and waits until the block completes. + */ +static inline void dispatch_sync_on_main_queue(void (^block)()) { + if (pthread_main_np()) { + block(); + } else { + dispatch_sync(dispatch_get_main_queue(), block); + } +} + +/** + Initialize a pthread mutex. + */ +static inline void pthread_mutex_init_recursive(pthread_mutex_t *mutex, bool recursive) { +#define YYMUTEX_ASSERT_ON_ERROR(x_) do { \ +__unused volatile int res = (x_); \ +assert(res == 0); \ +} while (0) + assert(mutex != NULL); + if (!recursive) { + YYMUTEX_ASSERT_ON_ERROR(pthread_mutex_init(mutex, NULL)); + } else { + pthread_mutexattr_t attr; + YYMUTEX_ASSERT_ON_ERROR(pthread_mutexattr_init (&attr)); + YYMUTEX_ASSERT_ON_ERROR(pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_RECURSIVE)); + YYMUTEX_ASSERT_ON_ERROR(pthread_mutex_init (mutex, &attr)); + YYMUTEX_ASSERT_ON_ERROR(pthread_mutexattr_destroy (&attr)); + } +#undef YYMUTEX_ASSERT_ON_ERROR +} + + +YY_EXTERN_C_END +#endif diff --git a/Example/Tests/Tests-Info.plist b/Example/Tests/Tests-Info.plist new file mode 100755 index 0000000..169b6f7 --- /dev/null +++ b/Example/Tests/Tests-Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + + diff --git a/Example/Tests/Tests-Prefix.pch b/Example/Tests/Tests-Prefix.pch new file mode 100755 index 0000000..3cbb902 --- /dev/null +++ b/Example/Tests/Tests-Prefix.pch @@ -0,0 +1,7 @@ +// The contents of this file are implicitly included at the beginning of every test case source file. + +#ifdef __OBJC__ + + @import FBSnapshotTestCase; + +#endif diff --git a/Example/Tests/Tests.m b/Example/Tests/Tests.m new file mode 100755 index 0000000..1d1036d --- /dev/null +++ b/Example/Tests/Tests.m @@ -0,0 +1,35 @@ +// +// ZMJImageEditorTests.m +// ZMJImageEditorTests +// +// Created by keshiim on 04/01/2017. +// Copyright (c) 2017 keshiim. All rights reserved. +// + +@import XCTest; + +@interface Tests : XCTestCase + +@end + +@implementation Tests + +- (void)setUp +{ + [super setUp]; + // Put setup code here. This method is called before the invocation of each test method in the class. +} + +- (void)tearDown +{ + // Put teardown code here. This method is called after the invocation of each test method in the class. + [super tearDown]; +} + +- (void)testExample +{ + XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__); +} + +@end + diff --git a/Example/Tests/en.lproj/InfoPlist.strings b/Example/Tests/en.lproj/InfoPlist.strings new file mode 100755 index 0000000..477b28f --- /dev/null +++ b/Example/Tests/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/Example/Tests/zh-Hans.lproj/InfoPlist.strings b/Example/Tests/zh-Hans.lproj/InfoPlist.strings new file mode 100755 index 0000000..477b28f --- /dev/null +++ b/Example/Tests/zh-Hans.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/Example/ZMJImageEditor.xcodeproj/project.pbxproj b/Example/ZMJImageEditor.xcodeproj/project.pbxproj new file mode 100755 index 0000000..5b79487 --- /dev/null +++ b/Example/ZMJImageEditor.xcodeproj/project.pbxproj @@ -0,0 +1,675 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; }; + 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58F195388D20070C39A /* CoreGraphics.framework */; }; + 6003F592195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; }; + 6003F598195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F596195388D20070C39A /* InfoPlist.strings */; }; + 6003F59A195388D20070C39A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F599195388D20070C39A /* main.m */; }; + 6003F59E195388D20070C39A /* ZMJAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F59D195388D20070C39A /* ZMJAppDelegate.m */; }; + 6003F5A7195388D20070C39A /* ZMJViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F5A6195388D20070C39A /* ZMJViewController.m */; }; + 6003F5A9195388D20070C39A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5A8195388D20070C39A /* Images.xcassets */; }; + 6003F5B0195388D20070C39A /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F5AF195388D20070C39A /* XCTest.framework */; }; + 6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; }; + 6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; }; + 6003F5BA195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5B8195388D20070C39A /* InfoPlist.strings */; }; + 6003F5BC195388D20070C39A /* Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F5BB195388D20070C39A /* Tests.m */; }; + 71719F9F1E33DC2100824A3D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */; }; + 79E1363813D4552F3FB8302D /* Pods_ZMJImageEditor_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BD4383784075711AC3458819 /* Pods_ZMJImageEditor_Example.framework */; }; + 805FDBA7CDD5AC04FA437661 /* Pods_ZMJImageEditor_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 27DE14A43CA3CFB572079268 /* Pods_ZMJImageEditor_Tests.framework */; }; + 96FC64921FECDE2600ACB842 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 96FC64941FECDE2600ACB842 /* Main.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 6003F5B3195388D20070C39A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 6003F582195388D10070C39A /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6003F589195388D20070C39A; + remoteInfo = ZMJImageEditor; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 27DE14A43CA3CFB572079268 /* Pods_ZMJImageEditor_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ZMJImageEditor_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2A2E827517B641A65CA729C3 /* Pods-ZMJImageEditor_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ZMJImageEditor_Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example.release.xcconfig"; sourceTree = ""; }; + 34987136E676891CB6349AD8 /* Pods-ZMJImageEditor_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ZMJImageEditor_Tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests.release.xcconfig"; sourceTree = ""; }; + 394312151282C043C6CA836D /* ZMJImageEditor.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = ZMJImageEditor.podspec; path = ../ZMJImageEditor.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 6003F58A195388D20070C39A /* ZMJImageEditor_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ZMJImageEditor_Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 6003F58D195388D20070C39A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 6003F58F195388D20070C39A /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 6003F591195388D20070C39A /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 6003F595195388D20070C39A /* ZMJImageEditor-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "ZMJImageEditor-Info.plist"; sourceTree = ""; }; + 6003F597195388D20070C39A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 6003F599195388D20070C39A /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 6003F59B195388D20070C39A /* ZMJImageEditor-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ZMJImageEditor-Prefix.pch"; sourceTree = ""; }; + 6003F59C195388D20070C39A /* ZMJAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ZMJAppDelegate.h; sourceTree = ""; }; + 6003F59D195388D20070C39A /* ZMJAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ZMJAppDelegate.m; sourceTree = ""; }; + 6003F5A5195388D20070C39A /* ZMJViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ZMJViewController.h; sourceTree = ""; }; + 6003F5A6195388D20070C39A /* ZMJViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ZMJViewController.m; sourceTree = ""; }; + 6003F5A8195388D20070C39A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + 6003F5AE195388D20070C39A /* ZMJImageEditor_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ZMJImageEditor_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 6003F5AF195388D20070C39A /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 6003F5B7195388D20070C39A /* Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Tests-Info.plist"; sourceTree = ""; }; + 6003F5B9195388D20070C39A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 6003F5BB195388D20070C39A /* Tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Tests.m; sourceTree = ""; }; + 606FC2411953D9B200FFA9A0 /* Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Tests-Prefix.pch"; sourceTree = ""; }; + 61B4020DC01A3C1A893ADD31 /* Pods-ZMJImageEditor_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ZMJImageEditor_Tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests.debug.xcconfig"; sourceTree = ""; }; + 71719F9E1E33DC2100824A3D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 8160F7BC79F30F2E4C7F8903 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; }; + 96FC64911FECDE0200ACB842 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 96FC64931FECDE2600ACB842 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 96FC64961FECDE2A00ACB842 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Main.strings; sourceTree = ""; }; + 96FC64981FECDE2D00ACB842 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Main.strings"; sourceTree = ""; }; + BD4383784075711AC3458819 /* Pods_ZMJImageEditor_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ZMJImageEditor_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C43CCE604ABC815A6FCB6D1A /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; }; + F8B003FCF35DA1C073F3898D /* Pods-ZMJImageEditor_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ZMJImageEditor_Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example.debug.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 6003F587195388D20070C39A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */, + 6003F592195388D20070C39A /* UIKit.framework in Frameworks */, + 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */, + 79E1363813D4552F3FB8302D /* Pods_ZMJImageEditor_Example.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6003F5AB195388D20070C39A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 6003F5B0195388D20070C39A /* XCTest.framework in Frameworks */, + 6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */, + 6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */, + 805FDBA7CDD5AC04FA437661 /* Pods_ZMJImageEditor_Tests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 6003F581195388D10070C39A = { + isa = PBXGroup; + children = ( + 60FF7A9C1954A5C5007DD14C /* Podspec Metadata */, + 6003F593195388D20070C39A /* Example for ZMJImageEditor */, + 6003F5B5195388D20070C39A /* Tests */, + 6003F58C195388D20070C39A /* Frameworks */, + 6003F58B195388D20070C39A /* Products */, + ECFF949E9BE1709B8569CA3F /* Pods */, + ); + sourceTree = ""; + }; + 6003F58B195388D20070C39A /* Products */ = { + isa = PBXGroup; + children = ( + 6003F58A195388D20070C39A /* ZMJImageEditor_Example.app */, + 6003F5AE195388D20070C39A /* ZMJImageEditor_Tests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 6003F58C195388D20070C39A /* Frameworks */ = { + isa = PBXGroup; + children = ( + 6003F58D195388D20070C39A /* Foundation.framework */, + 6003F58F195388D20070C39A /* CoreGraphics.framework */, + 6003F591195388D20070C39A /* UIKit.framework */, + 6003F5AF195388D20070C39A /* XCTest.framework */, + BD4383784075711AC3458819 /* Pods_ZMJImageEditor_Example.framework */, + 27DE14A43CA3CFB572079268 /* Pods_ZMJImageEditor_Tests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 6003F593195388D20070C39A /* Example for ZMJImageEditor */ = { + isa = PBXGroup; + children = ( + 6003F59C195388D20070C39A /* ZMJAppDelegate.h */, + 6003F59D195388D20070C39A /* ZMJAppDelegate.m */, + 96FC64941FECDE2600ACB842 /* Main.storyboard */, + 6003F5A5195388D20070C39A /* ZMJViewController.h */, + 6003F5A6195388D20070C39A /* ZMJViewController.m */, + 71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */, + 6003F5A8195388D20070C39A /* Images.xcassets */, + 6003F594195388D20070C39A /* Supporting Files */, + ); + name = "Example for ZMJImageEditor"; + path = ZMJImageEditor; + sourceTree = ""; + }; + 6003F594195388D20070C39A /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 6003F595195388D20070C39A /* ZMJImageEditor-Info.plist */, + 6003F596195388D20070C39A /* InfoPlist.strings */, + 6003F599195388D20070C39A /* main.m */, + 6003F59B195388D20070C39A /* ZMJImageEditor-Prefix.pch */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 6003F5B5195388D20070C39A /* Tests */ = { + isa = PBXGroup; + children = ( + 6003F5BB195388D20070C39A /* Tests.m */, + 6003F5B6195388D20070C39A /* Supporting Files */, + ); + path = Tests; + sourceTree = ""; + }; + 6003F5B6195388D20070C39A /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 6003F5B7195388D20070C39A /* Tests-Info.plist */, + 6003F5B8195388D20070C39A /* InfoPlist.strings */, + 606FC2411953D9B200FFA9A0 /* Tests-Prefix.pch */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 60FF7A9C1954A5C5007DD14C /* Podspec Metadata */ = { + isa = PBXGroup; + children = ( + 394312151282C043C6CA836D /* ZMJImageEditor.podspec */, + 8160F7BC79F30F2E4C7F8903 /* README.md */, + C43CCE604ABC815A6FCB6D1A /* LICENSE */, + ); + name = "Podspec Metadata"; + sourceTree = ""; + }; + ECFF949E9BE1709B8569CA3F /* Pods */ = { + isa = PBXGroup; + children = ( + F8B003FCF35DA1C073F3898D /* Pods-ZMJImageEditor_Example.debug.xcconfig */, + 2A2E827517B641A65CA729C3 /* Pods-ZMJImageEditor_Example.release.xcconfig */, + 61B4020DC01A3C1A893ADD31 /* Pods-ZMJImageEditor_Tests.debug.xcconfig */, + 34987136E676891CB6349AD8 /* Pods-ZMJImageEditor_Tests.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 6003F589195388D20070C39A /* ZMJImageEditor_Example */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6003F5BF195388D20070C39A /* Build configuration list for PBXNativeTarget "ZMJImageEditor_Example" */; + buildPhases = ( + FE45BEA05726632BEEA7E4BD /* [CP] Check Pods Manifest.lock */, + 6003F586195388D20070C39A /* Sources */, + 6003F587195388D20070C39A /* Frameworks */, + 6003F588195388D20070C39A /* Resources */, + DF06A7BD642897C55BC3BC46 /* [CP] Embed Pods Frameworks */, + 1604AEFDCC452111DA4CB72C /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = ZMJImageEditor_Example; + productName = ZMJImageEditor; + productReference = 6003F58A195388D20070C39A /* ZMJImageEditor_Example.app */; + productType = "com.apple.product-type.application"; + }; + 6003F5AD195388D20070C39A /* ZMJImageEditor_Tests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6003F5C2195388D20070C39A /* Build configuration list for PBXNativeTarget "ZMJImageEditor_Tests" */; + buildPhases = ( + F17ABF75A67E9614DF132916 /* [CP] Check Pods Manifest.lock */, + 6003F5AA195388D20070C39A /* Sources */, + 6003F5AB195388D20070C39A /* Frameworks */, + 6003F5AC195388D20070C39A /* Resources */, + 87A42F18CDB7C9877F01CF77 /* [CP] Embed Pods Frameworks */, + 713808C7EC77CBBC4B6FFBDA /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + 6003F5B4195388D20070C39A /* PBXTargetDependency */, + ); + name = ZMJImageEditor_Tests; + productName = ZMJImageEditorTests; + productReference = 6003F5AE195388D20070C39A /* ZMJImageEditor_Tests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 6003F582195388D10070C39A /* Project object */ = { + isa = PBXProject; + attributes = { + CLASSPREFIX = ZMJ; + LastUpgradeCheck = 0720; + ORGANIZATIONNAME = keshiim; + TargetAttributes = { + 6003F589195388D20070C39A = { + DevelopmentTeam = PJWNDP9BL2; + }; + 6003F5AD195388D20070C39A = { + DevelopmentTeam = FK8GBPF6A2; + LastSwiftMigration = 0830; + TestTargetID = 6003F589195388D20070C39A; + }; + }; + }; + buildConfigurationList = 6003F585195388D10070C39A /* Build configuration list for PBXProject "ZMJImageEditor" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + English, + en, + Base, + "zh-Hans", + ); + mainGroup = 6003F581195388D10070C39A; + productRefGroup = 6003F58B195388D20070C39A /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 6003F589195388D20070C39A /* ZMJImageEditor_Example */, + 6003F5AD195388D20070C39A /* ZMJImageEditor_Tests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 6003F588195388D20070C39A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 96FC64921FECDE2600ACB842 /* Main.storyboard in Resources */, + 71719F9F1E33DC2100824A3D /* LaunchScreen.storyboard in Resources */, + 6003F5A9195388D20070C39A /* Images.xcassets in Resources */, + 6003F598195388D20070C39A /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6003F5AC195388D20070C39A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6003F5BA195388D20070C39A /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 1604AEFDCC452111DA4CB72C /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 713808C7EC77CBBC4B6FFBDA /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 87A42F18CDB7C9877F01CF77 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.framework", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBSnapshotTestCase.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ZMJImageEditor_Tests/Pods-ZMJImageEditor_Tests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + DF06A7BD642897C55BC3BC46 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/Masonry/Masonry.framework", + "${BUILT_PRODUCTS_DIR}/YYCategories/YYCategories.framework", + "${BUILT_PRODUCTS_DIR}/ZMJImageEditor/ZMJImageEditor.framework", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Masonry.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YYCategories.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ZMJImageEditor.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ZMJImageEditor_Example/Pods-ZMJImageEditor_Example-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + F17ABF75A67E9614DF132916 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-ZMJImageEditor_Tests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + FE45BEA05726632BEEA7E4BD /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-ZMJImageEditor_Example-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 6003F586195388D20070C39A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6003F59E195388D20070C39A /* ZMJAppDelegate.m in Sources */, + 6003F5A7195388D20070C39A /* ZMJViewController.m in Sources */, + 6003F59A195388D20070C39A /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6003F5AA195388D20070C39A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6003F5BC195388D20070C39A /* Tests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 6003F5B4195388D20070C39A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 6003F589195388D20070C39A /* ZMJImageEditor_Example */; + targetProxy = 6003F5B3195388D20070C39A /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 6003F596195388D20070C39A /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 6003F597195388D20070C39A /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 6003F5B8195388D20070C39A /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 6003F5B9195388D20070C39A /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 71719F9E1E33DC2100824A3D /* Base */, + 96FC64911FECDE0200ACB842 /* zh-Hans */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; + 96FC64941FECDE2600ACB842 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 96FC64931FECDE2600ACB842 /* Base */, + 96FC64961FECDE2A00ACB842 /* en */, + 96FC64981FECDE2D00ACB842 /* zh-Hans */, + ); + name = Main.storyboard; + path = Base.lproj; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 6003F5BD195388D20070C39A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.3; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 6003F5BE195388D20070C39A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.3; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 6003F5C0195388D20070C39A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = F8B003FCF35DA1C073F3898D /* Pods-ZMJImageEditor_Example.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + DEVELOPMENT_TEAM = PJWNDP9BL2; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "ZMJImageEditor/ZMJImageEditor-Prefix.pch"; + INFOPLIST_FILE = "ZMJImageEditor/ZMJImageEditor-Info.plist"; + MODULE_NAME = ExampleApp; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.ZMJImageEditor-Example111"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + 6003F5C1195388D20070C39A /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2A2E827517B641A65CA729C3 /* Pods-ZMJImageEditor_Example.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + DEVELOPMENT_TEAM = PJWNDP9BL2; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "ZMJImageEditor/ZMJImageEditor-Prefix.pch"; + INFOPLIST_FILE = "ZMJImageEditor/ZMJImageEditor-Info.plist"; + MODULE_NAME = ExampleApp; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.ZMJImageEditor-Example111"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; + 6003F5C3195388D20070C39A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 61B4020DC01A3C1A893ADD31 /* Pods-ZMJImageEditor_Tests.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + DEVELOPMENT_TEAM = FK8GBPF6A2; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = "Tests/Tests-Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ZMJImageEditor_Example.app/ZMJImageEditor_Example"; + WRAPPER_EXTENSION = xctest; + }; + name = Debug; + }; + 6003F5C4195388D20070C39A /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 34987136E676891CB6349AD8 /* Pods-ZMJImageEditor_Tests.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + DEVELOPMENT_TEAM = FK8GBPF6A2; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch"; + INFOPLIST_FILE = "Tests/Tests-Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ZMJImageEditor_Example.app/ZMJImageEditor_Example"; + WRAPPER_EXTENSION = xctest; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 6003F585195388D10070C39A /* Build configuration list for PBXProject "ZMJImageEditor" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6003F5BD195388D20070C39A /* Debug */, + 6003F5BE195388D20070C39A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 6003F5BF195388D20070C39A /* Build configuration list for PBXNativeTarget "ZMJImageEditor_Example" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6003F5C0195388D20070C39A /* Debug */, + 6003F5C1195388D20070C39A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 6003F5C2195388D20070C39A /* Build configuration list for PBXNativeTarget "ZMJImageEditor_Tests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6003F5C3195388D20070C39A /* Debug */, + 6003F5C4195388D20070C39A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 6003F582195388D10070C39A /* Project object */; +} diff --git a/Example/ZMJImageEditor.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Example/ZMJImageEditor.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100755 index 0000000..b7b56c7 --- /dev/null +++ b/Example/ZMJImageEditor.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Example/ZMJImageEditor.xcodeproj/xcshareddata/xcschemes/ZMJImageEditor-Example.xcscheme b/Example/ZMJImageEditor.xcodeproj/xcshareddata/xcschemes/ZMJImageEditor-Example.xcscheme new file mode 100755 index 0000000..daf32de --- /dev/null +++ b/Example/ZMJImageEditor.xcodeproj/xcshareddata/xcschemes/ZMJImageEditor-Example.xcscheme @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/ZMJImageEditor.xcworkspace/contents.xcworkspacedata b/Example/ZMJImageEditor.xcworkspace/contents.xcworkspacedata new file mode 100755 index 0000000..abfe156 --- /dev/null +++ b/Example/ZMJImageEditor.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/Example/ZMJImageEditor.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/ZMJImageEditor.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Example/ZMJImageEditor.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Example/ZMJImageEditor/Base.lproj/Base.lproj/Main.storyboard b/Example/ZMJImageEditor/Base.lproj/Base.lproj/Main.storyboard new file mode 100755 index 0000000..5407a04 --- /dev/null +++ b/Example/ZMJImageEditor/Base.lproj/Base.lproj/Main.storyboard @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/ZMJImageEditor/Base.lproj/Base.lproj/Main.strings b/Example/ZMJImageEditor/Base.lproj/Base.lproj/Main.strings new file mode 100755 index 0000000..59ef9d8 --- /dev/null +++ b/Example/ZMJImageEditor/Base.lproj/Base.lproj/Main.strings @@ -0,0 +1,3 @@ + +/* Class = "UIBarButtonItem"; title = "编辑"; ObjectID = "Xqu-3v-HaG"; */ +"Xqu-3v-HaG.title" = "编辑"; diff --git a/Example/ZMJImageEditor/Base.lproj/LaunchScreen.storyboard b/Example/ZMJImageEditor/Base.lproj/LaunchScreen.storyboard new file mode 100755 index 0000000..5527334 --- /dev/null +++ b/Example/ZMJImageEditor/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/ZMJImageEditor/Base.lproj/en.lproj/Main.strings b/Example/ZMJImageEditor/Base.lproj/en.lproj/Main.strings new file mode 100755 index 0000000..68d2792 --- /dev/null +++ b/Example/ZMJImageEditor/Base.lproj/en.lproj/Main.strings @@ -0,0 +1,3 @@ + +/* Class = "UIBarButtonItem"; title = "编辑"; ObjectID = "Xqu-3v-HaG"; */ +"Xqu-3v-HaG.title" = "Edit"; diff --git a/Example/ZMJImageEditor/Base.lproj/zh-Hans.lproj/Main.strings b/Example/ZMJImageEditor/Base.lproj/zh-Hans.lproj/Main.strings new file mode 100755 index 0000000..59ef9d8 --- /dev/null +++ b/Example/ZMJImageEditor/Base.lproj/zh-Hans.lproj/Main.strings @@ -0,0 +1,3 @@ + +/* Class = "UIBarButtonItem"; title = "编辑"; ObjectID = "Xqu-3v-HaG"; */ +"Xqu-3v-HaG.title" = "编辑"; diff --git a/Example/ZMJImageEditor/Images.xcassets/AppIcon.appiconset/Contents.json b/Example/ZMJImageEditor/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100755 index 0000000..d8db8d6 --- /dev/null +++ b/Example/ZMJImageEditor/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,98 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "83.5x83.5", + "scale" : "2x" + }, + { + "idiom" : "ios-marketing", + "size" : "1024x1024", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/ZMJImageEditor/Images.xcassets/Contents.json b/Example/ZMJImageEditor/Images.xcassets/Contents.json new file mode 100755 index 0000000..da4a164 --- /dev/null +++ b/Example/ZMJImageEditor/Images.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/ZMJImageEditor/Images.xcassets/bg.imageset/Contents.json b/Example/ZMJImageEditor/Images.xcassets/bg.imageset/Contents.json new file mode 100755 index 0000000..1d16249 --- /dev/null +++ b/Example/ZMJImageEditor/Images.xcassets/bg.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "bg@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/ZMJImageEditor/Images.xcassets/bg.imageset/bg@2x.png b/Example/ZMJImageEditor/Images.xcassets/bg.imageset/bg@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..15a562048a8302833da190e5cf86b5517d469bba GIT binary patch literal 756229 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 z፴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

gGe)?@mp)qhm@KTaTSa6O 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

{vJ-137+pJZbb_0BwvzHA(>+2D#8 zHdA<(ld90s9u{Ax-LSs46fsVg#mnhcKiPfp?LKM7rypp9?vRcH8c+Hf2RRI65tv6o z&h!x+^c8o(7)tqo+_)NbhQbhGZ*}D!9@WCQ9nbsEBIwnKIoBqI0wt%K&HO9%$5%Vu zSTu;j4GwGtfP-@FY3gP3?B#Y@=dz)X9y!_k&9!=dZ}t6e?Dh(8dH*>hG5{BM(`@{Q zMkRvpM7x;$KyEI6ybB-S3um(YZm)$nIY4(VYN#CRK^jgeA&G^%M@gd#>|4r>z9=t8 zD93uB#3qw#gPUKb0qR%Z?vcVq3_Pi=mQb#7Lv)(-%VQQHFU;QeYd%jv%0>9d4XM$v z2S(pqbsWt>3x=r~(21zb16bW}8Up#kF5;d}Lb3g9YRe|$D~#6-M8zyT?YPFWahQf* zW)Wwx(*@lv>6Cri(!C+VNV6~X>9BcpzW2Klu{KMuGEqP%a8@NdKo|;%n!p`XI;Why z;5RzKA*j_PH7??5veCmgN%+wKb$O=zG;|@cXzxP` z%}d?!uJF|!uwhhNejY8Wlo!H{inPOFM1ez~lk7a(vovWoH81 zdb%R|D8Y+2O5G(S(ybnCB;k*2`H~36{-An*%y>VBXE?d-5~~Ae*j8Q*k{iM0U?0 zj&wDk6Gsgc5{3Q7wRC~;Twjb@=@j?$7OHG6_kX;-JI9b0JDLdno@%A(XMOY>R&R{s z`V7*(^Gp}?9=93*Elfq993CDEMyw@W%36MddSdz2%|STls(LC_a@;rTq928<$9BP6 zs@045V6#B_T8l}?5>r!sGb@0PeV6<|UqWq0rCk-X zhl;IkQOnMjIOj40uC7A6p`JM!TEW}ml{SoZ3^v~bxv?BtznkF8sL zhjklr|726Npkxd}>cvt0Q`eHUX`W3kMb9M%-Yt%{_AleTHoM4;mlECNMR9$PqmKPn zf>y;;fl*f$cAOG@TK>Og>g0z(b5?Alujpn?*v6;kS52%v=Db(4ZZ7Cju^}dyH3Q7*9u0olWZ5PS2Au{1dwe{eP zi2lB@-+nBtFEs^qU+UG({*SAWWvqQ|Ek@`)-%W8ZT(P1WXNVwd|B*4u?o(K;qk}Q~ z<=Ds-kdXe$e~f>R(p^9U;lPrKIcHmDkD@{7`Wu<9Q8C$poQt@qINmz#tDvx~uXR_4 zRBv@$#b%}@#<2(&#Z0qx2C^eJ9+5561KXX?f^=R8#q2V2!SF5nyw-q&{p!b#t89Qx zr!}y7R{yhkdjIKguW(_h`eW(!oszo?b03E6A!x%!iWV9kA3df|+_6@;`|6*>l-+ZS z^L41ilzne>FH_Nas&O#fN6rq;wb(>1I^xEC5WzFY= zXHqy?U_%nbNV@IHZFBDrFts)Px5gUG){y5jpWnQ4UYI35G!q#O>G`g?#~}5_L`#*L zzLA%#Dr7CCbt-u(v9K)?yQ97uxLF>m%h(uhl{Qo+`PrESN>Dz2%nl@`{J945n77&a zLIDKA)aWUXdgNR1yg)1j3+ju{pU3xUWZv?O&Ten4!mqO|0^iD9rro{Br zH~n1U##Q)gL9EZ}K2~6Sz_{|96GCZmvrA!CqCe3~R~dgXD>+O@DPZ1X038T4fxYGi zLBGg?oExjJ2`xx8R!-1bYXT&DbFPj#*KO9F)QG9y6b)7xtuJ?+p&ddGG#jLALxeFD zPe51z@)>(;ykg6D@sOlXJsi$+XRl(KqgY=vc;RCDv>L^dg#z?_X80j?Wz#;*Teqa(PD&c zKSusi7nJHvi?M=Dk$qpo2MqN^R3kI zwvbc7q)StoxZ|5T2#6FHQQ2gn#;(gb$^_=|7 zDO1bOdnDWmT>IfLkNXz`T(Z10myR%l_s}fa;q)wKOI-MGe*$4lX8-HnKRQy** z*cf#?XONTk-oAJ=m5o0wJUL#IRY)Pg|L|LO=cR>-R5rsBHO63Cs;=n8qOpVSc5y2- zwdR{*6?wa%WV+qXu4mK`2<+IXYOuc*24=B0Gd}oz1JbmSfk9q^zsA~T?RG(Zu23_0 z$5El@dQ@)a$R>vHPpbs+r1T9t+*2T=cVFiC)TY)uqtO!0eek<@W_oJ8rw9&}CjEsv zrtijFN%eqs=-4(SZx5q=*~P}y#HSt#X-$iYZ=C%El$OVHm!oBxHix`L=L^o-Q}xb1 zb(ABW)xX}N9QH8tK(2T`-=b$BhRLf3R1Kr*)G^K%7bz+=@W`5dw7hQ0 zp(gP_w)mL?Jzv4B@DBKrRnHSz$mt2JyJfG0-QjNUdd{!aH$wpxHZADDQ0FebI1U$u zb>zdGU=@xvSq$U zmY4Jo%Kn29_N!5E;aevyvK^%DuYD$+@s_n^a;@}kU@zI63$g5isCKZj6u;niHvF;S z4NZ$zYe`7uGQ;)74|{qM@dhFTPa`=_Z^Q(B8Q0JWg*^*W!h`0CLJXTTB}?8#2y*)Hj=Td?Nm7fBQ6 zp*^|Xz08jEYFX@Id1e3BA=TAwHf0!dvtXq7+XT&ElB>!GbgO*{pKqi=#p}o`4lp6!@fpdrUXA3MSwo#I~>A z+}V0Qda72+wx~>rp|+Wdc_HIGrX(?+tDd6~U$@p!t!7M4&@ez%nh#0B@W6dmI2)tm z)zIo^6zhu;#miZGYhh;^3HpMxU_WEww^rxj0dntBV-w;COZzlU@6>!tq(%v=hT$f33q>Qh2?^c1mHDo({Vt z)Z+yUZ}V(GIPk3Xg0e|kLhYVU|8lM>q^io8kMMhhP?wW({>Iy1*p3BmUFHGsc(ZJ2 zu*sn=)}nmZJza8hS=nYAo!9$4OH07c>%=hBa;QD0+A_ADR>y8)rAbcl41pnV>_7{k zCxe=`T~O!>JMwdvx)Az2((Oxe%)yGp>xICGnFs}v)o2zQ&lCJ7!xY0 ztTWpblm6(Xw zi|qXg$~)$jbQiRrGDlMl4Em=?A$a&9M|@zl&49s?Gw*4lh${dHpVAns&obh#>~m@N zfU*H61;8;|A^=3Ts7oq^nG(+NNgeBDkIra4yEHc03ut_ydtE1G)JyyhWmAd3}l)Raf(-089dqSoSv_W)w&u|SGc}%CvFt(SK7eOb4u|%q5QSd z3Ifo^FDw7|$9BogYxCANf7URJY_yX;YRr+_iGE z)W}?7qyC&QQnY4ufzhMgy4f5%^=y>5+6^xs;9T-H=$$tO^vKaTYM7*sSaK`*y9N= zPXQ2czJQ+Uv~{oqx<$!SoU*D*_p5ssNtnU&ZMyUC)V!Uf*UEzbl@1m%m*y5tyw6hm zJaaV8x4HU>=*CR1OQ>V@e&QS>=dt1(ck=fxUbIwqL|NL=z}+~w!xFT6b86&3N9=9d zg7V;e*m0X*IznQDQ)r`e|B?#ts^+eRpmV0gsomA+Jkyj`DSNw>2j!^m?(55@Xlcf=-DpL$;C|c_OT}$FOXN-JGoQ&wY z0-3Rjk&|ff6B!jT8O0qCfU$)+!PiZsY#u2hed?vVZ3v%AaVp^%MO9BdrMKQG#6m0( z-Tlh9t}fDTunUX7Sgg@7wUZyJy`OFYFO*1{P&wV;;IXTW5*)p+Y_;%51hu+|sE_+T{k?G!4MDmcU zQu9^xQX~FCp6}DH7|Wv(2u4H_a7AAG@omi|#}aaz5wNy`FLUVcVVG&l(HIsWOveo^i$4b3}qX0%HovRTXx;@@s#q`<$p&}ZrBUO!@Pq2vNdkI|ZdqF4Lq z(?3U?FYzE}QWQ=eX(C$MGIv_V+3&{ZBg}Uq#9$(kz9$h(aU)ELF`JEt9pUZ`uFgD)xpL-*{cUN;<7dq5A( z%4iyWV`i~zbUgSDAr&_Aw^T~9!4pP?CVKDQ_ISm$VwIBDa#75B$%1YPsKMw?4_)Gv}!G!{GeO!|`A<$P(WW&}4F$vyA*==IU7{9&)rSQ&C$ql*b(` zqQh_IK1dANeP-U%xT?|A1R2TvNKfJp&np4J>{<3C@RXVj9U+C^b(h|wanITp5}m>W zFho%gN{^@T{hW}lp+=M~!GHOJvb}-Bzr?;po%?>KtM|dnm!A?9*P7Gq!9v z^xY9WJ2&7PA{-y zpv2Xot{*h$9a*191%sbu#e?$`@j@MQqyH7{opyQy4Q-s++WljO0N)=UC`$OziY|heiwWxWq@26|EILW z@j<(-aFgk?_9CJFck;_YZ?x-#8V~sJJzF?e^RZ{iZ55#L_R6n8X@! zFh(XLmstE`Id3dnxo0A6Y#mDxJJ6MzJ(^MeVm=GSJWQ`Nu^6@qc zP~NG}t}&i7*f%6$=7DiF%=gEMvLwRMsAb(loAz(ymtAcPR|2+n9?Q=c;RUyqIr5(0 zkCKHI-)=H+E0ABAED1@M(~Lvc&HZ5iM*od$KFvYT9?pEm@ts1O%7H7{|7?(29)NS4 z7Vo#F>2Z=BhWNdXI~Es3j6>vn>JhqMe3fTvq<|V05pxX*S(?Sd2hqqW`OoLSkXP4f zqvKq9j%+zi+54Flb&ZJw#Rfd0tU?08S+bsoBX{0S$hjw2czmtU>!Ewtq)U<)9zayF zk@5FB-V3L;tQ-i^7tkY@BQ9pzeq372I`ON)tE)D=$A#HXT6nE8XnwlvF=_MBgYzUL zCSX5dtN)_qoZNvuFuz4^S-7W8CKqq;3Vq`;Th+SyO*89();5VPYPU^2ZOibpG{(De z$o-EUfc&#Jcs)sJ=WRX2L2%Dy`9{_}=pk6ea>1xHN+UJaYu174$JA2xmL2JQRuZ*gHV! zP|}|~-p8t7Tsy$*W8UF2xF~6-6_`ce4xJCOx4oLa6g?xH5$ufi40$tv;P?K6gGsut3@V3*)u#c3?rkM0-B9WqzmDkXhCT~!ng%1 zoRletcCm^a)wsaQD~`cY+%tGU8ITFbFRs#+ed72?ia0rZH2oAke7J|VxXJh?SVrJo z$S)jSJMd^+8D<%zBa1pX>xvuiGcY8r{7Dm5e`lV~d7Hm+;JM~?-#GD8&naKaRk-?K zroSX#WzhU*7;v0g`WkG)s?@0&ByN!P2Umh=iwqVM)VzS6cB&oUN&BC#7-q1U)m5@n zTTu9s?~qk#*FTqQ_yaCqe$bVfSr#*F%0DoPw$B=kPPz|Dyb#;8c}kSICtB0~jPv0U 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

HXk?4=Mwp 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ⅇ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 z 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

A9*x$@uV{S6tPXEtqx(~ne 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

}N}mrJO+r3Atd{oC%N3jXkfPzcS^8FVMJi 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 z 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%0AnZPDr4 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 +@oSZH!G^=FJp&U)bXEv?abZ8{BmO+c#O1 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

MV3!qpMN1hF1n1ICP5>);z#V4 z*o3sj8W{!-A=D!*W3nr+eZh45iTt1;r+K7PppVPng#Qdc4k^pS%#NSi$`~3;;6_n$ z2DLd-95@j z1@$5@&p0kMB=`zmp20Z!& zM#(r?n=1JnvlvL00X&@{mS*qq`8riBz*|e+~4j86a)84 zdsDfRn)+qRIJ==$fLjy_%e;X82ajB~jDnrgS~%zxk;SXR{h{9m`554tE(DIjk&wMf zJ`$4QjxVLujqVy%3-^Y3#=wdCcbZNIG#qNB{(J}v2st(r5kh;Sp5~Qq)#=C=P(JF)AIKmmn z-hkD&PkM^E6OC=ky=Yp!Mz`Z_xN289=`V8?wKlchD!-GZLvBy`FhcEaSKry`TK!d4 z@+s6NT#F1;hQm35F)Y^xz5s4Mx z@+k*$@Ha%NRs6sYpo^606ex+}!Chy`u*KEcn)S?d0DJqu-Apx1?}J^%EZu@|^JBI|F`JGj~UiVT?pX#JyU{uUo>)3eV^iJ$BDJ_nsNpMHB5Bvbo3g~D|l}cwVfR3wcJ{W_`5%~D%wAD znI2{QstX9PCyed=qUGHfVttioO6+@aK2()>Q<9KlyybN@n8oW(H&}?BPnFxI^HPi= z%+AWcAB<)md;UPk=d%FNXJx%Oyx8=mFHf%d=ak%Q=Y12sMqEtY-=*cdgCaA)e%^^2vcQ zptOFzd37EAKk7VNH@n+#pHkJdIYG|qHUxArZ-oWog@#31Zv{nKLBDAop}8L zIjVuG4RU;_+FM1E6a=Yz%qB-lFHNXK?v75zPw$y47?&S~b_;1qjqM5~-D#PG!5_!2Y7GBP^2lyd|0!R;TP_2Ovnw91F_+^_-a z@p0Vup(EMx#drCeHWDjEO1~Zx)gut;=zl=wZZ1WEp|SxE5dD+-m~PDWnsi#*Wz8z< z;FcDSdu>1C^DODud3s&LdaH*N4Cw=7-uVI(rMILrdFV-AbLNCjuz*M-CSN-AfNPlR z&4z=d7Rvz*huPy|0$YY}{hqjK0AbY>ItBemx%R{Z0H=s#xaPRcuJUW9b6UwDd(KBS zF+qLr#Mz+=)-jj7ianXZM2DNL%8R@es|Jw+)FaT3^d1KE2wlK$5y+bO?xTyjUVAJb zFa_o7ItwZ?_Xrko=pE>gS0M0~tPMaC&$lGbulpMIHl&(SSLn{Tur!NgAQ)hXOmbt( z-OTrAIXCN%$L^OyEi$vt%0DI;4d!*m%E!1_hj>f>;dD6bSg@Pf!}8aNG(s1ef%?9^~QOB3RsbNV=hzN02Z$sfa08HdWAC# zFZbWgJ^A+1_j#|);TX;C<#4%Rc}X&H?!|{%FNLv(yutv9*Gr{N;}7&r;#!~|6bXDs zb5HHq2h`LZa~q~bR6ILrD?MG6T#P%KWt?h&`KTpzPLa#g`Gp4?lr(|k;r?Lp5GAat z|A7Pl`Hl3G#9L`0RRdx2r8rKWdtva!`4MvBDfGP^VTkKax4{jFB|!V5dNa|gn@Y(w zkv92Ln@IKC>mr}c&|02RWMbuxqwzNCibGj%#`^~8HcJbQ7a3OC|26_|!j^Z$8uf&c zTyrByc=VSq^8@s~Qc5$T1!j{w0|HZoYLW((E*S6Cu1K5I{GK>A*)M)xSoX+Nc>qK< zsi74``p;@*>ULa7EU~R;oPR!c69`k&C0rT6nTU4Zi;WqRPJ@;jLMbWKj| zVA7_Sxc8mL=EBT0f+D-(?)abNyzlD?;LB98O7d48rS0QXVrrod4e<-~5Ek7UUM#nl zhC zP08C_r9Ba<-)LJeyV*ftJj|^R_}GQuLV4-Z>At*BzDqvgVb{Xiyt(&@ETnmA;%M+k z;+;&!DW0^s_XXjtCa_7$jSWGK7I`k*EfyU3%U6^3=&K6NS%Z}%3uZ%Te)CV3SuhHVrKQ z6QGauB&}A>^uXg>5WK=AmOtMiC zazic`U)5x2KET(&v|%ou7A~=Q%e0oihYoM623>?cDrDqsU#%$p=Zo7J?jx}bpv;s zIK5*eF`3Dge*In(=UrUm;+B0s(i=911$@fxuIJhsGL2YBkNsTL5C-M;-w9f{rz%W&+iSP+oATnx3?%ju4b9O$M0D{A;^M z6A}QO%^9q*x~oZg_H;2yaNTT+4-MpM5p)x!NA?5|Q&ui55U2o6(3(DxUxtC0XyfWT zYPn)ExB-F+xLbV^PLE8>uD2UC!uuHsjm(ICjS0_7x|>KB)MoHVCTR7-i&ahBy<>K$ zIm3Am;m7Oa>WX|NuAm-xoec}6D%jYJmhe(7dEHU6Rz$mQgk9Lx7JM%y!*{TuEtD`O z=YEA1SgI8!_RL(ts#&UFJT7xGYV1lRVz2j#VnFC`d6gKOB3)G#%B_0y_+Z<`9dpt@ zNMhynB=|II4PS@TVPYLmzO1x_ZP3}1|430Yp7+V}|5tpYt6V}1eCqv4aBN}yWwtDo zt6k>$r+bUX&VrGw$wtwl0Sc|Idsp+MUd0SO8@)ek1b-7`oY|#a7rr<|(>iaEPM1G0 zD&ArzS!*s$l`aJgiFy46p{GW6ZO^A(mUM`ITkjP;_)}8U&2+vTklJrwbM}@D4cKp# z(z|!g_1SBhQ#2+tM!&81K_!v+$hFu3HXF{`?Rt+KBj-+=Z1I{{?!S+F$PL@lXcIv3 zTq{57@K0Va^1THLig6sUPm3SM>0%-E+nbXXc|C92As=gU(6iwHM+oQC++%hQ$|Lr1 zyzH5ji54Sb4osq-(?Q z1?wmu2(p(de6VAOOY~{{TM8SD6_VT}vK!$Uc54)Xz?J0GhJ|;bwDPs2Ww$h_6a;_qitw7sG_{bmLR1j2v<(2mWYMUd4gFkEVSq_gw=ZLGlg8@6lp-L@z z&~7?lzriS1TBHBkfYXFkA02)D5{-`48~)!R2-XZ}*hJ=Y3|{TrAYvqIIFR`YfxRRk zc(q#I=ZcrUb|R%nU`z*ZH;`ukei8 zw7`N;*Ni@{(;t>4J*}zCS5MH9`T&cGf0Z7j{(a&64cE7`&Fn`?#E6~_G6MVB!E13! z4l)sJlcu$S&N}k(ET}h^{x@DEZO$beyAqbaV;4kmm1a0(%W%)76{D#ymseS#3dykQ z?A#J!;brfL-3)f$6G?O1dv;5aCAjR#Z-%z6(XR?9frQOMzA5}e$*XS9`>@uwN zY)dzFau!qc2*49|x3{J3mW16@sEnNVyIQW0v%gF zjZ5{@tR)K}3!*99X+~*^_3zXxv4tfjb;?dz2gRlV3Y8-rSvS{5zf?SCMXE|A<5`Y= zn-;G4Jhi7|s{bA}|Gw!2*we21%ki|3=g+p#E3=(|4BE`yXGS6@wnm@-wQFzg`}4#M z@8ZcN#LN<9kouP2Bm)zLwFWJ?_eVoVZT?&SEa_Y>k>k6S)NS&-Q_Hrv*Q^v9LfeAL z6B@g{913+|_QGU)Auv1qv1Lr3ITd3bF!wE(2)xLrf^Eo}0zbQ_Q(IqJOlJvkBQr^A z@IZPu7|g3Zdp0C}3DE-Ap}1eVDLGW^CtFfq(gl3KDn`DWrOkLoQ__055UN56W9jBm zK;rh8k}J5L?`T%(+w4_DV7U|y=unbh#mE8*7;&T8KXrY~Ra>h&upCCFYEp89sm*^pSZ$MihSI4{Ec7UFFOPZ9rD zW|a;rj!IgUKuBB`?b+Qr-a#s75^60qIle%iFzx;xg=6B0!HGytjXT|RfWPje{;wX^8}JxH@|9-I(MP4 zYtslNBMm2ONp=r_T@`-Kt2wDSGdCig?m>iZDf2VvxMF#X_+M_Ah)BlPMyS*YycMj$ z$U|yf)HYqT^nY$M3s9wjn^EZo`rxc|XQmR_zwVFKkr!y$K|8_41uY#fO?x}`Z*Y^| z{jHJvIb|}qCydS2dM#o7g?uOGHE@G%E10ESOuj;p7P<+Ky@bSZr_|{3V53;3&Ugnp zJT_~q_#EIvbSCVSWFP25Ls)qc1+s8~TjY``s=hG8>8;XgqupI!@}Bmy%y8A=d$MsZ zcS`}4`EKK5FD+#*e8}GgDwp2U=LMQQZv0i0Uy!Uw1WGViV3fHYgcmX#aafT0$lVfw zR$MhsM{HZK6*@fF8bSX%UL#It`R|+THLxF4+=fOTfMvL|ceeZXIrb{Q*lRd^vx;w# zWd;{HrvE}EynWFvHL6}oA3ZyCd14mAwNc)yjEHDd`Q0Kc$+y?OG{gyDcK$R79+XPc z98v{8dQdByw5g$GxTdzXce zXRgHb=Ns20VL~cvxb0y(pC~Pxdb&Zp!dOnk3aXvM0(oz67p)BtKNQzr`3X?fJz2 z0k=_><`-$#&ygUp?Pp7|fjb6E6Q2)SLe$nING~quUpqb9Z{kK8gd3@8gRvsF81$`)3ss)sAOC@1nxueRk)J(+@|*QEB&f zv1=-F&TcI%^sg4}&U!Ikp3>@pD{m?%GDq%a_!&*>#{S$z=;F2=TX}=Ts}p3a&28Ie zyTiop*(I1AS9F+f{8{Kw*%Of&-Mav!1Lb*gTgvP0W}IA?t4C@(^P}P#Es%7!t0!BT zrZ)aBJn?@%Wp-EHfF~6EV7i6B?HsC2&|Ub0#7@lJ53u`|zA5;k?H9Y>eGD^)t&}_K z7xt2gbEa&(BIlN^g$s(9e#&ARW?S)%wKpIG20u(nrY)rHM*CE^<^@Huu0R)iD4>_O z(KzsHgA)8m-I01&rbz)>X>5Ly8C5oyB4KPTPHN-gkf1kgVQ*~ze${3+ ze;Wod9VszW>^fPEys;&17kwqC>#3U+EJw9gE8RNi@W^e6AD_Vm*>Pj5FOh;Iws4&M z0l!X{Mto_$_KkYT&6P)ikMJ^^eAy2kmD-a;K1p?o0O+h8xC+t6FhC)NJa=M%sd(D( zPHo~a#{>JGgQPqrsOV23C#DiF?6BYxbk&X-+J@k)$a;S*sh77&c4&#;=;1^l?Co5R zjPd)C#zEciIgmNe_!Q$g0qZrYV{*P8mFxVc1rj}rcY zpxbEAD$8`hD%>aJbebq^xfzC=_DMjsfSz&NsM90v@*n&qrz?~Viyz)w({=02h%(f! ze&@^~Cb;=`4sN*P9>U%H{&qhc#4`2$i$_LaB`9!W+`_vj9#hizq+}n3l*#<$Xxah) zN{=-7(OlA4ph&&C^Vs--JXb-%O1Mm0_FF&)DoLLWctUc79~}^5)qQwXe?;qrQWE|6 z!MH*Trap+5O#?2@r?|aqMVN=;W%8t9-eO0c&utuF3MrUh;R4A<9F9pK8s~-DtIT_JKJS6brsk;2J|dJW2Ba39!ge0N zL@o1-EOd?(Nq2lSd-bn!PvEyRSh||D*r~=w|A1y%{0@+5q%YyXZMp%p75{fG{S5%( z)is*s^=fm@=)6xZN6b#XL!MV0dN)onA$LNY{3%cr)#bM|u ztv=_CqSebqwEMW^>ZJ<-l0pTD&;cmk3t_vsQXZ=OGJ*m#5@Fya!cdAT>A~=yGJ|pXZZZ}+TCc9sf-e7*cwNRE5gs%O_|Bt7wtR8= zx9@X6xAK;|Nw??>LE9}RinEZtctN1&giD|$6Z~_h7vJRN5KCQX*{o2$`!2-h#yEqs znyKI0c8;6s;bF~q$?aC;KO>R0<_hq8be5qy(mwjJqJvMedq*bPlJLCMT5wP?A{h7c z6SZi)m3hdI&n(=%#c8nq{(vCyTmF*L$tGobS277b=_L?~+IFT{rmD)!OeP zEr~AC*3cT=d+&l!fkx!@Jvk@A3qlH|=O|INPEeD@B--A}4uWy@=fo5ZS4vApA}9Fw zQuJ$*eB9Oc^+Uq#5@^s?1z(@=#gc*?OZ~G_4Y>1;^)@eRKVZQu}M9VhUvsLJn`4kZ9Yu;UX;SCMCG~n2#%+m<^u``m(~df76LuWlUu); zZR`_A6r+j)BY&3NAR{Y9c(4s&I5&W$qtlWbf#bzHde5F~(RiWWlaDqVA`!r3-*yUD zik)7JK+}#WFIu8G7iqv2+tI9J_HMk}ULFUQc~|oHy$vwS)ZQ)s;A;pGx&BpD*~^un z2IJ6KH<@f!H!Q}Z%XCW0l~4JDfAd4sDXER+9E&bytDr z2t#`jU6P4sr^#VQLi*p%65ppL>gUMf>C3I{{Ry7~J0O zflRZEw6RS3)7eMy4u{t=>wLgeQTz1j z2qB#2fJLZ-jX@xS9x(ktHGlf%r2`Hj&moOp+ZHDf1M?be6p@=1jPVUxn!Ly6LxfEC zuKd+91V{0yAr-aaW4FNzHp8M4rjV7JFBB@7E)q+D$)GjlEf8B{oRN<2#wXkAjZolb z1JSn1YegHQM?K#XrsdTeOP$*&Zk78^+0**nEkU!G6jzmex>fId&(bkz!X>V7Q$m8& zkj-j$d+pj}&s%Mt+9>wKSPK@E99N)cvW?fPw)~j&DNkS(5#r5KaMuWC@)5;+BlnOn z&;^>hBY*NuOJ-TJ>EtAe|M+NfdBolCX~$$oaA(QyqkF!n@h_RbVA|;*beZ%6muvP0 zyQvUS_D8UL}}Lhf!|r0_DqjO{%O>Eq2J`1}`UdMj`4 z)E_Re%moJ}q0+;LS!rpG&btm*QkyV0KQqxdA^mQx{;L$Q2?u9RGZ$8fIelFFcJb^j zXAdP6JOa%sehE9xZKGZ|N?H^|d1RRdE+%de+uKk#KqitJw*X;`$Bw_iH_b27Ophn* zh3pKq5YYGqKRNd%-~LD)w+dG4&%dL$9a}V}@5QMIg0h{BI6JF&XHzFHb{7mj#!Wx{ zvubFsMtVL|su``gtN55>~9 zM!FPB|BT2Om1qRS(fr}u;zHk-471$iURaEih7vU40j;mM-3Pw+rZKGbmEK<61_M|hCHa3&LhaB_?U>(z8J9ukN*etFRz63DirAO$7-S5xS{Hvk<M@ucI$;&rsF!3!U|@`_oTw(hni z8qdV8TY0jbN&h!kK-&GpCCgJ~&gu;q#uNSfOSo9$<}qr^kWt|Z7mWbn%?H_+pOV#l zPR9!t`S*FedtQqkLY_kNI>(fMB20KjJfHA5BIL;r;H&WPXu{tKxvPV+KuNWhjcN{d zU`jK=^>W`WmK+jBHB>jkW$zbwpNGaR6!spl@blWA3>j6VdViNFmq|L~M)$b8FX0AZ z(ea%$Av210Zm#cG|IrTg@F7>V*)oR!+&+D8R)F^>S^%P-&g@RFrU1@{B4|Niv|WH$ zSZ?xdI9a)+n}G)8G*9AGvI?HT?3&qPvs#+!LT(5smyb#H*l;q&ZUfl!fnvW`C#nQ{ z_827zPbJ=y0%Fq@PvbuBNe%5Kb)-!+KM;8B8ca$}#|?~mqC9 zey@evnnOi>GWMYg8Ey7(MR*DmA#*zk3Fz%>EcLMo*!{uFJ?S}~86JJ&2!m^2IR zvyjR-))IeJ2gxoI<#isug9HV)l!uoCo>!J#>U@TpcA_o2{xHJUNaZk52taDyUWsV} z8Yn!i%;&hw{edg^bEM^20x>1ZCm_lDWKI?CJXtMOzGyyx^i%WhxXK0ar5BCI13NJ9rxLx|S)>5e5y}$L3T|D(#yND`5*s({G@Z#A<%@~{;;`M?tTERW?H!j7f81sCEBX%c%O z9`u?1{2FXAl1rI9Vih|Jv~y~*AkptVuL25VA9)q@w9CP=b$I7omiSY@7>u#Glja+c zFwnMJmxwP-0Bf_c(rX^a(kPR}yzbH_$HL50CDeiMk+Ul^&B(Q&g~*PVw7r@1Da~9}vG;xY|a0m2nBR{XXup$_*QNX*(vr!C`+qO&TthK{2O*k2B5> zGlYnyLl~ z7a6r$eLm7rxI&@AoCJ;4l?&Fz5D^6COm4f(pV#Uxf2I+8_Bq!rT7ajr=^PD$vBi3(%fLDx)bbN$ec+&@2nr&&!&6wn*7+LdC>zQR-@0k7AV)1Wf2GG1>ba}5Q`_}j8RKRSc*4rEmi}kh z^{e)3Idvzsv5W4J-m3&|sQTJ;zD_WuVM$>(_#7|cvTt4~ze}Zw zSGlf8d(-F}{tny8X>va?0i5`L{xp~k_M(OHW5ABn#+nN2q-Be*L} zx8P;#WB=k20H>I2RuupD7PfFhAS0i`ovl!^XKF-cz7=<9pVwg6{Zcx5Z#yUK#IsiL zv^vn2z1eBZqdnO*R|~umY-Y4>B^@4MB?J_+(zhSG?_mX&?%he{yiaaeZrFrX%^C1tH3fKF(Q}^BGDXgZ=9-q?5%DxDj;C~aI zp6UTR-<)9SRwv^TG0vXa4K12yp|;Z5pfxLm4<*ul$2Hv*8qMz7-RzJ9zMd6H_BVDk#`PEKGT2-_dbK$ff;3^3X!4#P&_x>l zdsd3YJvC62T`orO!uU&Uy$OdNGZU|i?|{m0ey>0^K@VuyIp18 zEBTKj1im!M5)O{&K#dQou%MN@5bneiMzd zzQt}zx4bk4-d2>sF&8TZK!qyS9y>FMat4n>xJN9}u6_ClL2MQbAaf-9;RIE(3t?_v!mEPaEp$bR6@t_lS z@z;fkGzS&z8+{BwD9+W;$2^-ku+8PS?H(Tt(w}wGotE(j_(!w-%AZYQOys0CXa2}M zAVHe85fd}r)=b!2eB8jK5++fW8B5{gBb%h@jo7LcP+zKP_c$CN4XDg8jy_jap(}v8 z9^{1&8avI84cr?-FkNL?H!INOv`nFga zoiVD^D_e1Y{rcCU@YAv=&qMmN1pi&rr&k`eT&lAsPLB}OI^8p$-u(`DmEpv&G)@Z+ zqDltj-POqL2&B_sqta&-7;IeN?$=T~Kbj&R!SUhM)Z zz$B$A8Xv+rik*dPeMXP8rNmsi)6}}2(!O?i73^%wYqE4R(C1(S(!-9$q^m7JUmf&y z8@&KbC(c&ua2bV?dAnUhXE|EsgZ3_ zrQ)-5(7y4?RmlXRz)tLPTT3?>0_pxJpHA8p4&#)`w70q}XH?6G&BxaHcdlIH$}aI^ z0nu~u98g9h(1CeafnEz%dhd(%5*OZoJi(tidyX)tW_!1X4TQN>+xHu}=cvi0U6#!% z4qjSP=L>u2_e~VC^<4`lOg1vUW$ZQ{vpq>Ct)3xCO9f?c?oZn4_*9RNp=H^>2#wP} z66kpV6qTWTVCGt8M}p0Bg7&33=)*2h2Hln{8k<)H8!y>o7e7Ru;nk{|ABcaM#S~O6 zirKp3e%^i8B7P2OP!5N4=XaVvuXjktd>4@k)(M&3i|iV+#_4=n7FQ!^E`f?5DKg50+H~b zKZ6YQ**;su2FcAY%NjNJ(|bV9T;wh?B=`w1=P=L0CPm>qvpR(n`|+!;Ei{y zgheouQ?t1jLD&;ICl{$8~$IUu8@z#3HaH zx?RD7%0@5+jQb!dy5+XV!Qr+gOpc*PT#iT`l%hVdUx|*Y@5rGxF<IC-ab zwO=a%$31hwUO=L#Sp1m#+LKlwcJvRovDzUcKqInK8{^cp3FT5}paqD0Wp1eE=yuRX z-^y(v6t=fee43emwh^R!($&Diwm9)Vihb_ozQlTrcJuQf^FG#t+?(lr?|g*rr^uEC zy&7%r%2&^I}2$d*JH;Jt@cfZ zUW=oeTURIZo$Fo)5jUk}CYb{$zqjAZi{DuBcRRt%h1!5o8+bLifrTHI5f$R0%15Z# z5RUb}ghlxRI+gwv3=9|Ob0C=)DA*&}Zw0K@Z1&WzHUJSYeZj*ad1wQpjnk|>*DIes z$=Z854enM7ix01GaZ{tc`hMXTdD<$W_8s5ybGXlLbR67 zH9RRx4TCuOqhq?SnQ_D}w8P{#$Y^sWRD3M%O5@#Bc)E%dfekP*McDSfWjM)J@q!^q zsr)7!3cmRw*5J=Bve?ObT_l90XS4Jm0O^xBEf^~ux>wYbR>BF{;q$4j`sG!-ld)FC zEBVw8BJ?I1Bb{qnSfSXh>71Qd8+G;5PZwN^9B)GNC+jjL8)T0h|dmd<@^V2EKJB5}Z zBX=>g+f0J_yka~&G9NwM#`~QsIRglpy>hfYHvm&5Jt3s8pIKAs{$*ujc4-D5Tv0|< zbHKs6b~cYTyJjudGDg*~JBPDTN6q5LpB(VpzApAqEK4NMw#}XzOvu{i!l%mB-&4JZ zwJF~?El3~0e-Paa334}<-8;CWC&^sKL3HOE=vQn-a3WVywMX<3Q$uu+)eYJ8bZvWz zYQB3%iw+z8+W~y@lz-9nKbz5-X2(!qCfW*Xjo&kZUN85EF}&lEe-U|00cp=&y7-2h z5dgOw?t^!A$-n&nWoQW?0-h5zZm$ZtWtBt86!|ZBZDmPyWvF!ZpIr0dT(oI>v$kRb z!?(G_$$*tlfu0I9LlSiZtTN+%4-Ikd>~M7}g@RjKu0uHatEU&M^JSxe0ukvo)dL%R zoG2+L?P7AH`~@c&XVB!k-9Ve_w&yZ+R52c0zf%>{#3axQ?pw4JJf?L7o|c`V{(RBL zP+WL@QUuhsO7yUk>LYENu5h*fa=YYTZ`fbWw10=&1(sq!Dp5UstcQITlBnBW&T+Yc ze(Grgt<*1cdEj#Pm42Q9_gFx$E;6uUw4XN|zDz(*ApW3+Fih6maN9aDxXXYI9f@uc zZEMGiv1E5pv>3lVHH!b2eYAGBOfRsQQ=>i1$HIz@@>t&Qr1t*nrF0A@*VE@)UvYRt zna6xI*yHb}`y^%GgtXeY5!u~4e4@zN+Y(tzP`8VU75}|#;8NMsn82(NFlUFM_4BG< z`^b=>oB6)ymwfvr>kZ~_pLw|zECMn}W(`je1;34&olN)#du9%Y)LhWq*yJ)x-En+4 zD-fBW$niB2#Cr?m+8z^~zzV;xh?)aMk%{rTd`@40V@Y>Epy7&F`@CVN5l{<}1jTD6 zQ2-3OZ%aw1W1Q_9=;2TARmF_dxQ7Liv?`YXNqGL%d0)hrf>lZTpu2`!_fy4eCbmN$ zS4Q>G+?sdCugnE(%UJv}6q(O?P};m8+?*pS z6izD)B6I5wcmd5r@XuyTJrW3V<#>B`7WS6}S67H~N4s&)i@ie;4_SK~-mXW4+d0WIYAk3=KzCL?Dw51yW>ZBurt;r9bM->v@ABAKmdFq6cqJl3l! zW#tW_h3z4hu`w4t8Lo~>e(ZCOmSoNkp3xTr%@$sIsGf8g)(xW4S_)ys|Y}?UsXO?r0w{M^CQ64X54W2#DIF=RJk>sRtMK z{35t#8p2+UFv?{U*H=5aGcjPDX$2}oXXiD{e(DN{`(a$1mzxFw}eiI;RniX4(iwMio|3> zK>o>rZK=C!IS!?;5p93Z>Tzq=NQp*)^3V3>49xlKIzjuK^p6Jp+a;=5iq@=d0hu4e zH$F!m^eefuk^`*dH}af zs*x+wVm6GRcK(z5KemT`S8w_Bl#cadb*R;HMqc80)nwEIh6$4D={M;uxgcu2)lsx? zC|Uhv;PS5!;?oc4yg`HT_=mKU9lxoCgc6B&N_<=CQ1lK={DF|iTUn}nhd9i#GhG}r+ebfH0BH_cwLxga~qKh`j_H=O@>oj+<%Y29FVF2Px6vDTR=ID5# zL}+Ub^5P#!i6b7MYoj#ZBH!3_b?_G8>B3VUT+b_v9>&969JyaV!zR;79BvWv_e$=3tph;y$ z)mg5nOIuPr@P3F+VHCX%$8OxizV639lockq=5%+-bM}iFr%<+z*PF}^l?DwL>A&ze zkSgeE-#-02D@W@bKK1jf@1qM1cBmfDm%eAbzVpBP^GAXXT0l=?ZCt8j^waugT}W_u zN#7HD7Cw{@jv;RCcVpjir<0=nVP-O_;+_{(Q}t(EyNtb$f~rtn0u^3w7hU08Rg_HO zNUalzlHa;(jND{ofxnB1SHr^~^&;}gC#)MV>W0zh|H^N29uddhyGTv}*hX3NoiB+b z6NNi$b2a=omVdf>I9_ReQx`5%;O6LdT}z!CUZ=wjVno?21ei11T&vBzi8wT%1&np& z`5s;%da|jz#ie(YrO{@X%X8sP`l*TOpLLO{fxACMk?~=QikFqiCK$Y-Z>S5%w0+?L z+petU&~8PBDM#aJ#w>d;mTv#AWv95?-Igc0RRzcipw{PzZ@Ka%)9hizkGYI8Z^qR4 z)chM9hSbNd6?dep4E6pfj!)y~V>V0Q$;Lm8l3pu z7Myq!QyS55->xn{QN;VKK>KN`b-tBt*>xBFu__rCE5$U;Ul@$D2O=lRdsqdnS)SV& z3(F4cGZQ_kd?Ogtmm@xD*fKQyc5-$*Rw6{L?G&D{==1CiQj0txD0|bMq5P(~#g89u zc1!>Ze|a_3Jcp2!ig<#NS*JA=(OI{5Bdth2^k4i(){8m?Gmpl-RqF@x3kbwE_u+{> z=G9^vO>kF7lU{iNg2x@$VwR|ezzl0heROi43u>gU-BSw-TA zK+nSG>AzO{wnf53Y4#?fcW(Y!czVJt&ySp*&i>e(&#K0!*)~wo3Xi3gpe~f{rg|Qf z6IMlQquA@-q!96^(Y>>VUeLy4r662S*^f#>!KB*vUf=C}QDP`kT!qPoKlhA6a#jwX z9>d>nk2JkGI<;EFX?`!(Tjt7v8d~cls_;%E+VC6a-lW;8^8N2yuBdtaz>87*9dMi8 z7pdW-rS_&@?NVSf->is{-#I9o*Tazx%h6^xO=2z2jcjUFBuWhsJ%2Ux+N>;s)z;ew z@M4YJHOOrn+~>CDC#RY3f#dtYSRdZnBMic9nzL{EqT~_WPbm8v|J=*|eplgu3qh10 z0Sv#9HrsEm^H}bFC}}uh5`3Mj_miDIe>@>1M>WDbC%W=OV?V3p?1(|a%~zEnnEmfL zPrj+F^6Y5umJNawsUrO3(VeEN4UR~H4n^~WcL%-){(k_nKuy1(?o$kvXQ=PD zgT;X2baYS|dEs*n{(+%glG(tPN5G?JFlpRuZJ>Pe-{0czKN|cxE_oU(nJ^%M z`j6;EATt-QmzLIZlI4CWU*+vt;-T4~0sNA8>hR^U<&3d7b)>$~tS-IFul&>_8Q>Y8 z2GrV~wBEYZd@9e*o{A1jQ$Ju>DN`SQcuIQ#<7KW8R6M{XpktwbYyX z9)K_t$U`+j+c=l`R#8q{Al-o64{+dNiDyZ-w4p%(`N(C;kcV<)Gxm#I#Z9}CM-W%? zThxa(>V528>3wun9dOLisGi8)1*f)sByn(=7!l5!9Ej~_i>>lF#j6fRc$(jCiH%Rk zRBc(C-p)3*&ttcgIdUZSJV=~Ix0_R*oSIZCRFR|p3jHPoHZmA%*@Oo+15)!Qz0~C` z?R6p0u9Av7{PWXD;LvgZ5#>s;R~z_%<`^6d8stLFQ>KluhEPUekv#+Mw2ZWmde?B$ z_!DO-UxRx3{NdWJ(;|{VBYpfRKTZ@!@nL@2{77aoH&5yWo!am)j)^bH`xFa?fT0*# z-39cIab}owPz)U-L?3%wVF!tb%urhnasfn##r$ zt?k(wkfp-SI2{+W-0zf)`mn@btAp3H~73zwwMDYl<5wY;_&=l)5I-2E6qKW|>= zw5R^;=ibZS!1`f~7`xp^ageu8tohK--s$SN!^iE+h7h}f1o^;+X7s8Xa+!`btVOmn z6J%zLQ^)bQrNB&mJMA1I*7WqLGi&G1<_CWQzZ^4$IkKObSSv7is3Sw`TwmK|=q~4o z!)za}RTg~pNkKkNy||ef=IEeV;Xaw4({# zd->kt>(nvbJ<8FDjvmXv)6cu7%PcwUFYYZkbh_Gi@S)Q{lJ3$CZA@qHgG=p$ zp2%~~JJb~}n4C>h5_`XKdD`VYVO%Fb*a&1yu>Zhx9Bb{m<1coqh2jS`*{ zW&#^mv@hPpwbQpqXJ{tQ!{R-~s%)i&CNSvtv80!2i_TkBK9U!EyrrvqiEIVD`o^kP zK=QsqLf(6py=j?&rut#~+77VAaE|?T*OuJj6Nb0de$z9VX}93_;I0Ro;wF8{Y9He1 z6P(iFP?lZKV|2fdBsPg)s~bD&KngbPWF`-u-H-F02^j-t`m}XAE7Q@f$B+D&pgQ1$ zXT{`ne)TyH`h(csqiG*jL$$!W=_mcxi*0w>@!F~GbLay)IP@k6@~7+#`TB;dx9^75 zqshn6R;bEbJ};hXxu~9#FYs0ao?WjC@E?Y6mcXIo{>`%aUMa6rI12x|KsQ@&rFS0c zDqiDQ4Ga_5jJ-z3NO0t9Njh04Hv=E*TOE^`cqh%Aj00~3{*+T07#wF|43TH?Lpujj znnop#k?{_vnLmy(hrqKmow;{Lh;cE~s2oS!eP(>*<%GbmEXRX$Y*x=8VDK|&@D02% zoE${7jWHE3cn6cQ94FEYue`Q9h~xO!qTu;OI;8FF?{)IT*~|`qb+ zbw=QmFauxvc2lnR>}Iwp|HLIJ&PF~QN{5KwBPquz@~d^HBYP_!K1gLO!FraC@M=~D z$k?x8k`+0S!SL^n-c{M6NxX6#nU+Q8s~Pe*7j%K_#(DExG^Gp~smJv08Tj=I%{Z~( z$_wB5^XCF(v8Oot###CLYkQ)tBA9vYnLGL4eADrWenqm+1m~c>NXKqT_P7B?IvsWW zS!SX~KMXcq=^pAdmFBa*73hWdn*YYk?Cv6|oCKKPZw7qa{J=t^I(IlW-95_}W zjs)MNi`O2}g=Ygh@aVWL1H1WgGPtTu!WG>s-Xb&Yj2t<%1}%GQIR-cF)gb0H$0{(K zAcH1b7i!;q9H))^kkf7kEOfQnLEsk|3tEe!#G$@yun0L2nZP-tD+X$zpk#!{8f28i z*1Vt@t*r}=|HDVG6tV;KlygT9XO%(Ty~rFs^^(7Z)^}8CVrvg}`Xn)Os{SM-745-u zG`gaWQu7O$w?iCY_3pkJs$THaZ1rvNEMMtc_^OGmz+_{?P{sS526ZUU6e(Jh#e2ct zPf5fgRD8-5?8K3;I$+z?Kbhfy4v?MTS-uH{bMZcKP|U>H{VxT$+5jt`sK@)VoRRIR_7$Dz4Tv+H+VaL?u|I-Ifx;2 z@(KLvv_TpDr8m1-QK7d*Z|EC-YY-H9Ra?TdXT(G|3>cRpZn`D4LU_Q>LT(3SF7+^c ze+e8q?%!W_Kd9swjBc|`UBAdy2R{xZuh}Ob`|0d$&0r|Z zo>}(tgC`p~(vah2*0#1sq!BUD8b3N1oiRq<85G818lA>m203tb<^qR<0WllExNvCT z9b+fnvv}nhGmRfy28N?HTVlXL4`&_^=y91rM}vU@T9xOx!sh~aoEPQ6HoGW~8A$NG zbI9Gnymjl=+Ql4?Wi~#*YwLzte0k7n2@yU{8M@R4T;yX9r)P2Uh(i}T@MKGbSvU^# zsqi~;O>Xb;3`hbJ*dvy@!m*S-{tncOM$i1h;%6TQE4rWMvkWV?g%k zlOJv16%Uaic-0wDrs$A&+YXeMpR;5@g%5biBE>3Q9!{1r;Gts%5J{?MgRl#i`uu+I z4D`?}z^fiOq(wvGEX~5Dey?7;YD`gZ!G^a6t%-E>o57KpYO(@*H~J#rS35ux8Y`~& z>yEbvyo(M!c?3L|XrKIM74x!oBU_hrPjs{gpIz@aZrtb~S}AhKU{y6rB6?dtS(-_{qCae1@>%D`4VUmb{x! zF!5xyZTWr5*beo8j*+ov{0nHFdWQGeE*qvDv~#a6(T_%Ol$*NMzmSD@{IYd}YrdVD zGTjCX<@f$GG61XLbw719gDJnX%mLku&Y*{*C_jl$UNWnQ0~AOXMwXq-!E8H$2QcxD zU-?>3mUiXUvJJuCl4;}z23f*2@>6E?c;qXMywx3j^Da-V)GTbEbhc9aP=C_p)eq}~ z!ScMd)vI*+-IJRRcj)7IrCW7n$H4Myt0zrJsoSXA)`ost+lbGw@EvNksU|dfQUmQ{ zTbJCDb>0^8tV&oU)&vTHCb+e{dNN~?}Zp3Xx8btz?l4CFlL;5X&gY?PS7F_d~`5+|Nig)UXIAc%u0mgY~A>} zW-Q*h@$W<-PZC^s?^`B+sA-Hu|oErEXw`eBY2U1{IA~(ahc`7rD=kiwx|%I&>g#0~)qXfs-I0WMc_we3&Bhw|sOy_I|0kz|Jg5QQ&wl2I zjj|;q@n}QWcG}b*;b7KEHl&I zdpk|%LBDeDWHhs!2G#K65pC-E^jROqXEru4*i-eU9KFRe8^IQeKb>uL99(kX*gk#g zHP*pe3DE{U}q)Jcv`E z(OCMol&NFU7zGVmw7Gq4aRLW^+geU%_Eu-j zfr1}Su)#&A`Ve16EFGV_8T8Fc>&|l3ki+4f0abHW5p2@{*Q^|V$$~>Z`OK)I->fXU z;2#+>#*DL|?4*sHrY_{e2j`iLh7PoYElnAGNymqy|2V@hUL-BN*|#p9?uj?6d_S|Y zjJY%K_p%pVS#p67EY7EZZmSsd&%o(^jwGGgT6^EGU%#HE-Gy@&JfFt_a*mE~#36@M8oU>?e;z+Gps`#okfnU}Y%~(3FULLiT2@bagAhli?#3YlpEK`1 zvLt6T(-nKj(QJzqN9Ds0KP)|pakh}7{@?$P_pAQj zefQnu>C;-!DL)v0|M!2t_Ookm2JaVG-HSuJ^6J8hRN;&K&2GcFm;L7x@Y_ze0i-t8g97pJ7~lzLnU#Q^32%Lp z7L-K``rsGfsck$_BQVimyNnO`$dp|Z(0V$1gSAONE_ObHN~e5r_|-ex{Onmf(0;|* z{$g9Q;L%RNhF5T3r9qyiCv7!#DomWayyzf1yy8(nyEttHed=In#)o+Ftu}X}2leuS z366BI)QtcST~>G6rhIIRZ9r_C=bj;MUZe|);`RJ}|CCHp*q!{ruB}tCRqELOYrMhe zz49;GbJ3A<2ZKC<`~p73k&QCmM=$4D{OVN&5B!l%Zsg}#-MEA8E(~1t<5~R38$B-d zC&)APrC%M`(v_2@4&6-@_-;WT2_D>RFdLv9nRq&VCIisuo=F1RowhQG_eOjItCzlq zu$3!+f~WZ>rnUv>8UCBbmL2-d(>HJOOjv%f8X)0Q(2pL5A5Q{@j{A=%%kKgG-z{qcP5-GCCz`3_SzHun6Puf+-((?()gQ>5w+Yig79jH~BnsXu$vz z&gn?dt8?MNa8@|^=#h`HVx;7^hn?fVsly*!IvcQ+a}^(v5u;{S_x7FJp}`Laohy7~ z;Y@tLVrfZzJ0JQCKO>V_2FJ5J;_-Cmbey0Jnru-L&?26rC^(}Vj|K@&n-InUGm9!O zSjyoC-Qv-N25DsKVw~l3mzT3i#+);IbMa4R@~SJBd^*0=Zgs|t^lm<0;=oDgNT@Gc zHOxM5>zE@8`=8BrIzm!ixZqY-WbN_}KL-=7>e{vqx@WdnU2Z?vDIV0>_V!NACP&N4 zq$_Xv)&O8DGsGNcPQkH!=vONocu41BA9i&S3%zv8%!#8J5ait@&Fm_^$*Y~w?lf#K z!RN@)s#R^N&}ftkkLX1Al`EIZ(W0OB?CW~y9T_@8l#bZCLcj2Hi!HmorL4x{_WqxufdRS1^W0?`mHSa8hol-av~#j0tcDP z;{sngop4EKGw^G_zK=}lL_3u|14|z8D5q`UFJLMkJmTo3I(3cw$O%5}NSSG~R``?? z7hihcwn#@0y%Lmli5uF{35W8h^YJH#k?zBFa~dJuz`FAO2e1 zu+_H69ev_f<2~cS9qpb4c?EJq!?9zIx^=2i zJKJQX-Lel>1C*UICFi6GtMquLH+Yt};Tl}`>YSrY;hQoG5?-OVfPRNRL(>$&mAc-I z%{rPHE%lGy)u8n^_oW7TYk98bdEGM^pj~Jk?bCDSnQZ0pPTqe)TNo~VDBCfodG(+a zTy0A^GNeD=$#BxZ_dL3;j)dtC=%hUGij(eHe)h*R`~&CsM)!^EbhlZ$X2tj9+T|-3 zgF7d#Wdh-ooBv(=-Z}oh+c^Y$!i z+?j7#9R=g?&!3mTq2vDNj!x-179uRN6bb>S6f{6Ge9=8|OZy1-EQfhF?-_DMPc zU@IS*-FuvqW77E@O=EhP+J8BOQbz{A!jhr#JYq1rCXZEH5J@ z49yIOXNF;To4Z*^#zu!aMh*-YBQnN>lLiJHjMO*@42U$w3M}u+xH#S8tfNVsa_Div z$B}`b<1Q~8evoFI2e75X%ZXa02|nfJ1%C|e?aWMbc54t2XJapNJeC>wt!(80%Pg&} z7(rGvI1y$i&L$iMEAnMHEhEO(>@JZbhj@C;te zaNCL!B$=h`ZAIXn4V}u9sq(gQp-mto@#;?=GQl4@4WN*E`SQ(O&EbczHWj@DJY&Y}8*cth%Lw#eXRJ@rT?A-L*d^aR}o zTJT8sOS$LXI9qbknc2!jcTQ&p3cq!NP@Ef17Mamse7v2lK=1wPSM>u+AAkIDeSmuD z(uK91+TU%E+Q*E3_4VDgE7z`+1BVBLHuM?PkdZ;#fBeUP6g~E+lH=L5WqfOUR$$26 z$IH^l%)7LrFZ6&bkh^+bUvCFMT%|=&=b{%cbE-?pL_z`_D5w!&@c@5Ig?t~Y!_1c7i=kv^fbL(B=y+NPS1qHORjX(-BtCL z{4I};Q(hX}=owiluillPaxJrV{FED-m6ryFI(3Q<^-%}vRhmmaW#sWJxDTz~Id$T| z@;pJDm0`3@S>=YNp?mVz%G6>2Aq~8`;wTP3-V<5vyzY6nrS4d0E&dILQWh_Ju~G7u z%=0dOct+2_9Q^8ca85eD3uiJl+~#NGL*5f6PQKw+*?D#!I}R6m-N{_rVN>8!UOvII zeBj6n#>h`z&+1!{21c^J0+R#I@1Vm?qoankPd78e+b~JW~9-B4fO||0nWIMA2D)Rvx`KoaLZ&WGxN$lAKGxgK5c0nG(v{nk#zPH_OG3qMaxJ(t!A5}p4o<&qUsp@>ZMLV2WR_6 z9@0*d9z%FGod;*r?EKEocJlX+r!Wp<1g4?5b7pj68YyETh$|;Eah$U1jFVS`V>lQE z&*NBw+eV~6TvHxAdBFBA=oH3qfvNl$FSLMz1|6d^%7ddZGcp`T<)n{+<521Fm4{0j zM}M4R`KE)C5B=Up2AkQ=p;Oh#7jHV~(8_@<9FZx01%`@afJPtUa0c<@BSd_l+0rh$ z9e=2tj>ZSV($Qx|86J5!LFffT9GdV4KE60>XdU^}laYt~BV%$iYYiqmELcBAuXkiX1{p-##7N-M+#~{}!3!F0hkkR7OfvE@efxojk-tpG0ThX`s zYwx}H-rC!5zqR)9M;}$k=%eGE%)FwZPUZf^aoB(JGzvkKjrWRrgwDEYpWaZkb@PBmLIA0Qahb7+X}Bi1YT#>-VbwG zHYYFmN^evDe!#^l9USCFw$kLA_HGr3e8~w8l7WMGw!y8p_g8rsAC{| z^$JftlgPPpdW?^HpDgS`Rwi={qHia(RW=s?EvNp$HMnhK5sy!+ZQ$6JLtp64{AiQO z7WHI{iPMX0ziRx;$&YRuJzI_!LA#uZAM%igd_22@0j}rOHl%FHBU3-h;C+sRBs=AO z%Rnvy7=s^7&+-UhPY)(-!r&z1p%V@0m2L9MH$mLQi>s7HUN&>WY>n|QR=#ka?QP*b zywr-zK3$n~39VH=8HrZop~A z9ZY$g67?|KZqUm%(_3vq4fN5xQcD#|LFU@8})A zJs*Z|mcVl8_|16^Q+}`nM%iBvXcSkYD#cABQDQH%?2hDm@+jLD;`dVOAFp90_0GlOwo(P(+&dp0(&fgL3ls9?Lk+;k)FRnnF{h`3O1n z!04@qCNi)$v`(K0?s0;^(s84a{B-(w#gAw3(C9)l*y6zBzzy%p3{Rd*K5-h%E}9`E zQx2=UxnHg& z*xpax`eK_9M@t?vyaJp~1OivQI(K{@-pP+_%rXhHl>;5x(#!m^tlvdY7QcAnFnj*Z zZ+^Y@Q5^O!KL0G|xL>Zp_6Hw)P$!T4^FRG_t(N&l;8A9}-p-luWO4iUox(>a4XFR- zZ~mraw!UEn#p=nuwcq~scQr7eyMCODjOm3zD;)yIhp%Kx-s+e9T8H`@n2|T<865BG zh>ppp4rkvt-pJ_qX-7@#e@3NmabiM{B76!*|T`_ z?M~Y*_{qziJUt(LudQv1eA47|O%NxbM?DP8iC^Yx{g97**dM2jjr~w}%COGh~PLSXfELqi=0Nhi7VWVfL2b?CsGYtjctl}-71 zmp;!^hRoz6`+1(UsSok4DKDKowL4|CIrc;FOlIEI+tjOkt1!H)BY9omiPIMJAM&a@ zPO>&b?>2LuJDrrKtnIXX1^t=tFX*3Dxb+OAALkg_CwmzjXF}t`C0kk3FXV%N<=_H? z?ze75_hN^&m*TzDuyrG~6s{I}Qnj?Kt73SO9?~l)|GI#;!|<0SaOk-I1sQ#lB7KwM zy&l}3SH>ld81gg}%TIpT;>F9%@YX&;r+8%cD^A&i?4`VS|ErqG>5jJ>8N5EcJDypy zbw7~tAWPC|d}(2I(9e#H(;gW8<2&0D{VQ@?H5g(%l|2R8s+!l@m z=P(^SnypN59yka-@@1I76$dYPVCSXIzAb~8!IXH;!HX>2OG6*p%qrrcjw(wXmMj9( zEWcAJzy#w_$!VjEE@zzcOYV3aehpXzvm)d(^+tB;ijf9izKPR$?S?*kx5>uVm(3V< z!FHJX?jdF1cpiGgNX=v!tkAuaj+0EeXL&Ev8hEz#&>!_a@`hXBe5*I__$GG_(&Y1w zceJC`Y%N)#*WJLvk0a4LzjSFkLEMn6Uc?cJ?(fJKTA#()mT&7!PWC{zxRlw=_Z^$r zlVPijRyJE5bm}@YI1HTDHy8St8EtWBB?ENR6Q|dp)ojspu1OAEW|Zt9?O9%Boz3pU z=J(%!zv|_8IiH=wb~D?zz@VFcKj0TP-c7mPnmt$Nws+aqVMPPARxbLKnY(fN^Ko$; z{I}kEv*@Ca>X>ZlB6*UT!4Eld#-)*~c>3saE_XS$$)lVj2yKTtb0+6B2Zk~NzRjdf zxsk`nM*Qfi{9sK-E)SW_J38g3r}dFr@+)g_2q!s$ubfMo^21-#vOLz4-6Es&IS1d$ zBRtCBOF6RKNSndCG%{6Z-TutLqZrN3{O@Be$;?^#Uj@UaH#~poWh0p2$dxREc)d~Itcl3yp zCcpc{dv?h)_mRJML7Dyhu><1i^>eO^}RP(PDb`n-E?oo+qx?3a+;;pSu?&5zu1 z)}KE0ZAEB^J-eHg;H~t3r}N`XVLNG0(r@NR*=nndL7YK;Pq@L$K7yyteQQ+DD~`Lk zNWbFQ%Vk*TQPNT~6+N)N|4(&2>ba`YgL({tJBQ;%8jOawn@(ph z%Tay>&5!svsl$g&S8|-;vpNB!^J%;c!&W*Sot|az{s^jP#hg8yE;H6-X=vdZBZH1H z{+tO8tz|Duy0grT9-Wm=meJrGGf3drLZMURwCLCvBJagd8vAtm44Ja%mFBKPlb>_P z@QKr)(dL4KvEi`DD^4DHb?#_IJ4Xj@X*y2vaDYAA3>YA^oX+ulcrjy!W_z%|$`4kI z10WAPXdUCi$gahICkGvg^dv5Rd9Y>aM@o*q=#COzdF{zXC+D+fSz<^z!DbBAnS7k~ z=@`oSh@9{sh{vmUe7GAdp^MD$`zSofw-v|QhndepTmNiz)2V#XA9x0ZrGudd{TxQl zv(qP@=0jC8i0Yn`L++f9v-uU)6QT2X;P^oqGQ>3mi@g+R$Y?keO`d9Mfp)1zO1) zujDp$?LFOm^gNDPQPt0mGn4;B94Gm~sSYTzQ`b&L(g!$J5*zsI@+~j*PL6!PLk z{Y|M{Q)Spze_w)!A-q+T2?X-kg5<7YXt@n<>q^3fw5Ri2A9eVz}2e3M5aIar~tK|M^w)AK_r?xiNZhv{Z zc$t;39;9@g;1Mb?)rk)e)tmNbtB*RaRlNuvU0ruQ%Z)BNY<0k|k7_qysR!_800k!4 z0z2m8V3*T|z}yeP%VzljIoqzbv;S7GZN}i&mKi6`*a}ELO4f0X(Q0d;ALW`YW8|ei zwo-5P(e<;;h-dqYU`4?85#Rpcbv>&SxfML}woQgy;P9@^qLU8dfApg2Ar3nIH@p62 z%^idH#g@$5ddv03WDJGcTm zZ4K(sa#v2hXgjuAvZ;8ZN6NY6fm^=8QG!`OTD=Xt$=mN`T2`}t=V$QHpx>-3&mpMb z_&ez${DSN?f+Cp&q-n6#1eq<7u)1d?a@-Q|w^FH{&2Fs;Rybp}Yr<|akG3=Waw&8hJ?`(UNk7!IVk%!-SId;qd z!m4bqmRY^$Q2T*Kc4YfOK48!HK0bc8#l{}@;V+i9@M$-`B}ivdb%O8uO_}H_I$u%P zMSE9NK0zKA`bJkLZSDo9av%PAodl*;zb@^sE^d_O+c3@%TMey}9g}8EOG~LaI4?6A z)k!9ze!jWSd91dSMv=}kofswVGl0zq_LAqRlMHDZU>fF&%%qw5de!L)`>Rgj4{D@yyp@p;Z8}u&<<+5awxoe6o#XlSU3+}}YOABPa&kmw6zqRS!^6C@ zH)zAp)12OecZPH5eHxyR#t|t4qw*u;*?vKOPckUrB<{wMRUaFXCxdAwob$V}nR?BB z%`fj}<}`RVPo1s$vuy{j&oc<{v+C;GK6z!|2(8<3E~Vqe763o=!xgu+r1-0?J_bD5 zt`uI-OGXBAHqbWjK7tqiY=5`#E8w^eM8i zjf7L>I5D&C|NY7T?9)}}hDYC@ga$K}PUta^LifWsQDm$**-6UQu=F zN2F{?Ae+6wA~(zXenHi?m#r-WGfsHq8sYCbdN9xF;_7HrXVss{2_NTjLd_Gu!WsRb zZ%)_PjBd~&ZS-k=2VpmSzj&T)QlaO}i3}D3_jqR5<u+X-g9G{^j{5C-H~9GIqyJmSX1UgwDs2i4{8XjdEx3mVr)Ie4-3#$N4TGdLMTt`j_n? z`Jj_iI~}(VY^NQ-rygBXueA*$wu+sr<@gL%szH@@h0e5(pwYzEoh9WG`F`MGKKMSCSzPwdHx3)An}<(!)*j`zE9jd2`#!8Y867jQJ$ttG z92#B(Q~WaRi4MICzvC#go1FG>rq++ek%(Rr$@3hMy1Q$D;v?>C-N`pXTbEB4pY`jh zaq8EjH*}hl#I}9)RsSx76FPhdcyvIF*xyyum;&7qwKU9PtH{R0_9?s+G-V9 zo9$$~Ha23jWBY}&HMx)Mwd?7#Jd?k7ws7*aEu|Z=rI~S$LPYLX4-Lw@-%(Eff$uI( zS?yhzw0c?m5!V+z>;VD%SZQ|JaV8s;%^ptBM;7gqw_r)-Mw*?i%B#O9sNXYDkrmx( zXe&PRijI**)0(^sDB?#p2lePDw(?^YzOpu%lMC!KZaV&zGn!B%a?*43{XM}Q}Cu*K0M`lLSj z%I`(k7UP3$4*$cQ^xv_!PCnDV>3sPkv9}z5_JuD(H_K+o;0GYn#`7oCr_N%FLSpE$ zTHA7^>w@}br_d*~oO%*VjaR*@i{$LOrz;Jk3gpj}o%g@y`=R6hJ!`+!Z&{e?QmkoY z{a%sL+9-Y+2emvFMQ4a@OEBv}`D^w(9qiGX1#wK{!pVwbs4;WE&1zF*Gop{v5o%n1 z!dQoHnO=j=5Fw2$dptvj8O9?q7&A-6U@<-}bTSN{jnK;pOedzJU`&{H9k*~c4Oxfj z2ZO%+{EKpYIfR@l9KB3qJDZ~v{k%Je_xbko+VY`u z_y!xE&t=eLuyijg8cSX4SsW`D(hNLaX5aCN%>F-L&unJei@_K*=_(IC4+2U-XUhRXpz zg}ht&T3@^N=GDN=F`GHr$d(~>K=0%`ojuvw78$ZH_V;hb5kDIFA4&6fItV-S=wSw2 z`C!c;-dWHBx~5IiHz%psx(5aw>-OT5mVBrgTI-!rOr2Atj1}TY1c#5K^PR$8;Bq3$ zkxqNy>}_YYf{t9gbYbnY9Id@9lh5Rd=1Iz<&7!3{ccB zsGT zoYukAWa(I_EImdC`l*b24c~$nyR0>03%*8vJD6 zS3U~2P*xh*d%_l}G4Ouq#y(u;%EwMm;+$|8j9ee?+{+B7pCIm|1^p5#rDxnYPzfe^?61+f%+i|8tvn0I1APnyI`fWSJQ4qy5D05KgBW8_y!EpN+%FJT;Mbd51YQ+IrQ zR{6*pee!T%&}kM|hdekLJ#xU0czM85Mw(}|Nf*~LTYMEC{6mvFdgWP-^NdcR<40mI5jnqB71aUk%)p{?1J zz&AMC2wzWQlxq+Y`ij5Q!SFvcqN}>Ws1O?H6dkGoLGp()>bt<1*%Nt!qx34yC0^7k z8f)bu+p@^Q@rH03P;uOyroj=B-z+G+Xpt9>;?)JmVKdH4)ot`^90|PBJMY7TJDS0O zYwn&oYNfBy5qcqxb88hzJ{{H!=4`9-AuT-`oicE;-N&rpv3#`0(RXB~tqPoAACkWL z=5-#`+Lxc+TDyAfYRLe7oM#^*T8-kgsef|d^x<2atul0-uHx(D$!ysQooKcvUb-@9 z6wr=7bmK)iGE*1QJhLr$BVTd>N0}L<{_>ZJ!%Oe$?(J;t zw8a)gwg#6R{|ArZ?skNR-fGf6;Dff^=!jsu4m$=9`WZ#(^dHTh4K{sz$pP=}Q0+(_ z3H;626@v-9T)%#O?T?@SvFb#<;DK(@BRpu&WNT&5V38aJ@pyoXthE>A=#hGnCXeT_ ziSo*We%r-f=FE5P*x;8f?A6k?&jv;Y|KJ=s-rvTsJM;)X^{oEroAxn!sV?!L{m>oH zJKJ5ZZBp-N#)Gyx`cIB6%XX^Oxw2>%N~Ym$^?fxSpZKbK&Z%F`r>rn_;~8Fgq|Jw) z(v^4ru0fgAa^NK5TZ5^xi~Pz~`IJs8Xt?09Ukm!szM601r`#%HuvhbX*EY2YbwZEH zn*61$!XCL#dGAwC+QkvPFJH)i*dNW22AfG&NfUh2xu6-Sh2I#AuLCKlv)IqeuM42zwJfwD=0^QI zyEp|E=-aftX@Zq^aOm_n z3XBij8~HHP5scs}ufsAr2S*d;V1R)(Fvdv14=;KJWnJ?;ovZihcsV%agjW~2=)~b5 z5AQ=K8aXw};1>)uqC*+-K_fUL7iB#UUG5X+d6iCSCRvcc7_sDvj zF%C-O>-qu%O`WPfitz0wUx?hiwjQ9nhAd& z2>W$QWp!lbe1#`C#LCGAQ>o`eI*0%z|ncx^23S0!a(!d*M6V2!v z#~UAHr>r{W@S{&YZ9qE5P@H%C%FC%R5Wy2#wO4Rwz+lE(9x@ihlOg))9h#=Sh_`*C zkA&>Ds$JXK1E$FV`MVADahqeWN~bcDD_zen58AaH&*JH8QtI8aI5^K|8yMN+Nl^c2 zW{}*@r@sF(S#@Q%E94XJbiE%Cr$7SkNBaRuGT>TiNlXJW|hgn zrJehpnZ~y|cb?rx&;A@R{HrQ~Kz&->w@I5uW!bVk!TAkW8x8YAalr#p>7gDK}Lc{C!8MVd~< z$e01pcr>PI4AUUS5XsL#uNoG4H~<>46Ff9ZJWYe_5q>*M$~wlb=nOt^84TrgX600- ze4hl;jxGA|h+f7CK6f;r2VXjTao`Df5a(SUcMg!Uc=RlebD=yOwN)d|l1{W`(j63< z@dF>8;KAd-h6j#SxfK!lqa2*Bg8|K&l06zqrh$JV?_^9S>Oej+0ej$y zS4KY1;*0;pk+EmN9enA6GT@3AM;E}S%XID+zxc)etSp^DlS{Cogmz`g4m|>x^vZV} zwsY9Jp^S8nr8?G;;XykUU(Z=hGh1usYX*$!2u*N+t33K#_>zWJ>FUK@CyPgEWREX6 zT=dpalg@pY_Q3}qRK18pi_>R%)~w}?F7gD+1ui)7PrPTVd}wC3&@A{^O?h%t-yyAN z9GGCa$fjoIQUM`GfGu2{6lpGUvAt1Q`ILv>vvhV5UV7#-P#c)!1vmRG zuX3(}8F=&yUvz2Yr9K9?IM;-hapM*@F!6IRfFu9VE8V*?!qDP<;L1Dg2oK4;pMT0# z;cxkewS;HF_kqE#9xS&Cb6~q;?VIurzwY>y58s0KkrP?sT^d+Ocyl3SHH~4HH7*lRwxlbJWFRI{*WZ&C60wKKP$@MrYBFUKblMv@0*5cWADN1Aksg zOWp~8sodoIYr8Kk!CxEaKak&P#NTwM?3At=U>y-?G;Aw_^Q|d(W_!|5j$|p;m;cX_ zb}PrlX~>k_rQzs^IK5_z&8UH?QD~6WNYWX3K655NxU_Iu!O%Eo1{4irfEW$$;A`YM zm@yb&>)`x+_cYqtgSco&<#?tXSRtfNYw+Vd(>QC-cp7cdosMccN)1`(N+z6Xos~Q~ zIrNAJV;VjB(5Ax$Ls{=SAZ6tf$C&Knj^WTLf+;VU__tN(vus1SdGlt?R;qUV%Hxh_ z1_&Osh{vC2X`V-3Q>Q~O+>-__2Z;fz+1k*mEQcK3^7)W)@TxCI=RJ6^lWhVV;5Z(! zS9R=Gyyc$7WxP2{etaui0n#V?xbj8zc5iQIOHq@)bfbezYM+1L zsqfko9X+VuE{HSW6drW3WA>l3VQ5h|;Gh?du9u}lXi$hhTUjbC^@C>5rK`bfE05JV zbV?KNuAIS#ttNOQqbVaDA7dA+s*$NU^@bJ>vv(_jWRG5V`T#Z>raai>fERny{XiEd zh|Ix2oB9w;l*sP_gPi5_F0Z;!=jcE$I%)+nvJyAE4Su}!YERG7ONUPoKe7VLGuq`L zdtrDHC%DTud8I2m<)yFYnS67XA1`#my;kB1@(=$5htRYxowUCMnHTOw?&}xu4!^;w_QWQ@Cy1Y`BJwBNwlAaA zwBhHK`vS(4J-q*^1P&edKb6TVF{5O!yH7?+H%3C-RYwrzwr6%LN4~v`(XVr< z)A4P_@H+kB?pJs6!Ds(y5f~g|jSk%Du*~=|3L0NI^nt0dfNwY89o}_n z($RD9j&^c`XACMH(8K`qpoc4*fiHe^0j+g9Nis-xLcw!%WQKJkdTLMW(co5( zFMLoPSR-2+*`t~8CiaLw^aXOK3x%MQp&-I~H^xr;a-%^MtXRz^% zW-=xV0d4AJ!pPq{p3yRnvhv`N2R)`6uItyY7aXuT@n9PSPy12^TpwfM$9DqSz&L-O zW=}hP)!|u2zH{ext(0*7z)}Vt@DDoKoVBZ0uarJ&n;d^|(dy$!M@91w9z45)VQZcG{P4pMOZIqv_uY5Pxi(nEYw2+O1w1K>PI2;9TMs^TOVehy(>7Dv zan>^{AN%BEQ4SNGtYU?2y#HZd@) z`b=Ho1s=yuk{jG3^U1F*l9zh59SV=+hBvlS{n3ljf3WElzQrl8F1>d<>d6K5DbV#E zwDi_Pry7X^6D;N7RNfsw@TxyFfNk(6T^aSO9Qu7Mj6N{Lk%Ro+t;`veg8{BM&-j-| z7`$LhBP(#-UCKz4f9lCQTq6%KR)chx0ETk%y1RsVmJeR(vn5nIy!%(u(B#^WOS+)! zYB=~lc-)mO{3#=!OPm18l&!Ri?KtnNa0*7!l|}c+OTCTEil3B|=6U1?EZL3TOB=ch z?*f;&k=@`PTEXxvKly>-J}~KsGLz<6-YJ*FqGx;p6E1MkY2W3{ube9L=uu8!%GO*H z7k#GVh%H^){Xy9d}Vsv$2Mzm*g zf`g;k9C4-tw1>2QP$?tb`)Lf0Pds@lGlmQ2hqI^gnrU(}M|IqR%h}Mlz>jZHxTLu> zFm!1o8n6yv8k2jK3BN<*7@|ol1GQ)*_V+Skngu%WHjT+_Fo#}8=41-n3UoY9I?*|y z#fO#}6~}63CVkw-Sp*BNRU?J3F`8g0hfgr%*9kHJLr1ggwy*ec80Ud={LH|E!En3eN8`{l@=HX?kwdD! zi{{L-lM^QizoQ3u7GH3}ck5Q~aVIZj$(=munY)n+oJ;Wd|7FnE8+U} zx7PmlZ~wO7)9*T~K0FV6^w1wP!Alm?F4zytHX7QjbEtsqfYb~E`tIv%&5aZ4*z`Ej%Vrk0$&+-^#d+`oL(efJB;+Y z^;>67Udozzf0i@gkfgTEEZ|09Phi9G@r-BZWlem&s>P?|dJF zW~(Ib^iRFZ54SppS6MuZN27Y;#N$am`e8efJmSb-AR{yg>dl3JarJ|2xx)#D_68Su z%SUFO*}<0g8x@ZhG?;bwY?}`m%WL&OIc22bMP6yAPxq?K=ro#aX&`sy$;(|ix>2%Q z&`ZCiqkS&r1^I<(kHeq$DKqdY<7@s%pK>EF?*jO)dS5)Rf)GD>SL1)mXY`!Mo&OPQfd zIkeH0DL?OK#qUJN(Z{|8T=kRSYRmiycEKSSCWHR#4}U0~zI5qga9Jhhv!J)Pk2>Yb zN*UY+?fNk~rtP23_e)J*f1Hg*Z3Er-oC_^zb$MRppYyWHvovA&au=oyxlEo)_$&W& z=(vAR1z1%g3P{n!Y3!bT)Tgs!gw3>5{zv5;W=Si`e>@Gs5qS*rwQE;uFDVDZ2@5)? zE9r!F#P$OZTz99kIPMJ|x;_nEqhX%Kj}bwahCNE}KF{5t+oAI80-r;!^OaAB0-i=^ zRtydujpZ>N4?G-6GsBjtw{sMl4$&+Vx|KBxrjaWvFk)cO07N7A496HtjteIRO=Kwz zEb(Y$2*?O;V7r8=1D&ig%1@d*81TU_U4C%9gURT6E?F+*0f%xE;FnKX`Q%>>WFp9i z4$cQUI$!E9P6GpIDbjvfTV`yBF|*0xVPsP@4nptM_rXwqEKI-FO5PmxQ*qe0woa$6 z9%it2KYGS#G;6ccc_SoBQTS8XeU{^WEF_d8mG}x~*6|yIjb}2!qnz{@-R;2i(RIpj zH08se^r-{iHjI2ckDSN_9fHnaWFvkYUwR;@BlHN;!5BF1@N&GQ(INVwZqzmXq^s>9 zzftvUW*QFpICd?MhHLOiH_-gvd%s-!`HdTOrZIkWZlgQe20l531_5x}#$^Au^5j8Q z@S5p2W9t`I(Zq4o#z$t(!AAqy;T_uH6pvQ%`eOG=Qz%EU$MR^@;`F zYB@gj)%9JqSvZt~mkiNiW|^+DFL3*Q2QBDTUw9&SHU+JC5r<|l1n+2pmz-xX%g9)P})Sm*B_;whO$bt7rD%63_#tiyTH4(mYT3u9uD*nSm(`4A1hfhEV>T7nf&s( zR$(Y7?@~9Gb`S2UuY+;|4}5I{4EbJ{A1-w7mk-To?1A&M*qsZtJ#5N@W!08n;C5w_-W0an}xTPj9qkGuJ#S?&W;}e+>8GAb}!GXXvMobU0S7SRo?m=JjvtY z521H8KbT#{(^7{9PRAbpC4oc7{Rim5DAY6}is^(9O6+TGhF_c?Kd~KVGarduxR||_ zIhjGD(Fo3^0o~2AlMYV@Y<6arXQ%Vgc~f@jIx`NQcX(aX05p0HRG0=OpCFG*(3lw% zdGRo5@;YWvypLPJkS_m=@Bx<&K6@gkgqz13k`mGQwLFX5_ncE z<_ElnRx{?p)Nj4y4|u}x;+ZVbC50`Elaa zhd>r+D#t(0KiIa$)Jj9{<+{NWXD}m%n(24GFS@~1ztahTB_1v`gFDaYp)ce@UpQB@ zhnfEAfE;(mvDTizwcUaY<>SzKcF9A}bR>>@GytV*w{G^HaddI&;rnB@V4%Z!;dirg z20vKN=SG`ncbAVtb$I{sFaHvro~-@d-~C;|AUFBY=trjvF7P)xO{SbZG|^)+peOVO zZNi5iepGbR73ugxrvTox3o=9_n!yE=yvUe*J~h8E7=ckrHi3;_ScIqol61tq3yr^>%VI7^X|Lv z*1&!y7RXK+^lQ&}m8Nd-YQTgpv)#hjS8_E$K>nWP8Cd8QM~2|go7wUs-?Ufo$X8x? zrGcjo)DN6!f)i|dr2f@~{OC4-M>`#)GiYMFq@}ggoeZX)+|{=@@IhS6SUhob^8vZ@gV|B@XM16%ik}rZ)&&tUYirZD5 zsLs`8VaiXh<*RhT!L4n&_IU{855A&lsI%JaR4J@EV*-?zYrF8buu1}q?v*K^}MXH~z?+t>1h z5AyPfIyvwx{k!mo8rW;8f0*}O%GcBY1JhVJAwJ@1gYx>wfXCS~koaMbPtJcb4dJm2 zpieyRw1bOra_^=Qo!oiq30o%G>8_QQ`8qr}H4q(vPQ8PuXN^*)&AG5D-cCyzqt~eJ z?;P+a;CnlO^C62e0-1JUlGlz)!}FmTr_P%JufspFf|)W_#PFrTdqoc?deY#9Pb5zp zr9n_0r$XSky9Y;B^gNRlPhfSXWE9(ZR4!>?hR@(Y2On^`heKx~8eriCE5KVkVBNzn zz$sJ)I0bNEM7T@OM8qTuoV@wbq~J5*nP08T8M=Pl!nPN`fP4Hn$1E%P*)qd(zH~9p zQhun(;LQng!UbLXSd@P0bdCaxjFqFSl=u?xvckH~S=34MFAMCknbb#Y2b@TEWH#{> z$O^Y~`l=o|9iDa8uH-H}S>dQI<~|*ALpeg*y@`kRA;2pr%ifd~)sIMayl@EV1b^y` zE?iH=QRf&b`%*sA#4ksfjny`5i|U=swxj&jU;XvYbI+Yl+q|&zt5;r`546s{_~PL5 z${1hp`ei{Y!XIX`z%e7gw#T-H=jg%*qgGj8ef8Dh<7^yF<<%M8p!-}L`@a29P9&E} z94C>jnQXA3PH4UAe)G*Yr#=j@WE9;iuWvv@eJSHgKi;aiCo5QdyT^<20-oI4!;dfc zzzFoU_P2x2{`KHeCw{z4IW*8kpDyuE@94-^FL;PG&c7g@^2&9Az&$%RsnZ8peHZBj zU+Uhmmg>N^CC~73lLl=*=XJyDuet{l2?qJj@T_|g1 z+y{MRU2h1MQ#g8wP2i1f&@uZ{r^?GW0c5-K@QN>O$atYWlN&wTmR#{z81%_V2G`MH zaN-#Z-QFMM7018?KpOg<#ce#&?+@GM7Omy@7EaovC!si-_y5OrsbcX|`jxBv^(w#i zzGPedwR}1jx6|RFFX@81DDFwv{DD(_32=E`VZZ)%HHfgx?|~JS+`gB6?_7SCtWa^2GcZZt*RD>0_^sVz44W=5o)hcj0 z3uTH!p7ajFc%RNJ=>|?NeH z>U(q-{65UJ`tEFWA8A^}l$ZW+=sPplb_*S*RcdFTbJFJ*cT=~IWEJ%D%Q{-$Ok^NW zRok2B2XCy@!4pKVcMQ2HJa*;aVfNks5J-bsM0y(@L zpqn5Z8@v*ms4a1ZE@s=1AAjA77)>3J85|j{j44ka+64W<&t0}scJp?=Q^=Jr9?!}yn{-mt*i-7r zqJxjxu3qJA=u1|;z%zCit2vNgSB&|E9)}g?eEgPn3WvUp^Xd6mcw|aGZf1K7owK1T zSGO6*G4%FFCv;=-qn2~<#n^@8O#_j-&cxUDvE)9Q?*U%>-Rom3Kg^_z&6{-UCk}Fa zBYWGg4?gATH$Tl}>{y&&tB==mbS*tujbz8{OQ19T7Q2=?)G*u9TNwTTZ5g5 zJ$-kb7WvIpgLbVCnqPg>a1#XvA+~c_*KLQr_xudT#Edq$3_wA%?`}G_O*H80Q2o_# zb%1`dUgsWrpTWzkbw8c{)bS_B`M6};h+_cLFi|T?za4Y{8Y6z&QOGw4a#Gr{ zaB}>rA=>hEARIXZl8(tN-N$;5*qg*R^aatAkGwuTT`C0RPv@7M4bY>FmFV;1998yYaEu*?wqyL> zc>VQV9;_g7hUtR6S`~iz<(DVTp!5&_@DDq0z4`ji3(wms^VH7OOr9KR$yq)8NG7bI z_f)=+G6vU!hodunMF!v7={IJej9ydeV=hM{o5h2>9JIR}w%Al0 zH-q%ld+gHhNgO!9(ajsQ4D1|tc5TA)gO^_7#q3nkAG`I7zrO2{aVHBO9EN=+1mWRE+R>f#u{U!3Xg)XZ zk0bA$^y9}OFPrz)lT)5w^F3zUVX7o;(#Pxczdkm+9UdRcWY3$CwA@ULZ%2RASc6kr zPlFhzeT2&&cF~EnF;BZ{|KRHFA3SuNjyrk!k2>#BKDnPYwHh&;Ri2YkjBp7(vI85qG5bo{b_VT zmi$xQY)CoywFUi@vHOW9PNqM&oqpxy&foma|JeD-PyQkc2d8$v|IC@4=TD#6IdUi; zoF98?=jh>MJ4X)ZZBqIGztC+GdM%UFS&7eEC(gLZ`CZ3KW-QW&SczYLhu={y=;e3!I#PKkoKW`lWO!W3xBo_`^${?ND89r@1F<W8yLqonjW*saTG-uQx1xBZ^-2mL{ z9HyaXz%ppTVX)&E=$t4(=K&8K;OC>+z=z)jdm4gCCIygGP4;*Od80A|LVLkZ9LuE8+18XJC{#Rv9j+DiN zyz;kr+8AEazbXvv&{bY2J~9Y+axWiV_g3_*?xNT7EjNYoXJihnbUM+QlcfPJ_Fz?& z(-P#nc4c7EHo&VVI7ER>NyiV~;8`Cp-r9LOdoY!I_uY2~o=s{~wr^RPR_;U`U%yzp zy(0aiAN^>K6=WxzT@Drb95wjdbI*+p%42u2F^#O-fS=)h@o|kRo_h{Zypqc-}zxpyDqe+(>0euu4eti)Qyx6`n zduhX~36fXc`UCvY7X#NW(1V{%c}wRyJcM>_nOTl)2F?T(4`7lwI2{idWwGR zDR%l7nsC?_=PJ?}UFlchv<=OwKYVP7E=E`3i#+&u)$dKesZtV_{?-rF(W&-=_mMMW z3Eklb9Xe~9QGaL!LGsr^P4Nxl{84s8rb+i)i%a6v(LK5MKH&3@iN#sG%04K_--aoT z2f=<>T5A?Weafnp%W*L=S^n%#PoY;;ek!-pR_GDh9|IWcg3UO ze@$}Oq_TqQZQXS&G|u6BjjMmS&{&-fg75y!BG`9o*l1uG)3#yB*mM>%mEUw)>G=mX z?J>5!Vyw{sX=Z8LiVxDRXI9GKIM{;DxlX_|(3H_IH8RhP-|Ce{p`6($C*Hl8td$VY zhcl>or>vo_J*n%%G6RIhgN{z0GpZqL4Cu&!7k=57(C2#0)anwuAUAn9^lYBeTw+ z*2*yXIDvQsFSx=l-@O4?9XK=I)hq1fi0(P8oN~BCvMcYSQap0@d~{C^`m(i!!^tMW z>lf%#r2C#tPv^>TYSl;iQ};t7vW#tnCpt;uq_^%kCGNpC!a)bVF)(R2X^@5vnBv1H z-U_eZn2+h>m^^p-^zd5e-5Z$JIlHA#?HhjW+vHFmr*9-5yMve9f_nDr(drl;^7^ic zj!pdVl>%uG>%)0(Bj8cb_*ehnY2(n>yw|?ROI(Wfs$MSQ3+JlHzhWlwXy|~x_z0-gD zCwc0p>FQWNgKq5>tTfN%2W~-~$Wv!*)-!z5Ck9?!iSp1;o?W?0M^B!6bVPY3$}3Nw zy*K8Q;oL_b#9j_%rTs_g!#>~npa1j!N*{1x9QF6!dpo>jd)E_>WijML`ayl+>JQn! zldt@~g>O2Hw@$0UKl-lh6@U0Ald;(MFx8#3WuL1*CGUioD845@@{mc8CT@rAdf86@ zHs9}Uu=+M@VIzB7pWM|!+q++ew9@yCYA?U4vu$C@r;*z0rL8jV8@JYLB?GC(cx~fY zFyb-ll+zFdgCV2$O7l=0cLuE?g0-JL8M7J>uPqdgT7#oybpnF?fk|f|z~9cJ4MCc+ zIv4}a$QGWht{F5v8)OeBA1;Hn>xB!S?p)35eR&2nKm26n%^(7&LCGM8=QijzWckVn zoOq4i04rY^H0ekuflq@O-r(Up$+OZ``TW>QJ5~d(0Zkq_>F8Cb@aX916bxOVfu?f8 z=pa`x%I|hGle_l^PI<~1fbj=s@qsKZJT$NQ_O%{-a@7%7ypT(%LxjFiInZnQ=9Px) zSY-Yfqy=f)`S^gNym%Ihx40)Ue_Fm*@L&qx^vbTBGBlk;Mg#j{n`6r8sR;NT*I ztq!+h-^xi-Z|X>1?b`kD27e~U$76?9SlPx8UwUbd#{BJXe>-KZxLu^TXS>ANvo8`W zcrNd*KtOhL@oNwzpZdOe%c&R-&kEYjo6GrIeamuo5diP42z~3z=)>xp zcBfDHEZ+~PhnHXeVVv3bcK6}ar8gJazsXrZcAXJ4EI8D*;AWj{2tOtV@}v*J@l6SWtk_bYJ}-idQPI3p|h^(EIHUgx~06-=LWO^CU1{n29KS#1fX!Mo}DR1f@UA8@aS|(TIl#jL*PI`q)S@(i=CcpS5F@IM6 z-bB9X+gC7R+r8`m7XhB~_jU1+2KC_~4}ZYR688_#6^>qd-z(tqAx*mxI!>@Tx&|Xn z9eJj6`V`<5!HDkV!`FLwSG!nn(%}ZbU02f4X&QR!9US}J=9^=^>}8FmVQXO7;EnhQ zx3e|P+3b%#W42TU$-=CGM1(VJzU)3dhE2e>FrQPN`PP+lj%DZ11({MF#zj&!3YPenzX^3XK zZP*44UwHf26dtfTe5>l52{;W%8kGj-m9bSo0{~bJS%We#fze2m7d0sKTm>|B7Q;*K z;RDCH@H)Lb831$^=;|!su>D{<{@}5H77RRaw8N7R*0U=o3qJ;?!lExvG;!wqd&>7rKDa9f*wKH|q;J#Ruy{|}Hm~^bj0gG>;1bY+ zi!9Q>HOi+Gahsleu`P8DQhd3AW!{B6YxOZ;%I%0?IhpC(tv^1 zTW`NLZPhCE7jb6T3Wo>`yLHd5>}5x%GF4s^&$YU|e(lyu6DQe4-@yLOeuRhsH|%&Io zY?pCA<&;hQssK-6i>KuuR8Bo@M=<4Q``WVGxLfDVd(f3t+>amJe^z$8O!-ibjw(;n z*?@cL^s209^;CHE1x^~fV$Y&9@Y0nbpEOZWXYeXN^|MJ=_sU6YU8{Ei4*ijG@=H&; zi8i|K<>6O(2s^-0xo;h%Grra`n;pM3>F$b8N5k zL9~8Azi>C-KA0)x z`{S31$yAnMug0?tC%us|jWf<6k5(4`8kq*iFc@26x?4;S#iHEKx)r}_a?9k_=Fox&`~VXb17 z{^%$8x9N7^QeHY3c!lEkAu1f=N7*|rSk)z;kEhrUSd%}i;s(24|N7UXS8b%c)3ZUz zs{d0Nkev5T9=1XTE4o4*P;Kn{aiC8;ePZXWx8553fBUz88wcvh&OiOrKMt-r=_IzY zXmCQcoxIhGGbioHI9uy2(&^LBPP@e)Uev>Dzk6+LoehbcN_LMQGH~|rY0^%9IBQ2> z;AtIt7U@tO!4t*o>J>dW!1x7MaF_Gu!65A30DmDL)x%GAKg^#m!$e6rZ$3Pe75`v7vk^8?J?h`sL?>=0Rkjq-6aGXv zv~~S~d%VEI{=7|dhCY=acmvIbeqnl5?m?mX z$_r!=1-PZ7JtvcF`1d?%8(276Mmc%gc;P4>`p_qkRT>(~>iY$0@}zCkflvLpf~~&6 zfEVdOfWQ2CcF&f;umy1NyP~h|;q9|BrDe?KTwCO0r}%p~+gaE4#r3@n+ve!AC&9#) zje?&Eaz29g3*Nq~N>iDwGZriK5mweY;qX5G_!CnOzuFj{vma(FgpS&gp`qjOEE+sTbkW%6$^A6=@TNgI^+toE zFL~{N;L)jYn9xPT;3D5M=Sex~XmCQ@>vUE_UxOAt$c=xUl@%;7oEi6USoK0% zqs;IaIXvS@8Ydqw;K{fKz_k|@JbvJnFW^VIfJbE>6ya9}KKMJi@T|PDI?nP!XXt>1 z4;_(y>U@BarYu-+tMglQ&|C1Ug98J;yeh9u@mRT3ra0j(JpR=WoeR~=Jme1?0(`x; zyu8X@J%~7QI z07q{ICH7%&dL1w;%yv6TXMBxZq?H>IAxW=6I+7MHaBgKoK6cdkiGo!%fs9M z{@?#+>{Z#yqHW;Uo>DeJ*RJCLMjxDSxa@l_9gdyy+6vii)o~9G2OfTD2Ew)*aB!1f zS@&cjs|m1RZ#{nK5iUA#Z{-XRbgrCx`{AvS*~@C>{k`{oKY7Y)llY;BRsP|5?nDW_ zwV<)u-pCi6_DEns=Rb*k$^pszdW-yHlsY7VJql6Sin_ZMc?2Z z1<5w?wB1M0qw@M(eAj;1wrG`8ntNph`k*to@rGZvVT^$boHCxb@2eN>(LEf+3(je1 zt1iC8ar%;!#f_e}=vjO!g3hV`KXvR@Z>sHtCLG1aed^IYqr67)ojnL+3myA*y3y*(ik-+ zv*XOr9d)E^jFMq%kPOUUDwxwvrPdUy|{t_i(m3q zMtEBuK4mLAUUf`50UexjxJACAyy0r(rPBvSAD=XvdhTI~%LYKY4#c4;U zA1d1KT>ini=VYsIE3A%6{r>l#8(uxX{`%`4l%&ap*dU)o}2Z!t>^bjPUxQ z6b>N0clBCj&^6x33XWrpe;OcPDKc;@j zK~9c(`G?B_g7Tffkwy8}-*|oMY3e55{+JLcFVA-#>QtYNXZL;sL%q-o`9*S+U%a7H z*a^$JFPl+Rw}w=GpabS{*xEB)!G z)B`-#Cp_TQEn9F8zU`r9UBN1^4wMHYz$*<7QQMOT9~)2xUiR(^&xQC278|w8PZJ$W z`@-{Q^HKKm`O!36^PI+ZGX0`o`Mn*ui|Kzp%3{R_vvq8~VT(<|sZV(KUEi~OxbsmK z4{VvSt&l#vS+hWiANTmvSIBE53;8BS9t(XIEA-oRm5jao+<#Rlp2BR`Q`5dJ*Y6zn zO-;vq(qK5LuB$P6_FBilm)l)qWRwh2*I>onRvBjzf01o6*E1++Kvu2%I+@qb21vg) zXu#6YTs6j7*^dD;K#gz)$Xqo5;gfuyaib-`R~+=D{)FOzOPTU4PZ_Xeo4UyA30mbt zntOPaC3~NhzdwL05Ac9T9}PjCdwH!x>FB6CJeH5l%FU4u+z@ydG zYP6L#fkgjr{^oB+clOIKJ*|@zDw{UZH*|PYRy1I(BPz!1i zLyzp+gq&{Z6i?`II1R336zHmQfg?+8#7bHijxN`4FF2c=9=y$}t-%kTJZS1?IHzcH zLbWT~OyCx^OMRkp90_`6|2<6xZ{;7(+PW1t{M$Cgc@Wg4wBdJB@+Z7V>x!|w>6>E@ z^E(HdXW;CZzTVDv4(!ENCi+&!Gd$#6-%{M2v-oWRkS4!2OdlK_(JDN??SH3Bve2JE~CAHbdHrtCF0m*jZv?A{wZ|HN5@JqM&s_l0BLDwV!P97`W3Ee)U%shuqugaE(UN_kTv;D_p;QmmY_or_^gSkJ-Z(7mrJ|_=f z4+`5b56YJ|Wj8cO5f1=_rvZGUwB|```=A?rQgu|ls}E^xM65kY7YeVRau0XwR=&C{ z4rS$OOWFk3mIsFy&+HCwV45b~n|e+--lS^-%4x&zzWrYM7C*vtJU06M^qJno;U|lX zS(!ic!r6Q<|NPF$r%$EbJ4tE%iggIh5s*(ku})Xw=<5$ED;e-oyL82O<(J<84xbhr zX}@n88g|lVe=>$C%t06~kI_>sedO;On*Xnk{B#oK<%nv_b2U zBVN__)zD_OJ&jR^Z2%W__y$3S&p@5yt>af-BjfBF)HJ*cX>jxEJn4>~gL`%M;Zj;& zS)r}5w*kYU;cL9^H545@{G}^hqgH14P97Yb23I&8c_+Z7QE7DY=t~FF0m8EZy?N*< z14hJ$;C}lG2K^3*p6P)TAmEF00?U3*!9lvBFrvVU6&w|d)Gy2k8%bz;n zpq00FIDJMNesrXP_biZ8TIE$1eloe2jyCZzI6Gb;JH_2@mQTLxi@wZ z-AD&Nzs@?Pmc8LqfKy$mU-d+8Ke)p#lvCH`ZEc%a9}4!Q5RTZp@4h<@Jzlgw`oNPs z4wx+#p6%WI#V>xb^Xe6s2e!26FH{O`O<)=UW$_ULWAvj($TjqN3cB*4|KmKq>hJsa`52+ zJ_9~y7A&2qOCR%E{9rHaa#`zYpRc!p!w*~~p&wq?=ZDNHV5R_wzIn6d5Hz54s{ zkAFOMK}Ul#Fzf`rIt$9QAHdg=^Y&~f@LdDj`m;a#vnj()=*gRsPOQ8kIez@aOc?N^ zP5IUWy>*uRTCMlvdGtW{m(#y~?|Y}#L?>m~3f-8n>GziWdvEwWw-3^8J(EMd;Mos8 z(cSt{tW}TfK?H|qV~HqDy-gjA_Ew)@907;UvK91~)42iLy$pZB0gwBy3i1mBp1vEm z%ULYjvxt>b{H_m*@C?kxk_uCro)=7L#wI)q^2y(4*Ydb1@AaYEFv^S_Z)`{#R1SqcB3mg=>1ervQ%2oO8(R)O&-x5_!K{8T*Yr1~!OqX0 z&o7{U@L}5Khe_8q<4@$rACKin#4M~>LAUr34UApsAASGfP1MPJ&*S(~PQP@E2dizH zOc?u@O=<^diFgt4PX37-8BM@#q4c)CveIAmp`2|r4+>zm;ouj)jo}+BbsL|K=>Dj~ zke~mXU_D`Vj5>FNm6e@aK1j{g-aqNHl9m-_jWB&~(lc|+uliljFPUDwnpO1N-^{Q5 zUAyM>RR%4;{Fh&|n_s#NF{>Z9GBft!mBH;!a9zmi)yMhT+d1tAG7+#nhjZdXR)d4V z@o*ZMRj~CYz$*2T^hEiU!ZbLILgQu7f_nq3XfV~Nb=>j|P;LCuG%|ychNdx!^rExp zkhHUbSL4!19P4Mbt&P(p$VoK#00SqQIu5Zo3*SzTgQ62c1FxRoak!JvOFA8YlxmUCWIHf7?UO>-t)6r3O_|4VFx^$z{B(s%OSI-Q|ad~9e#s>$y z^Z>8&uH|FKEjBnY_82-GYHw1+ab!})b}YYksyh^|Soha$(U1s5d3z{Z9i|Ke-2}FG zFueLzN3aKi*DGZ*tZtSVayEK%4{xH=l;#>om2T-}V1Wlt+t7Z{@-9GT@ju0ap%GZ|=p^V{Fd$xT1~$xr6Z498m@ z{OW*xI9}1cRd#kq9)py+gZrmH{pn1YId7actFNN6oMvM(WEo?+AgP9 zyIc-HCeVS?KhZk}FmABwh%5&AIF!lf-1#-n6Hn!2os_+FF~?rAr^stRI$S0l7qicm z?fH1tkF$JyKIhcu*E>y4)MsipTlY@xyqE1kj=ZEZ^xA*upYV-Gj)A)M!&bI%q)Qu} z={Igi_q*G~!dv&AvqQGScIiU-1A!lfg|9hIG+fXxTlOoWbm>h3x@3Ak_4Rt{$Rx|J zHZ%0vq(u_#Tf0&3><#a(bfEuWtK@ns+pB69aGyJ8mHo&#-cI6RKehu++Y1vu&{Z!V zW;Oj-R{z)0W3kQ9yqU4%kt5E3ch0*X>^U4-`7x;2&%yl2&EW%^I5$6FqFPOI=s8-wQyOH^UJA6mWKmB`jGh*?)>h{qmSm7hx0ui$JsX*kLBai zXHUP7A7OfC=h$OU?L2%W$2o_F<0IKq2+S{3gV#?nZ2g@dd9(`u*kf_xvjVRT%JZX5 z?A!hHk%0xj-j)R>wvDfmD>~TLe+rRc)%&h>N!<&rkG+&{@7!q5zlIvs;4nmR1FIBhyB z17m}<%D_?PWGTnNDIfR~!If|F;iqMFr~)}h#$3V5$DgY+qC1#fi!+qz)(rk*T=Wrp zm?Jb}C!8mE;6MjnIHci=OvP`2NkS?&gKqL~$4;dggr!}HZVk-ht>D z(&V!}w7l)I3U38h-rxWI-%nYqPKPo$UAhzp`%rA;4xV$$k)H;SBd#s5aeZEFK(s=-|$iS?z!O&A0N_BHLi1PrrC6ihP!?YF55d&7q*!^oWc6yr7Pnc>l6J<`NbR`XYs%wt&TqWC~pux zv9%{hLdG7iX9442&WW~wVesaBJ6-EQwU09zLH7lK$RCB~`DV7vJQjO;HWNJ)p~L!_ z*dzTMNE>46`fqi_KG-|EvjR@%?2i4t{q{R!ACEuoqq~PvfA3|5{jucvZonJL%Sm@y z&!v=kWasqvPw#wi{-d4iS?qZ;BkX%f|L6^3zQaf#e);0%onw#W ztw;L$gQ=e{F6P9jeQEEJ=~mzl?a$&vy63yMvV|sXDHSqpQoCXk+SrlQrMkbFu_}mm zzQ~r%!_nuF(7PG=W|1Ybao&aLivqv;v*0ab za!-kyNPiQPpnox0sPn$9-_qZO58ULZO#dYTlOv}zi&$`)xNz*TAzz*eAzXvkC9;Tj z6Y)8H=_VhXzCslG+`hAE(($BUb>A^TUj=sb9^E%cYbY+|^)1Sxr);04iTb40WBUqe z+PHB-1g9K6;P5QS)1Tq7IM)3dZIVw8s#5nVLK2rVY z{O6hE@^Pf4zs_4tef-VX$@Sp6lJ>3r-$>ue@3?X~zQolm%;ectn?vaXAC9kMa(XBW zjQcYY-IuyibLpZd-brPMchgU3!PI9t1@6Tz-?F`YPBJ_HumFFZPy7icj9!rrai=%y$(v3lcObf z_UU~$?8M*(e+-+G;}w)a9Br?irtt?9jn#n7U{|MM#m0&mz73Xm7dcY~a}A#kR{lC; zSp%=r-VOjQorO+_oXVjKmpreqz`A!8tIO#OhS&9KOUIy`!4BOiAKuaQ+|CGoG^K&X zuX_Q04jP%2FJEwjtHT0^JkAWht)_DL$mq4W!M2kDaPTUlynFP}5Zud?4z_&5i>7P! z!C`F~X&e%c3tU~%Y=;Y9@6{hVs~&`(*3MnCSCCQ z-2e<$N38rzIMXRA>$wBy6v!XE1mQfA0q(+-k4cMtZU=P8U`5oGJukSW!`5AOiiUe; z?=6vh@^X}g+8mqEzSNt0`sw704Y3uDGACLcPyMH!uVfVoPx3ftUi0FIj^JQVV(ZdM z`E$=bw{!OF+1VarB8cWV;VEO1>694u^v*l)OuCg<^yya`dHNCKC+9y&oh&;-Pm~WQ z-1JOlE8owaer|N;<5T$YXjPiLbi#f`Kg4u31F3xa!4qA8gOB_T^Z-9twW+=_=EJnuPglS7W9pIK@JbK#NDlhdRwjnVt-Ru&Q;LRS z>@QdR39ib|eR6y=U=lWEBM1G+r*95E+-w6qK^?0@laJs1?su~-25Jiwz7b$2VDvd; zqbGHsPVD*hW(Evh*{Wqy=^lOX_@iHSDUeq`F>NW&!+&UT#s#?Pfso$LPWcQh-WK3r z9vJe7H}hr#|L}FUCB<2DU#MjgQc zP98XQCa?9-tGw;Ne&p#Zl+|XN=2;tR|K~R*(D0VgkEm(S;yPU7#{78VrA(T=^}ms0 zAgz-7X2^FaCf44d!MDCwT5qVkn*gn7Z+Kri^7e6!YqP5$b}du~l|wl?`eVYPwO3c3 zoA$@x`6j?VxRrhbB-0?iEE2DVw2W;vxHd-RY7_<=&uyR@fB|{VXU|8XJreTfobhf& z`D#|CKATsmmoHx$SoAb%uePmqPx0}UDA;Oy!oG;H~Bp&{xh$h51glrflAKL)+(WAqT%;U#cjbR1TH z;n3lbqxg%%vq4V20gar4BYMG;fvoz*r*dSH#}UB4d;AKVBZH@ao_unyx>$q7L?WT!a-JeMrWZ7Kl-ll z3TX67ZZfDhdnIQ7pxmtRGVZCuRYQ-=w@C$i$n>1Q`T``ORN!K!Z2Y28#ubd1KS zQzyrFiZH zJ8-Y9>5~NI*p&LKK0JeKKf-axC%G5@>kZ@Z6E?_0H(=m_lby_oKcQje-5J$zf>qBZ zCa&rQPCVn!v%0w$oqhlG>77ftUW{I}75xL}D6MST#NE`JGqtUXvuSUeEWC(tS=n?? zr)*s0tm6^CVCJxdz~CL~pvb*_EZPM<6 z^AP+(>!VHoo!muN(-zqbmuBv z9W=jJX>=_pFUS)GWebBAeC*0S8&W@D*n_^K{7DnoEErKfTJXWaPTXsM?3Mj{*2dtm zP%ymZUfb5M{O&iu&G&Qb&`HhNc&?#b*#+x{U3wln*jS?+Hqe-u;;w= z`KuIv4@?Y51GqmjDhA$IV=7#6xJqMq_s6(wF+z<$17-%>!-q8}4waQRKVIbH(X|4o z(M^L3-R&?OuQlNJhgy8JXE3o6H$Od04vivL`%pO%enJ~x;5Z5fTOEKjjohFD zw??j`myZ`t1lecsNE#U%l;xVyQ3Q;mxb!D~29#X&NqF}vmW+6R`}m}=e=>ZPo4T+Z0g#;pFDXgHhCoXIX6DKW^2R8W+faR z{KLt)$N$NbPmc`tMH@u%h7W@vdj`j*m6i8Yw)voGWsIKSR}W-ki-PB4*&?Bw_957Y zBApI%iC)&*24!A;`G>=69aD=2Z@u;A;69!cBtFgxvHlAVIN^ZT6_4tGqYl4&X`bl} z9Ny2IIWzonVD(FE??zUEl__80eC{~}(#T6j^}!xF@!B+ewO#q5bXWF-ul$)#2o6CR zIFys7Zmpbiw&`6N6UxzZoE3H}z$uN~%7}C>&AxVfchxyt@>T~8{99e83pV3Qr;f=p zp@NGZOg2&#`Mw};Q6i%c`q4GP;#C2#V4cvbg3OnUSx(AmSTwAz7-BUJsO>4Smp(g8g#p(Hw)C0?ZktwVs6$a5X-}@TKXs|RE133s zVDvAIp5<$Ucmgj^8oRA+g7blrQ|->2c_BW*;hpz0vGoIPcd}4mp^-0h^qB8bw6Qf= zNUxF_ws&ed@i+3lg|}X}XKPxLTmR7s8S{Ux)m3%G9;=51w^zs22i<+$uw7>R{_B?i zroi3nNq$qLiX78mVuTF({uoPQdAp60vDf$u%ivdB&QH@_XODYU-R((tOym5bYF6BD zXYZp%0=+m+{l=RIpx$8M$FE8{(5UY)E4X61@wAb2%uwFzBYGhEw1FJ!QQYn+sn zBZq;*Umayncwvfy0YXM-&~faFav%$|~JG9D=;!m#%D`HP7;-h48>D zhn>=BJ{^#0J|a{uWzZH{5A(5W@F?4I(q=N4GMozd!N(FtR`QBdCXRl2RqwsG@=Gp( z12}cMfu+OQ-Vprd$2J0G=@xGKW1nEr;cStIQ(GNMrw?{T=e8qoRM_%56Fc=77&_Rs z(LBTZ;)^d1e^$N8*HvTo$ho#{1s^ZI_)?s`*Rsvx{n(xl4-f5}Ide9@p87`0S)G0^ zcIJb|40LG=?1kNlWDwEkm~*r_x8&58pLyolnUK7dEh(O#&K4Er*t0+v>fN!1WaSLP z<-WEIt~y7HK9wVr?M7svFB2Mz2KJBZ2RNCpzWU1G_W`fH+VG&Ku1sP~$V`A*7j%uj z0H+Uj)ra;?Z?4L!Cv6blR=K@}fOpQMPoK5ybvZBFlR>g$fu9;&PHru`AI%hMk549-w)>v1lpzBw&SX9$WlGfjjcs&;nF2r zm7H1sd35@8>hp=%(x=gn?c zXX_Q5dR9jL>8mX2q~&HZuucY(XEN@J4*j87c`LK>#pAwuEKRiT5Bdb5u=nS0KdYhz zy_Z@#%0DRXLGIlZPD<%+UwdD^`wV_thn|J<;QszH%8FAL_vxg#lyOgYjeUl*Ww+_L z2csTb!N8;avsrc2_AI}7@Ub6sz`EkE^(xOjo7bmxj9>Itnby0vKbP`DaNdaOd!C4m zfBfOO^#(G(_-g2PE)X={sxf!tpANsE!< z$0{!eMbtpN`nFZa+3t7{G-6JO1_nk$H@Ipz@|11k!&^IZ&JtR913R+j+D?KV4KS_- z2(}zB1ngb+l+qO6>oMJFXaxdS9mV%@A$ZgAlGH7&S#{rWk9WATE^h_o?{flg2 zu>$qWU;c8^z;Srt@QbBv4XWPy#D4yJ6HW=CPe6XV}PcWUwYB+ zDNj~|zdi+SIwtQAe(;0gjT4M-aw~@i{E&^qyX^D8)HS}wj)Dj8#i`#Cq`|#Ebiu*Z z{;e|OQM&%b{j!;L+#Ef_LEe7%fxalw{(W~?F>Dz~~0-DMS(mkWkHta7CJ84}Uvz&pZ#!&Bx|;s#a8|>8BziHckk&$zuB#g^h>U>gYbq|<@yZIc3Sb$B{+Ft zx8L9-c>)?>gyJ)SbuTsyp7bAZZAbZiMwbpm_u`_vH;E`tdCP_tOw%h@aY_eU9?|Qw zG!Y)~=r-T8x|Y|l4F_+_%AdLmEZZ#K;A@lcDdWlp`&|B%YkPCA9ms3H?;gJ5N7FMq zUH-wUV|?J7eY>KApP`p~@O`$RW5MICYytZ?ANZd-bs~M#Q*$`R8*jXxcK`X#wd`-d zp5LLllRnzpFSgGX@xiX(MbiY_$JyGnH%!&7YeVHX8Fw$pRaR)dxR+lT&jMW4+e%q~ zw`sxAxDE4dx&JTixc@Pg(8}MwvYBOUdjqdo6t zzHP{i7k*n<1oBo!ori%&n#Qby(69|e(kfFM0K-?twYW4ke1SD6w1dDCemE*79G>A` zGOTSh@SxKM)iMTO_vm(jEDzgPJm80}1$mVXPWP@&S6@0c0Uz>|cTaYCU<;!>{-ia4 z-A==&wBj+zn+`L0l^4-9>FbBQuF@Oe7va4>z%36B`S@(Wzj~u1_xOgFLya%6BHmmF zCUAO1IKjf7hk1rq`dkAvd7{kLEVBgNs(5(wFUZ>HgzAFN8g(P5^Z_( z>xe>jgir03gKk^Q?jW3JA3j>Or7QX%N4Lxre;sFfR7Yf?L-uHL;l6z94{QU`ZwT@X z?%f_EjjRHB@GFA%Tz%rd^uf{xIEyXPCk9@+dv)t7fJ1}c>CeQ4o#2g(oMU_yXRqo9 z4!qDIc({K5-tSX)?C;6h2ByC^A#IN;)g8wXqfxRZ6#A4{_|(|zIrHp%PS|!Z=Frq0_KX!N?Uz~ETpIG z=U;HhzeJ$K}+LzsL^STXF9KDtvI}lq(bXVRg zi!|k2*&*9iuc9>i2P?v*ZUuQF+YsG@feQ>fY5Ok@<>18w_`-rmSDVCxw^jNNaMF+D zjf{!zyA7f^Wpl3S#8hidseDA*me@wQQ$~yKkmd? z&q$i6ZW7b%we>pZt_{_nYR2P=a`)=JuwQoF!}0aYd>O89V)~x8|HP$h=wpRnGdxJB6ikCb-2=ffT zE4drMilyUP-YXaV2y|N5@urlJhToNeKWtZ=!SG|{m- z`}xm*J}a^R{_nqzgPyHd`Td1CZ#&x~-g*1o?Aw1VtNO=hf9Hj4jqtk++A0~)ryF!R zv1q~1=B42mUsmnOiY|wJIpvNMTyJ)iV^g*~m^4YJr#koLpI+f#dbNPS{`VXr`3v^e zoITI}Io#-x*E#1L^Os(FX=JA#{BdmA3Z2ti?N2#@zMp^o`Q2CYc&(ghn9S3Ibb-yV ziQ1BTp>{V9;{dElopkt=FHG$yV1r9OTelSieo^4SPG0I*SyAw&2XE?uTx`mMjfo1G zh1#?Grr`l?^%c~iy)$<3y;C{s`q<++Ml&bN!>GJwb z3Hl_zeuZB3C9`cUyqJiP1OM`ED?`6!@LyRgo2#~HG9+)(b0v#3vcgxLSH|Lz=bns( zA^!?{&b{YFbJ5rU+;eHaGj$cUgNIv?HtCxZ^6;_^gTA!#2vmNrm2VQh;?Mmw(S=9c z=EF0ZVtFeZ9K};OFim%rF1W|D{OVI$pNn6fI#iBr)IN&$LC@>}E^QAUeE>YwlY20p z!FdMfUKDIu)JJ#*Ymvp9pA-3EHT|r9$dSVUW)DhdzhAqSldp0#^39u$NA~8_SMo9`3ykx1GlR!C)CY#epw0%0K#pcT)#=EDvDiiPeGo zu~qarbvohLtva^CT%JR9b>3M40dGL9%&yHJ-Go`4?g!+3vG{y z#zt0G(NT2t;k1k!(TOx$X5be&bn|vAc&+x@u0RfWIa7Wi*wK9knzynC+zPmIzHwk{ z%5!X8tq8L%j`5%U_|IlFnT;KbLj<0!`>`bag6)1^dhd2EF!TVoL5$7(<3Il6@KfiS zLv8{955C%-(4Mz*k&m;g9>B5vZkZvMXLUzDPA`Yev+`D^;PZ>B@UJ>utLXUhj1R%R zpe&t`Lmj#2wCgL}!_xrPLCPR$=Ge#JxtaETH~iQlBW>F9aGmy< z^y)Q8ck3Phl?i|NF7M#w3AK~vjgmI$yJ-Wt{w(<7qS3Dz0(w8b(uScjNb9}yK5xS| z{r)uR4cmG5(=E({u7&Njy!1+!q9BbPMf5~zr7gYVR$=AA4TrWNvMp&Md#lZ{Z}4ms z3|tnzr0KI-4liKgl!g{N*RF-Zn|94+r>!K}a-tUdivxTu3|rDCfJMOCRx3Z2a@^?OO^f?)<2=O@`&p;Rm6MSA2*^LBZ51J+eQ%YbZ>k%b=dR~f*IaEj&C6)*7O zM;SVUuR5WR^5kBAdBuwk9Xuyke)TbYX255~j;*u;X`%;L)!shh#p4wcU(7t4 =ltT?q=2j=PjpBx@-M|fyP8!h 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 literal 0 HcmV?d00001 diff --git a/Example/ZMJImageEditor/Images.xcassets/p2.imageset/Contents.json b/Example/ZMJImageEditor/Images.xcassets/p2.imageset/Contents.json new file mode 100755 index 0000000..3d506b7 --- /dev/null +++ b/Example/ZMJImageEditor/Images.xcassets/p2.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "photo.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/ZMJImageEditor/Images.xcassets/p2.imageset/photo.png b/Example/ZMJImageEditor/Images.xcassets/p2.imageset/photo.png new file mode 100755 index 0000000000000000000000000000000000000000..f9beacc379c43f463810e1aae0fce55e1358b317 GIT binary patch literal 12119 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ʋ*3~i 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 + +@property (strong, nonatomic) UIWindow *window; + +@end diff --git a/Example/ZMJImageEditor/ZMJAppDelegate.m b/Example/ZMJImageEditor/ZMJAppDelegate.m new file mode 100755 index 0000000..6bc9ceb --- /dev/null +++ b/Example/ZMJImageEditor/ZMJAppDelegate.m @@ -0,0 +1,46 @@ +// +// ZMJAppDelegate.m +// ZMJImageEditor +// +// Created by keshiim on 04/01/2017. +// Copyright (c) 2017 keshiim. All rights reserved. +// + +#import "ZMJAppDelegate.h" + +@implementation ZMJAppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + // Override point for customization after application launch. + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application +{ + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. +} + +- (void)applicationDidEnterBackground:(UIApplication *)application +{ + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. +} + +- (void)applicationWillEnterForeground:(UIApplication *)application +{ + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application +{ + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application +{ + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. +} + +@end diff --git a/Example/ZMJImageEditor/ZMJImageEditor-Info.plist b/Example/ZMJImageEditor/ZMJImageEditor-Info.plist new file mode 100755 index 0000000..7576a0d --- /dev/null +++ b/Example/ZMJImageEditor/ZMJImageEditor-Info.plist @@ -0,0 +1,49 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/Example/ZMJImageEditor/ZMJImageEditor-Prefix.pch b/Example/ZMJImageEditor/ZMJImageEditor-Prefix.pch new file mode 100755 index 0000000..7825372 --- /dev/null +++ b/Example/ZMJImageEditor/ZMJImageEditor-Prefix.pch @@ -0,0 +1,16 @@ +// +// Prefix header +// +// The contents of this file are implicitly included at the beginning of every source file. +// + +#import + +#ifndef __IPHONE_5_0 +#warning "This project uses features only available in iOS SDK 5.0 and later." +#endif + +#ifdef __OBJC__ + @import UIKit; + @import Foundation; +#endif diff --git a/Example/ZMJImageEditor/ZMJViewController.h b/Example/ZMJImageEditor/ZMJViewController.h new file mode 100755 index 0000000..0e3c44d --- /dev/null +++ b/Example/ZMJImageEditor/ZMJViewController.h @@ -0,0 +1,13 @@ +// +// ZMJViewController.h +// ZMJImageEditor +// +// Created by keshiim on 04/01/2017. +// Copyright (c) 2017 keshiim. All rights reserved. +// + +@import UIKit; + +@interface ZMJViewController : UIViewController + +@end diff --git a/Example/ZMJImageEditor/ZMJViewController.m b/Example/ZMJImageEditor/ZMJViewController.m new file mode 100755 index 0000000..846533d --- /dev/null +++ b/Example/ZMJImageEditor/ZMJViewController.m @@ -0,0 +1,81 @@ +// +// ZMJViewController.m +// ZMJImageEditor +// +// Created by keshiim on 04/01/2017. +// Copyright (c) 2017 keshiim. All rights reserved. +// + +#import "ZMJViewController.h" +#import +#import +@interface ZMJViewController () +@property (weak, nonatomic) IBOutlet UIImageView *imageView; + +@end + +@implementation ZMJViewController + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view, typically from a nib. + + +} + +- (IBAction)editButtonAction:(UIBarButtonItem *)sender { + if (self.imageView.image) { + WBGImageEditor *editor = [[WBGImageEditor alloc] initWithImage:_imageView.image delegate:self dataSource:self]; + [self presentViewController:editor animated:YES completion:nil]; + } else { + NSLog(@"木有图片"); + } + +} + +#pragma mark - WBGImageEditorDelegate +- (void)imageEditor:(WBGImageEditor *)editor didFinishEdittingWithImage:(UIImage *)image { + self.imageView.image = image; + [editor.presentingViewController dismissViewControllerAnimated:YES completion:nil]; +} + +- (void)imageEditorDidCancel:(WBGImageEditor *)editor { + +} + +#pragma mark - WBGImageEditorDataSource +- (NSArray *)imageItemsEditor:(WBGImageEditor *)editor { + return @[ + [WBGMoreKeyboardItem createByTitle:@"p1" imagePath:@"p1" image:[UIImage imageNamed:@"p1"]], + [WBGMoreKeyboardItem createByTitle:@"p2" imagePath:@"p2" image:[UIImage imageNamed:@"p2"]], + [WBGMoreKeyboardItem createByTitle:@"p1" imagePath:@"p1" image:[UIImage imageNamed:@"p1"]], + [WBGMoreKeyboardItem createByTitle:@"p2" imagePath:@"p2" image:[UIImage imageNamed:@"p2"]], + [WBGMoreKeyboardItem createByTitle:@"p1" imagePath:@"p1" image:[UIImage imageNamed:@"p1"]], + [WBGMoreKeyboardItem createByTitle:@"p2" imagePath:@"p2" image:[UIImage imageNamed:@"p2"]], + [WBGMoreKeyboardItem createByTitle:@"p1" imagePath:@"p1" image:[UIImage imageNamed:@"p1"]], + [WBGMoreKeyboardItem createByTitle:@"p2" imagePath:@"p2" image:[UIImage imageNamed:@"p2"]], + [WBGMoreKeyboardItem createByTitle:@"p1" imagePath:@"p1" image:[UIImage imageNamed:@"p1"]], + [WBGMoreKeyboardItem createByTitle:@"p2" imagePath:@"p2" image:[UIImage imageNamed:@"p2"]] + ]; +} + +- (WBGImageEditorComponent)imageEditorCompoment { + return WBGImageEditorWholeComponent; +} + +- (UIColor *)imageEditorDefaultColor { + return UIColor.redColor; +} + +- (NSNumber *)imageEditorDrawPathWidth { + return @(5.f); +} +#pragma mark - ------line------ +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +@end diff --git a/Example/ZMJImageEditor/en.lproj/InfoPlist.strings b/Example/ZMJImageEditor/en.lproj/InfoPlist.strings new file mode 100755 index 0000000..477b28f --- /dev/null +++ b/Example/ZMJImageEditor/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/Example/ZMJImageEditor/main.m b/Example/ZMJImageEditor/main.m new file mode 100755 index 0000000..aa44f2f --- /dev/null +++ b/Example/ZMJImageEditor/main.m @@ -0,0 +1,17 @@ +// +// main.m +// ZMJImageEditor +// +// Created by keshiim on 04/01/2017. +// Copyright (c) 2017 keshiim. All rights reserved. +// + +@import UIKit; +#import "ZMJAppDelegate.h" + +int main(int argc, char * argv[]) +{ + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([ZMJAppDelegate class])); + } +} diff --git a/Example/ZMJImageEditor/zh-Hans.lproj/InfoPlist.strings b/Example/ZMJImageEditor/zh-Hans.lproj/InfoPlist.strings new file mode 100755 index 0000000..477b28f --- /dev/null +++ b/Example/ZMJImageEditor/zh-Hans.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/Example/ZMJImageEditor/zh-Hans.lproj/LaunchScreen.strings b/Example/ZMJImageEditor/zh-Hans.lproj/LaunchScreen.strings new file mode 100755 index 0000000..8b13789 --- /dev/null +++ b/Example/ZMJImageEditor/zh-Hans.lproj/LaunchScreen.strings @@ -0,0 +1 @@ + diff --git a/LICENSE b/LICENSE new file mode 100755 index 0000000..1b998ec --- /dev/null +++ b/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2017 keshiim + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/Mosica/XPixelItem.h b/Mosica/XPixelItem.h new file mode 100755 index 0000000..0a71b53 --- /dev/null +++ b/Mosica/XPixelItem.h @@ -0,0 +1,19 @@ +// +// XPixelItem.h +// RGBTool +// +// Created by admin on 24/08/2017. +// Copyright © 2017 gcg. All rights reserved. +// + +#import +#import + +@interface XPixelItem : NSObject + +/** 当前像素点的RGBA */ +@property (nonatomic, strong) UIColor *color; +/** 当前像素点的坐标 */ +@property (nonatomic, assign) CGPoint location; + +@end diff --git a/Mosica/XPixelItem.m b/Mosica/XPixelItem.m new file mode 100755 index 0000000..bb6122c --- /dev/null +++ b/Mosica/XPixelItem.m @@ -0,0 +1,13 @@ +// +// XPixelItem.m +// RGBTool +// +// Created by admin on 24/08/2017. +// Copyright © 2017 gcg. All rights reserved. +// + +#import "XPixelItem.h" + +@implementation XPixelItem + +@end diff --git a/Mosica/XRGBTool.h b/Mosica/XRGBTool.h new file mode 100755 index 0000000..3072055 --- /dev/null +++ b/Mosica/XRGBTool.h @@ -0,0 +1,29 @@ +// +// XRGBTool.h +// RGBTool +// +// Created by admin on 21/08/2017. +// Copyright © 2017 gcg. All rights reserved. +// + +#import +#import + +#define kScreenWidth [UIScreen mainScreen].bounds.size.width +#define kScreenHeight [UIScreen mainScreen].bounds.size.height + +@interface XRGBTool : NSObject + +/** 获取所有的像素点RGBA和坐标 */ ++ (NSArray *)getRGBsArrFromImage:(UIImage *)image; + +//局部修改图片颜色 ++ (UIImage *)changePicColorPartial:(UIImage *)image; + +/** 通过遍历像素点实现马赛克效果,level越大,马赛克颗粒越大,若level为0则默认为图片1/20 */ ++ (UIImage *)getMosaicImageWith:(UIImage *)image level:(NSInteger)level; + +/** 通过滤镜来实现马赛克效果(只能处理.png格式的图片) */ ++ (UIImage *)getFilterMosaicImageWith:(UIImage *)image; + +@end diff --git a/Mosica/XRGBTool.m b/Mosica/XRGBTool.m new file mode 100755 index 0000000..f83a510 --- /dev/null +++ b/Mosica/XRGBTool.m @@ -0,0 +1,203 @@ +// +// XRGBTool.m +// RGBTool +// +// Created by admin on 21/08/2017. +// Copyright © 2017 gcg. All rights reserved. +// + +#import "XRGBTool.h" +#import "XPixelItem.h" + +@implementation XRGBTool + ++ (NSArray *)getRGBsArrFromImage:(UIImage *)image{ + //1.get the image into your data buffer + CGImageRef imageRef = [image CGImage]; + NSUInteger imageW = CGImageGetWidth(imageRef); + NSUInteger imageH = CGImageGetHeight(imageRef); + CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); + NSUInteger bytesPerPixel = 4;//一个像素四个分量,即ARGB + NSUInteger bytesPerRow = bytesPerPixel * imageW; + unsigned char *rawData = (unsigned char *)calloc(imageH*imageW*bytesPerPixel, sizeof(unsigned char)); + NSUInteger bitsPerComponent = 8;//每个分量8个字节 + /* + 参数1:数据源 + 参数2:图片宽 + 参数3:图片高 + 参数4:表示每一个像素点,每一个分量大小 + 在我们图像学中,像素点:ARGB组成 每一个表示一个分量(例如,A,R,G,B) + 在我们计算机图像学中每一个分量的大小是8个字节 + 参数5:每一行大小(其实图片是由像素数组组成的) + 如何计算每一行的大小,所占用的内存 + 首先计算每一个像素点大小(我们取最大值): ARGB是4个分量 = 每个分量8个字节 * 4 + 参数6:颜色空间 + 参数7:是否需要透明度 + */ + CGContextRef context = CGBitmapContextCreate(rawData, imageW, imageH, bitsPerComponent, bytesPerRow, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big); + CGContextDrawImage(context, CGRectMake(0, 0, imageW, imageH), imageRef); + + //2.Now your rawData contains the image data int the RGBA8888 pixel format + NSUInteger blackPixel = 0; + NSMutableArray *pixelsArr = [NSMutableArray array]; + for (int y = 0; y < imageH; y++) { + for (int x = 0; x < imageW; x++) { + NSUInteger byteIndex = bytesPerRow*y + bytesPerPixel*x; + //rawData一维数组存储方式RGBA(第一个像素)RGBA(第二个像素) + NSUInteger red = rawData[byteIndex]; + NSUInteger green = rawData[byteIndex+1]; + NSUInteger blue = rawData[byteIndex+2]; + NSUInteger alpha = rawData[byteIndex+3]; + XPixelItem *pixelItem = [[XPixelItem alloc] init]; + pixelItem.color = [UIColor colorWithRed:red/255.0 green:green/255.0 blue:blue/255.0 alpha:alpha/255.0]; + pixelItem.location = CGPointMake(x, y); + [pixelsArr addObject:pixelItem]; + if (red+green+blue == 0 && (alpha/255.0 >= 0.5)){//计算黑色部分所占比例 + blackPixel++; + } + } + } + NSLog(@"黑色所占的面积--%f,%lu",blackPixel*1.0/(imageW*imageH),(unsigned long)pixelsArr.count); + imageRef = CGBitmapContextCreateImage(context); + CGContextRelease(context); + CGColorSpaceRelease(colorSpace); + free(rawData); + return pixelsArr; +} + ++ (UIImage *)changePicColorPartial:(UIImage *)image{ + //1.get the image into your data buffer + CGImageRef imageRef = [image CGImage]; + NSUInteger imageW = CGImageGetWidth(imageRef); + NSUInteger imageH = CGImageGetHeight(imageRef); + CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); + NSUInteger bytesPerPixel = 4;//一个像素四个分量,即ARGB + NSUInteger bytesPerRow = bytesPerPixel * imageW; + unsigned char *rawData = (unsigned char *)calloc(imageH*imageW*bytesPerPixel, sizeof(unsigned char)); + NSUInteger bitsPerComponent = 8;//每个分量8个字节 + CGContextRef context = CGBitmapContextCreate(rawData, imageW, imageH, bitsPerComponent, bytesPerRow, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big); + CGContextDrawImage(context, CGRectMake(0, 0, imageW, imageH), imageRef); + + //2.Now your rawData contains the image data int the RGBA8888 pixel format + for (int y = 0; y < imageH; y++) { + for (int x = 0; x < imageW; x++) { + NSUInteger byteIndex = bytesPerRow*y + bytesPerPixel*x; + //rawData一维数组存储方式RGBA(第一个像素)RGBA(第二个像素) + NSUInteger red = rawData[byteIndex]; + NSUInteger green = rawData[byteIndex+1]; + NSUInteger blue = rawData[byteIndex+2]; + NSUInteger alpha = rawData[byteIndex+3]; + if (red+green+blue == 0 && (alpha/255.0 >= 0.5)) {//黑色部分 + rawData[byteIndex] = 180; + rawData[byteIndex+1] = 180; + rawData[byteIndex+2] = 180; + rawData[byteIndex+3] = 255; + }else if(red+green+blue == 0 && (alpha/255.0 < 0.5)){//透明部分 + rawData[byteIndex] = 255; + rawData[byteIndex+1] = 0; + rawData[byteIndex+2] = 0; + rawData[byteIndex+3] = 150; + }else if(red+green+blue == 255*3 && (alpha/255.0 >= 0.5)){//白色部分 + rawData[byteIndex] = 140; + rawData[byteIndex+1] = 128; + rawData[byteIndex+2] = 214; + rawData[byteIndex+3] = 255; + } + } + } + imageRef = CGBitmapContextCreateImage(context); + CGContextRelease(context); + CGColorSpaceRelease(colorSpace); + free(rawData); + return [UIImage imageWithCGImage:imageRef]; + +} + ++ (UIImage *)getMosaicImageWith:(UIImage *)image level:(NSInteger)level{ + CGImageRef imageRef = image.CGImage; + NSUInteger imageW = CGImageGetWidth(imageRef); + NSUInteger imageH = CGImageGetHeight(imageRef); + //创建颜色空间 + CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); + unsigned char *rawData = (unsigned char *)calloc(imageH*imageW*4, sizeof(unsigned char)); + CGContextRef contextRef = CGBitmapContextCreate(rawData, imageW, imageH, 8, imageW*4, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big); + CGContextDrawImage(contextRef, CGRectMake(0, 0, imageW, imageH), imageRef); + + unsigned char *bitMapData = CGBitmapContextGetData(contextRef); + NSUInteger currentIndex,preCurrentIndex; + NSUInteger sizeLevel = level == 0 ? MIN(imageW, imageH)/40.0 : level; + //像素点默认是4个通道 + unsigned char *pixels[4] = {0}; + for (int i = 0; i < imageH; i++) { + for (int j = 0; j < imageW; j++) { + currentIndex = imageW*i + j; + NSUInteger red = rawData[currentIndex*4]; + NSUInteger green = rawData[currentIndex*4+1]; + NSUInteger blue = rawData[currentIndex*4+2]; + NSUInteger alpha = rawData[currentIndex*4+3]; + if (red+green+blue == 0 && (alpha/255.0 <= 0.5)) { + rawData[currentIndex*4] = 255; + rawData[currentIndex*4+1] = 255; + rawData[currentIndex*4+2] = 255; + rawData[currentIndex*4+3] = 0; + continue; + } + /* + memcpy指的是c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。 + strcpy和memcpy主要有以下3方面的区别。 + 1、复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。 + 2、复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。 + 3、用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy + */ + if (i % sizeLevel == 0) { + if (j % sizeLevel == 0) { + memcpy(pixels, bitMapData+4*currentIndex, 4); + }else{ + //将上一个像素点的值赋给第二个 + memcpy(bitMapData+4*currentIndex, pixels, 4); + } + }else{ + preCurrentIndex = (i-1)*imageW+j; + memcpy(bitMapData+4*currentIndex, bitMapData+4*preCurrentIndex, 4); + } + } + } + //获取图片数据集合 + NSUInteger size = imageW*imageH*4; + CGDataProviderRef providerRef = CGDataProviderCreateWithData(NULL, bitMapData, size, NULL); + //创建马赛克图片,根据变换过的bitMapData像素来创建图片 + CGImageRef mosaicImageRef = CGImageCreate(imageW, imageH, 8, 4*8, imageW*4, colorSpace, kCGBitmapByteOrderDefault, providerRef, NULL, NO, kCGRenderingIntentDefault);//Creates a bitmap image from data supplied by a data provider. + //创建输出马赛克图片 + CGContextRef outContextRef = CGBitmapContextCreate(bitMapData, imageW, imageH, 8, imageW*4, colorSpace, kCGImageAlphaPremultipliedLast); + //绘制图片 + CGContextDrawImage(outContextRef, CGRectMake(0, 0, imageW, imageH), mosaicImageRef); + + CGImageRef resultImageRef = CGBitmapContextCreateImage(contextRef); + UIImage *mosaicImage = [UIImage imageWithCGImage:resultImageRef]; + //释放内存 + CGImageRelease(resultImageRef); + CGImageRelease(mosaicImageRef); + CGColorSpaceRelease(colorSpace); + CGDataProviderRelease(providerRef); + CGContextRelease(outContextRef); + return mosaicImage; +} + + ++ (UIImage *)getFilterMosaicImageWith:(UIImage *)image{ + CIImage *ciImage = [[CIImage alloc] initWithImage:image]; + CIFilter *filter = [CIFilter filterWithName:@"CIPixellate"]; +// NSLog(@"%@",filter.attributes); + [filter setValue:ciImage forKey:kCIInputImageKey]; + [filter setDefaults]; + //导出图片 + CIImage *outPutImage = [filter valueForKey:kCIOutputImageKey]; + CIContext *context = [CIContext contextWithOptions:nil]; + CGImageRef cgImage = [context createCGImage:outPutImage fromRect:[outPutImage extent]]; + UIImage *showImage = [UIImage imageWithCGImage:cgImage]; + CGImageRelease(cgImage); + return showImage; +} + + +@end diff --git a/Mosica/XScratchView.h b/Mosica/XScratchView.h new file mode 100755 index 0000000..c9d8e9c --- /dev/null +++ b/Mosica/XScratchView.h @@ -0,0 +1,20 @@ +// +// ScratchCardView.h +// RGBTool +// +// Created by admin on 23/08/2017. +// Copyright © 2017 gcg. All rights reserved. +// + +#import + +@interface XScratchView : UIView + +/** masoicImage(放在底层) */ +@property (nonatomic, strong) UIImage *mosaicImage; +/** surfaceImage(放在顶层) */ +@property (nonatomic, strong) UIImage *surfaceImage; +/** 恢复 */ +- (void)recover; + +@end diff --git a/Mosica/XScratchView.m b/Mosica/XScratchView.m new file mode 100755 index 0000000..678d958 --- /dev/null +++ b/Mosica/XScratchView.m @@ -0,0 +1,93 @@ +// +// ScratchCardView.m +// RGBTool +// +// Created by admin on 23/08/2017. +// Copyright © 2017 gcg. All rights reserved. +// + +#import "XScratchView.h" + +@interface XScratchView () + +/** <##> */ +@property (nonatomic, strong) UIImageView *surfaceImageView; +/** <##> */ +@property (nonatomic, strong) CALayer *imageLayer; +/** <##> */ +@property (nonatomic, strong) CAShapeLayer *shapeLayer; +/** 手指的涂抹路径 */ +@property (nonatomic, assign) CGMutablePathRef path; + +@end + +@implementation XScratchView + +- (instancetype)initWithFrame:(CGRect)frame{ + if (self = [super initWithFrame:frame]) { + self.surfaceImageView = [[UIImageView alloc] initWithFrame:self.bounds]; + [self addSubview:self.surfaceImageView]; + + self.imageLayer = [CALayer layer]; + self.imageLayer.frame = self.bounds; + [self.layer addSublayer:self.imageLayer]; + + self.shapeLayer = [CAShapeLayer layer]; + self.shapeLayer.frame = self.bounds; + self.shapeLayer.lineCap = kCALineCapRound; + self.shapeLayer.lineJoin = kCALineJoinRound; + self.shapeLayer.lineWidth = 20; + self.shapeLayer.strokeColor = [UIColor blueColor].CGColor; + self.shapeLayer.fillColor = nil;//此处必须设为nil,否则后边添加addLine的时候会自动填充 + + self.imageLayer.mask = self.shapeLayer; + self.path = CGPathCreateMutable(); + } + return self; +} + +- (void)setMosaicImage:(UIImage *)mosaicImage{ + _mosaicImage = mosaicImage; + self.imageLayer.contents = (id)mosaicImage.CGImage; +} + +- (void)setSurfaceImage:(UIImage *)surfaceImage{ + _surfaceImage = surfaceImage; + self.surfaceImageView.image = surfaceImage; +} + +- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ + [super touchesBegan:touches withEvent:event]; + UITouch *touch = [touches anyObject]; + CGPoint point = [touch locationInView:self]; + CGPathMoveToPoint(self.path, nil, point.x, point.y); + self.shapeLayer.path = self.path; + +} + +- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{ + [super touchesMoved:touches withEvent:event]; + UITouch *touch = [touches anyObject]; + CGPoint point = [touch locationInView:self]; + CGPathAddLineToPoint(self.path, nil, point.x, point.y); + self.shapeLayer.path = self.path; +} + +- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{ + [super touchesEnded:touches withEvent:event]; +} + +- (void)recover{ + CGPathRelease(self.path); + self.path = CGPathCreateMutable(); + self.shapeLayer.path = nil; +} + +- (void)dealloc{ + if (self.path) { + CGPathRelease(self.path); + } +} + + +@end diff --git a/README.md b/README.md new file mode 100755 index 0000000..1219a0d --- /dev/null +++ b/README.md @@ -0,0 +1,87 @@ +# ZMJImageEditor + +[![CI Status](http://img.shields.io/travis/keshiim/ZMJImageEditor.svg?style=flat)](https://travis-ci.org/keshiim/ZMJImageEditor) +[![Version](https://img.shields.io/cocoapods/v/ZMJImageEditor.svg?style=flat)](http://cocoapods.org/pods/ZMJImageEditor) +[![License](https://img.shields.io/cocoapods/l/ZMJImageEditor.svg?style=flat)](http://cocoapods.org/pods/ZMJImageEditor) +[![Platform](https://img.shields.io/cocoapods/p/ZMJImageEditor.svg?style=flat)](http://cocoapods.org/pods/ZMJImageEditor) + +## 功能介绍 +Tailoring, graffiti, and writing. All kinds of rotations are done well, if you have bug, welcome issue, and the following are several GIF, support Internationale-localizable (剪裁、涂鸦、文字。各种旋转各种好完,如果有bug,欢迎issue,下面是几个介绍功能的GIF,支持国际化) + +1. draw功能 + +![draw](https://github.com/keshiim/Swift_learn_CoreGraphics/blob/master/screenshot/draw.gif) + + +2. text + +![text](https://github.com/keshiim/Swift_learn_CoreGraphics/blob/master/screenshot/text.gif) +![text2](https://github.com/keshiim/Swift_learn_CoreGraphics/blob/master/screenshot/text2.gif) + +3. clip,rotation + +![clip,rotation](https://github.com/keshiim/Swift_learn_CoreGraphics/blob/master/screenshot/clip.gif) + +4. 支持贴图(paper) 新增 + +## Usage + +调起 + +``` Objective-c +WBGImageEditor *editor = [[WBGImageEditor alloc] initWithImage:_imageView.image delegate:self]; +[self presentViewController:editor animated:YES completion:nil]; +``` +回调delegate + +``` Objective-c +#pragma mark - WBGImageEditorDelegate +- (void)imageEditor:(WBGImageEditor *)editor didFinishEdittingWithImage:(UIImage *)image { +self.imageView.image = image; +[editor.presentingViewController dismissViewControllerAnimated:YES completion:nil]; +} + +- (void)imageEditorDidCancel:(WBGImageEditor *)editor { + +} +``` + +增加了图片资源回调 + +``` Objective-c +#pragma mark - WBGImageEditorDataSource +- (NSArray *)imageItemsEditor:(WBGImageEditor *)editor { + return @[ + [WBGMoreKeyboardItem createByTitle:@"p1" imagePath:@"p1" image:[UIImage imageNamed:@"p1"]], + [WBGMoreKeyboardItem createByTitle:@"p2" imagePath:@"p2" image:[UIImage imageNamed:@"p2"]] + ]; +} +``` +## Example + +To run the example project, clone the repo, and run `pod install` from the Example directory first. + +and this is the [demo](https://github.com/keshiim/ZMJImageEditorDemo) project + +## Requirements + +iOS7+ + +## Installation + +ZMJImageEditor is available through [CocoaPods](http://cocoapods.org). To install +it, simply add the following line to your Podfile: + +```ruby +pod "ZMJImageEditor" +``` + +## Author + +keshiim, keshiim@163.com + +## License + +ZMJImageEditor is available under the MIT license. See the LICENSE file for more info. + + diff --git a/WBGMosicaViewController.h b/WBGMosicaViewController.h new file mode 100755 index 0000000..48c16cf --- /dev/null +++ b/WBGMosicaViewController.h @@ -0,0 +1,19 @@ +// +// WBGMosicaViewController.h +// FBSnapshotTestCase +// +// Created by 石磊 on 2018/3/30. +// + +#import + +@interface WBGMosicaViewController : UIViewController + +- (instancetype)initWithImage:(UIImage *)image frame:(CGRect )frame; + +@property (nonatomic, strong) UIImage *image; +@property (nonatomic, assign) CGRect frame; + +@property (nonatomic, copy) void (^mosicaCallback)(UIImage *mosicaImage); + +@end diff --git a/WBGMosicaViewController.m b/WBGMosicaViewController.m new file mode 100755 index 0000000..2533088 --- /dev/null +++ b/WBGMosicaViewController.m @@ -0,0 +1,102 @@ +// +// WBGMosicaViewController.m +// FBSnapshotTestCase +// +// Created by 石磊 on 2018/3/30. +// + +#import "WBGMosicaViewController.h" +#import "XScratchView.h" +#import "XRGBTool.h" + +@interface WBGMosicaViewController () +@property (nonatomic, strong) XScratchView *scratchView; +@property (nonatomic, strong) UIView *toolView; +@end + +@implementation WBGMosicaViewController + + +- (instancetype)initWithImage:(UIImage *)image frame:(CGRect )frame { + self = [super init]; + if (self) { + self.image = image; + self.frame = frame; + } + return self; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + CGFloat WIDTH = self.view.frame.size.width; + CGFloat HEIGHT = self.view.frame.size.height; + + XScratchView *scratchView = [[XScratchView alloc] initWithFrame:self.frame]; + // scratchView.mosaicImage = [XRGBTool getFilterMosaicImageWith:[UIImage imageNamed:@"qq.png"]]; + scratchView.surfaceImage = self.image; + scratchView.mosaicImage = [XRGBTool getMosaicImageWith:self.image level:0]; + + _scratchView = scratchView; + [self.view addSubview:scratchView]; + + UIView *toolView = [[UIView alloc] init]; + toolView.frame = CGRectMake(0, HEIGHT - 49, WIDTH, 49); + toolView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.3]; + [self.view addSubview:toolView]; + _toolView = toolView; + + CGFloat btnW = WIDTH / 3.0; + NSArray *arr = @[@"返回",@"撤销",@"完成"]; + for (int i = 0; i < arr.count; i++) { + UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; + btn.frame = CGRectMake(btnW * i, 0, btnW, 49); + btn.tag = 100 + i; + btn.titleLabel.font = [UIFont systemFontOfSize:12]; + btn.accessibilityLabel = arr[i]; + [btn setTitle:arr[i] forState:UIControlStateNormal]; + [btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; + [btn addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside]; + [toolView addSubview:btn]; + } +} + +- (void)buttonAction:(UIButton *)btn { + switch (btn.tag) { + case 100: + [self dismissViewControllerAnimated:YES completion:nil]; + break; + case 101: + [_scratchView recover]; + break; + case 102: + { + __weak typeof(self) weakSelf = self; + UIGraphicsBeginImageContextWithOptions(weakSelf.scratchView.frame.size, NO, 0); + CGContextRef context = UIGraphicsGetCurrentContext(); + [weakSelf.scratchView.layer renderInContext:context]; + UIImage *deadledImage = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + + if (weakSelf.mosicaCallback) { + weakSelf.mosicaCallback(deadledImage); + } + [weakSelf dismissViewControllerAnimated:YES completion:nil]; + } + break; + default: + break; + } +} + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/ZMJImageEditor.podspec b/ZMJImageEditor.podspec new file mode 100755 index 0000000..afdc7bf --- /dev/null +++ b/ZMJImageEditor.podspec @@ -0,0 +1,37 @@ +# +# Be sure to run `pod lib lint ZMJImageEditor.podspec' to ensure this is a +# valid spec before submitting. +# +# Any lines starting with a # are optional, but their use is encouraged +# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html +# + +Pod::Spec.new do |s| + s.name = 'ZMJImageEditor' + s.version = '0.3.0' + s.summary = 'ZMJImageEditor is a component of image editing like WeChat, powerful and easy to integrate, and supports the functions of drawing, text, rotation, cutting, mapping and so on. (是一个和微信一样图片编辑的组件,功能强大,极易集成,支持绘制、文字、旋转、剪裁、贴图等功能)' + s.homepage = 'https://github.com/keshiim/ZMJImageEditor' + # s.screenshots = 'https://github.com/keshiim/Swift_learn_CoreGraphics/blob/master/screenshot/draw.gif', 'https://github.com/keshiim/Swift_learn_CoreGraphics/blob/master/screenshot/text.gif', 'https://github.com/keshiim/Swift_learn_CoreGraphics/blob/master/screenshot/text2.gif', 'https://github.com/keshiim/Swift_learn_CoreGraphics/blob/master/screenshot/clip.gif' + s.license = { :type => 'MIT', :file => 'LICENSE' } + s.author = { 'keshiim' => 'keshiim@163.com' } + s.source = { :git => 'https://github.com/keshiim/ZMJImageEditor.git', :tag => s.version.to_s } + + s.ios.deployment_target = '7.0' + + s.source_files = 'ZMJImageEditor/Classes/**/*' + + s.resource = [ + 'ZMJImageEditor/Assets/*.png', + 'ZMJImageEditor/Assets/*.{xib,storyboard}', + 'ZMJImageEditor/Assets/*.{pdf,xcassets}', + 'ZMJImageEditor/Assets/*.{lproj}', + 'ZMJImageEditor/Assets/**/*.png', + 'ZMJImageEditor/Assets/**/*.{xib,storyboard}', + 'ZMJImageEditor/Assets/**/*.{pdf,xcassets}', + 'ZMJImageEditor/Assets/**/*.{strings}' + ] + + s.frameworks = 'UIKit', 'MapKit' + s.dependency 'YYCategories', '~> 1.0.4' + s.dependency 'Masonry', '~> 1.0.1' +end diff --git a/ZMJImageEditor/Assets/.gitkeep b/ZMJImageEditor/Assets/.gitkeep new file mode 100755 index 0000000..e69de29 diff --git a/ZMJImageEditor/Assets/Base.lproj/WBGImageEditorViewController.xib b/ZMJImageEditor/Assets/Base.lproj/WBGImageEditorViewController.xib new file mode 100755 index 0000000..b22e814 --- /dev/null +++ b/ZMJImageEditor/Assets/Base.lproj/WBGImageEditorViewController.xib @@ -0,0 +1,356 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ZMJImageEditor/Assets/EditImage.xcassets/Contents.json b/ZMJImageEditor/Assets/EditImage.xcassets/Contents.json new file mode 100755 index 0000000..da4a164 --- /dev/null +++ b/ZMJImageEditor/Assets/EditImage.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ZMJImageEditor/Assets/EditImage.xcassets/annotate.imageset/Contents.json b/ZMJImageEditor/Assets/EditImage.xcassets/annotate.imageset/Contents.json new file mode 100755 index 0000000..93c4ef9 --- /dev/null +++ b/ZMJImageEditor/Assets/EditImage.xcassets/annotate.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "annotate@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ZMJImageEditor/Assets/EditImage.xcassets/annotate.imageset/annotate@2x.png b/ZMJImageEditor/Assets/EditImage.xcassets/annotate.imageset/annotate@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..8afe47299ec9a7ac2666b90b921661de03b76699 GIT binary patch literal 1092 zcmV-K1iSl*P)Px&{z*hZRCodHm`P|9K@^4)6BAV8hA4>;Q33{n0k?qQMZti}Ar}vBhY&EAfTDO5 zQ4thG1jP+ZE`lNb-xudTP3?%$rxhE8rFI3U~#)0$u^HfLFjP;1%!+cm=!yrJ%s@@bEe4fvKgCZ=yL; zbU8c+*)v#{=mMn>jH2sd0A$}`b1CGVXpR(J0S7?#1r{f|K&b?y@S{=y)3%sVDtRZC zCq-AnZIGQwEO53!EHXaZ*jV+G(>(YIpJ7_T@*wzHcn_DLx?l@A1SX#=Alv2Op4)}M zD*l^RFm{c$Xha~FR+HDm+||UKLE!Y_&051nBLWFk!!N^>m?dVPPQWVAZJ*70vwO!M zVUfA82l_!z_P6i|`d~ZMWsAz#OOP$iHpi)-fZFq!>=T_UoPwq~5l5fkF&Kg{)5Go} zG^B+nqwkh+Y)v1_>wkhOIo<9-`%^rfb#MZlo(cHXfc+}d$?hzyf!Qz}nqUK503CW{ zYTJW_@&8Q?U@L?DiChyjC_;Mik5kKzh!k4{e7lXm&i2h=2{T>``Y~i}o1IU`1Jl`L z`x0#lE)jYmb=%YGlefilnX*_9Mm$=KpG2J>HDTuNGk$vTEr*Hl6@EZX)Hu%bSR_;N zbf+w`2+Tfhd=AD<2ERkb_a5zPb3GV0j?;V=)1D8rNForx-nI+lCW7xIcx{rnVcOks z<2cP{vEVboto>J$Qv^KhSFF=*i@&y{Oj|(@##v4Uxj3;{-Xaj=4al4l$M1T|d*sh? zmpbzDVcon$z~6rTZH$`;z6)RotgVV0Ba!*6?kobnohJJyw2|NOF}DHaBeNo`PoyB1 zASB@=0)FE`M_t)nm=m@>LMlK1KqrBGlviLKR>i;0P>%DkV)@ z4vnxA^!vctWiBSeRnxJq;6>(IfJ9tHn2E2Bxnv>A3=ovs0k5k z1{?+*ePw&2`i|*55)Hc(^p>YKQ-btspSM5{~4H(p`umR|X9Z;CJJz+@~YK&s^ddrHTLr=zSP^k5b zDy|XZ{}rI9J`JCYSHLUa74Qmp1-t@Y0k42pz$@St@Cy9n3j78$d_<36Ak}mL0000< KMNUMnLSTaV4fnhN literal 0 HcmV?d00001 diff --git a/ZMJImageEditor/Assets/EditImage.xcassets/annotate_selected.imageset/Contents.json b/ZMJImageEditor/Assets/EditImage.xcassets/annotate_selected.imageset/Contents.json new file mode 100755 index 0000000..2ca3d65 --- /dev/null +++ b/ZMJImageEditor/Assets/EditImage.xcassets/annotate_selected.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "annotate_selected@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ZMJImageEditor/Assets/EditImage.xcassets/annotate_selected.imageset/annotate_selected@2x.png b/ZMJImageEditor/Assets/EditImage.xcassets/annotate_selected.imageset/annotate_selected@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..36fb3c2f1f4ba9537c45965cff992076130e65b9 GIT binary patch literal 1776 zcmVPx*s!2paRCodHSZi!lMHHTM?{1&;ZV8A1YXL#+_7$Xoh=2~5)-l=(Am9iJQGEHbxz4^OGam3Bz(!WowcQal;3pw4 z;>{DcHO?>mOU8JnNy!8Jo5S~(gxcyT-d2|Fz${rM{Y}@nr0^77i=UI8+*p?qNJXDC z02FJpgdq+KQ!FM0ubR5PXU0CvPDNS2(gMB{mygK%lWtM~@X3?JU6gFDo;r zlPS{$icu&ak7Qn?;-^_CP@f|_JHD^UZ%x#*e0)UMF z!HJnN=w$`ejZSN+&ao$*ZPhnKBi+j>nR)3Xds=)nluuTeIJ;BCUia6weWD0h)fDjk zY*BGf`}u|FiVPD6+vk&wr9wdU`QD%kY`cE~k0j$@wPKGFCtj2)u+I~k-=BedDC%0pJ=?bo(c$*xZWkcWpw)Mn*)U_Eg3RB<%0DT4lj}s$3TJAriuF~ zbiQt0>YF6P&oojwz)2Vxznb0NX^q1~_KKtpPi7e)yxW~*C7bhR`PLHW9~ArJDSxc! zq1~5^Cvh!p04Ua1@JS~MwEoM2fPlr!GZ^x&$>^4xWPL+5bSMfO>7jX;!l6qQ>U+s} z64%lOfD;`jyv#v>F5Xnw?BM%8daV}`MdiZn0f zfhhBs5R>M&bYu(w3(5q9+;P4-GN6TW#@L9VAMn?9j3wA*Pz?L-t*0k>g+uc2u!Q00eE z`TnK5jhL8)!hDvpemrrK@q4vgty=HWKPH-)LRB7ZS)zS*J>5?8eF^|8NEd|4EtiHx zyUn-BkSDE;l7TS+*iQK^hg?19pLubP?)_CKYkXT79DhhZPwOMR9>w3dSc~Tri?+AE z&jDbC>4Lz#<-zt!1B^vv&@_4gFR={gGMW76EBb9O*9tz}ITzw}e_2SMVwmO;3WHNE zfxX!htNUG!%hPoeUIm2&CQm-2<$hCHDkW zFcN#*qP6#>wfZK0FF@0*6=*K!H$pnK-Jp0TW@nKLcnPU@#if%`MB{2_lX=& zu~Qg0@!oWE3TIpTm)PMTm)PMTm)PMTm)PMTm)PMTm)PMTm)`B1pWq$p!-cr Seocx10000K;MaM-@B3f$6CcjuZ1?k=>%Ol0y3gUyUwu4v zcNp#1uwjGlh4W`GZ`iO&vSGtFcH6eDFUc`2)LsABm~`3m%!UT)0pW%Xr#D;7BH z#yR$%g~pywf4m;gZS(r^3b7`noOrTag?+91OT~$6abU|kW9VltJZm?%{n)|SjJbF8 zmm1>G`^`pwSbUG><^QXj<2gC8CPS@}XmHCd+YAn#zPn-LrY+klqBCWYoyj{q|Nqzj zmcKDDm^ig%eck{5Xy>+VlAXU5{;=o&wpm}__TRQ&*Z)rtzsBe5{P=o*e8q>a`1rp$ zMwrvSHJqp|7*g3_1C}l7kurn_}X9c{{iu9{X8)6N$y|g z?{3IsoS9U~1l%!dl7NcjIr;vlAm50NJt1r4uiya}|F4Issr0Ui^8HWV3EK^pF#j9`{v80MkD@WODx^%PlfUgTehucZBg`u@tK};8Sghf zm&vcOO|rG!oJo`3k%^5@8wUt^DUt5^^EfY+X%ea_`=4`Lw$Ar@K!fl)UCRkk`OWriR9^W^R)2GpD$df&&`iskErcEt5^NgR$ z<*Tr7^jK`#U<2PquS5+_OJepg1W7qEr8eCKf)(_g1ike3P^x53VSO2YcuSQk!x{3@ zh0nC4+R}#=$N1@M;g3_DKvowcqO>UO>bTGb0efr-Zy=#b((q#0j4;wEBtuJf#ZV9< zEBqv4C0#QnFGa6MwlVAOq}F-38GLx&cz3D0bf({FXH{c(>Bd$i*`N%05KxDjxU4+7 zvP+!9I+^_`_cYcC(fPrL>xB`8yJBSBKRu&G_wLeJtNaF=^|^vm8Byok?(yFo;T}8K zjxtB@+iu|KwW)DOZRE)!s!ji*i7Q4~CrWWin;@gMuUf%2@a=+p>O|sp>^^>?9^<5x zrs9h$V6LtY@GW!4i{vL(j_qAP%bfMIOdD>gKRjP<;P|pCuK4AYY8_c&!1NPz^Ci$u)fIcZiTM^OM^aa&;<_0vNsC<2oZY}G3w9V?y ze^3qz&tYlHw;ALZw=Qe0ja+gNUXd>?wl+TI3#MlmBlVX;%YrS*DdL*%&;?znhOmDh z!aV22GBR($%XVq1L;Qv&$gy?vYWMM7-u02|n6h;6E*vKgz19@eIl8+x39<0*J)3Us z*;W0pn%x$2jhy+MmXF^1iSB_h;DqC^X;+VuW$c9u!9Y|fd|~K5n@85ae5{K-62mx` z>Vv7AgP8~DFV%RJEKcC|#tT2!uzBWa_&%!;4v5lx){)rI`S<)ja^7D7Zz^c9^kkKPzxM6hbpLo;er}0ve4Jl$bbwS*@$`Y? z3DNay0@@jVDnlSjg0h-%^Wz1m)wvY-!Y%CDLVS9tqGF;|t%mdAtAuAIdCkVdK zN()abq8N(kR_`w3-|Y6WwPK~KD_?liCtVeZ{4H_Y*D-YRx6|=%HSq%Sj=sB#VFCy4 z_?}XEs?l)9)aQQr>ad(T)7qZo@Aho=P%JgRGo*LQM$jB_9@|JHG$?A7Lk#r|h%aK% z_?@i%Es>!p#OHL=`(I0u-IV=Rt`sL%S7s2g&}8}VbUfsnd^9$qjFqy|(V&P&+nmb8 z##k+XpRHb@LCaWaY31Lbq4_L}GBieUR-v-^bns$XVl5>Q7md5lC95e%rMVj9DP@RD zgy>&PEtH7{EWM~N?NG*||2>x;L~8nFywuwMY@N(XWU zy66rJkfh(OCLh{j$}yd4$t1+E;t+B2RMK0hYuq+0P1%v4r&w~OrQ!vOP@I3;Mu+Xn zpO?8}j4Oy4)Lv@lxX*S=xal$wg;)8fi4o%xc#uxXC4Lr}tBxy?^~X>~1OhRP6yErD z*K{gumtZ`c{Q1_WN_1%!Blz1;A1({o0Suzdo%tUS`e_}6j_2*`ZanSLLt#jPjY2Bs zw1?Dp`=DF$115~`jOt4Rt`YiXmJ+bYkyFRLMpyZ59SN&vqGddIAej)P=w{QP)Mkf3 zWd?(NQ$qkvZO7AWiZzEBE+@0|17{7&CfqVs4%4x7Lzx&kygOgt%>-Zhj8W(5+q+^J z@pSj7E%*M;fC5N7^+0MjQROdWSgLhZ%p|V%W}kLPd0bKm5FQUaa5-Pxv8wywpH2`F z#x(ImR6)xVE2oWrwbim~qz6SUVp9O-}${yu*n5X2fr zP6SW8{_@0>xS+eZopWItS?>{=c30?F+v*O#$E}BV$pSl*GvG_p7iyiDL7f$Yd106> z>Y{3vQ}%~s-7t{)_exGOQJsi&RkGne^)}-aB~XAr!v1hNSETQM(XAi^sxhOa z0O~-yY+8bS5Qs45$=;-j1gtdN8IlPR8A>#%WsS6OnvkEUUsowh=d!5k#nm9%gHW@8 zRp5!35|BXHiUb!Y6i55eg}wGt+F#A`KuFJ3o0#H<1r;Vz@QD;ePf|q5J%OxR(CMBE zWO>!aKwyo?26{gujYLCNoiYrjo1I9C>Q^bU@d6jx%;A$==ALNsqF|u#b;F5f9-Sp~ z{e8ui;Fh`=UnE_8L5V^-w3HQY;bu8V)d%7A!o!q-=dEigYUD{$2 zXx<_Tl-Btnn4CIe>s#pzfz*MInCQI4S>72D;rdm*2Px%SWjK0&T1=towD6cTsj{1P zG3(*Ox?_>}<3K=JZJ12N2nU0cU&ZzT191&%`eJ{gNinoYQnRS+=%I`$V$b8{(2hQ3 zud)Lf zK2QDUePZiAP4e)20v9vUO+c-tbB)ta@|^Rr5ssb&qj*pKgd^o=WDB!DbEGcGof4O1 zZ#ZSqP6pQ?yQ^NmU5d_rYxms#ACn(HC^K^US_Q;R97uX?@2Gk?I+#@GcP6;ARBpZj z-YN6vygwm2%$sPO{(8Y*Nhvd8o@#;s5K01Y;^fEAx;fJ5?;_*-ZFw0zq1bX7 z`bqgbn=}9L9@!P!6|jM-2{t-}hio)5$ImP&-Z$fdzf@OOFQk>63Z_)A0|j}}s1KdU zkz00w=BsxdT5@QLI|WE8)zU;3IQ3%^rns*y?~Xyp1>hNiKNKiIoITfqGUe z8wCfJt_}5Yrad!o3_!*}JEEFrA6*kS@w)%li46ed+DzK;{|2J%z8<|Ny4H($0D z&pJt)_eP=VU7VJlCAp8Ao-12f04MIV%_oL-xcxI6ykgnKYPL9D)9@D*@8%>3|%CmL_&=EmI1>UK5n`308Akoo1j$RL{78ClPraK4kE$FKX!p_e3k1 z1mZgp!>Jd!i}-!SutnnuK|amCD1s$46gNk8ENM?D75^@;nQN47U`inly87(r$7SoR zZY@4j+{kw$?BB7TA+3J2-ZWHf>6>+f0WHq*rr2j)qd5N_E}c$HSzAiT5)kaN@((_~ zJ7%30576`gn9V557epbb=k{XQ`4Swq%~4W-)~pDAz@H{qz`Jqx=f&55Z)kMy#QV0q z${ru2SKMU2aV2LtyrG&b=HsQ!4Iv~<)!}_MMMp@uPLlm{?M*`xCRnukC{8Zd=9M$x z`a_}&rG$N;H7!~>n~=>teAHn%(#s}D-G*o^5gTWTwO17ur)iNmR&i>e(l=zRP;K2= zG35lXOj@+#4etFSkiY8yJN}AL1@Pm-@Grw8=)|oR2&JUvTb9o+ISa`uaV2+CMscC; z9shIsh~BvnqfnB(Nqi7VyywQPZeZMB57F_R%NuJS#Yl6Dh^C*cLbM#6=_wb@2I-P! zQW}2mk83AnGtgJ7j)M!L_xe*)wgCf%8tkDzE>8I|yj}iKSS5c7#*h=X;9cB`2L)Yo z+GKuvoX8Mudhb`AR!ksuGw1`?pkpZ zg=)>peZQYH*I|WtV3*z0I>E~rEzj%kImuBU1$F4Y1o&!Vxjt#EXj+>$&!_itWVS1J z<6+%w-6H6h!gFYZ1n;Syentx%^9d^bJr)ft;(ab%yS;P^-W@1QBZorj9AasSOmW8v zwWCg61PI*YX~w87Jk?HP`(9t0)U4+V6W0m0c8c6;5go)3~3S zaSL-ns^cW(#KvLz^drzfa&wXVd{3U$pHj)j2o82E20 zeH3i?IWNP9eNZ{9bzF*BNPetxsDEfmWduFBttE%93vG)-!Nt&)({qqv+Mf&=_XBVg4z7b^@R0L&v$73=Je8~#eW$3bsCEa zQ}?E-F!ikDDul7yvh#jk88XhaKp^6cyEr^o$PN%jXXIfxnKFxDCQKd=DQ|c%HX5Qx z1wY?Umr@38> zn1MUXlEs$X6Y#*jE5@;DpL$NZm;7y_d|lu@0LY4@Ve>-|0X(<@PYATVEnpSl?iJ9HI>)+$ z-iAae53D_WyK`D4i z$~I|8Xi$;4R8n*Z!WS*Bm|4NGq$H}PL>(ML!0MM^ZTh~c*unUCe?w-=50ik@t9L%1 zI!2Ce`lQI$=ccFi1;6NF1n!R$7ql z;^fhT9d8iI)~*>i!!!eH&vQ{}g zA?*vFh%gO@WI0ur6tClWW{X8UZ0+|7utSY{_ol{`UrSB@B_dTG63P;smk#K$?P5MwiRQ zr#}{p1p>g1?F}uGNMpk(*xG8;p$iX@4LV^|1NP=4U0_gCYi1{73a=DK?@;T+1ze@2 zG>Zwj)>wgYgeb+e8=d(0{nnAVm>i+qVYifc$b@tW*-(X#LcC&V!e_%P2d0Ui!L;SR&YmGC;Svg%+q~*j{)iV^!k4GVOLV02~uJsjQG09Q} z?;^Xm9)pL7TzzxehNlvJF8M11@NwTJt;YY>edLdx`xWl|Pu3#AF@T+S6~ClB;t<;MIbPE z7VO!Gfc4k-)isIOs`af^dA`jK38?`0e$TRMT}feSLxtM>H!oe21v)n(D@_k0CG#p$ z%NXO!%szWA+ZK1f?E*a-FEmD^RZ>z%#1%0d`@7o9@{^xrm-mZ0&jmPri25&-#BR|0 z&lCA|+yCUvom5|}V9~`Fhs(>GxSVYImbuBL38C&M-#yl>y%WD`Cbh&RK0FtJvW^1U zerk~%wL8ye#siDTSoaiL*%&OLs*9B2O#Q+3o#uOLfR64|P)Lt|&zCW?eXF;_fEX zh@9&1@r+k5dNNERhyi0#swbsW-ilA(F13)2`Tqeq_fK*k@`&k-s1b*o061{XoGYcN z-WWdXkK|Q!w9!29SwwpI!?Z8%cs4(d#ltk)glaD9uZpQ}GssW)L4vjzhOGwHy{uA( zwzd^l-RFcv5c3)QhiaCO9NB2qzw*GXf@KX6z*a9G*LLe!-NqLZKFLdds-D?%aGw6( zSnwkyrbh=b?=t@A*Kgw3KVKSRq=~~_9ZU%PwNvN%^|cok>P=f0=4wp)4xOLDxt+DE zrFn(<^G1ByF0v3gB@Lp3w&Bg!eBq8X-wsqexL)b6l&Ml#0)*mGwj5LSjFCTr;ZcAR zQ0mJ2Q~Jz`UTAB_7P7)xz#Uoo*1^CnbvcS*TNg-zL6z_K;amDziCgH3+7K_u!mP$; zGIln$9kO3MpPxOYeKIs#wa#ZAP9z8q72-kYc+*D{_W$A>NT9iZ)Mo9{ZTPqYgnfV& z@8ph?%Tp?T=C5v>ug{88%SG47{9GnZ$z8#KHw1!ZAEq$1K1%)9y+*)+u-bofrM@YEpFO+*L zs|CNES(&+~a%Cj7!BfR5sm}%Y(as=z9NWm_4+)283$t!`ufEWiRuGSuUrt*fTURZ& z3Qz~0I2#Q<0JQo`Tk7#z1S(j)vWyrq0=-g7+t(~EYU}K{(hB7~gn0rE5#W%5KDW>B zyQL&$o9=WC#Y*jiiVinfAHnMN5j1@tQA;w9Up9lLpfZ+CsBW(5GPC~%ktYruVChVx zYvM5-eLecUJ&d*8%7EJ7U`zUmwW%B^&d%_MjgTYxE?>yAvm^bL*^hU}uITmK9Xfc# zKyL4sXFbZwP{d(Lx-O|8#`LR`7g4X9;hxsNIDRq6+xn~lPmcw?&3mkFp2kt`JU3?9 z;LKS?Hg=_$Ip2q4;wX@OXomKh&!*OAkiF{G`a8df6^Gne`TkOP>=Nva;3@-fYiOpQ z601{Pm+pnXhA_A%XI&j)UMYS@8v=3TZQ2xqPyn!#j-1D~`( znRGv#H(WAdD1D&kq?%KRFX3J?(sq1$$j)k%h_#A^kfGl&Voo}5RI)JGvqk;jm_T!h zrZ3@|R;}{$iaJ2kPPP}}mkU{N^x_S??8Ya0Wue}cj?_b8V^%Jvq-o}qwFQELka8;7 zZKb3UK)#FeXk>{n-#tV+Us@d-17>=xUHQa!jWK?VI+TW4_F=7l{CM23e(KMyprT>(O}8%doi=$eeK$#g5BGW^kmGYNT|nwqJ-F$0?H{`j?W-J49&< z8Il+zAqcT1Dk-5@m$>CQLm8;$Ws%p1Lb4ixz|rN+8WKo=S~tXMPireW3>=L&Y33a@ z8$N2XaltE7Y<*El2$qh?8zOantBId@H~0M}zI`i0X?@L%s6M*BR zmc>KB15=Jfy12$9^M{|u6nk;a1ediy&k{Og1rnG@qLkC&{zO<;1Tnc&EH^ycTM?pe zl-b2XJ2~7>sg`xl1nV!I@(HLCM+Y=iD~-=$_!~Z~XGwc#o?4ezQuwYjNH^=ymLsz! zQq=2KpgHJZE8XER^c75SA$o6iW1K86Sj}SxKsdiFdqWb_Fvh=-UvJu8Ar6(CI+j2f zjpw$!vg<<^lueGcymq;85VAiGvbg^i9q@uMD(K|dW;mTfdlt}QSXS7$ux{g~E<*9k zFs89xSD#*`ka|PZ>~Xu3qj=-iuDp_6HGS>3y{(WRR~=kXijU^w3+*L8A5MvUl}`Q) z፴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

gGe)?@mp)qhm@KTaTSa6O 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

{vJ-137+pJZbb_0BwvzHA(>+2D#8 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%0DoPw$B=kPPz|Dyb#;8c}kSICtB0~jPv0U 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

HXk?4=Mwp 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ⅇ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 z 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

A9*x$@uV{S6tPXEtqx(~ne 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

}N}mrJO+r3Atd{oC%N3jXkfPzcS^8FVMJi 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 z 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%0AnZPDr4 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 +@oSZH!G^=FJp&U)bXEv?abZ8{BmO+c#O1 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

1DYdkWb4wK;Ox;$@639#Vc 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

kE0qkf-a> zbHh8+FOyu8kb2&OBQJV7b}am~qVKW7mCdjTJp&uvyE*lgufmpXQ(y5-@Hy$e^#_0Y z(*EG7$PD@Cr*dt@YwdUJm1Du7=VS6bc-_iIoj~ce{xH(DKkI?_I#pAS?1WQrkZWYm zye7vb{4IF~_h_0t@|--A-!pVKWWkUJu1(Y{*Hw|v7!~q~?2Y_WF^4E4JbC44bE(g& z-#Izfaof2UWh}DtzlAMn;*piMga2!m5bo8wVuC}ylucQ$aQ4$G+so**M+4@a

Gxp7?@H- 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

*rV@up}Ji9fgf=C%!vj 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

{6MHs;#g15GZ(FE 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

_n)3| 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

@^tu12J8o_BoEKC3xX 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 z

luR$G~Xoqm;0_}1k6G#Zgc!Brw>JuJ5 z;Y8{MKC~5`c!SS?gEmSJSn7Le(2qCL09wGhve8}Oo_sEJm**)@S!g9slSZ`p?%u3V z-Rb}el$iuAi(CO7CWa<7ys~uwM0Wr@$`%`sen6dU&@;wp5`4oZQ( z50Zc=KwO`V@&{Y|b^()EH9LpLE@+@ITbb|WybH`aK1CoXP(CtT`d8T2CQ?F>(0MTPyaU!4%5Y~R`S87e>%hG{`TyfT>%jdU^vWC*-&EBcB%V=#{+NTs zILdbe%Kf2?4Z!=OkSIH89nZKq@wkjFkBGQlp#ngAPmPI!1Tbx!0+K0tvBp>PVi+|6 zGC~9{Bz{}jj2z%)V;Mu|m?|ElZBb$u<8|E{@D6lau5?say)`LmXX3^!vjV}t`RyxJ z3cMdr#4`{4^Ok-PFiz2nhX-yLz;ox%#o#97B;gL|T#c8Vq7~Lc0rJcbP&byKDR*(! z42pPG%2qr!BM&I?wzw$l8k*EWVdE9Ur;X)t8t?Vm^7G(OV!W8Tlc z3p%5~twb=w4Aca06h6={4Pguz?5(eW$l+OuS1G5nSRr9d@LzlU*|>&g z?Pj!`_5(-=g_@g4Q_TPcKJhCCr4ysdn`1>uRLDs_AVodeM(%j|J_#KFBwpcX!r%#x!j9b4#R3%30C0X6kDhmX8WHYh90nf~?sC6W65F{JpxV3ULEIhr$1+CRWC zub~wf{V`<#(9;IMi7d%muo{|y8f_$lz@)ajgaMH!Jaaz3G=ty6Yo|Zt)ph^?_#n^t z&07e-;iq)QVaHs4R}Z9ozzRPAQS<`p zud4KzoBMi89lV-Ak@N+h0aSn<9+Or3M2uf$(?i= zmXkhHAKvCuI^XAH1)qcusb^mL0gckm_G@=NyXjZF)A!nj2Uddc0WXEa0HQXS)0gBC z1FSRwkS2TDWg?@ECR`HSpJTU1XjsNa#-Q)oQ(h)TbxHtQc^|%_;TDZ)r#AaT6Bz*J z{KO~eItd6J?Wg=!uKP*evDWs-GfqzEGZ)Y$0UjySm;#&uzhM_5EBS9sJ~JW6a}Jjs zIe-AYfNewE!bjnd0HjM<Tu!V?5ZvPj={;1L4gTz&(A9SC!e6VM1@h zo3D+_ngu5tz^JYiw3Rz0Ldw}@XMa;WA z+GFCQ-yVEmq}S&uvOG1`$dA8z)x+aX&_b^<-#nq)dG142a5{yCJ?+2nvj6GaTbJ*P z-)nE*dcOYUUT|O?xZeXVS8;zsJyWT#eNIsr4+fS&187hv6pnP19A)SpgKDSvjVL9G z?ZFr%3S7ttH7QQqa+yCM#`)84op`It*0Fn*j)A&Q;*nQ2FCcJnJ%;Q;-l+OW-ePJ1 ze|$bKn!t@5a{d@OU;cU#ygM`EYp^oiqyz)~|M=>~cU~F8{e1Od1V3CmF=+%A1XjhZB}!Iq}`o?=?(o8CQ@Bx54)Q{(s7=}og#E0?ji+co~EhAH? z48BPZP{=UZ9O><`+NN(@`b2y1p$3-GNMb-iId~(~LRbnQ!D!g+U&BqIhX<6rHWf5P z0WrF8;gp40gyUC7a@gKbO{cI#Y)!1}t&`N$xkjN9Gfp7SMKH)HchfAzI zW8(K0c>$4jiM3^1BnOZOpn0emN^Qe)9$_cOpqq^24^Rh? z;sIHzk;`)%oxABY{2u^e#EM&@XK+Jic@7j=U6IC0Qh6ELW@rnKBM^npXa+i_w;mlX z_j%Y&kW3nYB8FPN3B=Gp+g$LG-xv-Qj8X!U!gKl10uZ<+e;N52^R(9|IhGFCz$4F< zW7C>4b&%uZfLvqd{-i~B!({SYJL^fzr#ke7FugV@Y2DMu==a@&!AGGMW0e7Y?hP3k zAtKtKY@fzVK}O2(8{YwUd~;v9ZGV2#4a(wa?>NYJeQQTtIGtXqEL%Q%ZDhu)kH6glpy1VPB9f0Unp+U7BF4Csu0037wJF@-01t&Ql_ z7VVV({_MZ-TbuGT-&=G)oj5|r8y};OM*HQHXZF2v-J{d!ec#buPwztisaFMb1Dbd4 z+#WqRHq6_AJ$OAfijsHjUs+yWTFvSqWz{~2OlX_$=qK-`A?4!J0RCxH#+C^n8nxZ0 zOB<~Wn@pjx;bjXOW~B;^{>YyYl}?VMGx3oe>RYnqVh@dby7K7JqtRKPcKi!tA=~OF zt4^0H7>&%UlkGC;un8S#N2~iCL-`Dmk?E`~g$MN8p*Wm4Vt{e9kq;9RZ}<;y>02+gqfa*lxDWjh8Y9y? zqCe2OEe;d+@z*%;$zIsFs!n~Rz4Q{9@TojR3 z$Muv$$t*8FT7`2qr?R}8jgP`zfH>ZD9)Ez3H-usoq5gsBF0tf**+H*d!*XZH>6gy363Eu&dHJZnSveY)-T1wr7 z0_`rIc}t-Tk#qyVZf<!@GhT1}e%}n}Ed>Sb&B{0Eu#y?>qg;!|My4 z@Rso!nc%#fV-ts$Y|x{R@Px``7#x+S9y|q>e0Jko?kSVO0tz}wOnr=%yfr{+r{~Hq zUqTa)j<%Ci6E*DxoZTb8yoT~H#t%JoaOv5ER>}WvK)V$hb>XZ26%Rgv9i9lSA-5(3 zCJK09Y#1RmpdrlU%0&(U6JcIfXYk1%I_6{xNY!`x#Yzc~tM3ZvQ%^&{(%R__G}#g> zt4)lpl^33Tvc5l?U&(|CCQzuK02IH~$up@g{mn3&Y~Vq?r=gcTXbV|IkFluj(&!V< z{kinJOLjlMG}sazxtz^Xk%i;TQ}>p$SIz&;?xsXL6nNdR3!W&u+2Vv=HI z>Fb=hLf&1KpY*YfZ|Fly8M90(O(67l4Hi+5>3l z?Fs0W>zOh=pKVcpjz|M(6?+jf( zUJ#`{;T=; zg8`D39dY5mblSriWV5|{^pY`*ZhhnVZQkQW#$fnMM)1a8fpXGm&szJjDc*H0^agSA z#+l{)D?qllpQ>LuCTg2AUV->6Tedeu#>52wd!%Xl`hFoX0r1jI=ilH3J)a4C$|N>q z1AocTY~$2{4FL+B%JnQC{f_=|js95tSpT?(9N4(NIrZ*ydnm6zUeA0!6o|nv2g&#j z@S4$!UE@)xVUPFYfdCVrZy1Oektk$G<^eXBqga4kp)C|JWoxF+cu*KXiGj>({zzik zd8H^HpowA<-~P@!?^KcSEK?Saie%u$QA^u+^(=kzh%@lYwmYA)Lo+XkQ&%YL(*fVS z)_^51sXtzA;WNOzumYO{ZDgdlDNzcLa`Vi7F| zi$@gy3CQ7#w%gRoVDm5mG$FFLdrvm%Ibmn_!J`rVXC^H2z1uz;MbAeL#tD2jfiNIL8|3Qy-a{Kx+1zaYBZzwvls_ zBRn(VA`jA`rTp&aNTa_!1F(g4DOcOuuJFQGHs(w~$XPw=p}7-{lv__|_;UMxcoiN1 z?s%$Ca8})u20Zdi+w&mhW|M!~2~Y!IoiNfR;e~N){0SNJ>4X<{A=%QGHq1sp8ZT+P z@yY?f<1FvIq#vsibMvlMhjFZ=y!1iHDUCA^=AlPAeM1ie{ba~*{17Hc-Q9Mg~IETLI{9EcsPGicEU&&l7I5c0gIy-82s>r2iny1PWDZu@cACbBX5U>x_D zUarm)Dzqzgdt>UD*wJUg^Kz7O@^?ig{el){YoGe$1JZ$aGN;C_PK5@}J^V3tE# zvwtqUDW4Xy=Dz2pKi~1(^QK+onIFBm{?9$-z&dch2kf2#e`i(m{unSrF=vQpuoy_U z|0qQF8XK4A6b%o=j_q4xpvSrBJVToe$|xM3UkZ={axx1=EY_LQGrv2jG1-=v)YS)CSNWJnxePSmPc;9UfTvT zn;tW12;cMr<62%Yo-ss2e#!0Nxpt8e>HRUd+NWNhCU@U?@x^$_j<#O>x)ypiXa5Cx z?Sw5naxxORBMS_(iJK5C6PuW;%02_-Vh;f#^c5iXZfFWmZ{{3sZE%qfAWbMyz0+yK zeDT%<$>g8xkdYo6nLNfC`b`Rbq7lf~-#~(T$usaB5pLh2nVcA-_-b<0x3i{fdGOvP zT@7q_gHDqo%lza;-;xhkKe~pNlZkftSwVg=d+YCEX4tmJyoJ44cx+?eil-FJhzyg)`$Jx=#q zpo?63QI+%4)1xWZ#9*vajdtFqP2UJjFlmul9opePZNhJ#WX3Z*QI|2}qLW;=fK&1b zm7xn<4~#sXU<` z;@mk^(C*%x(9)58CqgDv=!$Y6b91p$4o0jx)RwAFq3xpEZxlh@OjXsf_p$e&HM1IpD5e zACrpD(s%gip15}Ol!o+65lMOG`QeMF}z@2;gRM}C5z1+JmFBnrNn^Bo_ zFMs6)e&mnN>$Nxzva*`8wQc^_=Yy>y?fSp>lmi>rJ??j(-&1j{t!eE*@x6m51Bj>5 z!1C9DmO)4f_ybxE9D|Mm8E-i=Sfg}+%YYHzc?v8giuvT-^;XnR;{iIKSayJh=iSLN zlqY3(;o_%5>7-0AnGjxZ`ARnQMd^8+@_g&12>~xE;8)L0zzZd1!=spJp85TmAUKMO zx0qm~nXvZ*kn9~D!>enZak`_&j!Sg&Y#b}|!G5OMW8{;>TqeSpxY~5p= z?ga$W>opwYDt!Q)15svJEU&WFq&H;hFLH!NQ7VQs|7xs7JZ%NaX#i?-xgdyP)h7i3 zS+pt-AgogD1InIwg*aonv0T778DpU91caB`2)K*>T3W;y`^=b4#4?Txxdvu9f%*WS zly5diyU?URj7{mZ5m3`F0EcOJ{oiTs7;?@tndBhay+d@6%#lA%rg1|~-7g?a+wc*; z9n}lrX`O}eKzs1rUHlWdBtr!x`9_;@FCTyoh$;`i0hcZd$i0VIJKP9$?vrQqpjFh4 zzCerdWJXI{3CFXv53QC7=^yP@51BR=(BN?HS|hCa#$Uh5jx^|z24FWvlAz_tz0&GS zeIq@&=FkCs>J}|l-YT3Gc?&c*G~lZ-T1OKN8RvL~FJu_M$f9=WcX`Q(=)CcvTzyf1m@#6x3_XP> zeXuiS*Kv(L0wm?v9>8?*n!{DG$oJwgTIpSFTg$?X5AEVSx`wCi`=ouCG3GF?^d(0b zFFCPhJf#(IYW>=l@kq~kd6EZk-FKWyP%90qqs-x3V`0e~J~-4%=FK!|7v7J4q(^Mo zdZB?QZKXRsJP#w&75B3wPTS}MIuE@7G#Nm%-yxyj`iGP3&^LB}K@%H=S9I6$V+p>b z4VAypCo->3f%oHawC==Cvy%ckGZscitFP_C{LMJmx4Of&yl5a#9cQW2H(Kx!y_4t25Lb@l+A%C3z08RqTB9?B2&grrVy=>ql_uIx3eq;Fr^%J zvt=X0=Yd00a8F{i4f>M-vp2uVL!K{>Bm$Cc`Yv8h#N%uX_`Hep`@ERORQlPoS)P!H zCPQdCb0?7w%HOgFks1nA^p>%sWB>mEKTcMc zC4`2j0htuKHZy96Lc49i9;9Cw{nMxOR@B_%SOFT^%ebvs7;W2*!PO6 zhk=YSkd*(u0Az;HJ$(%%AIelMnJ_bCuVDsX-vYFFYl+GCiR$VL@~sYlfnm4vh3M1E z@QE=)172vmb|{Mz#^41F#K?Kj(t~!>PBI`3AjCl8m9#aG`9?cn1FZQlSnY>oWPmHb z=@TFpU>AKCmDSGx1wfCd(&|%AVvT?5W$Zm9jt2QTR31#^#8{SQeBg~)q_?vS$UWow zWPpdZG1RUld%i{SI1T}jG3@srhVD3>j5HZhFaD8F-}YViupf}Q)`gpzHwM(9{pbet zMGP&)^ZoLr=apkFcul4a{~=yYP6S=1U=xw-W$e0~(ZoJ)Y{SoFzv z31pqgn2j*EE$3n<@Il`gPrmg@PKU?jJ-j6MZjSy{)y%}`2jj-te!8j4xQ?AnP%SSD zOIz7wHr#V+mP+bhI#6A%`K`Ykbe3}QF4Q!QSsSvga_#1A9v=^-avs_%FRQ#)qu?$KQ?vhxQ}xe|_dx@ouWA@b9UT{C5EPPC~|_lc%|1;95Tm z1TYu|y8YRW8VX2;r!kg5p#ciaiK?GUlmuu7ZYe?2iI#Rq$JhY_#%R~+=Hz*d3}b2S zF~ujsdFas5?A-D}UVQUOccQtOmp3sy7cQJHAUzs|$;hLnhCAihZN|DnioOp)<(q<` zggqF$9v-CxC}V4d-TUOql>kx?^NoW6TzQETVCTN=DuIWqSFd&*JTOR^DF+B+B(;%Z zQ#XSH^ilMpz|xrskPqL`3lO-@a4{;34B!b|i*i%Klsm&JA}g}1Y(NG7I1^|9LIFtz z#!e>EQEmXeWfAHJ@+_wSDA8%zMD$^mCq>-8%mw#FY}MT;;0AP1xq$P@lnHRyH3mr3 zhRJK)uj$W2<$->_mWPJ%9&JDXx)^l^OteYc#!DX2ee%M{xejzQp2`JMl|vTXEC2GF0V8K* zum&?c&~A!Uu!I> zgDiO)qxKgJ7f6m%A%DR`+9(|!D2EK9DW|1NKjE)~96F@)r|$uM2c9Sg9cTsQlce&8 zr`n)x#<1VY;2diA$nNwDx;j2`9e{GkE4|2RbwJMPn${nh&;T5^oZNGrL%r_P0r*C4 z=o94`9|&|lax@?q%_$Sem&tJA^*thCH_1$cumr z9-xIBSt5zQ^ks-{d;33va*$zwQhVtMe37?8ng7)*DQ7@X379qJ)ra5m3rItBRjI&8$z(+2zWFLX#Ho z##auk7d*Az*f%tAD(fVLeg~Y;?~cCYO%ZgS@>+NLC6^|RveRCD>*%)&$?JT5dUJDs zrCrzdzyCHI*az-!fbVOdsH%fuPn{hmYvAO%!N1Y+P0N5VFqD=lLJG{X0fy{lA}ByQ zh2?E-53)lHaPlgHm_nf(7=NH$ddk`KJ`g1;`)xq}!$j>U70WA>ZF&@F-^q579%%U= z|NQ?3jDOuF7#=2l`+Sz&M4?lNCr;+24*_YwkL|-KHc@^Cwh@Mu%qUQ#md8-QXcduF zmv#5Q`o+H~0Jda@a`nNZch2Vlpn&9S*RFM4GR0#`ayKspq7*&U3G@L!*5_AqhM5cj zVD!o5%LP^`tn0slGkhFim%WF>3kq<7Jj!@y=X|4NmJBc=j7JS%z?Wq@){u%yj`GUX zag@KqvK_|be)tb?FR%{e<2i6)e|S6aXv21=;Afji#*m@YK5HTMmGmMab<`4h0jfI% z9^P>Rv{j^)V}Ord&Y>Pg-BKA_W{T`G0BtWPCvDeOMrIrh`;ePOVN5)TC^9+A2PR_8 zxeI^{0C#9Jo&f%55*0#^bH2mqRL zwhrH}GTNa}MX3RPpq2q;q$a{OTYRDkc(rbR)|mgWlZv{?h`L38IV3=p-+0ZqYO`s0 zwD_pUSSwge8{G$r@r}$n^lO(6qzvE(e*qi7Qrq;Q{wzR=Y)#qo42r%2R=i)qbq_Cc zN&sEXE*`1}tsEG%auhg#ory```c3X{WwtB`YGbq$5e}W4cKtKUbL{p3^jY=<3~;jM zB{rOyaY*CPrVou_fDX;cP#I$2mBsc0>E0vYFy1(;wpFato@;2+X8bP54W0VRxLH6v z5TH5%Jq3ScDFiJr)w)uaHaiwTMzm}C0^0CRzUY(!>(HpK=E-&U^}RGLLs`;qu8GpC z3m9`wU+Ggz2i4=lfz%d#vj88Owda)nO24-Jl&i0#t!%qq`b6`MXHL&JP+_B{_`hQu z_%+MoSYX}xl3O$yXUj=O*J_VGkrNHBuix^xMrS+F;6-7%l=A@YTq7q4;gGbC(#7)W zSM8%S*bnXU+>xbKe*}7}-*mz5UIA=?~>=w;2h6C^}Ky z^d+05{p4nXQ{%j#xigWG!%08Sn4pDDrWf#o9H3ht7=y-?U=M)1duz9Lj&r$yHXe|F zvW|DvjnOyCA)Dw>j)RSLPQS8S^tRpB@c2cR4g$mS&|}gmi@fiZ>pGPwGgVb?I0MTO zq$|ArwA)W6L3Kg+b0^y{>!&&ZX+IrPT4NgkeSLTGc-G#hU34Yc)TSA8v-GdBkRCS^ z#}-$9LN^+XMRZnn(#}}iw%4_u2DtnC>9J&f@AWkv*S+<<%HErH|NJk@fqmfqm*wXl zEp3Lz+^TSIQqB2B0lSujrmRFl3_gRLVl$2mz}EwXfyf_#b^pP=zHReF47}+(9z0_Y z99ZMN_CyEnj>YiUYU)K4E`a_tN|D?IV*mg^07*naR8R!tgAXoNx&QWe|B{GBUN3*; zO6ok22=^Bm>|0xZ|H^kJ0ri7gL6dgG`y?i_+f;X*fM_#(i7 zaishhN+638)s9a-`6MrJ%G9P^Wxo2lK=0DUiv=FiSnkv9B%>Vhpo%nYGb?~0fc_}l zET2gm@W(f${dSahBlK}5C@Y{y)DSpZ2g6VCiRNmn<8qejI7E5?9?H;^vvyHNetT0Z zrOU`N?D|NQL>s*rh`~IUHPI9*g-(%QxpF!6yyzQXFJ$?Qeg~4JS^Usn$Y2P8Fw1o! z1!-4kupfB<_Pu+vy8=hS?1j4VqDnr7qz+l4L)Wk0$hzeK*ZiTAETLZ?3}~H5Cg3j0 zyNm!{O(Z)YAcmRoWFP@7<*3Wj7R#n;u)+`W=Al-`5bbCJ+8NU&uU}+6yXOH!x9Z@f z-T3uI9ssrrj(RMi`ZoK>>%)Skl;bykGMXGtz*ZX=MDl<(OPi+d=`VCLWRCVxXkrM- z3IL-Fw3+b%!tji&XrsErrUD9mtiMSH`Zy-O<>f$#l#`PhsU!ke^ee{=zsJ~*;{qIZ zIzJ$nEOK+yPkw8w~(TAN#iJg^Syp+kG^a>a_&05q=e?HzRY>At@^?v z2{>2UYX%Pw@J-ua>xcsG*(#A7Th@U#V*zXJ{tm`OYxTYye{a=pAx z8cw z(PiY5&Q^xQ_xi1Gj8po8E+A+4z+Nby6AZkoH;Qp86 z<)18RM15{o;5RAvp1VYa{%`WbLZ4>*Y5)=Pz{c^sm3Zne7|Dh{D+3dOvF&Jp{|x zJ&3|Qd-hDG4ztuFjZ!Y9RwW!Die_tSU88U*a!W%TqKNK$kh5SZ;KPfKD6L=pn_qS* ziQ)-M7 zp4veLu=ya7YP4B~qArSd0K2`lW02B*bTJIt4Fvg6%#DPPTTk8!V=u=bQA}|B6^lJ@B)*3zy{kDUwBS4{tKA?*NcV4)Y`bG7% zyU!6M$||}H)G9|C84Si5VBs(T*!l^7@K!$pxAHLDctuYGVq^_&km?P6HW5ReCTNh9h8MB3a!e(OXaQg%lZHv%D|In)&z$yX;2*6JGq{%iyzbSx!%^-Xn6cyz+d6M&aG zx|Anl6aWEO@dy~iJ7oeg&W$nr>bMK&(B|o*0e<=+7ur|y0HXR0|CKH6>)%PMyaL?Z zcdiZ(hAKyddVw%BxYxQu*F+y@CP813E#=a$#vDHB12Vb}?Dd=gz(k(tBJEZ#nV}z~ zM~C_~6%D05zh}Sq0rq%c45c|q%gGGrEU%|c&P!9i(dA}oPdjIP&-KMm-<467<`{l& z>PmLNvkqUDrl6U=P`+}>qNp*@hELi+zN}RjZ6_}PuY2C(fewys!G7}kt-b10p0UL) zm8Q@mKOHeV*#P`a9^4m1G!GsJu!jeh9EKZh6J4#xPMtI>G&15% zr-zT|#c@VYWG{F9!%osiNtPUu?eOFECv6Ar7cKHG=S^BN*H3f0`{P5K;w0|4qty%>Rxf5!LjG|=H?nS6otPv;6xD&FoR=;>bx`r2r$4YlZ^2W zc!M?xw|280ov~reDK7imev`=Fx2EI+B1QeYZI!}e907%&|Kb;2=JK20{!0zhnM8Rn zU%8U<6Pb=eU=S}|x|k?oqSsN%w=-Q2FadS5Jy_OzCY?8;Qik^B7Bv^;u$McKqyYf1 zJ$FTIMW%oCt6%j&#{cn~-vs2(Lr6dXWi4tVortq2igGP+0oXmrC}MdrZ%_ruMeTuV z;0muqE(UzgR%wioHR6m$6-~OpQXNVdI5J%>`e{iILJM}Huth!@Gtm{GShQ0=C{L6X z*mI9kW++AEDQnlX{rxNx5%~cSch2Wcvw(Yywk zg(u_#ZO)|!Tsl=9UbzRr_@GrE>n8@yQGgsk$QfAs)+@{&RH<0C#PXYthXnW1|g zQq>;qMYro@Zt;Rqb>(WO2SEXLB35i=F~R{ip7zj5NwugYammFZkv+GL!V zw$^869n{6)aA+g`C{JGi;v6D?kRdi+EIE?ye)^Zph{k#rgDhCug>LnbBQj=ZCQj;u zJRpv5z=83^5d_4P>tRVtfwWB>oCbZTEc9|_^u2P?l^d;3+vp15L7y9EmN#fG=QCde z+|#x?0C9vYqmZu-hrSBk%EZe)7#ta)x2l8ky+BDpLGl};+F)#}2fuvq(cxU1^a7CS zw?kTox|P}f&G$r02b`}N74oA`^f|q``f&j?WpH4~U&m+47HFVXw8j1EsnmxqfRxM$ zaOi_Nwc%y!$+tt$K%K@HFpqBc1zD6i@wGqa+tXk5oSmqxpN8jMH+v@M=U z@Au+k`#a^RL)-QJNV9SCqu5bER`q7&o_V z3nlPC&jIsw%93As`a{`dhWr~}`c_}Aw!3GegC7M74re@QN6Pl#^ejmW@4^!^uL5-X zfNUL1T6SW_6o+7D5Aag`+N%BPne8ZNM$CQEA-GZCj>6E|i}@xJ6$=UX98I(Nz2t7s z?fug?%z=I2{stIspg5NB8yJMY5w;8y18oMIY3wz{xQR$HAPhkM3@c?AycDdR59Z-Y zz{eDtr|}aBIvL|0P!Bu+FrwJcqR=m1`Y8FcF7Nhkl-*ke@m&iY00#*F=U@M)8lg*< zE=D2ETS|d7;AQ(ncDsqvrGx-%fQNxai^w1v?IzbTbp(H6Wtc!q_oat3ruZi z92fxSeXCrJK%Ac_G}lCK7!!s{RG#8Sz*6YGrM0%5@;;e0!RiK97)i8Rwjd&&ifY7^ z#b8=y!#TNn^;(^XokaAz^da}|W~m0iwm=~MiR_EgPo3MHo&|)I&FBFR$^~!=@?uOG zI5hwK=RfbB`IeLbn9344*LT1nFpS{adjT75oY|i-?MVN zx}`E{A$}anLwow5{S!XwmzlozH57vM;`)Y#FXq{j@QZhh`wY;)UQ1H zq0cntzWxUED-dkz*zuzne_JRAG z;CBbhC|(0#&J2zWpgr|>u&<%C$s-a<+0@J4oX?=2haMRMTa{6M2Jm(sW_;^R-tw72 zOrcN!6!3-31A>-OoI7_uVC!4}cwSr-g>N^Q&%ex4nM4rYdFQ=E1?_S%TLZob__L*( z-=Z#nuC?=`(AHX0G?b1hRZsN47ocsQZigtjh?aHmfFDKb34M`rQ5$QVMYtKL3#oh7 z^i3oaXHEwoQ#8uPgGPuqN}IyuKmgN#l=fJ6ER8&Xpof*LWd@2I00kwF&v;m+3k0No zQ5(y8D16sl!&8wl#*hI!7YBkt0<@~?Qx2djuV)2-auH7XfxXL@KOWj+P(H}az{N~I z1JKrlU&%cHw-NUA`Q5wYs94^FPa-+e0bQrhcsYl+Z_X61Hap%5U?xBMmlGuNqhAWF zH|@eV281zPk!6_}az;?J5xo-)`{7|GecC#s?eVj6+dLcRDe}eX(Es=glqzR{_3SZD z{(SJ7+%Z1NWd!jSAobEHFYi*8SCun{uGiT}J4MZ%dkZh813$c|3%$x#j=n+%qp2?K zop!Hj?yU2T?4qHDF|?zDfi4hEpRRF>5o|!GN21k(GIdF&+uV@CcaJ|C~JVjy5{#f*YCibyz0>Z3(%q8 zZ*>e!a%$4ZaND1LkR}OwU3t>3G{%;G9_MIugYxvX{L<=s-)8rW=jyiVovEwK(^9U8 zrz37h|HmWsrLypQz?%E&TXg%q4s|Tr_FijyLle620B_I-NJoi=zZn~m_m|nq_E65r z-dZXLaFRJ&2;1(EV62%b4odkOU18=BKRr;d4l-TmC9*}X=o30xR9c{bgSzC+_*E9! zA=lcC7xb?gBIgZ0R6eI=(&4W$)3V$4C*HOFkvnCi>gp~f zvkCY^ul&H{kumkSMwgERKl|j%r#wg7n)WDzESt3xRBD8stc8Y&kk70eFwH5G-ltA& zOR_|2W<~JE7$bA~@MQEiXU5B){5Ce}Aa?f7-S2u%)@-+m@~3%mmfhsYMuB?zbm}87 z<1A?tJ}nuV?_Al)lyCKiRX@5moSADIvU`7>?|=WF!GV3?{s#I1`2K?tw8o+7yR`(?b;i$1dl`o!`E57go>KACmc**PD&vtNAbV^{zo(G=;`>jg`V zs>C=k5cchT@@(E(N*Pn?qW<`$9gG*_Xl*}(;|-YlOS#&^$T4V)GEkvk3LsJz9w}o@ zVXvuL3S9)J`k$=kkMSf^=p1AIEQaN7`wVZoH-3QOH*v-+akAdsI#B#t4h{Z{5ze%H z`U?-yu(Pw%-*f<&#F)0J8QvU-BY7zO6KyvqYt?T?kXq6SN4>T=jwB; zI`^LUp7yx7`PMeHF8a}s%(*?YQ5>%YAn6v*Fg$%SOMi@OePdlWXKSTXx9b2gy6Ir! zk^VMohHf7^YQ1j&FO5%hb?IB=j}Fo%^p?)ZU~ac;EOic`bB?8@59p}Q5T;)GNV?J! zxpK6>V!s^p0(myOY!*^`1Z<2W{e&lUlykw1OR;Op;_%jiA#WjK1v1cK%SCnQEMv3d zJ>}6E_$)nHW#cqJK*&9BZKadUpb6p_qtdbu_-b6Br}@KIycIlh%nU(K`(MXq+OAFP zB;AD;dIW#Sn)g#w7vfWb8m?)-_9 ze(xWDdk*Xa_czc7(FH#`sG>DUW|$dhGuS9WgN?E1cg`sk1G7dT=OS~iQ5M$k0u3|G zZVhsPZ@~23cllR$ z-iL7%L`Y4sqtSzz6yBA~mkZEtCrWLbG;7*L*C`c;Z`(dPfI72;#3yyl^#APdJ?oB-7l=R4Uc3y@ zrAwFcfUu=EC%W|}19B_t+VR3pDAyCovNte*Vw=x`?~n$N=|dpy{EqD@^Ma1_9fQgk zvMkz99(*WxZ?@HbP67ToX9UO(gRZSUWQ#+f?`y16H~ug(>ICpaaHeguBf?rDqd%0% zA&>`eMA;cQ{epM;(5wXz1E4bMUO!H5(Sm>Eg50gLTnE7P8F0&)(YFk`dmJ%s*H(2d z`5;&BOY0hd3NUHA84>x%A(^PJNHbpPUr}v&T6bvEHs!a@q#=*Stg>AfMKhJJ9r878 z+F?A5V=&Q1d?7a+YEG5%$QP#&sIdjBGRdMc$mQ@n05~;@kOCGQKXoZjKZ%|Kog8fa zaV)cH-JUdZhSy7HSpH%M3j73KPX#OCI;w^sRGdc3Y8fB3o*XV}wV8bVMum03Wi|^7lU-*a@c<#4ze?wnL%=Lb9>R8uN zhYp84El(M_CQ>Qg>$IEuc*yagi^#b9_(UeV#R-61^)D*F*E^@p;4XWNL%!i z4;^gWt7Bvmur!Vnsm}eQ;g#i8Xyw%5J)S#^$t72QulD@(TpP&?ek`X2ZL960duKLB z6y5dy8z0CaMwJZ;ct zXhI)dBM?9j3o1FrS)aDj=laZ;)u(9D7s}KIX+zS0{M3(*vu4C%OVDe%4uIUHaVdlR zD91sLq?aGh2S}UoutCBsHu}`b0W}S9J+3d;gx=~gB;LrHgq++WAu^L1_i`)|vEec=8E_#aiyxGbGe*m>8LSS2+rGKJ9o~S+a5M@Lr9$y}81;7cYUkN+Tlbtd zWHO$BBjo}31KkYNty{aTK9q(v`}31kVq4-24qs~FT)$)7l;GgGGEbRm`IW!E5v>Xs%8E9uL z0aQGaUp-`xT;eJI73gQl2LmMy$8MzsP+gy>)EMsR`;4E^Nw&y`^3YU(6=T;oyc%Ph zaY4?d)h5>%GUWiHjXWBQX+C~wm#7)13HV%PxJTBs7tQF>2jm6+IfT+U0E*6pC7rd; zj5jbt)&RBdGNV<{6P}5LI^@+(p!@M7eQ){1%$(WA6*yO?-H<$JhDYiUF?StZ3yA6? zeAg!cEWQIkXG04#be)fctT^(H)TqLc0Bj( zo{v5!_w1EMJM_l>T=Du`#qX>0RFNCu5%1pe(1!k*~un4uYGLI_e6F9 zL%Wk%+L2<*-zP8P+@){Gasgv#BNxh{U+Gr5xlS9fpSsXI`gp*n@h3f6@f|IkH*$z~ z)7K+Mbr91J>aujj_%lA$Z!AlXZok3@t#&#?tMS8ulbPd7o{c#+4E^d=E_rpVzEJO(EKx+Caj9O;yYl3rYsiGM)J>+y zKy_E{k6oHRU*~|fwyPI2*Z5$^JU3Fg(azB8V`GV@$pg#_;uUy@FUqS?C4jkHlbLwBe0}O#tU4~DNy@SHQ$v?xU z)77~*17#F!6^4P94}u{^3_!x3VM6<41W=E`Z&(0~arTmDGtue_ZhSIMa8wO#{p+WRbs@QD_uC#d9a1l`^9s0i(-TJ`O;>S6~dhn>Db; z`QytU)$l!!#nUdJ+5xcJBb`#hIsk{kQIDlKpJ%N+MFm_^n1C#021qg>_{-SNRCPeu z>AczVw5jm+BrTVZx6GRhdP0w_uhNAN>>B~cw?l2Qig$IW#9lBeIep~H%7wR ze|^Nj>9g-Qfb>-8so+oC5}ks(+NVmB1}W zNI6~x1n4uQjE$FpaYoc?wuM3SU@>DXva3FQ>bg95;e|$~pVe7_m2&Wvfzl3njE)78 z4trgBCUtS@`XgSOK3WoO~tMAQz{f%42nALxsL1ztVq_Bj2H_g)q6n%A{&M_%z6 z7$y(E&%7OS9BWJC?5S?t=mUTd_#`tZ!MlPV<11|hUJivuU;w@NUxzR9`fX<6o`xTm z$^hKtS$#k{dBktgeRxLM9E*;*)O$3%)=sqQlR6BcU7tB$OPI{uHEJKe>J!U(l&4QT zE8_?8Qy=jx2umj{u!0Bqm+>^qaOgP)zWbo*wZoP&j;Afp0zefiuO&mqit?k~`kj-G z5x}T`Ei}8Y@48GP_sN&TH(HEo9c1gx>^^j;P$W?K2aE7JSwI0hq%FW1S3DcjQ}s>3p~Tlp*r`;$`%A zu4#*PI{jT5Nusc7td-fr=!yj*)r$w(YJ8I+>#4W1yA^po6d8-#wRJf9)-w<( zExJB5<8jVsSqaB1*TWxIIj(r^w{lls8|T`-^i;vGGTYa)Z7F?3uH|uG9m=80U30Gd zIz%a3nPjryJ+f*EjD8Y~dHZY}k+fNzfI7LrcXEx-bly1a^F9ksxjv%*^gDUx1PFT2 zivlHD$nJ2G$vXR^Kj=yQjV}BoPwJ>#hECUBW;~>KXZ+?IZAapmt4m%7J7Ttjoe3k- z?&J#>US`I``&bTWTX@U<%16d+a9|gjmXq`=(oTPJv(r^F3P zd7Lu}BFiUEi1K;JGzK>V`gp+L?OVIOH()JbH`DHn?Js`*vqpujnLQc9Oi8_a;k|;x zJDFmnKrfu%3Gh18hfmMuMNPAFizsEH;Q_6bmQnsqmY1MKbmOZVU)5*=ooIeP4{2KW z4Rnh5q2uDE54J9Sc&Xb&sz)0rWaogn2qM5oQ34xwV*$u+WD7`Z?kU(4*;z)ct!;XLJJVxhez|UsWqeeM3mN26N=eV6Zai`OJ(>(Q8P%5s0W-g z$__lFkbw$^U0T+(?HJ&BcoIF98g*$!>KF0h@VJgQISFW+?b8@94wf`{Z#^u>fb$@o zx)`EVU4w%ryP-&PB>Y(57Vn;gZh*y_f4tC#YM3gZCP|RLH+}@@Vt&l463pK7c(pP2=I@?8-NiaI0HZ>XI7g431bMK z8T^T4+T;qDB>Kz1GuL? z;H|nd?Q`fu{o$iDIs-^U(7ooHF@)9%uj`=v4W@dNJw)JZ3&u`-T>dO6DgU=Ko{e}W$~Hp#a4 z4a{sN-HT>XYO@GtGL2ZY`7HhbbAahk5*pPRx;R5*SYLBm&_OPo>l_A@P zqCC3Ec+)OCA$x$hXAkjjC&B3~OGE#7bx^vi1*iY(OW zsyq#E+mXpVhhA0Ee9txiqZ_}5XFpuuKYJ4#*az-!g3EtK9R}3iV-2u%?X?2Wg^aZ- zF=-6erSt(C=|r-D0YJi_wx-%z%SX8`YIgqZokSa~M?PNwa^ptUc?axMKprgoK5LG> zj-GO5SSYC70{`srlC^zbUH>W|DnKCX;YB_@ZBL1KsgZ3SZw9#7L59%~<@+GJ%m6bC z!~*3WO5BMhUTNZ-4tL4=ouX#0$`%htaB8h^uVX6 zxAp1Y-N^u)Kx4n&*Kry?&YNBV9+5%15`b%TB=uPPI7>V3XTSU1NgqeTi>er8^)O@} zzQo(R0pR$$wy$&_zdZ|J`^$5QR9U(LAfVlv$Ooxcgqac+UB@SiTx6(6+U)@_fS3g6 zFFbWLY8Pd@A}S0Spxx+u+P_|s(!^1)6muVN3IJsQ7(8@4+Ws(r5!25UI=NA%KGqJ` zfC2s9NMr7~#wpU5T{9Y5<@r9#l+YqA`p*=+Wtq?hu#-)^li$HWGNM}6_SAWshtn(} z8i&PH_kgO>lKc+sU5@O4gV{=QrBRRi{3b(pzxM!{$d;)0fUiYI!9vpZMKmef?m+-* zmjtD5zyt39L1icx@L2s1q>?>ODCYuiIH&HbV|O=8mo|Nj*ZKf2-8UXVMf~%C8UEpk zrBcAPom+OZ%#Fi9UX=41c%*FknNbb{$AMGJi4ZM3ZTtqH8Djv4WntQJCqR?F@E=_< zvkrjpEExd6%D>Q*riR{4qz&LmZ`sS-SkTX8)HoGgP3}5%Kn>?a}yceQEyX8Kzl#*YyioC7kSrU|b zebAxa_2HCM2hpd=V<)t=OpYvZUggtn(q(g`WS7wonss@XXI|IWG=%d+WNHX7-7G(9XwZO7rn95PgL%bS$3f0M{HD zraw7GhS2rnLnhqz*+1Si2M+B=+}||I|8@1Pfh6^xI$z4nAoQVt08&Z{m;{zZSs%sl zdw8lZ^U0L8!G3c4WFqXh3n~H5t5>fk!t!pEOI|7xQ2sCv!YE%EK%lK1J-lic5y}K` zHYI;J(dz?;80RMi<#ta2m~AmB@=WPaif8hWrKx)B;(>4g@}mzw>=XYYonPe5qN6+J z;X**($L=YNBVh93rAu3%efC)+{u~E@e?`CX2spF!f}*6jC{j*|ooCb`BD{Sfk&-B0 z4^dKV)}@ajp9nQ$Wyc&5PD@`zz&QcHKfcMs05KkZ`zYJ}cT$h7y*!L)Ccqleb8%em z1vKGh=?YC$Adto=ttdGK$jAZs1=mTXTn4BwS^_enl<~+lhEIM5%#6aUeR-TX9gMkr>Y&`0!2wM5z33B=&EWy&M3+5_VAjA=DZCdQ z!ke}`G>%bcoCB`?rCj%|69r5Mqz)L-myD0JWEz;4UK{Z1X_kG-%W15$5uae%ZT&i9 zW#9R{#Hqk{fJCIU&9er0wT&TG?yMVE*BC(e^#{Yh(rSk>1rX|cvn1qFw3!oZSpnMc z-2=8{hin2kfHknh=*z1dN7s}C2WZ&vOCM>QF#@0u_{bXdJWBu+8IQ_GkF@07`gtIo z43HgT6yF$a&$GDpEZ_xSEekjv0BVOSfc^+MPC4>&J{-@V55T|!4hPN+2q%KJ;5$>A zm0?RkV@BIJrhwjRH+skMoo6^2+S~Mfqq^ze%1C%Lz!Tt#Yyk3+XX}JK1y0 z>_BD9FLIi{0cG^1HcTXUQV*D;BWHO+uBKr0;YppB@DtDUgK~i+`~^s*QGO$?Nh7az zDi44sTXhPOMqcGQv~88AEPd(zx~AN9xc@qGjt85DYwq53=y1;;KDdX+oK9nCUB@W0 zibnMTgA=hX`Q`7L)kBkVCJH_j%?!%C8Px0oU7~ztA-iB%Z6Tx0$bTsEA)~7<={c12 z>2eO~4my{fk=gmwKk|njI!-(F>B!|QDQeqO34OA3owk=>xlX68HtUzlSIXib%A?I@ zqUbR?`pjF|ayYV9{%0(7HX!uVlkMM)OrXyUF?k@P`qG$?kNz^tWn61xXLL4wBiino zSpcAW=%2oEj>cZYyR_rzvC-LVf$_WK>~ywxHXDaumiwvK%lo#YBh>5nq3Cc+wCwuh zIg9c><ej z`=LDc9zP7IC@+dMA8FP&6OD-`$iU45GZ~yfyMZi?H?Ya?|F-Mbj|KeP4$x-c z0r7eI9w^_+p6eG1_|NZ5#Q6G+>jkHjvfXLkO4QNd1+qT>;*0K8PT>GE9|n{Iv6K=p z;}!PycL!DgjZ2p<)=&Vd*R!04VgrDHNT3BM@>?`hgcmTr@zqz2F29>yRNl+J^p1IO zZw!Er`;6pWC;T0YHxMh=TTY=n+It{)$xtf064v$eaQ{cBHNFFY=JjSvaeMFg}i{r73jGY?riLspN>QS@| z1767^%`znT$pCex1Sm_tqO0I3WiToZ3YjTo_!#juMLI^5LHD}*`vX2=ARRy^-iWf< zUXuDoL)Wv12K$l&hG-D=xfF+vgW>>I)eVF_2tV;pc>`o70*6l5(F!qype6ZlBUZPBC~*Ar?kTdMt|6cF~&Mn;`Oq5s^|EkJ;= z$~n^x^?n;iNIA+dd!ZlHi}&sW?0OV^jIp{cXV6z>u*eH}^i7UL{XEkGcs+@OKu*ZR zYP-Hr7P)hcJSyKTgot~jJlBA=iB@xLq!A1N+UxivRexuE7`N)S>kS#uR_O?Sql$6x zHNJcg@9~Ge0J7DOmiAwQtD@+R*SZj4`4oiY)?61g46WG{T|Ra8cjQ`MB~{anepKEp zMF98)GUZYZJjP$?R$9N;J>MJ+e3Djwsh@m^a*{t_Xx>EHY%Rx`e!*ws0Ki^l)VT@G z%5$KO}HBEU)FX)R|gO4Gc@S!EZFf`q4#n(XaX; zIa1He>KRMq$IPX=1!i9)>dZe9+QB_SSuyBCA} z<(Hoq_%d3++smvOJ{raIAP=(M+`So~eyLOFK&ySE>4N*oCju)nYYNu3jercm`7G;R zMgQ&<_}b_FLICb}H7*qSfHLiwWjWn7C6U}uu3RZ-w>wQE(lI2IwS!@LEA(2P!!S^+ zl%oesDLeq?{{3vJ6=f(o3~+t%`R7%p9v)mv000m`(py`V=`*0mGM>k;!Iri6qRa2b ziSYUM_P5z;Z(g|bL0-1x{))UaP-trZq{k>wU_2ezG}gP@B}DWO=m4&PIQ253>OmI+ z>z{jOBW~uQRQ=6BtVjxe09jp!nY8E^%>mvWB4XqQJ%H9k$nro|&H-Hph*7s3L|*~X zjLYtAYqlSim-u6Ed;JNVnc6j@0rW9gXw=qJQ^Q7Xl_3qFsXcT)BLbY5^-(wDjUKZ` zjFmDhr((nuhBxX&tF@r`!&ouK_`oU9=QW^dGjIVIq60sA65<$t?Zg{Vc0{-iNBL+#Bak62-Z1`TOT^8X2EI6^9yUY+2PmWl@Mj5J#uqvJE^^r!3+v;Pzd$Id zfHn>q{xa@BC^^wz%Jy9#mSry6c_4FU+3Z_yZ~jC`lTRO1ZbL6e82}_d+JqNmfAkY4 zYnDpjKQKsU)rTIR(P{M2@SD7jj?`hJ zL?|`~UIRvSWqFft^15j15|gx-{25F1Wr!HSmv0XYqk}vvM<4n~gFnjAmw>eX3{kDw zbqBCDyavc7QrxnVzU|Mo-cR|fJ=F!tE1jc&G0w?2F92Gc)9`lkdkA~RJ#bH+v~_@f z=#9QmE`X}9+&7a#kmz(vWkhS+ZuIHL^kIQuK_q7gEdyB7?39D5=_lceA>67;rd#8#<|e8ad29G_^jLk(CL%%WAbVvy|Vh&^99<&>9P&7m)z+e zI!n5AZU~>YYJfiup_wv=<%^Yp(2P#wRNczJv&HX4FPbVBDRY&@8P+FtK(sUU&>KoU!M;gHdTSC&8^lY7nj4_#vH{<+R^c6iPpO1&D*=mVW#O6qb{OfZ*+L#aC zF6U*XYU^KTdYyT5JHPjV`(o7_|30)Iaew1H|DRT9K(E93DBT|hjX^d8Em4RltSWwk zYm?T1H?R#tkuVAgcs`P-l!*I_=TEZl_k|4VLt9^cbuG%rgM%5kDZ=@gOoP9Z?GHcw z?9-9~KwGa4D4okaAg!P>ufVnz*MmA|-#(j2_1SLeXxT=USd0_H*X`G$puGy70Y9FZ z0FgrnKx)0XDZpC+y$m?x=B;vL>^(ess*zm4^k;wfcbeHf&;e+M-!c|Pm7=6vtvmKm zpILwp-hZ!a+wG?E```briZ0r7>p*xRQUYvUyLP>b4mhRFZif#0ZHsbhOCy&l+W}-S zu)vMA-iuxjc{#od_y&M3Wl4|O0f0FSdKlUlp&O9X zPPCA3@?`7)et4h^GfwVlmwnj1#kUU^rXBbp9Xe}#(^lirxCcb=KwAqWBfHwq=5i#^ zL;l?B%hpoZlQ`A*3Dnn_$~S(Ii;kb9!5{p1n(=SUoDd;QyYXopui<_5S27vT`Pcp~ z=t`dfi~1Z;ly~X2Xru0=Qvpg_(BhsMMnG)o#55Z@(DE;`P+ z@*KX&O-`B~FxBpnquDJ9|IALwg1__*{i0v=vl$(7EZwws#-Vd{xek~*SGMcztI&n# z+Jp`~MvLw2wR7H!`tD5g3ML{@o3l!JhhRY1p?_T zG9<5A%tfDeO#S2Fkq`2W|2}wRJPw^3hdJfpt84la-<+$ToG<;UTrx$^YLDOAh<`q# zkA_d^S$#sD%b?dhiY%pk&rbs3L)SR#K&`-y*+Db3cGtn*WPR;?;$46Df4_2U>cbm0 zb~(qAm_2b=5`<=Tlk4^khU8QIgqED6o!<3b*^U(B#~Qn?CsX*ykqCfKo$BpYmFYJJ z=h0{BK!FQ=LC?xhM%6z7oY`uV1EJh?41YIr71}ryZtKs*d$hagZym~?afVAi`^TH+ zz&>z)(;WX-);EK963;-H!97ZN2LG!lJ;rx^Q$T(*5EO$a&a2!rAn$&EJI3=sqt8)c ziEih$@fpbH1AI?Jc^!x)|2Tm2)Tu1@*xgMTSym8*WPL29Vrh!~V*v-?@q_o@tzvl) z19mV@0HA8G_8H0(EkHNNfujHbQwS6h!({mg@WnV-Lc`!&mf#u%&2Rx)--H&R+C!90q_zhQO1A!Z~vj?{kMPo$E~Z^u8uJZ-GDxz#1H@+r{gpLhK$X< z03uQLGr4Am7<5SQfx%9TM;S9Lc)_qZH$};qNekFmJIPVtoS15!NO-0=18hWO54!X=waHIt|<>!M4wqE!;a?}3+3IWpSlh{JRs}%;=o6G=V8aAXfALN zhaeg8PkTo;1JWWN?T6?Xyd)Qn0{FnvH=u~8U>u=Wq`s#?BJCq4nISLe$UK==pOBUr*KOSp? z{xW8baSzA4hjzOj8Ea@%kG9bl#(@BaYjhdFDLv*Iw-MyhMxM!>LlR?fzVU9rIz5JF zl9Ywc(3({~dH!sm`p?FiatD_&?fiXE=Y zzvLCY3t+dOl2SY5^^hq3$zw+>{4#^L+GzP5o8TF$_HAqsJA_6&)owO`{iau*C159@ zfu43^smgi(4TZg@-VMbg`!k-(K^>c8t~+04_459IZ;%6r_9O0ZklTMoRX-Sv87KzT z-VY^a#|Xw_?|?JF{9XXQ3O(u0oH?=e$tNENbjILE5ty!j|Gf)Q$a(1Q*`p}4vsEZx z-Mmp{av|&60kix0xc59t!K>CijC%h3*#hkA*@dR-XQL!UWhqnO#1!iSf6gfsU|Dq1 zOJpdG$s!;P+Kw>{LU3rfp$Cgpnls~a^Gl=?De3=j}ogA_wW5o`ay`@jFM z=Kc5o;Xf2id6*8cp|E%JaO`&hKgt1SS9DEuRrC?RfFm>kqoSm)(RX;xIbdY82WSM~ zfCe)aJBdVlfY&k6Ns&emCQZb%O9x^MI4AZ*r&uXJ#tbO3rdwSUFW!523qOD&fDzCH z*74EKHOir&fh0g*S~D1yOmN}=6+mKUFD4R3d22`IC*^hP$MAykXK0i+fYz3m4C3J| zW6HY#%o3!%qB>}6q%G+I{nMeF;j!%~{vXY93}t9bfk65OuNv7(9`vrroxapwGP|4~ z4>ZdQWV+uY_wlcWG#B*4GNO2MB+qL2)*p5c(x1yIb6sESH@pa=3edAsG~NW?x_zt5eZTPu zz;n!apS;R&U4H#T$I+k0BL`9A=qj>=e)sV~bXwFGpu`CEr5CZQ^|~gH!}y!!X=G|< z3@bw!gJeiLGr{^s0cfEY09cNvF^;$RW^Cx2MuL;JIxXq-opx%2%q8F2pltQ3k1nID^^N5#4t>xFcMABS zuO_IVZnL&MQm%1`J~~2La;2{7z|f&C*Uj{`&B00;e`?EP< zfc0+;_>^D|?GCD(8)ya<#Waz@8N3v*?HP|A^}yx#dE@EVRjemY97|OBdam8ydOz#g zEth%t@ZQ$tk1xi^oX*3hUq*>O%$8R>0f^QlXZykoYWvCBqVbDsUu->2H1>Qz-P0(3 zN~DH8#vO<;_<;}WZ|x)_dgB$~hoT55E(+OF6lvtUapQ(YL=R-IcMo;~iZNgmBE|UO z#fyFD^~)oLs@{x^_2CWe*Is1UA>mupyRVIJ}=<3ZeQe>p|}^I zOF;szKn{R+G;MU?IsW1+gLmp=9uka^xtYknaw%{R;7TK{bnA{y@pc_8%Q=#kk<=%iC-6#cpo8NeZ`ZxX=m3u*P5J>}_3xtx zmQ;-#;0>A>6h_IK^2&3rs~>>If4p;DWL)A8oyItKel_sU# zJ|Vs*19Hxs-hi&A4Iq3r&R%!1h(1c<@HG7v8Xb7i{QX5g>C0IzHGn8`xQVW#N58!0 z_n*K7=wAVg+1pwaK7ciVWXZy+yKU4?w4^VH8YDdTTF8NjL}EQCtbm5aw(%U zrCfA15}vZisdFP7Z~S)nuFQvak#!F*8{fx{jb0M0Kqn`X?sL$o0Ia-dQjhUa=cf1l zj*iQCbFD823lAShPg{nv9eFa&585|B3F&cd1PqOHV@^Lg$JdvU2klZ9xiJf6#$nN( zW({b5Ir<8X&3^a&uH2KIM(n&0Im9h5&jbvUQ)UuJ2{%Y$Z1 zT@`e(%Z(*yma661mC$R~7|XQM!)fWk*zm71V|^oOEk~MJCo_2R$bbB3W(lKL%&5<} zGJ42qc$w-C^!bEwRx^51>I9Qe;4rR2Uh<^u{H?L!J3sf2zYz!af&1Tx@qcc$l*j0R z@$?%>jZqy1nL)k*@ndARs)(OQIdv*63i0WqOsPNkzQF8M-W>We%Jf*ap8D{kpCxbB z&ISaWI+GN2}5K0+JmhegevRw3tHu8c(h-{zJ@mU7zTXfh(L_m zt1m6VQJx1(Sj0MmR1o(Vyc~SbHb*E48pOVGHRM52gfy2QF za{zL-bvR0#Qb&WO9E>Enl21S3i~1Q&Yl;{6#$Ri)<-<#W_<3e-4&^uSx%lxo?FI6m z#z59sZ9oS@EiWSnJe@u9RzW5Qjtr?&Tl6)cQIH)&7Sgtk9~`4B-HTTf$uqM6WGfFJ z*bp?KyFZe#ul=r(D(hpwjhBG;r1$!F&YxKX=b~!>-La!tu9ZGkmybgPzvbp!8yIi= zB!3Japo-7ZyIifHdd9d&H}0Mu=TD2TYA7-h;ylFlmlI* zay)l5`k(gU9l65iE{TbJ(F4HU%k%}^hn6KDzR8F&;d+==`Nuyp!!b4KS{nmMiNZQu33v@QAR70230fIbGu>2kbRhV5F> z!|_DJ)8x0T(sB_FDjLv)mw5X8xh0zVfBH^;4K42B#msQD&!~hn|V1k36VbU)x}T0}W)445zQq6giR}&jqeVe?*VrIRKvPWbEL90s7jm zf5V}++ZbkV$;83XLD#;@%(dsvjJM};d@QZm$_t#HZ~93YbO${VH9q~7aqcB#f^QrE z^&W_wcK=li7=HV|fj~v-gK4I2+CTme;lMs{{|k16!AilbW1V*puZw@=`$zXPiYN*| zPIPA}x{k|$03gG_HTXmc)t2FxF&h;SQ1kpL1DPcZQP6K)$Ufo$-}j@SvVdXhtyAws z8H@gi0MGu*4`XyGRrdAf?u{7ynZCbt@luz)e0}q)t_?gCka6;uEyc1|bHITu-)M_l z-`Gjz&ep~Ev%O=Kh_^02dNkW+S+Dr^TRV*)ibmVtU3+$RvdkmK<(j270Vo&V$@=Xm zLq-JvxSt0u@#M^f^I6w^D-i`RdJ4!roqfV%RDS>IXElbV2tT=UrEB0n`{J{$|Nc+^ z9KIad0@&ZnTVHKo*>&sz|MqfM_OsM`DlfAT{r=`*UbYkvZoTunSsKJ(azX$+O59Qe zZ%SlLDSIzk0ie-RBOQhMpo-eVzyRIRjp9x}92hWtB+DQ4C&MN}%(&>2<0oUxW9aR? z<0V(3*OuilEY_V8BSvijKC)y_c|gdEvCs_YF_M@nl8fkSD39{f!o zp##|S7S3aFk~~8Ic&4D#VV!FLSLk_`_KC)BpY$N9>DgHxM1+sU2$()^x)`c^9tbXA znDv;PIP{>~Hvr%REOJn4Y?J<33=1&eMMST{V}^#2TH4M@eq)DzdHJT|^Vde6Iy4-k^_@XZ6%htvO-@sJUH;80eo4=(|cmY8 z01x0}TtAO9Xm-&~MB9159>_&6TF~I|&FQloqz~+dUJ~-E<&L8$6J9)h6dim7P+Utf zCV!*iNl(^|HM(a&@i=_JSY5sZ)CnArW4bNw^zb5QblLI9|HCY+>;Cg04`0);tyckS z>Ui;Zb}8~eKYqDS*O1FYaV9w5!G9@@sArr-4i7}0MZt|-GC4tp&=XqAyR;u)8oAE7 zF>rF@yqf)#Zo{hZWB{TIz$6+{NM(+mG=uc`X_kTI{AAiAuXfQ}^ql2^bzrl?WPp8U z3o}E+&KTnb$f2EmXx_AkUE#Rf>eSLO`apo;VP=igV_QXi3QUs=ZPK1&(E|rF<|1{i zm+pO;F+=w*M~U9VBj8~^uW%&62tCVH56hgFPb25N3IPziqY@ud= zoqJ29IMazyNRRTy(^pxaK6|sN%HA><>#~3L_dn}0fs@&#=GVXeZ(G0p{I^;1^IrF6e;RQ0#nr2g zO511rVzy=!)y$)mTW<$YT2KBYZFNpDfAqnJ1$DdGT9Hy>Y_yH?7KOGR8E9j)C^1T0 zWDNjDli!Kib&EWC01?Vpzl!S4+Trv`+R>L_CH&`|}WPoWRJ0moL2xTAK)P3d=v|&(daK4d4>hiijqb zHCxXye0X^{5iR)vgyVT2TRDtLqfh14L`e^YpXG1lj1hO}XHFZsx@;)zb?6s72Ks>| z>C~q^z<}!__WH*|%lgi&4?2NxG7Hq*zGWtgJiN&AwDaXB89R~n@A~xHJk)&eUVusH zF}BGb-g+t70w(GMsP)eRJgKNUrLshs;5{R|`9f#!KGV{t z&#al1Z)o(^N%=Rs>V!A>6&bNCDIJu1fb)SYMRK4wN!$POtZ4r#qXu4rd{8{c(5JXc zdCGK%hXP+GPs|c0Gfx2DqZekYW*mksrER)Qd&e0$nq>rzy*$uXza{cFwBiRoma=Kj z8gD79QiRszbu`MFZ@S<>WC2a|fPSt+nY`o*@P37uFq>{R=I{()6fnSB@0oZSC)3y+ zfFH1)`y4WS;7BgLa4^9f+uG_Yvg%L<=OA82=|K}3*b{A?_L*_m$aBUZU2G|u;DFtX z$lB5`^e{OXeKazF-};vx0?JaJhZfJ{&}nR!F{kaF zMMxLW2gbH^oDb*Kw`t$2yd;eCyc{<5U}brl9w{%A56Cw&2jDBu*dU$w>pc`4t|I}i z&ob_mO^2dEpW+jlbZEnC*~o8t>ScIVM`iOHzc}nOd#9hwC~;uPe;hMB$U!HBp+DRs zZ{#OwovM>Fp+R`c@!O893P3y$=*GKmAJfI_Bbne*E*e^U( zZtm-Av^`E49QBT(wEtPkIuHkmY|tOZfe(4(cq^N2{$ZSk*gtlx%c*aU_5H^Z?_c}h z;lQE&hg1J|*!IWstU>4MY;}y}z+@RW8-H5q`>vmks>b{?A^n(SlU~K&Um` zz%P&3cn5|oGx0R}!vHIa{ZKsf16d2`0kQMv@*w3-mW3ore_RAUU}ih(G;Q|?n0)i? ztwgH5ay{!1qv!xLgV(YO1Ku`}k76+F-Xdb{t&YHqdlWGxYg-f>?(1{ge=#ON zyojK*9)MN8cKA^20KbEgVu)PV2g*~QzB5b0fLJq$hYVc-t>{jawCJPqO-CP3z32dN zy`6NN!pw+l0O>bzaJ*29Xf%DD7g1S*-SwFHt!(`E;3@;G|Iy1> zA4(nC1i&$T&KYZR3)}+uW(C|ADaEUFVGWS6BRylpXm^S?*YM$BmJOIrFMv!2(K5hU zAC*qyB7BVWm%2-wNoDSar!>`@S|SCL-a}qI4K`^ z6A?D9@Es5E)R@FiO-3U_?7p_F2UjhNz~6B`r3)ZSKJ5aCrXQjcLa#JnCz8c$~}e_YqxKuZsa(4Q|K zWsP1L2M3*W9a{9W$Tz-o&hbaT4}Amp$%JzBFB*Kb)11lbOZDQr8;w+_j***@31jJX z-zyA_NldShNj%dY^%~3S;7=-_UL4@rETt7c9QqBIB_GC)^u`9=w47V_j0x?)Co~q= zCvBabwg$_zYQwLb;|*TpF_Min<#3|36%X|vT~s}kZ(~Fr?Lphf+4LJ(A}dJfdGb0I z&G=J0K!>NS6A98`1N-5*r_L0nE!)vm>XBZs2(YgnjWdtN5*uWZ1O?{;N%$$K=NTcj zzNRm2uLByMsZ(1VWX2!X43)jS`OmnV@#wqApwP=AUYXjaA4$8vAEtLDw3}B#|f-smxP+q)xkTiJ! z>DcN1ejZRp8Qe{zy#rA>&+{-$ymg+vdlX)G0LXZoB{JR&M`UInVv*5P0pA{!11Ny( zGXdNbLcMh6DS3fryUBcc?dt34eL&0(H>RTReLuhzxDkz%zAt%-GHmoPJn(R)`mASX zKu(=Lx%GKoo&;F^;uk-UVtTRl>;L*+3l=#I#}Y+Rhw?Zdrd5Fo(Tanq^U}pjZ8w83 z$~y`wYYNtmCY%TlZ0Q4OltF=6OY5OT#-Ea;5P=1UZ8h;*`nU2DtK*rv)Muil&$4zM z5I=YNYymGPz&(nyOCdtj_W|(ujF+POW+nh4^fHbP{f$rh#(8I1($DB|E*gubJ{%j6 z$_O)993kl)jN9QD9je?j3;L5mlaC?jYr2!iA$l&7{Oz}Sb6+BVj26RiHnTq>ZD+#c z?Eqdp{5H!#%#cW*M16h$_;fHxB9DyQfzW{#)8E$r9t@c6y5pq74|0TuKm&P06aMe+ z?kcJMu-c+e3Y<3Ww6+yU1xPFn@}7a#6&}_xOWOf-Jb3i#QTYSloyc@^L2v4mUK(ZS ze>CH*blMNVb7~wwk-oq`v@9UO02V+4JK;^puA{`5D$~8SohROLdW?C_cKavva*W9R z(38H6{FpHlJ$pB6+6$_p7mQWF-8XQ(4)^iVK@QZLfBo)Bu2=T8*4HD96}vZG9K0lHrUqp!sN=YCP=hPQERnLc2r%kU_Ey z=x#?o*?>Cx$&YUONq!Ckp6K&}`G}=+JeltSgKUYu>~fC{?}sm&WihFjERs`lZ(M5+ z*++X{vXwOWZYtfbsC! z1G4lmo%1Sm8=K^TjR<$A52E9&g{QB^iNra5J%G5fSYYcR@`nZ3baNdbk`jK$Rq7HO zGnvxhhx~#e_%QM|4!w2yHg>>s^%)2H!%Tu8h#5u)3j1B2jN{`s+0^D&>El&4T}j>? zWSzV`3Gc`V2g|a@7vY6@b-4fdHfJHTt*^`?#!*PVuAx_eVm7jIB1>@UU?ea30y9Y6ZcC6_4# zN0myHvM81v04U5uc?gIx0RA2%`VOFqQ8KO`*_2UN(0zYuoUx7mNqa%{X~h2d>-NaWG3UYI2R(!Km`Dw zK!5X6!pc^^x&U6=Dth^q{f6;hdjNL|S%i`kLW!!s%52O zG+7Z#N3$I1NtPz*e|gWxQ8l&g zZO5KL>DbA7c2nP{p}UhsK=Rmxd3w|~Q5b$O7l0HNw6|JAUz zN&Sx;{?q^i1LOv$kTNys+%2%$SBmW&MkvsR5qrO$z4`5YWXSSzp-qcY(t;DkD zm^ypX-#{?Xv^SYCW~`Fw!_fi8J|J9xmEUB@xY&-o(PK6=6y#7XU5yuQSFYo;=O=tJ zN~;T0yc|k>*GTC!K6hrP7|!sD2pf0k)HeJub~penC;j{)%Pk#^IEO!guW~&^&)ygt zbuMymK-}# zb?Y1((hOiq0<1RU^oz` z1K<#Q=iZ&9&Fhw9G_B)3|MpJT!tZ7|iI>6HS*9;iI(ug8gG-|96AiQO(~=e2;_YO~ zjJK6)@AbUQiK0Id(DLQAYrW^;OVLMBbP5@0qNsoO>F?{nn1ukK0W3=8Qr5LoprYm! zUKMKE^UbZ@0(}4#NM;0FF8MG(ssZJ5SP!)2P2^#${N4$?Rx+^ z%KZHRSi6DT%aRZJ7&!MW5`20)+df92Q|b&R{+ba0#GF(3+R$ADVnFIxg${i%255jQ zWz0B>!~+dzlV5u%XKUU$XY#4raWo*Evvw+mnH-J0WShmbL4U8QQOjdQTarDBeV#Q? zHt?Z5#!7m|@yv-hkD*!r*ac`sqFp-{wUasFk`bY1MS@rC=Hgd|C3Ju8lYa{KM7cH7fmQg(9A*;`u*g+dWap^!EM=8v2! z<3Top0$Wyw^oKsQX$?)1^6`?f0u&ju3SLT>HVFsv7l4vDU;W|PC)qTu?*Rlr{cXTS zB3CM7KrzG00|pf6S6*x7hpHM_ZL6VW_#;!=tz31IQ~k!H%Ahf(Jvk{)1K5n`S}iiE z1n^BlD=V4Ir0U)$XMo+kd)X_JqgD0!di$^wlL`V7MnitdosFng({5$2$CWErJ0{%2 zH}uHwQ^IdFm)H4R$+zi?xu<`nzVs+h1mDylkBJaE zQbfPEZ^&liV_k0@xySH(#(fEo2T=59{+avAUuora&9nX_*U?~dM&8#r0tEHFYm*;9 z=7d1NJdaQE=+l`1yr+o_prdJ1mxkrZDKF2cS6UMkAP&F+)?a0H3U~#e%ioltA0+eu z&z+dcoBq=dyfv;&ngL#IpjW%Ow0w6m6<{e28F)%-G64s)&|(6{Aww6?K?RPvXWU3+ zcJ+htrf+w0%80(j1ND#oa-86-uAo(@4qgG|0H1{3{O?=&SzQC*<-U#4HdEPwU8WSFXcD{V9bFv7P!q@|r&LCn-Aw72IpP)gGI0D|6wm z^6+;}IPhc1jpy}sc^|#Qane4^b@gd4nN^3Ab?}%B>6@;;M7G#reaQuKA*-Oq?uo1( zri96#PQpudL;`YcGg3<6(ezcCmxF^ zEJo)>9%bd#$y+)3z;0K{<#hlGU`Z*x%-QXa0<1^5O6SfWy_|N7=S2N+GxL)XT_8Atn(ZIX=1r|WB43{#|Vij?;A^_RC(kj0N>fwR|8=1 z!p2UDjFK`5&_gYY2#ux~m{1LeT@uDgdjxWCWtmU8&_`wGg1;ANeUU$ZBJb)$$ zrwaCXYi+b-EXdNwnGEpCGXT7+yhl7Ej397l+0;Y~*rZ^|jBu(d_0%O43V>t)mH{%^ z({4chL_m=5CTkQq-cZcaczzSg62pfl@-eDTd$CFC(Sw|t0%T_rr_K0h;*tjDM3skQ z6d68>KhJ6#+8vJx$k`Y(3%*%uPJaN&+DS%EpT1bbj7RzkU~$g5 z-}**9`Vw!*ofch4f4gt8v^;YKAGt=}87iOp2j7%ytl%I1*I;Fo43N!+)AS+Q>qXCX za&BDc8%zHt2PwK`;it(VV1MoEwR$-3-oKl=gd%B6R@4%Hga#`d$|O%eX54tunepo$ z+R&vx$&}x|>l?{6e}J2$z32w?d}p95b7@Z;yM12!030g;3jmX~vvCYmSEOy-XqfUw zX2)=oAMGza>EoFGmS-}C|H|+^aHTTf7)8JW%|JQNEq%6VolTLW711au+q(eduWaXp z6=i6%I()7b5i-;M&nLR|!!hj){rXiOI-=8tT>O%M@snJw=il*n!)Ko5f=ludnJQ0m zkDgSHPuGB9{2QQ^F&{c@NG1CNVgoqI*+$O*N+IB#>;eBy142{&?`Mck8^`;~zmp=< zmow>ap7gCgm`PT~et6=$d&X~9m@=l<+jQ~Nb@$~fG*0`vQk8lnZPc!zAvPrK)_y$f z>Q%-hUba8OOGmB(rQOIJzAT>VGdh8cOTN?je(P(WXfWABHwT4!*&^~vetb5JCo}+) z+mSgsM_*O8@+o9)iyjJiSEjL~Tw@Rr_Pd}vtp$AbQO8JV(08uUQQb3;`t@1ISK6Xa zw$isLxNQjGy~lCIme4gO?)29hJ7^$>r2}l%kVhdri*n*UWPpLMz09S)6| zJnd1C01NL0Z~2+T(nSwdsqiS;kVl!^xPHAr&8aT{wGbAsa&AaWCL=(c^rt`lsowcJ zIm4Pahd2L9=$I7;M`YSiItCPISBKLkC~}I-A0@^c?S)j7$lnuUqaD1Mz$v9mnJwBV zdLA$Fik7Q+OnLfUx50@3d_aT0;`9vuSy^z*rpZ$cb;|KlDSc|ffoJ-P!e$s4Jv?Rlortp1xQK_^ylwKokJwnN(Fe7hU<$le5+{)2FJL zHqG^ELtBxr>ej6FH|-}2L^^;dpb`Br4!Jj})Cb3N)Ey7zfEwQHw5#A!8^8BfHAm1}s429Sru1t-#)d;y87M zJWt#>z_~(q=)UqK^~#I)^w$hM<1}&Hd-HCLW5)nSV16dE__n0449G(;BUvpk!$W-t z;Gf88L-c}`Iy^QGCEwdO>|ffWL_8@^Qy#tBiB4vl=rs9R0G{pi+XROFBH!9={28B~ z9a->Vz3A@9GagmvhK?nRKy#{0KSU<;U+D`k$^`UjNB*0-B1id8AL0|arz7;6akb<} z+wd|Y(AVbGrs|lCBRb6=eY?M(urK4x-nYnb3aQS)XNmsS_R^R7P^q4sykN@-W~a{x zvlFs2VLL)%W_(9)3Ny4M7+*HXl~r~dVQJ`Eyu z9Hw8312aN?t_mmeEF0ue0?u%M9&oysa#%B`TpW+m7!M(XGUw>>=mEMv-v0i`ma}0~J}(gf zYlpRm7rA|ghC`>_iegiO!9gl*~zy9@aJ;?;frq~%9Kp*db82s|0B_O${ zbR;x|x7|bspX39oF9ifXkMah(DRCZsFJ5v+x=prX_2oNrX`Th_PA0ZnJAf~F0WvEG zcK0*R0I?-l6BGvGyPVDakoP?Nvyy;LUK$FP!9X96i2hpO$W}*3mf

Y0tyNIZGF^ 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
FsJe& zGWYbL-P65CdrI~x+)oz$S-y1i-LrM-on>UvgT~Raig(kgdzMGIW8%VM?1j&m$BgHO z@*#(bkOv!UN;z2<<5g*6i%g`C{F2}J@WxO5#U{S}XTIivUy`vw@NSL|XmkIOU+@(V zAO88jTDtjFT z;jOR#s)x6~>1!72)1mNz&;RjX@T}4I>EPq1r4P43^AMkL{(%p^;oot8>VH`M_@DnH z58wZLz9Ms0t?T?@LHC52@$bp@A$@uE@BF79KJ+E}NJ;6fKl&d&y!|JCyOdP9al%!d za*@0~CAat?Z<_!PEsHplR4$`PN!?(5+4Tp_qT{V}HxTANtxq=-+DR*IxeJ-||}? z{*(XYKQ+Sj6s*wBAVC>lWdDsfUVr#AdhLPVb0_`&ulbsXU-_$kl}aCY_)$OV^B(@_ zAJ&(U^)7urQrCK-pPhX3%{RS4?|;069#8&%_wV^V4`29&U-qK?oBvz^If$iA93R# zAz2$!J{9w3n(t@isS_JW=9zb_lJ}E%<*#delHL&(30(fXf!39t&3*!EuKjpjV~#oe zj=s6WDC;(j9(JgAJ45d)|PDAv8t=E+qg)V!c%rnp{KBsxy8S& zZ=AHGI-CAtrKfSP`fbnY^R{f+cHY@JSCE&io%pwY){puH^vI7NaOh8u*Yd^#L^v3q zuslC3oB5AkRQ4Eg9sSWQ{|Eh|fBE4j$dl_yWg!J>i8Vt=@(<({+9pg;rssE->A*f_v;rgwaznf-)qv7 zdu{?g-O{Uf+}~r5c&v9m3B%LKCzbVu)wlI)Gf(}_`v*V&=RADiBcH2}Wb$90vlx5P z7LGs0))V^={P4f^;e(&|Qy<>=Y5MZV>mLR5;mxnrFW7v`@Ari(r5FuWj0feSS-*p^L|E_hPCrSdheHzV#gJIz|BUR zgovA9KP0Zs#U}E(DQ3e?ALly_+#KzMf9M>PvFCP+K~ww*$oxlP3hiu+6k#b7uh8NL z@+5G5(`5eioys<48|cS&VuUY@E&PjL>@|?lS-Er%KcT){s%O!v?;hjRj%VXN&p7(U{o+en|N9Sbf9uz4GJan{UOxXc+_ck(S5MquzALRU z!`94>redW5AXhe-)4CxVix>JcsSc3P8ZJxV$+t`aPWQ6;)3hg=qy?7JJH1FqGhK! zvtf{+f3-!*Y)Bk~p{Wv|m9Nc!ji8I(UTxa8+=$32B{pS*h^Li#s(^eh%`#Gu;KXd zhd=W059z)4kLoG@pZ%6^dHCaB|Ho~E3qC2aA|IdJZaDZL!+icI&mh z!Lx;$8Cdtp>JPl&!dr}DkMQ`I_Oy=*n6YziG{E)^pvGM`wzMhoz93B;y6Huia-MW* ztWNhqPwc>noo=v^2htZhUF1mg1smnc+M+Nrhd=mm`=!<&r%!Xh>C@tDD7QR3eDJ0+ z0bVhJ&aWFG!^RyM?D&bg!q*LZH_6K<@N}?+=N)&ymP0$F&v@q(8`^Ar$vFmUo7*c~ z<}m$CjJ*k#edb8sm(Tm#_>*zmPYdz|Z~Ws%C-LA(`5U$qc_KJ-z{QLP+f|)*$aD81 zn-7_lZwSV>#sPniVdXM1$W91V%hPSvmCCbr)Q|dCf6zZu`xTpxkHGy(lZ2?p=W$N9 zMAgyxz5VW3#4ZUvf9j~VW-Q_}HsC@FcIWeM&&I_5{S+VW^F$pmdwUn-DcmO!4@Ua( zAiQAlMQj%PIqiF{#o{1%Yu8b^BAkP4_3=|a6#Evpw#vVnxYnw>*SmZCcn~~hOiFW> z&zZMKMY68b9Iu<|d%E9ak!vqY=g2buNJ8;=0Tq-F{q$e_@X>$l--Gq=@K^uehrg;X zaDMzRe!HuPzV_pPy50)-C-n-=FB0&69{lm|`ZEvT_dopG5AS@(H%In3gZ+WO=|?|& z_#gOndO)e~|9DZ3z`K9tyB^;BhX4BEE&XRseSaQ5NPOA!2mf=w-STh!ufO-#oa90q8egm&w}q84QL{=Y46=UPb0f&N2?bg z02`;q1{yM1OnQOk!p26vPsfCTW&LBJL6!^NPWH+;q2Vc5Q(Ju#KZ$W#lDK?uZG5v? ziPm{WzCk){f$K*bCyz2mNxR65%l8KSgtpq=)pseUCn_S|H}0}2RO^1vz`ITA8jHnn)>3sRy?Clas3 zEHafPE_tsyuUX`#?&IF<68miI<30V(xbf>C8ei0lnGF;+*w9D*HTqZo?1D~=JzBtK z7r$JmFC^zzQ1DSL_>P+=?jQStFYxOv*3nabH&b%he6C;N5q>4nvzn?~TqIx)~roY$h9H6!{ba_-ry8bHz+IE#9o!#3gpv=J&v+|bd!t@SlB(2t0IDfEIx3gocN&EaYWmSQ#sa2{H7l~k2S`) z@yde=EHuu-(H}QQSzC!~?14o({agJO)^QHzLAVz0fh~!f04(~86voLH5xvN~h|OX@ zr)?M9rz+{Ar?`*kcjGmFz_a^|r}{W~tEBA5DhyTr0 zr|{0V{jrDd|0BQc;q7nzV_qY|l;`%P4sDeW>OY+P&=>!s+Wh|$>r1c3`Oa^8_}<_8 zufB5jv`IQ$egM0#~zxI{C zY~QSW0yv)x)mIz$_ZUSFqC?kn7@`Nf24?hR()ye^padds61_0Uvvy?sG+xKP$U z^7j+i#XzF<+CQ~K!>AjdMYGlVvNxv1iGKaU9};q;^(0o9*|?)uUGgUMusO8AxQ&rV zZirQJUaSl8iOM~D5{>DLPTDcp4uUphBWi`AZJ!t$*^Ko@g{Cxa7jRb+-#7FQBCmzi z3GA|2d`th6DdU4DzHETl?2*{u`rb!nupQrtOa3=gi)o|DYZu6HQ$_5vsaiWl$5{ds zZ`y|3fBcnS`S8nr=|5r+e*W=a_|^JSmhjo6_x*G>vRp9x^qtKbIJE^1ujRbMjmgMm z+#{AJ<;e6&I_@J!LXHhO&OIW1pVD^Tb{O;o9N+QpOc7K_MiI( zy@$@H$4An`$sh6+ze}&ie4hU2)ZhE?<{$g2eBtyEq1ebR5AKBK1FwJR;q{;N_dk5- z@A`5*S^sJJPmzAb!#jWOPZ_EDZ~Wvh)9=9lmWS{C>R+oHgm1X9a#Y{YL(|XuLVaQN zZ+rOQ5B+i4#QzZeKRG(IvDc*5Kc1}1FU5(6k6J|!cy4+H@fy} zF`Eo7)NFdd+-T9=H0oVgvXRLXzr-sSOB`mi z0ZKO|0QW+=TNF>Z37`aak~FzE#u-rH9x+TES>o1>1og*h%Z5jtWQ!>pKSlS0L~w@UlyQT7)?s}@q>U+Zj8~qF5@Y7$>ym$48$Py{B#%@4)<61?@k%VfOZ(Yq z@kBMhq|z_NB8PwRf%)-{WZp21msI`A3Y#?9q|6iTZjSkKXYAyQsrXR;9YXmEnTWj1~-+A@M=w`e?X$9d0WN$@Y#9s01<1NMu)(Pa3aeE4* zHl>RjcK1bmehTkJ>0{SEqf?vB8|ydi(w{f9`eG`ZcIHX$ z_QG3O2s>pG3|#Px^(;?qXhGR0pZ1h8dLfW3U%7cpI|a{YWR$vb@TOg~^Fluo%0}2| zl&9S{h7%J>vuG$~(@!ZnE)CBc4G2=o)E-|Q#PcEw-f2HNk(MSt5JRw*f3CdbX(MdK z&{kd5_|nBRo-g+#=rN);TF%bl)!B6}0=PhA4c2FROkVG%DjtBn`*aMEVz(Axe+A{%g7XJb5L5+}3S#0PEm=am((NZ#}+?+q85cIHid zkPa8dxZlhhIs9Qxc+-ylY&;Qm+cJoKQ(-J%pyi+O2NpM`E()=6EHvL(msV0)^rVaC z4XrZd$SFGP2vm#~b>{kw+EmZXA`(m=ZJSj^Hq=n)Z#KJN_thZF%$z}b=?={yVPhg) z+U>gh&8LJ*+Vofp?Ho7sYuBZ=D_Gm-_`wei-Ce7EmlPM|8G{5_;=bDjf`wme7ZCD<>5ceeQ@peuT5-}CI%R&y!4QwsJXd3B#9 z`;-jy(`Mz8vnCy#{>VVaPb4y4vX*qO;UNRO?*xU(+|ZvtnbO(={KxgBY_9E*VY%SO zKWnSUoPCJtcfRXe^#99f({7hDrm=e-8OYD^TL4Iq-swB^sb0>X&6{=tk=@cIB=4U} z2Y_>p&9mO}wY5x&^N0?zJr;Wx41pG@axAP}Ts?T13`(Z?tKeOHacsO{GoYg75ncn| zWGGJXuW4T>I_zzK`B?9^mMJAGZ;^T21kKlW3ic};t{G{E$W{{R&+#jfR8M4 zn|tbQ>Q>nNT`E`dOJx-jB?*@jy=p6>6RV=6PAwYQz|h_zL~_N}9C%kgdXU&uu`wh0 zKl2g&VU+y?a*eo+vXMz8p-XN8CLgr@oZa_e(}6`&$4}kHX$(eEZ>O5-$%qJ2m*3^ z>(3TD$IL<9#SY??m-QGcoM+MHhdcgk7(Lkd6uWt`SOaJRW2~Q;<%{X8Q+&58pFk={ z#*YAUtql_Paxe#2tNif5zQCC^q-LE*zMj<+$B|f?Q0_(X`IV~Qk*ue8Snpesm+|*) z>)vz2o*oLDvrEr1RnN5UIZE|~a(LAwA? zhsq@U^!%2bX=LERv&5XB&y9fJ--mn%EPt1d6yy*1*uzG|6<^0EeS_cl$;F@bfYiRp zO+6HZwz+LKL~)fi^>GbKq!1&X^h2Ja!@HmGjRdk^u~XhnIImKX`u!YNbgE9;K)<9- ziBC7##Dz9T3!TI#eVe(8E)Hb;kQ2@t&{H*jOiP{TZtfnK_<9c z`dW%_SK1G3ZG!j%>ckU1+zX{Tg?^!b+IMmN6n+BlZr=d*RO4ZA6uW}W(JSw^9KC!} zr1_$8{I*^%d;2Yod;5+&<3DRsY8k87b_qxFo)6q;M$l)*67vvj)=B$1acO* zr?~-rdQ34{@MlZ6{AXwB)yDm0`<>CFgW+`^z?^jk@>+~%ENYlbMimWiCoj4!12Dia zH7U#)c0a1!RwA=(Seowa1vU0@7jv0%1BU7x%3QIWin<=<8dw@{(nP6uZ&l zqD`Hn{81rG!U<&fQy!0Uaf0Rxu_ec_GO!{$W$|6F$nc8?e%cBU@k7u>pJLS%%qww< z??Zi*4T9*7!s6pIDT^HCE8jfxDK#Mzo3^W3HwF$##g=a&qa1|{gW6>He+YeEG8W(ul_SF*hOQr>>df zJfqK-JE0@PhEhfQN-W;h+Tf?OQu5Pgaq*d(nX_s$V(M{O?WFJ(#uy z5Xv0jqC=VSLSjtN7bI}#3;2m&Y{5^TrVo+zS~ogq?i&f#p2!PkCsn8?cCtY~s}J2) zF|Zq(C{+=kQ*%CKbauaw{Ip>kY^hkS%LjY7>p$?NX~Q#m{Yf9scAw=Z6=2lfvxF)G z=n0&DMAKt}j!6YVj*EQQBQ%wxPdrF&Z6H>e+E(4RN=K%=mWO9Dr;IE7)TiIry!!a* zP-Ca}DqSLQPKpb|6%Q;%+?|xE;ITU=2_2);uSHn*u;I=6XgbrN*MiQxvXoB@=o(#w z&=wtsxZvmskwoGrQvki{B6B3529E2nbs&jW`_|Se{JfjX1*02I{Mt_`8BQq6hx*lg zCUbm?Kf#ExxKTPDw+u&RaDkXxQ?wVSxKW`V^aW|j=uWlqRHGc5r& zbuS=qFpQ)HT{zpXfrCGen1Jj!;_SvrWA=29cS{?rsyru;_7&qUf<+E#cLIGB1MQRM z+pGlC&a}N$EJRnF5|yV6WL__do`0c3pYZVdgmGkq*kX&rW#O@Dr|vIKY8++!*t}(O z6M#!bJwmerc7s&=y&dju`0N;4l2d`Vv*r&u?HS=qjZ(po}rJ zZ8?VWsheYBOssRWhb$XtpzCKokpUkbvT1A9IQlVlM>J}*d4g*Xg%=klepGA&FBxa) zyX|Ie!;kKACnV$1mZs#mb(w} zmp;vW0M=uH0?DG+NQE&>ciMYvv$ghs*|6%1jQ9A44{=p>3ih>Qn5xE}6W8y2g4OkB zjW3{jsK|o@<_|4noM#h1_;-EU>cEiDJtI@PneghT%D24AyvlVAd=-Qp0S1Z(r1R^b zGw(SgX|Y*YTj?lO9dbtQFxj+U_*{rL2_9?@W-ANU7Z~(eIJnR<0WGCGlNXuofQl<2 zmjuE&*J1}-2cMz@iHUBlv1m&X0wMA#aW1|!RxNVjd2z8}>biKr)R`NDq%1C6FuS;T z-O++UY$_K%F%XIbzzG&8fN^ATT5XyJa}iEzKGnO~a_la*#DQ-0iM(FY#)zD4TuKtN zo8Tej+ksAsDoUlKr7fMFWiAGv}#np3G+q zSx(~yySZ`D1y37CbbC|4MUAmVpF%gTKs`QPmko_;3}vHBF}@&6nZv&_LtTH_;PVR2 zY#@y-J^kgq_UOx)D5Swr>9VPJ`>vMZ)S14!-Z=3O{` z3T~b4Gi%M+FD;{+e$EYC+sVd<^77CAVstR!>(3O&MkUE)O*eUbOZhy<#-`L4y2CaP zTLIm&pPEwIVOuY304Hyc7gqix3D)mhxTokha(187$TODs=VJcOXByg-Ke~(9ufGg*|>X59u2=+?9*??&KwM`b*KQ24^bce zl?gaXXQICFRq>|1hQvcxRpu=R;^3P;V4gJaB5{|Sjh*%aGd?h=lRRxOEI`%g$ z5Y+Mfev16ok5n`-ewOqIsf=16hZeg>L#_^3yt-wzPE1SNc~MOf|0;5=HIxx5E}Ccg zz-C7^h&=UeVyxoJxhdvpHk+)xkFN3L3r{s>bE~R1rn;a3tC?g0Z=hAeKRjj(c>^s> zZWh?I@;mYP$xT5oj3{Tkfiq)5IXL*}L81y5Q0BD#Wi066X2I`ci;hoVq66E%dZV_u zO}=3tJ2;1o&K^?IGYRq(E}M8u!&Dl(y?7(n5$KJ2Zxqy4Vh4{;0_+#<85%IV%?397 zJ|z~*q0LyO(LQWGTV7An}xlNr{Vayk70K0jz#%fs)mgw=X6Fk}=nKl#&{)$uV}OvQOGs zzRL%r4Dyz@Vyx5_{Fb-O(v&)h zuX0AGV|z8I?nHH;)#mzL5ps}%hUm2h<(UZp9g{s%^!>)%tH}GUWzT5OQyuO3q_K16 zf$4xc@}p=O>bD6)XYxbKFYap zV#O{()8-|zLK)N4TmOHkxe<+9zzmUuMn+lre-W<&ct7z$FXkudH0i>!Pa>_rDXz7dvf8z zN8HKgIj@ZHB){*BZcj6&(dFh6|7a^u^6_B4ObZ%-VltLIo<#6dd6Dsh%{wA&=D}do z?mBAvb0TZed18`J2E>zsH-jin@@7=!U`Zam;d^eew&>5VlAt3#^UgOoY6mfZX#YgF z2q0b0MDUz6=joGShHcmHiefxA#zjeO>38(gn|W2KV<{j=SYCxn1Cz~5kowvWzu%vA zHfs+3=dq<6-Bnh-?V`EqGx|#7N8pYfc2!n%?1;-Zdc~M#NiH6iZpC%N=~Y>>p+pZ~ zk`SEACYHH!=E$RThxAD1Q%1n&)rgm~@*dSLMxNRB8jz6XS_k17igd2~pz_Vp;hH1Zl6zS-3r zVI1)^b>no5$vp>^FKp@EcWtn;x$pbi>baP8?s=$I^d}el+w9cyw00b_7un<+Pas@0 zDYp;3ftDOkt%(4eJuqtDevPnWH7hi9f1;*!Vb60Lyg8vooQTJ;D9;Upal|LpYka~a zJU08$m2aMBDEnV@EGOS*V{e>UcYIT#hZ5AaqWn~f&ZSMlz-RiF z*bzhiL#PuOQ;z2iEPABIoc=|Qr}vaIUNVmCzi@146lrI0=|T0SHvRB(lf~Lar!m&B zLh87~XUgeRbg1J84yLmym&X_@sgR~Y)G>37!IE(RrVeMEvR7!H8%{ki&^p9_ zV#tWiSk3pg|}zFuD#V4^WTHiH;|XhX3S@NXo13Av#RI9wWWVdZDDE#6;8u!PYV( zGok!*b=|1$i^{oJ2QZT-vnG&CkNi=`j_{40mM%BoOfx%a#}n(LO){308WFeAxZzsJ zayl(L)4mA97_k9DZg}{{|74kqm@Z6OD9}d4i;d#L;xUL-GoITeL3||DiYq!*2P{`c zV7YapVR^}HK1fBOOf1PsEiXdIC_~zUp@%r-WYvtlv7@Z^fe1_`sqZqb-Bb_!$_2Nz zL*P+yJP>_vKsN0V7g)y%xbexvB@}x(yXjz37?K6O5|wbx!DL*r;qj{(%Moajoj9{` z((cJ{9S7ayYS>72-g}n>8#Hg&#OTjDvWe$OJGzZ+ZFBL$_J{mx%!8k@V+hkWUze9} zV#?plCy2oW?=AhWr6ew<*!IQ^iFtBO8~F2l6V2_Co?34`+qCQ$3%q$2LG1J+9Jh%Z z1>e{Zr;%w}X-MMM*leE>MUI2b0Eu|yDKk7%Oz+caS2lT7Q`l{B>5ji!VKZs_a(o2v zBR5dkOmXQtje;JTaB^YsJc=n# z&Uk@blgd;Mm;QqrHv^iuq?Zpie<`7AV!M zgFnH>-I7pm9eZ0AdD2LN6T&_(;cz%FpCyeoQn-|LjK7<44;ZCeYv3it&QzS0LuJZK zJ%#feP2?Vrh4Aj2PZM|8i)6X`!ijYq+cNC~V{Edjir`UC|1cI9ANtc&@upFbo-0ds zTFaBu`7Lo?Dan^sv&5*8ii;j{4u zgTy$c>%b_@KH@Ka;``$74d&}SiI*<2<#S=pg%Lcpn+-B;v_5&hxVk=RfYCI?QZg2& zh7HRF)3LPC`d8(|x=)nx-2u9>VY+C`N0;+Zp|2QaUS9jNFy!G6rB0s$7DBMZ#5(~g zb9lr^i6`d#&$aYL`aneKo4s(L(azHcBP}d}zplf{#w(Enh`&AO zVlY9wI127P`bFqY<@D!PU%bZoj%G+BbGIK(yrWFi>xSD;;t7Rkz1MLUC)X+uN)Q0cv7)R6+q{y7jo(| zfjr=c*$IStFBaF)OP8LT!O^!!2(MC2GJf46hS;w~E6AKn6@odf~cbiK$ZiKs$Qfi9}3KhvwUco7C zmguJBpD6K!^T0j!V7vs;~|1(h{D+JXa0fQ(Pgma?nUSHkJnT&#E^%|BMX{9d8=-S_*B0 z5!WWR@{OAaQfzC!b+a!UmKBdDbKaPXK)gx2jr3P;EYkkiXxYNYDZU>*f_3mI5}PFa zY`J-)A)BW{ZpPAww`f+kiefQX#3KIZp#aGAKVt{u9v1=!7k^#1m-KCJ*wBHOF{4il z3l2jdiJfx&^}7r11M`uHGw~xj!&?rqv`@tPi8p1NKIz3Dn)~aJE&Iqb?wD(xe`2ly(YDQ4u->^21)K4jV{g#2IoFyr zI?Lq6T`JX88GkQ)vqv=}I~rT89^R_eUg)R)588UKtDov*=;bxP zh5)n!u?lC7Ld86Q#q`80(upiVO)ekK4d407S;0--^!o?!lE4rX%HM4iQ)@0@i} z-3$Flt;tyX)vlA|B>dts0)`1Dg<2oPD9?o~{%4CK5TV`dUSPRUu@R8QX2z~mJf)#8 z2S7s?3&iMDZEYM*uk>vt3C7qm)<1Ry2LVjQ-BB6so3QqhQlqd=D z#Idj)Zre>6l$1*;^1?gW7gQuS-nKUlv0gRHc!DxY|zo+>Fw+KpH_K?`K>qgdW&@Jj|$Ag zjze$4C10Cvi;?W1+rxY>A9>p1&GG~zql&iYiLqbJksV{nSGP%(+BCdQ<+o11;yad| zEFfIjpV_5d|-8b~{iI4-9uGT-ABaEworSdwG&rL>|9o z0fFTxP;8h_Ldz2e>>jDyMUw8@8YlRYHU@6lITYgO(v*Dq#JZB}@4IX0Id${i`1|3C zIBvq&D^0<+4zYH7#fO4T^wDW~Bn=d)@Xo-D3ll0M4SqQE0*QR#skX~z&#BTU?OEk5 zPifblrE|-RC%4p3P5rcWloj_z$97%6_27`dWx4(`tw;72Z}gXK>Y;gDWiX9p(MNm; zlV#qG*3#d$;9Tu;EzWu+j>l$V!5F-q2N{F#$N1?(2Cj8#1$lh8|Bdmq51HFTq(xg{ z5G@{+Oa3Z7D+0OFK1<>=gm)dPPdnWqd2c{%j1HrdvWK*(j5;6K5*mY={3LJni$joE z)4M@26ZMflp)D(xCz&p^NzJD^lLr91;i;jG0)Lmu83W5zRXypzAELBL~VY90kyXF|p3!6BZ^oMRIi;_#~FF ztK&%n;@OFMa+p@bptkQuaQW`WwH*#Z+U2pSj%CA}eg;Gv^O*;{v+kQZOx3n>qOMET zve#D|{4`asQ)uwujNa>%uyW+t=&^ZY1CL$G4qm7sC;a$eNA&rXRjF-~L@d0VERHj`?_~3WZ8TCkL!YbK^CN!J#k2Q>^@nhD|3f#JlJ$c%u^Dr$4PGA(H=-M)z})yDS;SA3ZE^IDth|HN;d+vuSw3x9@YaE6YQMjj z>CyLBo1WRHk2+t{9ggcyjY<6A z+L<{muT%hnyJhlVB<~qaZUC~m;a6w!wD6SgLT+2bunl?Pc8%ZoKV}NAJe1O}wZm7- z1rMF#7ijiMQE0%;tZXF9iqArlzb?ygFhk2m9ZSP+FCKCr;%|HozQvH4YU4!JhQW0HOqwgzIJoLeM5%3jAUPw4aX_Q5{Twm!XW zd~CZF!C)ip%gw1s9YijIA$RVi5{a{XLqfjrsX^kP7-|E~CkQ0ph{$gJu}w6mjp)`b z)~mkC!;OGgZXul-vFC-5B`*UUO6p$p49uF|7pE(?_jvipVcjueU=P7 z22hXIwd!ev-9aen%uym02Fal-<+^exdqmcwGS z+s=jnMK(!GLg*}9K?W&{A96dD3nds7HsADCMc*uyY-?Ls+`3Rb=R@28;ZlDje-f%d zt~N(&pUd79%U!Cgl7*aVanfdL1S= z+q1FW7v34$mXaK8p7J#djyIN)kk-7jueC&W!G2AjQqVpSd{d#d!|}HLpeELg0@^!I zlf`eFy+L(cV!cnd9UD3WH{uGYM>+DhXY2&K9F#K`T)N-b3On{xqD4XNrT@H6UfZ;k zE``{~2XD~D+kFGC!okY8IBu@k6pc{FL|qQOHE^aZ%p2HcXVGi6`KV@2$L2z=lVPqt zt?D&jS|Xq2tJLG#%g8>~e(#i*uzQL=8OWFMO*SCGVe!j zDDK|rW2Dx&gKzjCQ}&v;OwMa@(C3q}vt<`Qs)K<^b`6D7smvoU8;Dz&s^8KN_2(8p z5#8s4e+CJBT5sGx)p6`VYVMJrnV~_KKl{*8c;;0)^E!NvuIj+6ECqHLwgvG>njuU^ zPn3hqEa>E_nm6po@;BJ^0#tPm>2W#rff$8y4pbgl& zq$MkQoSIl871<@?I+#gmcVuo*D`8)G@^L2DuB0Vjxx|7Cc`5CuxOtEh58>If3+^ek zadznf=5q38 z9emoylO=wlj}3gkPx6j&*`Vcjj7!gJH1FhTtz`DvFXqvt}gKyoP5Zf;sq*NugX>C*{SNC*ti7iOZXdNe226T@s=^QB$< zV-C7KK+I+nKS*nSy6xg09`eo!F>1 zQS@=pAnBrcPEt>bo5|zFSZaA{7{JJ7vSs>!6D;O8`+>bU#JJn4lRdb)@wnj#D_Qea zcIX!1v=)?6GKo!lHX)T`!C0c2_SAu(wWlG||dbi6=Tf0_E7) z7<$#U262Ueugc4F-it1nW!S=?4uG@rhi1PhQ_yi?Un(Pm4dlaH>X3{t4cS~1TW{=b&k88H zRo%d{;l(%q=V;@rX|kJ*bvDJeOwafpNJet&+}E!t53-5&c`Oe(t^ zIVm`Hq8r-^bMnl#ji@0jIoqxrvm{KI#T6x@KQa4J{jS+TV5|ZISl(^u1>x@5p4~ce~G5k~@PpV$}1>&YurupteQ&wZjSALInuv2{6!WKoQ za?9DxezGLlB~GE0v;3s;FizW*g;uPm#Om+Cw@USjq59o8RjxLh-}49FfroGI)LV>0 zMmB4fae7UXL)0l_%wugRmR|UyyX2`)Wfe1rS?5@vynbn&^{X?;F5RehT-PQr=g39; zJXF1;@#sQprFztZTh5U`3jnc#kbf4YzZ+ z?jd+?*wI;f$lOWdGnwHsFS~(Rwo&P9zo=^w=dV0;ZHto&C|+Q!e$R~&HX^dLcCE`(|w-q!DE4{kM~U5!;>-g?fCe$ZSYRSu2HTZ_}X&wNZx?BdeD~e z24+(TISUv557Mpf;mTcG2fr}@wF%h7IF#6d&w&G#wWOO~U*MM;?R)22iD`&M)w;#r zboZAnAtV9)+cv4BzIDegSVOe88aKPm8>@JHQIek<SV-K{$;7H(zC^aTk#sM+*fxZI|6E&ecljKHFrquzCO|gvkw6qU6L+

J8g4=m27?`U7r_!xXNbFINb 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


s`?W@@e|Dp#}wPr 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 z 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

    =JoHFU79z}i2r%v; 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

    JiemEd-#+@0!VD(8#slNa)X?*-Rk`Gg9`9P6 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 Ca-kR$AkdR+y$=`y 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

1%wObAAvu6dck7$jv4>F3FtLnJut=KR$%L#1 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

MV3!qpMN1hF1n1ICP5>);z#V4 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 =ltT?q=2j=PjpBx@-M|fyP8!h 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 Nc)I$ztaD0e0suzL-U&HWafRMf1-qS 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 GG5-TvOuwN3 literal 0 HcmV?d00001 diff --git a/ZMJImageEditor/Assets/EditImage.xcassets/paper.imageset/Contents.json b/ZMJImageEditor/Assets/EditImage.xcassets/paper.imageset/Contents.json new file mode 100755 index 0000000..7323572 --- /dev/null +++ b/ZMJImageEditor/Assets/EditImage.xcassets/paper.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "-图片.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ZMJImageEditor/Assets/EditImage.xcassets/text.imageset/Contents.json b/ZMJImageEditor/Assets/EditImage.xcassets/text.imageset/Contents.json new file mode 100755 index 0000000..a262249 --- /dev/null +++ b/ZMJImageEditor/Assets/EditImage.xcassets/text.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "text@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ZMJImageEditor/Assets/EditImage.xcassets/text.imageset/text@2x.png b/ZMJImageEditor/Assets/EditImage.xcassets/text.imageset/text@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..c9b6deddd5b37d98b7d968b30ec5815b23bb1e8b GIT binary patch literal 1405 zcmV-@1%mpCP)Px)H%UZ6RCodHm|cifRTRg)YJQtOn3#elMy4haqDENigXoK68RUb68X-{{L?Jy0 zq6j_+_N0Q?L!c-|ii*8d6h#j`sE~*nlZ+@TqfKUh=Ev#xzq8k6&vEWO_ueyC9a#(h zv)0~g?X~y*?~k+Z^yuN@3^)VMfHU9>I0MdrGvEw31I~am;0!ne&VVzJkAWmfHh_cR z2e2q#wr~JCT+?YZ5sV4?61o{& z0N;@J4*JmugBuC#^7{vSo{a=sZvm5&R$r~A;e2oeD6fu|j+4nPjJ8nNg6_)utlA;6 zCUy6=(GSX0m*H!DNatg z575dv@$QIJECqI zu-Bo;cq$zem+_AQnv6s%eh!R^W6Y+0IFQ_LSINVDbI|FbsPhvxuvp`t0&GG$4sXZ) zw2glSFjBR`&!%JIGX7~%yz)OE`x|D{(J)}!Q!D#nxz6yN0VY3}i&H&8Us)i!rBZB& z?@yfF3Az+t&1w_-^W2=vNOUhG)3)9fCr;Tq`!_?~R0cUR<&TR8C>#ez!GhRP#_mu3 z-Qd$_U7y{?3zN{O5!eeCZY7pk@C zWCpQALcAV1zfz~)0+pl%=XjtM`v|ND6@{FA2zUXgzqw!n(1oaa?Wlg>;jB0vm4t!q z0rn^n`}zW8K`U>fOYZej!cGkQi@{$&v37}KJ|MdI>?_mw9YAMV`T4-^k9t;MAnjLx zUqA;Tzw%xNT4lvabk|%hTJ1YXm)~vdR-nODBQF!AHX^Nw z$qwQjuOk%8mlTEqU1-|oIx-uGJJJ`hN!6d2q2y{r4RiK0TQKJbg&1#eO)8-FgaxC^! zxeVw{A<@%XJE5WwGaMMHH4{+lwpqz&?9A)ED!ctU|$#cvVJ#ACPq8aq~;x9 zeP?QV(Dt;>q~FMFR3?D7KLHbc#(F6ft>6DDOSG+bb(Vtqp5Q%TPhiZVh=5t0waHya z;$!W76#ri2Z{7b*qU}4tCMw;e0iw0bP6PX{VkWwzR&Ujq_-K{QU0x61NW z(p7C^lIe`vmTKj8*5fC)kk|f2)<(|r>4f;FQK#PllfZMJ1)K)^z)9MaZhvC+^>`Ny z2FLLoLc2Hv&VV!E3^)VMfHU9>I0MdrGvEw31I~am;0!neDF*%r?=mEI)X=sO00000 LNkvXXu0mjfs=KHF literal 0 HcmV?d00001 diff --git a/ZMJImageEditor/Assets/EditImage.xcassets/text_selected.imageset/Contents.json b/ZMJImageEditor/Assets/EditImage.xcassets/text_selected.imageset/Contents.json new file mode 100755 index 0000000..49122b8 --- /dev/null +++ b/ZMJImageEditor/Assets/EditImage.xcassets/text_selected.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "text_selected@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ZMJImageEditor/Assets/EditImage.xcassets/text_selected.imageset/text_selected@2x.png b/ZMJImageEditor/Assets/EditImage.xcassets/text_selected.imageset/text_selected@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..cd56fe846c9862145aa500a17c6f27e85932d209 GIT binary patch literal 2153 zcmV-v2$uJWP)Px-BS}O-RCodHS#4}vR~bIp^M0KhAxtv}7z7Lg1_6VBLBJqj5HJWB1PlTO0fT@+ zz##B{h5)r&-&A`3VXb7J5-Jw7tj8`Ni9gwH9_^&pRsecV&L0qh&S;?nWg%CraQI!B z!_n8;DRet&$#xPGBp$3$9z$6wtt^kUl}DS2wGDv&)5UjcP5o8*h#W0cl(asou~41A z!8&aNU}<^fD307!R112UgkJP?rEuS={D*Hay{qE11%Ul$wMANeL1-NYM z%%#)O`dF3Y4c2K309SIkyP%gxizv{MOg{%I=)VohfSPVb>|NC>65Vd$H$4D~wVT+13#FUg!^akMm z8)&^AdvD_06NG?>;&IM?5~leX#oL z%xJRP>-+oLJ8th&T73s0bUOrJbCk~7xj*Ss1f0S2uZP^8u zL}?WM?ujHw?H^8DSS4>AXHdMczO`pO*SEU1elL~IKICY14y1R2enM-}i6?U^5b=rY zFe}egG||u#Y5Vc@DK=i+5&)dul;QxVBSc~u(w(Y31uNP4JJM9xOPBlor*pR~FFA8=>;V%Tz#B6o$u~n5wiI7&OBMjeUxk33%n2s?TD|h+ z`A3CN?kOU0sl}J_cdsXz7R&o!+O99d=a(sB?P{bv)0jFOzh)8b2KPLVp?J72ZExqk z-_|k!1HZIy#wqQE=CDl4C(Zj z|1{$&EqU50sqeabVK$4hbOinHHQJvUj-SIk|C+Xe-|AR#uCPN1r(bFPEm$B9(zn~M zq1zGwy=i-oqm)&*6bV>0A>3;wi1KlUa?SH|vL(mVYkQ>q=X%tj$){er994Y8Jl>Rd= z8oxoxIP2}({NGIjP_XTTP~HuG5QxjsYsdrFeX-W+J&5f~$Z}!4b2m)9Gc!nT3ah-2 ziVg*i=z{XBEeFmh&i{u{^r9tcimdqGrw-FXWj{Z=PiBFEcObR%e)^jR0D?UT!tTkS z`pQg?b`AJp#CuXd%k`=i=P%rc*{&!%_gQqudCaYQBKIMbmY;%EA*B;4Jn>vCnfMG} zuDl&h|CW8D>3Y)z*NmI4)-B+2Gk`?1&7CHZlTtR!{dKQZhga^4XW+|jMF%C3>(|x< z($TlWyeo$y!-2&9jg;qV5C`EET2)T|JDUOk+2$)qwO-WKB47pMzxL0nyi?K%fKcEO zV%hfow7sK31Hlzl9WFh*CiLu!Lo{DmYxYDb42uz)z6Dn3`38Vn@N+?HzO(s? zZvcw3xdV{ct+-%v3sT6RHYeMBh3j`zhR^d3SU?CM9N|xDJVu^>0h3-`FLY_)Mf)_* z*S9fbiqyD$WToUxVhyge+5*TItD}v3zBl7mcL@Ubl}XM`k0jrMK-E(4LD4j*1f3L0 zCpeE=BoAeV6X)5=7G~|ssO)aV7iBjVfX6J{?h(ZJtKhaBGIS#jeHuXBMKUhls3Z%d-VTsHUlOHn z^4vzv7XVu6Pr&CMWQj!ghKBI zuW}v0A4J@*KXE9|#Suq*)B*I0lz~r9k8}-MmOSRt!WU_N0su*tHC3Kl_utE{~&wjum+JjH-y>R0*1f!00000NkvXXu0mjf7lH(7 literal 0 HcmV?d00001 diff --git a/ZMJImageEditor/Assets/en.lproj/WBGImageEditorViewController.strings b/ZMJImageEditor/Assets/en.lproj/WBGImageEditorViewController.strings new file mode 100755 index 0000000..de1209b --- /dev/null +++ b/ZMJImageEditor/Assets/en.lproj/WBGImageEditorViewController.strings @@ -0,0 +1,9 @@ + +/* Class = "UIButton"; normalTitle = "发送"; ObjectID = "Li1-F3-HD7"; */ +"Li1-F3-HD7.normalTitle" = "Send"; + +/* Class = "UIButton"; normalTitle = "返回"; ObjectID = "U1E-fP-iEK"; */ +"U1E-fP-iEK.normalTitle" = "Back"; + +/* Class = "UIButton"; normalTitle = "撤销"; ObjectID = "yeV-aj-vVt"; */ +"yeV-aj-vVt.normalTitle" = "Undo"; diff --git a/ZMJImageEditor/Assets/zh-Hans.lproj/WBGImageEditorViewController.strings b/ZMJImageEditor/Assets/zh-Hans.lproj/WBGImageEditorViewController.strings new file mode 100755 index 0000000..8990be8 --- /dev/null +++ b/ZMJImageEditor/Assets/zh-Hans.lproj/WBGImageEditorViewController.strings @@ -0,0 +1,9 @@ + +/* Class = "UIButton"; normalTitle = "发送"; ObjectID = "Li1-F3-HD7"; */ +"Li1-F3-HD7.normalTitle" = "发送"; + +/* Class = "UIButton"; normalTitle = "返回"; ObjectID = "U1E-fP-iEK"; */ +"U1E-fP-iEK.normalTitle" = "返回"; + +/* Class = "UIButton"; normalTitle = "撤销"; ObjectID = "yeV-aj-vVt"; */ +"yeV-aj-vVt.normalTitle" = "撤销"; diff --git a/ZMJImageEditor/Classes/.gitkeep b/ZMJImageEditor/Classes/.gitkeep new file mode 100755 index 0000000..e69de29 diff --git a/ZMJImageEditor/Classes/ColorfullButton.h b/ZMJImageEditor/Classes/ColorfullButton.h new file mode 100755 index 0000000..a83eed4 --- /dev/null +++ b/ZMJImageEditor/Classes/ColorfullButton.h @@ -0,0 +1,16 @@ +// +// colorfullButton.h +// CLImageEditorDemo +// +// Created by Jason on 2017/2/27. +// Copyright © 2017年 CALACULU. All rights reserved. +// + +#import + +@interface ColorfullButton : UIButton +@property (nonatomic, assign) IBInspectable CGFloat radius; +@property (nonatomic, strong) IBInspectable UIColor *color; +@property (nonatomic, assign) BOOL isUse; + +@end diff --git a/ZMJImageEditor/Classes/ColorfullButton.m b/ZMJImageEditor/Classes/ColorfullButton.m new file mode 100755 index 0000000..850b58d --- /dev/null +++ b/ZMJImageEditor/Classes/ColorfullButton.m @@ -0,0 +1,61 @@ +// +// colorfullButton.m +// CLImageEditorDemo +// +// Created by Jason on 2017/2/27. +// Copyright © 2017年 CALACULU. All rights reserved. +// + +#import "ColorfullButton.h" +IB_DESIGNABLE +@implementation ColorfullButton { + UIColor *_color; + CGFloat _radius; +} + +- (void)setRadius:(CGFloat)radius { + _radius = radius; + [self drawCirle]; +} + +- (void)setColor:(UIColor *)color { + _color = color; + [self drawCirle]; +} + +- (void)setIsUse:(BOOL)isUse { + _isUse = isUse; + [self drawCirle]; +} + +- (void)drawCirle { + for (CALayer *layer in self.layer.sublayers) { + if (!layer.hidden) [layer removeFromSuperlayer]; + } + + UIGraphicsBeginImageContext(self.bounds.size); + CAShapeLayer *layer = [CAShapeLayer layer]; + layer.frame = self.bounds; + UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(self.bounds.size.width/2.f, self.bounds.size.height/2.f) radius:_isUse ? _radius+5: _radius startAngle:0 endAngle:2*M_PI clockwise:YES]; + layer.fillColor = _color.CGColor; + layer.allowsEdgeAntialiasing = YES; + layer.backgroundColor = [UIColor clearColor].CGColor; +// if (_isUse) { + layer.strokeColor = [UIColor whiteColor].CGColor; + layer.lineWidth = 2.f; +// } + layer.path = path.CGPath; + [path fill]; + UIGraphicsEndImageContext(); + + [self.layer addSublayer:layer]; +} + +/* +// Only override drawRect: if you perform custom drawing. +// An empty implementation adversely affects performance during animation. +- (void)drawRect:(CGRect)rect { + // Drawing code +}*/ + +@end diff --git a/ZMJImageEditor/Classes/Mosica/XPixelItem.h b/ZMJImageEditor/Classes/Mosica/XPixelItem.h new file mode 100755 index 0000000..0a71b53 --- /dev/null +++ b/ZMJImageEditor/Classes/Mosica/XPixelItem.h @@ -0,0 +1,19 @@ +// +// XPixelItem.h +// RGBTool +// +// Created by admin on 24/08/2017. +// Copyright © 2017 gcg. All rights reserved. +// + +#import +#import + +@interface XPixelItem : NSObject + +/** 当前像素点的RGBA */ +@property (nonatomic, strong) UIColor *color; +/** 当前像素点的坐标 */ +@property (nonatomic, assign) CGPoint location; + +@end diff --git a/ZMJImageEditor/Classes/Mosica/XPixelItem.m b/ZMJImageEditor/Classes/Mosica/XPixelItem.m new file mode 100755 index 0000000..bb6122c --- /dev/null +++ b/ZMJImageEditor/Classes/Mosica/XPixelItem.m @@ -0,0 +1,13 @@ +// +// XPixelItem.m +// RGBTool +// +// Created by admin on 24/08/2017. +// Copyright © 2017 gcg. All rights reserved. +// + +#import "XPixelItem.h" + +@implementation XPixelItem + +@end diff --git a/ZMJImageEditor/Classes/Mosica/XRGBTool.h b/ZMJImageEditor/Classes/Mosica/XRGBTool.h new file mode 100755 index 0000000..3072055 --- /dev/null +++ b/ZMJImageEditor/Classes/Mosica/XRGBTool.h @@ -0,0 +1,29 @@ +// +// XRGBTool.h +// RGBTool +// +// Created by admin on 21/08/2017. +// Copyright © 2017 gcg. All rights reserved. +// + +#import +#import + +#define kScreenWidth [UIScreen mainScreen].bounds.size.width +#define kScreenHeight [UIScreen mainScreen].bounds.size.height + +@interface XRGBTool : NSObject + +/** 获取所有的像素点RGBA和坐标 */ ++ (NSArray *)getRGBsArrFromImage:(UIImage *)image; + +//局部修改图片颜色 ++ (UIImage *)changePicColorPartial:(UIImage *)image; + +/** 通过遍历像素点实现马赛克效果,level越大,马赛克颗粒越大,若level为0则默认为图片1/20 */ ++ (UIImage *)getMosaicImageWith:(UIImage *)image level:(NSInteger)level; + +/** 通过滤镜来实现马赛克效果(只能处理.png格式的图片) */ ++ (UIImage *)getFilterMosaicImageWith:(UIImage *)image; + +@end diff --git a/ZMJImageEditor/Classes/Mosica/XRGBTool.m b/ZMJImageEditor/Classes/Mosica/XRGBTool.m new file mode 100755 index 0000000..f83a510 --- /dev/null +++ b/ZMJImageEditor/Classes/Mosica/XRGBTool.m @@ -0,0 +1,203 @@ +// +// XRGBTool.m +// RGBTool +// +// Created by admin on 21/08/2017. +// Copyright © 2017 gcg. All rights reserved. +// + +#import "XRGBTool.h" +#import "XPixelItem.h" + +@implementation XRGBTool + ++ (NSArray *)getRGBsArrFromImage:(UIImage *)image{ + //1.get the image into your data buffer + CGImageRef imageRef = [image CGImage]; + NSUInteger imageW = CGImageGetWidth(imageRef); + NSUInteger imageH = CGImageGetHeight(imageRef); + CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); + NSUInteger bytesPerPixel = 4;//一个像素四个分量,即ARGB + NSUInteger bytesPerRow = bytesPerPixel * imageW; + unsigned char *rawData = (unsigned char *)calloc(imageH*imageW*bytesPerPixel, sizeof(unsigned char)); + NSUInteger bitsPerComponent = 8;//每个分量8个字节 + /* + 参数1:数据源 + 参数2:图片宽 + 参数3:图片高 + 参数4:表示每一个像素点,每一个分量大小 + 在我们图像学中,像素点:ARGB组成 每一个表示一个分量(例如,A,R,G,B) + 在我们计算机图像学中每一个分量的大小是8个字节 + 参数5:每一行大小(其实图片是由像素数组组成的) + 如何计算每一行的大小,所占用的内存 + 首先计算每一个像素点大小(我们取最大值): ARGB是4个分量 = 每个分量8个字节 * 4 + 参数6:颜色空间 + 参数7:是否需要透明度 + */ + CGContextRef context = CGBitmapContextCreate(rawData, imageW, imageH, bitsPerComponent, bytesPerRow, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big); + CGContextDrawImage(context, CGRectMake(0, 0, imageW, imageH), imageRef); + + //2.Now your rawData contains the image data int the RGBA8888 pixel format + NSUInteger blackPixel = 0; + NSMutableArray *pixelsArr = [NSMutableArray array]; + for (int y = 0; y < imageH; y++) { + for (int x = 0; x < imageW; x++) { + NSUInteger byteIndex = bytesPerRow*y + bytesPerPixel*x; + //rawData一维数组存储方式RGBA(第一个像素)RGBA(第二个像素) + NSUInteger red = rawData[byteIndex]; + NSUInteger green = rawData[byteIndex+1]; + NSUInteger blue = rawData[byteIndex+2]; + NSUInteger alpha = rawData[byteIndex+3]; + XPixelItem *pixelItem = [[XPixelItem alloc] init]; + pixelItem.color = [UIColor colorWithRed:red/255.0 green:green/255.0 blue:blue/255.0 alpha:alpha/255.0]; + pixelItem.location = CGPointMake(x, y); + [pixelsArr addObject:pixelItem]; + if (red+green+blue == 0 && (alpha/255.0 >= 0.5)){//计算黑色部分所占比例 + blackPixel++; + } + } + } + NSLog(@"黑色所占的面积--%f,%lu",blackPixel*1.0/(imageW*imageH),(unsigned long)pixelsArr.count); + imageRef = CGBitmapContextCreateImage(context); + CGContextRelease(context); + CGColorSpaceRelease(colorSpace); + free(rawData); + return pixelsArr; +} + ++ (UIImage *)changePicColorPartial:(UIImage *)image{ + //1.get the image into your data buffer + CGImageRef imageRef = [image CGImage]; + NSUInteger imageW = CGImageGetWidth(imageRef); + NSUInteger imageH = CGImageGetHeight(imageRef); + CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); + NSUInteger bytesPerPixel = 4;//一个像素四个分量,即ARGB + NSUInteger bytesPerRow = bytesPerPixel * imageW; + unsigned char *rawData = (unsigned char *)calloc(imageH*imageW*bytesPerPixel, sizeof(unsigned char)); + NSUInteger bitsPerComponent = 8;//每个分量8个字节 + CGContextRef context = CGBitmapContextCreate(rawData, imageW, imageH, bitsPerComponent, bytesPerRow, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big); + CGContextDrawImage(context, CGRectMake(0, 0, imageW, imageH), imageRef); + + //2.Now your rawData contains the image data int the RGBA8888 pixel format + for (int y = 0; y < imageH; y++) { + for (int x = 0; x < imageW; x++) { + NSUInteger byteIndex = bytesPerRow*y + bytesPerPixel*x; + //rawData一维数组存储方式RGBA(第一个像素)RGBA(第二个像素) + NSUInteger red = rawData[byteIndex]; + NSUInteger green = rawData[byteIndex+1]; + NSUInteger blue = rawData[byteIndex+2]; + NSUInteger alpha = rawData[byteIndex+3]; + if (red+green+blue == 0 && (alpha/255.0 >= 0.5)) {//黑色部分 + rawData[byteIndex] = 180; + rawData[byteIndex+1] = 180; + rawData[byteIndex+2] = 180; + rawData[byteIndex+3] = 255; + }else if(red+green+blue == 0 && (alpha/255.0 < 0.5)){//透明部分 + rawData[byteIndex] = 255; + rawData[byteIndex+1] = 0; + rawData[byteIndex+2] = 0; + rawData[byteIndex+3] = 150; + }else if(red+green+blue == 255*3 && (alpha/255.0 >= 0.5)){//白色部分 + rawData[byteIndex] = 140; + rawData[byteIndex+1] = 128; + rawData[byteIndex+2] = 214; + rawData[byteIndex+3] = 255; + } + } + } + imageRef = CGBitmapContextCreateImage(context); + CGContextRelease(context); + CGColorSpaceRelease(colorSpace); + free(rawData); + return [UIImage imageWithCGImage:imageRef]; + +} + ++ (UIImage *)getMosaicImageWith:(UIImage *)image level:(NSInteger)level{ + CGImageRef imageRef = image.CGImage; + NSUInteger imageW = CGImageGetWidth(imageRef); + NSUInteger imageH = CGImageGetHeight(imageRef); + //创建颜色空间 + CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); + unsigned char *rawData = (unsigned char *)calloc(imageH*imageW*4, sizeof(unsigned char)); + CGContextRef contextRef = CGBitmapContextCreate(rawData, imageW, imageH, 8, imageW*4, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big); + CGContextDrawImage(contextRef, CGRectMake(0, 0, imageW, imageH), imageRef); + + unsigned char *bitMapData = CGBitmapContextGetData(contextRef); + NSUInteger currentIndex,preCurrentIndex; + NSUInteger sizeLevel = level == 0 ? MIN(imageW, imageH)/40.0 : level; + //像素点默认是4个通道 + unsigned char *pixels[4] = {0}; + for (int i = 0; i < imageH; i++) { + for (int j = 0; j < imageW; j++) { + currentIndex = imageW*i + j; + NSUInteger red = rawData[currentIndex*4]; + NSUInteger green = rawData[currentIndex*4+1]; + NSUInteger blue = rawData[currentIndex*4+2]; + NSUInteger alpha = rawData[currentIndex*4+3]; + if (red+green+blue == 0 && (alpha/255.0 <= 0.5)) { + rawData[currentIndex*4] = 255; + rawData[currentIndex*4+1] = 255; + rawData[currentIndex*4+2] = 255; + rawData[currentIndex*4+3] = 0; + continue; + } + /* + memcpy指的是c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。 + strcpy和memcpy主要有以下3方面的区别。 + 1、复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。 + 2、复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。 + 3、用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy + */ + if (i % sizeLevel == 0) { + if (j % sizeLevel == 0) { + memcpy(pixels, bitMapData+4*currentIndex, 4); + }else{ + //将上一个像素点的值赋给第二个 + memcpy(bitMapData+4*currentIndex, pixels, 4); + } + }else{ + preCurrentIndex = (i-1)*imageW+j; + memcpy(bitMapData+4*currentIndex, bitMapData+4*preCurrentIndex, 4); + } + } + } + //获取图片数据集合 + NSUInteger size = imageW*imageH*4; + CGDataProviderRef providerRef = CGDataProviderCreateWithData(NULL, bitMapData, size, NULL); + //创建马赛克图片,根据变换过的bitMapData像素来创建图片 + CGImageRef mosaicImageRef = CGImageCreate(imageW, imageH, 8, 4*8, imageW*4, colorSpace, kCGBitmapByteOrderDefault, providerRef, NULL, NO, kCGRenderingIntentDefault);//Creates a bitmap image from data supplied by a data provider. + //创建输出马赛克图片 + CGContextRef outContextRef = CGBitmapContextCreate(bitMapData, imageW, imageH, 8, imageW*4, colorSpace, kCGImageAlphaPremultipliedLast); + //绘制图片 + CGContextDrawImage(outContextRef, CGRectMake(0, 0, imageW, imageH), mosaicImageRef); + + CGImageRef resultImageRef = CGBitmapContextCreateImage(contextRef); + UIImage *mosaicImage = [UIImage imageWithCGImage:resultImageRef]; + //释放内存 + CGImageRelease(resultImageRef); + CGImageRelease(mosaicImageRef); + CGColorSpaceRelease(colorSpace); + CGDataProviderRelease(providerRef); + CGContextRelease(outContextRef); + return mosaicImage; +} + + ++ (UIImage *)getFilterMosaicImageWith:(UIImage *)image{ + CIImage *ciImage = [[CIImage alloc] initWithImage:image]; + CIFilter *filter = [CIFilter filterWithName:@"CIPixellate"]; +// NSLog(@"%@",filter.attributes); + [filter setValue:ciImage forKey:kCIInputImageKey]; + [filter setDefaults]; + //导出图片 + CIImage *outPutImage = [filter valueForKey:kCIOutputImageKey]; + CIContext *context = [CIContext contextWithOptions:nil]; + CGImageRef cgImage = [context createCGImage:outPutImage fromRect:[outPutImage extent]]; + UIImage *showImage = [UIImage imageWithCGImage:cgImage]; + CGImageRelease(cgImage); + return showImage; +} + + +@end diff --git a/ZMJImageEditor/Classes/Mosica/XScratchView.h b/ZMJImageEditor/Classes/Mosica/XScratchView.h new file mode 100755 index 0000000..c9d8e9c --- /dev/null +++ b/ZMJImageEditor/Classes/Mosica/XScratchView.h @@ -0,0 +1,20 @@ +// +// ScratchCardView.h +// RGBTool +// +// Created by admin on 23/08/2017. +// Copyright © 2017 gcg. All rights reserved. +// + +#import + +@interface XScratchView : UIView + +/** masoicImage(放在底层) */ +@property (nonatomic, strong) UIImage *mosaicImage; +/** surfaceImage(放在顶层) */ +@property (nonatomic, strong) UIImage *surfaceImage; +/** 恢复 */ +- (void)recover; + +@end diff --git a/ZMJImageEditor/Classes/Mosica/XScratchView.m b/ZMJImageEditor/Classes/Mosica/XScratchView.m new file mode 100755 index 0000000..678d958 --- /dev/null +++ b/ZMJImageEditor/Classes/Mosica/XScratchView.m @@ -0,0 +1,93 @@ +// +// ScratchCardView.m +// RGBTool +// +// Created by admin on 23/08/2017. +// Copyright © 2017 gcg. All rights reserved. +// + +#import "XScratchView.h" + +@interface XScratchView () + +/** <##> */ +@property (nonatomic, strong) UIImageView *surfaceImageView; +/** <##> */ +@property (nonatomic, strong) CALayer *imageLayer; +/** <##> */ +@property (nonatomic, strong) CAShapeLayer *shapeLayer; +/** 手指的涂抹路径 */ +@property (nonatomic, assign) CGMutablePathRef path; + +@end + +@implementation XScratchView + +- (instancetype)initWithFrame:(CGRect)frame{ + if (self = [super initWithFrame:frame]) { + self.surfaceImageView = [[UIImageView alloc] initWithFrame:self.bounds]; + [self addSubview:self.surfaceImageView]; + + self.imageLayer = [CALayer layer]; + self.imageLayer.frame = self.bounds; + [self.layer addSublayer:self.imageLayer]; + + self.shapeLayer = [CAShapeLayer layer]; + self.shapeLayer.frame = self.bounds; + self.shapeLayer.lineCap = kCALineCapRound; + self.shapeLayer.lineJoin = kCALineJoinRound; + self.shapeLayer.lineWidth = 20; + self.shapeLayer.strokeColor = [UIColor blueColor].CGColor; + self.shapeLayer.fillColor = nil;//此处必须设为nil,否则后边添加addLine的时候会自动填充 + + self.imageLayer.mask = self.shapeLayer; + self.path = CGPathCreateMutable(); + } + return self; +} + +- (void)setMosaicImage:(UIImage *)mosaicImage{ + _mosaicImage = mosaicImage; + self.imageLayer.contents = (id)mosaicImage.CGImage; +} + +- (void)setSurfaceImage:(UIImage *)surfaceImage{ + _surfaceImage = surfaceImage; + self.surfaceImageView.image = surfaceImage; +} + +- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ + [super touchesBegan:touches withEvent:event]; + UITouch *touch = [touches anyObject]; + CGPoint point = [touch locationInView:self]; + CGPathMoveToPoint(self.path, nil, point.x, point.y); + self.shapeLayer.path = self.path; + +} + +- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{ + [super touchesMoved:touches withEvent:event]; + UITouch *touch = [touches anyObject]; + CGPoint point = [touch locationInView:self]; + CGPathAddLineToPoint(self.path, nil, point.x, point.y); + self.shapeLayer.path = self.path; +} + +- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{ + [super touchesEnded:touches withEvent:event]; +} + +- (void)recover{ + CGPathRelease(self.path); + self.path = CGPathCreateMutable(); + self.shapeLayer.path = nil; +} + +- (void)dealloc{ + if (self.path) { + CGPathRelease(self.path); + } +} + + +@end diff --git a/ZMJImageEditor/Classes/TOCropViewController/Base.lproj/TOCropViewControllerLocalizable.strings b/ZMJImageEditor/Classes/TOCropViewController/Base.lproj/TOCropViewControllerLocalizable.strings new file mode 100755 index 0000000..fbf558b --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/Base.lproj/TOCropViewControllerLocalizable.strings @@ -0,0 +1,5 @@ +"Done" = "Done"; +"Cancel" = "Cancel"; +"Reset" = "Reset"; +"Original" = "Original"; +"Square" = "Square"; \ No newline at end of file diff --git a/ZMJImageEditor/Classes/TOCropViewController/Models/TOActivityCroppedImageProvider.h b/ZMJImageEditor/Classes/TOCropViewController/Models/TOActivityCroppedImageProvider.h new file mode 100755 index 0000000..4f43ba2 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/Models/TOActivityCroppedImageProvider.h @@ -0,0 +1,34 @@ +// +// TOActivityCroppedImageProvider.h +// +// Copyright 2015-2017 Timothy Oliver. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import + +@interface TOActivityCroppedImageProvider : UIActivityItemProvider + +@property (nonnull, nonatomic, readonly) UIImage *image; +@property (nonatomic, readonly) CGRect cropFrame; +@property (nonatomic, readonly) NSInteger angle; +@property (nonatomic, readonly) BOOL circular; + +- (nonnull instancetype)initWithImage:(nonnull UIImage *)image cropFrame:(CGRect)cropFrame angle:(NSInteger)angle circular:(BOOL)circular; + +@end diff --git a/ZMJImageEditor/Classes/TOCropViewController/Models/TOActivityCroppedImageProvider.m b/ZMJImageEditor/Classes/TOCropViewController/Models/TOActivityCroppedImageProvider.m new file mode 100755 index 0000000..4777b52 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/Models/TOActivityCroppedImageProvider.m @@ -0,0 +1,76 @@ +// +// TOActivityCroppedImageProvider.m +// +// Copyright 2015-2017 Timothy Oliver. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import "TOActivityCroppedImageProvider.h" +#import "UIImage+CropRotate.h" + +@interface TOActivityCroppedImageProvider () + +@property (nonatomic, strong, readwrite) UIImage *image; +@property (nonatomic, assign, readwrite) CGRect cropFrame; +@property (nonatomic, assign, readwrite) NSInteger angle; +@property (nonatomic, assign, readwrite) BOOL circular; + +@property (atomic, strong) UIImage *croppedImage; + +@end + +@implementation TOActivityCroppedImageProvider + +- (instancetype)initWithImage:(UIImage *)image cropFrame:(CGRect)cropFrame angle:(NSInteger)angle circular:(BOOL)circular +{ + if (self = [super initWithPlaceholderItem:[UIImage new]]) { + _image = image; + _cropFrame = cropFrame; + _angle = angle; + _circular = circular; + } + + return self; +} + +#pragma mark - UIActivity Protocols - +- (id)activityViewControllerPlaceholderItem:(UIActivityViewController *)activityViewController +{ + return [[UIImage alloc] init]; +} + +- (id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType +{ + return self.croppedImage; +} + +#pragma mark - Image Generation - +- (id)item +{ + //If the user didn't touch the image, just forward along the original + if (self.angle == 0 && CGRectEqualToRect(self.cropFrame, (CGRect){CGPointZero, self.image.size})) { + self.croppedImage = self.image; + return self.croppedImage; + } + + UIImage *image = [self.image croppedImageWithFrame:self.cropFrame angle:self.angle circularClip:self.circular]; + self.croppedImage = image; + return self.croppedImage; +} + +@end diff --git a/ZMJImageEditor/Classes/TOCropViewController/Models/TOCropViewControllerTransitioning.h b/ZMJImageEditor/Classes/TOCropViewController/Models/TOCropViewControllerTransitioning.h new file mode 100755 index 0000000..454d260 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/Models/TOCropViewControllerTransitioning.h @@ -0,0 +1,45 @@ +// +// TOCropViewControllerTransitioning.h +// +// Copyright 2015-2017 Timothy Oliver. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import +#import + +@interface TOCropViewControllerTransitioning : NSObject + +/* State Tracking */ +@property (nonatomic, assign) BOOL isDismissing; // Whether this animation is presenting or dismissing +@property (nullable, nonatomic, strong) UIImage *image; // The image that will be used in this animation + +/* Destination/Origin points */ +@property (nullable, nonatomic, strong) UIView *fromView; // The origin view who's frame the image will be animated from +@property (nullable, nonatomic, strong) UIView *toView; // The destination view who's frame the image will animate to + +@property (nonatomic, assign) CGRect fromFrame; // An origin frame that the image will be animated from +@property (nonatomic, assign) CGRect toFrame; // A destination frame the image will aniamte to + +/* A block called just before the transition to perform any last-second UI configuration */ +@property (nullable, nonatomic, copy) void (^prepareForTransitionHandler)(void); + +/* Empties all of the properties in this object */ +- (void)reset; + +@end diff --git a/ZMJImageEditor/Classes/TOCropViewController/Models/TOCropViewControllerTransitioning.m b/ZMJImageEditor/Classes/TOCropViewController/Models/TOCropViewControllerTransitioning.m new file mode 100755 index 0000000..2b61b42 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/Models/TOCropViewControllerTransitioning.m @@ -0,0 +1,112 @@ +// +// TOCropViewControllerTransitioning.m +// +// Copyright 2015-2017 Timothy Oliver. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import "TOCropViewControllerTransitioning.h" +#import + +@implementation TOCropViewControllerTransitioning + +- (NSTimeInterval)transitionDuration:(id )transitionContext +{ + return 0.45f; +} + +- (void)animateTransition:(id )transitionContext +{ + // Get the master view where the animation takes place + UIView *containerView = [transitionContext containerView]; + + // Get the origin/destination view controllers + UIViewController *fromViewController = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey]; + UIViewController *toViewController = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey]; + + // Work out which one is the crop view controller + UIViewController *cropViewController = (self.isDismissing == NO) ? toViewController : fromViewController; + UIViewController *previousController = (self.isDismissing == NO) ? fromViewController : toViewController; + + // Just in case, match up the frame sizes + cropViewController.view.frame = containerView.bounds; + if (self.isDismissing) { + previousController.view.frame = containerView.bounds; + } + + // Add the view layers beforehand as this will trigger the initial sets of layouts + if (self.isDismissing == NO) { + [containerView addSubview:cropViewController.view]; + } + else { + [containerView insertSubview:previousController.view belowSubview:cropViewController.view]; + } + + // Perform any last UI updates now so we can potentially factor them into our calculations, but after + // the container views have been set up + if (self.prepareForTransitionHandler) + self.prepareForTransitionHandler(); + + // If origin/destination views were supplied, use them to supplant the + // frames + if (!self.isDismissing && self.fromView) { + self.fromFrame = [self.fromView.superview convertRect:self.fromView.frame toView:containerView]; + } + else if (self.isDismissing && self.toView) { + self.toFrame = [self.toView.superview convertRect:self.toView.frame toView:containerView]; + } + + UIImageView *imageView = nil; + if ((self.isDismissing && !CGRectIsEmpty(self.toFrame)) || (!self.isDismissing && !CGRectIsEmpty(self.fromFrame))) { + imageView = [[UIImageView alloc] initWithImage:self.image]; + imageView.frame = self.fromFrame; + [containerView addSubview:imageView]; + } + + cropViewController.view.alpha = (self.isDismissing ? 1.0f : 0.0f); + if (imageView) { + [UIView animateWithDuration:[self transitionDuration:transitionContext] delay:0.0f usingSpringWithDamping:1.0f initialSpringVelocity:0.7f options:0 animations:^{ + imageView.frame = self.toFrame; + } completion:^(BOOL complete) { + [UIView animateWithDuration:0.1f animations:^{ + imageView.alpha = 0.0f; + }completion:^(BOOL complete) { + [imageView removeFromSuperview]; + }]; + }]; + } + + [UIView animateWithDuration:[self transitionDuration:transitionContext] animations:^{ + cropViewController.view.alpha = (self.isDismissing ? 0.0f : 1.0f); + } completion:^(BOOL complete) { + [self reset]; + [transitionContext completeTransition:![transitionContext transitionWasCancelled]]; + }]; +} + +- (void)reset +{ + self.image = nil; + self.toView = nil; + self.fromView = nil; + self.fromFrame = CGRectZero; + self.toFrame = CGRectZero; + self.prepareForTransitionHandler = nil; +} + +@end diff --git a/ZMJImageEditor/Classes/TOCropViewController/Models/TOCroppedImageAttributes.h b/ZMJImageEditor/Classes/TOCropViewController/Models/TOCroppedImageAttributes.h new file mode 100755 index 0000000..f9053b9 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/Models/TOCroppedImageAttributes.h @@ -0,0 +1,34 @@ +// +// TOCroppedImageAttributes.h +// +// Copyright 2015-2017 Timothy Oliver. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import +#import + +@interface TOCroppedImageAttributes : NSObject + +@property (nonatomic, readonly) NSInteger angle; +@property (nonatomic, readonly) CGRect croppedFrame; +@property (nonatomic, readonly) CGSize originalImageSize; + +- (instancetype)initWithCroppedFrame:(CGRect)croppedFrame angle:(NSInteger)angle originalImageSize:(CGSize)originalSize; + +@end diff --git a/ZMJImageEditor/Classes/TOCropViewController/Models/TOCroppedImageAttributes.m b/ZMJImageEditor/Classes/TOCropViewController/Models/TOCroppedImageAttributes.m new file mode 100755 index 0000000..e9b24c4 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/Models/TOCroppedImageAttributes.m @@ -0,0 +1,46 @@ +// +// TOCroppedImageAttributes.m +// +// Copyright 2015-2017 Timothy Oliver. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import "TOCroppedImageAttributes.h" + +@interface TOCroppedImageAttributes () + +@property (nonatomic, assign, readwrite) NSInteger angle; +@property (nonatomic, assign, readwrite) CGRect croppedFrame; +@property (nonatomic, assign, readwrite) CGSize originalImageSize; + +@end + +@implementation TOCroppedImageAttributes + +- (instancetype)initWithCroppedFrame:(CGRect)croppedFrame angle:(NSInteger)angle originalImageSize:(CGSize)originalSize +{ + if (self = [super init]) { + _angle = angle; + _croppedFrame = croppedFrame; + _originalImageSize = originalSize; + } + + return self; +} + +@end diff --git a/ZMJImageEditor/Classes/TOCropViewController/Models/UIImage+CropRotate.h b/ZMJImageEditor/Classes/TOCropViewController/Models/UIImage+CropRotate.h new file mode 100755 index 0000000..4a04aa6 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/Models/UIImage+CropRotate.h @@ -0,0 +1,32 @@ +// +// UIImage+CropRotate.h +// +// Copyright 2015-2017 Timothy Oliver. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import + +@interface UIImage (CropRotate) +- (nonnull UIImage *)imageRotatedByRadians:(CGFloat)radians; +//不保持图片缩放比 +- (nonnull UIImage *)imageByScalingToSize:(CGSize)targetSize; + +- (nonnull UIImage *)croppedImageWithFrame:(CGRect)frame angle:(NSInteger)angle circularClip:(BOOL)circular; + +@end diff --git a/ZMJImageEditor/Classes/TOCropViewController/Models/UIImage+CropRotate.m b/ZMJImageEditor/Classes/TOCropViewController/Models/UIImage+CropRotate.m new file mode 100755 index 0000000..37622e9 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/Models/UIImage+CropRotate.m @@ -0,0 +1,118 @@ +// +// UIImage+CropRotate.m +// +// Copyright 2015-2017 Timothy Oliver. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import "UIImage+CropRotate.h" + +@implementation UIImage (CropRotate) +//不保持图片缩放比 +- (UIImage *)imageByScalingToSize:(CGSize)targetSize { + + //开始绘图 + UIGraphicsBeginImageContext(targetSize); + //定义图片缩放后的区域,无需保持纵横比,所以直接缩放 + CGRect anchorRect = CGRectZero; + anchorRect.origin = CGPointZero; + anchorRect.size = targetSize; + [self drawInRect:anchorRect]; + //获取绘制后生成的新图片 + UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + return newImage; + +} + +//图片旋转角度 +- (UIImage *)imageRotatedByRadians:(CGFloat)radians { + + //定义一个执行旋转的CGAffineTransform结构体 + CGAffineTransform t = CGAffineTransformMakeRotation(radians); + //对图片的原始区域执行旋转,获取旋转后的区域 + CGRect rotateRect = CGRectApplyAffineTransform(CGRectMake(0, 0, self.size.width, self.size.height), t); + //获取图片旋转后的大小 + CGSize rotatedSize = rotateRect.size; + //创建绘制位图的上下文 + UIGraphicsBeginImageContextWithOptions(rotatedSize, NO, [UIScreen mainScreen].scale); + CGContextRef ctx = UIGraphicsGetCurrentContext(); + //指定坐标变换,将坐标中心平移到图片中心 + CGContextTranslateCTM(ctx, rotatedSize.width/2.0, rotatedSize.height/2.0); + //执行坐标变换,旋转过radians弧度 + CGContextRotateCTM(ctx, radians); + CALayer *layer = [CALayer layer]; + + //执行坐标变换,执行缩放 + CGContextScaleCTM(ctx, 1.0, -1.0); + //绘制图片 + CGContextDrawImage(ctx, CGRectMake(-self.size.width/2.0, -self.size.height/2.0, self.size.width, self.size.height), self.CGImage); + //获取绘制后生成的新图片 + UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + return newImage; + +} + +- (BOOL)hasAlpha +{ + CGImageAlphaInfo alphaInfo = CGImageGetAlphaInfo(self.CGImage); + return (alphaInfo == kCGImageAlphaFirst || alphaInfo == kCGImageAlphaLast || + alphaInfo == kCGImageAlphaPremultipliedFirst || alphaInfo == kCGImageAlphaPremultipliedLast); +} + +- (UIImage *)croppedImageWithFrame:(CGRect)frame angle:(NSInteger)angle circularClip:(BOOL)circular +{ + UIImage *croppedImage = nil; + UIGraphicsBeginImageContextWithOptions(frame.size, ![self hasAlpha] && !circular, self.scale); + { + CGContextRef context = UIGraphicsGetCurrentContext(); + + if (circular) { + CGContextAddEllipseInRect(context, (CGRect){CGPointZero, frame.size}); + CGContextClip(context); + } + + //To conserve memory in not needing to completely re-render the image re-rotated, + //map the image to a view and then use Core Animation to manipulate its rotation + if (angle != 0) { + UIImageView *imageView = [[UIImageView alloc] initWithImage:self]; + imageView.layer.minificationFilter = kCAFilterNearest; + imageView.layer.magnificationFilter = kCAFilterNearest; + imageView.transform = CGAffineTransformRotate(CGAffineTransformIdentity, angle * (M_PI/180.0f)); + CGRect rotatedRect = CGRectApplyAffineTransform(imageView.bounds, imageView.transform); + UIView *containerView = [[UIView alloc] initWithFrame:(CGRect){CGPointZero, rotatedRect.size}]; + [containerView addSubview:imageView]; + imageView.center = containerView.center; + CGContextTranslateCTM(context, -frame.origin.x, -frame.origin.y); + [containerView.layer renderInContext:context]; + } + else { + CGContextTranslateCTM(context, -frame.origin.x, -frame.origin.y); + [self drawAtPoint:CGPointZero]; + } + + croppedImage = UIGraphicsGetImageFromCurrentImageContext(); + } + UIGraphicsEndImageContext(); + + return [UIImage imageWithCGImage:croppedImage.CGImage scale:[UIScreen mainScreen].scale orientation:UIImageOrientationUp]; +} + + +@end diff --git a/ZMJImageEditor/Classes/TOCropViewController/TOCropViewController-Bridging-Header.h b/ZMJImageEditor/Classes/TOCropViewController/TOCropViewController-Bridging-Header.h new file mode 100755 index 0000000..6094a38 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/TOCropViewController-Bridging-Header.h @@ -0,0 +1,26 @@ +// +// TOCropViewController-Bridging-Header.h +// +// Copyright 2015-2017 Timothy Oliver. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import "TOCropViewController.h" +#import "TOCropView.h" +#import "TOCropToolbar.h" +#import "TOCropOverlayView.h" diff --git a/ZMJImageEditor/Classes/TOCropViewController/TOCropViewController.h b/ZMJImageEditor/Classes/TOCropViewController/TOCropViewController.h new file mode 100755 index 0000000..66d6f35 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/TOCropViewController.h @@ -0,0 +1,340 @@ +// +// TOCropViewController.h +// +// Copyright 2015-2017 Timothy Oliver. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import + +#import "TOCropView.h" +#import "TOCropToolbar.h" + +typedef NS_ENUM(NSInteger, TOCropViewControllerAspectRatioPreset) { + TOCropViewControllerAspectRatioPresetOriginal, + TOCropViewControllerAspectRatioPresetSquare, + TOCropViewControllerAspectRatioPreset3x2, + TOCropViewControllerAspectRatioPreset5x3, + TOCropViewControllerAspectRatioPreset4x3, + TOCropViewControllerAspectRatioPreset5x4, + TOCropViewControllerAspectRatioPreset7x5, + TOCropViewControllerAspectRatioPreset16x9, + TOCropViewControllerAspectRatioPresetCustom +}; + +typedef NS_ENUM(NSInteger, TOCropViewControllerToolbarPosition) { + TOCropViewControllerToolbarPositionTop, + TOCropViewControllerToolbarPositionBottom +}; + +@class TOCropViewController; + + +///------------------------------------------------ +/// @name Delegate +///------------------------------------------------ + +@protocol TOCropViewControllerDelegate +@optional + +/** + Called when the user has committed the crop action, and provides + just the cropping rectangle. + + @param cropRect A rectangle indicating the crop region of the image the user chose (In the original image's local co-ordinate space) + @param angle The angle of the image when it was cropped + */ +- (void)cropViewController:(nonnull TOCropViewController *)cropViewController didCropImageToRect:(CGRect)cropRect angle:(NSInteger)angle NS_SWIFT_NAME(cropViewController(_:didCropToRect:angle:)); + +/** + Called when the user has committed the crop action, and provides + both the original image with crop co-ordinates. + + @param image The newly cropped image. + @param cropRect A rectangle indicating the crop region of the image the user chose (In the original image's local co-ordinate space) + @param angle The angle of the image when it was cropped + */ +- (void)cropViewController:(nonnull TOCropViewController *)cropViewController didCropToImage:(nonnull UIImage *)image withRect:(CGRect)cropRect angle:(NSInteger)angle NS_SWIFT_NAME(cropViewController(_:didCropToImage:rect:angle:)); + +/** + If the cropping style is set to circular, implementing this delegate will return a circle-cropped version of the selected + image, as well as it's cropping co-ordinates + + @param image The newly cropped image, clipped to a circle shape + @param cropRect A rectangle indicating the crop region of the image the user chose (In the original image's local co-ordinate space) + @param angle The angle of the image when it was cropped + */ +- (void)cropViewController:(nonnull TOCropViewController *)cropViewController didCropToCircularImage:(nonnull UIImage *)image withRect:(CGRect)cropRect angle:(NSInteger)angle NS_SWIFT_NAME(cropViewController(_:didCropToCircleImage:rect:angle:)); + +/** + If implemented, when the user hits cancel, or completes a + UIActivityViewController operation, this delegate will be called, + giving you a chance to manually dismiss the view controller + + */ +- (void)cropViewController:(nonnull TOCropViewController *)cropViewController didFinishCancelled:(BOOL)cancelled NS_SWIFT_NAME(cropViewController(_:didFinishCancelled:)); + +@end + +@interface TOCropViewController : UIViewController + +/** + The original, uncropped image that was passed to this controller. + */ +@property (nonnull, nonatomic, readonly) UIImage *image; + +/** + The view controller's delegate that will return the resulting + cropped image, as well as crop information + */ +@property (nullable, nonatomic, weak) id delegate; + +/** + If true, when the user hits 'Done', a UIActivityController will appear + before the view controller ends. + */ +@property (nonatomic, assign) BOOL showActivitySheetOnDone; + +/** + The crop view managed by this view controller. + */ +@property (nonnull, nonatomic, strong, readonly) TOCropView *cropView; + +/** + In the coordinate space of the image itself, the region that is currently + being highlighted by the crop box. + + This property can be set before the controller is presented to have + the image 'restored' to a previous cropping layout. + */ +@property (nonatomic, assign) CGRect imageCropFrame; + +/** + The angle in which the image is rotated in the crop view. + This can only be in 90 degree increments (eg, 0, 90, 180, 270). + + This property can be set before the controller is presented to have + the image 'restored' to a previous cropping layout. + */ +@property (nonatomic, assign) NSInteger angle; + +/** + The toolbar view managed by this view controller. + */ +@property (nonnull, nonatomic, strong, readonly) TOCropToolbar *toolbar; + +/** + The cropping style of this particular crop view controller + */ +@property (nonatomic, readonly) TOCropViewCroppingStyle croppingStyle; + +/** + A choice from one of the pre-defined aspect ratio presets + */ +@property (nonatomic, assign) TOCropViewControllerAspectRatioPreset aspectRatioPreset; + +/** + A CGSize value representing a custom aspect ratio, not listed in the presets. + E.g. A ratio of 4:3 would be represented as (CGSize){4.0f, 3.0f} + */ +@property (nonatomic, assign) CGSize customAspectRatio; + +/** + If true, while it can still be resized, the crop box will be locked to its current aspect ratio. + + If this is set to YES, and `resetAspectRatioEnabled` is set to NO, then the aspect ratio + button will automatically be hidden from the toolbar. + + Default is NO. + */ +@property (nonatomic, assign) BOOL aspectRatioLockEnabled; + +/** + If true, tapping the reset button will also reset the aspect ratio back to the image + default ratio. Otherwise, the reset will just zoom out to the current aspect ratio. + + If this is set to NO, and `aspectRatioLockEnabled` is set to YES, then the aspect ratio + button will automatically be hidden from the toolbar. + + Default is YES + */ +@property (nonatomic, assign) BOOL resetAspectRatioEnabled; + +/** + The position of the Toolbar the default value is `TOCropViewControllerToolbarPositionBottom`. + */ +@property (nonatomic, assign) TOCropViewControllerToolbarPosition toolbarPosition; + +/** + When disabled, an additional rotation button that rotates the canvas in + 90-degree segments in a clockwise direction is shown in the toolbar. + + Default is YES. + */ +@property (nonatomic, assign) BOOL rotateClockwiseButtonHidden; + +/** + When enabled, hides the rotation button, as well as the alternative rotation + button visible when `showClockwiseRotationButton` is set to YES. + + Default is NO. + */ +@property (nonatomic, assign) BOOL rotateButtonsHidden; + +/** + When enabled, hides the 'Aspect Ratio Picker' button on the toolbar. + + Default is NO. + */ +@property (nonatomic, assign) BOOL aspectRatioPickerButtonHidden; + +/** + If `showActivitySheetOnDone` is true, then these activity items will + be supplied to that UIActivityViewController in addition to the + `TOActivityCroppedImageProvider` object. + */ +@property (nullable, nonatomic, strong) NSArray *activityItems; + +/** + If `showActivitySheetOnDone` is true, then you may specify any + custom activities your app implements in this array. If your activity requires + access to the cropping information, it can be accessed in the supplied + `TOActivityCroppedImageProvider` object + */ +@property (nullable, nonatomic, strong) NSArray *applicationActivities; + +/** + If `showActivitySheetOnDone` is true, then you may expliclty + set activities that won't appear in the share sheet here. + */ +@property (nullable, nonatomic, strong) NSArray *excludedActivityTypes; + + + +///------------------------------------------------ +/// @name Object Creation +///------------------------------------------------ + +/** + Creates a new instance of a crop view controller with the supplied image + + @param image The image that will be used to crop. + */ +- (nonnull instancetype)initWithImage:(nonnull UIImage *)image NS_SWIFT_NAME(init(image:)); + +/** + Creates a new instance of a crop view controller with the supplied image and cropping style + + @param style The cropping style that will be used with this view controller (eg, rectangular, or circular) + @param image The image that will be cropped + */ +- (nonnull instancetype)initWithCroppingStyle:(TOCropViewCroppingStyle)style image:(nonnull UIImage *)image NS_SWIFT_NAME(init(croppingStyle:image:)); + +/** + Resets object of TOCropViewController class as if user pressed reset button in the bottom bar themself + */ +- (void)resetCropViewLayout; + +/** + Set the aspect ratio to be one of the available preset options. These presets have specific behaviour + such as swapping their dimensions depending on portrait or landscape sized images. + + @param aspectRatioPreset The aspect ratio preset + @param animated Whether the transition to the aspect ratio is animated + */ +- (void)setAspectRatioPreset:(TOCropViewControllerAspectRatioPreset)aspectRatioPreset animated:(BOOL)animated NS_SWIFT_NAME(setAspectRatioPresent(_:animated:)); + +/** + Play a custom animation of the target image zooming to its position in + the crop controller while the background fades in. + + @param viewController The parent controller that this view controller would be presenting from. + @param fromView A view that's frame will be used as the origin for this animation. Optional if `fromFrame` has a value. + @param fromFrame In the screen's coordinate space, the frame from which the image should animate from. Optional if `fromView` has a value. + @param setup A block that is called just before the transition starts. Recommended for hiding any necessary image views. + @param completion A block that is called once the transition animation is completed. + */ +- (void)presentAnimatedFromParentViewController:(nonnull UIViewController *)viewController + fromView:(nullable UIView *)fromView + fromFrame:(CGRect)fromFrame + setup:(nullable void (^)(void))setup + completion:(nullable void (^)(void))completion NS_SWIFT_NAME(presentAnimated(from:view:frame:setup:completion:)); + +/** + Play a custom animation of the target image zooming to its position in + the crop controller while the background fades in. Additionally, if you're + 'restoring' to a previous crop setup, this method lets you provide a previously + cropped copy of the image, and the previous crop settings to transition back to + where the user would have left off. + + @param viewController The parent controller that this view controller would be presenting from. + @param image The previously cropped image that can be used in the transition animation. + @param fromView A view that's frame will be used as the origin for this animation. Optional if `fromFrame` has a value. + @param fromFrame In the screen's coordinate space, the frame from which the image should animate from. + @param angle The rotation angle in which the image was rotated when it was originally cropped. + @param toFrame In the image's coordinate space, the previous crop frame that created the previous crop + @param setup A block that is called just before the transition starts. Recommended for hiding any necessary image views. + @param completion A block that is called once the transition animation is completed. + */ +- (void)presentAnimatedFromParentViewController:(nonnull UIViewController *)viewController + fromImage:(nullable UIImage *)image + fromView:(nullable UIView *)fromView + fromFrame:(CGRect)fromFrame + angle:(NSInteger)angle + toImageFrame:(CGRect)toFrame + setup:(nullable void (^)(void))setup + completion:(nullable void (^)(void))completion NS_SWIFT_NAME(presentAnimated(from:fromImage:fromView:fromFrame:angle:toFrame:setup:completion:)); + +/** + Play a custom animation of the supplied cropped image zooming out from + the cropped frame to the specified frame as the rest of the content fades out. + If any view configurations need to be done before the animation starts, + + @param viewController The parent controller that this view controller would be presenting from. + @param toView A view who's frame will be used to establish the destination frame + @param frame The target frame that the image will animate to + @param setup A block that is called just before the transition starts. Recommended for hiding any necessary image views. + @param completion A block that is called once the transition animation is completed. + */ +- (void)dismissAnimatedFromParentViewController:(nonnull UIViewController *)viewController + toView:(nullable UIView *)toView + toFrame:(CGRect)frame + setup:(nullable void (^)(void))setup + completion:(nullable void (^)(void))completion NS_SWIFT_NAME(dismissAnimated(from:toView:toFrame:setup:completion:)); + +/** + Play a custom animation of the supplied cropped image zooming out from + the cropped frame to the specified frame as the rest of the content fades out. + If any view configurations need to be done before the animation starts, + + @param viewController The parent controller that this view controller would be presenting from. + @param image The resulting 'cropped' image. If supplied, will animate out of the crop box zone. If nil, the default image will entirely zoom out + @param toView A view who's frame will be used to establish the destination frame + @param frame The target frame that the image will animate to + @param setup A block that is called just before the transition starts. Recommended for hiding any necessary image views. + @param completion A block that is called once the transition animation is completed. + */ +- (void)dismissAnimatedFromParentViewController:(nonnull UIViewController *)viewController + withCroppedImage:(nullable UIImage *)image + toView:(nullable UIView *)toView + toFrame:(CGRect)frame + setup:(nullable void (^)(void))setup + completion:(nullable void (^)(void))completion NS_SWIFT_NAME(dismissAnimated(from:croppedImage:toView:toFrame:setup:completion:)); + +@end + diff --git a/ZMJImageEditor/Classes/TOCropViewController/TOCropViewController.m b/ZMJImageEditor/Classes/TOCropViewController/TOCropViewController.m new file mode 100755 index 0000000..239e24f --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/TOCropViewController.m @@ -0,0 +1,927 @@ +// +// TOCropViewController.h +// +// Copyright 2015-2017 Timothy Oliver. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import "TOCropViewController.h" +#import "TOCropViewControllerTransitioning.h" +#import "TOActivityCroppedImageProvider.h" +#import "UIImage+CropRotate.h" +#import "TOCroppedImageAttributes.h" + +@interface TOCropViewController () + +/* The target image */ +@property (nonatomic, readwrite) UIImage *image; + +/* The cropping style of the crop view */ +@property (nonatomic, assign, readwrite) TOCropViewCroppingStyle croppingStyle; + +/* Views */ +@property (nonatomic, strong) TOCropToolbar *toolbar; +@property (nonatomic, strong, readwrite) TOCropView *cropView; +@property (nonatomic, strong) UIView *toolbarSnapshotView; + +/* Transition animation controller */ +@property (nonatomic, copy) void (^prepareForTransitionHandler)(void); +@property (nonatomic, strong) TOCropViewControllerTransitioning *transitionController; +@property (nonatomic, assign) BOOL inTransition; +@property (nonatomic, assign) BOOL initialLayout; + +/* If pushed from a navigation controller, the visibility of that controller's bars. */ +@property (nonatomic, assign) BOOL navigationBarHidden; +@property (nonatomic, assign) BOOL toolbarHidden; + +/* On iOS 7, the popover view controller that appears when tapping 'Done' */ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" +@property (nonatomic, strong) UIPopoverController *activityPopoverController; +#pragma clang diagnostic pop + +/* Button callback */ +- (void)cancelButtonTapped; +- (void)doneButtonTapped; +- (void)showAspectRatioDialog; +- (void)resetCropViewLayout; +- (void)rotateCropViewClockwise; +- (void)rotateCropViewCounterclockwise; + +/* View layout */ +- (CGRect)frameForToolBarWithVerticalLayout:(BOOL)verticalLayout; +- (CGRect)frameForCropViewWithVerticalLayout:(BOOL)verticalLayout; + +@end + +@implementation TOCropViewController + +- (instancetype)initWithCroppingStyle:(TOCropViewCroppingStyle)style image:(UIImage *)image +{ + NSParameterAssert(image); + + self = [super init]; + if (self) { + self.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; + self.modalPresentationStyle = UIModalPresentationFullScreen; + self.automaticallyAdjustsScrollViewInsets = NO; + + _transitionController = [[TOCropViewControllerTransitioning alloc] init]; + _image = image; + _croppingStyle = style; + + _aspectRatioPreset = TOCropViewControllerAspectRatioPresetOriginal; + _toolbarPosition = TOCropViewControllerToolbarPositionBottom; + _rotateClockwiseButtonHidden = YES; + } + + return self; +} + +- (instancetype)initWithImage:(UIImage *)image +{ + return [self initWithCroppingStyle:TOCropViewCroppingStyleDefault image:image]; +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; + + BOOL circularMode = (self.croppingStyle == TOCropViewCroppingStyleCircular); + + self.cropView.frame = [self frameForCropViewWithVerticalLayout:CGRectGetWidth(self.view.bounds) < CGRectGetHeight(self.view.bounds)]; + [self.view addSubview:self.cropView]; + + self.toolbar.frame = [self frameForToolBarWithVerticalLayout:CGRectGetWidth(self.view.bounds) < CGRectGetHeight(self.view.bounds)]; + [self.view addSubview:self.toolbar]; + + __weak typeof(self) weakSelf = self; + self.toolbar.doneButtonTapped = ^{ [weakSelf doneButtonTapped]; }; + self.toolbar.cancelButtonTapped = ^{ [weakSelf cancelButtonTapped]; }; + + self.toolbar.resetButtonTapped = ^{ [weakSelf resetCropViewLayout]; }; + self.toolbar.clampButtonTapped = ^{ [weakSelf showAspectRatioDialog]; }; + + self.toolbar.rotateCounterclockwiseButtonTapped = ^{ [weakSelf rotateCropViewCounterclockwise]; }; + self.toolbar.rotateClockwiseButtonTapped = ^{ [weakSelf rotateCropViewClockwise]; }; + + self.toolbar.clampButtonHidden = self.aspectRatioPickerButtonHidden || circularMode; + self.toolbar.rotateClockwiseButtonHidden = self.rotateClockwiseButtonHidden && !circularMode; + + self.transitioningDelegate = self; + self.view.backgroundColor = self.cropView.backgroundColor; +} + +- (void)viewWillAppear:(BOOL)animated +{ + [super viewWillAppear:animated]; + [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO]; + + if (animated) { + self.inTransition = YES; + [self setNeedsStatusBarAppearanceUpdate]; + } + + if (self.navigationController) { + self.navigationBarHidden = self.navigationController.navigationBarHidden; + self.toolbarHidden = self.navigationController.toolbarHidden; + + [self.navigationController setNavigationBarHidden:YES animated:animated]; + [self.navigationController setToolbarHidden:YES animated:animated]; + + self.modalTransitionStyle = UIModalTransitionStyleCoverVertical; + } + else { + [self.cropView setBackgroundImageViewHidden:YES animated:NO]; + } + + if (self.aspectRatioPreset != TOCropViewControllerAspectRatioPresetOriginal) { + [self setAspectRatioPreset:self.aspectRatioPreset animated:NO]; + } +} + +- (void)viewDidAppear:(BOOL)animated +{ + [super viewDidAppear:animated]; + self.inTransition = NO; + self.cropView.simpleRenderMode = NO; + if (animated && [UIApplication sharedApplication].statusBarHidden == NO) { + [UIView animateWithDuration:0.3f animations:^{ [self setNeedsStatusBarAppearanceUpdate]; }]; + + if (self.cropView.gridOverlayHidden) { + [self.cropView setGridOverlayHidden:NO animated:YES]; + } + + if (self.navigationController == nil) { + [self.cropView setBackgroundImageViewHidden:NO animated:YES]; + } + } +} + +- (void)viewWillDisappear:(BOOL)animated +{ + [super viewWillDisappear:animated]; + self.inTransition = YES; + [UIView animateWithDuration:0.5f animations:^{ [self setNeedsStatusBarAppearanceUpdate]; }]; + + if (self.navigationController) { + [self.navigationController setNavigationBarHidden:self.navigationBarHidden animated:animated]; + [self.navigationController setToolbarHidden:self.toolbarHidden animated:animated]; + } +} + +- (void)viewDidDisappear:(BOOL)animated +{ + [super viewDidDisappear:animated]; + self.inTransition = NO; + [self setNeedsStatusBarAppearanceUpdate]; +} + +#pragma mark - Status Bar - +- (UIStatusBarStyle)preferredStatusBarStyle +{ + if (self.navigationController) { + return UIStatusBarStyleLightContent; + } + + return UIStatusBarStyleDefault; +} + +- (BOOL)prefersStatusBarHidden +{ + //If we belong to a UINavigationController, defer to its own status bar style + if (self.navigationController) { + return self.navigationController.prefersStatusBarHidden; + } + + //If our presenting controller has already hidden the status bar, + //hide the status bar by default + if (self.presentingViewController.prefersStatusBarHidden) { + return YES; + } + + BOOL hidden = YES; + hidden = hidden && !(self.inTransition); // Not currently in a presentation animation (Where removing the status bar would break the layout) + hidden = hidden && !(self.view.superview == nil); // Not currently waiting to the added to a super view + + return hidden; +} + +- (CGRect)frameForToolBarWithVerticalLayout:(BOOL)verticalLayout +{ + CGRect frame = CGRectZero; + if (!verticalLayout) { + frame.origin.x = 0.0f; + frame.origin.y = 0.0f; + frame.size.width = 44.0f; + frame.size.height = CGRectGetHeight(self.view.frame); + } + else { + frame.origin.x = 0.0f; + + if (self.toolbarPosition == TOCropViewControllerToolbarPositionBottom) { + frame.origin.y = CGRectGetHeight(self.view.bounds) - 44.0f; + } else { + frame.origin.y = 0; + } + + frame.size.width = CGRectGetWidth(self.view.bounds); + frame.size.height = 44.0f; + + // If the bar is at the top of the screen and the status bar is visible, account for the status bar height + if (self.toolbarPosition == TOCropViewControllerToolbarPositionTop && self.prefersStatusBarHidden == NO) { + frame.size.height = 64.0f; + } + } + + return frame; +} + +- (CGRect)frameForCropViewWithVerticalLayout:(BOOL)verticalLayout +{ + //On an iPad, if being presented in a modal view controller by a UINavigationController, + //at the time we need it, the size of our view will be incorrect. + //If this is the case, derive our view size from our parent view controller instead + + CGRect bounds = CGRectZero; + if (self.parentViewController == nil) { + bounds = self.view.bounds; + } + else { + bounds = self.parentViewController.view.bounds; + } + + CGRect frame = CGRectZero; + if (!verticalLayout) { + frame.origin.x = 44.0f; + frame.origin.y = 0.0f; + frame.size.width = CGRectGetWidth(bounds) - 44.0f; + frame.size.height = CGRectGetHeight(bounds); + } + else { + frame.origin.x = 0.0f; + + if (_toolbarPosition == TOCropViewControllerToolbarPositionBottom) { + frame.origin.y = 0.0f; + } else { + frame.origin.y = 44.0f; + } + + frame.size.width = CGRectGetWidth(bounds); + frame.size.height = CGRectGetHeight(bounds) - 44.0f; + } + + return frame; +} + +- (void)viewDidLayoutSubviews +{ + [super viewDidLayoutSubviews]; + + BOOL verticalLayout = CGRectGetWidth(self.view.bounds) < CGRectGetHeight(self.view.bounds); + self.cropView.frame = [self frameForCropViewWithVerticalLayout:verticalLayout]; + [self.cropView moveCroppedContentToCenterAnimated:NO]; + + [UIView performWithoutAnimation:^{ + self.toolbar.statusBarVisible = (self.toolbarPosition == TOCropViewControllerToolbarPositionTop && !self.prefersStatusBarHidden); + self.toolbar.frame = [self frameForToolBarWithVerticalLayout:verticalLayout]; + [self.toolbar setNeedsLayout]; + }]; +} + +#pragma mark - Rotation Handling - + +//TODO: Deprecate iOS 7 properly at the right time +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" +- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration +{ + self.toolbarSnapshotView = [self.toolbar snapshotViewAfterScreenUpdates:NO]; + self.toolbarSnapshotView.frame = self.toolbar.frame; + + if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation)) + self.toolbarSnapshotView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin; + else + self.toolbarSnapshotView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleRightMargin; + + [self.view addSubview:self.toolbarSnapshotView]; + + [UIView performWithoutAnimation:^{ + self.toolbar.frame = [self frameForToolBarWithVerticalLayout:UIInterfaceOrientationIsPortrait(toInterfaceOrientation)]; + [self.toolbar layoutIfNeeded]; + self.toolbar.alpha = 0.0f; + }]; + + [self.cropView prepareforRotation]; + self.cropView.frame = [self frameForCropViewWithVerticalLayout:!UIInterfaceOrientationIsPortrait(toInterfaceOrientation)]; + self.cropView.simpleRenderMode = YES; + self.cropView.internalLayoutDisabled = YES; +} + +- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration +{ + //Remove all animations in the toolbar + self.toolbar.frame = [self frameForToolBarWithVerticalLayout:!UIInterfaceOrientationIsLandscape(toInterfaceOrientation)]; + [self.toolbar.layer removeAllAnimations]; + for (CALayer *sublayer in self.toolbar.layer.sublayers) { + [sublayer removeAllAnimations]; + } + + self.cropView.frame = [self frameForCropViewWithVerticalLayout:!UIInterfaceOrientationIsLandscape(toInterfaceOrientation)]; + [self.cropView performRelayoutForRotation]; + + [UIView animateWithDuration:duration animations:^{ + self.toolbarSnapshotView.alpha = 0.0f; + self.toolbar.alpha = 1.0f; + }]; +} + +- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation +{ + [self.toolbarSnapshotView removeFromSuperview]; + self.toolbarSnapshotView = nil; + + [self.cropView setSimpleRenderMode:NO animated:YES]; + self.cropView.internalLayoutDisabled = NO; +} + +- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id)coordinator +{ + [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator]; + + UIInterfaceOrientation orientation = UIInterfaceOrientationPortrait; + CGSize currentSize = self.view.bounds.size; + if (currentSize.width < size.width) + orientation = UIInterfaceOrientationLandscapeLeft; + + [self willRotateToInterfaceOrientation:orientation duration:coordinator.transitionDuration]; + [coordinator animateAlongsideTransition:^(id context) { + [self willAnimateRotationToInterfaceOrientation:orientation duration:coordinator.transitionDuration]; + } completion:^(id context) { + [self didRotateFromInterfaceOrientation:orientation]; + }]; +} +#pragma clang diagnostic pop + +#pragma mark - Reset - +- (void)resetCropViewLayout +{ + BOOL animated = (self.cropView.angle == 0); + + if (self.resetAspectRatioEnabled) { + self.aspectRatioLockEnabled = NO; + } + + [self.cropView resetLayoutToDefaultAnimated:animated]; +} + +#pragma mark - Aspect Ratio Handling - +- (void)showAspectRatioDialog +{ + if (self.cropView.aspectRatioLockEnabled) { + self.cropView.aspectRatioLockEnabled = NO; + self.toolbar.clampButtonGlowing = NO; + return; + } + + //Depending on the shape of the image, work out if horizontal, or vertical options are required + BOOL verticalCropBox = self.cropView.cropBoxAspectRatioIsPortrait; + + // In CocoaPods, strings are stored in a separate bundle from the main one + NSBundle *resourceBundle = nil; + NSBundle *classBundle = [NSBundle bundleForClass:[self class]]; + NSURL *resourceBundleURL = [classBundle URLForResource:@"TOCropViewControllerBundle" withExtension:@"bundle"]; + if (resourceBundleURL) { + resourceBundle = [[NSBundle alloc] initWithURL:resourceBundleURL]; + } + else { + resourceBundle = classBundle; + } + + //Prepare the localized options + NSString *cancelButtonTitle = NSLocalizedStringFromTableInBundle(@"Cancel", @"TOCropViewControllerLocalizable", resourceBundle, nil); + NSString *originalButtonTitle = NSLocalizedStringFromTableInBundle(@"Original", @"TOCropViewControllerLocalizable", resourceBundle, nil); + NSString *squareButtonTitle = NSLocalizedStringFromTableInBundle(@"Square", @"TOCropViewControllerLocalizable", resourceBundle, nil); + + //Prepare the list that will be fed to the alert view/controller + NSMutableArray *items = [NSMutableArray array]; + [items addObject:originalButtonTitle]; + [items addObject:squareButtonTitle]; + if (verticalCropBox) { + [items addObjectsFromArray:@[@"2:3", @"3:5", @"3:4", @"4:5", @"5:7", @"9:16"]]; + } + else { + [items addObjectsFromArray:@[@"3:2", @"5:3", @"4:3", @"5:4", @"7:5", @"16:9"]]; + } + + //Present via a UIAlertController if >= iOS 8 + if (NSClassFromString(@"UIAlertController")) { + UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet]; + [alertController addAction:[UIAlertAction actionWithTitle:cancelButtonTitle style:UIAlertActionStyleCancel handler:nil]]; + + //Add each item to the alert controller + NSInteger i = 0; + for (NSString *item in items) { + UIAlertAction *action = [UIAlertAction actionWithTitle:item style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { + [self setAspectRatioPreset:(TOCropViewControllerAspectRatioPreset)i animated:YES]; + self.aspectRatioLockEnabled = YES; + }]; + [alertController addAction:action]; + + i++; + } + + alertController.modalPresentationStyle = UIModalPresentationPopover; + UIPopoverPresentationController *presentationController = [alertController popoverPresentationController]; + presentationController.sourceView = self.toolbar; + presentationController.sourceRect = self.toolbar.clampButtonFrame; + [self presentViewController:alertController animated:YES completion:nil]; + } + else { + //TODO: Completely overhaul this once iOS 7 support is dropped +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + + UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil + delegate:self + cancelButtonTitle:cancelButtonTitle + destructiveButtonTitle:nil + otherButtonTitles:nil]; + + for (NSString *item in items) { + [actionSheet addButtonWithTitle:item]; + } + + if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) + [actionSheet showFromRect:self.toolbar.clampButtonFrame inView:self.toolbar animated:YES]; + else + [actionSheet showInView:self.view]; +#pragma clang diagnostic pop + } +} + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" +- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex +{ + [self setAspectRatioPreset:(TOCropViewControllerAspectRatioPreset)buttonIndex animated:YES]; + self.aspectRatioLockEnabled = YES; +} +#pragma clang diagnostic pop + +- (void)setAspectRatioPreset:(TOCropViewControllerAspectRatioPreset)aspectRatioPreset animated:(BOOL)animated +{ + CGSize aspectRatio = CGSizeZero; + + _aspectRatioPreset = aspectRatioPreset; + + switch (aspectRatioPreset) { + case TOCropViewControllerAspectRatioPresetOriginal: + aspectRatio = CGSizeZero; + break; + case TOCropViewControllerAspectRatioPresetSquare: + aspectRatio = CGSizeMake(1.0f, 1.0f); + break; + case TOCropViewControllerAspectRatioPreset3x2: + aspectRatio = CGSizeMake(3.0f, 2.0f); + break; + case TOCropViewControllerAspectRatioPreset5x3: + aspectRatio = CGSizeMake(5.0f, 3.0f); + break; + case TOCropViewControllerAspectRatioPreset4x3: + aspectRatio = CGSizeMake(4.0f, 3.0f); + break; + case TOCropViewControllerAspectRatioPreset5x4: + aspectRatio = CGSizeMake(5.0f, 4.0f); + break; + case TOCropViewControllerAspectRatioPreset7x5: + aspectRatio = CGSizeMake(7.0f, 5.0f); + break; + case TOCropViewControllerAspectRatioPreset16x9: + aspectRatio = CGSizeMake(16.0f, 9.0f); + break; + case TOCropViewControllerAspectRatioPresetCustom: + aspectRatio = self.customAspectRatio; + break; + } + + //If the image is a portrait shape, flip the aspect ratio to match + if (aspectRatioPreset != TOCropViewControllerAspectRatioPresetCustom && + self.cropView.cropBoxAspectRatioIsPortrait && + !self.aspectRatioLockEnabled) + { + CGFloat width = aspectRatio.width; + aspectRatio.width = aspectRatio.height; + aspectRatio.height = width; + } + + [self.cropView setAspectRatio:aspectRatio animated:animated]; +} + +- (void)rotateCropViewClockwise +{ + [self.cropView rotateImageNinetyDegreesAnimated:YES clockwise:YES]; +} + +- (void)rotateCropViewCounterclockwise +{ + [self.cropView rotateImageNinetyDegreesAnimated:YES clockwise:YES]; +} + +#pragma mark - Crop View Delegates - +- (void)cropViewDidBecomeResettable:(TOCropView *)cropView +{ + self.toolbar.resetButtonEnabled = YES; +} + +- (void)cropViewDidBecomeNonResettable:(TOCropView *)cropView +{ + self.toolbar.resetButtonEnabled = NO; +} + +#pragma mark - Presentation Handling - +- (void)presentAnimatedFromParentViewController:(UIViewController *)viewController + fromView:(UIView *)fromView + fromFrame:(CGRect)fromFrame + setup:(void (^)(void))setup + completion:(void (^)(void))completion +{ + [self presentAnimatedFromParentViewController:viewController fromImage:nil fromView:fromView fromFrame:fromFrame + angle:0 toImageFrame:CGRectZero setup:setup completion:nil]; +} + +- (void)presentAnimatedFromParentViewController:(UIViewController *)viewController + fromImage:(UIImage *)image + fromView:(UIView *)fromView + fromFrame:(CGRect)fromFrame + angle:(NSInteger)angle + toImageFrame:(CGRect)toFrame + setup:(void (^)(void))setup + completion:(void (^)(void))completion +{ + self.transitionController.image = image ? image : self.image; + self.transitionController.fromFrame = fromFrame; + self.transitionController.fromView = fromView; + self.prepareForTransitionHandler = setup; + + if (self.angle != 0 || !CGRectIsEmpty(toFrame)) { + self.angle = angle; + self.imageCropFrame = toFrame; + } + + __weak typeof (self) weakSelf = self; + [viewController presentViewController:self animated:YES completion:^ { + typeof (self) strongSelf = weakSelf; + if (completion) { + completion(); + } + + [strongSelf.cropView setCroppingViewsHidden:NO animated:YES]; + if (!CGRectIsEmpty(fromFrame)) { + [strongSelf.cropView setGridOverlayHidden:NO animated:YES]; + } + }]; +} + +- (void)dismissAnimatedFromParentViewController:(UIViewController *)viewController + toView:(UIView *)toView + toFrame:(CGRect)frame + setup:(void (^)(void))setup + completion:(void (^)(void))completion +{ + [self dismissAnimatedFromParentViewController:viewController withCroppedImage:nil toView:toView toFrame:frame setup:setup completion:completion]; +} + +- (void)dismissAnimatedFromParentViewController:(UIViewController *)viewController + withCroppedImage:(UIImage *)image + toView:(UIView *)toView + toFrame:(CGRect)frame + setup:(void (^)(void))setup + completion:(void (^)(void))completion +{ + // If a cropped image was supplied, use that, and only zoom out from the crop box + if (image) { + self.transitionController.image = image ? image : self.image; + self.transitionController.fromFrame = [self.cropView convertRect:self.cropView.cropBoxFrame toView:self.view]; + } + else { // else use the main image, and zoom out from its entirety + self.transitionController.image = self.image; + self.transitionController.fromFrame = [self.cropView convertRect:self.cropView.imageViewFrame toView:self.view]; + } + + self.transitionController.toView = toView; + self.transitionController.toFrame = frame; + self.prepareForTransitionHandler = setup; + + [viewController dismissViewControllerAnimated:YES completion:^ { + if (completion) { + completion(); + } + }]; +} + +- (id )animationControllerForPresentedController:(UIViewController *)presented presentingController:(UIViewController *)presenting sourceController:(UIViewController *)source +{ + if (self.navigationController || self.modalTransitionStyle == UIModalTransitionStyleCoverVertical) { + return nil; + } + + self.cropView.simpleRenderMode = YES; + + __weak typeof (self) weakSelf = self; + self.transitionController.prepareForTransitionHandler = ^{ + typeof (self) strongSelf = weakSelf; + TOCropViewControllerTransitioning *transitioning = strongSelf.transitionController; + + transitioning.toFrame = [strongSelf.cropView convertRect:strongSelf.cropView.cropBoxFrame toView:strongSelf.view]; + if (!CGRectIsEmpty(transitioning.fromFrame) || transitioning.fromView) { + strongSelf.cropView.croppingViewsHidden = YES; + } + + if (strongSelf.prepareForTransitionHandler) + strongSelf.prepareForTransitionHandler(); + + strongSelf.prepareForTransitionHandler = nil; + }; + + self.transitionController.isDismissing = NO; + return self.transitionController; +} + +- (id )animationControllerForDismissedController:(UIViewController *)dismissed +{ + if (self.navigationController || self.modalTransitionStyle == UIModalTransitionStyleCoverVertical) { + return nil; + } + + __weak typeof (self) weakSelf = self; + self.transitionController.prepareForTransitionHandler = ^{ + typeof (self) strongSelf = weakSelf; + TOCropViewControllerTransitioning *transitioning = strongSelf.transitionController; + + if (!CGRectIsEmpty(transitioning.toFrame) || transitioning.toView) + strongSelf.cropView.croppingViewsHidden = YES; + else + strongSelf.cropView.simpleRenderMode = YES; + + if (strongSelf.prepareForTransitionHandler) + strongSelf.prepareForTransitionHandler(); + }; + + self.transitionController.isDismissing = YES; + return self.transitionController; +} + +#pragma mark - Button Feedback - +- (void)cancelButtonTapped +{ + if ([self.delegate respondsToSelector:@selector(cropViewController:didFinishCancelled:)]) { + [self.delegate cropViewController:self didFinishCancelled:YES]; + return; + } + + if (self.navigationController) { + [self.navigationController popViewControllerAnimated:YES]; + } + else { + self.modalTransitionStyle = UIModalTransitionStyleCoverVertical; + [self.presentingViewController dismissViewControllerAnimated:YES completion:nil]; + } +} + +- (void)doneButtonTapped +{ + CGRect cropFrame = self.cropView.imageCropFrame; + NSInteger angle = self.cropView.angle; + + //If desired, when the user taps done, show an activity sheet + if (self.showActivitySheetOnDone) { + TOActivityCroppedImageProvider *imageItem = [[TOActivityCroppedImageProvider alloc] initWithImage:self.image cropFrame:cropFrame angle:angle circular:(self.croppingStyle == TOCropViewCroppingStyleCircular)]; + TOCroppedImageAttributes *attributes = [[TOCroppedImageAttributes alloc] initWithCroppedFrame:cropFrame angle:angle originalImageSize:self.image.size]; + + NSMutableArray *activityItems = [@[imageItem, attributes] mutableCopy]; + if (self.activityItems) + [activityItems addObjectsFromArray:self.activityItems]; + + UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:self.applicationActivities]; + activityController.excludedActivityTypes = self.excludedActivityTypes; + + if (NSClassFromString(@"UIPopoverPresentationController")) { + activityController.modalPresentationStyle = UIModalPresentationPopover; + activityController.popoverPresentationController.sourceView = self.toolbar; + activityController.popoverPresentationController.sourceRect = self.toolbar.doneButtonFrame; + [self presentViewController:activityController animated:YES completion:nil]; + } + else { + if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { + [self presentViewController:activityController animated:YES completion:nil]; + } + else { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + [self.activityPopoverController dismissPopoverAnimated:NO]; + self.activityPopoverController = [[UIPopoverController alloc] initWithContentViewController:activityController]; + [self.activityPopoverController presentPopoverFromRect:self.toolbar.doneButtonFrame inView:self.toolbar permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; +#pragma clang diagnostic pop + } + } + __weak typeof(activityController) blockController = activityController; + #if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_8_0 + activityController.completionWithItemsHandler = ^(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError) { + if (!completed) + return; + + if ([self.delegate respondsToSelector:@selector(cropViewController:didFinishCancelled:)]) { + [self.delegate cropViewController:self didFinishCancelled:NO]; + } + else { + [self.presentingViewController dismissViewControllerAnimated:YES completion:nil]; + blockController.completionWithItemsHandler = nil; + } + }; + #else + activityController.completionHandler = ^(NSString *activityType, BOOL completed) { + if (!completed) + return; + + if ([self.delegate respondsToSelector:@selector(cropViewController:didFinishCancelled:)]) { + [self.delegate cropViewController:self didFinishCancelled:NO]; + } + else { + [self.presentingViewController dismissViewControllerAnimated:YES completion:nil]; + blockController.completionHandler = nil; + } + }; + #endif + + return; + } + + BOOL delegateHandled = NO; + + //If the delegate that only supplies crop data is provided, call it + if ([self.delegate respondsToSelector:@selector(cropViewController:didCropImageToRect:angle:)]) { + [self.delegate cropViewController:self didCropImageToRect:cropFrame angle:angle]; + delegateHandled = YES; + } + + //If cropping circular and the circular generation delegate is implemented, call it + if (self.croppingStyle == TOCropViewCroppingStyleCircular && [self.delegate respondsToSelector:@selector(cropViewController:didCropToCircularImage:withRect:angle:)]) { + UIImage *image = [self.image croppedImageWithFrame:cropFrame angle:angle circularClip:YES]; + + //dispatch on the next run-loop so the animation isn't interuppted by the crop operation + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.03f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [self.delegate cropViewController:self didCropToCircularImage:image withRect:cropFrame angle:angle]; + }); + + delegateHandled = YES; + } + + //If the delegate that requires the specific cropped image is provided, call it + if ([self.delegate respondsToSelector:@selector(cropViewController:didCropToImage:withRect:angle:)]) { + UIImage *image = nil; + if (angle == 0 && CGRectEqualToRect(cropFrame, (CGRect){CGPointZero, self.image.size})) { + image = self.image; + } + else { + image = [self.image croppedImageWithFrame:cropFrame angle:angle circularClip:NO]; + } + + //dispatch on the next run-loop so the animation isn't interuppted by the crop operation + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.03f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [self.delegate cropViewController:self didCropToImage:image withRect:cropFrame angle:angle]; + }); + + delegateHandled = YES; + } + + if (!delegateHandled) { + [self.presentingViewController dismissViewControllerAnimated:YES completion:nil]; + } +} + +#pragma mark - Property Methods - + +- (TOCropView *)cropView { + if (!_cropView) { + _cropView = [[TOCropView alloc] initWithCroppingStyle:self.croppingStyle image:self.image]; + _cropView.delegate = self; + _cropView.frame = [UIScreen mainScreen].bounds; + _cropView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + } + return _cropView; +} + +- (TOCropToolbar *)toolbar { + if (!_toolbar) { + _toolbar = [[TOCropToolbar alloc] initWithFrame:CGRectZero]; + } + return _toolbar; +} + +- (void)setAspectRatioLockEnabled:(BOOL)aspectRatioLockEnabled +{ + self.toolbar.clampButtonGlowing = aspectRatioLockEnabled; + self.cropView.aspectRatioLockEnabled = aspectRatioLockEnabled; + self.aspectRatioPickerButtonHidden = (aspectRatioLockEnabled && self.resetAspectRatioEnabled == NO); +} + +- (BOOL)aspectRatioLockEnabled +{ + return self.cropView.aspectRatioLockEnabled; +} + +- (void)setRotateButtonsHidden:(BOOL)rotateButtonsHidden +{ + self.toolbar.rotateCounterclockwiseButtonHidden = rotateButtonsHidden; + + if (self.rotateClockwiseButtonHidden == NO) { + self.toolbar.rotateClockwiseButtonHidden = rotateButtonsHidden; + } +} + +- (BOOL)rotateButtonsHidden +{ + if (self.rotateClockwiseButtonHidden == NO) { + return self.toolbar.rotateCounterclockwiseButtonHidden && self.toolbar.rotateClockwiseButtonHidden; + } + + return self.toolbar.rotateCounterclockwiseButtonHidden; +} + +- (void)setRotateClockwiseButtonHidden:(BOOL)rotateClockwiseButtonHidden +{ + if (_rotateClockwiseButtonHidden == rotateClockwiseButtonHidden) { + return; + } + + _rotateClockwiseButtonHidden = rotateClockwiseButtonHidden; + + if (self.rotateButtonsHidden == NO) { + self.toolbar.rotateClockwiseButtonHidden = _rotateClockwiseButtonHidden; + } +} + +- (void)setAspectRatioPickerButtonHidden:(BOOL)aspectRatioPickerButtonHidden +{ + self.toolbar.clampButtonHidden = aspectRatioPickerButtonHidden; +} + +- (BOOL)aspectRatioPickerButtonHidden +{ + return self.toolbar.clampButtonHidden; +} + +- (void)setResetAspectRatioEnabled:(BOOL)resetAspectRatioEnabled +{ + self.cropView.resetAspectRatioEnabled = resetAspectRatioEnabled; + self.aspectRatioPickerButtonHidden = (resetAspectRatioEnabled == NO && self.aspectRatioLockEnabled); +} + +- (void)setCustomAspectRatio:(CGSize)customAspectRatio +{ + _customAspectRatio = customAspectRatio; + [self setAspectRatioPreset:TOCropViewControllerAspectRatioPresetCustom animated:NO]; +} + +- (BOOL)resetAspectRatioEnabled +{ + return self.cropView.resetAspectRatioEnabled; +} + +- (void)setAngle:(NSInteger)angle +{ + self.cropView.angle = angle; +} + +- (NSInteger)angle +{ + return self.cropView.angle; +} + +- (void)setImageCropFrame:(CGRect)imageCropFrame +{ + self.cropView.imageCropFrame = imageCropFrame; +} + +- (CGRect)imageCropFrame +{ + return self.cropView.imageCropFrame; +} + +@end diff --git a/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropOverlayView.h b/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropOverlayView.h new file mode 100755 index 0000000..249208b --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropOverlayView.h @@ -0,0 +1,39 @@ +// +// TOCropOverlayView.h +// +// Copyright 2015-2017 Timothy Oliver. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import + +@interface TOCropOverlayView : UIView + +/** Hides the interior grid lines, sans animation. */ +@property (nonatomic, assign) BOOL gridHidden; + +/** Add/Remove the interior horizontal grid lines. */ +@property (nonatomic, assign) BOOL displayHorizontalGridLines; + +/** Add/Remove the interior vertical grid lines. */ +@property (nonatomic, assign) BOOL displayVerticalGridLines; + +/** Shows and hides the interior grid lines with an optional crossfade animation. */ +- (void)setGridHidden:(BOOL)hidden animated:(BOOL)animated; + +@end diff --git a/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropOverlayView.m b/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropOverlayView.m new file mode 100755 index 0000000..667b22f --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropOverlayView.m @@ -0,0 +1,245 @@ +// +// TOCropOverlayView.m +// +// Copyright 2015-2017 Timothy Oliver. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import "TOCropOverlayView.h" + +static const CGFloat kTOCropOverLayerCornerWidth = 20.0f; + +@interface TOCropOverlayView () + +@property (nonatomic, strong) NSArray *horizontalGridLines; +@property (nonatomic, strong) NSArray *verticalGridLines; + +@property (nonatomic, strong) NSArray *outerLineViews; //top, right, bottom, left + +@property (nonatomic, strong) NSArray *topLeftLineViews; //vertical, horizontal +@property (nonatomic, strong) NSArray *bottomLeftLineViews; +@property (nonatomic, strong) NSArray *bottomRightLineViews; +@property (nonatomic, strong) NSArray *topRightLineViews; + +- (void)setup; +- (void)layoutLines; + +@end + +@implementation TOCropOverlayView + +- (instancetype)initWithFrame:(CGRect)frame +{ + if (self = [super initWithFrame:frame]) { + self.clipsToBounds = NO; + [self setup]; + } + + return self; +} + +- (void)setup +{ + UIView *(^newLineView)(void) = ^UIView *(void){ + return [self createNewLineView]; + }; + + UIView *(^newBorderLineView)(void) = ^UIView *(void){ + UIView *newLine = [[UIView alloc] initWithFrame:CGRectZero]; + newLine.backgroundColor = [UIColor whiteColor]; + newLine.layer.shadowColor = [UIColor blackColor].CGColor; + newLine.layer.shadowOffset = CGSizeMake(0, 0); + newLine.layer.shadowRadius = 1.5f; + newLine.layer.shadowOpacity= 0.8f; + [self addSubview:newLine]; + return newLine; + }; + _outerLineViews = @[newBorderLineView(), newBorderLineView(), newBorderLineView(), newBorderLineView()]; + + _topLeftLineViews = @[newLineView(), newLineView()]; + _bottomLeftLineViews = @[newLineView(), newLineView()]; + _topRightLineViews = @[newLineView(), newLineView()]; + _bottomRightLineViews = @[newLineView(), newLineView()]; + + self.displayHorizontalGridLines = YES; + self.displayVerticalGridLines = YES; +} + +- (void)setFrame:(CGRect)frame +{ + [super setFrame:frame]; + + if (_outerLineViews) + [self layoutLines]; +} + +- (void)didMoveToSuperview +{ + [super didMoveToSuperview]; + + if (_outerLineViews) + [self layoutLines]; +} + +- (void)layoutLines +{ + CGSize boundsSize = self.bounds.size; + + //border lines + for (NSInteger i = 0; i < 4; i++) { + UIView *lineView = self.outerLineViews[i]; + + CGRect frame = CGRectZero; + switch (i) { + case 0: frame = (CGRect){0,-1.0f,boundsSize.width+2.0f, 1.0f}; break; //top + case 1: frame = (CGRect){boundsSize.width,0.0f,1.0f,boundsSize.height}; break; //right + case 2: frame = (CGRect){-1.0f,boundsSize.height,boundsSize.width+2.0f,1.0f}; break; //bottom + case 3: frame = (CGRect){-1.0f,0,1.0f,boundsSize.height+1.0f}; break; //left + } + + lineView.frame = frame; + } + + //corner liness + NSArray *cornerLines = @[self.topLeftLineViews, self.topRightLineViews, self.bottomRightLineViews, self.bottomLeftLineViews]; + for (NSInteger i = 0; i < 4; i++) { + NSArray *cornerLine = cornerLines[i]; + + CGRect verticalFrame = CGRectZero, horizontalFrame = CGRectZero; + switch (i) { + case 0: //top left + verticalFrame = (CGRect){-3.0f,-3.0f,3.0f,kTOCropOverLayerCornerWidth+3.0f}; + horizontalFrame = (CGRect){0,-3.0f,kTOCropOverLayerCornerWidth,3.0f}; + break; + case 1: //top right + verticalFrame = (CGRect){boundsSize.width,-3.0f,3.0f,kTOCropOverLayerCornerWidth+3.0f}; + horizontalFrame = (CGRect){boundsSize.width-kTOCropOverLayerCornerWidth,-3.0f,kTOCropOverLayerCornerWidth,3.0f}; + break; + case 2: //bottom right + verticalFrame = (CGRect){boundsSize.width,boundsSize.height-kTOCropOverLayerCornerWidth,3.0f,kTOCropOverLayerCornerWidth+3.0f}; + horizontalFrame = (CGRect){boundsSize.width-kTOCropOverLayerCornerWidth,boundsSize.height,kTOCropOverLayerCornerWidth,3.0f}; + break; + case 3: //bottom left + verticalFrame = (CGRect){-3.0f,boundsSize.height-kTOCropOverLayerCornerWidth,3.0f,kTOCropOverLayerCornerWidth}; + horizontalFrame = (CGRect){-3.0f,boundsSize.height,kTOCropOverLayerCornerWidth+3.0f,3.0f}; + break; + } + + [cornerLine[0] setFrame:verticalFrame]; + [cornerLine[1] setFrame:horizontalFrame]; + } + + //grid lines - horizontal + CGFloat thickness = 1.0f / [[UIScreen mainScreen] scale]; + NSInteger numberOfLines = self.horizontalGridLines.count; + CGFloat padding = (CGRectGetHeight(self.bounds) - (thickness*numberOfLines)) / (numberOfLines + 1); + for (NSInteger i = 0; i < numberOfLines; i++) { + UIView *lineView = self.horizontalGridLines[i]; + CGRect frame = CGRectZero; + frame.size.height = thickness; + frame.size.width = CGRectGetWidth(self.bounds); + frame.origin.y = (padding * (i+1)) + (thickness * i); + lineView.frame = frame; + } + + //grid lines - vertical + numberOfLines = self.verticalGridLines.count; + padding = (CGRectGetWidth(self.bounds) - (thickness*numberOfLines)) / (numberOfLines + 1); + for (NSInteger i = 0; i < numberOfLines; i++) { + UIView *lineView = self.verticalGridLines[i]; + CGRect frame = CGRectZero; + frame.size.width = thickness; + frame.size.height = CGRectGetHeight(self.bounds); + frame.origin.x = (padding * (i+1)) + (thickness * i); + lineView.frame = frame; + } +} + +- (void)setGridHidden:(BOOL)hidden animated:(BOOL)animated +{ + return; + _gridHidden = hidden; + + if (animated == NO) { + for (UIView *lineView in self.horizontalGridLines) { + lineView.alpha = hidden ? 0.0f : 1.0f; + } + + for (UIView *lineView in self.verticalGridLines) { + lineView.alpha = hidden ? 0.0f : 1.0f; + } + + return; + } + + [UIView animateWithDuration:hidden?0.35f:0.2f animations:^{ + for (UIView *lineView in self.horizontalGridLines) + lineView.alpha = hidden ? 0.0f : 1.0f; + + for (UIView *lineView in self.verticalGridLines) + lineView.alpha = hidden ? 0.0f : 1.0f; + }]; +} + +#pragma mark - Property methods + +- (void)setDisplayHorizontalGridLines:(BOOL)displayHorizontalGridLines { + _displayHorizontalGridLines = displayHorizontalGridLines; + + [self.horizontalGridLines enumerateObjectsUsingBlock:^(UIView *__nonnull lineView, NSUInteger idx, BOOL * __nonnull stop) { + [lineView removeFromSuperview]; + }]; + + if (_displayHorizontalGridLines) { + self.horizontalGridLines = @[[self createNewLineView], [self createNewLineView]]; + } else { + self.horizontalGridLines = @[]; + } + [self setNeedsDisplay]; +} + +- (void)setDisplayVerticalGridLines:(BOOL)displayVerticalGridLines { + _displayVerticalGridLines = displayVerticalGridLines; + + [self.verticalGridLines enumerateObjectsUsingBlock:^(UIView *__nonnull lineView, NSUInteger idx, BOOL * __nonnull stop) { + [lineView removeFromSuperview]; + }]; + + if (_displayVerticalGridLines) { + self.verticalGridLines = @[[self createNewLineView], [self createNewLineView]]; + } else { + self.verticalGridLines = @[]; + } + [self setNeedsDisplay]; +} + +- (void)setGridHidden:(BOOL)gridHidden +{ + [self setGridHidden:gridHidden animated:NO]; +} + +#pragma mark - Private methods + +- (nonnull UIView *)createNewLineView { + UIView *newLine = [[UIView alloc] initWithFrame:CGRectZero]; + newLine.backgroundColor = [UIColor whiteColor]; + [self addSubview:newLine]; + return newLine; +} + +@end diff --git a/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropScrollView.h b/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropScrollView.h new file mode 100755 index 0000000..48e0c99 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropScrollView.h @@ -0,0 +1,35 @@ +// +// TOCropScrollView +// +// Copyright 2015-2017 Timothy Oliver. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import + +/* + Subclassing UIScrollView was necessary in order to directly capture + touch events that weren't otherwise accessible via UIGestureRecognizer objects. + */ +@interface TOCropScrollView : UIScrollView + +@property (nullable, nonatomic, copy) void (^touchesBegan)(void); +@property (nullable, nonatomic, copy) void (^touchesCancelled)(void); +@property (nullable, nonatomic, copy) void (^touchesEnded)(void); + +@end diff --git a/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropScrollView.m b/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropScrollView.m new file mode 100755 index 0000000..b0b680f --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropScrollView.m @@ -0,0 +1,51 @@ +// +// TOCropScrollView +// +// Copyright 2015-2017 Timothy Oliver. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import "TOCropScrollView.h" + +@implementation TOCropScrollView + +- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event +{ + if (self.touchesBegan) + self.touchesBegan(); + + [super touchesBegan:touches withEvent:event]; +} + +- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event +{ + if (self.touchesEnded) + self.touchesEnded(); + + [super touchesEnded:touches withEvent:event]; +} + +- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event +{ + if (self.touchesCancelled) + self.touchesCancelled(); + + [super touchesCancelled:touches withEvent:event]; +} + +@end diff --git a/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropToolbar.h b/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropToolbar.h new file mode 100755 index 0000000..99cfe68 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropToolbar.h @@ -0,0 +1,72 @@ +// +// TOCropToolbar.h +// +// Copyright 2015-2017 Timothy Oliver. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import + +@interface TOCropToolbar : UIView + +/* In horizontal mode, offsets all of the buttons vertically by 20 points. */ +@property (nonatomic, assign) BOOL statusBarVisible; + +/* The 'Done' buttons to commit the crop. The text button is displayed + in portrait mode and the icon one, in landscape. */ +@property (nonnull, nonatomic, strong, readonly) UIButton *doneTextButton; +@property (nonnull, nonatomic, strong, readonly) UIButton *doneIconButton; + +/* The 'Cancel' buttons to cancel the crop. The text button is displayed + in portrait mode and the icon one, in landscape. */ +@property (nonnull, nonatomic, strong, readonly) UIButton *cancelTextButton; +@property (nonnull, nonatomic, strong, readonly) UIButton *cancelIconButton; + +/* The cropper control buttons */ +@property (nonnull, nonatomic, strong, readonly) UIButton *rotateCounterclockwiseButton; +@property (nonnull, nonatomic, strong, readonly) UIButton *resetButton; +@property (nonnull, nonatomic, strong, readonly) UIButton *clampButton; +@property (nonnull, nonatomic, strong, readonly) UIButton *rotateClockwiseButton; + +@property (nonnull, nonatomic, readonly) UIButton *rotateButton; // Points to `rotateCounterClockwiseButton` + +/* Button feedback handler blocks */ +@property (nullable, nonatomic, copy) void (^cancelButtonTapped)(void); +@property (nullable, nonatomic, copy) void (^doneButtonTapped)(void); +@property (nullable, nonatomic, copy) void (^rotateCounterclockwiseButtonTapped)(void); +@property (nullable, nonatomic, copy) void (^rotateClockwiseButtonTapped)(void); +@property (nullable, nonatomic, copy) void (^clampButtonTapped)(void); +@property (nullable, nonatomic, copy) void (^resetButtonTapped)(void); + +/* State management for the 'clamp' button */ +@property (nonatomic, assign) BOOL clampButtonGlowing; +@property (nonatomic, readonly) CGRect clampButtonFrame; + +/* Aspect ratio button visibility settings */ +@property (nonatomic, assign) BOOL clampButtonHidden; +@property (nonatomic, assign) BOOL rotateCounterclockwiseButtonHidden; +@property (nonatomic, assign) BOOL rotateClockwiseButtonHidden; + +/* Enable the reset button */ +@property (nonatomic, assign) BOOL resetButtonEnabled; + +/* Done button frame for popover controllers */ +@property (nonatomic, readonly) CGRect doneButtonFrame; + + +@end diff --git a/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropToolbar.m b/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropToolbar.m new file mode 100755 index 0000000..df1ba81 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropToolbar.m @@ -0,0 +1,594 @@ +// +// TOCropToolbar.h +// +// Copyright 2015-2017 Timothy Oliver. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import "TOCropToolbar.h" +#import "UIImage+library.h" +@import YYCategories; + +#define TOCROPTOOLBAR_DEBUG_SHOWING_BUTTONS_CONTAINER_RECT 0 // convenience debug toggle + +@interface TOCropToolbar() + +@property (nonatomic, strong, readwrite) UIButton *doneTextButton; +@property (nonatomic, strong, readwrite) UIButton *doneIconButton; + +@property (nonatomic, strong, readwrite) UIButton *cancelTextButton; +@property (nonatomic, strong, readwrite) UIButton *cancelIconButton; + +@property (nonatomic, strong) UIButton *resetButton; +@property (nonatomic, strong) UIButton *clampButton; + +@property (nonatomic, strong) UIButton *rotateButton; // defaults to counterclockwise button for legacy compatibility + +@property (nonatomic, assign) BOOL reverseContentLayout; // For languages like Arabic where they natively present content flipped from English + +- (void)setup; +- (void)buttonTapped:(id)button; + ++ (UIImage *)doneImage; ++ (UIImage *)cancelImage; ++ (UIImage *)resetImage; ++ (UIImage *)rotateCCWImage; ++ (UIImage *)rotateCWImage; ++ (UIImage *)clampImage; + +@end + +@implementation TOCropToolbar + +- (instancetype)initWithFrame:(CGRect)frame +{ + if (self = [super initWithFrame:frame]) { + [self setup]; + } + + return self; +} + +- (void)setup { + self.backgroundColor = [UIColor colorWithWhite:0.12f alpha:1.0f]; + + _rotateClockwiseButtonHidden = YES; + + // On iOS 9, we can use the new layout features to determine whether we're in an 'Arabic' style language mode + if ([UIView resolveClassMethod:@selector(userInterfaceLayoutDirectionForSemanticContentAttribute:)]) { + self.reverseContentLayout = ([UIView userInterfaceLayoutDirectionForSemanticContentAttribute:self.semanticContentAttribute] == UIUserInterfaceLayoutDirectionRightToLeft); + } + else { + self.reverseContentLayout = [[[NSLocale preferredLanguages] objectAtIndex:0] hasPrefix:@"ar"]; + } + + // In CocoaPods, strings are stored in a separate bundle from the main one + NSBundle *resourceBundle = nil; + NSBundle *classBundle = [NSBundle bundleForClass:[self class]]; + NSURL *resourceBundleURL = [classBundle URLForResource:@"TOCropViewControllerBundle" withExtension:@"bundle"]; + if (resourceBundleURL) { + resourceBundle = [[NSBundle alloc] initWithURL:resourceBundleURL]; + } + else { + resourceBundle = classBundle; + } + + _doneTextButton = [UIButton buttonWithType:UIButtonTypeCustom]; + [_doneTextButton setImage:[UIImage my_imageNamed:@"clip_ok" inBundle:classBundle] forState:UIControlStateNormal]; + + [_doneTextButton setTitleColor:[UIColor colorWithRed:1.0f green:0.8f blue:0.0f alpha:1.0f] forState:UIControlStateNormal]; + [_doneTextButton.titleLabel setFont:[UIFont systemFontOfSize:17.0f]]; + [_doneTextButton addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside]; + [self addSubview:_doneTextButton]; + + _doneIconButton = [UIButton buttonWithType:UIButtonTypeSystem]; + [_doneIconButton setImage:[TOCropToolbar doneImage] forState:UIControlStateNormal]; + [_doneIconButton setTintColor:[UIColor colorWithRed:1.0f green:0.8f blue:0.0f alpha:1.0f]]; + [_doneIconButton addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside]; + [self addSubview:_doneIconButton]; + + _cancelTextButton = [UIButton buttonWithType:UIButtonTypeCustom]; + [_cancelTextButton setImage:[UIImage my_imageNamed:@"clip_close" inBundle:classBundle] forState:UIControlStateNormal]; + + [_cancelTextButton.titleLabel setFont:[UIFont systemFontOfSize:17.0f]]; + [_cancelTextButton addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside]; + [self addSubview:_cancelTextButton]; + + _cancelIconButton = [UIButton buttonWithType:UIButtonTypeSystem]; + [_cancelIconButton setImage:[TOCropToolbar cancelImage] forState:UIControlStateNormal]; + [_cancelIconButton addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside]; + [self addSubview:_cancelIconButton]; + + _clampButton = [UIButton buttonWithType:UIButtonTypeSystem]; + _clampButton.contentMode = UIViewContentModeCenter; + _clampButton.tintColor = [UIColor whiteColor]; + [_clampButton setImage:[TOCropToolbar clampImage] forState:UIControlStateNormal]; + [_clampButton addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside]; + //[self addSubview:_clampButton]; + + _rotateCounterclockwiseButton = [UIButton buttonWithType:UIButtonTypeCustom]; + _rotateCounterclockwiseButton.contentMode = UIViewContentModeCenter; + _rotateCounterclockwiseButton.tintColor = [UIColor whiteColor]; + [_rotateCounterclockwiseButton setImage:[UIImage my_imageNamed:@"clip_rotate" inBundle:classBundle] forState:UIControlStateNormal]; + [_rotateCounterclockwiseButton addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside]; + [self addSubview:_rotateCounterclockwiseButton]; + + _resetButton = [UIButton buttonWithType:UIButtonTypeSystem]; + _resetButton.contentMode = UIViewContentModeCenter; + _resetButton.enabled = NO; + [_resetButton setTitle:@"还原" forState:UIControlStateNormal]; + [_resetButton setTitleColor:[UIColor colorWithHexString:@"289BF0"] forState:UIControlStateNormal]; + [_resetButton setTitleColor:[UIColor lightTextColor] forState:UIControlStateDisabled]; + [_resetButton addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside]; + [self addSubview:_resetButton]; +} + +- (void)layoutSubviews +{ + [super layoutSubviews]; + + BOOL verticalLayout = (CGRectGetWidth(self.bounds) < CGRectGetHeight(self.bounds)); + CGSize boundsSize = self.bounds.size; + + self.cancelIconButton.hidden = (!verticalLayout); + self.cancelTextButton.hidden = (verticalLayout); + self.doneIconButton.hidden = (!verticalLayout); + self.doneTextButton.hidden = (verticalLayout); + +#if TOCROPTOOLBAR_DEBUG_SHOWING_BUTTONS_CONTAINER_RECT + static UIView *containerView = nil; + if (!containerView) { + containerView = [[UIView alloc] initWithFrame:CGRectZero]; + containerView.backgroundColor = [UIColor redColor]; + containerView.alpha = 0.1; + [self addSubview:containerView]; + } +#endif + + if (verticalLayout == NO) { + CGFloat insetPadding = 10.0f; + + // Work out the cancel button frame + CGRect frame = CGRectZero; + frame.origin.y = self.statusBarVisible ? 20.0f : 0.0f; + frame.size.height = 44.0f; + frame.size.width = 50;//[self.cancelTextButton.titleLabel.text sizeWithAttributes:@{NSFontAttributeName:self.cancelTextButton.titleLabel.font}].width + 10; + + //If normal layout, place on the left side, else place on the right + if (self.reverseContentLayout == NO) { + frame.origin.x = insetPadding; + } + else { + frame.origin.x = boundsSize.width - (frame.size.width + insetPadding); + } + self.cancelTextButton.frame = frame; + + // Work out the Done button frame + frame.size.width = 50;//[self.doneTextButton.titleLabel.text sizeWithAttributes:@{NSFontAttributeName:self.doneTextButton.titleLabel.font}].width + 10; + + if (self.reverseContentLayout == NO) { + frame.origin.x = boundsSize.width - (frame.size.width + insetPadding); + } + else { + frame.origin.x = insetPadding; + } + self.doneTextButton.frame = frame; + + // Work out the frame between the two buttons where we can layout our action buttons + CGFloat x = self.reverseContentLayout ? CGRectGetMaxX(self.doneTextButton.frame) : CGRectGetMaxX(self.cancelTextButton.frame); + CGFloat width = 0.0f; + + if (self.reverseContentLayout == NO) { + width = CGRectGetMinX(self.doneTextButton.frame) - CGRectGetMaxX(self.cancelTextButton.frame); + } + else { + width = CGRectGetMinX(self.cancelTextButton.frame) - CGRectGetMaxX(self.doneTextButton.frame); + } + + CGRect containerRect = (CGRect){self.center.x - x - 44.f,frame.origin.y,width,44.0f}; + +#if TOCROPTOOLBAR_DEBUG_SHOWING_BUTTONS_CONTAINER_RECT + containerView.frame = containerRect; +#endif + + CGSize buttonSize = (CGSize){44.0f,44.0f}; + + NSMutableArray *buttonsInOrderHorizontally = [NSMutableArray new]; + + [buttonsInOrderHorizontally addObject:self.resetButton]; + + if (!self.rotateCounterclockwiseButtonHidden) { + [buttonsInOrderHorizontally addObject:self.rotateCounterclockwiseButton]; + } + + if (!self.clampButtonHidden) { + [buttonsInOrderHorizontally addObject:self.clampButton]; + } + + if (!self.rotateClockwiseButtonHidden) { + [buttonsInOrderHorizontally addObject:self.rotateClockwiseButton]; + } + + + [self layoutToolbarButtons:buttonsInOrderHorizontally withSameButtonSize:buttonSize inContainerRect:containerRect horizontally:YES]; + self.resetButton.centerX = boundsSize.width/2.f - self.resetButton.width/2 - 5; + self.rotateCounterclockwiseButton.centerX = boundsSize.width/2.f + self.rotateCounterclockwiseButton.width/2 + 5; + } + else { + CGRect frame = CGRectZero; + frame.size.height = 44.0f; + frame.size.width = 44.0f; + frame.origin.y = CGRectGetHeight(self.bounds) - 44.0f; + self.cancelIconButton.frame = frame; + + frame.origin.y = 0.0f; + frame.size.width = 44.0f; + frame.size.height = 44.0f; + self.doneIconButton.frame = frame; + + CGRect containerRect = (CGRect){0,CGRectGetMaxY(self.doneIconButton.frame),44.0f,CGRectGetMinY(self.cancelIconButton.frame)-CGRectGetMaxY(self.doneIconButton.frame)}; + +#if TOCROPTOOLBAR_DEBUG_SHOWING_BUTTONS_CONTAINER_RECT + containerView.frame = containerRect; +#endif + + CGSize buttonSize = (CGSize){44.0f,44.0f}; + + NSMutableArray *buttonsInOrderVertically = [NSMutableArray new]; + if (!self.rotateCounterclockwiseButtonHidden) { + [buttonsInOrderVertically addObject:self.rotateCounterclockwiseButton]; + } + + [buttonsInOrderVertically addObject:self.resetButton]; + + if (!self.clampButtonHidden) { + [buttonsInOrderVertically addObject:self.clampButton]; + } + + if (!self.rotateClockwiseButtonHidden) { + [buttonsInOrderVertically addObject:self.rotateClockwiseButton]; + } + + [self layoutToolbarButtons:buttonsInOrderVertically withSameButtonSize:buttonSize inContainerRect:containerRect horizontally:NO]; + } +} + +// The convenience method for calculating button's frame inside of the container rect +- (void)layoutToolbarButtons:(NSArray *)buttons withSameButtonSize:(CGSize)size inContainerRect:(CGRect)containerRect horizontally:(BOOL)horizontally +{ + NSInteger count = buttons.count; + CGFloat fixedSize = horizontally ? size.width : size.height; + CGFloat maxLength = horizontally ? CGRectGetWidth(containerRect) : CGRectGetHeight(containerRect); + CGFloat padding = (maxLength - fixedSize * count) / (count + 1); + + for (NSInteger i = 0; i < count; i++) { + UIView *button = buttons[i]; + CGFloat sameOffset = horizontally ? fabs(CGRectGetHeight(containerRect)-CGRectGetHeight(button.bounds)) : fabs(CGRectGetWidth(containerRect)-CGRectGetWidth(button.bounds)); + CGFloat diffOffset = padding + i * (fixedSize + padding); + CGPoint origin = horizontally ? CGPointMake(diffOffset, sameOffset) : CGPointMake(sameOffset, diffOffset); + if (horizontally) { + origin.x += CGRectGetMinX(containerRect); + origin.y += self.statusBarVisible ? 20.0f : 0.0f; + } else { + origin.y += CGRectGetMinY(containerRect); + } + button.frame = (CGRect){origin, size}; + } +} + +- (void)buttonTapped:(id)button +{ + if (button == self.cancelTextButton || button == self.cancelIconButton) { + if (self.cancelButtonTapped) + self.cancelButtonTapped(); + } + else if (button == self.doneTextButton || button == self.doneIconButton) { + if (self.doneButtonTapped) + self.doneButtonTapped(); + } + else if (button == self.resetButton && self.resetButtonTapped) { + self.resetButtonTapped(); + } + else if (button == self.rotateCounterclockwiseButton && self.rotateCounterclockwiseButtonTapped) { + self.rotateCounterclockwiseButtonTapped(); + } + else if (button == self.rotateClockwiseButton && self.rotateClockwiseButtonTapped) { + self.rotateClockwiseButtonTapped(); + } + else if (button == self.clampButton && self.clampButtonTapped) { + self.clampButtonTapped(); + return; + } +} + +- (CGRect)clampButtonFrame +{ + return self.clampButton.frame; +} + +- (void)setClampButtonHidden:(BOOL)clampButtonHidden { + if (_clampButtonHidden == clampButtonHidden) + return; + + _clampButtonHidden = clampButtonHidden; + [self setNeedsLayout]; +} + +- (void)setClampButtonGlowing:(BOOL)clampButtonGlowing +{ + if (_clampButtonGlowing == clampButtonGlowing) + return; + + _clampButtonGlowing = clampButtonGlowing; + + if (_clampButtonGlowing) + self.clampButton.tintColor = nil; + else + self.clampButton.tintColor = [UIColor whiteColor]; +} + +- (void)setRotateCounterClockwiseButtonHidden:(BOOL)rotateButtonHidden +{ + if (_rotateCounterclockwiseButtonHidden == rotateButtonHidden) + return; + + _rotateCounterclockwiseButtonHidden = rotateButtonHidden; + [self setNeedsLayout]; +} + +- (BOOL)resetButtonEnabled +{ + return self.resetButton.enabled; +} + +- (void)setResetButtonEnabled:(BOOL)resetButtonEnabled +{ + self.resetButton.enabled = resetButtonEnabled; +} + +- (CGRect)doneButtonFrame +{ + if (self.doneIconButton.hidden == NO) + return self.doneIconButton.frame; + + return self.doneTextButton.frame; +} + +#pragma mark - Image Generation - ++ (UIImage *)doneImage +{ + UIImage *doneImage = nil; + + UIGraphicsBeginImageContextWithOptions((CGSize){17,14}, NO, 0.0f); + { + //// Rectangle Drawing + UIBezierPath* rectanglePath = UIBezierPath.bezierPath; + [rectanglePath moveToPoint: CGPointMake(1, 7)]; + [rectanglePath addLineToPoint: CGPointMake(6, 12)]; + [rectanglePath addLineToPoint: CGPointMake(16, 1)]; + [UIColor.whiteColor setStroke]; + rectanglePath.lineWidth = 2; + [rectanglePath stroke]; + + + doneImage = UIGraphicsGetImageFromCurrentImageContext(); + } + UIGraphicsEndImageContext(); + + return doneImage; +} + ++ (UIImage *)cancelImage +{ + UIImage *cancelImage = nil; + + UIGraphicsBeginImageContextWithOptions((CGSize){16,16}, NO, 0.0f); + { + UIBezierPath* bezierPath = UIBezierPath.bezierPath; + [bezierPath moveToPoint: CGPointMake(15, 15)]; + [bezierPath addLineToPoint: CGPointMake(1, 1)]; + [UIColor.whiteColor setStroke]; + bezierPath.lineWidth = 2; + [bezierPath stroke]; + + + //// Bezier 2 Drawing + UIBezierPath* bezier2Path = UIBezierPath.bezierPath; + [bezier2Path moveToPoint: CGPointMake(1, 15)]; + [bezier2Path addLineToPoint: CGPointMake(15, 1)]; + [UIColor.whiteColor setStroke]; + bezier2Path.lineWidth = 2; + [bezier2Path stroke]; + + cancelImage = UIGraphicsGetImageFromCurrentImageContext(); + } + UIGraphicsEndImageContext(); + + return cancelImage; +} + ++ (UIImage *)rotateCCWImage +{ + UIImage *rotateImage = nil; + + UIGraphicsBeginImageContextWithOptions((CGSize){18,21}, NO, 0.0f); + { + //// Rectangle 2 Drawing + UIBezierPath* rectangle2Path = [UIBezierPath bezierPathWithRect: CGRectMake(0, 9, 12, 12)]; + [UIColor.whiteColor setFill]; + [rectangle2Path fill]; + + + //// Rectangle 3 Drawing + UIBezierPath* rectangle3Path = UIBezierPath.bezierPath; + [rectangle3Path moveToPoint: CGPointMake(5, 3)]; + [rectangle3Path addLineToPoint: CGPointMake(10, 6)]; + [rectangle3Path addLineToPoint: CGPointMake(10, 0)]; + [rectangle3Path addLineToPoint: CGPointMake(5, 3)]; + [rectangle3Path closePath]; + [UIColor.whiteColor setFill]; + [rectangle3Path fill]; + + + //// Bezier Drawing + UIBezierPath* bezierPath = UIBezierPath.bezierPath; + [bezierPath moveToPoint: CGPointMake(10, 3)]; + [bezierPath addCurveToPoint: CGPointMake(17.5, 11) controlPoint1: CGPointMake(15, 3) controlPoint2: CGPointMake(17.5, 5.91)]; + [UIColor.whiteColor setStroke]; + bezierPath.lineWidth = 1; + [bezierPath stroke]; + rotateImage = UIGraphicsGetImageFromCurrentImageContext(); + } + UIGraphicsEndImageContext(); + + return rotateImage; +} + ++ (UIImage *)rotateCWImage +{ + UIImage *rotateCCWImage = [self.class rotateCCWImage]; + UIGraphicsBeginImageContextWithOptions(rotateCCWImage.size, NO, rotateCCWImage.scale); + CGContextRef context = UIGraphicsGetCurrentContext(); + CGContextTranslateCTM(context, rotateCCWImage.size.width, rotateCCWImage.size.height); + CGContextRotateCTM(context, M_PI); + CGContextDrawImage(context,CGRectMake(0,0,rotateCCWImage.size.width,rotateCCWImage.size.height),rotateCCWImage.CGImage); + UIImage *rotateCWImage = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + return rotateCWImage; +} + ++ (UIImage *)resetImage +{ + UIImage *resetImage = nil; + + UIGraphicsBeginImageContextWithOptions((CGSize){22,18}, NO, 0.0f); + { + + //// Bezier 2 Drawing + UIBezierPath* bezier2Path = UIBezierPath.bezierPath; + [bezier2Path moveToPoint: CGPointMake(22, 9)]; + [bezier2Path addCurveToPoint: CGPointMake(13, 18) controlPoint1: CGPointMake(22, 13.97) controlPoint2: CGPointMake(17.97, 18)]; + [bezier2Path addCurveToPoint: CGPointMake(13, 16) controlPoint1: CGPointMake(13, 17.35) controlPoint2: CGPointMake(13, 16.68)]; + [bezier2Path addCurveToPoint: CGPointMake(20, 9) controlPoint1: CGPointMake(16.87, 16) controlPoint2: CGPointMake(20, 12.87)]; + [bezier2Path addCurveToPoint: CGPointMake(13, 2) controlPoint1: CGPointMake(20, 5.13) controlPoint2: CGPointMake(16.87, 2)]; + [bezier2Path addCurveToPoint: CGPointMake(6.55, 6.27) controlPoint1: CGPointMake(10.1, 2) controlPoint2: CGPointMake(7.62, 3.76)]; + [bezier2Path addCurveToPoint: CGPointMake(6, 9) controlPoint1: CGPointMake(6.2, 7.11) controlPoint2: CGPointMake(6, 8.03)]; + [bezier2Path addLineToPoint: CGPointMake(4, 9)]; + [bezier2Path addCurveToPoint: CGPointMake(4.65, 5.63) controlPoint1: CGPointMake(4, 7.81) controlPoint2: CGPointMake(4.23, 6.67)]; + [bezier2Path addCurveToPoint: CGPointMake(7.65, 1.76) controlPoint1: CGPointMake(5.28, 4.08) controlPoint2: CGPointMake(6.32, 2.74)]; + [bezier2Path addCurveToPoint: CGPointMake(13, 0) controlPoint1: CGPointMake(9.15, 0.65) controlPoint2: CGPointMake(11, 0)]; + [bezier2Path addCurveToPoint: CGPointMake(22, 9) controlPoint1: CGPointMake(17.97, 0) controlPoint2: CGPointMake(22, 4.03)]; + [bezier2Path closePath]; + [UIColor.whiteColor setFill]; + [bezier2Path fill]; + + + //// Polygon Drawing + UIBezierPath* polygonPath = UIBezierPath.bezierPath; + [polygonPath moveToPoint: CGPointMake(5, 15)]; + [polygonPath addLineToPoint: CGPointMake(10, 9)]; + [polygonPath addLineToPoint: CGPointMake(0, 9)]; + [polygonPath addLineToPoint: CGPointMake(5, 15)]; + [polygonPath closePath]; + [UIColor.whiteColor setFill]; + [polygonPath fill]; + + + resetImage = UIGraphicsGetImageFromCurrentImageContext(); + } + UIGraphicsEndImageContext(); + + return resetImage; +} + ++ (UIImage *)clampImage +{ + UIImage *clampImage = nil; + + UIGraphicsBeginImageContextWithOptions((CGSize){22,16}, NO, 0.0f); + { + //// Color Declarations + UIColor* outerBox = [UIColor colorWithRed: 1 green: 1 blue: 1 alpha: 0.553]; + UIColor* innerBox = [UIColor colorWithRed: 1 green: 1 blue: 1 alpha: 0.773]; + + //// Rectangle Drawing + UIBezierPath* rectanglePath = [UIBezierPath bezierPathWithRect: CGRectMake(0, 3, 13, 13)]; + [UIColor.whiteColor setFill]; + [rectanglePath fill]; + + + //// Outer + { + //// Top Drawing + UIBezierPath* topPath = [UIBezierPath bezierPathWithRect: CGRectMake(0, 0, 22, 2)]; + [outerBox setFill]; + [topPath fill]; + + + //// Side Drawing + UIBezierPath* sidePath = [UIBezierPath bezierPathWithRect: CGRectMake(19, 2, 3, 14)]; + [outerBox setFill]; + [sidePath fill]; + } + + + //// Rectangle 2 Drawing + UIBezierPath* rectangle2Path = [UIBezierPath bezierPathWithRect: CGRectMake(14, 3, 4, 13)]; + [innerBox setFill]; + [rectangle2Path fill]; + + + clampImage = UIGraphicsGetImageFromCurrentImageContext(); + } + UIGraphicsEndImageContext(); + + return clampImage; +} + +#pragma mark - Accessors - + +- (void)setRotateClockwiseButtonHidden:(BOOL)rotateClockwiseButtonHidden +{ + if (_rotateClockwiseButtonHidden == rotateClockwiseButtonHidden) { + return; + } + + _rotateClockwiseButtonHidden = rotateClockwiseButtonHidden; + + if (_rotateClockwiseButtonHidden == NO) { + _rotateClockwiseButton = [UIButton buttonWithType:UIButtonTypeSystem]; + _rotateClockwiseButton.contentMode = UIViewContentModeCenter; + _rotateClockwiseButton.tintColor = [UIColor whiteColor]; + [_rotateClockwiseButton setImage:[TOCropToolbar rotateCWImage] forState:UIControlStateNormal]; + [_rotateClockwiseButton addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside]; + [self addSubview:_rotateClockwiseButton]; + } + else { + [_rotateClockwiseButton removeFromSuperview]; + _rotateClockwiseButton = nil; + } + + [self setNeedsLayout]; +} + +- (UIButton *)rotateButton +{ + return self.rotateCounterclockwiseButton; +} + +@end diff --git a/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropView.h b/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropView.h new file mode 100755 index 0000000..bfa98a0 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropView.h @@ -0,0 +1,225 @@ +// +// TOCropView.h +// +// Copyright 2015-2017 Timothy Oliver. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import +#import "TOCropOverlayView.h" + +typedef NS_ENUM(NSInteger, TOCropViewCroppingStyle) { + TOCropViewCroppingStyleDefault, // The regular, rectangular crop box + TOCropViewCroppingStyleCircular // A fixed, circular crop box +}; + +@class TOCropView; + +@protocol TOCropViewDelegate + +- (void)cropViewDidBecomeResettable:(nonnull TOCropView *)cropView; +- (void)cropViewDidBecomeNonResettable:(nonnull TOCropView *)cropView; + +@end + +@interface TOCropView : UIView + +@property (nonnull, nonatomic, strong, readonly) UIImageView *foregroundImageView; +@property (nonnull, nonatomic, strong, readonly) UIView *foregroundContainerView; +/** + The image that the crop view is displaying. This cannot be changed once the crop view is instantiated. + */ +@property (nonnull, nonatomic, strong, readonly) UIImage *image; + +/** + The cropping style of the crop view (eg, rectangular or circular) + */ +@property (nonatomic, assign, readonly) TOCropViewCroppingStyle croppingStyle; + +/** + A grid view overlaid on top of the foreground image view's container. + */ +@property (nonnull, nonatomic, strong, readonly) TOCropOverlayView *gridOverlayView; + +/** + A delegate object that receives notifications from the crop view + */ +@property (nullable, nonatomic, weak) id delegate; + +/** + If false, the user cannot resize the crop box frame using a pan gesture from a corner. + Default vaue is YES. + */ +@property (nonatomic, assign) BOOL cropBoxResizeEnabled; + +/** + Whether the user has manipulated the crop view to the point where it can be reset + */ +@property (nonatomic, readonly) BOOL canBeReset; + +/** + The frame of the cropping box in the coordinate space of the crop view + */ +@property (nonatomic, readonly) CGRect cropBoxFrame; + +/** + The frame of the entire image in the backing scroll view + */ +@property (nonatomic, readonly) CGRect imageViewFrame; + +/** + Inset the workable region of the crop view in case in order to make space for accessory views + */ +@property (nonatomic, assign) UIEdgeInsets cropRegionInsets; + +/** + Disable the dynamic translucency in order to smoothly relayout the view + */ +@property (nonatomic, assign) BOOL simpleRenderMode; + +/** + When performing manual content layout (such as during screen rotation), disable any internal layout + */ +@property (nonatomic, assign) BOOL internalLayoutDisabled; + +/** + A width x height ratio that the crop box will be rescaled to (eg 4:3 is {4.0f, 3.0f}) + Setting it to CGSizeZero will reset the aspect ratio to the image's own ratio. + */ +@property (nonatomic, assign) CGSize aspectRatio; + +/** + When the cropping box is locked to its current aspect ratio (But can still be resized) + */ +@property (nonatomic, assign) BOOL aspectRatioLockEnabled; + +/** + When the user taps 'reset', whether the aspect ratio will also be reset as well + Default is YES + */ +@property (nonatomic, assign) BOOL resetAspectRatioEnabled; + +/** + True when the height of the crop box is bigger than the width + */ +@property (nonatomic, readonly) BOOL cropBoxAspectRatioIsPortrait; + +/** + The rotation angle of the crop view (Will always be negative as it rotates in a counter-clockwise direction) + */ +@property (nonatomic, assign) NSInteger angle; + +/** + Hide all of the crop elements for transition animations + */ +@property (nonatomic, assign) BOOL croppingViewsHidden; + +/** + In relation to the coordinate space of the image, the frame that the crop view is focusing on + */ +@property (nonatomic, assign) CGRect imageCropFrame; + +/** + Set the grid overlay graphic to be hidden + */ +@property (nonatomic, assign) BOOL gridOverlayHidden; + +/** + Create a default instance of the crop view with the supplied image + */ +- (nonnull instancetype)initWithImage:(nonnull UIImage *)image; + +/** + Create a new instance of the crop view with the specified image and cropping + */ +- (nonnull instancetype)initWithCroppingStyle:(TOCropViewCroppingStyle)style image:(nonnull UIImage *)image; + +/** + When performing large size transitions (eg, orientation rotation), + set simple mode to YES to temporarily graphically heavy effects like translucency. + + @param simpleMode Whether simple mode is enabled or not + + */ +- (void)setSimpleRenderMode:(BOOL)simpleMode animated:(BOOL)animated; + +/** + When performing a screen rotation that will change the size of the scroll view, this takes + a snapshot of all of the scroll view data before it gets manipulated by iOS. + Please call this in your view controller, before the rotation animation block is committed. + */ +- (void)prepareforRotation; + +/** + Performs the realignment of the crop view while the screen is rotating. + Please call this inside your view controller's screen rotation animation block. + */ +- (void)performRelayoutForRotation; + +/** + Reset the crop box and zoom scale back to the initial layout + + @param animated The reset is animated + */ +- (void)resetLayoutToDefaultAnimated:(BOOL)animated; + +/** + Changes the aspect ratio of the crop box to match the one specified + + @param aspectRatio The aspect ratio (For example 16:9 is 16.0f/9.0f). 'CGSizeZero' will reset it to the image's own ratio + @param animated Whether the locking effect is animated + */ +- (void)setAspectRatio:(CGSize)aspectRatio animated:(BOOL)animated; + +/** + Rotates the entire canvas to a 90-degree angle. The default rotation is counterclockwise. + + @param animated Whether the transition is animated + */ +- (void)rotateImageNinetyDegreesAnimated:(BOOL)animated; + +/** + Rotates the entire canvas to a 90-degree angle + + @param animated Whether the transition is animated + @param clockwise Whether the rotation is clockwise. Passing 'NO' means counterclockwise + */ +- (void)rotateImageNinetyDegreesAnimated:(BOOL)animated clockwise:(BOOL)clockwise; + +/** + Animate the grid overlay graphic to be visible + */ +- (void)setGridOverlayHidden:(BOOL)gridOverlayHidden animated:(BOOL)animated; + +/** + Animate the cropping component views to become visible + */ +- (void)setCroppingViewsHidden:(BOOL)hidden animated:(BOOL)animated; + +/** + Animate the background image view to become visible + */ +- (void)setBackgroundImageViewHidden:(BOOL)hidden animated:(BOOL)animated; + +/** + When triggered, the crop view will perform a relayout to ensure the crop box + fills the entire crop view region + */ +- (void)moveCroppedContentToCenterAnimated:(BOOL)animated; + +@end diff --git a/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropView.m b/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropView.m new file mode 100755 index 0000000..a4a984a --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/Views/TOCropView.m @@ -0,0 +1,1646 @@ +// +// TOCropView.m +// +// Copyright 2015-2017 Timothy Oliver. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import "TOCropView.h" +#import "TOCropOverlayView.h" +#import "TOCropScrollView.h" + +#define TOCROPVIEW_BACKGROUND_COLOR [UIColor colorWithWhite:0.12f alpha:1.0f] + +static const CGFloat kTOCropViewPadding = 14.0f; +static const NSTimeInterval kTOCropTimerDuration = 0.8f; +static const CGFloat kTOCropViewMinimumBoxSize = 42.0f; +static const CGFloat kTOCropViewCircularPathRadius = 300.0f; + +/* When the user taps down to resize the box, this state is used + to determine where they tapped and how to manipulate the box */ +typedef NS_ENUM(NSInteger, TOCropViewOverlayEdge) { + TOCropViewOverlayEdgeNone, + TOCropViewOverlayEdgeTopLeft, + TOCropViewOverlayEdgeTop, + TOCropViewOverlayEdgeTopRight, + TOCropViewOverlayEdgeRight, + TOCropViewOverlayEdgeBottomRight, + TOCropViewOverlayEdgeBottom, + TOCropViewOverlayEdgeBottomLeft, + TOCropViewOverlayEdgeLeft +}; + +@interface TOCropView () + +@property (nonatomic, strong, readwrite) UIImage *image; +@property (nonatomic, assign, readwrite) TOCropViewCroppingStyle croppingStyle; + +/* Views */ +@property (nonatomic, strong) UIImageView *backgroundImageView; /* The main image view, placed within the scroll view */ +@property (nonatomic, strong) UIView *backgroundContainerView; /* A view which contains the background image view, to separate its transforms from the scroll view. */ +@property (nonatomic, strong) UIImageView *foregroundImageView; /* A copy of the background image view, placed over the dimming views */ +@property (nonatomic, strong) UIView *foregroundContainerView; /* A container view that clips the foreground image view to the crop box frame */ +@property (nonatomic, strong) TOCropScrollView *scrollView; /* The scroll view in charge of panning/zooming the image. */ +@property (nonatomic, strong) UIView *overlayView; /* A semi-transparent grey view, overlaid on top of the background image */ +@property (nonatomic, strong) UIView *translucencyView; /* A blur view that is made visible when the user isn't interacting with the crop view */ +@property (nonatomic, strong) id translucencyEffect; /* The dark blur visual effect applied to the visual effect view. */ +@property (nonatomic, strong, readwrite) TOCropOverlayView *gridOverlayView; /* A grid view overlaid on top of the foreground image view's container. */ +@property (nonatomic, strong) CAShapeLayer *circularMaskLayer; /* Managing the clipping of the foreground container into a circle */ + +/* Gesture Recognizers */ +@property (nonatomic, strong) UIPanGestureRecognizer *gridPanGestureRecognizer; /* The gesture recognizer in charge of controlling the resizing of the crop view */ + +/* Crop box handling */ +@property (nonatomic, assign) BOOL applyInitialCroppedImageFrame; /* No by default, when setting initialCroppedImageFrame this will be set to YES, and set back to NO after first application - so it's only done once */ +@property (nonatomic, assign) TOCropViewOverlayEdge tappedEdge; /* The edge region that the user tapped on, to resize the cropping region */ +@property (nonatomic, assign) CGRect cropOriginFrame; /* When resizing, this is the original frame of the crop box. */ +@property (nonatomic, assign) CGPoint panOriginPoint; /* The initial touch point of the pan gesture recognizer */ +@property (nonatomic, assign, readwrite) CGRect cropBoxFrame; /* The frame, in relation to to this view where the grid, and crop container view are aligned */ +@property (nonatomic, strong) NSTimer *resetTimer; /* The timer used to reset the view after the user stops interacting with it */ +@property (nonatomic, assign) BOOL editing; /* Used to denote the active state of the user manipulating the content */ +@property (nonatomic, assign) BOOL disableForgroundMatching; /* At times during animation, disable matching the forground image view to the background */ + +/* Pre-screen-rotation state information */ +@property (nonatomic, assign) CGPoint rotationContentOffset; +@property (nonatomic, assign) CGSize rotationContentSize; +@property (nonatomic, assign) CGSize rotationBoundSize; + +/* View State information */ +@property (nonatomic, readonly) CGRect contentBounds; /* Give the current screen real-estate, the frame that the scroll view is allowed to use */ +@property (nonatomic, readonly) CGSize imageSize; /* Given the current rotation of the image, the size of the image */ +@property (nonatomic, readonly) BOOL hasAspectRatio; /* True if an aspect ratio was explicitly applied to this crop view */ + +/* 90-degree rotation state data */ +@property (nonatomic, assign) BOOL applyInitialRotatedAngle; /* No by default, when setting initialRotatedAngle this will be set to YES, and set back to NO after first application - so it's only done once */ +@property (nonatomic, assign) CGSize cropBoxLastEditedSize; /* When performing 90-degree rotations, remember what our last manual size was to use that as a base */ +@property (nonatomic, assign) NSInteger cropBoxLastEditedAngle; /* Remember which angle we were at when we saved the editing size */ +@property (nonatomic, assign) CGFloat cropBoxLastEditedZoomScale; /* Remember the zoom size when we last edited */ +@property (nonatomic, assign) CGFloat cropBoxLastEditedMinZoomScale; /* Remember the minimum size when we last edited. */ +@property (nonatomic, assign) BOOL rotateAnimationInProgress; /* Disallow any input while the rotation animation is playing */ + +/* Reset state data */ +@property (nonatomic, assign) CGSize originalCropBoxSize; /* Save the original crop box size so we can tell when the content has been edited */ +@property (nonatomic, assign) CGPoint originalContentOffset; /* Save the original content offset so we can tell if it's been scrolled. */ +@property (nonatomic, assign, readwrite) BOOL canBeReset; + +/* In iOS 9, a new dynamic blur effect became available. */ +@property (nonatomic, assign) BOOL dynamicBlurEffect; + +/* If restoring to a previous crop setting, these properties hang onto the + values until the view is configured for the first time. */ +@property (nonatomic, assign) NSInteger restoreAngle; +@property (nonatomic, assign) CGRect restoreImageCropFrame; + +- (void)setup; + +/* Image layout */ +- (void)layoutInitialImage; +- (void)matchForegroundToBackground; + +/* Crop box handling */ +- (TOCropViewOverlayEdge)cropEdgeForPoint:(CGPoint)point; +- (void)updateCropBoxFrameWithGesturePoint:(CGPoint)point; +- (void)toggleTranslucencyViewVisible:(BOOL)visible; +- (void)updateToImageCropFrame:(CGRect)imageCropframe; + +/* Editing state */ +- (void)setEditing:(BOOL)editing animated:(BOOL)animated; +- (void)startEditing; + +/* Timer handling */ +- (void)startResetTimer; +- (void)timerTriggered; +- (void)cancelResetTimer; + +/* Gesture Recognizers */ +- (void)gridPanGestureRecognized:(UIPanGestureRecognizer *)recognizer; +- (void)longPressGestureRecognized:(UILongPressGestureRecognizer *)recognizer; + +/* Reset state */ +- (void)checkForCanReset; + +/* Capture rotation state (for 90-degree rotation) */ +- (void)captureStateForImageRotation; + +@end + +@implementation TOCropView + +- (instancetype)initWithCroppingStyle:(TOCropViewCroppingStyle)style image:(UIImage *)image +{ + if (self = [super init]) { + _image = image; + _croppingStyle = style; + [self setup]; + } + + return self; +} + +- (instancetype)initWithImage:(UIImage *)image +{ + return [self initWithCroppingStyle:TOCropViewCroppingStyleDefault image:image]; +} + +- (void)setup +{ + __weak typeof(self) weakSelf = self; + + BOOL circularMode = (self.croppingStyle == TOCropViewCroppingStyleCircular); + + //View properties + self.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; + self.backgroundColor = TOCROPVIEW_BACKGROUND_COLOR; + self.cropBoxFrame = CGRectZero; + self.applyInitialCroppedImageFrame = NO; + self.editing = NO; + self.cropBoxResizeEnabled = !circularMode; + self.aspectRatio = circularMode ? (CGSize){1.0f, 1.0f} : CGSizeZero; + self.resetAspectRatioEnabled = !circularMode; + self.restoreImageCropFrame = CGRectZero; + self.restoreAngle = 0; + + /* Dynamic animation blurring is only possible on iOS 9, however since the API was available on iOS 8, + we'll need to manually check the system version to ensure that it's available. */ + self.dynamicBlurEffect = ([[[UIDevice currentDevice] systemVersion] compare:@"9.0" options:NSNumericSearch] != NSOrderedAscending); + + //Scroll View properties + self.scrollView = [[TOCropScrollView alloc] initWithFrame:self.bounds]; + self.scrollView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + self.scrollView.alwaysBounceHorizontal = YES; + self.scrollView.alwaysBounceVertical = YES; + self.scrollView.showsHorizontalScrollIndicator = NO; + self.scrollView.showsVerticalScrollIndicator = NO; + self.scrollView.delegate = self; + [self addSubview:self.scrollView]; + + self.scrollView.touchesBegan = ^{ [weakSelf startEditing]; }; + self.scrollView.touchesEnded = ^{ [weakSelf startResetTimer]; }; + + //Background Image View + self.backgroundImageView = [[UIImageView alloc] initWithImage:self.image]; + self.backgroundImageView.layer.minificationFilter = kCAFilterTrilinear; + + //Background container view + self.backgroundContainerView = [[UIView alloc] initWithFrame:self.backgroundImageView.frame]; + [self.backgroundContainerView addSubview:self.backgroundImageView]; + [self.scrollView addSubview:self.backgroundContainerView]; + + //Grey transparent overlay view + self.overlayView = [[UIView alloc] initWithFrame:self.bounds]; + self.overlayView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + self.overlayView.backgroundColor = [self.backgroundColor colorWithAlphaComponent:0.35f]; + self.overlayView.hidden = NO; + self.overlayView.userInteractionEnabled = NO; + [self addSubview:self.overlayView]; + + //Translucency View + if (NSClassFromString(@"UIVisualEffectView")) { + self.translucencyEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark]; + self.translucencyView = [[UIVisualEffectView alloc] initWithEffect:self.translucencyEffect]; + self.translucencyView.frame = self.bounds; + } + else { + UIToolbar *toolbar = [[UIToolbar alloc] init]; + toolbar.barStyle = UIBarStyleBlack; + self.translucencyView = toolbar; + self.translucencyView.frame = CGRectInset(self.bounds, -1.0f, -1.0f); + } + self.translucencyView.hidden = NO; + self.translucencyView.userInteractionEnabled = NO; + self.translucencyView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + [self addSubview:self.translucencyView]; + + // The forground container that holds the foreground image view + self.foregroundContainerView = [[UIView alloc] initWithFrame:(CGRect){0,0,200,200}]; + self.foregroundContainerView.clipsToBounds = YES; + self.foregroundContainerView.userInteractionEnabled = NO; + [self addSubview:self.foregroundContainerView]; + + self.foregroundImageView = [[UIImageView alloc] initWithImage:self.image]; + self.foregroundImageView.layer.minificationFilter = kCAFilterTrilinear; + [self.foregroundContainerView addSubview:self.foregroundImageView]; + + UIImageView * subView = [self.foregroundContainerView viewWithTag:0x1111]; + subView.layer.minificationFilter = kCAFilterTrilinear; + + + // The following setup isn't needed during circular cropping + if (circularMode) { + UIBezierPath *circlePath = [UIBezierPath bezierPathWithOvalInRect:(CGRect){0,0,kTOCropViewCircularPathRadius, kTOCropViewCircularPathRadius}]; + self.circularMaskLayer = [[CAShapeLayer alloc] init]; + self.circularMaskLayer.path = circlePath.CGPath; + self.foregroundContainerView.layer.mask = self.circularMaskLayer; + + return; + } + + // The white grid overlay view + self.gridOverlayView = [[TOCropOverlayView alloc] initWithFrame:self.foregroundContainerView.frame]; + self.gridOverlayView.userInteractionEnabled = NO; + self.gridOverlayView.gridHidden = YES; + [self addSubview:self.gridOverlayView]; + + // The pan controller to recognize gestures meant to resize the grid view + self.gridPanGestureRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(gridPanGestureRecognized:)]; + self.gridPanGestureRecognizer.delegate = self; + [self.scrollView.panGestureRecognizer requireGestureRecognizerToFail:self.gridPanGestureRecognizer]; + [self addGestureRecognizer:self.gridPanGestureRecognizer]; +} + +#pragma mark - View Layout - +- (void)didMoveToSuperview +{ + [super didMoveToSuperview]; + + //Since this also gets called when getting removed from the superview + if (self.superview == nil) { + return; + } + + //Perform the initial layout of the image + [self layoutInitialImage]; + + // -- State Restoration -- + + //If the angle value was previously set before this point, apply it now + if (self.restoreAngle != 0) { + self.angle = self.restoreAngle; + self.restoreAngle = 0; + } + + //If an image crop frame was also specified before creation, apply it now + if (!CGRectIsEmpty(self.restoreImageCropFrame)) { + self.imageCropFrame = self.restoreImageCropFrame; + self.restoreImageCropFrame = CGRectZero; + } + + //Check if we performed any resetabble modifications + [self checkForCanReset]; +} + +- (void)layoutInitialImage +{ + CGSize imageSize = self.imageSize; + self.scrollView.contentSize = imageSize; + + CGRect bounds = self.contentBounds; + CGSize boundsSize = bounds.size; + + //work out the minimum scale of the object + CGFloat scale = 0.0f; + + // Work out the size of the image to fit into the content bounds + scale = MIN(CGRectGetWidth(bounds)/imageSize.width, CGRectGetHeight(bounds)/imageSize.height); + CGSize scaledImageSize = (CGSize){floorf(imageSize.width * scale), floorf(imageSize.height * scale)}; + + // If an aspect ratio was pre-applied to the crop view, use that to work out the minimum scale the image needs to be to fit + CGSize cropBoxSize = CGSizeZero; + if (self.hasAspectRatio) { + CGFloat ratioScale = (self.aspectRatio.width / self.aspectRatio.height); //Work out the size of the width in relation to height + CGSize fullSizeRatio = (CGSize){boundsSize.height * ratioScale, boundsSize.height}; + CGFloat fitScale = MIN(boundsSize.width/fullSizeRatio.width, boundsSize.height/fullSizeRatio.height); + cropBoxSize = (CGSize){fullSizeRatio.width * fitScale, fullSizeRatio.height * fitScale}; + + scale = MAX(cropBoxSize.width/imageSize.width, cropBoxSize.height/imageSize.height); + } + + //Whether aspect ratio, or original, the final image size we'll base the rest of the calculations off + CGSize scaledSize = (CGSize){floorf(imageSize.width * scale), floorf(imageSize.height * scale)}; + + // Configure the scroll view + self.scrollView.minimumZoomScale = scale; + self.scrollView.maximumZoomScale = 15.0f; + + //Set the crop box to the size we calculated and align in the middle of the screen + CGRect frame = CGRectZero; + frame.size = self.hasAspectRatio ? cropBoxSize : scaledSize; + frame.origin.x = bounds.origin.x + floorf((CGRectGetWidth(bounds) - frame.size.width) * 0.5f); + frame.origin.y = bounds.origin.y + floorf((CGRectGetHeight(bounds) - frame.size.height) * 0.5f); + self.cropBoxFrame = frame; + + //set the fully zoomed out state initially + self.scrollView.zoomScale = self.scrollView.minimumZoomScale; + self.scrollView.contentSize = scaledSize; + + // If we ended up with a smaller crop box than the content, offset it in the middle + if (frame.size.width < scaledSize.width - FLT_EPSILON || frame.size.height < scaledSize.height - FLT_EPSILON) { + CGPoint offset = CGPointZero; + offset.x = -floorf((CGRectGetWidth(self.scrollView.frame) - scaledSize.width) * 0.5f); + offset.y = -floorf((CGRectGetHeight(self.scrollView.frame) - scaledSize.height) * 0.5f); + self.scrollView.contentOffset = offset; + } + + //save the current state for use with 90-degree rotations + self.cropBoxLastEditedAngle = 0; + [self captureStateForImageRotation]; + + //save the size for checking if we're in a resettable state + self.originalCropBoxSize = self.resetAspectRatioEnabled ? scaledImageSize : cropBoxSize; + self.originalContentOffset = self.scrollView.contentOffset; + + [self checkForCanReset]; + [self matchForegroundToBackground]; +} + +- (void)prepareforRotation +{ + self.rotationContentOffset = self.scrollView.contentOffset; + self.rotationContentSize = self.scrollView.contentSize; + self.rotationBoundSize = self.scrollView.bounds.size; +} + +- (void)performRelayoutForRotation +{ + CGRect cropFrame = self.cropBoxFrame; + CGRect contentFrame = self.contentBounds; + + CGFloat scale = MIN(contentFrame.size.width / cropFrame.size.width, contentFrame.size.height / cropFrame.size.height); + self.scrollView.minimumZoomScale *= scale; + self.scrollView.zoomScale *= scale; + + //Work out the centered, upscaled version of the crop rectangle + cropFrame.size.width = floorf(cropFrame.size.width * scale); + cropFrame.size.height = floorf(cropFrame.size.height * scale); + cropFrame.origin.x = floorf(contentFrame.origin.x + ((contentFrame.size.width - cropFrame.size.width) * 0.5f)); + cropFrame.origin.y = floorf(contentFrame.origin.y + ((contentFrame.size.height - cropFrame.size.height) * 0.5f)); + self.cropBoxFrame = cropFrame; + + [self captureStateForImageRotation]; + + //Work out the center point of the content before we rotated + CGPoint oldMidPoint = (CGPoint){self.rotationBoundSize.width * 0.5f, self.rotationBoundSize.height * 0.5f}; + CGPoint contentCenter = (CGPoint){self.rotationContentOffset.x + oldMidPoint.x, self.rotationContentOffset.y + oldMidPoint.y}; + + //Normalize it to a percentage we can apply to different sizes + CGPoint normalizedCenter = CGPointZero; + normalizedCenter.x = contentCenter.x / self.rotationContentSize.width; + normalizedCenter.y = contentCenter.y / self.rotationContentSize.height; + + //Work out the new content offset by applying the normalized values to the new layout + CGPoint newMidPoint = (CGPoint){self.scrollView.bounds.size.width * 0.5f, + self.scrollView.bounds.size.height * 0.5f}; + + CGPoint translatedContentOffset = CGPointZero; + translatedContentOffset.x = self.scrollView.contentSize.width * normalizedCenter.x; + translatedContentOffset.y = self.scrollView.contentSize.height * normalizedCenter.y; + + CGPoint offset = CGPointZero; + offset.x = floorf(translatedContentOffset.x - newMidPoint.x); + offset.y = floorf(translatedContentOffset.y - newMidPoint.y); + + //Make sure it doesn't overshoot the top left corner of the crop box + offset.x = MAX(-self.scrollView.contentInset.left, offset.x); + offset.y = MAX(-self.scrollView.contentInset.top, offset.y); + + //Nor undershoot the bottom right corner + CGPoint maximumOffset = CGPointZero; + maximumOffset.x = (self.bounds.size.width - self.scrollView.contentInset.right) + self.scrollView.contentSize.width; + maximumOffset.y = (self.bounds.size.height - self.scrollView.contentInset.bottom) + self.scrollView.contentSize.height; + offset.x = MIN(offset.x, maximumOffset.x); + offset.y = MIN(offset.y, maximumOffset.y); + self.scrollView.contentOffset = offset; + + //Line up the background instance of the image + [self matchForegroundToBackground]; +} + +- (void)matchForegroundToBackground +{ + if (self.disableForgroundMatching) + return; + + //We can't simply match the frames since if the images are rotated, the frame property becomes unusable + self.foregroundImageView.frame = [self.backgroundContainerView.superview convertRect:self.backgroundContainerView.frame toView:self.foregroundContainerView]; + UIImageView * subView = [self.foregroundContainerView viewWithTag:0x1111]; + subView.frame = self.foregroundImageView.frame; +} + +- (void)updateCropBoxFrameWithGesturePoint:(CGPoint)point +{ + CGRect frame = self.cropBoxFrame; + CGRect originFrame = self.cropOriginFrame; + CGRect contentFrame = self.contentBounds; + + point.x = MAX(contentFrame.origin.x, point.x); + point.y = MAX(contentFrame.origin.y, point.y); + + //The delta between where we first tapped, and where our finger is now + CGFloat xDelta = ceilf(point.x - self.panOriginPoint.x); + CGFloat yDelta = ceilf(point.y - self.panOriginPoint.y); + + //Current aspect ratio of the crop box in case we need to clamp it + CGFloat aspectRatio = (originFrame.size.width / originFrame.size.height); + + //Note whether we're being aspect transformed horizontally or vertically + BOOL aspectHorizontal = NO, aspectVertical = NO; + + //Depending on which corner we drag from, set the appropriate min flag to + //ensure we can properly clamp the XY value of the box if it overruns the minimum size + //(Otherwise the image itself will slide with the drag gesture) + BOOL clampMinFromTop = NO, clampMinFromLeft = NO; + + switch (self.tappedEdge) { + case TOCropViewOverlayEdgeLeft: + if (self.aspectRatioLockEnabled) { + aspectHorizontal = YES; + xDelta = MAX(xDelta, 0); + CGPoint scaleOrigin = (CGPoint){CGRectGetMaxX(originFrame), CGRectGetMidY(originFrame)}; + frame.size.height = frame.size.width / aspectRatio; + frame.origin.y = scaleOrigin.y - (frame.size.height * 0.5f); + } + + frame.origin.x = originFrame.origin.x + xDelta; + frame.size.width = originFrame.size.width - xDelta; + + clampMinFromLeft = YES; + + break; + case TOCropViewOverlayEdgeRight: + if (self.aspectRatioLockEnabled) { + aspectHorizontal = YES; + CGPoint scaleOrigin = (CGPoint){CGRectGetMinX(originFrame), CGRectGetMidY(originFrame)}; + frame.size.height = frame.size.width / aspectRatio; + frame.origin.y = scaleOrigin.y - (frame.size.height * 0.5f); + frame.size.width = originFrame.size.width + xDelta; + frame.size.width = MIN(frame.size.width, contentFrame.size.height * aspectRatio); + } + else { + frame.size.width = originFrame.size.width + xDelta; + } + + break; + case TOCropViewOverlayEdgeBottom: + if (self.aspectRatioLockEnabled) { + aspectVertical = YES; + CGPoint scaleOrigin = (CGPoint){CGRectGetMidX(originFrame), CGRectGetMinY(originFrame)}; + frame.size.width = frame.size.height * aspectRatio; + frame.origin.x = scaleOrigin.x - (frame.size.width * 0.5f); + frame.size.height = originFrame.size.height + yDelta; + frame.size.height = MIN(frame.size.height, contentFrame.size.width / aspectRatio); + } + else { + frame.size.height = originFrame.size.height + yDelta; + } + break; + case TOCropViewOverlayEdgeTop: + if (self.aspectRatioLockEnabled) { + aspectVertical = YES; + yDelta = MAX(0,yDelta); + CGPoint scaleOrigin = (CGPoint){CGRectGetMidX(originFrame), CGRectGetMaxY(originFrame)}; + frame.size.width = frame.size.height * aspectRatio; + frame.origin.x = scaleOrigin.x - (frame.size.width * 0.5f); + frame.origin.y = originFrame.origin.y + yDelta; + frame.size.height = originFrame.size.height - yDelta; + } + else { + frame.origin.y = originFrame.origin.y + yDelta; + frame.size.height = originFrame.size.height - yDelta; + } + + clampMinFromTop = YES; + + break; + case TOCropViewOverlayEdgeTopLeft: + if (self.aspectRatioLockEnabled) { + xDelta = MAX(xDelta, 0); + yDelta = MAX(yDelta, 0); + + CGPoint distance; + distance.x = 1.0f - (xDelta / CGRectGetWidth(originFrame)); + distance.y = 1.0f - (yDelta / CGRectGetHeight(originFrame)); + + CGFloat scale = (distance.x + distance.y) * 0.5f; + + frame.size.width = ceilf(CGRectGetWidth(originFrame) * scale); + frame.size.height = ceilf(CGRectGetHeight(originFrame) * scale); + frame.origin.x = originFrame.origin.x + (CGRectGetWidth(originFrame) - frame.size.width); + frame.origin.y = originFrame.origin.y + (CGRectGetHeight(originFrame) - frame.size.height); + + aspectVertical = YES; + aspectHorizontal = YES; + } + else { + frame.origin.x = originFrame.origin.x + xDelta; + frame.size.width = originFrame.size.width - xDelta; + frame.origin.y = originFrame.origin.y + yDelta; + frame.size.height = originFrame.size.height - yDelta; + } + + clampMinFromTop = YES; + clampMinFromLeft = YES; + + break; + case TOCropViewOverlayEdgeTopRight: + if (self.aspectRatioLockEnabled) { + xDelta = MIN(xDelta, 0); + yDelta = MAX(yDelta, 0); + + CGPoint distance; + distance.x = 1.0f - ((-xDelta) / CGRectGetWidth(originFrame)); + distance.y = 1.0f - ((yDelta) / CGRectGetHeight(originFrame)); + + CGFloat scale = (distance.x + distance.y) * 0.5f; + + frame.size.width = ceilf(CGRectGetWidth(originFrame) * scale); + frame.size.height = ceilf(CGRectGetHeight(originFrame) * scale); + frame.origin.y = originFrame.origin.y + (CGRectGetHeight(originFrame) - frame.size.height); + + aspectVertical = YES; + aspectHorizontal = YES; + } + else { + frame.size.width = originFrame.size.width + xDelta; + frame.origin.y = originFrame.origin.y + yDelta; + frame.size.height = originFrame.size.height - yDelta; + } + + clampMinFromTop = YES; + + break; + case TOCropViewOverlayEdgeBottomLeft: + if (self.aspectRatioLockEnabled) { + CGPoint distance; + distance.x = 1.0f - (xDelta / CGRectGetWidth(originFrame)); + distance.y = 1.0f - (-yDelta / CGRectGetHeight(originFrame)); + + CGFloat scale = (distance.x + distance.y) * 0.5f; + + frame.size.width = ceilf(CGRectGetWidth(originFrame) * scale); + frame.size.height = ceilf(CGRectGetHeight(originFrame) * scale); + frame.origin.x = CGRectGetMaxX(originFrame) - frame.size.width; + + aspectVertical = YES; + aspectHorizontal = YES; + } + else { + frame.size.height = originFrame.size.height + yDelta; + frame.origin.x = originFrame.origin.x + xDelta; + frame.size.width = originFrame.size.width - xDelta; + } + + clampMinFromLeft = YES; + + break; + case TOCropViewOverlayEdgeBottomRight: + if (self.aspectRatioLockEnabled) { + + CGPoint distance; + distance.x = 1.0f - ((-1 * xDelta) / CGRectGetWidth(originFrame)); + distance.y = 1.0f - ((-1 * yDelta) / CGRectGetHeight(originFrame)); + + CGFloat scale = (distance.x + distance.y) * 0.5f; + + frame.size.width = ceilf(CGRectGetWidth(originFrame) * scale); + frame.size.height = ceilf(CGRectGetHeight(originFrame) * scale); + + aspectVertical = YES; + aspectHorizontal = YES; + } + else { + frame.size.height = originFrame.size.height + yDelta; + frame.size.width = originFrame.size.width + xDelta; + } + break; + case TOCropViewOverlayEdgeNone: break; + } + + //The absolute max/min size the box may be in the bounds of the crop view + CGSize minSize = (CGSize){kTOCropViewMinimumBoxSize, kTOCropViewMinimumBoxSize}; + CGSize maxSize = (CGSize){CGRectGetWidth(contentFrame), CGRectGetHeight(contentFrame)}; + + //clamp the box to ensure it doesn't go beyond the bounds we've set + if (self.aspectRatioLockEnabled && aspectHorizontal) { + maxSize.height = contentFrame.size.width / aspectRatio; + minSize.width = kTOCropViewMinimumBoxSize * aspectRatio; + } + + if (self.aspectRatioLockEnabled && aspectVertical) { + maxSize.width = contentFrame.size.height * aspectRatio; + minSize.height = kTOCropViewMinimumBoxSize / aspectRatio; + } + + //Clamp the minimum size + frame.size.width = MAX(frame.size.width, minSize.width); + frame.size.height = MAX(frame.size.height, minSize.height); + + //Clamp the maximum size + frame.size.width = MIN(frame.size.width, maxSize.width); + frame.size.height = MIN(frame.size.height, maxSize.height); + + //Clamp the X position of the box to the interior of the cropping bounds + frame.origin.x = MAX(frame.origin.x, CGRectGetMinX(contentFrame)); + frame.origin.x = MIN(frame.origin.x, CGRectGetMaxX(contentFrame) - minSize.width); + + //Clamp the Y postion of the box to the interior of the cropping bounds + frame.origin.y = MAX(frame.origin.y, CGRectGetMinY(contentFrame)); + frame.origin.y = MIN(frame.origin.y, CGRectGetMaxY(contentFrame) - minSize.height); + + //Once the box is completely shrunk, clamp its ability to move + if (clampMinFromLeft && frame.size.width <= minSize.width + FLT_EPSILON) { + frame.origin.x = CGRectGetMaxX(originFrame) - minSize.width; + } + + //Once the box is completely shrunk, clamp its ability to move + if (clampMinFromTop && frame.size.height <= minSize.height + FLT_EPSILON) { + frame.origin.y = CGRectGetMaxY(originFrame) - minSize.height; + } + + self.cropBoxFrame = frame; + + [self checkForCanReset]; +} + +- (void)resetLayoutToDefaultAnimated:(BOOL)animated +{ + // If resetting the crop view includes resetting the aspect ratio, + // reset it to zero here. But set the ivar directly since there's no point + // in performing the relayout calculations right before a reset. + if (self.hasAspectRatio && self.resetAspectRatioEnabled) { + _aspectRatio = CGSizeZero; + } + + if (animated == NO || self.angle != 0) { + //Reset all of the rotation transforms + _angle = 0; + + //Set the scroll to 1.0f to reset the transform scale + self.scrollView.zoomScale = 1.0f; + + CGRect imageRect = (CGRect){CGPointZero, self.image.size}; + + //Reset everything about the background container and image views + self.backgroundImageView.transform = CGAffineTransformIdentity; + self.backgroundContainerView.transform = CGAffineTransformIdentity; + self.backgroundImageView.frame = imageRect; + self.backgroundContainerView.frame = imageRect; + + //Reset the transform ans size of just the foreground image + self.foregroundImageView.transform = CGAffineTransformIdentity; + self.foregroundImageView.frame = imageRect; + UIImageView * subView = [self.foregroundContainerView viewWithTag:0x1111]; + subView.transform = CGAffineTransformIdentity; + subView.frame = imageRect; + + //Reset the layout + [self layoutInitialImage]; + + //Enable / Disable the reset button + [self checkForCanReset]; + + return; + } + + //If we were in the middle of a reset timer, cancel it as we'll + //manually perform a restoration animation here + if (self.resetTimer) { + [self cancelResetTimer]; + [self setEditing:NO animated:NO]; + } + + [self setSimpleRenderMode:YES animated:NO]; + + //Perform an animation of the image zooming back out to its original size + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.01f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [UIView animateWithDuration:0.5f delay:0.0f usingSpringWithDamping:1.0f initialSpringVelocity:1.0f options:UIViewAnimationOptionBeginFromCurrentState animations:^{ + [self layoutInitialImage]; + } completion:^(BOOL complete) { + [self setSimpleRenderMode:NO animated:YES]; + }]; + }); +} + +- (void)toggleTranslucencyViewVisible:(BOOL)visible +{ + if (self.dynamicBlurEffect == NO) { + self.translucencyView.alpha = visible ? 1.0f : 0.0f; + } + else { + [(UIVisualEffectView *)self.translucencyView setEffect:visible ? self.translucencyEffect : nil]; + } +} + +- (void)updateToImageCropFrame:(CGRect)imageCropframe +{ + //Convert the image crop frame's size from image space to the screen space + CGFloat minimumSize = self.scrollView.minimumZoomScale; + CGPoint scaledOffset = (CGPoint){imageCropframe.origin.x * minimumSize, imageCropframe.origin.y * minimumSize}; + CGSize scaledCropSize = (CGSize){imageCropframe.size.width * minimumSize, imageCropframe.size.height * minimumSize}; + + // Work out the scale necessary to upscale the crop size to fit the content bounds of the crop bound + CGRect bounds = self.contentBounds; + CGFloat scale = MIN(bounds.size.width / scaledCropSize.width, bounds.size.height / scaledCropSize.height); + + // Zoom into the scroll view to the appropriate size + self.scrollView.zoomScale = self.scrollView.minimumZoomScale * scale; + + // Work out the size and offset of the upscaed crop box + CGRect frame = CGRectZero; + frame.size = (CGSize){scaledCropSize.width * scale, scaledCropSize.height * scale}; + + //set the crop box + CGRect cropBoxFrame = CGRectZero; + cropBoxFrame.size = frame.size; + cropBoxFrame.origin.x = (self.bounds.size.width - frame.size.width) * 0.5f; + cropBoxFrame.origin.y = (self.bounds.size.height - frame.size.height) * 0.5f; + self.cropBoxFrame = cropBoxFrame; + + frame.origin.x = (scaledOffset.x * scale) - self.scrollView.contentInset.left; + frame.origin.y = (scaledOffset.y * scale) - self.scrollView.contentInset.top; + self.scrollView.contentOffset = frame.origin; +} + +#pragma mark - Gesture Recognizer - +- (void)gridPanGestureRecognized:(UIPanGestureRecognizer *)recognizer +{ + CGPoint point = [recognizer locationInView:self]; + + if (recognizer.state == UIGestureRecognizerStateBegan) { + [self startEditing]; + self.panOriginPoint = point; + self.cropOriginFrame = self.cropBoxFrame; + self.tappedEdge = [self cropEdgeForPoint:self.panOriginPoint]; + } + + if (recognizer.state == UIGestureRecognizerStateEnded) + [self startResetTimer]; + + [self updateCropBoxFrameWithGesturePoint:point]; +} + +- (void)longPressGestureRecognized:(UILongPressGestureRecognizer *)recognizer +{ + if (recognizer.state == UIGestureRecognizerStateBegan) + [self.gridOverlayView setGridHidden:NO animated:YES]; + + if (recognizer.state == UIGestureRecognizerStateEnded) + [self.gridOverlayView setGridHidden:YES animated:YES]; +} + +- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer +{ + if (gestureRecognizer != self.gridPanGestureRecognizer) + return YES; + + CGPoint tapPoint = [gestureRecognizer locationInView:self]; + + CGRect frame = self.gridOverlayView.frame; + CGRect innerFrame = CGRectInset(frame, 22.0f, 22.0f); + CGRect outerFrame = CGRectInset(frame, -22.0f, -22.0f); + + if (CGRectContainsPoint(innerFrame, tapPoint) || !CGRectContainsPoint(outerFrame, tapPoint)) + return NO; + + return YES; +} + +- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch +{ + if (self.gridPanGestureRecognizer.state == UIGestureRecognizerStateChanged) { + return NO; + } + return YES; +} + +#pragma mark - Timer - +- (void)startResetTimer +{ + if (self.resetTimer) + return; + + self.resetTimer = [NSTimer scheduledTimerWithTimeInterval:kTOCropTimerDuration target:self selector:@selector(timerTriggered) userInfo:nil repeats:NO]; +} + +- (void)timerTriggered +{ + [self setEditing:NO animated:YES]; + [self.resetTimer invalidate]; + self.resetTimer = nil; +} + +- (void)cancelResetTimer +{ + [self.resetTimer invalidate]; + self.resetTimer = nil; +} + +- (TOCropViewOverlayEdge)cropEdgeForPoint:(CGPoint)point +{ + CGRect frame = self.cropBoxFrame; + + //account for padding around the box + frame = CGRectInset(frame, -32.0f, -32.0f); + + //Make sure the corners take priority + CGRect topLeftRect = (CGRect){frame.origin, {64,64}}; + if (CGRectContainsPoint(topLeftRect, point)) + return TOCropViewOverlayEdgeTopLeft; + + CGRect topRightRect = topLeftRect; + topRightRect.origin.x = CGRectGetMaxX(frame) - 64.0f; + if (CGRectContainsPoint(topRightRect, point)) + return TOCropViewOverlayEdgeTopRight; + + CGRect bottomLeftRect = topLeftRect; + bottomLeftRect.origin.y = CGRectGetMaxY(frame) - 64.0f; + if (CGRectContainsPoint(bottomLeftRect, point)) + return TOCropViewOverlayEdgeBottomLeft; + + CGRect bottomRightRect = topRightRect; + bottomRightRect.origin.y = bottomLeftRect.origin.y; + if (CGRectContainsPoint(bottomRightRect, point)) + return TOCropViewOverlayEdgeBottomRight; + + //Check for edges + CGRect topRect = (CGRect){frame.origin, {CGRectGetWidth(frame), 64.0f}}; + if (CGRectContainsPoint(topRect, point)) + return TOCropViewOverlayEdgeTop; + + CGRect bottomRect = topRect; + bottomRect.origin.y = CGRectGetMaxY(frame) - 64.0f; + if (CGRectContainsPoint(bottomRect, point)) + return TOCropViewOverlayEdgeBottom; + + CGRect leftRect = (CGRect){frame.origin, {64.0f, CGRectGetHeight(frame)}}; + if (CGRectContainsPoint(leftRect, point)) + return TOCropViewOverlayEdgeLeft; + + CGRect rightRect = leftRect; + rightRect.origin.x = CGRectGetMaxX(frame) - 64.0f; + if (CGRectContainsPoint(rightRect, point)) + return TOCropViewOverlayEdgeRight; + + return TOCropViewOverlayEdgeNone; +} + +#pragma mark - Scroll View Delegate - + +- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView { return self.backgroundContainerView; } +- (void)scrollViewDidScroll:(UIScrollView *)scrollView { [self matchForegroundToBackground]; } + +- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView +{ + [self startEditing]; + self.canBeReset = YES; +} + +- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view +{ + [self startEditing]; + self.canBeReset = YES; +} + +- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView +{ + [self startResetTimer]; + [self checkForCanReset]; +} + +- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale { + [self startResetTimer]; + [self checkForCanReset]; +} + +- (void)scrollViewDidZoom:(UIScrollView *)scrollView +{ + if (scrollView.isTracking) { + self.cropBoxLastEditedZoomScale = scrollView.zoomScale; + self.cropBoxLastEditedMinZoomScale = scrollView.minimumZoomScale; + } + + [self matchForegroundToBackground]; +} + +- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate +{ + if (!decelerate) + [self startResetTimer]; +} + +#pragma mark - Accessors - + +- (void)setCropBoxResizeEnabled:(BOOL)panResizeEnabled { + _cropBoxResizeEnabled = panResizeEnabled; + self.gridPanGestureRecognizer.enabled = _cropBoxResizeEnabled; +} + +- (void)setCropBoxFrame:(CGRect)cropBoxFrame +{ + if (CGRectEqualToRect(cropBoxFrame, _cropBoxFrame)) + return; + + //Upon init, sometimes the box size is still 0, which can result in CALayer issues + if (cropBoxFrame.size.width < FLT_EPSILON || cropBoxFrame.size.height < FLT_EPSILON) + return; + + //clamp the cropping region to the inset boundaries of the screen + CGRect contentFrame = self.contentBounds; + CGFloat xOrigin = ceilf(contentFrame.origin.x); + CGFloat xDelta = cropBoxFrame.origin.x - xOrigin; + cropBoxFrame.origin.x = floorf(MAX(cropBoxFrame.origin.x, xOrigin)); + if (xDelta < -FLT_EPSILON) //If we clamp the x value, ensure we compensate for the subsequent delta generated in the width (Or else, the box will keep growing) + cropBoxFrame.size.width += xDelta; + + CGFloat yOrigin = ceilf(contentFrame.origin.y); + CGFloat yDelta = cropBoxFrame.origin.y - yOrigin; + cropBoxFrame.origin.y = floorf(MAX(cropBoxFrame.origin.y, yOrigin)); + if (yDelta < -FLT_EPSILON) + cropBoxFrame.size.height += yDelta; + + //given the clamped X/Y values, make sure we can't extend the crop box beyond the edge of the screen in the current state + CGFloat maxWidth = (contentFrame.size.width + contentFrame.origin.x) - cropBoxFrame.origin.x; + cropBoxFrame.size.width = floorf(MIN(cropBoxFrame.size.width, maxWidth)); + + CGFloat maxHeight = (contentFrame.size.height + contentFrame.origin.y) - cropBoxFrame.origin.y; + cropBoxFrame.size.height = floorf(MIN(cropBoxFrame.size.height, maxHeight)); + + //Make sure we can't make the crop box too small + cropBoxFrame.size.width = MAX(cropBoxFrame.size.width, kTOCropViewMinimumBoxSize); + cropBoxFrame.size.height = MAX(cropBoxFrame.size.height, kTOCropViewMinimumBoxSize); + + _cropBoxFrame = cropBoxFrame; + + self.foregroundContainerView.frame = _cropBoxFrame; //set the clipping view to match the new rect + self.gridOverlayView.frame = _cropBoxFrame; //set the new overlay view to match the same region + + // If the mask layer is present, adjust its transform to fit the new container view size + if (self.circularMaskLayer) { + CGFloat scale = _cropBoxFrame.size.width / kTOCropViewCircularPathRadius; + self.circularMaskLayer.transform = CATransform3DScale(CATransform3DIdentity, scale, scale, 1.0f); + } + + //reset the scroll view insets to match the region of the new crop rect + self.scrollView.contentInset = (UIEdgeInsets){CGRectGetMinY(_cropBoxFrame), + CGRectGetMinX(_cropBoxFrame), + CGRectGetMaxY(self.bounds) - CGRectGetMaxY(_cropBoxFrame), + CGRectGetMaxX(self.bounds) - CGRectGetMaxX(_cropBoxFrame)}; + + //if necessary, work out the new minimum size of the scroll view so it fills the crop box + CGSize imageSize = self.backgroundContainerView.bounds.size; + CGFloat scale = MAX(cropBoxFrame.size.height/imageSize.height, cropBoxFrame.size.width/imageSize.width); + self.scrollView.minimumZoomScale = scale; + + //make sure content isn't smaller than the crop box + CGSize size = self.scrollView.contentSize; + size.width = floorf(size.width); + size.height = floorf(size.height); + self.scrollView.contentSize = size; + + //IMPORTANT: Force the scroll view to update its content after changing the zoom scale + self.scrollView.zoomScale = self.scrollView.zoomScale; + + [self matchForegroundToBackground]; //re-align the background content to match +} + +- (void)setEditing:(BOOL)editing +{ + [self setEditing:editing animated:NO]; +} + +- (void)setSimpleRenderMode:(BOOL)simpleMode +{ + [self setSimpleRenderMode:simpleMode animated:NO]; +} + +- (BOOL)cropBoxAspectRatioIsPortrait +{ + CGRect cropFrame = self.cropBoxFrame; + return CGRectGetWidth(cropFrame) < CGRectGetHeight(cropFrame); +} + +- (CGRect)imageCropFrame +{ + CGSize imageSize = self.imageSize; + CGSize contentSize = self.scrollView.contentSize; + CGRect cropBoxFrame = self.cropBoxFrame; + CGPoint contentOffset = self.scrollView.contentOffset; + UIEdgeInsets edgeInsets = self.scrollView.contentInset; + + CGRect frame = CGRectZero; + frame.origin.x = floorf((contentOffset.x + edgeInsets.left) * (imageSize.width / contentSize.width)); + frame.origin.x = MAX(0, frame.origin.x); + + frame.origin.y = floorf((contentOffset.y + edgeInsets.top) * (imageSize.height / contentSize.height)); + frame.origin.y = MAX(0, frame.origin.y); + + frame.size.width = ceilf(cropBoxFrame.size.width * (imageSize.width / contentSize.width)); + frame.size.width = MIN(imageSize.width, frame.size.width); + + frame.size.height = ceilf(cropBoxFrame.size.height * (imageSize.height / contentSize.height)); + frame.size.height = MIN(imageSize.height, frame.size.height); + + return frame; +} + +- (void)setImageCropFrame:(CGRect)imageCropFrame +{ + if (self.superview == nil) { + self.restoreImageCropFrame = imageCropFrame; + return; + } + + [self updateToImageCropFrame:imageCropFrame]; +} + +- (void)setCroppingViewsHidden:(BOOL)hidden +{ + [self setCroppingViewsHidden:hidden animated:NO]; +} + +- (void)setCroppingViewsHidden:(BOOL)hidden animated:(BOOL)animated +{ + if (_croppingViewsHidden == hidden) + return; + + _croppingViewsHidden = hidden; + + CGFloat alpha = hidden ? 0.0f : 1.0f; + + if (animated == NO) { + self.backgroundImageView.alpha = alpha; + self.foregroundContainerView.alpha = alpha; + self.gridOverlayView.alpha = alpha; + + [self toggleTranslucencyViewVisible:!hidden]; + + return; + } + + self.foregroundContainerView.alpha = alpha; + self.backgroundImageView.alpha = alpha; + + [UIView animateWithDuration:0.4f animations:^{ + [self toggleTranslucencyViewVisible:!hidden]; + self.gridOverlayView.alpha = alpha; + }]; +} + +- (void)setBackgroundImageViewHidden:(BOOL)hidden animated:(BOOL)animated +{ + if (animated == NO) { + self.backgroundImageView.hidden = hidden; + return; + } + + CGFloat beforeAlpha = hidden ? 1.0f : 0.0f; + CGFloat toAlpha = hidden ? 0.0f : 1.0f; + + self.backgroundImageView.hidden = NO; + self.backgroundImageView.alpha = beforeAlpha; + [UIView animateWithDuration:0.5f animations:^{ + self.backgroundImageView.alpha = toAlpha; + }completion:^(BOOL complete) { + if (hidden) { + self.backgroundImageView.hidden = YES; + } + }]; +} + +- (void)setGridOverlayHidden:(BOOL)gridOverlayHidden +{ + [self setGridOverlayHidden:_gridOverlayHidden animated:NO]; +} + +- (void)setGridOverlayHidden:(BOOL)gridOverlayHidden animated:(BOOL)animated +{ + _gridOverlayHidden = gridOverlayHidden; + self.gridOverlayView.alpha = gridOverlayHidden ? 1.0f : 0.0f; + + [UIView animateWithDuration:0.4f animations:^{ + self.gridOverlayView.alpha = gridOverlayHidden ? 0.0f : 1.0f; + }]; +} + +- (CGRect)imageViewFrame +{ + CGRect frame = CGRectZero; + frame.origin.x = -self.scrollView.contentOffset.x; + frame.origin.y = -self.scrollView.contentOffset.y; + frame.size = self.scrollView.contentSize; + return frame; +} + +- (void)setCanBeReset:(BOOL)canReset +{ + if (canReset == _canBeReset) { + return; + } + + _canBeReset = canReset; + + if (canReset) { + if ([self.delegate respondsToSelector:@selector(cropViewDidBecomeResettable:)]) + [self.delegate cropViewDidBecomeResettable:self]; + } + else { + if ([self.delegate respondsToSelector:@selector(cropViewDidBecomeNonResettable:)]) + [self.delegate cropViewDidBecomeNonResettable:self]; + } +} + +- (void)setAngle:(NSInteger)angle +{ + //The initial layout would not have been performed yet. + //Save the value and it will be applied when it has + NSInteger newAngle = angle; + if (angle % 90 != 0) { + newAngle = 0; + } + + if (self.superview == nil) { + self.restoreAngle = newAngle; + return; + } + + while (labs(self.angle) != labs(newAngle)) { + [self rotateImageNinetyDegreesAnimated:NO]; + } +} + +#pragma mark - Editing Mode - +- (void)startEditing +{ + [self cancelResetTimer]; + [self setEditing:YES animated:YES]; +} + +- (void)setEditing:(BOOL)editing animated:(BOOL)animated +{ + if (editing == _editing) + return; + + _editing = editing; + + [self.gridOverlayView setGridHidden:!editing animated:animated]; + + if (editing == NO) { + [self moveCroppedContentToCenterAnimated:animated]; + [self captureStateForImageRotation]; + self.cropBoxLastEditedAngle = self.angle; + } + + if (animated == NO) { + [self toggleTranslucencyViewVisible:!editing]; + return; + } + + CGFloat duration = editing ? 0.05f : 0.35f; + CGFloat delay = editing? 0.0f : 0.35f; + + if (self.croppingStyle == TOCropViewCroppingStyleCircular) { + delay = 0.0f; + } + + [UIView animateKeyframesWithDuration:duration delay:delay options:0 animations:^{ + [self toggleTranslucencyViewVisible:!editing]; + } completion:nil]; +} + +- (void)moveCroppedContentToCenterAnimated:(BOOL)animated +{ + if (self.internalLayoutDisabled) + return; + + CGRect contentRect = self.contentBounds; + CGRect cropFrame = self.cropBoxFrame; + + // Ensure we only proceed after the crop frame has been setup for the first time + if (cropFrame.size.width < FLT_EPSILON || cropFrame.size.height < FLT_EPSILON) { + return; + } + + //The scale we need to scale up the crop box to fit full screen + CGFloat scale = MIN(CGRectGetWidth(contentRect)/CGRectGetWidth(cropFrame), CGRectGetHeight(contentRect)/CGRectGetHeight(cropFrame)); + + CGPoint focusPoint = (CGPoint){CGRectGetMidX(cropFrame), CGRectGetMidY(cropFrame)}; + CGPoint midPoint = (CGPoint){CGRectGetMidX(contentRect), CGRectGetMidY(contentRect)}; + + cropFrame.size.width = ceilf(cropFrame.size.width * scale); + cropFrame.size.height = ceilf(cropFrame.size.height * scale); + cropFrame.origin.x = contentRect.origin.x + ceilf((contentRect.size.width - cropFrame.size.width) * 0.5f); + cropFrame.origin.y = contentRect.origin.y + ceilf((contentRect.size.height - cropFrame.size.height) * 0.5f); + + //Work out the point on the scroll content that the focusPoint is aiming at + CGPoint contentTargetPoint = CGPointZero; + contentTargetPoint.x = ((focusPoint.x + self.scrollView.contentOffset.x) * scale); + contentTargetPoint.y = ((focusPoint.y + self.scrollView.contentOffset.y) * scale); + + //Work out where the crop box is focusing, so we can re-align to center that point + __block CGPoint offset = CGPointZero; + offset.x = -midPoint.x + contentTargetPoint.x; + offset.y = -midPoint.y + contentTargetPoint.y; + + //clamp the content so it doesn't create any seams around the grid + offset.x = MAX(-cropFrame.origin.x, offset.x); + offset.y = MAX(-cropFrame.origin.y, offset.y); + + __weak typeof(self) weakSelf = self; + void (^translateBlock)() = ^{ + typeof(self) strongSelf = weakSelf; + + // Setting these scroll view properties will trigger + // the foreground matching method via their delegates, + // multiple times inside the same animation block, resulting + // in glitchy animations. + // + // Disable matching for now, and explicitly update at the end. + strongSelf.disableForgroundMatching = YES; + { + // Slight hack. This method needs to be called during `[UIViewController viewDidLayoutSubviews]` + // in order for the crop view to resize itself during iPad split screen events. + // On the first run, even though scale is exactly 1.0f, performing this multiplication introduces + // a floating point noise that zooms the image in by about 5 pixels. This fixes that issue. + if (scale < 1.0f - FLT_EPSILON || scale > 1.0f + FLT_EPSILON) { + strongSelf.scrollView.zoomScale *= scale; + strongSelf.scrollView.zoomScale = MIN(strongSelf.scrollView.maximumZoomScale, strongSelf.scrollView.zoomScale); + } + + // If it turns out the zoom operation would have exceeded the minizum zoom scale, don't apply + // the content offset + if (strongSelf.scrollView.zoomScale < strongSelf.scrollView.maximumZoomScale - FLT_EPSILON) { + offset.x = MIN(-CGRectGetMaxX(cropFrame)+strongSelf.scrollView.contentSize.width, offset.x); + offset.y = MIN(-CGRectGetMaxY(cropFrame)+strongSelf.scrollView.contentSize.height, offset.y); + strongSelf.scrollView.contentOffset = offset; + } + + strongSelf.cropBoxFrame = cropFrame; + } + strongSelf.disableForgroundMatching = NO; + + //Explicitly update the matching at the end of the calculations + [strongSelf matchForegroundToBackground]; + }; + + if (!animated) { + translateBlock(); + return; + } + + [self matchForegroundToBackground]; + + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.01f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [UIView animateWithDuration:0.5f + delay:0.0f + usingSpringWithDamping:1.0f + initialSpringVelocity:1.0f + options:UIViewAnimationOptionBeginFromCurrentState + animations:translateBlock + completion:nil]; + }); +} + +- (void)setSimpleRenderMode:(BOOL)simpleMode animated:(BOOL)animated +{ + if (simpleMode == _simpleRenderMode) + return; + + _simpleRenderMode = simpleMode; + + self.editing = NO; + + if (animated == NO) { + [self toggleTranslucencyViewVisible:!simpleMode]; + + return; + } + + [UIView animateWithDuration:0.25f animations:^{ + [self toggleTranslucencyViewVisible:!simpleMode]; + }]; +} + +- (void)setAspectRatio:(CGSize)aspectRatio +{ + [self setAspectRatio:aspectRatio animated:NO]; +} + +- (void)setAspectRatio:(CGSize)aspectRatio animated:(BOOL)animated +{ + _aspectRatio = aspectRatio; + + // Will be executed automatically when added to a super view + if (self.superview == nil) { + return; + } + + // Passing in an empty size will revert back to the image aspect ratio + if (aspectRatio.width < FLT_EPSILON && aspectRatio.height < FLT_EPSILON) { + aspectRatio = (CGSize){self.imageSize.width, self.imageSize.height}; + } + + CGRect boundsFrame = self.contentBounds; + CGRect cropBoxFrame = self.cropBoxFrame; + CGPoint offset = self.scrollView.contentOffset; + + BOOL cropBoxIsPortrait = NO; + if ((NSInteger)aspectRatio.width == 1 && (NSInteger)aspectRatio.height == 1) + cropBoxIsPortrait = self.image.size.width > self.image.size.height; + else + cropBoxIsPortrait = aspectRatio.width < aspectRatio.height; + + BOOL zoomOut = NO; + if (cropBoxIsPortrait) { + CGFloat newWidth = floorf(cropBoxFrame.size.height * (aspectRatio.width/aspectRatio.height)); + CGFloat delta = cropBoxFrame.size.width - newWidth; + cropBoxFrame.size.width = newWidth; + offset.x += (delta * 0.5f); + + if (delta < FLT_EPSILON) + cropBoxFrame.origin.x = self.contentBounds.origin.x; //set to 0 to avoid accidental clamping by the crop frame sanitizer + + CGFloat boundsWidth = CGRectGetWidth(boundsFrame); + if (newWidth > boundsWidth) { + CGFloat scale = boundsWidth / newWidth; + cropBoxFrame.size.height *= scale; + cropBoxFrame.size.width = boundsWidth; + zoomOut = YES; + } + } + else { + CGFloat newHeight = floorf(cropBoxFrame.size.width * (aspectRatio.height/aspectRatio.width)); + CGFloat delta = cropBoxFrame.size.height - newHeight; + cropBoxFrame.size.height = newHeight; + offset.y += (delta * 0.5f); + + if (delta < FLT_EPSILON) + cropBoxFrame.origin.x = self.contentBounds.origin.y; + + CGFloat boundsHeight = CGRectGetHeight(boundsFrame); + if (newHeight > boundsHeight) { + CGFloat scale = boundsHeight / newHeight; + cropBoxFrame.size.width *= scale; + cropBoxFrame.size.height = boundsHeight; + zoomOut = YES; + } + } + + self.cropBoxLastEditedSize = cropBoxFrame.size; + self.cropBoxLastEditedAngle = self.angle; + + void (^translateBlock)() = ^{ + self.scrollView.contentOffset = offset; + self.cropBoxFrame = cropBoxFrame; + + if (zoomOut) + self.scrollView.zoomScale = self.scrollView.minimumZoomScale; + + [self moveCroppedContentToCenterAnimated:NO]; + [self checkForCanReset]; + }; + + if (animated == NO) { + translateBlock(); + return; + } + + [UIView animateWithDuration:0.5f + delay:0.0 + usingSpringWithDamping:1.0f + initialSpringVelocity:0.7f + options:UIViewAnimationOptionBeginFromCurrentState + animations:translateBlock + completion:nil]; +} + +- (void)rotateImageNinetyDegreesAnimated:(BOOL)animated +{ + [self rotateImageNinetyDegreesAnimated:animated clockwise:NO]; +} + +- (void)rotateImageNinetyDegreesAnimated:(BOOL)animated clockwise:(BOOL)clockwise +{ + //Only allow one rotation animation at a time + if (self.rotateAnimationInProgress) + return; + + //Cancel any pending resizing timers + if (self.resetTimer) { + [self cancelResetTimer]; + [self setEditing:NO animated:NO]; + + self.cropBoxLastEditedAngle = self.angle; + [self captureStateForImageRotation]; + } + + //Work out the new angle, and wrap around once we exceed 360s + NSInteger newAngle = self.angle; + newAngle = clockwise ? newAngle + 90 : newAngle - 90; + if (newAngle <= -360 || newAngle >= 360) + newAngle = 0; + + _angle = newAngle; + + //Convert the new angle to radians + CGFloat angleInRadians = 0.0f; + switch (newAngle) { + case 90: angleInRadians = M_PI_2; break; + case -90: angleInRadians = -M_PI_2; break; + case 180: angleInRadians = M_PI; break; + case -180: angleInRadians = -M_PI; break; + case 270: angleInRadians = (M_PI + M_PI_2); break; + case -270: angleInRadians = -(M_PI + M_PI_2); break; + default: break; + } + + // Set up the transformation matrix for the rotation + CGAffineTransform rotation = CGAffineTransformRotate(CGAffineTransformIdentity, angleInRadians); + + //Work out how much we'll need to scale everything to fit to the new rotation + CGRect contentBounds = self.contentBounds; + CGRect cropBoxFrame = self.cropBoxFrame; + CGFloat scale = MIN(contentBounds.size.width / cropBoxFrame.size.height, contentBounds.size.height / cropBoxFrame.size.width); + + //Work out which section of the image we're currently focusing at + CGPoint cropMidPoint = (CGPoint){CGRectGetMidX(cropBoxFrame), CGRectGetMidY(cropBoxFrame)}; + CGPoint cropTargetPoint = (CGPoint){cropMidPoint.x + self.scrollView.contentOffset.x, cropMidPoint.y + self.scrollView.contentOffset.y}; + + //Work out the dimensions of the crop box when rotated + CGRect newCropFrame = CGRectZero; + if (labs(self.angle) == labs(self.cropBoxLastEditedAngle) || (labs(self.angle)*-1) == ((labs(self.cropBoxLastEditedAngle) - 180) % 360)) { + newCropFrame.size = self.cropBoxLastEditedSize; + + self.scrollView.minimumZoomScale = self.cropBoxLastEditedMinZoomScale; + self.scrollView.zoomScale = self.cropBoxLastEditedZoomScale; + } + else { + newCropFrame.size = (CGSize){floorf(self.cropBoxFrame.size.height * scale), floorf(self.cropBoxFrame.size.width * scale)}; + + //Re-adjust the scrolling dimensions of the scroll view to match the new size + self.scrollView.minimumZoomScale *= scale; + self.scrollView.zoomScale *= scale; + } + + newCropFrame.origin.x = floorf((CGRectGetWidth(self.bounds) - newCropFrame.size.width) * 0.5f); + newCropFrame.origin.y = floorf((CGRectGetHeight(self.bounds) - newCropFrame.size.height) * 0.5f); + + //If we're animated, generate a snapshot view that we'll animate in place of the real view + UIView *snapshotView = nil; + if (animated) { + snapshotView = [self.foregroundContainerView snapshotViewAfterScreenUpdates:NO]; + self.rotateAnimationInProgress = YES; + } + + //Rotate the background image view, inside its container view + self.backgroundImageView.transform = rotation; + + //Flip the width/height of the container view so it matches the rotated image view's size + CGSize containerSize = self.backgroundContainerView.frame.size; + self.backgroundContainerView.frame = (CGRect){CGPointZero, {containerSize.height, containerSize.width}}; + self.backgroundImageView.frame = (CGRect){CGPointZero, self.backgroundImageView.frame.size}; + + //Rotate the foreground image view to match + self.foregroundContainerView.transform = CGAffineTransformIdentity; + self.foregroundImageView.transform = rotation; + UIImageView * subView = [self.foregroundContainerView viewWithTag:0x1111]; + subView.transform = CGAffineTransformIdentity; + subView.transform = rotation; + + //Flip the content size of the scroll view to match the rotated bounds + self.scrollView.contentSize = self.backgroundContainerView.frame.size; + + //assign the new crop box frame and re-adjust the content to fill it + self.cropBoxFrame = newCropFrame; + [self moveCroppedContentToCenterAnimated:NO]; + newCropFrame = self.cropBoxFrame; + + //work out how to line up out point of interest into the middle of the crop box + cropTargetPoint.x *= scale; + cropTargetPoint.y *= scale; + + //swap the target dimensions to match a 90 degree rotation (clockwise or counterclockwise) + CGFloat swap = cropTargetPoint.x; + if (clockwise) { + cropTargetPoint.x = self.scrollView.contentSize.width - cropTargetPoint.y; + cropTargetPoint.y = swap; + } else { + cropTargetPoint.x = cropTargetPoint.y; + cropTargetPoint.y = self.scrollView.contentSize.height - swap; + } + + //reapply the translated scroll offset to the scroll view + CGPoint midPoint = {CGRectGetMidX(newCropFrame), CGRectGetMidY(newCropFrame)}; + CGPoint offset = CGPointZero; + offset.x = floorf(-midPoint.x + cropTargetPoint.x); + offset.y = floorf(-midPoint.y + cropTargetPoint.y); + offset.x = MAX(-self.scrollView.contentInset.left, offset.x); + offset.y = MAX(-self.scrollView.contentInset.top, offset.y); + + //if the scroll view's new scale is 1 and the new offset is equal to the old, will not trigger the delegate 'scrollViewDidScroll:' + //so we should call the method manually to update the foregroundImageView's frame + if (offset.x == self.scrollView.contentOffset.x && offset.y == self.scrollView.contentOffset.y && scale == 1) { + [self matchForegroundToBackground]; + } + self.scrollView.contentOffset = offset; + + //If we're animated, play an animation of the snapshot view rotating, + //then fade it out over the live content + if (animated) { + snapshotView.center = self.scrollView.center; + [self addSubview:snapshotView]; + + self.backgroundContainerView.hidden = YES; + self.foregroundContainerView.hidden = YES; + self.translucencyView.hidden = YES; + self.gridOverlayView.hidden = YES; + + [UIView animateWithDuration:0.45f delay:0.0f usingSpringWithDamping:1.0f initialSpringVelocity:0.8f options:UIViewAnimationOptionBeginFromCurrentState animations:^{ + CGAffineTransform transform = CGAffineTransformRotate(CGAffineTransformIdentity, clockwise ? M_PI_2 : -M_PI_2); + transform = CGAffineTransformScale(transform, scale, scale); + snapshotView.transform = transform; + } completion:^(BOOL complete) { + self.backgroundContainerView.hidden = NO; + self.foregroundContainerView.hidden = NO; + self.translucencyView.hidden = NO; + self.gridOverlayView.hidden = NO; + + self.backgroundContainerView.alpha = 0.0f; + self.gridOverlayView.alpha = 0.0f; + + self.translucencyView.alpha = 1.0f; + + [UIView animateWithDuration:0.45f animations:^{ + snapshotView.alpha = 0.0f; + self.backgroundContainerView.alpha = 1.0f; + self.gridOverlayView.alpha = 1.0f; + } completion:^(BOOL complete) { + self.rotateAnimationInProgress = NO; + [snapshotView removeFromSuperview]; + }]; + }]; + } + + [self checkForCanReset]; +} + +- (void)captureStateForImageRotation +{ + self.cropBoxLastEditedSize = self.cropBoxFrame.size; + self.cropBoxLastEditedZoomScale = self.scrollView.zoomScale; + self.cropBoxLastEditedMinZoomScale = self.scrollView.minimumZoomScale; +} + +#pragma mark - Resettable State - +- (void)checkForCanReset +{ + BOOL canReset = NO; + + if (self.angle != 0) { //Image has been rotated + canReset = YES; + } + else if (self.scrollView.zoomScale > self.scrollView.minimumZoomScale + FLT_EPSILON) { //image has been zoomed in + canReset = YES; + } + else if ((NSInteger)floorf(self.cropBoxFrame.size.width) != (NSInteger)floorf(self.originalCropBoxSize.width) || + (NSInteger)floorf(self.cropBoxFrame.size.height) != (NSInteger)floorf(self.originalCropBoxSize.height)) + { //crop box has been changed + canReset = YES; + } + else if ((NSInteger)floorf(self.scrollView.contentOffset.x) != (NSInteger)floorf(self.originalContentOffset.x) || + (NSInteger)floorf(self.scrollView.contentOffset.y) != (NSInteger)floorf(self.originalContentOffset.y)) + { + canReset = YES; + } + + self.canBeReset = canReset; +} + +#pragma mark - Convienience Methods - +- (CGRect)contentBounds +{ + CGRect contentRect = CGRectZero; + contentRect.origin.x = kTOCropViewPadding + self.cropRegionInsets.left; + contentRect.origin.y = kTOCropViewPadding + self.cropRegionInsets.top; + contentRect.size.width = CGRectGetWidth(self.bounds) - ((kTOCropViewPadding * 2) + self.cropRegionInsets.left + self.cropRegionInsets.right); + contentRect.size.height = CGRectGetHeight(self.bounds) - ((kTOCropViewPadding * 2) + self.cropRegionInsets.top + self.cropRegionInsets.bottom); + return contentRect; +} + +- (CGSize)imageSize +{ + if (self.angle == -90 || self.angle == -270 || self.angle == 90 || self.angle == 270) + return (CGSize){self.image.size.height, self.image.size.width}; + + return (CGSize){self.image.size.width, self.image.size.height}; +} + +- (BOOL)hasAspectRatio +{ + return (self.aspectRatio.width > FLT_EPSILON && self.aspectRatio.height > FLT_EPSILON); +} + +@end diff --git a/ZMJImageEditor/Classes/TOCropViewController/Views/UIImage+library.h b/ZMJImageEditor/Classes/TOCropViewController/Views/UIImage+library.h new file mode 100755 index 0000000..7a0e74f --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/Views/UIImage+library.h @@ -0,0 +1,16 @@ +// +// UIImage+library.h +// Pods +// +// Created by Jason on 2017/3/13. +// +// + +#import + +@interface UIImage (library) + ++ (UIImage *)my_bundleImageNamed:(NSString *)name; ++ (UIImage *)my_imageNamed:(NSString *)name inBundle:(NSBundle *)bundle; + +@end diff --git a/ZMJImageEditor/Classes/TOCropViewController/Views/UIImage+library.m b/ZMJImageEditor/Classes/TOCropViewController/Views/UIImage+library.m new file mode 100755 index 0000000..dd87fd6 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/Views/UIImage+library.m @@ -0,0 +1,32 @@ +// +// UIImage+library.m +// Pods +// +// Created by Jason on 2017/3/13. +// +// + +#import "UIImage+library.h" + +@implementation UIImage (library) + ++ (UIImage *)my_bundleImageNamed:(NSString *)name { + return [self my_imageNamed:name inBundle:[NSBundle bundleForClass:self]]; +} + + ++ (UIImage *)my_imageNamed:(NSString *)name inBundle:(NSBundle *)bundle { +#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_8_0 + return [UIImage imageNamed:name inBundle:bundle compatibleWithTraitCollection:nil]; +#elif __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_8_0 + return [UIImage imageWithContentsOfFile:[bundle pathForResource:name ofType:@"png"]]; +#else + if ([UIImage respondsToSelector:@selector(imageNamed:inBundle:compatibleWithTraitCollection:)]) { + return [UIImage imageNamed:name inBundle:bundle compatibleWithTraitCollection:nil]; + } else { + return [UIImage imageWithContentsOfFile:[bundle pathForResource:name ofType:@"png"]]; + } +#endif +} + +@end diff --git a/ZMJImageEditor/Classes/TOCropViewController/ar.lproj/TOCropViewControllerLocalizable.strings b/ZMJImageEditor/Classes/TOCropViewController/ar.lproj/TOCropViewControllerLocalizable.strings new file mode 100755 index 0000000..d16b978 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/ar.lproj/TOCropViewControllerLocalizable.strings @@ -0,0 +1,5 @@ +"Done" = "انهاء"; +"Cancel" = "إلغاء"; +"Reset" = "إعادة تعيين"; +"Original" = "أصلي"; +"Square" = "مربع"; \ No newline at end of file diff --git a/ZMJImageEditor/Classes/TOCropViewController/da.lproj/TOCropViewControllerLocalizable.strings b/ZMJImageEditor/Classes/TOCropViewController/da.lproj/TOCropViewControllerLocalizable.strings new file mode 100755 index 0000000..79dfd94 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/da.lproj/TOCropViewControllerLocalizable.strings @@ -0,0 +1,5 @@ +"Done" = "OK"; +"Cancel" = "Annuller"; +"Reset" = "Nulstil"; +"Original" = "Original"; +"Square" = "Firkantet"; \ No newline at end of file diff --git a/ZMJImageEditor/Classes/TOCropViewController/de.lproj/TOCropViewControllerLocalizable.strings b/ZMJImageEditor/Classes/TOCropViewController/de.lproj/TOCropViewControllerLocalizable.strings new file mode 100755 index 0000000..c78bff1 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/de.lproj/TOCropViewControllerLocalizable.strings @@ -0,0 +1,5 @@ +"Done" = "Fertig"; +"Cancel" = "Abbrechen"; +"Reset" = "Zurücksetzen"; +"Original" = "Original"; +"Square" = "Quadrat"; \ No newline at end of file diff --git a/ZMJImageEditor/Classes/TOCropViewController/en.lproj/TOCropViewControllerLocalizable.strings b/ZMJImageEditor/Classes/TOCropViewController/en.lproj/TOCropViewControllerLocalizable.strings new file mode 100755 index 0000000..fbf558b --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/en.lproj/TOCropViewControllerLocalizable.strings @@ -0,0 +1,5 @@ +"Done" = "Done"; +"Cancel" = "Cancel"; +"Reset" = "Reset"; +"Original" = "Original"; +"Square" = "Square"; \ No newline at end of file diff --git a/ZMJImageEditor/Classes/TOCropViewController/es.lproj/TOCropViewControllerLocalizable.strings b/ZMJImageEditor/Classes/TOCropViewController/es.lproj/TOCropViewControllerLocalizable.strings new file mode 100755 index 0000000..1e043f8 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/es.lproj/TOCropViewControllerLocalizable.strings @@ -0,0 +1,5 @@ +"Done" = "Aceptar"; +"Cancel" = "Cancelar"; +"Reset" = "Cambiar"; +"Original" = "Original"; +"Square" = "Cuadrada"; diff --git a/ZMJImageEditor/Classes/TOCropViewController/fr.lproj/TOCropViewControllerLocalizable.strings b/ZMJImageEditor/Classes/TOCropViewController/fr.lproj/TOCropViewControllerLocalizable.strings new file mode 100755 index 0000000..65cb7cf --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/fr.lproj/TOCropViewControllerLocalizable.strings @@ -0,0 +1,5 @@ +"Done" = "OK"; +"Cancel" = "Annuler"; +"Reset" = "Réinitialiser"; +"Original" = "D’origine"; +"Square" = "Carré"; \ No newline at end of file diff --git a/ZMJImageEditor/Classes/TOCropViewController/id.lproj/TOCropViewControllerLocalizable.strings b/ZMJImageEditor/Classes/TOCropViewController/id.lproj/TOCropViewControllerLocalizable.strings new file mode 100755 index 0000000..68f888e --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/id.lproj/TOCropViewControllerLocalizable.strings @@ -0,0 +1,5 @@ +"Done" = "Selesai"; +"Cancel" = "Batalkan"; +"Reset" = "Atur Ulang"; +"Original" = "Asli"; +"Square" = "Persegi"; \ No newline at end of file diff --git a/ZMJImageEditor/Classes/TOCropViewController/it.lproj/TOCropViewControllerLocalizable.strings b/ZMJImageEditor/Classes/TOCropViewController/it.lproj/TOCropViewControllerLocalizable.strings new file mode 100755 index 0000000..9e4cb92 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/it.lproj/TOCropViewControllerLocalizable.strings @@ -0,0 +1,5 @@ +"Done" = "Fatto"; +"Cancel" = "Annulla"; +"Reset" = "Ripristina"; +"Original" = "Originale"; +"Square" = "Quadrato"; diff --git a/ZMJImageEditor/Classes/TOCropViewController/ja.lproj/TOCropViewControllerLocalizable.strings b/ZMJImageEditor/Classes/TOCropViewController/ja.lproj/TOCropViewControllerLocalizable.strings new file mode 100755 index 0000000..ee2cb82 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/ja.lproj/TOCropViewControllerLocalizable.strings @@ -0,0 +1,5 @@ +"Done" = "完了"; +"Cancel" = "戻る"; +"Reset" = "リセット"; +"Original" = "オリジナル"; +"Square" = "スクエア"; \ No newline at end of file diff --git a/ZMJImageEditor/Classes/TOCropViewController/ko.lproj/TOCropViewControllerLocalizable.strings b/ZMJImageEditor/Classes/TOCropViewController/ko.lproj/TOCropViewControllerLocalizable.strings new file mode 100755 index 0000000..0dd31e6 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/ko.lproj/TOCropViewControllerLocalizable.strings @@ -0,0 +1,5 @@ +"Done" = "완료"; +"Cancel" = "취소"; +"Reset" = "재설정"; +"Original" = "원본"; +"Square" = "정방형"; diff --git a/ZMJImageEditor/Classes/TOCropViewController/nl.lproj/TOCropViewControllerLocalizable.strings b/ZMJImageEditor/Classes/TOCropViewController/nl.lproj/TOCropViewControllerLocalizable.strings new file mode 100755 index 0000000..1817208 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/nl.lproj/TOCropViewControllerLocalizable.strings @@ -0,0 +1,5 @@ +"Done" = "Gereed"; +"Cancel" = "Annuleer"; +"Reset" = "Herstel"; +"Original" = "Origineel"; +"Square" = "Vierkant"; \ No newline at end of file diff --git a/ZMJImageEditor/Classes/TOCropViewController/pl.lproj/TOCropViewControllerLocalizable.strings b/ZMJImageEditor/Classes/TOCropViewController/pl.lproj/TOCropViewControllerLocalizable.strings new file mode 100755 index 0000000..ed28546 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/pl.lproj/TOCropViewControllerLocalizable.strings @@ -0,0 +1,5 @@ +"Done" = "Gotowe"; +"Cancel" = "Anuluj"; +"Reset" = "Wyzeruj"; +"Original" = "Orygin."; +"Square" = "Kwadrat"; diff --git a/ZMJImageEditor/Classes/TOCropViewController/pt.lproj/TOCropViewControllerLocalizable.strings b/ZMJImageEditor/Classes/TOCropViewController/pt.lproj/TOCropViewControllerLocalizable.strings new file mode 100755 index 0000000..d7d9b5c --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/pt.lproj/TOCropViewControllerLocalizable.strings @@ -0,0 +1,5 @@ +"Done" = "OK"; +"Cancel" = "Cancelar"; +"Reset" = "Redefinir"; +"Original" = "Original"; +"Square" = "Quadrada"; \ No newline at end of file diff --git a/ZMJImageEditor/Classes/TOCropViewController/ru.lproj/TOCropViewControllerLocalizable.strings b/ZMJImageEditor/Classes/TOCropViewController/ru.lproj/TOCropViewControllerLocalizable.strings new file mode 100755 index 0000000..83505c4 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/ru.lproj/TOCropViewControllerLocalizable.strings @@ -0,0 +1,5 @@ +"Done" = "Готово"; +"Cancel" = "Отменить"; +"Reset" = "Сбросить"; +"Original" = "Оригинал"; +"Square" = "Квадрат"; diff --git a/ZMJImageEditor/Classes/TOCropViewController/tr.lproj/TOCropViewControllerLocalizable.strings b/ZMJImageEditor/Classes/TOCropViewController/tr.lproj/TOCropViewControllerLocalizable.strings new file mode 100755 index 0000000..56a8023 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/tr.lproj/TOCropViewControllerLocalizable.strings @@ -0,0 +1,5 @@ +"Done" = "Tamam"; +"Cancel" = "Vazgeç"; +"Reset" = "Sıfırla"; +"Original" = "Orjinal"; +"Square" = "Kare"; \ No newline at end of file diff --git a/ZMJImageEditor/Classes/TOCropViewController/vi.lproj/TOCropViewControllerLocalizable.strings b/ZMJImageEditor/Classes/TOCropViewController/vi.lproj/TOCropViewControllerLocalizable.strings new file mode 100755 index 0000000..69b876c --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/vi.lproj/TOCropViewControllerLocalizable.strings @@ -0,0 +1,5 @@ +"Done" = "Xong"; +"Cancel" = "Huỷ"; +"Reset" = "Đặt lại"; +"Original" = "Gốc"; +"Square" = "Vuông"; diff --git a/ZMJImageEditor/Classes/TOCropViewController/zh-Hans.lproj/TOCropViewControllerLocalizable.strings b/ZMJImageEditor/Classes/TOCropViewController/zh-Hans.lproj/TOCropViewControllerLocalizable.strings new file mode 100755 index 0000000..2de4957 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/zh-Hans.lproj/TOCropViewControllerLocalizable.strings @@ -0,0 +1,5 @@ +"Done" = "完成"; +"Cancel" = "取消"; +"Reset" = "重设"; +"Original" = "原有"; +"Square" = "正方形"; \ No newline at end of file diff --git a/ZMJImageEditor/Classes/TOCropViewController/zh-Hant.lproj/TOCropViewControllerLocalizable.strings b/ZMJImageEditor/Classes/TOCropViewController/zh-Hant.lproj/TOCropViewControllerLocalizable.strings new file mode 100755 index 0000000..e6375b9 --- /dev/null +++ b/ZMJImageEditor/Classes/TOCropViewController/zh-Hant.lproj/TOCropViewControllerLocalizable.strings @@ -0,0 +1,5 @@ +"Done" = "完成"; +"Cancel" = "取消"; +"Reset" = "重置"; +"Original" = "原始檔"; +"Square" = "正方形"; \ No newline at end of file diff --git a/ZMJImageEditor/Classes/UIColor+TLChat.h b/ZMJImageEditor/Classes/UIColor+TLChat.h new file mode 100755 index 0000000..3a3fb79 --- /dev/null +++ b/ZMJImageEditor/Classes/UIColor+TLChat.h @@ -0,0 +1,44 @@ +// +// UIColor+TLChat.h +// TLChat +// +// Created by 李伯坤 on 16/1/27. +// Copyright © 2016年 李伯坤. All rights reserved. +// + +#import + +@interface UIColor (TLChat) + +#pragma mark - # 字体 ++ (UIColor *)colorTextBlack; ++ (UIColor *)colorTextGray; ++ (UIColor *)colorTextGray1; + + +#pragma mark - 灰色 ++ (UIColor *)colorGrayBG; // 浅灰色默认背景 ++ (UIColor *)colorGrayCharcoalBG; // 较深灰色背景(聊天窗口, 朋友圈用) ++ (UIColor *)colorGrayLine; ++ (UIColor *)colorGrayForChatBar; ++ (UIColor *)colorGrayForMoment; + + + +#pragma mark - 绿色 ++ (UIColor *)colorGreenDefault; + + +#pragma mark - 蓝色 ++ (UIColor *)colorBlueMoment; + + +#pragma mark - 黑色 ++ (UIColor *)colorBlackForNavBar; ++ (UIColor *)colorBlackBG; ++ (UIColor *)colorBlackAlphaScannerBG; ++ (UIColor *)colorBlackForAddMenu; ++ (UIColor *)colorBlackForAddMenuHL; + + +@end diff --git a/ZMJImageEditor/Classes/UIColor+TLChat.m b/ZMJImageEditor/Classes/UIColor+TLChat.m new file mode 100755 index 0000000..99dbdf4 --- /dev/null +++ b/ZMJImageEditor/Classes/UIColor+TLChat.m @@ -0,0 +1,83 @@ +// +// UIColor+TLChat.m +// TLChat +// +// Created by 李伯坤 on 16/1/27. +// Copyright © 2016年 李伯坤. All rights reserved. +// + +#import "UIColor+TLChat.h" +#import "WBGChatMacros.h" +@implementation UIColor (TLChat) + +#pragma mark - # 字体 ++ (UIColor *)colorTextBlack { + return [UIColor blackColor]; +} + ++ (UIColor *)colorTextGray { + return [UIColor grayColor]; +} + ++ (UIColor *)colorTextGray1 { + return WBGColor(160, 160, 160, 1.0); +} + +#pragma mark - 灰色 ++ (UIColor *)colorGrayBG { + return WBGColor(239.0, 239.0, 244.0, 1.0); +} + ++ (UIColor *)colorGrayCharcoalBG { + return WBGColor(235.0, 235.0, 235.0, 1.0); +} + ++ (UIColor *)colorGrayLine { + return [UIColor colorWithWhite:0.5 alpha:0.3]; +} + ++ (UIColor *)colorGrayForChatBar { + return WBGColor(245.0, 245.0, 245.0, 1.0); +} + ++ (UIColor *)colorGrayForMoment { + return WBGColor(243.0, 243.0, 245.0, 1.0); +} + + + + +#pragma mark - 绿色 ++ (UIColor *)colorGreenDefault { + return WBGColor(2.0, 187.0, 0.0, 1.0f); +} + + +#pragma mark - 蓝色 ++ (UIColor *)colorBlueMoment { + return WBGColor(74.0, 99.0, 141.0, 1.0); +} + +#pragma mark - 黑色 ++ (UIColor *)colorBlackForNavBar { + return WBGColor(20.0, 20.0, 20.0, 1.0); +} + ++ (UIColor *)colorBlackBG { + return WBGColor(46.0, 49.0, 50.0, 1.0); +} + ++ (UIColor *)colorBlackAlphaScannerBG { + return [UIColor colorWithWhite:0 alpha:0.6]; +} + ++ (UIColor *)colorBlackForAddMenu { + return WBGColor(71, 70, 73, 1.0); +} + ++ (UIColor *)colorBlackForAddMenuHL { + return WBGColor(65, 64, 67, 1.0); +} + + +@end diff --git a/ZMJImageEditor/Classes/WBGBaseKeyboard.h b/ZMJImageEditor/Classes/WBGBaseKeyboard.h new file mode 100755 index 0000000..57bd6bd --- /dev/null +++ b/ZMJImageEditor/Classes/WBGBaseKeyboard.h @@ -0,0 +1,46 @@ +// +// WBGBaseKeyboard.h +// WBGKeyboards +// +// Created by Jason on 2016/10/21. +// Copyright © 2016年 Jason. All rights reserved. +// + +#import +#import "WBGChatMacros.h" +#import "WBGKeyboardDelegate.h" +#import "WBGKeyboardProtocol.h" + +@interface WBGBaseKeyboard : UIView + +///是否正在展示 +@property (nonatomic, assign, readonly) BOOL isShow; + +///键盘事件回调 +@property (nonatomic, weak) id keyboardDelegate; + +/** + * 显示键盘(keyWindow上) + * @param animation 是否显示动画 + */ +- (void)showWithAnimation:(BOOL)animation; + +/** + * 显示键盘 + * @param view 父view + * @param animation 是否显示动画 + */ +- (void)showInView:(UIView *)view withAnimation:(BOOL)animation; + +/** + * 键盘消失 + * @param animation 是否显示消失动画 + */ +- (void)dismissWithAnimation:(BOOL)animation; + +/** + * 重置键盘⌨️ + */ +- (void)reset; + +@end diff --git a/ZMJImageEditor/Classes/WBGBaseKeyboard.m b/ZMJImageEditor/Classes/WBGBaseKeyboard.m new file mode 100755 index 0000000..a1851f3 --- /dev/null +++ b/ZMJImageEditor/Classes/WBGBaseKeyboard.m @@ -0,0 +1,124 @@ +// +// WBGBaseKeyboard.m +// WBGKeyboards +// +// Created by Jason on 2016/10/21. +// Copyright © 2016年 Jason. All rights reserved. +// + +#import "WBGBaseKeyboard.h" +#import +@import YYCategories.UIView_YYAdd; + +@implementation WBGBaseKeyboard + +#pragma mark - Public Methods +- (void)showWithAnimation:(BOOL)animation { + [self showInView:[UIApplication sharedApplication].keyWindow withAnimation:animation]; +} + +- (void)showInView:(UIView *)view withAnimation:(BOOL)animation { + if (_isShow) { + return; + } + + if (self.keyboardDelegate && [self.keyboardDelegate respondsToSelector:@selector(chatKeyboardWillShow:animated:)]) { + [self.keyboardDelegate chatKeyboardWillShow:self animated:animation]; + } + + [view addSubview:self]; + CGFloat keyboardHeight = [self keyboardHeight]; + [self mas_remakeConstraints:^(MASConstraintMaker *make) { + make.left.and.right.mas_equalTo(view); + make.height.mas_equalTo(keyboardHeight); + make.bottom.mas_equalTo(view).mas_offset(keyboardHeight); + }]; + + [view layoutIfNeeded]; + + if (animation) { + [UIView animateWithDuration:.25f animations:^{ + [self mas_updateConstraints:^(MASConstraintMaker *make) { + make.bottom.mas_equalTo(view); + }]; + [view layoutIfNeeded]; + _isShow = YES; + + if (self.keyboardDelegate && [self.keyboardDelegate respondsToSelector:@selector(chatKeyboard:didChangeHeight:)]) { + [self.keyboardDelegate chatKeyboard:self didChangeHeight:view.height - self.top]; + } + } completion:^(BOOL finished) { + if (self.keyboardDelegate && [self.keyboardDelegate respondsToSelector:@selector(chatKeyboardDidShow:animated:)]) { + [self.keyboardDelegate chatKeyboardDidShow:self animated:animation]; + } + }]; + } + else { + [self mas_updateConstraints:^(MASConstraintMaker *make) { + make.bottom.mas_equalTo(view); + }]; + [view layoutIfNeeded]; + if (self.keyboardDelegate && [self.keyboardDelegate respondsToSelector:@selector(chatKeyboardDidShow:animated:)]) { + [self.keyboardDelegate chatKeyboardDidShow:self animated:animation]; + } + _isShow = YES; + } + +} + +- (void)dismissWithAnimation:(BOOL)animation { + if (!_isShow) { + if (!animation) { + [self removeFromSuperview]; + } + return; + } + + if (self.keyboardDelegate && [self.keyboardDelegate respondsToSelector:@selector(chatKeyboardWillDismiss:animated:)]) { + [self.keyboardDelegate chatKeyboardWillDismiss:self animated:animation]; + } + + if (animation) { + CGFloat keyboardHeight = [self keyboardHeight]; + [UIView animateWithDuration:.25f animations:^{ + [self mas_updateConstraints:^(MASConstraintMaker *make) { + make.bottom.mas_equalTo(self.superview).mas_offset(keyboardHeight); + }]; + + [self.superview layoutIfNeeded]; + + _isShow = NO; + + if (self.keyboardDelegate && [self.keyboardDelegate respondsToSelector:@selector(chatKeyboard:didChangeHeight:)]) { + [self.keyboardDelegate chatKeyboard:self didChangeHeight:self.superview.height - self.top]; + } + } completion:^(BOOL finished) { + [self removeFromSuperview]; + if (self.keyboardDelegate && [self.keyboardDelegate respondsToSelector:@selector(chatKeyboardDidDismiss:animated:)]) { + [self.keyboardDelegate chatKeyboardDidDismiss:self animated:animation]; + } + + }]; + } + else { + [self removeFromSuperview]; + + if (self.keyboardDelegate && [self.keyboardDelegate respondsToSelector:@selector(chatKeyboardDidDismiss:animated:)]) { + + [self.keyboardDelegate chatKeyboardDidDismiss:self animated:animation]; + } + + _isShow = NO; + } +} + +- (void)reset { + +} + +#pragma mark - WBGKeybardProtocol +- (CGFloat)keyboardHeight { + return HEIGHT_CHAT_KEYBOARD; +} + +@end diff --git a/ZMJImageEditor/Classes/WBGChatMacros.h b/ZMJImageEditor/Classes/WBGChatMacros.h new file mode 100755 index 0000000..b85ae7e --- /dev/null +++ b/ZMJImageEditor/Classes/WBGChatMacros.h @@ -0,0 +1,67 @@ +// +// WBGChatMacros.h +// WBGKeyboards +// +// Created by Jason on 2016/10/18. +// Copyright © 2016年 Jason. All rights reserved. +// + +#ifndef WBGChatMacros_h +#define WBGChatMacros_h +#import + +#define HEIGHT_CHATBAR_TEXTVIEW 36.0f +#define HEIGHT_MAX_CHATBAR_TEXTVIEW 111.5f +#define HEIGHT_CHAT_KEYBOARD 215.0f + +#define BORDER_WIDTH_1PX ([[UIScreen mainScreen] scale] > 0.0 ? 1.0 / [[UIScreen mainScreen] scale] : 1.0) + +typedef NS_ENUM(NSInteger, WBGEmojiType) { + WBGEmojiTypeEmoji, + WBGEmojiTypeFavorite, + WBGEmojiTypeFace, + WBGEmojiTypeImage, + WBGEmojiTypeImageWithTitle, + WBGEmojiTypeOther, +}; + +typedef NS_ENUM(NSInteger, WBGChatBarStatus) { + WBGChatBarStatusInit, + WBGChatBarStatusVoice, + WBGChatBarStatusEmoji, + WBGChatBarStatusMore, + WBGChatBarStatusKeyboard, +}; + +#pragma mark - # SIZE +#define SIZE_SCREEN [UIScreen mainScreen].bounds.size +#define WIDTH_SCREEN [UIScreen mainScreen].bounds.size.width +#define HEIGHT_SCREEN [UIScreen mainScreen].bounds.size.height +#define HEIGHT_STATUSBAR 20.0f +#define HEIGHT_TABBAR 49.0f +#define HEIGHT_NAVBAR 44.0f +#define NAVBAR_ITEM_FIXED_SPACE 5.0f + +#define BORDER_WIDTH_1PX ([[UIScreen mainScreen] scale] > 0.0 ? 1.0 / [[UIScreen mainScreen] scale] : 1.0) + +#define MAX_MESSAGE_WIDTH WIDTH_SCREEN * 0.58 +#define MAX_MESSAGE_IMAGE_WIDTH WIDTH_SCREEN * 0.45 +#define MIN_MESSAGE_IMAGE_WIDTH WIDTH_SCREEN * 0.25 +#define MAX_MESSAGE_EXPRESSION_WIDTH WIDTH_SCREEN * 0.35 +#define MIN_MESSAGE_EXPRESSION_WIDTH WIDTH_SCREEN * 0.2 + + +#define mark - # Default +#define DEFAULT_AVATAR_PATH @"default_head" + + +#pragma mark - # Methods +#define WBGURL(urlString) [NSURL URLWithString:urlString] +#define WBGNoNilString(str) (str.length > 0 ? str : @"") +#define WBGWeakSelf(type) __weak typeof(type) weak##type = type; +#define WBGStrongSelf(type) __strong typeof(type) strong##type = type; +#define WBGTimeStamp(date) ([NSString stringWithFormat:@"%lf", [date timeIntervalSince1970]]) +#define WBGColor(r, g, b, a) [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:a] + + +#endif /* WBGChatMacros_h */ diff --git a/ZMJImageEditor/Classes/WBGDrawTool.h b/ZMJImageEditor/Classes/WBGDrawTool.h new file mode 100755 index 0000000..b5d6560 --- /dev/null +++ b/ZMJImageEditor/Classes/WBGDrawTool.h @@ -0,0 +1,31 @@ +// +// WBGDrawTool.h +// CLImageEditorDemo +// +// Created by Jason on 2017/2/28. +// Copyright © 2017年 CALACULU. All rights reserved. +// + +#import "WBGImageToolBase.h" +@class WBGPath; + +@interface WBGDrawTool : WBGImageToolBase +@property (nonatomic, copy) void (^drawToolStatus)(BOOL canPrev); +@property (nonatomic, copy) void (^drawingCallback)(BOOL isDrawing); +@property (nonatomic, copy) void (^drawingDidTap)(void); +@property (nonatomic, strong) NSMutableArray *allLineMutableArray; +@property (nonatomic, assign) CGFloat pathWidth; +//撤销 +- (void)backToLastDraw; +- (void)drawLine; +@end + +#pragma mark - HBPath +@interface WBGPath : NSObject +@property (nonatomic, strong) CAShapeLayer *shape; +@property (nonatomic, strong) UIColor *pathColor;//画笔颜色 + ++ (instancetype)pathToPoint:(CGPoint)beginPoint pathWidth:(CGFloat)pathWidth; +- (void)pathLineToPoint:(CGPoint)movePoint;//画 +- (void)drawPath;//绘制 +@end diff --git a/ZMJImageEditor/Classes/WBGDrawTool.m b/ZMJImageEditor/Classes/WBGDrawTool.m new file mode 100755 index 0000000..a4e6f4b --- /dev/null +++ b/ZMJImageEditor/Classes/WBGDrawTool.m @@ -0,0 +1,228 @@ +// +// WBGDrawTool.m +// CLImageEditorDemo +// +// Created by Jason on 2017/2/28. +// Copyright © 2017年 CALACULU. All rights reserved. +// + +#import "WBGDrawTool.h" +#import "WBGImageEditorGestureManager.h" +#import "WBGTextToolView.h" + +@interface WBGDrawTool () +@property (nonatomic, strong) UIPanGestureRecognizer *panGesture; +@property (nonatomic, strong) UITapGestureRecognizer *tapGesture; +@end +@implementation WBGDrawTool { + __weak UIImageView *_drawingView; + CGSize _originalImageSize; +} + +- (instancetype)initWithImageEditor:(WBGImageEditorViewController *)editor { + self = [super init]; + if(self) { + self.editor = editor; + _allLineMutableArray = [NSMutableArray new]; + } + return self; +} + +- (void)backToLastDraw +{ + [_allLineMutableArray removeLastObject]; + [self drawLine]; + if (self.drawToolStatus) { + self.drawToolStatus(_allLineMutableArray.count > 0 ? : NO); + } +} + +#pragma mark - Gesture +//tap +- (void)drawingViewDidTap:(UITapGestureRecognizer *)sender { + if (self.drawingDidTap) { + self.drawingDidTap(); + } +} + +//draw +- (void)drawingViewDidPan:(UIPanGestureRecognizer*)sender +{ + CGPoint currentDraggingPosition = [sender locationInView:_drawingView]; + + if(sender.state == UIGestureRecognizerStateBegan) { + //取消所有加入文字激活状态 + for (UIView *subView in self.editor.drawingView.subviews) { + if ([subView isKindOfClass:[WBGTextToolView class]]) { + [WBGTextToolView setInactiveTextView:(WBGTextToolView *)subView]; + } + } + + // 初始化一个UIBezierPath对象, 把起始点存储到UIBezierPath对象中, 用来存储所有的轨迹点 + WBGPath *path = [WBGPath pathToPoint:currentDraggingPosition pathWidth:MAX(1, self.pathWidth)]; + path.pathColor = self.editor.colorPan.currentColor; + path.shape.strokeColor = self.editor.colorPan.currentColor.CGColor; + [_allLineMutableArray addObject:path]; + + } + + if(sender.state == UIGestureRecognizerStateChanged) { + // 获得数组中的最后一个UIBezierPath对象(因为我们每次都把UIBezierPath存入到数组最后一个,因此获取时也取最后一个) + WBGPath *path = [_allLineMutableArray lastObject]; + [path pathLineToPoint:currentDraggingPosition];//添加点 + [self drawLine]; + + if (self.drawingCallback) { + self.drawingCallback(YES); + } + } + + if (sender.state == UIGestureRecognizerStateEnded) { + if (self.drawToolStatus) { + self.drawToolStatus(_allLineMutableArray.count > 0 ? : NO); + } + + if (self.drawingCallback) { + self.drawingCallback(NO); + } + } +} + +- (void)drawLine { + CGSize size = _drawingView.frame.size; + UIGraphicsBeginImageContextWithOptions(size, NO, 0.0); + CGContextRef context = UIGraphicsGetCurrentContext(); + //去掉锯齿 + CGContextSetAllowsAntialiasing(context, true); + CGContextSetShouldAntialias(context, true); + + for (WBGPath *path in _allLineMutableArray) { + [path drawPath]; + } + + _drawingView.image = UIGraphicsGetImageFromCurrentImageContext(); + + UIGraphicsEndImageContext(); +} + +- (UIImage *)buildImage { + UIGraphicsBeginImageContextWithOptions(_originalImageSize, NO, self.editor.imageView.image.scale); + [self.editor.imageView.image drawAtPoint:CGPointZero]; + [_drawingView.image drawInRect:CGRectMake(0, 0, _originalImageSize.width, _originalImageSize.height)]; + UIImage *tmp = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + + return tmp; +} + +#pragma mark - implementation 重写父方法 +- (void)setup { + //初始化一些东西 + _originalImageSize = self.editor.imageView.image.size; + _drawingView = self.editor.drawingView; + + //滑动手势 + if (!self.panGesture) { + self.panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(drawingViewDidPan:)]; + self.panGesture.delegate = [WBGImageEditorGestureManager instance]; + self.panGesture.maximumNumberOfTouches = 1; + } + if (!self.panGesture.isEnabled) { + self.panGesture.enabled = YES; + } + + //点击手势 + if (!self.tapGesture) { + self.tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(drawingViewDidTap:)]; + self.tapGesture.delegate = [WBGImageEditorGestureManager instance]; + self.tapGesture.numberOfTouchesRequired = 1; + self.tapGesture.numberOfTapsRequired = 1; + + } + + [_drawingView addGestureRecognizer:self.panGesture]; + [_drawingView addGestureRecognizer:self.tapGesture]; + _drawingView.userInteractionEnabled = YES; + _drawingView.layer.shouldRasterize = YES; + _drawingView.layer.minificationFilter = kCAFilterTrilinear; + + self.editor.imageView.userInteractionEnabled = YES; + self.editor.scrollView.panGestureRecognizer.minimumNumberOfTouches = 2; + self.editor.scrollView.panGestureRecognizer.delaysTouchesBegan = NO; + self.editor.scrollView.pinchGestureRecognizer.delaysTouchesBegan = NO; + + //TODO: todo? + +} + +- (void)cleanup { + self.editor.imageView.userInteractionEnabled = NO; + self.editor.scrollView.panGestureRecognizer.minimumNumberOfTouches = 1; + self.panGesture.enabled = NO; + //TODO: todo? +} + +- (void)executeWithCompletionBlock:(void (^)(UIImage *, NSError *, NSDictionary *))completionBlock +{ + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + UIImage *image = [self buildImage]; + + dispatch_async(dispatch_get_main_queue(), ^{ + completionBlock(image, nil, nil); + }); + }); +} + +@end + + +#pragma mark - WBGPath +@interface WBGPath() + +@property (nonatomic, strong) UIBezierPath *bezierPath; +@property (nonatomic, assign) CGPoint beginPoint; +@property (nonatomic, assign) CGFloat pathWidth; + +@end + +@implementation WBGPath + + ++ (instancetype)pathToPoint:(CGPoint)beginPoint pathWidth:(CGFloat)pathWidth { + UIBezierPath *bezierPath = [UIBezierPath bezierPath]; + bezierPath.lineWidth = pathWidth; + bezierPath.lineCapStyle = kCGLineCapRound; + bezierPath.lineJoinStyle = kCGLineJoinRound; + [bezierPath moveToPoint:beginPoint]; + + + CAShapeLayer *shapeLayer = [[CAShapeLayer alloc] init]; + shapeLayer.lineCap = kCALineCapRound; + shapeLayer.lineJoin = kCALineJoinRound; + shapeLayer.lineWidth = pathWidth; + shapeLayer.fillColor = [UIColor clearColor].CGColor; + shapeLayer.path = bezierPath.CGPath; + + WBGPath *path = [[WBGPath alloc] init]; + path.beginPoint = beginPoint; + path.pathWidth = pathWidth; + path.bezierPath = bezierPath; + path.shape = shapeLayer; + + return path; +} + +//曲线 +- (void)pathLineToPoint:(CGPoint)movePoint; +{ + //判断绘图类型 + [self.bezierPath addLineToPoint:movePoint]; + self.shape.path = self.bezierPath.CGPath; +} + +- (void)drawPath { + [self.pathColor set]; + [self.bezierPath stroke]; +} + +@end diff --git a/ZMJImageEditor/Classes/WBGImageEditor.h b/ZMJImageEditor/Classes/WBGImageEditor.h new file mode 100755 index 0000000..64845fa --- /dev/null +++ b/ZMJImageEditor/Classes/WBGImageEditor.h @@ -0,0 +1,67 @@ +// +// WBGImageEditor.h +// Trader +// +// Created by Jason on 2017/3/13. +// +// + +#import + +@protocol WBGImageEditorDelegate, WBGImageEditorTransitionDelegate, WBGImageEditorDataSource; +@class WBGMoreKeyboardItem; + +typedef NS_OPTIONS(NSInteger, WBGImageEditorComponent) { + WBGImageEditorDrawComponent = 1 << 0, + WBGImageEditorTextComponent = 1 << 1, + WBGImageEditorClipComponent = 1 << 2, + WBGImageEditorPaperComponent = 1 << 3, + WBGImageEditorColorPanComponent = 1 << 4, + //all + WBGImageEditorWholeComponent = WBGImageEditorDrawComponent + | WBGImageEditorTextComponent + | WBGImageEditorClipComponent + | WBGImageEditorPaperComponent + | WBGImageEditorColorPanComponent, +}; + +@interface WBGImageEditor : UIViewController + +@property (nonatomic, weak) id delegate; +@property (nonatomic, weak) id dataSource; + +- (id)initWithImage:(UIImage*)image; +- (id)initWithImage:(UIImage*)image delegate:(id)delegate dataSource:(id)dataSource; +- (id)initWithDelegate:(id)delegate; + +- (void)showInViewController:(UIViewController *)controller withImageView:(UIImageView*)imageView; +- (void)refreshToolSettings; +@end + + +#pragma mark - Protocol +@protocol WBGImageEditorDelegate +@optional +- (void)imageEditor:(WBGImageEditor *)editor didFinishEdittingWithImage:(UIImage *)image; +- (void)imageEditorDidCancel:(WBGImageEditor *)editor; + +@end + +@protocol WBGImageEditorDataSource + +@required +- (NSArray *)imageItemsEditor:(WBGImageEditor *)editor; +- (WBGImageEditorComponent)imageEditorCompoment; + +@optional +- (UIColor *)imageEditorDefaultColor; +- (NSNumber *)imageEditorDrawPathWidth; +@end + + +@protocol WBGImageEditorTransitionDelegate +@optional +- (void)imageEditor:(WBGImageEditor *)editor willDismissWithImageView:(UIImageView *)imageView canceled:(BOOL)canceled; +- (void)imageEditor:(WBGImageEditor *)editor didDismissWithImageView:(UIImageView *)imageView canceled:(BOOL)canceled; + +@end diff --git a/ZMJImageEditor/Classes/WBGImageEditor.m b/ZMJImageEditor/Classes/WBGImageEditor.m new file mode 100755 index 0000000..dcd0d52 --- /dev/null +++ b/ZMJImageEditor/Classes/WBGImageEditor.m @@ -0,0 +1,59 @@ +// +// WBGImageEditor.m +// Trader +// +// Created by Jason on 2017/3/13. +// +// + +#import "WBGImageEditor.h" +#import "WBGImageEditorViewController.h" + +@interface WBGImageEditor () + +@end + +@implementation WBGImageEditor + +- (instancetype)init +{ + return [WBGImageEditorViewController new]; +} + +- (id)initWithImage:(UIImage*)image +{ + return [self initWithImage:image delegate:nil dataSource:nil]; +} + +- (id)initWithImage:(UIImage*)image delegate:(id)delegate dataSource:(id)dataSource; +{ + return [[WBGImageEditorViewController alloc] initWithImage:image delegate:delegate dataSource:dataSource]; +} + +- (id)initWithDelegate:(id)delegate +{ + return [[WBGImageEditorViewController alloc] initWithDelegate:delegate]; +} + +- (void)showInViewController:(UIViewController*)controller withImageView:(UIImageView*)imageView; +{ + +} + +- (void)refreshToolSettings +{ + +} + + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +@end diff --git a/ZMJImageEditor/Classes/WBGImageEditorGestureManager.h b/ZMJImageEditor/Classes/WBGImageEditorGestureManager.h new file mode 100755 index 0000000..a677b8f --- /dev/null +++ b/ZMJImageEditor/Classes/WBGImageEditorGestureManager.h @@ -0,0 +1,13 @@ +// +// WBGImageEditorGestureManager.h +// CLImageEditorDemo +// +// Created by Jason on 2017/3/3. +// Copyright © 2017年 CALACULU. All rights reserved. +// + +#import + +@interface WBGImageEditorGestureManager : NSObject ++ (instancetype)instance; +@end diff --git a/ZMJImageEditor/Classes/WBGImageEditorGestureManager.m b/ZMJImageEditor/Classes/WBGImageEditorGestureManager.m new file mode 100755 index 0000000..d2bca0d --- /dev/null +++ b/ZMJImageEditor/Classes/WBGImageEditorGestureManager.m @@ -0,0 +1,85 @@ +// +// WBGImageEditorGestureManager.m +// CLImageEditorDemo +// +// Created by Jason on 2017/3/3. +// Copyright © 2017年 CALACULU. All rights reserved. +// + +#import "WBGImageEditorGestureManager.h" +#import "WBGTextToolView.h" + +@interface WBGImageEditorGestureManager () +@property (nonatomic, strong) NSHashTable *gestureTable; +@end + +@implementation WBGImageEditorGestureManager + ++ (instancetype)instance { + static WBGImageEditorGestureManager *manager = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + manager = [WBGImageEditorGestureManager new]; + }); + + return manager; +} + +- (instancetype)init +{ + self = [super init]; + if (self) { + _gestureTable = [[NSHashTable alloc] initWithOptions:NSPointerFunctionsWeakMemory capacity:2]; + } + return self; +} + +#pragma mark - UIGestureRecognizerDelegate +//同时识别两个手势 +- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer +{ + if ([gestureRecognizer.view isKindOfClass:[WBGTextToolView class]] && [otherGestureRecognizer.view isKindOfClass:[WBGTextToolView class]]) { + NSArray *gestures = @[gestureRecognizer, otherGestureRecognizer]; + for (UIGestureRecognizer *ges in gestures) { + if ([ges isKindOfClass:[UITapGestureRecognizer class]]) { + return NO; + } + } + return YES; + } else { + return NO; + } +} + +// 是否允许开始触发手势 +- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer +{ + return YES; +} + +// 是否允许接收手指的触摸点 +- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { + + if ([gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]] && ![self.gestureTable containsObject:gestureRecognizer]) { + [self.gestureTable addObject:gestureRecognizer]; + if (self.gestureTable.count >= 2) { + UIPanGestureRecognizer *textToolPan = nil; + UIPanGestureRecognizer *drawToolPan = nil; + + for (UIPanGestureRecognizer *pan in self.gestureTable) { + if ([pan.view isKindOfClass:[WBGTextToolView class]]) { + textToolPan = pan; + } + if ([pan.view isKindOfClass:[UIImageView class]]) { + drawToolPan = pan; + } + } + if (textToolPan && drawToolPan) { + [drawToolPan requireGestureRecognizerToFail:textToolPan]; + } + } + } + return YES; +} + +@end diff --git a/ZMJImageEditor/Classes/WBGImageEditorViewController.h b/ZMJImageEditor/Classes/WBGImageEditorViewController.h new file mode 100755 index 0000000..0521473 --- /dev/null +++ b/ZMJImageEditor/Classes/WBGImageEditorViewController.h @@ -0,0 +1,41 @@ +// +// WBGImageEditorViewController.h +// CLImageEditorDemo +// +// Created by Jason on 2017/2/27. +// Copyright © 2017年 CALACULU. All rights reserved. +// + +#import "WBGImageEditor.h" + +typedef NS_ENUM(NSUInteger, EditorMode) { + EditorNonMode, + EditorDrawMode, + EditorTextMode, + EditorClipMode, + EditorPaperMode, +}; + +extern NSString * const kColorPanNotificaiton; + +@interface WBGColorPan : UIView +@property (nonatomic, strong, readonly) UIColor *currentColor; +@property (nonatomic, weak) id dataSource; +@end + +@interface WBGImageEditorViewController : WBGImageEditor +@property (weak, nonatomic) IBOutlet UIButton *backButton; +@property (weak, nonatomic) IBOutlet UIButton *undoButton; + +@property (weak, nonatomic, readonly) IBOutlet UIImageView *imageView; +@property (strong, nonatomic, readonly) IBOutlet UIImageView *drawingView; +@property (weak, nonatomic, readonly) IBOutlet UIScrollView *scrollView; +@property (strong, nonatomic, readonly) IBOutlet WBGColorPan *colorPan; + +@property (nonatomic, assign) EditorMode currentMode; + +- (void)resetCurrentTool; + +- (void)editTextAgain; +- (void)hiddenTopAndBottomBar:(BOOL)isHide animation:(BOOL)animation; +@end diff --git a/ZMJImageEditor/Classes/WBGImageEditorViewController.m b/ZMJImageEditor/Classes/WBGImageEditorViewController.m new file mode 100755 index 0000000..8890e75 --- /dev/null +++ b/ZMJImageEditor/Classes/WBGImageEditorViewController.m @@ -0,0 +1,867 @@ +// +// WBGImageEditorViewController.m +// CLImageEditorDemo +// +// Created by Jason on 2017/2/27. +// Copyright © 2017年 CALACULU. All rights reserved. +// + +#import "WBGImageEditorViewController.h" +#import "WBGImageToolBase.h" +#import "ColorfullButton.h" +#import "WBGDrawTool.h" +#import "WBGTextTool.h" +#import "TOCropViewController.h" +#import "UIImage+CropRotate.h" +#import "WBGTextToolView.h" +#import "UIView+YYAdd.h" +#import "WBGImageEditor.h" +#import "WBGMoreKeyboard.h" +#import "WBGMosicaViewController.h" + +@import YYCategories; + +NSString * const kColorPanNotificaiton = @"kColorPanNotificaiton"; +#pragma mark - WBGImageEditorViewController + +@interface WBGImageEditorViewController () { + + __weak IBOutlet NSLayoutConstraint *topBarTop; + __weak IBOutlet NSLayoutConstraint *bottomBarBottom; +} +@property (nonatomic, strong, nullable) WBGImageToolBase *currentTool; +@property (weak, nonatomic) IBOutlet UIView *bottomBar; +@property (weak, nonatomic) IBOutlet UIView *topBar; + +@property (strong, nonatomic) IBOutlet UIView *topBannerView; +@property (strong, nonatomic) IBOutlet UIView *bottomBannerView; +@property (strong, nonatomic) IBOutlet UIView *leftBannerView; +@property (strong, nonatomic) IBOutlet UIView *rightBannerView; + +@property (weak, nonatomic) IBOutlet UIImageView *imageView; +@property (strong, nonatomic) IBOutlet UIImageView *drawingView; +@property (weak, nonatomic) IBOutlet UIScrollView *scrollView; +@property (strong, nonatomic) IBOutlet WBGColorPan *colorPan; + +@property (weak, nonatomic) IBOutlet UIButton *sendButton; +@property (weak, nonatomic) IBOutlet UIButton *panButton; +@property (weak, nonatomic) IBOutlet UIButton *textButton; +@property (weak, nonatomic) IBOutlet UIButton *clipButton; +@property (weak, nonatomic) IBOutlet UIButton *paperButton; + +@property (nonatomic, strong) WBGDrawTool *drawTool; +@property (nonatomic, strong) WBGTextTool *textTool; + +@property (nonatomic, copy ) UIImage *originImage; + +@property (nonatomic, assign) CGFloat clipInitScale; +@property (nonatomic, assign) BOOL barsHiddenStatus; +@property (nonatomic, strong) WBGMoreKeyboard *keyboard; + +@end + +@implementation WBGImageEditorViewController + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil +{ + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + + } + return self; +} + +- (id)init +{ + self = [self initWithNibName:@"WBGImageEditorViewController" bundle:[NSBundle bundleForClass:self.class]]; + if (self){ + + } + return self; +} + +- (id)initWithImage:(UIImage *)image +{ + return [self initWithImage:image delegate:nil dataSource:nil]; +} + +- (id)initWithImage:(UIImage*)image delegate:(id)delegate dataSource:(id)dataSource; +{ + self = [self init]; + if (self){ + _originImage = image; + self.delegate = delegate; + self.dataSource = dataSource; + } + return self; +} + +- (id)initWithDelegate:(id)delegate +{ + self = [self init]; + if (self){ + + self.delegate = delegate; + } + return self; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view from its nib. + + self.undoButton.hidden = YES; + +// self.colorPan.frame = CGRectMake([UIScreen mainScreen].bounds.size.width - 60, 100, self.colorPan.bounds.size.width, self.colorPan.bounds.size.height); + self.colorPan.frame = CGRectMake(0, [UIScreen mainScreen].bounds.size.height-99, [UIScreen mainScreen].bounds.size.width, 50); + self.colorPan.dataSource = self.dataSource; + [self.view addSubview:_colorPan]; + + [self initImageScrollView]; + + @weakify(self); + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(.25 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + @strongify(self) + if ([self.dataSource respondsToSelector:@selector(imageEditorCompoment)] && [self.dataSource imageEditorCompoment] & WBGImageEditorDrawComponent) { + [self.panButton sendActionsForControlEvents:UIControlEventTouchUpInside]; + } + }); + + self.panButton.hidden = YES; + self.textButton.hidden = YES; + self.clipButton.hidden = YES; + self.paperButton.hidden = YES; + self.colorPan.hidden = YES; +} + +- (void)viewWillAppear:(BOOL)animated { + [super viewWillAppear:animated]; + + //ShowBusyIndicatorForView(self.view); + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(.25 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + // HideBusyIndicatorForView(self.view); + [self refreshImageView]; + }); + + //获取自定制组件 - fecth custom config + [self configCustomComponent]; +} + +- (void)configCustomComponent { + NSMutableArray *valibleCompoment = [NSMutableArray new]; + WBGImageEditorComponent curComponent = [self.dataSource respondsToSelector:@selector(imageEditorCompoment)] ? [self.dataSource imageEditorCompoment] : 0; + if (curComponent == 0) { curComponent = WBGImageEditorWholeComponent; } + if (curComponent & WBGImageEditorDrawComponent) { self.panButton.hidden = NO; [valibleCompoment addObject:self.panButton]; } + if (curComponent & WBGImageEditorTextComponent) { self.textButton.hidden = NO; [valibleCompoment addObject:self.textButton]; } + if (curComponent & WBGImageEditorClipComponent) { self.clipButton.hidden = NO; [valibleCompoment addObject:self.clipButton]; } + if (curComponent & WBGImageEditorPaperComponent) { self.paperButton.hidden = NO; [valibleCompoment addObject:self.paperButton]; } + if (curComponent & WBGImageEditorColorPanComponent) { self.colorPan.hidden = NO; } + + [valibleCompoment enumerateObjectsUsingBlock:^(UIButton * _Nonnull button, NSUInteger idx, BOOL * _Nonnull stop) { + CGRect originFrame = button.frame; + originFrame.origin.x = idx == 0 ?(idx + 1) * 30.f : (idx + 1) * 30.f + originFrame.size.width * idx; + button.frame = originFrame; + }]; +} + +- (void)viewDidAppear:(BOOL)animated { + [super viewDidAppear:animated]; + [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO]; +} + +- (void)viewWillDisappear:(BOOL)animated { + [super viewWillDisappear:animated]; + + [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO]; +} + +- (void)viewDidLayoutSubviews { + [super viewDidLayoutSubviews]; + + if (!self.drawingView) { + self.drawingView = [[UIImageView alloc] initWithFrame:self.imageView.superview.frame]; + self.drawingView.contentMode = UIViewContentModeCenter; + self.drawingView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleTopMargin; + [self.imageView.superview addSubview:self.drawingView]; + self.drawingView.userInteractionEnabled = YES; + } else { + //self.drawingView.frame = self.imageView.superview.frame; + } + + + self.topBannerView.frame = CGRectMake(0, 0, self.imageView.width, CGRectGetMinY(self.imageView.frame)); + self.bottomBannerView.frame = CGRectMake(0, CGRectGetMaxY(self.imageView.frame), self.imageView.width, self.drawingView.height - CGRectGetMaxY(self.imageView.frame)); + self.leftBannerView.frame = CGRectMake(0, 0, CGRectGetMinX(self.imageView.frame), self.drawingView.height); + self.rightBannerView.frame= CGRectMake(CGRectGetMaxX(self.imageView.frame), 0, self.drawingView.width - CGRectGetMaxX(self.imageView.frame), self.drawingView.height); +} + +- (UIView *)topBannerView { + if (!_topBannerView) { + _topBannerView = ({ + UIView *view = [[UIView alloc] init]; + view.backgroundColor = self.scrollView.backgroundColor; + [self.imageView.superview addSubview:view]; + view; + }); + } + + return _topBannerView; +} + +- (UIView *)bottomBannerView { + if (!_bottomBannerView) { + _bottomBannerView = ({ + UIView *view = [[UIView alloc] init]; + view.backgroundColor = self.scrollView.backgroundColor; + [self.imageView.superview addSubview:view]; + view; + }); + } + return _bottomBannerView; +} + +- (UIView *)leftBannerView { + if (!_leftBannerView) { + _leftBannerView = ({ + UIView *view = [[UIView alloc] init]; + view.backgroundColor = self.scrollView.backgroundColor; + [self.imageView.superview addSubview:view]; + view; + }); + } + + return _leftBannerView; +} + +- (UIView *)rightBannerView { + if (!_rightBannerView) { + _rightBannerView = ({ + UIView *view = [[UIView alloc] init]; + view.backgroundColor = self.scrollView.backgroundColor; + [self.imageView.superview addSubview:view]; + view; + }); + } + + return _rightBannerView; +} + +#pragma mark - 初始化 &getter +- (WBGDrawTool *)drawTool { + if (_drawTool == nil) { + _drawTool = [[WBGDrawTool alloc] initWithImageEditor:self]; + + __weak typeof(self)weakSelf = self; + _drawTool.drawToolStatus = ^(BOOL canPrev) { + if (canPrev) { + weakSelf.undoButton.hidden = NO; + } else { + weakSelf.undoButton.hidden = YES; + } + }; + _drawTool.drawingCallback = ^(BOOL isDrawing) { + [weakSelf hiddenTopAndBottomBar:isDrawing animation:YES]; + }; + _drawTool.drawingDidTap = ^(void) { + [weakSelf hiddenTopAndBottomBar:!weakSelf.barsHiddenStatus animation:YES]; + }; + _drawTool.pathWidth = [self.dataSource respondsToSelector:@selector(imageEditorDrawPathWidth)] ? [self.dataSource imageEditorDrawPathWidth].floatValue : 5.0f; + } + + return _drawTool; +} + +- (WBGTextTool *)textTool { + if (_textTool == nil) { + _textTool = [[WBGTextTool alloc] initWithImageEditor:self]; + __weak typeof(self)weakSelf = self; + _textTool.dissmissTextTool = ^(NSString *currentText) { + [weakSelf hiddenColorPan:NO animation:YES]; + weakSelf.currentMode = EditorNonMode; + weakSelf.currentTool = nil; + }; + } + + return _textTool; +} + +- (void)initImageScrollView { + self.scrollView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + self.scrollView.showsHorizontalScrollIndicator = NO; + self.scrollView.showsVerticalScrollIndicator = NO; + self.scrollView.delegate = self; + self.scrollView.clipsToBounds = NO; + self.scrollView.backgroundColor = [UIColor blackColor]; + +} + +- (void)refreshImageView { + if (self.imageView.image == nil) { + self.imageView.image = self.originImage; + } + + [self resetImageViewFrame]; + [self resetZoomScaleWithAnimated:NO]; + [self viewDidLayoutSubviews]; +} + +- (void)resetImageViewFrame { + CGSize size = (_imageView.image) ? _imageView.image.size : _imageView.frame.size; + if(size.width > 0 && size.height > 0 ) { + CGFloat ratio = MIN(_scrollView.frame.size.width / size.width, _scrollView.frame.size.height / size.height); + CGFloat W = ratio * size.width * _scrollView.zoomScale; + CGFloat H = ratio * size.height * _scrollView.zoomScale; + + _imageView.frame = CGRectMake(MAX(0, (_scrollView.width-W)/2), MAX(0, (_scrollView.height-H)/2), W, H); + } +} + +- (void)resetZoomScaleWithAnimated:(BOOL)animated +{ + CGFloat Rw = _scrollView.frame.size.width / _imageView.frame.size.width; + CGFloat Rh = _scrollView.frame.size.height / _imageView.frame.size.height; + + //CGFloat scale = [[UIScreen mainScreen] scale]; + CGFloat scale = 1; + Rw = MAX(Rw, _imageView.image.size.width / (scale * _scrollView.frame.size.width)); + Rh = MAX(Rh, _imageView.image.size.height / (scale * _scrollView.frame.size.height)); + + _scrollView.contentSize = _imageView.frame.size; + _scrollView.minimumZoomScale = 1; + _scrollView.maximumZoomScale = MAX(MAX(Rw, Rh), 3); + + [_scrollView setZoomScale:_scrollView.minimumZoomScale animated:animated]; + [self scrollViewDidZoom:_scrollView]; +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +- (BOOL)prefersStatusBarHidden { + return YES; +} + +#pragma mark- ScrollView delegate +- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView { + return _imageView.superview; +} + +- (void)scrollViewDidZoom:(UIScrollView *)scrollView{ } + +#pragma mark - Property +- (void)setCurrentTool:(WBGImageToolBase *)currentTool { + if(_currentTool != currentTool) { + [_currentTool cleanup]; + _currentTool = currentTool; + [_currentTool setup]; + + } + + [self swapToolBarWithEditting]; +} + +#pragma mark- ImageTool setting ++ (NSString*)defaultIconImagePath { + return nil; +} + ++ (CGFloat)defaultDockedNumber { + return 0; +} + ++ (NSString *)defaultTitle { + return @""; +} + ++ (BOOL)isAvailable { + return YES; +} + ++ (NSArray *)subtools { + return [NSArray new]; +} + ++ (NSDictionary*)optionalInfo { + return nil; +} + + +#pragma mark - Actions +///发送 +- (IBAction)sendAction:(UIButton *)sender { + + [self buildClipImageShowHud:YES clipedCallback:^(UIImage *clipedImage) { + if ([self.delegate respondsToSelector:@selector(imageEditor:didFinishEdittingWithImage:)]) { + [self.delegate imageEditor:self didFinishEdittingWithImage:clipedImage]; + } + }]; + +} + +///涂鸦模式 +- (IBAction)panAction:(UIButton *)sender { + if (_currentMode == EditorDrawMode) { + return; + } + //先设置状态,然后在干别的 + self.currentMode = EditorDrawMode; + + self.currentTool = self.drawTool; +} + +///裁剪模式 +- (IBAction)clipAction:(UIButton *)sender { + + [self buildClipImageShowHud:NO clipedCallback:^(UIImage *clipedImage) { + TOCropViewController *cropController = [[TOCropViewController alloc] initWithCroppingStyle:TOCropViewCroppingStyleDefault image:clipedImage]; + cropController.delegate = self; + __weak typeof(self)weakSelf = self; + CGRect viewFrame = [self.view convertRect:self.imageView.frame toView:self.navigationController.view]; + [cropController presentAnimatedFromParentViewController:self + fromImage:clipedImage + fromView:nil + fromFrame:viewFrame + angle:0 + toImageFrame:CGRectZero + setup:^{ + [weakSelf refreshImageView]; + weakSelf.colorPan.hidden = YES; + weakSelf.currentMode = EditorClipMode; + [weakSelf setCurrentTool:nil]; + } + completion:^{ + }]; + }]; + +} + +//文字模式 +- (IBAction)textAction:(UIButton *)sender { + if (_currentMode == EditorTextMode) { + return; + } + //先设置状态,然后在干别的 + self.currentMode = EditorTextMode; + + self.currentTool = self.textTool; + [self hiddenColorPan:YES animation:YES]; +} + +//贴图模式 +- (IBAction)paperAction:(UIButton *)sender { + if (_currentMode == EditorTextMode) { + return; + } + self.currentMode = EditorPaperMode; + + __weak typeof(self)weakSelf = self; + [self buildClipImageShowHud:NO clipedCallback:^(UIImage *clipedImage) { + typeof (self) strongSelf = weakSelf; + CGRect viewFrame = [strongSelf.view convertRect:strongSelf.imageView.frame toView:strongSelf.navigationController.view]; + + WBGMosicaViewController *vc = [[WBGMosicaViewController alloc] initWithImage:clipedImage frame:viewFrame]; + __weak typeof(self)weakSelf = strongSelf; + + vc.mosicaCallback = ^(UIImage *mosicaImage) { + typeof (self) strongSelf = weakSelf; + self.imageView.image = mosicaImage; + CGRect bounds = strongSelf.drawingView.bounds; + bounds.size = CGSizeMake(bounds.size.width/strongSelf.clipInitScale, bounds.size.height/self.clipInitScale); + + [strongSelf refreshImageView]; + [strongSelf viewDidLayoutSubviews]; + + strongSelf.navigationItem.rightBarButtonItem.enabled = YES; + + //生成图片后,清空画布内容 + [strongSelf.drawTool.allLineMutableArray removeAllObjects]; + [strongSelf.drawTool drawLine]; + [strongSelf.drawingView removeAllSubviews]; + strongSelf.undoButton.hidden = YES; + }; + + [weakSelf presentViewController:vc animated:YES completion:^{ + typeof (self) strongSelf = weakSelf; + [strongSelf refreshImageView]; + strongSelf.colorPan.hidden = YES; + strongSelf.currentMode = EditorClipMode; + [strongSelf setCurrentTool:nil]; + }]; + }]; + +// NSArray *sources = nil; +// if (self.dataSource) { +// sources = [self.dataSource imageItemsEditor:self]; +// } +// //贴图模块 +// [self.keyboard setChatMoreKeyboardData:sources]; +// [self.keyboard showInView:self.view withAnimation:YES]; +} + +- (IBAction)backAction:(UIButton *)sender { + [self dismissViewControllerAnimated:YES completion:nil]; +} + +- (IBAction)undoAction:(UIButton *)sender { + if (self.currentMode == EditorDrawMode) { + WBGDrawTool *tool = (WBGDrawTool *)self.currentTool; + [tool backToLastDraw]; + } +} + + +- (void)editTextAgain { + //WBGTextTool 钩子调用 + + if (_currentMode == EditorTextMode) { + return; + } + //先设置状态,然后在干别的 + self.currentMode = EditorTextMode; + + if(_currentTool != self.textTool) { + [_currentTool cleanup]; + _currentTool = self.textTool; + [_currentTool setup]; + + } + + [self hiddenColorPan:YES animation:YES]; +} + +- (void)resetCurrentTool { + self.currentMode = EditorNonMode; + self.currentTool = nil; +} + +- (WBGMoreKeyboard *)keyboard { + if (!_keyboard) { + WBGMoreKeyboard *keyboard = [WBGMoreKeyboard keyboard]; + [keyboard setKeyboardDelegate:self]; + [keyboard setDelegate:self]; + _keyboard = keyboard; + } + return _keyboard; +} + +#pragma mark - WBGMoreKeyboardDelegate +- (void) moreKeyboard:(id)keyboard didSelectedFunctionItem:(WBGMoreKeyboardItem *)funcItem { + WBGMoreKeyboard *kb = (WBGMoreKeyboard *)keyboard; + [kb dismissWithAnimation:YES]; + + + WBGTextToolView *view = [[WBGTextToolView alloc] initWithTool:self.textTool text:@"" font:nil orImage:funcItem.image]; + view.borderColor = [UIColor whiteColor]; + view.image = funcItem.image; + view.center = [self.imageView.superview convertPoint:self.imageView.center toView:self.drawingView]; + view.userInteractionEnabled = YES; + [self.drawingView addSubview:view]; + [WBGTextToolView setActiveTextView:view]; + +} + +#pragma mark - WBGKeyboardDelegate + +#pragma mark - Cropper Delegate +- (void)cropViewController:(TOCropViewController *)cropViewController didCropToImage:(UIImage *)image withRect:(CGRect)cropRect angle:(NSInteger)angle +{ + [self updateImageViewWithImage:image fromCropViewController:cropViewController]; +} + +- (void)updateImageViewWithImage:(UIImage *)image fromCropViewController:(TOCropViewController *)cropViewController +{ + self.imageView.image = image; + __unused CGFloat drawingWidth = self.drawingView.bounds.size.width; + CGRect bounds = cropViewController.cropView.foregroundImageView.bounds; + bounds.size = CGSizeMake(bounds.size.width/self.clipInitScale, bounds.size.height/self.clipInitScale); + + [self refreshImageView]; + [self viewDidLayoutSubviews]; + + + self.navigationItem.rightBarButtonItem.enabled = YES; + __weak typeof(self)weakSelf = self; + if (cropViewController.croppingStyle != TOCropViewCroppingStyleCircular) { + + [cropViewController dismissAnimatedFromParentViewController:self + withCroppedImage:image + toView:self.imageView + toFrame:CGRectZero + setup:^{ + [weakSelf refreshImageView]; + [weakSelf viewDidLayoutSubviews]; + weakSelf.colorPan.hidden = NO; + } + completion:^{ + weakSelf.colorPan.hidden = NO; + }]; + } + else { + + [cropViewController.presentingViewController dismissViewControllerAnimated:YES completion:nil]; + } + + //生成图片后,清空画布内容 + [self.drawTool.allLineMutableArray removeAllObjects]; + [self.drawTool drawLine]; + [_drawingView removeAllSubviews]; + self.undoButton.hidden = YES; +} + +- (void)cropViewController:(TOCropViewController *)cropViewController didFinishCancelled:(BOOL)cancelled { + + __weak typeof(self)weakSelf = self; + [cropViewController dismissAnimatedFromParentViewController:self + withCroppedImage:self.imageView.image + toView:self.imageView + toFrame:CGRectZero + setup:^{ + [weakSelf refreshImageView]; + [weakSelf viewDidLayoutSubviews]; + weakSelf.colorPan.hidden = NO; + } + completion:^{ + [UIView animateWithDuration:.3f animations:^{ + weakSelf.colorPan.hidden = NO; + }]; + + }]; +} + +#pragma mark - +- (void)swapToolBarWithEditting { + switch (_currentMode) { + case EditorDrawMode: + { + self.panButton.selected = YES; + if (self.drawTool.allLineMutableArray.count > 0) { + self.undoButton.hidden = NO; + } + } + break; + case EditorTextMode: + case EditorClipMode: + case EditorNonMode: + { + self.panButton.selected = NO; + self.undoButton.hidden = YES; + } + break; + default: + break; + } +} + +- (void)hiddenTopAndBottomBar:(BOOL)isHide animation:(BOOL)animation { + if (self.keyboard.isShow) { + [self.keyboard dismissWithAnimation:YES]; + return; + } + + [UIView animateWithDuration:animation ? .25f : 0.f delay:0 usingSpringWithDamping:1 initialSpringVelocity:1 options:isHide ? UIViewAnimationOptionCurveEaseOut : UIViewAnimationOptionCurveEaseIn animations:^{ + if (isHide) { + bottomBarBottom.constant = -49.f; + topBarTop.constant = -64.f; + } else { + bottomBarBottom.constant = 0; + topBarTop.constant = 0; + } + _barsHiddenStatus = isHide; + [self.view layoutIfNeeded]; + } completion:^(BOOL finished) { + + }]; +} + +- (void)hiddenColorPan:(BOOL)yesOrNot animation:(BOOL)animation { + [UIView animateWithDuration:animation ? .25f : 0.f delay:0 usingSpringWithDamping:1 initialSpringVelocity:1 options:yesOrNot ? UIViewAnimationOptionCurveEaseOut : UIViewAnimationOptionCurveEaseIn animations:^{ + self.colorPan.hidden = yesOrNot; + } completion:^(BOOL finished) { + + }]; +} + ++ (UIImage *)createViewImage:(UIView *)shareView { + UIGraphicsBeginImageContextWithOptions(shareView.bounds.size, NO, [UIScreen mainScreen].scale); + [shareView.layer renderInContext:UIGraphicsGetCurrentContext()]; + shareView.layer.affineTransform = shareView.transform; + UIImage * image = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + return image; +} + +- (void)buildClipImageShowHud:(BOOL)showHud clipedCallback:(void(^)(UIImage *clipedImage))clipedCallback { + if (showHud) { + //ShowBusyTextIndicatorForView(self.view, @"生成图片中...", nil); + } +// dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + CGFloat WS = self.imageView.width/ self.drawingView.width; + CGFloat HS = self.imageView.height/ self.drawingView.height; + + dispatch_async(dispatch_get_main_queue(), ^{ + UIGraphicsBeginImageContextWithOptions(CGSizeMake(self.imageView.image.size.width, self.imageView.image.size.height), + NO, + self.imageView.image.scale); + }); + + [self.imageView.image drawAtPoint:CGPointZero]; + CGFloat viewToimgW = self.imageView.width/self.imageView.image.size.width; + CGFloat viewToimgH = self.imageView.height/self.imageView.image.size.height; + __unused CGFloat drawX = self.imageView.left/viewToimgW; + CGFloat drawY = self.imageView.top/viewToimgH; + [_drawingView.image drawInRect:CGRectMake(0, -drawY, self.imageView.image.size.width/WS, self.imageView.image.size.height/HS)]; + dispatch_async(dispatch_get_main_queue(), ^{ + for (UIView *subV in _drawingView.subviews) { + if ([subV isKindOfClass:[WBGTextToolView class]]) { + WBGTextToolView *textLabel = (WBGTextToolView *)subV; + //进入正常状态 + [WBGTextToolView setInactiveTextView:textLabel]; + + //生成图片 + __unused UIView *tes = textLabel.archerBGView; + UIImage *textImg = [self.class screenshot:textLabel.archerBGView orientation:UIDeviceOrientationPortrait usePresentationLayer:YES]; + CGFloat rotation = textLabel.archerBGView.layer.transformRotationZ; + textImg = [textImg imageRotatedByRadians:rotation]; + + CGFloat selfRw = self.imageView.bounds.size.width / self.imageView.image.size.width; + CGFloat selfRh = self.imageView.bounds.size.height / self.imageView.image.size.height; + + CGFloat sw = textImg.size.width / selfRw; + CGFloat sh = textImg.size.height / selfRh; + + [textImg drawInRect:CGRectMake(textLabel.left/selfRw, (textLabel.top/selfRh) - drawY, sw, sh)]; + } + } + }); + + UIImage *tmp = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + + dispatch_async(dispatch_get_main_queue(), ^{ + //HideBusyIndicatorForView(self.view); + UIImage *image = [UIImage imageWithCGImage:tmp.CGImage scale:[UIScreen mainScreen].scale orientation:UIImageOrientationUp]; + clipedCallback(image); + + }); +// }); +} + ++ (UIImage *)screenshot:(UIView *)view orientation:(UIDeviceOrientation)orientation usePresentationLayer:(BOOL)usePresentationLayer +{ + __block CGSize targetSize = CGSizeZero; + dispatch_async(dispatch_get_main_queue(), ^{ + CGSize size = view.bounds.size; + targetSize = CGSizeMake(size.width * view.layer.transformScaleX, size.height * view.layer.transformScaleY); + }); + + UIGraphicsBeginImageContextWithOptions(targetSize, NO, [UIScreen mainScreen].scale); + + CGContextRef ctx = UIGraphicsGetCurrentContext(); + CGContextSaveGState(ctx); + dispatch_async(dispatch_get_main_queue(), ^{ + [view drawViewHierarchyInRect:CGRectMake(0, 0, targetSize.width, targetSize.height) afterScreenUpdates:NO]; + }); + CGContextRestoreGState(ctx); + + UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + + return image; +} + +@end + +#pragma mark - Class WBGWColorPan +@interface WBGColorPan () +@property (nonatomic, strong) UIColor *currentColor; +@property (strong, nonatomic) IBOutletCollection(ColorfullButton) NSArray *colorButtons; + +@property (weak, nonatomic) IBOutlet ColorfullButton *redButton; +@property (weak, nonatomic) IBOutlet ColorfullButton *orangeButton; +@property (weak, nonatomic) IBOutlet ColorfullButton *yellowButton; +@property (weak, nonatomic) IBOutlet ColorfullButton *greenButton; +@property (weak, nonatomic) IBOutlet ColorfullButton *blueButton; +@property (weak, nonatomic) IBOutlet ColorfullButton *pinkButton; +@property (weak, nonatomic) IBOutlet ColorfullButton *whiteButton; + +@end + +@implementation WBGColorPan +- (instancetype)init +{ + self = [super init]; + if (self) { + //[self addGestureRecognizer:[[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panSelectColor:)]]; + } + return self; +} + +- (instancetype)initWithCoder:(NSCoder *)coder +{ + self = [super initWithCoder:coder]; + if (self) { + //[self addGestureRecognizer:[[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panSelectColor:)]]; + } + return self; +} + +- (UIColor *)currentColor { + if (_currentColor == nil) { + _currentColor = ([self.dataSource respondsToSelector:@selector(imageEditorDefaultColor)] && [self.dataSource imageEditorDefaultColor]) ? [self.dataSource imageEditorDefaultColor] : UIColor.redColor; + } + return _currentColor; +} + +- (void)dealloc +{ + [[NSNotificationCenter defaultCenter] removeObserver:self]; +} + +- (void)panSelectColor:(UIPanGestureRecognizer *)recognizer { + + NSLog(@"recon = %@", NSStringFromCGPoint([recognizer translationInView:self])); +} + +- (IBAction)buttonAction:(UIButton *)sender { + ColorfullButton *theBtns = (ColorfullButton *)sender; + + for (ColorfullButton *button in _colorButtons) { + if (button == theBtns) { + button.isUse = YES; + self.currentColor = theBtns.color; + [[NSNotificationCenter defaultCenter] postNotificationName:kColorPanNotificaiton object:self.currentColor]; + } else { + button.isUse = NO; + } + } +} + +- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { + UITouch *touch = [touches anyObject]; + NSLog(@"point: %@", NSStringFromCGPoint([touch locationInView:self])); + NSLog(@"view=%@", touch.view); + CGPoint touchPoint = [touch locationInView:self]; + for (ColorfullButton *button in _colorButtons) { + CGRect rect = [button convertRect:button.bounds toView:self]; + if (CGRectContainsPoint(rect, touchPoint) && button.isUse == NO) { + [self buttonAction:button]; + } + } +} + +- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { + UITouch *touch = [touches anyObject]; + //NSLog(@"move->point: %@", NSStringFromCGPoint([touch locationInView:self])); + CGPoint touchPoint = [touch locationInView:self]; + + for (ColorfullButton *button in _colorButtons) { + CGRect rect = [button convertRect:button.bounds toView:self]; + if (CGRectContainsPoint(rect, touchPoint) && button.isUse == NO) { + [self buttonAction:button]; + } + } +} + +@end diff --git a/ZMJImageEditor/Classes/WBGImageToolBase.h b/ZMJImageEditor/Classes/WBGImageToolBase.h new file mode 100755 index 0000000..5aebe05 --- /dev/null +++ b/ZMJImageEditor/Classes/WBGImageToolBase.h @@ -0,0 +1,22 @@ +// +// WBGImageToolBase.h +// CLImageEditorDemo +// +// Created by Jason on 2017/2/28. +// Copyright © 2017年 CALACULU. All rights reserved. +// + +#import +#import "WBGImageEditorViewController.h" + +@interface WBGImageToolBase : NSObject + +@property (nonatomic, weak) WBGImageEditorViewController *editor; + +- (instancetype)initWithImageEditor:(WBGImageEditorViewController *)editor; + +- (void)setup; +- (void)cleanup; +- (void)executeWithCompletionBlock:(void(^)(UIImage *image, NSError *error, NSDictionary *userInfo))completionBlock; + +@end diff --git a/ZMJImageEditor/Classes/WBGImageToolBase.m b/ZMJImageEditor/Classes/WBGImageToolBase.m new file mode 100755 index 0000000..5f15b1e --- /dev/null +++ b/ZMJImageEditor/Classes/WBGImageToolBase.m @@ -0,0 +1,41 @@ +// +// WBGImageToolBase.m +// CLImageEditorDemo +// +// Created by Jason on 2017/2/28. +// Copyright © 2017年 CALACULU. All rights reserved. +// + +#import "WBGImageToolBase.h" + +@implementation WBGImageToolBase + +- (instancetype)initWithImageEditor:(WBGImageEditorViewController *)editor { + self = [super init]; + if(self) { + self.editor = editor; + } + return self; +} + +#pragma mark - need subclass override +- (void)setup +{ + +} + +- (void)cleanup +{ + +} + +- (void)executeWithCompletionBlock:(void(^)(UIImage *image, NSError *error, NSDictionary *userInfo))completionBlock +{ + completionBlock(self.editor.imageView.image, nil, nil); +} + +- (UIImage*)imageForKey:(NSString*)key defaultImageName:(NSString*)defaultImageName { + return nil; +} + +@end diff --git a/ZMJImageEditor/Classes/WBGKeyboardDelegate.h b/ZMJImageEditor/Classes/WBGKeyboardDelegate.h new file mode 100755 index 0000000..392c45a --- /dev/null +++ b/ZMJImageEditor/Classes/WBGKeyboardDelegate.h @@ -0,0 +1,25 @@ +// +// WBGKeyboardDelegate.h +// WBGKeyboards +// +// Created by Jason on 2016/10/21. +// Copyright © 2016年 Jason. All rights reserved. +// + +#import + +@protocol WBGKeyboardDelegate + +@optional +- (void)chatKeyboardWillShow:(id)keyboard animated:(BOOL)animated; + +- (void)chatKeyboardDidShow:(id)keyboard animated:(BOOL)animated; + +- (void)chatKeyboardWillDismiss:(id)keyboard animated:(BOOL)animated; + +- (void)chatKeyboardDidDismiss:(id)keyboard animated:(BOOL)animated; + +- (void)chatKeyboard:(id)keyboard didChangeHeight:(CGFloat)height; + +@end + diff --git a/ZMJImageEditor/Classes/WBGKeyboardProtocol.h b/ZMJImageEditor/Classes/WBGKeyboardProtocol.h new file mode 100755 index 0000000..8e9c1ce --- /dev/null +++ b/ZMJImageEditor/Classes/WBGKeyboardProtocol.h @@ -0,0 +1,16 @@ +// +// WBGKeyboardProtocol.h +// WBGKeyboards +// +// Created by Jason on 2016/10/21. +// Copyright © 2016年 Jason. All rights reserved. +// + +#import + +@protocol WBGKeyboardProtocol + +@required +- (CGFloat)keyboardHeight; + +@end diff --git a/ZMJImageEditor/Classes/WBGMoreKeyboard+CollectionView.h b/ZMJImageEditor/Classes/WBGMoreKeyboard+CollectionView.h new file mode 100755 index 0000000..bba4a64 --- /dev/null +++ b/ZMJImageEditor/Classes/WBGMoreKeyboard+CollectionView.h @@ -0,0 +1,15 @@ +// +// WBGMoreKeyboard+CollectionView.h +// WBGKeyboards +// +// Created by Jason on 2016/10/24. +// Copyright © 2016年 Jason. All rights reserved. +// + +#import "WBGMoreKeyboard.h" + +@interface WBGMoreKeyboard (CollectionView) +@property (nonatomic, assign, readonly) NSInteger pageItemCount; + +- (void)registerCellClass; +@end diff --git a/ZMJImageEditor/Classes/WBGMoreKeyboard+CollectionView.m b/ZMJImageEditor/Classes/WBGMoreKeyboard+CollectionView.m new file mode 100755 index 0000000..e085425 --- /dev/null +++ b/ZMJImageEditor/Classes/WBGMoreKeyboard+CollectionView.m @@ -0,0 +1,101 @@ +// +// WBGMoreKeyboard+CollectionView.m +// WBGKeyboards +// +// Created by Jason on 2016/10/24. +// Copyright © 2016年 Jason. All rights reserved. +// + +#import "WBGMoreKeyboard+CollectionView.h" +#import "WBGMoreKeyboardCell.h" +#import +@import YYCategories.UIView_YYAdd; + +#define SPACE_TOP 15 +#define WIDTH_CELL 60 +#define EDGE_TOP (SPACE_TOP-10) + +@implementation WBGMoreKeyboard (CollectionView) + +#pragma mark - Public Methods - +- (void)registerCellClass +{ + [self.collectionView registerClass:[WBGMoreKeyboardCell class] forCellWithReuseIdentifier:@"WBGMoreKeyboardCell"]; +} + +#pragma mark - Delegate - +//MARK: UICollectionViewDataSource +- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView +{ + return self.chatMoreKeyboardData.count / self.pageItemCount + (self.chatMoreKeyboardData.count % self.pageItemCount == 0 ? 0 : 1); +} + +- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section +{ + return self.pageItemCount; +} + +- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath +{ + WBGMoreKeyboardCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"WBGMoreKeyboardCell" forIndexPath:indexPath]; + NSUInteger index = indexPath.section * self.pageItemCount + indexPath.row; + NSUInteger tIndex = [self p_transformIndex:index]; // 矩阵坐标转置 + if (tIndex >= self.chatMoreKeyboardData.count) { + [cell setItem:nil]; + } + else { + [cell setItem:self.chatMoreKeyboardData[tIndex]]; + } + __weak typeof(self) weakSelf = self; + [cell setClickBlock:^(WBGMoreKeyboardItem *sItem) { + if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(moreKeyboard:didSelectedFunctionItem:)]) { + [weakSelf.delegate moreKeyboard:weakSelf didSelectedFunctionItem:sItem]; + } + }]; + return cell; +} + +//MARK: UICollectionViewDelegateFlowLayout +- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath +{ + return CGSizeMake(WIDTH_CELL, (collectionView.height - SPACE_TOP) / 2 * 0.93); +} + +- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section +{ + return (collectionView.width - WIDTH_CELL * self.pageItemCount / 2) / (self.pageItemCount / 2 + 1); +} + +- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section +{ + return (collectionView.height - SPACE_TOP) / 2 * 0.07; +} + +- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section +{ + CGFloat space = (collectionView.width - WIDTH_CELL * self.pageItemCount / 2) / (self.pageItemCount / 2 + 1); + return UIEdgeInsetsMake(EDGE_TOP*2, space, EDGE_TOP*2, space); +} +//Mark: UIScrollViewDelegate +- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView +{ + [self.pageControl setCurrentPage:(int)(scrollView.contentOffset.x / scrollView.width)]; +} + +#pragma mark - Private Methods - +- (NSUInteger)p_transformIndex:(NSUInteger)index +{ + NSUInteger page = index / self.pageItemCount; + index = index % self.pageItemCount; + NSUInteger x = index / 2; + NSUInteger y = index % 2; + return self.pageItemCount / 2 * y + x + page * self.pageItemCount; +} + +#pragma mark - # Getter +- (NSInteger)pageItemCount +{ + return (int)(WIDTH_SCREEN / (WIDTH_CELL * 1.3)) * 2; +} + +@end diff --git a/ZMJImageEditor/Classes/WBGMoreKeyboard.h b/ZMJImageEditor/Classes/WBGMoreKeyboard.h new file mode 100755 index 0000000..57943f7 --- /dev/null +++ b/ZMJImageEditor/Classes/WBGMoreKeyboard.h @@ -0,0 +1,26 @@ +// +// WBGMoreKeyboard.h +// WBGKeyboards +// +// Created by Jason on 2016/10/24. +// Copyright © 2016年 Jason. All rights reserved. +// + +#import "WBGBaseKeyboard.h" +#import "WBGKeyboardDelegate.h" +#import "WBGMoreKeyboardDelegate.h" +#import "WBGMoreKeyboardItem.h" + +@interface WBGMoreKeyboard : WBGBaseKeyboard + +@property (nonatomic, weak ) id delegate; + +@property (nonatomic, strong) NSMutableArray *chatMoreKeyboardData; + +@property (nonatomic, strong) UICollectionView *collectionView; + +@property (nonatomic, strong) UIPageControl *pageControl; + ++ (WBGMoreKeyboard *)keyboard; + +@end diff --git a/ZMJImageEditor/Classes/WBGMoreKeyboard.m b/ZMJImageEditor/Classes/WBGMoreKeyboard.m new file mode 100755 index 0000000..5e4afad --- /dev/null +++ b/ZMJImageEditor/Classes/WBGMoreKeyboard.m @@ -0,0 +1,124 @@ +// +// WBGMoreKeyboard.m +// WBGKeyboards +// +// Created by Jason on 2016/10/24. +// Copyright © 2016年 Jason. All rights reserved. +// + +#import "WBGMoreKeyboard.h" +#import "WBGMoreKeyboard+CollectionView.h" +#import "WBGChatMacros.h" +#import "UIColor+TLChat.h" +#import +@import YYCategories.UIView_YYAdd; + +@implementation WBGMoreKeyboard + ++ (WBGMoreKeyboard *)keyboard +{ + static WBGMoreKeyboard *moreKB = nil; + static dispatch_once_t once; + dispatch_once(&once, ^{ + moreKB = [[WBGMoreKeyboard alloc] init]; + }); + return moreKB; +} + +- (id)init +{ + if (self = [super init]) { + [self setBackgroundColor:[UIColor whiteColor]];//[UIColor colorGrayForChatBar]]; + [self addSubview:self.collectionView]; + [self addSubview:self.pageControl]; + [self p_addMasonry]; + + [self registerCellClass]; + } + return self; +} + +- (CGFloat)keyboardHeight +{ + return HEIGHT_CHAT_KEYBOARD; +} + +#pragma mark - # Public Methods +- (void)setChatMoreKeyboardData:(NSMutableArray *)chatMoreKeyboardData +{ + _chatMoreKeyboardData = chatMoreKeyboardData; + [self.collectionView reloadData]; + NSUInteger pageNumber = chatMoreKeyboardData.count / self.pageItemCount + (chatMoreKeyboardData.count % self.pageItemCount == 0 ? 0 : 1); + [self.pageControl setNumberOfPages:pageNumber]; +} + +- (void)reset +{ + [self.collectionView scrollRectToVisible:CGRectMake(0, 0, self.collectionView.width, self.collectionView.height) animated:NO]; +} + +#pragma mark - # Event Response +- (void)pageControlChanged:(UIPageControl *)pageControl +{ + [self.collectionView scrollRectToVisible:CGRectMake(self.collectionView.width * pageControl.currentPage, 0, self.collectionView.width, self.collectionView.height) animated:YES]; +} + +#pragma mark - Private Methods - +- (void)p_addMasonry +{ + [self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(self); + make.left.and.right.mas_equalTo(self); + make.bottom.mas_equalTo(-25); + }]; + [self.pageControl mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.and.right.mas_equalTo(self); + make.height.mas_equalTo(20); + make.bottom.mas_equalTo(-2); + }]; +} + +- (void)drawRect:(CGRect)rect +{ + [super drawRect:rect]; + CGContextRef context = UIGraphicsGetCurrentContext(); + CGContextSetLineWidth(context, 0.5); + CGContextSetStrokeColorWithColor(context, [UIColor colorGrayLine].CGColor); + CGContextBeginPath(context); + CGContextMoveToPoint(context, 0, 0); + CGContextAddLineToPoint(context, WIDTH_SCREEN, 0); + CGContextStrokePath(context); +} + +#pragma mark - # Getter +- (UICollectionView *)collectionView +{ + if (_collectionView == nil) { + UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; + [layout setScrollDirection:UICollectionViewScrollDirectionHorizontal]; + _collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout]; + [_collectionView setBackgroundColor:[UIColor clearColor]]; + [_collectionView setPagingEnabled:YES]; + [_collectionView setDataSource:self]; + [_collectionView setDelegate:self]; + [_collectionView setShowsHorizontalScrollIndicator:NO]; + [_collectionView setShowsHorizontalScrollIndicator:NO]; + [_collectionView setScrollsToTop:NO]; + } + return _collectionView; +} + +- (UIPageControl *)pageControl +{ + if (_pageControl == nil) { + _pageControl = [[UIPageControl alloc] init]; + [_pageControl setPageIndicatorTintColor:[UIColor colorGrayLine]]; + [_pageControl setCurrentPageIndicatorTintColor:[UIColor grayColor]]; + [_pageControl setHidesForSinglePage:YES]; + [_pageControl addTarget:self action:@selector(pageControlChanged:) forControlEvents:UIControlEventValueChanged]; + } + return _pageControl; +} + + +@end diff --git a/ZMJImageEditor/Classes/WBGMoreKeyboardCell.h b/ZMJImageEditor/Classes/WBGMoreKeyboardCell.h new file mode 100755 index 0000000..b5d6689 --- /dev/null +++ b/ZMJImageEditor/Classes/WBGMoreKeyboardCell.h @@ -0,0 +1,17 @@ +// +// WBGMoreKeyboardCell.h +// WBGKeyboards +// +// Created by Jason on 2016/10/24. +// Copyright © 2016年 Jason. All rights reserved. +// + +#import +#import "WBGMoreKeyboardItem.h" + +@interface WBGMoreKeyboardCell : UICollectionViewCell +@property (nonatomic, strong) WBGMoreKeyboardItem *item; + +@property (nonatomic, strong) void(^clickBlock)(WBGMoreKeyboardItem *item); + +@end diff --git a/ZMJImageEditor/Classes/WBGMoreKeyboardCell.m b/ZMJImageEditor/Classes/WBGMoreKeyboardCell.m new file mode 100755 index 0000000..d5d7b6e --- /dev/null +++ b/ZMJImageEditor/Classes/WBGMoreKeyboardCell.m @@ -0,0 +1,96 @@ +// +// WBGMoreKeyboardCell.m +// WBGKeyboards +// +// Created by Jason on 2016/10/24. +// Copyright © 2016年 Jason. All rights reserved. +// + +#import "WBGMoreKeyboardCell.h" +#import "UIColor+TLChat.h" +#import + +@interface WBGMoreKeyboardCell () + +@property (nonatomic, strong) UIButton *iconButton; + +@property (nonatomic, strong) UILabel *titleLabel; + +@end + +@implementation WBGMoreKeyboardCell + +- (id) initWithFrame:(CGRect)frame +{ + if (self = [super initWithFrame:frame]) { + [self.contentView addSubview:self.iconButton]; + [self.contentView addSubview:self.titleLabel]; + [self p_addMasonry]; + } + return self; +} + +- (void)setItem:(WBGMoreKeyboardItem *)item +{ + _item = item; + if (item == nil) { + [self.titleLabel setHidden:YES]; + [self.iconButton setHidden:YES]; + [self setUserInteractionEnabled:NO]; + return; + } + [self setUserInteractionEnabled:YES]; + [self.titleLabel setHidden:NO]; + [self.iconButton setHidden:NO]; + [self.titleLabel setText:item.title]; + [self.iconButton setImage:item.image ?: [UIImage imageNamed:item.imagePath] forState:UIControlStateNormal]; +} + +#pragma mark - Event Response - +- (void)iconButtonDown:(UIButton *)sender +{ + self.clickBlock(self.item); +} + +#pragma mark - Private Methods - +- (void)p_addMasonry +{ + [self.iconButton mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(self.contentView); + make.centerX.mas_equalTo(self.contentView); + make.width.mas_equalTo(self.contentView); + make.height.mas_equalTo(self.iconButton.mas_width); + }]; + [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerX.mas_equalTo(self.contentView); + make.bottom.mas_equalTo(self.contentView).mas_offset(-10); + }]; +} + +#pragma mark - Getter - +- (UIButton *)iconButton +{ + if (_iconButton == nil) { + _iconButton = [[UIButton alloc] init]; + [_iconButton.layer setMasksToBounds:YES]; +// [_iconButton.layer setCornerRadius:5.0f]; +// [_iconButton.layer setBorderWidth:BORDER_WIDTH_1PX]; +// [_iconButton.layer setBorderColor:[UIColor grayColor].CGColor]; +// [_iconButton setBackgroundImage:[UIImage imageWithColor:[UIColor colorGrayLine]] forState:UIControlStateHighlighted]; + [_iconButton addTarget:self action:@selector(iconButtonDown:) forControlEvents:UIControlEventTouchUpInside]; + } + return _iconButton; +} + +- (UILabel *)titleLabel +{ + if (_titleLabel == nil) { + _titleLabel = [[UILabel alloc] init]; + [_titleLabel setFont:[UIFont systemFontOfSize:12.0f]]; + [_titleLabel setTextColor:[UIColor grayColor]]; + } + return _titleLabel; +} + + +@end diff --git a/ZMJImageEditor/Classes/WBGMoreKeyboardDelegate.h b/ZMJImageEditor/Classes/WBGMoreKeyboardDelegate.h new file mode 100755 index 0000000..6e9e29c --- /dev/null +++ b/ZMJImageEditor/Classes/WBGMoreKeyboardDelegate.h @@ -0,0 +1,16 @@ +// +// WBGMoreKeyboardDelegate.h +// WBGKeyboards +// +// Created by Jason on 2016/10/24. +// Copyright © 2016年 Jason. All rights reserved. +// + +#import +#import "WBGMoreKeyboardItem.h" + +@protocol WBGMoreKeyboardDelegate +@optional +- (void) moreKeyboard:(id)keyboard didSelectedFunctionItem:(WBGMoreKeyboardItem *)funcItem; + +@end diff --git a/ZMJImageEditor/Classes/WBGMoreKeyboardItem.h b/ZMJImageEditor/Classes/WBGMoreKeyboardItem.h new file mode 100755 index 0000000..a74813f --- /dev/null +++ b/ZMJImageEditor/Classes/WBGMoreKeyboardItem.h @@ -0,0 +1,22 @@ +// +// WBGMoreKeyboardItem.h +// WBGKeyboards +// +// Created by Jason on 2016/10/24. +// Copyright © 2016年 Jason. All rights reserved. +// + +#import + +@interface WBGMoreKeyboardItem : NSObject + + +@property (nonatomic, copy) NSString *title; + +@property (nonatomic, copy) NSString *imagePath; + +@property (nonatomic, strong) UIImage *image; + ++ (WBGMoreKeyboardItem *)createByTitle:(NSString *)title imagePath:(NSString *)imagePath image:(UIImage *)image; + +@end diff --git a/ZMJImageEditor/Classes/WBGMoreKeyboardItem.m b/ZMJImageEditor/Classes/WBGMoreKeyboardItem.m new file mode 100755 index 0000000..8423792 --- /dev/null +++ b/ZMJImageEditor/Classes/WBGMoreKeyboardItem.m @@ -0,0 +1,21 @@ +// +// WBGMoreKeyboardItem.m +// WBGKeyboards +// +// Created by Jason on 2016/10/24. +// Copyright © 2016年 Jason. All rights reserved. +// + +#import "WBGMoreKeyboardItem.h" + +@implementation WBGMoreKeyboardItem + ++ (WBGMoreKeyboardItem *)createByTitle:(NSString *)title imagePath:(NSString *)imagePath image:(UIImage *)image +{ + WBGMoreKeyboardItem *item = [[WBGMoreKeyboardItem alloc] init]; + item.title = title; + item.imagePath = imagePath; + item.image = image; + return item; +} +@end diff --git a/ZMJImageEditor/Classes/WBGMosicaViewController.h b/ZMJImageEditor/Classes/WBGMosicaViewController.h new file mode 100755 index 0000000..48c16cf --- /dev/null +++ b/ZMJImageEditor/Classes/WBGMosicaViewController.h @@ -0,0 +1,19 @@ +// +// WBGMosicaViewController.h +// FBSnapshotTestCase +// +// Created by 石磊 on 2018/3/30. +// + +#import + +@interface WBGMosicaViewController : UIViewController + +- (instancetype)initWithImage:(UIImage *)image frame:(CGRect )frame; + +@property (nonatomic, strong) UIImage *image; +@property (nonatomic, assign) CGRect frame; + +@property (nonatomic, copy) void (^mosicaCallback)(UIImage *mosicaImage); + +@end diff --git a/ZMJImageEditor/Classes/WBGMosicaViewController.m b/ZMJImageEditor/Classes/WBGMosicaViewController.m new file mode 100755 index 0000000..2533088 --- /dev/null +++ b/ZMJImageEditor/Classes/WBGMosicaViewController.m @@ -0,0 +1,102 @@ +// +// WBGMosicaViewController.m +// FBSnapshotTestCase +// +// Created by 石磊 on 2018/3/30. +// + +#import "WBGMosicaViewController.h" +#import "XScratchView.h" +#import "XRGBTool.h" + +@interface WBGMosicaViewController () +@property (nonatomic, strong) XScratchView *scratchView; +@property (nonatomic, strong) UIView *toolView; +@end + +@implementation WBGMosicaViewController + + +- (instancetype)initWithImage:(UIImage *)image frame:(CGRect )frame { + self = [super init]; + if (self) { + self.image = image; + self.frame = frame; + } + return self; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + CGFloat WIDTH = self.view.frame.size.width; + CGFloat HEIGHT = self.view.frame.size.height; + + XScratchView *scratchView = [[XScratchView alloc] initWithFrame:self.frame]; + // scratchView.mosaicImage = [XRGBTool getFilterMosaicImageWith:[UIImage imageNamed:@"qq.png"]]; + scratchView.surfaceImage = self.image; + scratchView.mosaicImage = [XRGBTool getMosaicImageWith:self.image level:0]; + + _scratchView = scratchView; + [self.view addSubview:scratchView]; + + UIView *toolView = [[UIView alloc] init]; + toolView.frame = CGRectMake(0, HEIGHT - 49, WIDTH, 49); + toolView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.3]; + [self.view addSubview:toolView]; + _toolView = toolView; + + CGFloat btnW = WIDTH / 3.0; + NSArray *arr = @[@"返回",@"撤销",@"完成"]; + for (int i = 0; i < arr.count; i++) { + UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; + btn.frame = CGRectMake(btnW * i, 0, btnW, 49); + btn.tag = 100 + i; + btn.titleLabel.font = [UIFont systemFontOfSize:12]; + btn.accessibilityLabel = arr[i]; + [btn setTitle:arr[i] forState:UIControlStateNormal]; + [btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; + [btn addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside]; + [toolView addSubview:btn]; + } +} + +- (void)buttonAction:(UIButton *)btn { + switch (btn.tag) { + case 100: + [self dismissViewControllerAnimated:YES completion:nil]; + break; + case 101: + [_scratchView recover]; + break; + case 102: + { + __weak typeof(self) weakSelf = self; + UIGraphicsBeginImageContextWithOptions(weakSelf.scratchView.frame.size, NO, 0); + CGContextRef context = UIGraphicsGetCurrentContext(); + [weakSelf.scratchView.layer renderInContext:context]; + UIImage *deadledImage = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + + if (weakSelf.mosicaCallback) { + weakSelf.mosicaCallback(deadledImage); + } + [weakSelf dismissViewControllerAnimated:YES completion:nil]; + } + break; + default: + break; + } +} + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/ZMJImageEditor/Classes/WBGTextTool.h b/ZMJImageEditor/Classes/WBGTextTool.h new file mode 100755 index 0000000..50d2ff1 --- /dev/null +++ b/ZMJImageEditor/Classes/WBGTextTool.h @@ -0,0 +1,28 @@ +// +// WBGTextTool.h +// CLImageEditorDemo +// +// Created by Jason on 2017/3/1. +// Copyright © 2017年 CALACULU. All rights reserved. +// + +#import "WBGImageToolBase.h" +@class _WBGTextView; + +@interface WBGTextTool : WBGImageToolBase +@property (nonatomic, copy) void(^dissmissTextTool)(NSString *currentText);//, BOOL isEditAgain); +@property (nonatomic, strong) _WBGTextView *textView; +@property (nonatomic, assign) BOOL isEditAgain; +@property (nonatomic, copy) void(^editAgainCallback)(NSString *text); +@end + + +@interface _WBGTextView : UIView +@property (nonatomic, strong) UIVisualEffectView *effectView; +@property (nonatomic, copy) void(^dissmissTextTool)(NSString *currentText, BOOL isUse);//, BOOL isEditAgain); +@property (nonatomic, strong) UITextView *textView; +@end + +@interface _WBGToolBar : UIToolbar ++ (instancetype)createToolBarWithCancel:(dispatch_block_t)cancelBlock done:(dispatch_block_t)doneBlock; +@end diff --git a/ZMJImageEditor/Classes/WBGTextTool.m b/ZMJImageEditor/Classes/WBGTextTool.m new file mode 100755 index 0000000..4974815 --- /dev/null +++ b/ZMJImageEditor/Classes/WBGTextTool.m @@ -0,0 +1,352 @@ +// +// WBGTextTool.m +// CLImageEditorDemo +// +// Created by Jason on 2017/3/1. +// Copyright © 2017年 CALACULU. All rights reserved. +// + +#import "WBGTextTool.h" +#import "WBGTextToolView.h" +#import "UIView+YYAdd.h" + +static const CGFloat kTopOffset = 0.f; +static const CGFloat kTextTopOffset = 20.f; +static const NSInteger kTextMaxLimitNumber = 100; + +@implementation WBGTextTool +{ + __weak UIImageView *_drawingView; +} + +- (void)setup { + _drawingView = self.editor.drawingView; + self.editor.scrollView.pinchGestureRecognizer.enabled = NO; + __weak typeof(self)weakSelf = self; + self.textView = [[_WBGTextView alloc] initWithFrame:CGRectMake(0, kTopOffset, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height - kTopOffset)]; + self.textView.textView.textColor = self.editor.colorPan.currentColor; + self.textView.textView.font = [UIFont systemFontOfSize:24.f weight:UIFontWeightRegular]; + self.editor.backButton.enabled = NO; + self.editor.undoButton.enabled = NO; + self.textView.dissmissTextTool = ^(NSString *currentText, BOOL isUse) { + weakSelf.editor.scrollView.pinchGestureRecognizer.enabled = YES; + weakSelf.editor.backButton.enabled = YES; + weakSelf.editor.undoButton.enabled = YES; + + if (weakSelf.isEditAgain) { + if (weakSelf.editAgainCallback && isUse) { + weakSelf.editAgainCallback(currentText); + } + weakSelf.isEditAgain = NO; + } else { + if (isUse) { + [weakSelf addNewText:currentText]; + } + } + + weakSelf.dissmissTextTool(currentText); + }; + [self.editor.view addSubview:self.textView]; + + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(changeColor:) name:@"kColorPanNotificaiton" object:nil]; + //TODO: todo? +} + +- (void)cleanup { + + [self.textView removeFromSuperview]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:@"kColorPanNotificaiton" object:nil]; + //TODO: todo? +} + +- (void)executeWithCompletionBlock:(void (^)(UIImage *, NSError *, NSDictionary *))completionBlock { + +} + +- (void)changeColor:(NSNotification *)notification { + UIColor *panColor = (UIColor *)notification.object; + if (panColor && self.textView) { + [self.textView.textView setTextColor:panColor]; + } +} + +- (void)addNewText:(NSString *)text +{ + if (text == nil || text.length <= 0) { + return; + } + + WBGTextToolView *view = [[WBGTextToolView alloc] initWithTool:self text:text font:self.textView.textView.font orImage:nil]; + view.fillColor = self.editor.colorPan.currentColor; + view.borderColor = [UIColor whiteColor]; + view.font = self.textView.textView.font; + view.text = text; + view.center = [self.editor.imageView.superview convertPoint:self.editor.imageView.center toView:self.editor.drawingView]; + view.userInteractionEnabled = YES; + + [self.editor.drawingView addSubview:view]; + + [WBGTextToolView setActiveTextView:view]; +} + +@end + +#pragma mark - WBGTextView +@interface _WBGTextView () +@property (nonatomic, strong) _WBGToolBar *keyboardToolBar; +@property (nonatomic, strong) NSString *needReplaceString; +@property (nonatomic, assign) NSRange needReplaceRange; +@end + + +@implementation _WBGTextView + +- (instancetype)initWithFrame:(CGRect)frame +{ + self = [super initWithFrame:frame]; + if (self) { + self.backgroundColor = [UIColor clearColor]; + + __weak typeof(self)weakSelf = self; + + UIBlurEffect *blur = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]; + self.effectView = [[UIVisualEffectView alloc] initWithEffect:blur]; + self.effectView.frame = CGRectMake(0, -kTopOffset, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height); + [self addSubview:self.effectView]; + + self.textView = [[UITextView alloc] initWithFrame:CGRectInset(self.bounds, 14, 0)]; + self.textView.top = kTextTopOffset; + self.textView.scrollEnabled = YES; + self.textView.returnKeyType = UIReturnKeyDone; + self.textView.delegate = self; + self.textView.backgroundColor = [UIColor clearColor]; + + self.keyboardToolBar = [_WBGToolBar createToolBarWithCancel:^{ + [weakSelf dismissTextEditing:NO]; + } done:^{ + [weakSelf dismissTextEditing:YES]; + }]; + self.textView.inputAccessoryView = self.keyboardToolBar; + [self addSubview:self.textView]; + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(keyboardWillShow:) + name:UIKeyboardWillShowNotification + object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(keyboardWillHide:) + name:UIKeyboardWillHideNotification + object:nil]; + } + return self; +} + + + +- (void)keyboardWillShow:(NSNotification *)notification { + NSDictionary *userinfo = notification.userInfo; + CGRect keyboardRect = [[userinfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue]; + CGFloat keyboardAnimationDuration = [[userinfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; + UIViewAnimationOptions keyboardAnimationCurve = [[userinfo objectForKey:UIKeyboardAnimationCurveUserInfoKey] integerValue]; + + + self.hidden = YES; + [UIView animateWithDuration:keyboardAnimationDuration delay:keyboardAnimationDuration options:keyboardAnimationCurve animations:^{ + self.textView.height = [UIScreen mainScreen].bounds.size.height - keyboardRect.size.height - kTextTopOffset; + self.top = kTopOffset; + + } completion:^(BOOL finished) {}]; + + [UIView animateWithDuration:3 animations:^{ + self.hidden = NO; + }]; + +} + +- (void)keyboardWillHide:(NSNotification *)notification { + NSDictionary *userinfo = notification.userInfo; + CGFloat keyboardAnimationDuration = [[userinfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; + UIViewAnimationOptions keyboardAnimationCurve = [[userinfo objectForKey:UIKeyboardAnimationCurveUserInfoKey] integerValue]; + + + [UIView animateWithDuration:keyboardAnimationDuration delay:0.f options:keyboardAnimationCurve animations:^{ + self.top = self.effectView.height + kTopOffset; + } completion:^(BOOL finished) { + + }]; +} + +- (void)dismissTextEditing:(BOOL)done { + + [self.textView resignFirstResponder]; + if (self.dissmissTextTool) { + self.dissmissTextTool(self.textView.text, done); + } +} + +- (void)willMoveToSuperview:(UIView *)newSuperview { + if (newSuperview) { + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [self.textView becomeFirstResponder]; + [self.textView scrollRangeToVisible:NSMakeRange(self.textView.text.length-1, 0)]; + }); + } else { + + } +} + +- (void)dealloc +{ + [[NSNotificationCenter defaultCenter] removeObserver:self]; +} + +#pragma mark - UITextViewDelegate + +- (void)textViewDidChange:(UITextView *)textView { + // 选中范围的标记 + UITextRange *textSelectedRange = [textView markedTextRange]; + // 获取高亮部分 + UITextPosition *textPosition = [textView positionFromPosition:textSelectedRange.start offset:0]; + // 如果在变化中是高亮部分在变, 就不要计算字符了 + if (textSelectedRange && textPosition) { + return; + } + // 文本内容 + NSString *textContentStr = textView.text; + NSLog(@"text = %@",textView.text); + NSInteger existTextNumber = textContentStr.length; + + if (existTextNumber > kTextMaxLimitNumber) { + // 截取到最大位置的字符(由于超出截取部分在should时被处理了,所以在这里为了提高效率不在判断) + NSString *str = [textContentStr substringToIndex:kTextMaxLimitNumber]; + [textView setText:str]; + //[AlertBox showMessage:@"输入字符不能超过100\n多余部分已截断" hideAfter:3]; + } + +} + +- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text +{ + NSLog(@"%@", text); + if ([text isEqualToString:@"\n"]) { + [self dismissTextEditing:YES]; + return NO; + } + + UITextRange *selectedRange = [textView markedTextRange]; + //获取高亮部分 + UITextPosition *pos = [textView positionFromPosition:selectedRange.start offset:0]; + + //如果有高亮且当前字数开始位置小于最大限制时允许输入 + if (selectedRange && pos) { + NSInteger startOffset = [textView offsetFromPosition:textView.beginningOfDocument toPosition:selectedRange.start]; + NSInteger endOffset = [textView offsetFromPosition:textView.beginningOfDocument toPosition:selectedRange.end]; + NSRange offsetRange = NSMakeRange(startOffset, endOffset - startOffset); + + if (offsetRange.location < kTextMaxLimitNumber && textView.text.length - offsetRange.length <= kTextMaxLimitNumber) { + self.needReplaceRange = offsetRange; + self.needReplaceString = text; + return YES; + } + else + { + return NO; + } + } + + + NSString *comcatstr = [textView.text stringByReplacingCharactersInRange:range withString:text]; + + NSInteger caninputlen = kTextMaxLimitNumber - comcatstr.length; + + if (caninputlen >= 0) + { + return YES; + } + else + { + NSInteger len = text.length + caninputlen; + //防止当text.length + caninputlen < 0时,使得rg.length为一个非法最大正数出错 + NSRange rg = {0,MAX(len,0)}; + + if (rg.length > 0) + { + NSString *s = @""; + //判断是否只普通的字符或asc码(对于中文和表情返回NO) + BOOL asc = [text canBeConvertedToEncoding:NSASCIIStringEncoding]; + if (asc) { + s = [text substringWithRange:rg];//因为是ascii码直接取就可以了不会错 + } + else + { + __block NSInteger idx = 0; + __block NSString *trimString = @"";//截取出的字串 + //使用字符串遍历,这个方法能准确知道每个emoji是占一个unicode还是两个 + [text enumerateSubstringsInRange:NSMakeRange(0, [text length]) + options:NSStringEnumerationByComposedCharacterSequences + usingBlock: ^(NSString* substring, NSRange substringRange, NSRange enclosingRange, BOOL* stop) { + + NSInteger steplen = substring.length; + if (idx >= rg.length) { + *stop = YES; //取出所需要就break,提高效率 + return ; + } + + trimString = [trimString stringByAppendingString:substring]; + + idx = idx + steplen;//这里变化了,使用了字串占的长度来作为步长 + }]; + + s = trimString; + } + //rang是指从当前光标处进行替换处理(注意如果执行此句后面返回的是YES会触发didchange事件) + [textView setText:[textView.text stringByReplacingCharactersInRange:range withString:s]]; + } + return NO; + } +} + +@end + +#pragma mark - WBGToolBar +@interface _WBGToolBar () +@property (nonatomic, copy) dispatch_block_t cancelBlock; +@property (nonatomic, copy) dispatch_block_t doneBlock; +@end + +@implementation _WBGToolBar + ++ (instancetype)createToolBarWithCancel:(dispatch_block_t)cancelBlock done:(dispatch_block_t)doneBlock { + _WBGToolBar *tool = [[_WBGToolBar alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 44)]; + tool.cancelBlock = cancelBlock; + tool.doneBlock = doneBlock; + return tool; +} + +- (instancetype)initWithFrame:(CGRect)frame +{ + self = [super initWithFrame:frame]; + if (self) { + self.items = [NSArray arrayWithObjects: + [[UIBarButtonItem alloc]initWithTitle:@"取消" style:UIBarButtonItemStylePlain target:self action:@selector(cancelPad)], + [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil], + [[UIBarButtonItem alloc]initWithTitle:@"完成" style:UIBarButtonItemStyleDone target:self action:@selector(donePad)], + nil]; + } + return self; +} + +- (void)cancelPad { + NSLog(@"%@", NSStringFromSelector(_cmd)); + if (self.cancelBlock) { + self.cancelBlock(); + } +} + +- (void)donePad { + NSLog(@"%@", NSStringFromSelector(_cmd)); + if (self.doneBlock) { + self.doneBlock(); + } +} + +@end diff --git a/ZMJImageEditor/Classes/WBGTextToolView.h b/ZMJImageEditor/Classes/WBGTextToolView.h new file mode 100755 index 0000000..f269b9a --- /dev/null +++ b/ZMJImageEditor/Classes/WBGTextToolView.h @@ -0,0 +1,45 @@ +// +// WBGTextToolView.h +// CLImageEditorDemo +// +// Created by Jason on 2017/3/2. +// Copyright © 2017年 CALACULU. All rights reserved. +// + +#import +#import "WBGTextTool.h" + +@class WBGTextToolOverlapView; + +@interface WBGTextToolView : UIView +@property (nonatomic, strong) NSString *text; +@property (nonatomic, strong) UIFont *font; +@property (nonatomic, strong) UIColor *fillColor; +@property (nonatomic, strong) UIColor *borderColor; +@property (nonatomic, assign) CGFloat borderWidth; +@property (nonatomic, assign) NSTextAlignment textAlignment; +@property (nonatomic, strong) UIImage *image; + +@property (nonatomic, strong) WBGTextToolOverlapView *archerBGView; + ++ (void)setActiveTextView:(WBGTextToolView *)view; ++ (void)setInactiveTextView:(WBGTextToolView *)view; +- (instancetype)initWithTool:(WBGTextTool *)tool text:(NSString *)text font:(UIFont *)font orImage:(UIImage *)image; +- (void)setScale:(CGFloat)scale; +- (void)sizeToFitWithMaxWidth:(CGFloat)width lineHeight:(CGFloat)lineHeight; + +@end + +@interface EditImageCropOverLayView : UIView @end + +@interface WBGTextToolOverlapView : UIView +@property (nonatomic, copy ) NSString *text; +@property (nonatomic, strong) UIFont *textFont; +@property (nonatomic, strong) UIColor *textColor; +@property (nonatomic, strong) UIImage *image; +@end + +@interface WBGTextLabel : UILabel +@property (nonatomic, strong) UIColor *outlineColor; +@property (nonatomic, assign) CGFloat outlineWidth; +@end diff --git a/ZMJImageEditor/Classes/WBGTextToolView.m b/ZMJImageEditor/Classes/WBGTextToolView.m new file mode 100755 index 0000000..cc9bb2f --- /dev/null +++ b/ZMJImageEditor/Classes/WBGTextToolView.m @@ -0,0 +1,697 @@ +// +// WBGTextToolView.m +// CLImageEditorDemo +// +// Created by Jason on 2017/3/2. +// Copyright © 2017年 CALACULU. All rights reserved. +// + +#import "WBGTextToolView.h" +#import "WBGTextTool.h" +#import "WBGImageEditorGestureManager.h" +#import "UIView+YYAdd.h" +#import "UIImage+library.h" + +static const CGFloat MAX_FONT_SIZE = 50.0f; +static const CGFloat MIN_TEXT_SCAL = 0.614f; +static const CGFloat MAX_TEXT_SCAL = 4.0f; +static const CGFloat LABEL_OFFSET = 13.f; +static const CGFloat DELETEBUTTON_BOUNDS = 26.f; + +@interface WBGTextToolOverlapContentView : UIView +@property (nonatomic, copy ) NSString *text; +@property (nonatomic, strong) UIFont *textFont; +@property (nonatomic, strong) UIColor *textColor; +@property (nonatomic, assign) CGFloat defaultFont; +@property (nonatomic, strong) UIImage *image; +@end + +@implementation WBGTextToolOverlapContentView + +- (void)setText:(NSString *)text { + if (_text != text) { + _text = text; + [self setNeedsDisplay]; + } +} + +- (void)setTextColor:(UIColor *)textColor { + if (_textColor != textColor) { + _textColor = textColor; + [self setNeedsDisplay]; + } +} + +- (void)setTextFont:(UIFont *)textFont { + if (_textFont != textFont) { + _textFont = textFont; + _defaultFont = textFont.pointSize; + [self setNeedsDisplay]; + } +} + +- (void)setImage:(UIImage *)image { + if (_image != image) { + _image = image; + [self setNeedsDisplay]; + } +} + +- (void)drawRect:(CGRect)rect { + if (self.image) { + [self.image drawInRect:CGRectInset(rect, 21, 25)]; + return; + } + NSShadow *shadow = [[NSShadow alloc] init]; + shadow.shadowColor = [UIColor grayColor]; //阴影颜色 + shadow.shadowOffset= CGSizeMake(2, 2);//偏移量 + shadow.shadowBlurRadius = 5;//模糊度 + + rect.origin = CGPointMake(1, 2); + NSAttributedString *string = [[NSAttributedString alloc] initWithString:self.text + attributes:@{NSForegroundColorAttributeName : self.textColor, + NSFontAttributeName : self.textFont, + NSShadowAttributeName: shadow}]; + [string drawInRect:CGRectInset(rect, 21, 25)]; + +} + +@end + +@interface WBGTextToolOverlapView () +@property (nonatomic, strong) WBGTextToolOverlapContentView *contentView; +@end +@implementation WBGTextToolOverlapView +- (instancetype)initWithFrame:(CGRect)frame +{ + self = [super initWithFrame:frame]; + if (self) { + _contentView = [[WBGTextToolOverlapContentView alloc] initWithFrame:CGRectMake(0, 0, frame.size.width, frame.size.height)]; + _contentView.backgroundColor = [UIColor clearColor]; + [self addSubview:_contentView]; + } + return self; +} + +- (void)setText:(NSString *)text { + if (_text != text) { + _text = text; + [_contentView setText:_text]; + } +} + +- (void)setTextColor:(UIColor *)textColor { + if (_textColor != textColor) { + _textColor = textColor; + [_contentView setTextColor:_textColor]; + } +} + +- (void)setTextFont:(UIFont *)textFont { + if (_textFont != textFont) { + _textFont = textFont; + _contentView.defaultFont = textFont.pointSize; + [_contentView setTextFont:_textFont]; + } +} + +- (void)setImage:(UIImage *)image { + if (_image != image) { + _image = image; + [_contentView setImage:image]; + } +} + + +- (void)layoutSubviews { + [super layoutSubviews]; + _contentView.bounds = self.bounds; + _contentView.origin = CGPointZero; +} + +- (void)drawRect:(CGRect)rect { + //CGFloat scale = [(NSNumber *)[self valueForKeyPath:@"layer.transform.scale.x"] floatValue]; + + //UIFont *font = [self.textFont fontWithSize:_defaultFont * scale]; + + +} + +@end + +@interface WBGTextToolView () +@property (nonatomic, weak) WBGTextTool *textTool; +@end + +@implementation WBGTextToolView +{ + WBGTextLabel *_label; + UIButton *_deleteButton; + + CGFloat _scale; + CGFloat _arg; + + CGPoint _initialPoint; + CGFloat _initialArg; + CGFloat _initialScale; + + CALayer *rectLayer1; + CALayer *rectLayer2; + CALayer *rectLayer3; + + CGFloat _rotation; +} + +static WBGTextToolView *activeView = nil; ++ (void)setActiveTextView:(WBGTextToolView *)view +{ + if(view != activeView){ + [activeView setAvtive:NO]; + activeView = view; + [activeView setAvtive:YES]; + + [activeView.archerBGView.superview bringSubviewToFront:activeView.archerBGView]; + [activeView.superview bringSubviewToFront:activeView]; + + } +} + ++ (void)setInactiveTextView:(WBGTextToolView *)view { + if (activeView) {activeView = nil;} + + [view setAvtive:NO]; +} + +- (instancetype)initWithTool:(WBGTextTool *)tool text:(NSString *)text font:(UIFont *)font orImage:(UIImage *)image +{ + self = [super initWithFrame:CGRectMake(0, 0, 132, 132)]; + if(self){ + + _archerBGView = [[WBGTextToolOverlapView alloc] initWithFrame:CGRectMake(0, 0, 132, 132)]; + _archerBGView.backgroundColor = [UIColor clearColor]; + + _label = [[WBGTextLabel alloc] init]; + _label.numberOfLines = 0; + _label.backgroundColor = [UIColor clearColor]; + _label.font = font;// [UIFont systemFontOfSize:MAX_FONT_SIZE]; + _label.minimumScaleFactor = font.pointSize * 0.8f; + _label.adjustsFontSizeToFitWidth = YES; + _label.textAlignment = NSTextAlignmentCenter; + _label.text = text; + _label.layer.allowsEdgeAntialiasing = true; + self.text = text; + [self addSubview:_label]; + + _textTool = tool; + + CGSize size = [_label sizeThatFits:CGSizeMake(tool.editor.drawingView.width - 2*LABEL_OFFSET, FLT_MAX)]; + _label.frame = CGRectMake(LABEL_OFFSET, LABEL_OFFSET, size.width + 20, size.height + _label.font.pointSize); +#define IMAGE_MAXSIZE 200 + if (image) { + CGSize imageSize = image.size; + CGFloat DI = imageSize.width / imageSize.height; //宽高比例 + CGFloat maxLength = MAX(imageSize.width, imageSize.height); + + if (maxLength > IMAGE_MAXSIZE) { + maxLength = IMAGE_MAXSIZE; + if (maxLength == imageSize.height) { + imageSize.height = maxLength; + imageSize.width = maxLength * DI; + } else if (maxLength == imageSize.width) { + imageSize.width = maxLength; + imageSize.height = maxLength / DI; + } + } + + + _label.frame = CGRectMake(LABEL_OFFSET, LABEL_OFFSET, imageSize.width, imageSize.height); + } + self.frame = CGRectMake(0, 0, _label.width + 2*LABEL_OFFSET, _label.height + 2*LABEL_OFFSET); + + _deleteButton = [UIButton buttonWithType:UIButtonTypeCustom]; + [_deleteButton setImage:[UIImage my_imageNamed:@"close_Text" inBundle:[NSBundle bundleForClass:self.class]] forState:UIControlStateNormal]; + _deleteButton.frame = CGRectMake(0, 0, DELETEBUTTON_BOUNDS, DELETEBUTTON_BOUNDS); + [_deleteButton addTarget:self action:@selector(pushedDeleteBtn:) forControlEvents:UIControlEventTouchUpInside]; + [self addSubview:_deleteButton]; + + _arg = 0; + [self setScale:1]; + + [self initGestures]; + } + return self; +} + +- (void)initGestures +{ + _label.userInteractionEnabled = YES; + UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewDidTap:)]; + UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(viewDidPan:)]; + UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(viewDidPinch:)]; + UIRotationGestureRecognizer *rotation = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(viewDidRotation:)]; + + [pinch requireGestureRecognizerToFail:tap]; + [rotation requireGestureRecognizerToFail:tap]; + + [self.textTool.editor.scrollView.panGestureRecognizer requireGestureRecognizerToFail:pan]; + + tap.delegate = [WBGImageEditorGestureManager instance]; + pan.delegate = [WBGImageEditorGestureManager instance]; + pinch.delegate = [WBGImageEditorGestureManager instance]; + rotation.delegate = [WBGImageEditorGestureManager instance]; + + [self addGestureRecognizer:tap]; + [self addGestureRecognizer:pan]; + [self addGestureRecognizer:pinch]; + [self addGestureRecognizer:rotation]; +} + +- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event +{ + UIView *view = [super hitTest:point withEvent:event]; + if(view == self) { + return self; + } + return view; +} + + +#pragma mark- gesture events +- (void)pushedDeleteBtn:(id)sender +{ + WBGTextToolView *nextTarget = nil; + + const NSInteger index = [self.superview.subviews indexOfObject:self]; + + for(NSInteger i=index+1; i=0; --i){ + UIView *view = [self.superview.subviews objectAtIndex:i]; + if([view isKindOfClass:[WBGTextToolView class]]){ + nextTarget = (WBGTextToolView *)view; + break; + } + } + } + + [[self class] setActiveTextView:nextTarget]; + [self removeFromSuperview]; + [_archerBGView removeFromSuperview]; +} + +- (void)viewDidTap:(UITapGestureRecognizer*)sender +{ + if (sender.state == UIGestureRecognizerStateEnded) { + if(self.active){ + [self editTextAgain:sender]; + } else { + //取消当前 + [self.textTool.editor resetCurrentTool]; + } + [[self class] setActiveTextView:self]; + [self.textTool.editor hiddenTopAndBottomBar:NO animation:YES]; + + } +} + +- (void)viewDidPan:(UIPanGestureRecognizer*)recognizer +{ + //平移 + [[self class] setActiveTextView:self]; + UIView *piece = _archerBGView; + CGPoint translation = [recognizer translationInView:piece.superview]; + piece.center = CGPointMake(piece.center.x + translation.x, piece.center.y + translation.y); + [recognizer setTranslation:CGPointZero inView:piece.superview]; + + if (recognizer.state == UIGestureRecognizerStateBegan || + recognizer.state == UIGestureRecognizerStateChanged) { + [self.textTool.editor hiddenTopAndBottomBar:YES animation:YES]; + //取消当前 + [self.textTool.editor resetCurrentTool]; + } else if (recognizer.state == UIGestureRecognizerStateEnded || + recognizer.state == UIGestureRecognizerStateFailed || + recognizer.state == UIGestureRecognizerStateCancelled) { + + CGRect rectCoordinate = [piece.superview convertRect:piece.frame toView:self.textTool.editor.imageView.superview]; + if (!CGRectIntersectsRect(CGRectInset(self.textTool.editor.imageView.frame, 30, 30), rectCoordinate)) { + [UIView animateWithDuration:.2f animations:^{ + piece.center = piece.superview.center; + self.center = piece.center; + + }]; + } + + [self.textTool.editor hiddenTopAndBottomBar:NO animation:YES]; + } + [self layoutSubviews]; +} + +- (void)viewDidPinch:(UIPinchGestureRecognizer *)recognizer { + //缩放 + [[self class] setActiveTextView:self]; + + if (recognizer.state == UIGestureRecognizerStateBegan || + recognizer.state == UIGestureRecognizerStateChanged) { + //坑点:recognizer.scale是相对原图片大小的scal + + CGFloat scale = [(NSNumber *)[_archerBGView valueForKeyPath:@"layer.transform.scale.x"] floatValue]; + NSLog(@"scale = %f", scale); + + [self.textTool.editor hiddenTopAndBottomBar:YES animation:YES]; + //取消当前 + [self.textTool.editor resetCurrentTool]; + + CGFloat currentScale = recognizer.scale; + + if (scale > MAX_TEXT_SCAL && currentScale > 1) { + return; + } + + if (scale < MIN_TEXT_SCAL && currentScale < 1) { + return; + } + + + _archerBGView.transform = CGAffineTransformScale(_archerBGView.transform, currentScale, currentScale); + recognizer.scale = 1; + [self layoutSubviews]; + + [self.textTool.editor hiddenTopAndBottomBar:YES animation:YES]; + } else if (recognizer.state == UIGestureRecognizerStateEnded || + recognizer.state == UIGestureRecognizerStateFailed || + recognizer.state == UIGestureRecognizerStateCancelled) { + [self.textTool.editor hiddenTopAndBottomBar:NO animation:YES]; + } +} + +- (void)viewDidRotation:(UIRotationGestureRecognizer *)recognizer { + //旋转 + if (recognizer.state == UIGestureRecognizerStateBegan || + recognizer.state == UIGestureRecognizerStateChanged) { + + _archerBGView.transform = CGAffineTransformRotate(_archerBGView.transform, recognizer.rotation); + _rotation = _rotation + recognizer.rotation; + recognizer.rotation = 0; + [self layoutSubviews]; + + [self.textTool.editor hiddenTopAndBottomBar:YES animation:YES]; + //取消当前 + [self.textTool.editor resetCurrentTool]; + } else if (recognizer.state == UIGestureRecognizerStateEnded || + recognizer.state == UIGestureRecognizerStateFailed || + recognizer.state == UIGestureRecognizerStateCancelled) { + [self.textTool.editor hiddenTopAndBottomBar:NO animation:YES]; + } +} + +#pragma mark - Edit it again +- (void)editTextAgain:(UITapGestureRecognizer *)recognizer { + //事件源 + [self.textTool.editor editTextAgain]; + self.textTool.isEditAgain = YES; + self.textTool.textView.textView.text = self.text; + self.textTool.textView.textView.font = self.font; + + __weak typeof (self)weakSelf = self; + self.textTool.editAgainCallback = ^(NSString *text){ + weakSelf.text = text; + [weakSelf resizeSelf]; + weakSelf.font = weakSelf.textTool.textView.textView.font; + weakSelf.fillColor = weakSelf.textTool.textView.textView.textColor; + }; + +} + +- (void)resizeSelf { + + + CGSize size = [_label sizeThatFits:CGSizeMake(self.textTool.editor.drawingView.width - 2*LABEL_OFFSET, FLT_MAX)]; + _label.frame = CGRectMake(LABEL_OFFSET, LABEL_OFFSET, size.width + 20, size.height + _label.font.pointSize); + self.bounds = CGRectMake(0, 0, _label.width + 2*LABEL_OFFSET, _label.height + 2*LABEL_OFFSET); + _archerBGView.bounds = self.bounds; + + rectLayer1.frame = CGRectMake(_label.width - 2 - _scale/2.f, - 2, 4, 4); + rectLayer2.frame = CGRectMake(_scale/2.f - 2, _scale/2.f + _label.height - 2, 4, 4); + rectLayer3.frame = CGRectMake(_label.width - 2 - _scale/2.f, _label.height - 2 - _scale/2.f, 4, 4); +} + +- (void)layoutSubviews { + [super layoutSubviews]; + + CGRect boundss; + if (!_archerBGView.superview) { + [self.superview insertSubview:_archerBGView belowSubview:self]; + _archerBGView.frame = self.frame; + boundss = self.bounds; + } + boundss = _archerBGView.bounds; + self.transform = CGAffineTransformMakeRotation(_rotation); + + CGFloat w = boundss.size.width; + CGFloat h = boundss.size.height; + CGFloat scale = [(NSNumber *)[_archerBGView valueForKeyPath:@"layer.transform.scale.x"] floatValue]; + + self.bounds = CGRectMake(0, 0, w*scale, h*scale); + self.center = _archerBGView.center; + + _label.frame = CGRectMake(LABEL_OFFSET, LABEL_OFFSET, self.bounds.size.width - 2*LABEL_OFFSET, self.bounds.size.height - 2*LABEL_OFFSET); + { + [CATransaction begin]; + [CATransaction setDisableActions:YES]; + if (!rectLayer1) { + rectLayer1 = [CALayer layer]; + rectLayer1.backgroundColor = [UIColor whiteColor].CGColor; + [_label.layer addSublayer:rectLayer1]; + } + rectLayer1.frame = CGRectMake(_label.width - 2 - _scale/2.f, - 2, 4, 4); + + + if (!rectLayer2) { + rectLayer2 = [CALayer layer]; + rectLayer2.backgroundColor = [UIColor whiteColor].CGColor; + [_label.layer addSublayer:rectLayer2]; + } + rectLayer2.frame = CGRectMake(_scale/2.f - 2, _label.height - 2 - _scale/2.f, 4, 4); + + + if (!rectLayer3) { + rectLayer3 = [CALayer layer]; + rectLayer3.backgroundColor = [UIColor whiteColor].CGColor; + [_label.layer addSublayer:rectLayer3]; + } + rectLayer3.frame = CGRectMake(_label.width - 2 - _scale/2.f, _label.height - 2 - _scale/2.f, 4, 4); + [CATransaction commit]; + } +} + +#pragma mark- Properties + +- (void)setAvtive:(BOOL)active { + dispatch_async(dispatch_get_main_queue(), ^{ + [CATransaction begin]; + [CATransaction setDisableActions:YES]; + _deleteButton.hidden = !active; + _label.layer.borderWidth = (active) ? 1/_scale : 0; + _label.layer.shadowColor = [UIColor grayColor].CGColor; + _label.layer.shadowOffset= CGSizeMake(0, 0); + _label.layer.shadowOpacity = .6f; + _label.layer.shadowRadius = 2.f; + + _deleteButton.layer.shadowColor = [UIColor grayColor].CGColor; + _deleteButton.layer.shadowOffset= CGSizeMake(0, 0); + _deleteButton.layer.shadowOpacity = .6f; + _deleteButton.layer.shadowRadius = 2.f; + + rectLayer1.hidden = rectLayer2.hidden = rectLayer3.hidden = !active; + [CATransaction commit]; + + if (active) { + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(changeColor:) name:@"kColorPanNotificaiton" object:nil]; + } else { + [[NSNotificationCenter defaultCenter] removeObserver:self name:@"kColorPanNotificaiton" object:nil]; + } + }); +} + +- (void)changeColor:(NSNotification *)notification { + UIColor *currentColor = (UIColor *)notification.object; + self.fillColor = currentColor; +} + +- (BOOL)active +{ + return !_deleteButton.hidden; +} + +- (void)sizeToFitWithMaxWidth:(CGFloat)width lineHeight:(CGFloat)lineHeight +{ + self.transform = CGAffineTransformIdentity; + _label.transform = CGAffineTransformIdentity; + + CGSize size = [_label sizeThatFits:CGSizeMake(width / (15/MAX_FONT_SIZE), FLT_MAX)]; + _label.frame = CGRectMake(16, 16, size.width, size.height); + + CGFloat viewW = (_label.width + 32); + CGFloat viewH = _label.font.lineHeight; + + CGFloat ratio = MIN(width / viewW, lineHeight / viewH); + [self setScale:ratio]; +} + +- (void)setScale:(CGFloat)scale +{ + _scale = scale; + + self.transform = CGAffineTransformIdentity; + + _label.transform = CGAffineTransformMakeScale(_scale, _scale); + + CGRect rct = self.frame; + rct.origin.x += (rct.size.width - (_label.width + 32)) / 2; + rct.origin.y += (rct.size.height - (_label.height + 32)) / 2; + rct.size.width = _label.width + 32; + rct.size.height = _label.height + 32; + self.frame = rct; + + _label.center = CGPointMake(rct.size.width/2, rct.size.height/2); + + self.transform = CGAffineTransformMakeRotation(_arg); + + _label.layer.borderWidth = 1/_scale; +} + +- (void)setFillColor:(UIColor *)fillColor +{ + _label.textColor = [UIColor clearColor]; + _archerBGView.textColor = fillColor; +} + +- (UIColor*)fillColor +{ + //return _label.textColor; + return _archerBGView.textColor; +} + +- (void)setBorderColor:(UIColor *)borderColor +{ + _label.layer.borderColor = borderColor.CGColor; +} + +- (UIColor*)borderColor +{ + return [UIColor colorWithCGColor:_label.layer.borderColor]; +} + +- (void)setBorderWidth:(CGFloat)borderWidth +{ + _label.layer.borderWidth = borderWidth; +} + +- (CGFloat)borderWidth +{ + return _label.layer.borderWidth; +} + +- (void)setFont:(UIFont *)font +{ + _label.font = font; + _archerBGView.textFont = font; +} + +- (UIFont*)font +{ + return _label.font; +} + +- (void)setTextAlignment:(NSTextAlignment)textAlignment +{ + _label.textAlignment = textAlignment; +} + +- (NSTextAlignment)textAlignment +{ + return _label.textAlignment; +} + +- (void)setText:(NSString *)text +{ + if(![text isEqualToString:_text]){ + _text = text; + _label.text = (_text.length>0) ? _text : @""; + _archerBGView.text = _label.text; + } +} + +- (void)setImage:(UIImage *)image { + if (_image != image) { + _image = image; + _archerBGView.image = image; + } +} + +@end + +@interface WBGTextTool () +@end + +@implementation WBGTextLabel + +- (id)initWithFrame:(CGRect)frame +{ + self = [super initWithFrame:frame]; + if (self) { + // Initialization code + } + return self; +} + +- (void)layoutSubviews { + [super layoutSubviews]; + + EditImageCropOverLayView *view = [[EditImageCropOverLayView alloc] init]; + view.bounds = self.bounds; + //[self addSubview:view]; +} + +- (void)drawTextInRect:(CGRect)rect +{ + CGSize shadowOffset = self.shadowOffset; + UIColor *txtColor = self.textColor; + UIFont *font = self.font; + + CGContextRef contextRef = UIGraphicsGetCurrentContext(); + CGContextSetLineWidth(contextRef, 1); + CGContextSetLineJoin(contextRef, kCGLineJoinRound); + + CGContextSetTextDrawingMode(contextRef, kCGTextFill); + self.textColor = txtColor; + self.shadowOffset = CGSizeMake(10, 10); + self.font = font; + [super drawTextInRect:CGRectInset(rect, 5, 5)]; + + self.shadowOffset = shadowOffset; +} + +@end + + + +@implementation EditImageCropOverLayView + +- (void)drawRect:(CGRect)rect { + CGContextRef context = UIGraphicsGetCurrentContext(); + + UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:rect cornerRadius:0]; + path.lineWidth = 2.5; + [[UIColor whiteColor] setStroke]; + [path stroke]; +} + +@end diff --git a/_Pods.xcodeproj b/_Pods.xcodeproj new file mode 120000 index 0000000..3c5a8e7 --- /dev/null +++ b/_Pods.xcodeproj @@ -0,0 +1 @@ +Example/Pods/Pods.xcodeproj \ No newline at end of file diff --git a/screenShot/1.png b/screenShot/1.png new file mode 100755 index 0000000000000000000000000000000000000000..d892788f66552e384fe51ceb886127f26e09e348 GIT binary patch literal 790436 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