├── .gitignore ├── AnyDraw.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── xcuserdata │ └── zmz.xcuserdatad │ ├── xcdebugger │ └── Breakpoints_v2.xcbkptlist │ └── xcschemes │ ├── AnyDraw.xcscheme │ └── xcschememanagement.plist ├── AnyDraw.xcworkspace ├── contents.xcworkspacedata └── xcuserdata │ └── zmz.xcuserdatad │ └── xcdebugger │ └── Breakpoints_v2.xcbkptlist ├── AnyDraw ├── AnyBitMap.h ├── AnyBitMap.m ├── AnyBrushBox.h ├── AnyBrushBox.m ├── AnyCanvasPicture.h ├── AnyCanvasPicture.m ├── AnyCanvasView.h ├── AnyCanvasView.m ├── AnyColorBox.h ├── AnyColorBox.m ├── AnyContext.h ├── AnyContext.m ├── AnyDrawMainView.h ├── AnyDrawMainView.m ├── AnyDrawMainView.xib ├── AnyDrawQueue.h ├── AnyDrawQueue.m ├── AnyPath.h ├── AnyPath.m ├── AnyPublicDefine.h ├── AnyPublicMethod.h ├── AnyPublicMethod.m ├── AnyQueue.h ├── AnyQueue.m ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ ├── brush_01.imageset │ │ ├── Contents.json │ │ └── brush_01.png │ ├── brush_01_gb45.imageset │ │ ├── Contents.json │ │ └── brush_01_gb45.png │ ├── brush_03.imageset │ │ ├── Contents.json │ │ └── brush_03.png │ ├── brush_03_gb15.imageset │ │ ├── Contents.json │ │ └── brush_03_gb15.png │ ├── brush_04.imageset │ │ ├── Contents.json │ │ └── brush_04.png │ ├── brush_05.imageset │ │ ├── Contents.json │ │ └── brush_05.png │ ├── brush_07.imageset │ │ ├── Contents.json │ │ └── brush_07.png │ ├── brush_10.imageset │ │ ├── Contents.json │ │ └── brush_10.png │ ├── brush_10_gb11.imageset │ │ ├── Contents.json │ │ └── brush_10_gb11.png │ ├── brush_10_gb15.imageset │ │ ├── Contents.json │ │ └── brush_10_gb15.png │ ├── brush_12.imageset │ │ ├── Contents.json │ │ └── brush_12.png │ ├── brush_12_gb15.imageset │ │ ├── Contents.json │ │ └── brush_12_gb15.png │ ├── brush_14.imageset │ │ ├── Contents.json │ │ └── brush_14.png │ ├── brush_14_gb50.imageset │ │ ├── Contents.json │ │ └── brush_14_gb50.png │ ├── brush_18.imageset │ │ ├── Contents.json │ │ └── brush_18.png │ ├── brush_18_gb15.imageset │ │ ├── Contents.json │ │ └── brush_18_gb15.png │ ├── brush_19.imageset │ │ ├── Contents.json │ │ └── brush_19.png │ ├── brush_19_gb15.imageset │ │ ├── Contents.json │ │ └── brush_19_gb15.png │ ├── brush_22.imageset │ │ ├── Contents.json │ │ └── brush_22.png │ ├── brush_22_gb15.imageset │ │ ├── Contents.json │ │ └── brush_22_gb15.png │ ├── brush_28.imageset │ │ ├── Contents.json │ │ └── brush_28.png │ ├── brush_32.imageset │ │ ├── Contents.json │ │ └── brush_32.png │ ├── brush_32_gb12.imageset │ │ ├── Contents.json │ │ └── brush_32_gb12.png │ ├── brush_33.imageset │ │ ├── Contents.json │ │ └── brush_33.png │ ├── brush_41.imageset │ │ ├── Contents.json │ │ └── brush_41.png │ ├── brush_41_gb15.imageset │ │ ├── Contents.json │ │ └── brush_41_gb15.png │ ├── brush_42.imageset │ │ ├── Contents.json │ │ └── brush_42.png │ ├── brush_42_gb15.imageset │ │ ├── Contents.json │ │ └── brush_42_gb15.png │ ├── brush_43.imageset │ │ ├── Contents.json │ │ └── brush_43.png │ ├── brush_43_gb15.imageset │ │ ├── Contents.json │ │ └── brush_43_gb15.png │ ├── brush_44.imageset │ │ ├── Contents.json │ │ └── brush_44.png │ ├── brush_44_gb15.imageset │ │ ├── Contents.json │ │ └── brush_44_gb15.png │ ├── brush_45.imageset │ │ ├── Contents.json │ │ └── brush_45.png │ ├── brush_45_gb15.imageset │ │ ├── Contents.json │ │ └── brush_45_gb15.png │ ├── brush_46.imageset │ │ ├── Contents.json │ │ └── brush_46.png │ ├── brush_46_gb15.imageset │ │ ├── Contents.json │ │ └── brush_46_gb15.png │ ├── brush_47.imageset │ │ ├── Contents.json │ │ └── brush_47.png │ ├── brush_47_gb15.imageset │ │ ├── Contents.json │ │ └── brush_47_gb15.png │ ├── brush_48.imageset │ │ ├── Contents.json │ │ └── brush_48.png │ ├── brush_48_gb15.imageset │ │ ├── Contents.json │ │ └── brush_48_gb15.png │ ├── brush_49.imageset │ │ ├── Contents.json │ │ └── brush_49.png │ ├── brush_49_gb12.imageset │ │ ├── Contents.json │ │ └── brush_49_gb12.png │ ├── brush_53.imageset │ │ ├── Contents.json │ │ └── brush_53.png │ ├── brush_54.imageset │ │ ├── Contents.json │ │ └── brush_54.png │ ├── brush_55.imageset │ │ ├── Contents.json │ │ └── brush_55.png │ ├── brush_56.imageset │ │ ├── Contents.json │ │ └── brush_56.png │ ├── brush_60.imageset │ │ ├── Contents.json │ │ └── brush_60.png │ ├── brush_60_gb50.imageset │ │ ├── Contents.json │ │ └── brush_60_gb50.png │ ├── brush_opacity_size_bg.9.imageset │ │ ├── Contents.json │ │ └── brush_opacity_size_bg.9.png │ ├── dialog_select_brush_bg.9.imageset │ │ ├── Contents.json │ │ └── dialog_select_brush_bg.9.png │ ├── drawing_board_progress_horizontal.dataset │ │ ├── Contents.json │ │ └── drawing_board_progress_horizontal.xml │ ├── main_brush_icon_01.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_01.png │ ├── main_brush_icon_02.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_02.png │ ├── main_brush_icon_03.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_03.png │ ├── main_brush_icon_04.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_04.png │ ├── main_brush_icon_05.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_05.png │ ├── main_brush_icon_06.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_06.png │ ├── main_brush_icon_07.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_07.png │ ├── main_brush_icon_08.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_08.png │ ├── main_brush_icon_09.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_09.png │ ├── main_brush_icon_10.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_10.png │ ├── main_brush_icon_11.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_11.png │ ├── main_brush_icon_12.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_12.png │ ├── main_brush_icon_13.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_13.png │ ├── main_brush_icon_14.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_14.png │ ├── main_brush_icon_15.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_15.png │ ├── main_brush_icon_16.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_16.png │ ├── main_brush_icon_17.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_17.png │ ├── main_brush_icon_18.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_18.png │ ├── main_brush_icon_19.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_19.png │ ├── main_brush_icon_20.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_20.png │ ├── main_brush_icon_21.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_21.png │ ├── main_brush_icon_22.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_22.png │ ├── main_brush_icon_23.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_23.png │ ├── main_brush_icon_24.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_24.png │ ├── main_brush_icon_25.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_25.png │ ├── main_brush_icon_26.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_26.png │ ├── main_brush_icon_27.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_27.png │ ├── main_brush_icon_28.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_28.png │ ├── main_brush_icon_29.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_29.png │ ├── main_brush_icon_30.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_30.png │ ├── main_brush_icon_31.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_31.png │ ├── main_brush_icon_32.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_32.png │ ├── main_brush_icon_33.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_33.png │ ├── main_brush_icon_34.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_34.png │ ├── main_brush_icon_35.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_35.png │ ├── main_brush_icon_36.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_36.png │ ├── main_brush_icon_37.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_37.png │ ├── main_brush_icon_38.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_38.png │ ├── main_brush_icon_39.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_39.png │ ├── main_brush_icon_40.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_40.png │ ├── main_brush_icon_41.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_41.png │ ├── main_brush_icon_42.imageset │ │ ├── Contents.json │ │ └── main_brush_icon_42.png │ ├── photobrush_acrylic.imageset │ │ ├── Contents.json │ │ └── photobrush_acrylic.png │ ├── photobrush_air_brush.imageset │ │ ├── Contents.json │ │ └── photobrush_air_brush.png │ ├── photobrush_fish.imageset │ │ ├── Contents.json │ │ └── photobrush_fish.png │ ├── photobrush_flowers.imageset │ │ ├── Contents.json │ │ └── photobrush_flowers.png │ ├── photobrush_hard_pastel.imageset │ │ ├── Contents.json │ │ └── photobrush_hard_pastel.png │ ├── photobrush_impress.imageset │ │ ├── Contents.json │ │ └── photobrush_impress.png │ ├── photobrush_oil.imageset │ │ ├── Contents.json │ │ └── photobrush_oil.png │ ├── photobrush_oil_pastel.imageset │ │ ├── Contents.json │ │ └── photobrush_oil_pastel.png │ ├── photobrush_pen.imageset │ │ ├── Contents.json │ │ └── photobrush_pen.png │ ├── photobrush_renoir.imageset │ │ ├── Contents.json │ │ └── photobrush_renoir.png │ ├── photobrush_seurat.imageset │ │ ├── Contents.json │ │ └── photobrush_seurat.png │ ├── photobrush_van_gogh.imageset │ │ ├── Contents.json │ │ └── photobrush_van_gogh.png │ ├── photobrush_water_color.imageset │ │ ├── Contents.json │ │ └── photobrush_water_color.png │ ├── photobrush_wet_canvas.imageset │ │ ├── Contents.json │ │ └── photobrush_wet_canvas.png │ ├── photobrush_wet_sponge.imageset │ │ ├── Contents.json │ │ └── photobrush_wet_sponge.png │ ├── shape_loading_dialog_bg.dataset │ │ ├── Contents.json │ │ └── shape_loading_dialog_bg.xml │ ├── stylishbrush_air_brush.imageset │ │ ├── Contents.json │ │ └── stylishbrush_air_brush.png │ ├── stylishbrush_ballpoint_pen.imageset │ │ ├── Contents.json │ │ └── stylishbrush_ballpoint_pen.png │ ├── stylishbrush_bamboo1.imageset │ │ ├── Contents.json │ │ └── stylishbrush_bamboo1.png │ ├── stylishbrush_bamboo2.imageset │ │ ├── Contents.json │ │ └── stylishbrush_bamboo2.png │ ├── stylishbrush_calligraphy.imageset │ │ ├── Contents.json │ │ └── stylishbrush_calligraphy.png │ ├── stylishbrush_colorless_oil.imageset │ │ ├── Contents.json │ │ └── stylishbrush_colorless_oil.png │ ├── stylishbrush_coub_knife.imageset │ │ ├── Contents.json │ │ └── stylishbrush_coub_knife.png │ ├── stylishbrush_creyon.imageset │ │ ├── Contents.json │ │ └── stylishbrush_creyon.png │ ├── stylishbrush_felt_pen.imageset │ │ ├── Contents.json │ │ └── stylishbrush_felt_pen.png │ ├── stylishbrush_finger.imageset │ │ ├── Contents.json │ │ └── stylishbrush_finger.png │ ├── stylishbrush_fish.imageset │ │ ├── Contents.json │ │ └── stylishbrush_fish.png │ ├── stylishbrush_flowers.imageset │ │ ├── Contents.json │ │ └── stylishbrush_flowers.png │ ├── stylishbrush_hard_pastel.imageset │ │ ├── Contents.json │ │ └── stylishbrush_hard_pastel.png │ ├── stylishbrush_hard_pencil.imageset │ │ ├── Contents.json │ │ └── stylishbrush_hard_pencil.png │ ├── stylishbrush_head_eraser.imageset │ │ ├── Contents.json │ │ └── stylishbrush_head_eraser.png │ ├── stylishbrush_ink_pen.imageset │ │ ├── Contents.json │ │ └── stylishbrush_ink_pen.png │ ├── stylishbrush_ink_spot.imageset │ │ ├── Contents.json │ │ └── stylishbrush_ink_spot.png │ ├── stylishbrush_knife1.imageset │ │ ├── Contents.json │ │ └── stylishbrush_knife1.png │ ├── stylishbrush_knife2.imageset │ │ ├── Contents.json │ │ └── stylishbrush_knife2.png │ ├── stylishbrush_oil.imageset │ │ ├── Contents.json │ │ └── stylishbrush_oil.png │ ├── stylishbrush_oil_pastel.imageset │ │ ├── Contents.json │ │ └── stylishbrush_oil_pastel.png │ ├── stylishbrush_pastel.imageset │ │ ├── Contents.json │ │ └── stylishbrush_pastel.png │ ├── stylishbrush_pen.imageset │ │ ├── Contents.json │ │ └── stylishbrush_pen.png │ ├── stylishbrush_soft_eraser.imageset │ │ ├── Contents.json │ │ └── stylishbrush_soft_eraser.png │ ├── stylishbrush_soft_pencil.imageset │ │ ├── Contents.json │ │ └── stylishbrush_soft_pencil.png │ ├── stylishbrush_sponge.imageset │ │ ├── Contents.json │ │ └── stylishbrush_sponge.png │ ├── stylishbrush_water_color.imageset │ │ ├── Contents.json │ │ └── stylishbrush_water_color.png │ ├── texture01.imageset │ │ ├── Contents.json │ │ └── texture01.png │ ├── 画布 │ │ ├── Contents.json │ │ ├── 画布1.imageset │ │ │ ├── Contents.json │ │ │ └── 画布1.png │ │ ├── 画布2.imageset │ │ │ ├── Contents.json │ │ │ └── 画布2.png │ │ ├── 画布3.imageset │ │ │ ├── Contents.json │ │ │ └── 画布3.png │ │ ├── 画布4.imageset │ │ │ ├── Contents.json │ │ │ └── 画布4.png │ │ ├── 画布5.imageset │ │ │ ├── Contents.json │ │ │ └── 画布5.png │ │ └── 画布6.imageset │ │ │ ├── Contents.json │ │ │ └── 画布6.png │ └── 调色板.imageset │ │ ├── Contents.json │ │ └── 调色板.jpg ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Categorys │ ├── NSString+size.h │ ├── NSString+size.m │ ├── NSTimer+block.h │ ├── NSTimer+block.m │ ├── UIButton+block.h │ ├── UIButton+block.m │ ├── UIColor+HEX.h │ ├── UIColor+HEX.m │ ├── UIImage+category.h │ ├── UIImage+category.m │ ├── UIView+category.h │ ├── UIView+category.m │ ├── UIView+createSubviews.h │ ├── UIView+createSubviews.m │ ├── UIView+expand.h │ └── UIView+expand.m ├── Info.plist ├── PrefixHeader.pch ├── ViewController.h ├── ViewController.m └── main.m ├── Podfile ├── Podfile.lock ├── Pods ├── Headers │ ├── Private │ │ └── SVProgressHUD │ │ │ ├── SVIndefiniteAnimatedView.h │ │ │ ├── SVProgressAnimatedView.h │ │ │ ├── SVProgressHUD.h │ │ │ └── SVRadialGradientLayer.h │ └── Public │ │ └── SVProgressHUD │ │ ├── SVIndefiniteAnimatedView.h │ │ ├── SVProgressAnimatedView.h │ │ ├── SVProgressHUD.h │ │ └── SVRadialGradientLayer.h ├── Manifest.lock ├── Pods.xcodeproj │ ├── project.pbxproj │ └── xcuserdata │ │ └── zmz.xcuserdatad │ │ └── xcschemes │ │ ├── Pods-AnyDraw.xcscheme │ │ ├── SVProgressHUD.xcscheme │ │ └── xcschememanagement.plist ├── SVProgressHUD │ ├── LICENSE.txt │ ├── README.md │ └── SVProgressHUD │ │ ├── SVIndefiniteAnimatedView.h │ │ ├── SVIndefiniteAnimatedView.m │ │ ├── SVProgressAnimatedView.h │ │ ├── SVProgressAnimatedView.m │ │ ├── SVProgressHUD.bundle │ │ ├── angle-mask.png │ │ ├── angle-mask@2x.png │ │ ├── angle-mask@3x.png │ │ ├── error.png │ │ ├── error@2x.png │ │ ├── error@3x.png │ │ ├── info.png │ │ ├── info@2x.png │ │ ├── info@3x.png │ │ ├── success.png │ │ ├── success@2x.png │ │ └── success@3x.png │ │ ├── SVProgressHUD.h │ │ ├── SVProgressHUD.m │ │ ├── SVRadialGradientLayer.h │ │ └── SVRadialGradientLayer.m └── Target Support Files │ ├── Pods-AnyDraw │ ├── Pods-AnyDraw-acknowledgements.markdown │ ├── Pods-AnyDraw-acknowledgements.plist │ ├── Pods-AnyDraw-dummy.m │ ├── Pods-AnyDraw-frameworks.sh │ ├── Pods-AnyDraw-resources.sh │ ├── Pods-AnyDraw.debug.xcconfig │ └── Pods-AnyDraw.release.xcconfig │ └── SVProgressHUD │ ├── SVProgressHUD-dummy.m │ ├── SVProgressHUD-prefix.pch │ └── SVProgressHUD.xcconfig └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | UserInterfaceState.xcuserstate 2 | -------------------------------------------------------------------------------- /AnyDraw.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /AnyDraw.xcodeproj/xcuserdata/zmz.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /AnyDraw.xcodeproj/xcuserdata/zmz.xcuserdatad/xcschemes/AnyDraw.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 31 | 32 | 33 | 34 | 40 | 41 | 42 | 43 | 44 | 45 | 56 | 58 | 64 | 65 | 66 | 67 | 68 | 69 | 75 | 77 | 83 | 84 | 85 | 86 | 88 | 89 | 92 | 93 | 94 | -------------------------------------------------------------------------------- /AnyDraw.xcodeproj/xcuserdata/zmz.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | AnyDraw.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | FC57EE5B1F7E2DCB00B425F4 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /AnyDraw.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /AnyDraw.xcworkspace/xcuserdata/zmz.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /AnyDraw/AnyBitMap.h: -------------------------------------------------------------------------------- 1 | // 2 | // AnyBitMap.h 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/10/10. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AnyBitMap : NSObject 12 | 13 | + (instancetype)createWithSize:(CGSize)size context:(AnyContext *)context; 14 | - (void)endBitMap; 15 | 16 | - (void)addBezier:(UIBezierPath *)bezier resultImage:(void(^)(AnyBitMap *bitMap, UIImage *image))resultImage; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /AnyDraw/AnyBrushBox.h: -------------------------------------------------------------------------------- 1 | // 2 | // AnyBrushBox.h 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/10/9. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AnyBrushBox : UIView 12 | 13 | /** 14 | 显示 15 | */ 16 | + (instancetype)showWithSelectAction:(void(^)(AnyBrushType brushType))selectAction; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /AnyDraw/AnyCanvasPicture.h: -------------------------------------------------------------------------------- 1 | // 2 | // AnyCanvasPicture.h 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/10/11. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AnyCanvasPicture : UIView 12 | 13 | /** 14 | 创建 15 | */ 16 | + (instancetype)showWithCurruntImageName:(NSString *)imageName selectAction:(void(^)(NSString *imageName))selectAction; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /AnyDraw/AnyCanvasView.h: -------------------------------------------------------------------------------- 1 | // 2 | // AnyCanvasView.h 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/10/9. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AnyCanvasView : UIView 12 | 13 | - (void)changeBrushType:(AnyBrushType)brushType finished:(void(^)(AnyContext *curruntContext))finished; 14 | 15 | @property (nonatomic, strong) AnyContext *curruntContext; ///< 当前绘制环境 16 | 17 | @property (nonatomic, strong) void(^stepCallBack)(AnyPath *curruntPath, UIImage *canvasImage); 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /AnyDraw/AnyColorBox.h: -------------------------------------------------------------------------------- 1 | // 2 | // AnyColorBox.h 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/10/9. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AnyColorBox : UIView 12 | 13 | /** 14 | 创建 15 | */ 16 | + (instancetype)showWithType:(ColorPickerType)type color:(UIColor *)color selectAction:(void(^)(UIColor *color))selectAction; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /AnyDraw/AnyContext.h: -------------------------------------------------------------------------------- 1 | // 2 | // AnyContext.h 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/9/29. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AnyContext : NSObject 12 | 13 | 14 | /** 15 | 创建环境 16 | */ 17 | + (instancetype)createWithBrushType:(AnyBrushType)brushType; 18 | 19 | @property (nonatomic, assign) AnyBrushType brushType; ///< 画笔类型 20 | @property (nonatomic, strong) UIColor *strokeColor; ///< 画笔颜色 21 | @property (nonatomic, assign) CGFloat lineWidth; ///< 线粗细 22 | @property (nonatomic, assign) CGFloat maxWidth; ///< 最粗 23 | @property (nonatomic, assign) CGFloat minWidth; ///< 最细 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /AnyDraw/AnyContext.m: -------------------------------------------------------------------------------- 1 | // 2 | // AnyContext.m 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/9/29. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import "AnyContext.h" 10 | 11 | @implementation AnyContext 12 | 13 | /** 14 | 创建环境 15 | */ 16 | + (instancetype)createWithBrushType:(AnyBrushType)brushType { 17 | AnyContext *context = [[AnyContext alloc] init]; 18 | context.brushType = brushType; 19 | [context loadDefaultSetting]; 20 | return context; 21 | } 22 | 23 | //每个画笔类型都有个默认值 24 | - (void)loadDefaultSetting { 25 | switch (_brushType) { 26 | case AnyBrushType_BallPen: 27 | { 28 | _maxWidth = 10; 29 | _minWidth = 1; 30 | _lineWidth = 3; 31 | _strokeColor = [UIColor colorWithHex:0x142522 andAlpha:0.8]; 32 | } 33 | break; 34 | case AnyBrushType_TiltPen: 35 | { 36 | _maxWidth = 50; 37 | _minWidth = 10; 38 | _lineWidth = 15; 39 | _strokeColor = [UIColor colorWithHex:0x42125c andAlpha:0.8]; 40 | } 41 | break; 42 | case AnyBrushType_MiPen: 43 | { 44 | _maxWidth = 40; 45 | _minWidth = 15; 46 | _lineWidth = 20; 47 | _strokeColor = [UIColor colorWithHex:0xe93e47 andAlpha:0.8]; 48 | } 49 | break; 50 | case AnyBrushType_Spray: 51 | { 52 | _maxWidth = 30; 53 | _minWidth = 10; 54 | _lineWidth = 18; 55 | _strokeColor = [UIColor colorWithHex:0x20b0dc andAlpha:0.8]; 56 | } 57 | break; 58 | case AnyBrushType_Fish: 59 | { 60 | _maxWidth = 50; 61 | _minWidth = 10; 62 | _lineWidth = 24; 63 | _strokeColor = [UIColor colorWithHex:0xb020dc andAlpha:0.8]; 64 | } 65 | break; 66 | case AnyBrushType_Eraser: 67 | { 68 | _maxWidth = 30; 69 | _minWidth = 3; 70 | _lineWidth = 6; 71 | _strokeColor = [UIColor clearColor]; 72 | } 73 | break; 74 | case AnyBrushType_Crayon: 75 | { 76 | _maxWidth = 40; 77 | _minWidth = 15; 78 | _lineWidth = 20; 79 | _strokeColor = [UIColor colorWithHex:0xff1111 andAlpha:0.8]; 80 | } 81 | break; 82 | case AnyBrushType_Oil: ///< 油彩笔 83 | _maxWidth = 30; 84 | _minWidth = 10; 85 | _lineWidth = 14; 86 | _strokeColor = [UIColor colorWithHex:0xff1111 andAlpha:0.8]; 87 | break; 88 | } 89 | } 90 | 91 | @end 92 | -------------------------------------------------------------------------------- /AnyDraw/AnyDrawMainView.h: -------------------------------------------------------------------------------- 1 | // 2 | // AnyDrawMainView.h 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/9/29. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AnyDrawMainView : UIView 12 | 13 | + (instancetype)create; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /AnyDraw/AnyDrawQueue.h: -------------------------------------------------------------------------------- 1 | // 2 | // AnyDrawQueue.h 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/10/27. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #define AnyDrawConcurrenceQueue [AnyDrawQueue concurrenceQueue] 12 | #define AnyDrawSerialQueue [AnyDrawQueue serialQueue] 13 | 14 | @interface AnyDrawQueue : NSOperationQueue 15 | 16 | + (instancetype)concurrenceQueue; 17 | 18 | + (instancetype)serialQueue; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /AnyDraw/AnyDrawQueue.m: -------------------------------------------------------------------------------- 1 | // 2 | // AnyDrawQueue.m 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/10/27. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import "AnyDrawQueue.h" 10 | 11 | @implementation AnyDrawQueue 12 | 13 | + (instancetype)concurrenceQueue { 14 | static AnyDrawQueue *concurrence = nil; 15 | static dispatch_once_t onceToken; 16 | dispatch_once(&onceToken, ^{ 17 | concurrence = [[AnyDrawQueue alloc] init]; 18 | concurrence.maxConcurrentOperationCount = 10; 19 | }); 20 | return concurrence; 21 | } 22 | 23 | + (instancetype)serialQueue { 24 | static AnyDrawQueue *serial = nil; 25 | static dispatch_once_t onceToken; 26 | dispatch_once(&onceToken, ^{ 27 | serial = [[AnyDrawQueue alloc] init]; 28 | serial.maxConcurrentOperationCount = 1; 29 | }); 30 | return serial; 31 | } 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /AnyDraw/AnyPath.h: -------------------------------------------------------------------------------- 1 | // 2 | // AnyPath.h 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/9/29. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AnyContext.h" 11 | 12 | typedef void(^AnyPathCallBack)(BOOL isBitmap, UIBezierPath *bezier, AnyTouchesType touchType); 13 | 14 | @interface AnyPath : NSObject 15 | 16 | @property (nonatomic, strong) AnyContext *context; 17 | 18 | @property (nonatomic, strong) NSMutableArray *points; ///< 缓存点 19 | 20 | @property (nonatomic, assign) NSTimeInterval startInteval; ///< 开始touchesBegan时间点 21 | 22 | /** 23 | 创建新Path 24 | */ 25 | + (instancetype)createWithContext:(AnyContext *)context callBack:(AnyPathCallBack)callBack; 26 | 27 | /** 28 | 异步处理接收点 29 | */ 30 | - (void)asyncMoveToPoint:(CGPoint)point touchType:(AnyTouchesType)touchType; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /AnyDraw/AnyPublicDefine.h: -------------------------------------------------------------------------------- 1 | // 2 | // AnyPublicDefine.h 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/9/29. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #ifndef AnyPublicDefine_h 10 | #define AnyPublicDefine_h 11 | 12 | #define kSCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width) 13 | #define kSCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height) 14 | 15 | #define kWeakSelf __weak typeof(self) weakSelf = self; 16 | 17 | #define kTagStart 1000 18 | 19 | #pragma mark - 触摸类型 20 | typedef NS_ENUM(NSUInteger, AnyTouchesType) { 21 | AnyTouchesType_began = 0, ///< 开始 22 | AnyTouchesType_move, ///< 移动 23 | AnyTouchesType_end, ///< 结束 24 | }; 25 | 26 | #pragma mark - 笔类型 27 | typedef NS_ENUM(NSUInteger, AnyBrushType) { 28 | AnyBrushType_BallPen = 0, ///< 圆珠笔 29 | AnyBrushType_TiltPen, ///< 倾斜笔 30 | AnyBrushType_MiPen, ///< 米形笔 31 | AnyBrushType_Spray, ///< 喷枪 32 | AnyBrushType_Eraser, ///< 橡皮擦 33 | AnyBrushType_Fish, ///< 鱼形笔 34 | AnyBrushType_Crayon, ///< 蜡笔 35 | AnyBrushType_Oil, ///< 油彩笔 36 | }; 37 | 38 | #pragma mark - 颜色选择器 39 | typedef NS_ENUM(NSUInteger, ColorPickerType) { 40 | ColorPickerType_Default = 0, ///< 预设 41 | ColorPickerType_Circle, ///< 圆环 42 | }; 43 | 44 | #endif /* AnyPublicDefine_h */ 45 | -------------------------------------------------------------------------------- /AnyDraw/AnyPublicMethod.h: -------------------------------------------------------------------------------- 1 | // 2 | // AnyPublicMethod.h 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/10/9. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AnyPublicMethod : NSObject 12 | 13 | /** 14 | 画笔选择器图片 15 | */ 16 | + (NSString *)brushCubeImage:(AnyBrushType)type; 17 | 18 | /** 19 | 已选择画笔图片(视图左下角) 20 | */ 21 | + (NSString *)brushSelectedImage:(AnyBrushType)type; 22 | 23 | /** 24 | 画笔绘制使用图片(绘制路径上使用小图片) 25 | */ 26 | + (NSString *)brushDrawImage:(AnyBrushType)type; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /AnyDraw/AnyPublicMethod.m: -------------------------------------------------------------------------------- 1 | // 2 | // AnyPublicMethod.m 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/10/9. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import "AnyPublicMethod.h" 10 | 11 | @implementation AnyPublicMethod 12 | 13 | /** 14 | 画笔选择器图片 15 | */ 16 | + (NSString *)brushCubeImage:(AnyBrushType)type { 17 | switch (type) { 18 | case AnyBrushType_BallPen: ///< 圆珠笔 19 | return @"stylishbrush_ballpoint_pen"; 20 | break; 21 | case AnyBrushType_TiltPen: ///< 倾斜笔 22 | return @"stylishbrush_felt_pen"; 23 | break; 24 | case AnyBrushType_MiPen: ///< 米形笔 25 | return @"stylishbrush_flowers"; 26 | break; 27 | case AnyBrushType_Spray: ///< 喷枪 28 | return @"stylishbrush_air_brush"; 29 | break; 30 | case AnyBrushType_Eraser: ///< 橡皮擦 31 | return @"stylishbrush_head_eraser"; 32 | break; 33 | case AnyBrushType_Fish: ///< 鱼形笔 34 | return @"stylishbrush_fish"; 35 | break; 36 | case AnyBrushType_Crayon: ///< 蜡笔 37 | return @"stylishbrush_oil_pastel"; 38 | break; 39 | case AnyBrushType_Oil: ///< 油彩笔 40 | return @"stylishbrush_oil"; 41 | break; 42 | } 43 | } 44 | 45 | /** 46 | 已选择画笔图片(视图左下角) 47 | */ 48 | + (NSString *)brushSelectedImage:(AnyBrushType)type { 49 | switch (type) { 50 | case AnyBrushType_BallPen: ///< 圆珠笔 51 | return @"main_brush_icon_09"; 52 | break; 53 | case AnyBrushType_TiltPen: ///< 倾斜笔 54 | return @"main_brush_icon_12"; 55 | break; 56 | case AnyBrushType_MiPen: ///< 米形笔 57 | return @"main_brush_icon_16"; 58 | break; 59 | case AnyBrushType_Spray: ///< 喷枪 60 | return @"main_brush_icon_10"; 61 | break; 62 | case AnyBrushType_Eraser: ///< 橡皮擦 63 | return @"main_brush_icon_07"; 64 | break; 65 | case AnyBrushType_Fish: ///< 鱼形笔 66 | return @"main_brush_icon_26"; 67 | break; 68 | case AnyBrushType_Crayon: ///< 蜡笔 69 | return @"main_brush_icon_14"; 70 | break; 71 | case AnyBrushType_Oil: ///< 油彩笔 72 | return @"main_brush_icon_11"; 73 | break; 74 | } 75 | } 76 | 77 | /** 78 | 画笔绘制使用图片(绘制路径上使用小图片) 79 | */ 80 | + (NSString *)brushDrawImage:(AnyBrushType)type { 81 | switch (type) { 82 | case AnyBrushType_BallPen: ///< 圆珠笔 83 | return @"----"; 84 | break; 85 | case AnyBrushType_TiltPen: ///< 倾斜笔 86 | return @"brush_33"; 87 | break; 88 | case AnyBrushType_MiPen: ///< 米形笔 89 | return @"brush_47"; 90 | break; 91 | case AnyBrushType_Spray: ///< 喷枪 92 | return @"brush_05"; 93 | break; 94 | case AnyBrushType_Eraser: ///< 橡皮擦 95 | return @"----"; 96 | break; 97 | case AnyBrushType_Fish: ///< 鱼形笔 98 | return @"brush_49"; 99 | break; 100 | case AnyBrushType_Crayon: ///< 蜡笔 101 | return @"brush_05"; 102 | break; 103 | case AnyBrushType_Oil: ///< 油彩笔 104 | return @"brush_22"; 105 | break; 106 | } 107 | } 108 | 109 | @end 110 | -------------------------------------------------------------------------------- /AnyDraw/AnyQueue.h: -------------------------------------------------------------------------------- 1 | // 2 | // AnyQueue.h 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/11/6. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AnyQueue : NSObject 12 | 13 | + (NSOperationQueue *)mainQueue; 14 | + (NSOperationQueue *)serierQueue; 15 | + (NSOperationQueue *)concurrenceQueue; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /AnyDraw/AnyQueue.m: -------------------------------------------------------------------------------- 1 | // 2 | // AnyQueue.m 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/11/6. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import "AnyQueue.h" 10 | 11 | @implementation AnyQueue 12 | 13 | + (NSOperationQueue *)mainQueue { 14 | return [NSOperationQueue mainQueue]; 15 | } 16 | 17 | + (NSOperationQueue *)serierQueue { 18 | static NSOperationQueue *serierQueue_; 19 | static dispatch_once_t onceToken; 20 | dispatch_once(&onceToken, ^{ 21 | serierQueue_ = [[NSOperationQueue alloc] init]; 22 | serierQueue_.maxConcurrentOperationCount = 1; 23 | }); 24 | return serierQueue_; 25 | } 26 | 27 | + (NSOperationQueue *)concurrenceQueue { 28 | static NSOperationQueue *concurrenceQueue_; 29 | static dispatch_once_t onceToken; 30 | dispatch_once(&onceToken, ^{ 31 | concurrenceQueue_ = [[NSOperationQueue alloc] init]; 32 | concurrenceQueue_.maxConcurrentOperationCount = 8; 33 | }); 34 | return concurrenceQueue_; 35 | } 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /AnyDraw/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/9/29. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /AnyDraw/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/9/29. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | @interface AppDelegate () 12 | 13 | @end 14 | 15 | @implementation AppDelegate 16 | 17 | 18 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 19 | // 20 | [SVProgressHUD setDefaultStyle:SVProgressHUDStyleDark]; 21 | [SVProgressHUD setMinimumDismissTimeInterval:0.5f]; 22 | [SVProgressHUD setMaximumDismissTimeInterval:4.0f]; 23 | return YES; 24 | } 25 | 26 | 27 | - (void)applicationWillResignActive:(UIApplication *)application { 28 | // 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. 29 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. 30 | } 31 | 32 | 33 | - (void)applicationDidEnterBackground:(UIApplication *)application { 34 | // 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. 35 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 36 | } 37 | 38 | 39 | - (void)applicationWillEnterForeground:(UIApplication *)application { 40 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. 41 | } 42 | 43 | 44 | - (void)applicationDidBecomeActive:(UIApplication *)application { 45 | // 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. 46 | } 47 | 48 | 49 | - (void)applicationWillTerminate:(UIApplication *)application { 50 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 51 | } 52 | 53 | 54 | @end 55 | -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | } 43 | ], 44 | "info" : { 45 | "version" : 1, 46 | "author" : "xcode" 47 | } 48 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_01.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_01.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_01.imageset/brush_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_01.imageset/brush_01.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_01_gb45.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_01_gb45.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_01_gb45.imageset/brush_01_gb45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_01_gb45.imageset/brush_01_gb45.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_03.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_03.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_03.imageset/brush_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_03.imageset/brush_03.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_03_gb15.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_03_gb15.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_03_gb15.imageset/brush_03_gb15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_03_gb15.imageset/brush_03_gb15.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_04.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_04.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_04.imageset/brush_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_04.imageset/brush_04.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_05.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_05.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_05.imageset/brush_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_05.imageset/brush_05.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_07.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_07.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_07.imageset/brush_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_07.imageset/brush_07.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_10.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_10.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_10.imageset/brush_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_10.imageset/brush_10.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_10_gb11.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_10_gb11.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_10_gb11.imageset/brush_10_gb11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_10_gb11.imageset/brush_10_gb11.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_10_gb15.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_10_gb15.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_10_gb15.imageset/brush_10_gb15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_10_gb15.imageset/brush_10_gb15.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_12.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_12.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_12.imageset/brush_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_12.imageset/brush_12.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_12_gb15.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_12_gb15.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_12_gb15.imageset/brush_12_gb15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_12_gb15.imageset/brush_12_gb15.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_14.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_14.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_14.imageset/brush_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_14.imageset/brush_14.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_14_gb50.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_14_gb50.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_14_gb50.imageset/brush_14_gb50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_14_gb50.imageset/brush_14_gb50.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_18.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_18.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_18.imageset/brush_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_18.imageset/brush_18.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_18_gb15.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_18_gb15.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_18_gb15.imageset/brush_18_gb15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_18_gb15.imageset/brush_18_gb15.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_19.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_19.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_19.imageset/brush_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_19.imageset/brush_19.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_19_gb15.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_19_gb15.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_19_gb15.imageset/brush_19_gb15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_19_gb15.imageset/brush_19_gb15.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_22.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_22.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_22.imageset/brush_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_22.imageset/brush_22.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_22_gb15.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_22_gb15.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_22_gb15.imageset/brush_22_gb15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_22_gb15.imageset/brush_22_gb15.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_28.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_28.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_28.imageset/brush_28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_28.imageset/brush_28.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_32.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_32.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_32.imageset/brush_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_32.imageset/brush_32.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_32_gb12.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_32_gb12.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_32_gb12.imageset/brush_32_gb12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_32_gb12.imageset/brush_32_gb12.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_33.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_33.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_33.imageset/brush_33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_33.imageset/brush_33.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_41.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_41.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_41.imageset/brush_41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_41.imageset/brush_41.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_41_gb15.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_41_gb15.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_41_gb15.imageset/brush_41_gb15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_41_gb15.imageset/brush_41_gb15.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_42.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_42.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_42.imageset/brush_42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_42.imageset/brush_42.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_42_gb15.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_42_gb15.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_42_gb15.imageset/brush_42_gb15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_42_gb15.imageset/brush_42_gb15.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_43.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_43.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_43.imageset/brush_43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_43.imageset/brush_43.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_43_gb15.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_43_gb15.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_43_gb15.imageset/brush_43_gb15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_43_gb15.imageset/brush_43_gb15.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_44.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_44.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_44.imageset/brush_44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_44.imageset/brush_44.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_44_gb15.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_44_gb15.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_44_gb15.imageset/brush_44_gb15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_44_gb15.imageset/brush_44_gb15.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_45.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_45.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_45.imageset/brush_45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_45.imageset/brush_45.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_45_gb15.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_45_gb15.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_45_gb15.imageset/brush_45_gb15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_45_gb15.imageset/brush_45_gb15.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_46.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_46.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_46.imageset/brush_46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_46.imageset/brush_46.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_46_gb15.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_46_gb15.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_46_gb15.imageset/brush_46_gb15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_46_gb15.imageset/brush_46_gb15.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_47.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_47.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_47.imageset/brush_47.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_47.imageset/brush_47.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_47_gb15.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_47_gb15.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_47_gb15.imageset/brush_47_gb15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_47_gb15.imageset/brush_47_gb15.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_48.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_48.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_48.imageset/brush_48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_48.imageset/brush_48.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_48_gb15.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_48_gb15.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_48_gb15.imageset/brush_48_gb15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_48_gb15.imageset/brush_48_gb15.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_49.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_49.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_49.imageset/brush_49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_49.imageset/brush_49.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_49_gb12.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_49_gb12.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_49_gb12.imageset/brush_49_gb12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_49_gb12.imageset/brush_49_gb12.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_53.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_53.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_53.imageset/brush_53.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_53.imageset/brush_53.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_54.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_54.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_54.imageset/brush_54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_54.imageset/brush_54.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_55.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_55.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_55.imageset/brush_55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_55.imageset/brush_55.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_56.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_56.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_56.imageset/brush_56.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_56.imageset/brush_56.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_60.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_60.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_60.imageset/brush_60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_60.imageset/brush_60.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_60_gb50.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_60_gb50.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_60_gb50.imageset/brush_60_gb50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_60_gb50.imageset/brush_60_gb50.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_opacity_size_bg.9.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "brush_opacity_size_bg.9.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/brush_opacity_size_bg.9.imageset/brush_opacity_size_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/brush_opacity_size_bg.9.imageset/brush_opacity_size_bg.9.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/dialog_select_brush_bg.9.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "dialog_select_brush_bg.9.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/dialog_select_brush_bg.9.imageset/dialog_select_brush_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/dialog_select_brush_bg.9.imageset/dialog_select_brush_bg.9.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/drawing_board_progress_horizontal.dataset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "data" : [ 7 | { 8 | "idiom" : "universal", 9 | "filename" : "drawing_board_progress_horizontal.xml" 10 | } 11 | ] 12 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/drawing_board_progress_horizontal.dataset/drawing_board_progress_horizontal.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/drawing_board_progress_horizontal.dataset/drawing_board_progress_horizontal.xml -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_01.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_01.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_01.imageset/main_brush_icon_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_01.imageset/main_brush_icon_01.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_02.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_02.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_02.imageset/main_brush_icon_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_02.imageset/main_brush_icon_02.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_03.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_03.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_03.imageset/main_brush_icon_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_03.imageset/main_brush_icon_03.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_04.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_04.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_04.imageset/main_brush_icon_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_04.imageset/main_brush_icon_04.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_05.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_05.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_05.imageset/main_brush_icon_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_05.imageset/main_brush_icon_05.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_06.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_06.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_06.imageset/main_brush_icon_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_06.imageset/main_brush_icon_06.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_07.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_07.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_07.imageset/main_brush_icon_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_07.imageset/main_brush_icon_07.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_08.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_08.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_08.imageset/main_brush_icon_08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_08.imageset/main_brush_icon_08.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_09.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_09.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_09.imageset/main_brush_icon_09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_09.imageset/main_brush_icon_09.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_10.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_10.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_10.imageset/main_brush_icon_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_10.imageset/main_brush_icon_10.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_11.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_11.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_11.imageset/main_brush_icon_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_11.imageset/main_brush_icon_11.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_12.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_12.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_12.imageset/main_brush_icon_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_12.imageset/main_brush_icon_12.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_13.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_13.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_13.imageset/main_brush_icon_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_13.imageset/main_brush_icon_13.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_14.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_14.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_14.imageset/main_brush_icon_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_14.imageset/main_brush_icon_14.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_15.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_15.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_15.imageset/main_brush_icon_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_15.imageset/main_brush_icon_15.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_16.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_16.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_16.imageset/main_brush_icon_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_16.imageset/main_brush_icon_16.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_17.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_17.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_17.imageset/main_brush_icon_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_17.imageset/main_brush_icon_17.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_18.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_18.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_18.imageset/main_brush_icon_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_18.imageset/main_brush_icon_18.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_19.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_19.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_19.imageset/main_brush_icon_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_19.imageset/main_brush_icon_19.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_20.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_20.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_20.imageset/main_brush_icon_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_20.imageset/main_brush_icon_20.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_21.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_21.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_21.imageset/main_brush_icon_21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_21.imageset/main_brush_icon_21.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_22.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_22.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_22.imageset/main_brush_icon_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_22.imageset/main_brush_icon_22.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_23.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_23.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_23.imageset/main_brush_icon_23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_23.imageset/main_brush_icon_23.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_24.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_24.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_24.imageset/main_brush_icon_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_24.imageset/main_brush_icon_24.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_25.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_25.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_25.imageset/main_brush_icon_25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_25.imageset/main_brush_icon_25.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_26.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_26.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_26.imageset/main_brush_icon_26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_26.imageset/main_brush_icon_26.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_27.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_27.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_27.imageset/main_brush_icon_27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_27.imageset/main_brush_icon_27.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_28.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_28.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_28.imageset/main_brush_icon_28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_28.imageset/main_brush_icon_28.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_29.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_29.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_29.imageset/main_brush_icon_29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_29.imageset/main_brush_icon_29.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_30.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_30.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_30.imageset/main_brush_icon_30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_30.imageset/main_brush_icon_30.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_31.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_31.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_31.imageset/main_brush_icon_31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_31.imageset/main_brush_icon_31.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_32.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_32.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_32.imageset/main_brush_icon_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_32.imageset/main_brush_icon_32.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_33.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_33.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_33.imageset/main_brush_icon_33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_33.imageset/main_brush_icon_33.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_34.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_34.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_34.imageset/main_brush_icon_34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_34.imageset/main_brush_icon_34.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_35.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_35.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_35.imageset/main_brush_icon_35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_35.imageset/main_brush_icon_35.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_36.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_36.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_36.imageset/main_brush_icon_36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_36.imageset/main_brush_icon_36.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_37.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_37.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_37.imageset/main_brush_icon_37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_37.imageset/main_brush_icon_37.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_38.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_38.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_38.imageset/main_brush_icon_38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_38.imageset/main_brush_icon_38.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_39.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_39.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_39.imageset/main_brush_icon_39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_39.imageset/main_brush_icon_39.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_40.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_40.imageset/main_brush_icon_40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_40.imageset/main_brush_icon_40.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_41.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_41.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_41.imageset/main_brush_icon_41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_41.imageset/main_brush_icon_41.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_42.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "main_brush_icon_42.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/main_brush_icon_42.imageset/main_brush_icon_42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/main_brush_icon_42.imageset/main_brush_icon_42.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_acrylic.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "photobrush_acrylic.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_acrylic.imageset/photobrush_acrylic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/photobrush_acrylic.imageset/photobrush_acrylic.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_air_brush.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "photobrush_air_brush.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_air_brush.imageset/photobrush_air_brush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/photobrush_air_brush.imageset/photobrush_air_brush.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_fish.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "photobrush_fish.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_fish.imageset/photobrush_fish.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/photobrush_fish.imageset/photobrush_fish.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_flowers.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "photobrush_flowers.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_flowers.imageset/photobrush_flowers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/photobrush_flowers.imageset/photobrush_flowers.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_hard_pastel.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "photobrush_hard_pastel.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_hard_pastel.imageset/photobrush_hard_pastel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/photobrush_hard_pastel.imageset/photobrush_hard_pastel.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_impress.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "photobrush_impress.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_impress.imageset/photobrush_impress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/photobrush_impress.imageset/photobrush_impress.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_oil.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "photobrush_oil.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_oil.imageset/photobrush_oil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/photobrush_oil.imageset/photobrush_oil.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_oil_pastel.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "photobrush_oil_pastel.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_oil_pastel.imageset/photobrush_oil_pastel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/photobrush_oil_pastel.imageset/photobrush_oil_pastel.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_pen.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "photobrush_pen.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_pen.imageset/photobrush_pen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/photobrush_pen.imageset/photobrush_pen.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_renoir.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "photobrush_renoir.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_renoir.imageset/photobrush_renoir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/photobrush_renoir.imageset/photobrush_renoir.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_seurat.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "photobrush_seurat.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_seurat.imageset/photobrush_seurat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/photobrush_seurat.imageset/photobrush_seurat.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_van_gogh.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "photobrush_van_gogh.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_van_gogh.imageset/photobrush_van_gogh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/photobrush_van_gogh.imageset/photobrush_van_gogh.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_water_color.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "photobrush_water_color.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_water_color.imageset/photobrush_water_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/photobrush_water_color.imageset/photobrush_water_color.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_wet_canvas.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "photobrush_wet_canvas.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_wet_canvas.imageset/photobrush_wet_canvas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/photobrush_wet_canvas.imageset/photobrush_wet_canvas.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_wet_sponge.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "photobrush_wet_sponge.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/photobrush_wet_sponge.imageset/photobrush_wet_sponge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/photobrush_wet_sponge.imageset/photobrush_wet_sponge.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/shape_loading_dialog_bg.dataset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "data" : [ 7 | { 8 | "idiom" : "universal", 9 | "filename" : "shape_loading_dialog_bg.xml" 10 | } 11 | ] 12 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/shape_loading_dialog_bg.dataset/shape_loading_dialog_bg.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/shape_loading_dialog_bg.dataset/shape_loading_dialog_bg.xml -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_air_brush.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_air_brush.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_air_brush.imageset/stylishbrush_air_brush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_air_brush.imageset/stylishbrush_air_brush.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_ballpoint_pen.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_ballpoint_pen.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_ballpoint_pen.imageset/stylishbrush_ballpoint_pen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_ballpoint_pen.imageset/stylishbrush_ballpoint_pen.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_bamboo1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_bamboo1.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_bamboo1.imageset/stylishbrush_bamboo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_bamboo1.imageset/stylishbrush_bamboo1.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_bamboo2.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_bamboo2.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_bamboo2.imageset/stylishbrush_bamboo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_bamboo2.imageset/stylishbrush_bamboo2.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_calligraphy.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_calligraphy.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_calligraphy.imageset/stylishbrush_calligraphy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_calligraphy.imageset/stylishbrush_calligraphy.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_colorless_oil.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_colorless_oil.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_colorless_oil.imageset/stylishbrush_colorless_oil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_colorless_oil.imageset/stylishbrush_colorless_oil.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_coub_knife.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_coub_knife.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_coub_knife.imageset/stylishbrush_coub_knife.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_coub_knife.imageset/stylishbrush_coub_knife.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_creyon.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_creyon.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_creyon.imageset/stylishbrush_creyon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_creyon.imageset/stylishbrush_creyon.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_felt_pen.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_felt_pen.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_felt_pen.imageset/stylishbrush_felt_pen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_felt_pen.imageset/stylishbrush_felt_pen.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_finger.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_finger.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_finger.imageset/stylishbrush_finger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_finger.imageset/stylishbrush_finger.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_fish.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_fish.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_fish.imageset/stylishbrush_fish.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_fish.imageset/stylishbrush_fish.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_flowers.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_flowers.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_flowers.imageset/stylishbrush_flowers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_flowers.imageset/stylishbrush_flowers.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_hard_pastel.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_hard_pastel.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_hard_pastel.imageset/stylishbrush_hard_pastel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_hard_pastel.imageset/stylishbrush_hard_pastel.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_hard_pencil.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_hard_pencil.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_hard_pencil.imageset/stylishbrush_hard_pencil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_hard_pencil.imageset/stylishbrush_hard_pencil.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_head_eraser.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_head_eraser.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_head_eraser.imageset/stylishbrush_head_eraser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_head_eraser.imageset/stylishbrush_head_eraser.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_ink_pen.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_ink_pen.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_ink_pen.imageset/stylishbrush_ink_pen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_ink_pen.imageset/stylishbrush_ink_pen.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_ink_spot.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_ink_spot.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_ink_spot.imageset/stylishbrush_ink_spot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_ink_spot.imageset/stylishbrush_ink_spot.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_knife1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_knife1.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_knife1.imageset/stylishbrush_knife1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_knife1.imageset/stylishbrush_knife1.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_knife2.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_knife2.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_knife2.imageset/stylishbrush_knife2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_knife2.imageset/stylishbrush_knife2.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_oil.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_oil.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_oil.imageset/stylishbrush_oil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_oil.imageset/stylishbrush_oil.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_oil_pastel.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_oil_pastel.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_oil_pastel.imageset/stylishbrush_oil_pastel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_oil_pastel.imageset/stylishbrush_oil_pastel.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_pastel.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_pastel.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_pastel.imageset/stylishbrush_pastel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_pastel.imageset/stylishbrush_pastel.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_pen.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_pen.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_pen.imageset/stylishbrush_pen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_pen.imageset/stylishbrush_pen.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_soft_eraser.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_soft_eraser.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_soft_eraser.imageset/stylishbrush_soft_eraser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_soft_eraser.imageset/stylishbrush_soft_eraser.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_soft_pencil.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_soft_pencil.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_soft_pencil.imageset/stylishbrush_soft_pencil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_soft_pencil.imageset/stylishbrush_soft_pencil.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_sponge.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_sponge.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_sponge.imageset/stylishbrush_sponge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_sponge.imageset/stylishbrush_sponge.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_water_color.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "stylishbrush_water_color.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/stylishbrush_water_color.imageset/stylishbrush_water_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/stylishbrush_water_color.imageset/stylishbrush_water_color.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/texture01.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "texture01.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/texture01.imageset/texture01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/texture01.imageset/texture01.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/画布/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/画布/画布1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "画布1.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/画布/画布1.imageset/画布1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/画布/画布1.imageset/画布1.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/画布/画布2.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "画布2.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/画布/画布2.imageset/画布2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/画布/画布2.imageset/画布2.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/画布/画布3.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "画布3.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/画布/画布3.imageset/画布3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/画布/画布3.imageset/画布3.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/画布/画布4.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "画布4.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/画布/画布4.imageset/画布4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/画布/画布4.imageset/画布4.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/画布/画布5.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "画布5.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/画布/画布5.imageset/画布5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/画布/画布5.imageset/画布5.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/画布/画布6.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "画布6.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/画布/画布6.imageset/画布6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/画布/画布6.imageset/画布6.png -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/调色板.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "调色板.jpg", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /AnyDraw/Assets.xcassets/调色板.imageset/调色板.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/AnyDraw/Assets.xcassets/调色板.imageset/调色板.jpg -------------------------------------------------------------------------------- /AnyDraw/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 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 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /AnyDraw/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 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 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /AnyDraw/Categorys/NSString+size.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+size.h 3 | // SimplePalette 4 | // 5 | // Created by zmz on 2017/9/19. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface NSString (size) 12 | 13 | #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_7_0 14 | 15 | - (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size; 16 | 17 | #endif 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /AnyDraw/Categorys/NSString+size.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+size.m 3 | // SimplePalette 4 | // 5 | // Created by zmz on 2017/9/19. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import "NSString+size.h" 10 | 11 | @implementation NSString (size) 12 | 13 | #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_7_0 14 | 15 | - (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size { 16 | NSAttributedString *attribute = [[NSAttributedString alloc] initWithString:self attributes:@{NSFontAttributeName : font}]; 17 | CGRect rect = [attribute boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin context:NULL]; 18 | return rect.size; 19 | } 20 | 21 | #endif 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /AnyDraw/Categorys/NSTimer+block.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSTimer+block.h 3 | // UIAnimationTest 4 | // 5 | // Created by zmz on 2017/8/22. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface NSTimer (block) 12 | 13 | + (instancetype)repeatWithInterval:(NSTimeInterval)interval block:(void(^)(NSTimer *timer))block; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /AnyDraw/Categorys/NSTimer+block.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSTimer+block.m 3 | // UIAnimationTest 4 | // 5 | // Created by zmz on 2017/8/22. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import "NSTimer+block.h" 10 | 11 | @implementation NSTimer (block) 12 | 13 | + (instancetype)repeatWithInterval:(NSTimeInterval)interval block:(void(^)(NSTimer *timer))block { 14 | NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:interval target:self selector:@selector(trigger:) userInfo:[block copy] repeats:YES]; 15 | return timer; 16 | } 17 | 18 | + (void)trigger:(NSTimer *)timer { 19 | void(^block)(NSTimer *timer) = [timer userInfo]; 20 | if (block) { 21 | block(timer); 22 | } 23 | } 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /AnyDraw/Categorys/UIButton+block.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIButton+block.h 3 | // UIAnimationTest 4 | // 5 | // Created by zmz on 2017/8/23. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIButton (block) 12 | 13 | /** 14 | ##添加一个UIControlEventTouchUpInside事件 15 | 16 | @param action *响应block* 17 | */ 18 | - (void)setsAction:(void(^)(UIButton *button))action; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /AnyDraw/Categorys/UIButton+block.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIButton+block.m 3 | // UIAnimationTest 4 | // 5 | // Created by zmz on 2017/8/23. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import "UIButton+block.h" 10 | #import 11 | 12 | @interface UIButton () 13 | 14 | @property (nonatomic, copy) void(^mzAction)(UIButton *button); 15 | 16 | @end 17 | 18 | @implementation UIButton (block) 19 | 20 | - (void)setsAction:(void (^)(UIButton *))action { 21 | self.mzAction = action; 22 | [self addTarget:self action:@selector(actionTrigger:) forControlEvents:UIControlEventTouchUpInside]; 23 | } 24 | 25 | static char mzAction_bind; 26 | - (void)setMzAction:(void (^)(UIButton *))mzAction { 27 | objc_setAssociatedObject(self, &mzAction_bind, mzAction, OBJC_ASSOCIATION_COPY_NONATOMIC); 28 | } 29 | 30 | - (void (^)(UIButton *))mzAction { 31 | return objc_getAssociatedObject(self, &mzAction_bind); 32 | } 33 | 34 | - (void)actionTrigger:(UIButton *)button { 35 | if (self.mzAction) { 36 | self.mzAction(button); 37 | } 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /AnyDraw/Categorys/UIColor+HEX.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIColor+HEX.h 3 | // iOS-Categories (https://github.com/shaojiankui/iOS-Categories) 4 | // 5 | // Created by Jakey on 14/12/15. 6 | // Copyright (c) 2014年 www.skyfox.org. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #define RGBHEX_(a) [UIColor colorWithHexString:@#a] 12 | #define WinnerFollowColor RGBHEX_(#FF971A) 13 | 14 | @interface UIColor (HEX) 15 | + (UIColor *)colorWithHex:(UInt32)hex; 16 | + (UIColor *)colorWithHex:(UInt32)hex andAlpha:(CGFloat)alpha; 17 | + (UIColor *)colorWithHexString:(NSString *)hexString; 18 | + (UIColor *)colorWithHexString:(NSString *)hexString alpha:(CGFloat)alpha; 19 | - (NSString *)HEXString; 20 | 21 | + (UIColor *)colorWithWholeRed:(CGFloat)red 22 | green:(CGFloat)green 23 | blue:(CGFloat)blue 24 | alpha:(CGFloat)alpha; 25 | 26 | + (UIColor *)colorWithWholeRed:(CGFloat)red 27 | green:(CGFloat)green 28 | blue:(CGFloat)blue; 29 | 30 | + (UIColor *)randomColor; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /AnyDraw/Categorys/UIImage+category.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+category.h 3 | // UIAnimationTest 4 | // 5 | // Created by zmz on 2017/8/28. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIImage (color) 12 | 13 | + (UIImage *)imageWithColor:(UIColor *)aColor; 14 | 15 | - (BOOL)hasAlphaChannel; 16 | 17 | + (UIImage *)imageWithSize:(CGSize)size drawBlock:(void (^)(CGContextRef context))drawBlock; 18 | 19 | 20 | /** 21 | 圆形切图 22 | */ 23 | - (UIImage *)circleImage; 24 | 25 | /** 26 | 重绘图片颜色 27 | */ 28 | - (UIImage *)imageWithColor:(UIColor *)tintColor; 29 | 30 | /** 31 | point对应图片颜色 32 | */ 33 | - (UIColor *)pixColorAtPoint:(CGPoint)point; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /AnyDraw/Categorys/UIView+category.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+category.h 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/10/9. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIView (category) 12 | 13 | /** 14 | 截屏 15 | */ 16 | - (UIImage *)screenShot; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /AnyDraw/Categorys/UIView+category.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+category.m 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/10/9. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import "UIView+category.h" 10 | 11 | @implementation UIView (category) 12 | 13 | #pragma mark - 截屏 14 | - (UIImage *)screenShot { 15 | UIGraphicsBeginImageContextWithOptions(self.frame.size, NO, 0); 16 | CGContextRef context = UIGraphicsGetCurrentContext(); 17 | [self.layer renderInContext:context]; 18 | UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 19 | UIGraphicsEndImageContext(); 20 | return image; 21 | } 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /AnyDraw/Categorys/UIView+createSubviews.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+createSubviews.h 3 | // AicaiLottery 4 | // 5 | // Created by zmz on 17/2/10. 6 | // Copyright © 2017年 lihuihan. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIView (createSubviews) 12 | 13 | - (UIView *)createView:(CGRect)rect backColor:(UIColor *)backColor; 14 | 15 | //- (UIImageView *)createImgv:(CGRect)rect URL:(NSString *)URL holder:(UIImage *)holder; 16 | 17 | - (UILabel *)createLabel:(CGRect)rect font:(UIFont *)font color:(UIColor *)color backColor:(UIColor *)backClor align:(NSTextAlignment)align text:(NSString *)text; 18 | 19 | - (UIButton *)createButton:(CGRect)rect imageName:(NSString *)imageName font:(UIFont *)font color:(UIColor *)color backColor:(UIColor *)backClor text:(NSString *)text; 20 | 21 | - (UITextField *)createTextField:(CGRect)rect font:(UIFont *)font color:(UIColor *)color align:(NSTextAlignment)align; 22 | - (UITextField *)createTextField:(CGRect)rect font:(UIFont *)font color:(UIColor *)color align:(NSTextAlignment)align borderColor:(UIColor *)borderColor leftSpace:(CGFloat)leftSpace holder:(NSString *)holder; 23 | 24 | #pragma mark - 画圆角 25 | - (void)doBorderWidthCornerRedius:(CGFloat)cornerRedius borderColor:(UIColor *)borderColor borderWidth:(CGFloat)borderWidth; 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /AnyDraw/Categorys/UIView+createSubviews.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+createSubviews.m 3 | // AicaiLottery 4 | // 5 | // Created by zmz on 17/2/10. 6 | // Copyright © 2017年 lihuihan. All rights reserved. 7 | // 8 | 9 | #import "UIView+createSubviews.h" 10 | 11 | @implementation UIView (createSubviews) 12 | 13 | - (UIView *)createView:(CGRect)rect backColor:(UIColor *)backColor { 14 | UIView *view = [[UIView alloc] initWithFrame:rect]; 15 | backColor ? [view setBackgroundColor:backColor] : nil; 16 | [self addSubview:view]; 17 | return view; 18 | } 19 | 20 | //- (UIImageView *)createImgv:(CGRect)rect URL:(NSString *)URL holder:(UIImage *)holder { 21 | // UIImageView *imgv = [[UIImageView alloc] initWithFrame:rect]; 22 | // if (holder) { 23 | // imgv.image = holder; 24 | // } 25 | // if (URL && URL.length > 0) { 26 | // [imgv sd_setImageWithURL:[NSURL URLWithString:URL] placeholderImage:holder]; 27 | // } 28 | // [self addSubview:imgv]; 29 | // return imgv; 30 | //} 31 | 32 | - (UILabel *)createLabel:(CGRect)rect font:(UIFont *)font color:(UIColor *)color backColor:(UIColor *)backClor align:(NSTextAlignment)align text:(NSString *)text { 33 | UILabel *label = [[UILabel alloc] initWithFrame:rect]; 34 | label.font = (font ? font : [UIFont systemFontOfSize:14]); 35 | label.textColor = (color ? color : RGBHEX_(#333333)); 36 | label.text = (text ? text : @""); 37 | backClor ? label.backgroundColor = backClor : nil; 38 | label.textAlignment = align; 39 | [self addSubview:label]; 40 | return label; 41 | } 42 | 43 | - (UIButton *)createButton:(CGRect)rect imageName:(NSString *)imageName font:(UIFont *)font color:(UIColor *)color backColor:(UIColor *)backClor text:(NSString *)text { 44 | UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 45 | button.frame = rect; 46 | button.titleLabel.font = font; 47 | button.backgroundColor = backClor; 48 | [button setImage:imageName ? [UIImage imageNamed:imageName] : nil forState:UIControlStateNormal]; 49 | [button setTitle:text forState:UIControlStateNormal]; 50 | color ? [button setTitleColor:color forState:UIControlStateNormal] : nil; 51 | [self addSubview:button]; 52 | return button; 53 | } 54 | 55 | - (UITextField *)createTextField:(CGRect)rect font:(UIFont *)font color:(UIColor *)color align:(NSTextAlignment)align { 56 | UITextField *text = [[UITextField alloc] initWithFrame:rect]; 57 | text.font = font; 58 | text.textColor = color; 59 | text.textAlignment = align; 60 | [self addSubview:text]; 61 | return text; 62 | } 63 | 64 | - (UITextField *)createTextField:(CGRect)rect font:(UIFont *)font color:(UIColor *)color align:(NSTextAlignment)align borderColor:(UIColor *)borderColor leftSpace:(CGFloat)leftSpace holder:(NSString *)holder { 65 | UITextField *field = [self createTextField:rect font:font color:color align:align]; 66 | if (borderColor) { 67 | field.layer.borderWidth = 0.5; 68 | field.layer.borderColor = [borderColor CGColor]; 69 | } 70 | field.placeholder = holder; 71 | if (leftSpace > 0) { 72 | UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, leftSpace, CGRectGetHeight(rect))]; 73 | view.backgroundColor = [UIColor clearColor]; 74 | field.leftView = view; 75 | field.leftViewMode = UITextFieldViewModeAlways; 76 | } 77 | return field; 78 | } 79 | 80 | #pragma mark - 画圆角 81 | - (void)doBorderWidthCornerRedius:(CGFloat)cornerRedius borderColor:(UIColor *)borderColor borderWidth:(CGFloat)borderWidth { 82 | self.layer.borderColor = borderColor.CGColor; 83 | self.layer.borderWidth = borderWidth; 84 | self.layer.cornerRadius = cornerRedius; 85 | self.layer.masksToBounds = YES; 86 | } 87 | 88 | @end 89 | -------------------------------------------------------------------------------- /AnyDraw/Categorys/UIView+expand.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+expand.h 3 | // UIAnimationTest 4 | // 5 | // Created by zmz on 2017/8/28. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIView (expand) 12 | 13 | @property (nonatomic, weak) UIView *hitTestView; ///< 设置hitTest的子view 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /AnyDraw/Categorys/UIView+expand.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+expand.m 3 | // UIAnimationTest 4 | // 5 | // Created by zmz on 2017/8/28. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import "UIView+expand.h" 10 | #import 11 | #import 12 | 13 | @implementation UIView (expand) 14 | 15 | static char hitTestView_bind; 16 | - (void)setHitTestView:(UIView *)hitTestView { 17 | NSString *className = [self newClassName]; 18 | 19 | if (!NSClassFromString(className)) { 20 | //创建新类 21 | Class originalClazz = object_getClass(self); 22 | Class newClass = objc_allocateClassPair(originalClazz, className.UTF8String, 0); 23 | objc_registerClassPair(newClass); 24 | 25 | //添加hittest方法实现 26 | const char *types = "@:@"; 27 | class_addMethod(NSClassFromString(className), @selector(hitTest:withEvent:), (IMP)hitTestWithEvent, types); 28 | } 29 | 30 | //把自己指向新类 31 | object_setClass(self, NSClassFromString(className)); 32 | 33 | objc_setAssociatedObject(self, &hitTestView_bind, hitTestView, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 34 | } 35 | 36 | - (UIView *)hitTestView { 37 | return objc_getAssociatedObject(self, &hitTestView_bind); 38 | } 39 | 40 | //新增类名 41 | - (NSString *)newClassName { 42 | NSString *className = NSStringFromClass([self class]); 43 | className = [className stringByAppendingString:@"_expandResponseRect"]; 44 | return className; 45 | } 46 | 47 | UIView *hitTestWithEvent(UIView *self, SEL _cmd, CGPoint point, UIEvent *event) { 48 | //objc调用父类 49 | struct objc_super superclazz = { 50 | .receiver = self, 51 | .super_class = class_getSuperclass(object_getClass(self)) 52 | }; 53 | id (*objc_msgSendSuperCasted)(void *, SEL, CGPoint, id) = (void *)objc_msgSendSuper; 54 | 55 | //如果不在父类范围,检查是否在expandResponseView上 56 | UIView *view = objc_msgSendSuperCasted(&superclazz, _cmd, point, event); 57 | if (!view) { 58 | UIView *expandResponseView = self.hitTestView; 59 | if (expandResponseView && 60 | CGRectContainsPoint(expandResponseView.frame, point)) { 61 | return expandResponseView; 62 | } 63 | } 64 | return view; 65 | } 66 | 67 | @end 68 | -------------------------------------------------------------------------------- /AnyDraw/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSApplicationCategoryType 22 | 23 | LSRequiresIPhoneOS 24 | 25 | NSAppleMusicUsageDescription 26 | App需要您的同意,才能访问媒体资料库 27 | NSBluetoothPeripheralUsageDescription 28 | App需要您的同意,才能访问蓝牙 29 | NSCalendarsUsageDescription 30 | App需要您的同意,才能访问日历 31 | NSCameraUsageDescription 32 | App需要您的同意,才能访问相机 33 | NSHealthShareUsageDescription 34 | App需要您的同意,才能访问健康分享 35 | NSHealthUpdateUsageDescription 36 | App需要您的同意,才能访问健康更新 37 | NSLocationAlwaysUsageDescription 38 | App需要您的同意,才能始终访问位置 39 | NSLocationUsageDescription 40 | App需要您的同意,才能访问位置 41 | NSLocationWhenInUseUsageDescription 42 | App需要您的同意,才能在使用期间访问位置 43 | NSMicrophoneUsageDescription 44 | App需要您的同意,才能访问麦克风 45 | NSMotionUsageDescription 46 | App需要您的同意,才能访问运动与健身 47 | NSPhotoLibraryUsageDescription 48 | 我得访问下相册 49 | NSPhotoLibraryAddUsageDescription 50 | 我得存下相册 51 | NSRemindersUsageDescription 52 | App需要您的同意,才能访问提醒事项 53 | UILaunchStoryboardName 54 | LaunchScreen 55 | UIMainStoryboardFile 56 | Main 57 | UIRequiredDeviceCapabilities 58 | 59 | armv7 60 | 61 | UISupportedInterfaceOrientations 62 | 63 | UIInterfaceOrientationPortrait 64 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /AnyDraw/PrefixHeader.pch: -------------------------------------------------------------------------------- 1 | // 2 | // PrefixHeader.pch 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/9/29. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #ifndef PrefixHeader_pch 10 | #define PrefixHeader_pch 11 | 12 | #import "UIColor+HEX.h" 13 | #import "NSTimer+block.h" 14 | #import "NSString+size.h" 15 | 16 | //UI 17 | #import "UIButton+block.h" 18 | #import "UIImage+category.h" 19 | #import "UIView+createSubviews.h" 20 | #import "UIView+category.h" 21 | 22 | //第三方 23 | #import "SVProgressHUD.h" 24 | 25 | //本地 26 | #import "AnyPublicDefine.h" 27 | #import "AnyContext.h" 28 | #import "AnyPath.h" 29 | #import "AnyPublicMethod.h" 30 | #import "AnyQueue.h" 31 | 32 | #endif /* PrefixHeader_pch */ 33 | -------------------------------------------------------------------------------- /AnyDraw/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/9/29. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /AnyDraw/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/9/29. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | #import "AnyDrawMainView.h" 11 | 12 | @interface ViewController () 13 | 14 | @end 15 | 16 | @implementation ViewController 17 | 18 | - (void)viewDidLoad { 19 | [super viewDidLoad]; 20 | 21 | AnyDrawMainView *view = [AnyDrawMainView create]; 22 | view.frame = self.view.bounds; 23 | [self.view addSubview:view]; 24 | } 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /AnyDraw/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // AnyDraw 4 | // 5 | // Created by zmz on 2017/9/29. 6 | // Copyright © 2017年 zmz. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- 1 | platform :ios, '7.0' 2 | #use_frameworks! 3 | inhibit_all_warnings! 4 | target 'AnyDraw' do 5 | pod 'SVProgressHUD' 6 | end 7 | -------------------------------------------------------------------------------- /Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - SVProgressHUD (2.1.2) 3 | 4 | DEPENDENCIES: 5 | - SVProgressHUD 6 | 7 | SPEC CHECKSUMS: 8 | SVProgressHUD: c404a55d78acbeb7ebb78b76d3faf986475a6994 9 | 10 | PODFILE CHECKSUM: c8414f700b38b6c640046ce865c8c37221a98bb6 11 | 12 | COCOAPODS: 1.1.1 13 | -------------------------------------------------------------------------------- /Pods/Headers/Private/SVProgressHUD/SVIndefiniteAnimatedView.h: -------------------------------------------------------------------------------- 1 | ../../../SVProgressHUD/SVProgressHUD/SVIndefiniteAnimatedView.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SVProgressHUD/SVProgressAnimatedView.h: -------------------------------------------------------------------------------- 1 | ../../../SVProgressHUD/SVProgressHUD/SVProgressAnimatedView.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SVProgressHUD/SVProgressHUD.h: -------------------------------------------------------------------------------- 1 | ../../../SVProgressHUD/SVProgressHUD/SVProgressHUD.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SVProgressHUD/SVRadialGradientLayer.h: -------------------------------------------------------------------------------- 1 | ../../../SVProgressHUD/SVProgressHUD/SVRadialGradientLayer.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SVProgressHUD/SVIndefiniteAnimatedView.h: -------------------------------------------------------------------------------- 1 | ../../../SVProgressHUD/SVProgressHUD/SVIndefiniteAnimatedView.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SVProgressHUD/SVProgressAnimatedView.h: -------------------------------------------------------------------------------- 1 | ../../../SVProgressHUD/SVProgressHUD/SVProgressAnimatedView.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SVProgressHUD/SVProgressHUD.h: -------------------------------------------------------------------------------- 1 | ../../../SVProgressHUD/SVProgressHUD/SVProgressHUD.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SVProgressHUD/SVRadialGradientLayer.h: -------------------------------------------------------------------------------- 1 | ../../../SVProgressHUD/SVProgressHUD/SVRadialGradientLayer.h -------------------------------------------------------------------------------- /Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - SVProgressHUD (2.1.2) 3 | 4 | DEPENDENCIES: 5 | - SVProgressHUD 6 | 7 | SPEC CHECKSUMS: 8 | SVProgressHUD: c404a55d78acbeb7ebb78b76d3faf986475a6994 9 | 10 | PODFILE CHECKSUM: c8414f700b38b6c640046ce865c8c37221a98bb6 11 | 12 | COCOAPODS: 1.1.1 13 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/zmz.xcuserdatad/xcschemes/Pods-AnyDraw.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/zmz.xcuserdatad/xcschemes/SVProgressHUD.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/zmz.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Pods-AnyDraw.xcscheme 8 | 9 | isShown 10 | 11 | 12 | SVProgressHUD.xcscheme 13 | 14 | isShown 15 | 16 | 17 | 18 | SuppressBuildableAutocreation 19 | 20 | 226CD5D70C3590C66ACF7B5DD89C4D85 21 | 22 | primary 23 | 24 | 25 | BE349B0FDD15A00346BF9C5C3816A961 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Pods/SVProgressHUD/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2016 Sam Vermette, Tobias Tiemerding and contributors. 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | A different license may apply to other resources included in this package, 25 | including Freepik Icons. Please consult their 26 | respective headers for the terms of their individual licenses. 27 | -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVIndefiniteAnimatedView.h: -------------------------------------------------------------------------------- 1 | // 2 | // SVIndefiniteAnimatedView.h 3 | // SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD 4 | // 5 | // Copyright (c) 2014-2016 Guillaume Campagna. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | @interface SVIndefiniteAnimatedView : UIView 11 | 12 | @property (nonatomic, assign) CGFloat strokeThickness; 13 | @property (nonatomic, assign) CGFloat radius; 14 | @property (nonatomic, strong) UIColor *strokeColor; 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressAnimatedView.h: -------------------------------------------------------------------------------- 1 | // 2 | // SVProgressAnimatedView.h 3 | // SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD 4 | // 5 | // Copyright (c) 2016 Tobias Tiemerding. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | @interface SVProgressAnimatedView : UIView 11 | 12 | @property (nonatomic, assign) CGFloat radius; 13 | @property (nonatomic, assign) CGFloat strokeThickness; 14 | @property (nonatomic, strong) UIColor *strokeColor; 15 | @property (nonatomic, assign) CGFloat strokeEnd; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressAnimatedView.m: -------------------------------------------------------------------------------- 1 | // 2 | // SVProgressAnimatedView.m 3 | // SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD 4 | // 5 | // Copyright (c) 2016 Tobias Tiemerding. All rights reserved. 6 | // 7 | 8 | #import "SVProgressAnimatedView.h" 9 | 10 | @interface SVProgressAnimatedView () 11 | 12 | @property (nonatomic, strong) CAShapeLayer *ringAnimatedLayer; 13 | 14 | @end 15 | 16 | @implementation SVProgressAnimatedView 17 | 18 | - (void)willMoveToSuperview:(UIView*)newSuperview { 19 | if (newSuperview) { 20 | [self layoutAnimatedLayer]; 21 | } else { 22 | [_ringAnimatedLayer removeFromSuperlayer]; 23 | _ringAnimatedLayer = nil; 24 | } 25 | } 26 | 27 | - (void)layoutAnimatedLayer { 28 | CALayer *layer = self.ringAnimatedLayer; 29 | [self.layer addSublayer:layer]; 30 | 31 | CGFloat widthDiff = CGRectGetWidth(self.bounds) - CGRectGetWidth(layer.bounds); 32 | CGFloat heightDiff = CGRectGetHeight(self.bounds) - CGRectGetHeight(layer.bounds); 33 | layer.position = CGPointMake(CGRectGetWidth(self.bounds) - CGRectGetWidth(layer.bounds) / 2 - widthDiff / 2, CGRectGetHeight(self.bounds) - CGRectGetHeight(layer.bounds) / 2 - heightDiff / 2); 34 | } 35 | 36 | - (CAShapeLayer*)ringAnimatedLayer { 37 | if(!_ringAnimatedLayer) { 38 | CGPoint arcCenter = CGPointMake(self.radius+self.strokeThickness/2+5, self.radius+self.strokeThickness/2+5); 39 | UIBezierPath* smoothedPath = [UIBezierPath bezierPathWithArcCenter:arcCenter radius:self.radius startAngle:(CGFloat)-M_PI_2 endAngle:(CGFloat) (M_PI + M_PI_2) clockwise:YES]; 40 | 41 | _ringAnimatedLayer = [CAShapeLayer layer]; 42 | _ringAnimatedLayer.contentsScale = [[UIScreen mainScreen] scale]; 43 | _ringAnimatedLayer.frame = CGRectMake(0.0f, 0.0f, arcCenter.x*2, arcCenter.y*2); 44 | _ringAnimatedLayer.fillColor = [UIColor clearColor].CGColor; 45 | _ringAnimatedLayer.strokeColor = self.strokeColor.CGColor; 46 | _ringAnimatedLayer.lineWidth = self.strokeThickness; 47 | _ringAnimatedLayer.lineCap = kCALineCapRound; 48 | _ringAnimatedLayer.lineJoin = kCALineJoinBevel; 49 | _ringAnimatedLayer.path = smoothedPath.CGPath; 50 | } 51 | return _ringAnimatedLayer; 52 | } 53 | 54 | - (void)setFrame:(CGRect)frame { 55 | if(!CGRectEqualToRect(frame, super.frame)) { 56 | [super setFrame:frame]; 57 | 58 | if(self.superview) { 59 | [self layoutAnimatedLayer]; 60 | } 61 | } 62 | } 63 | 64 | - (void)setRadius:(CGFloat)radius { 65 | if(radius != _radius) { 66 | _radius = radius; 67 | 68 | [_ringAnimatedLayer removeFromSuperlayer]; 69 | _ringAnimatedLayer = nil; 70 | 71 | if(self.superview) { 72 | [self layoutAnimatedLayer]; 73 | } 74 | } 75 | } 76 | 77 | - (void)setStrokeColor:(UIColor*)strokeColor { 78 | _strokeColor = strokeColor; 79 | _ringAnimatedLayer.strokeColor = strokeColor.CGColor; 80 | } 81 | 82 | - (void)setStrokeThickness:(CGFloat)strokeThickness { 83 | _strokeThickness = strokeThickness; 84 | _ringAnimatedLayer.lineWidth = _strokeThickness; 85 | } 86 | 87 | - (void)setStrokeEnd:(CGFloat)strokeEnd { 88 | _strokeEnd = strokeEnd; 89 | _ringAnimatedLayer.strokeEnd = _strokeEnd; 90 | } 91 | 92 | - (CGSize)sizeThatFits:(CGSize)size { 93 | return CGSizeMake((self.radius+self.strokeThickness/2+5)*2, (self.radius+self.strokeThickness/2+5)*2); 94 | } 95 | 96 | @end 97 | -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/angle-mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/angle-mask.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/angle-mask@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/angle-mask@2x.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/angle-mask@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/angle-mask@3x.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/error.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/error@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/error@2x.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/error@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/error@3x.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/info.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/info@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/info@2x.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/info@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/info@3x.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/success.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/success@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/success@2x.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/success@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V5zhou/AnyDraw/68af21938ae13302fc0e90117950c14ee6be2b71/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/success@3x.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVRadialGradientLayer.h: -------------------------------------------------------------------------------- 1 | // 2 | // SVRadialGradientLayer.h 3 | // SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD 4 | // 5 | // Copyright (c) 2014-2016 Tobias Tiemerding. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | @interface SVRadialGradientLayer : CALayer 11 | 12 | @property (nonatomic) CGPoint gradientCenter; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVRadialGradientLayer.m: -------------------------------------------------------------------------------- 1 | // 2 | // SVRadialGradientLayer.m 3 | // SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD 4 | // 5 | // Copyright (c) 2014-2016 Tobias Tiemerding. All rights reserved. 6 | // 7 | 8 | #import "SVRadialGradientLayer.h" 9 | 10 | @implementation SVRadialGradientLayer 11 | 12 | - (void)drawInContext:(CGContextRef)context { 13 | size_t locationsCount = 2; 14 | CGFloat locations[2] = {0.0f, 1.0f}; 15 | CGFloat colors[8] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.75f}; 16 | CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); 17 | CGGradientRef gradient = CGGradientCreateWithColorComponents(colorSpace, colors, locations, locationsCount); 18 | CGColorSpaceRelease(colorSpace); 19 | 20 | float radius = MIN(self.bounds.size.width , self.bounds.size.height); 21 | CGContextDrawRadialGradient (context, gradient, self.gradientCenter, 0, self.gradientCenter, radius, kCGGradientDrawsAfterEndLocation); 22 | CGGradientRelease(gradient); 23 | } 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-AnyDraw/Pods-AnyDraw-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | 4 | ## SVProgressHUD 5 | 6 | Copyright (c) 2011-2016 Sam Vermette, Tobias Tiemerding and contributors. 7 | 8 | Permission is hereby granted, free of charge, to any person 9 | obtaining a copy of this software and associated documentation 10 | files (the "Software"), to deal in the Software without 11 | restriction, including without limitation the rights to use, 12 | copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | copies of the Software, and to permit persons to whom the 14 | Software is furnished to do so, subject to the following 15 | conditions: 16 | 17 | The above copyright notice and this permission notice shall be 18 | included in all copies or substantial portions of the Software. 19 | 20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 21 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 22 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 23 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 24 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 25 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 26 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 27 | OTHER DEALINGS IN THE SOFTWARE. 28 | 29 | A different license may apply to other resources included in this package, 30 | including Freepik Icons. Please consult their 31 | respective headers for the terms of their individual licenses. 32 | 33 | Generated by CocoaPods - https://cocoapods.org 34 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-AnyDraw/Pods-AnyDraw-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | Copyright (c) 2011-2016 Sam Vermette, Tobias Tiemerding and contributors. 18 | 19 | Permission is hereby granted, free of charge, to any person 20 | obtaining a copy of this software and associated documentation 21 | files (the "Software"), to deal in the Software without 22 | restriction, including without limitation the rights to use, 23 | copy, modify, merge, publish, distribute, sublicense, and/or sell 24 | copies of the Software, and to permit persons to whom the 25 | Software is furnished to do so, subject to the following 26 | conditions: 27 | 28 | The above copyright notice and this permission notice shall be 29 | included in all copies or substantial portions of the Software. 30 | 31 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 32 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 33 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 34 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 35 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 36 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 37 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 38 | OTHER DEALINGS IN THE SOFTWARE. 39 | 40 | A different license may apply to other resources included in this package, 41 | including Freepik Icons. Please consult their 42 | respective headers for the terms of their individual licenses. 43 | 44 | License 45 | MIT 46 | Title 47 | SVProgressHUD 48 | Type 49 | PSGroupSpecifier 50 | 51 | 52 | FooterText 53 | Generated by CocoaPods - https://cocoapods.org 54 | Title 55 | 56 | Type 57 | PSGroupSpecifier 58 | 59 | 60 | StringsTable 61 | Acknowledgements 62 | Title 63 | Acknowledgements 64 | 65 | 66 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-AnyDraw/Pods-AnyDraw-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_AnyDraw : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_AnyDraw 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-AnyDraw/Pods-AnyDraw-frameworks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 5 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 6 | 7 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 8 | 9 | install_framework() 10 | { 11 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then 12 | local source="${BUILT_PRODUCTS_DIR}/$1" 13 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then 14 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" 15 | elif [ -r "$1" ]; then 16 | local source="$1" 17 | fi 18 | 19 | local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 20 | 21 | if [ -L "${source}" ]; then 22 | echo "Symlinked..." 23 | source="$(readlink "${source}")" 24 | fi 25 | 26 | # use filter instead of exclude so missing patterns dont' throw errors 27 | echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" 28 | rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" 29 | 30 | local basename 31 | basename="$(basename -s .framework "$1")" 32 | binary="${destination}/${basename}.framework/${basename}" 33 | if ! [ -r "$binary" ]; then 34 | binary="${destination}/${basename}" 35 | fi 36 | 37 | # Strip invalid architectures so "fat" simulator / device frameworks work on device 38 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then 39 | strip_invalid_archs "$binary" 40 | fi 41 | 42 | # Resign the code if required by the build settings to avoid unstable apps 43 | code_sign_if_enabled "${destination}/$(basename "$1")" 44 | 45 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. 46 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then 47 | local swift_runtime_libs 48 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) 49 | for lib in $swift_runtime_libs; do 50 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" 51 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" 52 | code_sign_if_enabled "${destination}/${lib}" 53 | done 54 | fi 55 | } 56 | 57 | # Signs a framework with the provided identity 58 | code_sign_if_enabled() { 59 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then 60 | # Use the current code_sign_identitiy 61 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" 62 | echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\"" 63 | /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1" 64 | fi 65 | } 66 | 67 | # Strip invalid architectures 68 | strip_invalid_archs() { 69 | binary="$1" 70 | # Get architectures for current file 71 | archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" 72 | stripped="" 73 | for arch in $archs; do 74 | if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then 75 | # Strip non-valid architectures in-place 76 | lipo -remove "$arch" -output "$binary" "$binary" || exit 1 77 | stripped="$stripped $arch" 78 | fi 79 | done 80 | if [[ "$stripped" ]]; then 81 | echo "Stripped $binary of architectures:$stripped" 82 | fi 83 | } 84 | 85 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-AnyDraw/Pods-AnyDraw.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/SVProgressHUD" 4 | LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD" 5 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/SVProgressHUD" 6 | OTHER_LDFLAGS = $(inherited) -ObjC -l"SVProgressHUD" -framework "QuartzCore" 7 | PODS_BUILD_DIR = $BUILD_DIR 8 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-AnyDraw/Pods-AnyDraw.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/SVProgressHUD" 4 | LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD" 5 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/SVProgressHUD" 6 | OTHER_LDFLAGS = $(inherited) -ObjC -l"SVProgressHUD" -framework "QuartzCore" 7 | PODS_BUILD_DIR = $BUILD_DIR 8 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SVProgressHUD/SVProgressHUD-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_SVProgressHUD : NSObject 3 | @end 4 | @implementation PodsDummy_SVProgressHUD 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SVProgressHUD/SVProgressHUD-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SVProgressHUD/SVProgressHUD.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/SVProgressHUD" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/SVProgressHUD" 4 | OTHER_LDFLAGS = -framework "QuartzCore" 5 | PODS_BUILD_DIR = $BUILD_DIR 6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AnyDraw 2 | 这是一个画板应用。 3 | 4 | ###1.介绍 5 | 6 | 这是一个参照**sketchmaster**界面制作的画板,页面简捷易操作。它包含以下功能: 7 | 8 | 1. 5种画笔(包括橡皮),每种笔有不同的特性,这也是一个可玩点。 9 | 2. 独立粗细控制。 10 | 3. 丰富的颜色选择器。预设18种颜色,及一个取色器。 11 | 4. 可更换画布背景。 12 | 5. 前进、回退控制。 13 | 6. 清除与保存到相册。 14 | 15 | #####1.1 界面 16 | 17 | 启动后页面如下: 18 | 19 | ![主界面](http://upload-images.jianshu.io/upload_images/3913024-1e059a6f0caff095.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 20 | 21 | 页面分为三部分: 22 | 23 | 1. 导航栏 24 | 2. 画布 25 | 3. 底部工具栏 26 | 27 | ##### 1.2 功能介绍 28 | 29 | ######笔类型选择器 30 | 31 | 目前做了5种笔,分别为:圆珠笔、倾斜笔、米形笔、喷枪、橡皮擦。笔的起名不一定正确,能理解就行。 32 | 33 | ![画笔选择](http://upload-images.jianshu.io/upload_images/3913024-cbf084d2bd8f719e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 34 | 35 | ###### 颜色选择器 36 | 37 | 目前有固定颜色与取色器两种。 38 | 39 | ![画笔选择器](http://upload-images.jianshu.io/upload_images/3913024-a19f810d9b478a79.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 40 | 41 | ###### 画布切换 42 | 43 | 其中预设了10余种画布,可以滑动更换。 44 | 45 | ![image.png](http://upload-images.jianshu.io/upload_images/3913024-504320f9419e09ef.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 46 | 47 | ###### 粗细控制 48 | 49 | 为下方工具栏中央Slider。 50 | 51 | 每种笔的初始粗细与颜色可以独立控制,修改颜色后,只会修改对应笔的粗细与颜色属性。 52 | 53 | ######线条优化 54 | 55 | 对于线条的流畅性,做了优化。方法是取中点,做二次bezier,如下图所示: 56 | 57 | ![image.png](http://upload-images.jianshu.io/upload_images/3913024-19b430d2e7af794c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 58 | 59 | 其中绿色空心小点,是我们touchesMove时经过的point,但我们不能直接把point连接point去绘制,那样全是折线不流畅。 60 | 61 | 如果此时正画到currunt点,向前取两个点:previous2、previous1,previous2与previous1中点为mid2,previous1与currunt中点为mid1,然后以previous1为控制点,mid2向mid1绘曲线,图中绿色部分。依次向后绘,就能得到平滑曲线。 62 | 63 | 快速绘制时,此方法会导致线条显示偏移原有线路,不过一般看不出来。也考虑过用三次bizier成线,貌似线条不够自然。三次bezier参考[DEMO](https://www.zheng-hang.com/zb_users/upload/2015/04/201504121428779779603343.rar) 64 | 65 | ###### 绘制方式 66 | 67 | 采用了两种绘制方式。 68 | 1. shapeLayer上设置path 69 | 2. bitMap绘制 70 | 71 | 圆珠笔与橡皮擦是直接在shapeLayer上通过设置path实现,特点是线条流畅,缺点是不能控制线条的粗细变化。 72 | 73 | 其它笔是用bitMap实现,通过把bezier线条**大致等分**取点,然后在每个点上绘制图片。图片的大小与点的间距可以通过算法控制,每个点在bezier线条上的方向也能大致得到,这就提供给了我们无限的扩展空间。比如:毛笔的粗细变化、路径上小星星的朝向。 74 | 75 | ### 待优化 76 | 77 | 1. 目前bezier曲线均分的算法不够精确。 78 | 2. 每段bezier结束与下一段bezier间衔接有BUG,需要优化。 79 | 3. 曲线上粗细变化需要逐渐过渡,目前是突然性的。 80 | 4. bezier上点的方向还未判定。 81 | 82 | 喜欢的话,请star,谢谢支持。欢迎提出好的建议,fork共同改进代码。 83 | 84 | 我的简书地址:http://www.jianshu.com/p/deb107a1ec36 85 | --------------------------------------------------------------------------------