├── .circleci └── config.yml ├── .editorconfig ├── .gitattributes ├── .gitignore ├── .npmignore ├── .yarnrc ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── android ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties └── src │ └── main │ ├── AndroidManifest.xml │ ├── assets │ └── filters │ │ ├── auto_fix.png │ │ ├── b_n_w.png │ │ ├── brightness.png │ │ ├── contrast.png │ │ ├── cross_process.png │ │ ├── documentary.png │ │ ├── dual_tone.png │ │ ├── fill_light.png │ │ ├── fish_eye.png │ │ ├── flip_horizental.png │ │ ├── flip_vertical.png │ │ ├── grain.png │ │ ├── gray_scale.png │ │ ├── lomish.png │ │ ├── negative.png │ │ ├── original.jpg │ │ ├── posterize.png │ │ ├── rotate.png │ │ ├── saturate.png │ │ ├── sepia.png │ │ ├── sharpen.png │ │ ├── temprature.png │ │ ├── tint.png │ │ └── vignette.png │ ├── java │ └── com │ │ └── reactnativephotoeditor │ │ ├── PhotoEditorModule.kt │ │ ├── PhotoEditorPackage.kt │ │ └── activity │ │ ├── ColorPickerAdapter.java │ │ ├── PhotoApp.java │ │ ├── PhotoEditorActivity.kt │ │ ├── PropertiesBSFragment.java │ │ ├── ShapeBSFragment.java │ │ ├── StickerFragment.kt │ │ ├── TextEditorDialogFragment.java │ │ ├── constant │ │ └── ResponseCode.kt │ │ ├── filters │ │ ├── FilterListener.java │ │ └── FilterViewAdapter.kt │ │ └── tools │ │ ├── EditingToolsAdapter.java │ │ └── ToolType.java │ └── res │ ├── drawable │ ├── blank_image.jpg │ ├── button_shape.xml │ ├── ic_brush.xml │ ├── ic_close.xml │ ├── ic_colorfilter.xml │ ├── ic_eraser.xml │ ├── ic_redo.xml │ ├── ic_smallcaps.xml │ ├── ic_sticker.xml │ ├── ic_undo.xml │ └── rounded_border_text_view.xml │ ├── layout │ ├── add_text_dialog.xml │ ├── color_picker_item_list.xml │ ├── fragment_bottom_custom_effect_dialog.xml │ ├── fragment_bottom_properties_dialog.xml │ ├── fragment_bottom_shapes_dialog.xml │ ├── fragment_bottom_sticker_dialog.xml │ ├── photo_editor_view.xml │ ├── row_editing_tools.xml │ ├── row_filter_view.xml │ └── row_sticker.xml │ └── values │ ├── colors.xml │ ├── dimens.xml │ ├── font_certs.xml │ ├── strings.xml │ └── styles.xml ├── babel.config.js ├── example ├── android │ ├── app │ │ ├── build.gradle │ │ ├── debug.keystore │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── debug │ │ │ ├── AndroidManifest.xml │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── reactnativephotoeditor │ │ │ │ └── ReactNativeFlipper.java │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── assets │ │ │ ├── LUTs │ │ │ │ ├── LUT_64_Bagan.png │ │ │ │ ├── LUT_64_California.png │ │ │ │ ├── LUT_64_DaLat.png │ │ │ │ └── LUT_64_SaiGon.png │ │ │ ├── Stickers │ │ │ │ ├── AUTUMN_1.png │ │ │ │ ├── AUTUMN_10.png │ │ │ │ ├── AUTUMN_11.png │ │ │ │ ├── AUTUMN_12.png │ │ │ │ ├── AUTUMN_13.png │ │ │ │ ├── AUTUMN_14.png │ │ │ │ ├── AUTUMN_15.png │ │ │ │ ├── AUTUMN_16.png │ │ │ │ ├── AUTUMN_17.png │ │ │ │ ├── AUTUMN_18.png │ │ │ │ ├── AUTUMN_2.png │ │ │ │ ├── AUTUMN_3.png │ │ │ │ ├── AUTUMN_4.png │ │ │ │ ├── AUTUMN_5.png │ │ │ │ ├── AUTUMN_6.png │ │ │ │ ├── AUTUMN_7.png │ │ │ │ ├── AUTUMN_8.png │ │ │ │ ├── AUTUMN_9.png │ │ │ │ ├── LOL_1.png │ │ │ │ ├── LOL_10.png │ │ │ │ ├── LOL_11.png │ │ │ │ ├── LOL_12.png │ │ │ │ ├── LOL_13.png │ │ │ │ ├── LOL_14.png │ │ │ │ ├── LOL_15.png │ │ │ │ ├── LOL_16.png │ │ │ │ ├── LOL_17.png │ │ │ │ ├── LOL_18.png │ │ │ │ ├── LOL_19.png │ │ │ │ ├── LOL_2.png │ │ │ │ ├── LOL_3.png │ │ │ │ ├── LOL_4.png │ │ │ │ ├── LOL_5.png │ │ │ │ ├── LOL_6.png │ │ │ │ ├── LOL_7.png │ │ │ │ ├── LOL_8.png │ │ │ │ ├── LOL_9.png │ │ │ │ ├── SPRING_1.png │ │ │ │ ├── SPRING_2.png │ │ │ │ ├── SPRING_3.png │ │ │ │ ├── SPRING_4.png │ │ │ │ ├── SPRING_5.png │ │ │ │ ├── SPRING_6.png │ │ │ │ ├── SUMMER_1.png │ │ │ │ ├── SUMMER_10.png │ │ │ │ ├── SUMMER_11.png │ │ │ │ ├── SUMMER_12.png │ │ │ │ ├── SUMMER_13.png │ │ │ │ ├── SUMMER_14.png │ │ │ │ ├── SUMMER_15.png │ │ │ │ ├── SUMMER_16.png │ │ │ │ ├── SUMMER_17.png │ │ │ │ ├── SUMMER_18.png │ │ │ │ ├── SUMMER_19.png │ │ │ │ ├── SUMMER_2.png │ │ │ │ ├── SUMMER_20.png │ │ │ │ ├── SUMMER_21.png │ │ │ │ ├── SUMMER_3.png │ │ │ │ ├── SUMMER_4.png │ │ │ │ ├── SUMMER_5.png │ │ │ │ ├── SUMMER_6.png │ │ │ │ ├── SUMMER_7.png │ │ │ │ ├── SUMMER_8.png │ │ │ │ ├── SUMMER_9.png │ │ │ │ ├── TEXT_1.png │ │ │ │ ├── TEXT_12.png │ │ │ │ ├── TEXT_13.png │ │ │ │ ├── TEXT_14.png │ │ │ │ ├── TEXT_15.png │ │ │ │ ├── TEXT_16.png │ │ │ │ ├── TEXT_2.png │ │ │ │ ├── TEXT_25.png │ │ │ │ ├── TEXT_26.png │ │ │ │ ├── TEXT_27.png │ │ │ │ ├── TEXT_28.png │ │ │ │ ├── TEXT_29.png │ │ │ │ ├── TEXT_3.png │ │ │ │ ├── TEXT_30.png │ │ │ │ ├── TEXT_31.png │ │ │ │ ├── TEXT_32.png │ │ │ │ ├── TEXT_7.png │ │ │ │ ├── TEXT_8.png │ │ │ │ └── TEXT_9.png │ │ │ └── fonts │ │ │ │ └── NotoSerifDisplay-Medium.ttf │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── reactnativephotoeditor │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── app.json ├── babel.config.js ├── index.tsx ├── ios │ ├── File.swift │ ├── LUTs.bundle │ │ ├── LUT_64_Bagan.png │ │ ├── LUT_64_California.png │ │ ├── LUT_64_SaiGon.png │ │ └── LUT_64_Tokyo.png │ ├── PhotoEditorExample-Bridging-Header.h │ ├── PhotoEditorExample.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── PhotoEditorExample.xcscheme │ ├── PhotoEditorExample.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── WorkspaceSettings.xcsettings │ ├── PhotoEditorExample │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Info.plist │ │ ├── LaunchScreen.storyboard │ │ └── main.m │ ├── Podfile │ ├── Podfile.lock │ └── Stickers.bundle │ │ ├── AUTUMN_1.png │ │ ├── AUTUMN_10.png │ │ ├── AUTUMN_11.png │ │ ├── AUTUMN_12.png │ │ ├── AUTUMN_13.png │ │ ├── AUTUMN_14.png │ │ ├── AUTUMN_15.png │ │ ├── AUTUMN_16.png │ │ ├── AUTUMN_17.png │ │ ├── AUTUMN_18.png │ │ ├── AUTUMN_2.png │ │ ├── AUTUMN_3.png │ │ ├── AUTUMN_4.png │ │ ├── AUTUMN_5.png │ │ ├── AUTUMN_6.png │ │ ├── AUTUMN_7.png │ │ ├── AUTUMN_8.png │ │ ├── AUTUMN_9.png │ │ ├── LOL_1.png │ │ ├── LOL_10.png │ │ ├── LOL_11.png │ │ ├── LOL_12.png │ │ ├── LOL_13.png │ │ ├── LOL_14.png │ │ ├── LOL_15.png │ │ ├── LOL_16.png │ │ ├── LOL_17.png │ │ ├── LOL_18.png │ │ ├── LOL_19.png │ │ ├── LOL_2.png │ │ ├── LOL_3.png │ │ ├── LOL_4.png │ │ ├── LOL_5.png │ │ ├── LOL_6.png │ │ ├── LOL_7.png │ │ ├── LOL_8.png │ │ ├── LOL_9.png │ │ ├── SPRING_1.png │ │ ├── SPRING_2.png │ │ ├── SPRING_3.png │ │ ├── SPRING_4.png │ │ ├── SPRING_5.png │ │ ├── SPRING_6.png │ │ ├── SUMMER_1.png │ │ ├── SUMMER_10.png │ │ ├── SUMMER_11.png │ │ ├── SUMMER_12.png │ │ ├── SUMMER_13.png │ │ ├── SUMMER_14.png │ │ ├── SUMMER_15.png │ │ ├── SUMMER_16.png │ │ ├── SUMMER_17.png │ │ ├── SUMMER_18.png │ │ ├── SUMMER_19.png │ │ ├── SUMMER_2.png │ │ ├── SUMMER_20.png │ │ ├── SUMMER_21.png │ │ ├── SUMMER_3.png │ │ ├── SUMMER_4.png │ │ ├── SUMMER_5.png │ │ ├── SUMMER_6.png │ │ ├── SUMMER_7.png │ │ ├── SUMMER_8.png │ │ ├── SUMMER_9.png │ │ ├── TEXT_1.png │ │ ├── TEXT_12.png │ │ ├── TEXT_13.png │ │ ├── TEXT_14.png │ │ ├── TEXT_15.png │ │ ├── TEXT_16.png │ │ ├── TEXT_2.png │ │ ├── TEXT_25.png │ │ ├── TEXT_26.png │ │ ├── TEXT_27.png │ │ ├── TEXT_28.png │ │ ├── TEXT_29.png │ │ ├── TEXT_3.png │ │ ├── TEXT_30.png │ │ ├── TEXT_31.png │ │ ├── TEXT_32.png │ │ ├── TEXT_7.png │ │ ├── TEXT_8.png │ │ ├── TEXT_9.png │ │ └── a_pety_icon.png ├── metro.config.js ├── package.json ├── src │ ├── App.js │ ├── assets │ │ ├── data │ │ │ ├── imageURLs.json │ │ │ ├── index.js │ │ │ └── stickers.json │ │ ├── fonts │ │ │ └── NotoSerifDisplay-Medium.ttf │ │ ├── icons │ │ │ ├── index.js │ │ │ └── tag-user.png │ │ └── images │ │ │ ├── adam-creator.png │ │ │ ├── david.png │ │ │ └── index.js │ ├── components │ │ ├── Image.js │ │ └── index.js │ ├── screens │ │ ├── Home │ │ │ ├── components │ │ │ │ ├── button-group.js │ │ │ │ ├── header.js │ │ │ │ └── index.js │ │ │ └── index.js │ │ └── index.js │ └── themes │ │ ├── colors.js │ │ └── sizes.js └── yarn.lock ├── ios ├── FilterColorCube │ ├── ColorCubeHelper.swift │ ├── ColorCubeLoader.swift │ ├── DataSource │ │ └── ImageSource.swift │ ├── Engine │ │ ├── CoreGraphics+.swift │ │ └── ImageTool.swift │ ├── FilterColorCube.swift │ ├── Library │ │ ├── CIImage+.swift │ │ ├── EngineSanitizer.swift │ │ ├── Geometry.swift │ │ ├── InternalUtils.swift │ │ └── Optional+.swift │ └── ParameterRange.swift ├── PhotoEditor-Bridging-Header.h ├── PhotoEditor.m ├── PhotoEditor.swift ├── PhotoEditor.xcodeproj │ └── project.pbxproj ├── SnapKit │ ├── Constraint.swift │ ├── ConstraintAttributes.swift │ ├── ConstraintConfig.swift │ ├── ConstraintConstantTarget.swift │ ├── ConstraintDSL.swift │ ├── ConstraintDescription.swift │ ├── ConstraintDirectionalInsetTarget.swift │ ├── ConstraintDirectionalInsets.swift │ ├── ConstraintInsetTarget.swift │ ├── ConstraintInsets.swift │ ├── ConstraintItem.swift │ ├── ConstraintLayoutGuide+Extensions.swift │ ├── ConstraintLayoutGuide.swift │ ├── ConstraintLayoutGuideDSL.swift │ ├── ConstraintLayoutSupport.swift │ ├── ConstraintLayoutSupportDSL.swift │ ├── ConstraintMaker.swift │ ├── ConstraintMakerEditable.swift │ ├── ConstraintMakerExtendable.swift │ ├── ConstraintMakerFinalizable.swift │ ├── ConstraintMakerPriortizable.swift │ ├── ConstraintMakerRelatable+Extensions.swift │ ├── ConstraintMakerRelatable.swift │ ├── ConstraintMultiplierTarget.swift │ ├── ConstraintOffsetTarget.swift │ ├── ConstraintPriority.swift │ ├── ConstraintPriorityTarget.swift │ ├── ConstraintRelatableTarget.swift │ ├── ConstraintRelation.swift │ ├── ConstraintView+Extensions.swift │ ├── ConstraintView.swift │ ├── ConstraintViewDSL.swift │ ├── Debugging.swift │ ├── LayoutConstraint.swift │ ├── LayoutConstraintItem.swift │ ├── SnapKit.h │ ├── Typealiases.swift │ └── UILayoutSupport+Extensions.swift ├── Sticker │ ├── StickerCell.swift │ └── StickerView.swift └── ZLImageEditor │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── Sources │ ├── Extensions │ │ ├── Bundle+ZLImageEditor.swift │ │ ├── CGFloat+ZLImageEditor.swift │ │ ├── Cell+ZLImageEditor.swift │ │ ├── String+ZLImageEditor.swift │ │ ├── UIControl+ZLImageEditor.swift │ │ └── UIImage+ZLImageEditor.swift │ ├── General │ │ ├── ZLClipImageDismissAnimatedTransition.swift │ │ ├── ZLClipImageViewController.swift │ │ ├── ZLEditImageViewController.swift │ │ ├── ZLFilter.swift │ │ ├── ZLImageEditor.swift │ │ ├── ZLImageEditorConfiguration.swift │ │ ├── ZLImageEditorDefine.swift │ │ ├── ZLImageEditorLanguageDefine.swift │ │ ├── ZLImageStickerView.swift │ │ ├── ZLInputTextViewController.swift │ │ └── ZLTextStickerView.swift │ ├── Info.plist │ ├── ZLImageEditor.bundle │ │ ├── de.lproj │ │ │ └── Localizable.strings │ │ ├── en.lproj │ │ │ └── Localizable.strings │ │ ├── fr.lproj │ │ │ └── Localizable.strings │ │ ├── it.lproj │ │ │ └── Localizable.strings │ │ ├── ja-US.lproj │ │ │ └── Localizable.strings │ │ ├── ko.lproj │ │ │ └── Localizable.strings │ │ ├── ms.lproj │ │ │ └── Localizable.strings │ │ ├── ru.lproj │ │ │ └── Localizable.strings │ │ ├── vi.lproj │ │ │ └── Localizable.strings │ │ ├── zh-Hans.lproj │ │ │ └── Localizable.strings │ │ ├── zh-Hant.lproj │ │ │ └── Localizable.strings │ │ ├── zl_ashbin@2x.png │ │ ├── zl_ashbin@3x.png │ │ ├── zl_ashbin_open@2x.png │ │ ├── zl_ashbin_open@3x.png │ │ ├── zl_clip@2x.png │ │ ├── zl_clip@3x.png │ │ ├── zl_close@2x.png │ │ ├── zl_close@3x.png │ │ ├── zl_drawLine@2x.png │ │ ├── zl_drawLine@3x.png │ │ ├── zl_drawLine_selected@2x.png │ │ ├── zl_drawLine_selected@3x.png │ │ ├── zl_filter@2x.png │ │ ├── zl_filter@3x.png │ │ ├── zl_filter_selected@2x.png │ │ ├── zl_filter_selected@3x.png │ │ ├── zl_imageSticker@2x.png │ │ ├── zl_imageSticker@3x.png │ │ ├── zl_mosaic@2x.png │ │ ├── zl_mosaic@3x.png │ │ ├── zl_mosaic_selected@2x.png │ │ ├── zl_mosaic_selected@3x.png │ │ ├── zl_retake@2x.png │ │ ├── zl_retake@3x.png │ │ ├── zl_revoke@2x.png │ │ ├── zl_revoke@3x.png │ │ ├── zl_revoke_disable@2x.png │ │ ├── zl_revoke_disable@3x.png │ │ ├── zl_right@2x.png │ │ ├── zl_right@3x.png │ │ ├── zl_rotateimage@2x.png │ │ ├── zl_rotateimage@3x.png │ │ ├── zl_textSticker@2x.png │ │ └── zl_textSticker@3x.png │ └── ZLImageEditor.h │ ├── ZLImageEditor.podspec │ ├── ZLImageEditor.xcodeproj │ └── project.pbxproj │ └── ZLImageEditor.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ └── IDEWorkspaceChecks.plist ├── package.json ├── react-native-photo-editor.podspec ├── resources ├── LUTs.bundle │ ├── LUT_64_Bagan.png │ ├── LUT_64_California.png │ ├── LUT_64_DaLat.png │ └── LUT_64_SaiGon.png ├── banner.png ├── banner1.jpg ├── example_ios.png ├── filters_android.png ├── filters_ios.png ├── lut_tutorial_ios.png ├── sticker_android.png ├── sticker_ios.png ├── sticker_tutorial_android.png ├── sticker_tutorial_ios.png ├── tools_android.png └── tools_ios.png ├── scripts └── bootstrap.js ├── src ├── __tests__ │ └── index.test.tsx ├── index.js └── index.tsx ├── tsconfig.build.json ├── tsconfig.json └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig helps developers define and maintain consistent 2 | # coding styles between different editors and IDEs 3 | # editorconfig.org 4 | 5 | root = true 6 | 7 | [*] 8 | 9 | indent_style = space 10 | indent_size = 2 11 | 12 | end_of_line = lf 13 | charset = utf-8 14 | trim_trailing_whitespace = true 15 | insert_final_newline = true 16 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | # specific for windows script files 3 | *.bat text eol=crlf -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # OSX 2 | # 3 | .DS_Store 4 | 5 | # XDE 6 | .expo/ 7 | 8 | # VSCode 9 | .vscode/ 10 | jsconfig.json 11 | 12 | # Xcode 13 | # 14 | build/ 15 | *.pbxuser 16 | !default.pbxuser 17 | *.mode1v3 18 | !default.mode1v3 19 | *.mode2v3 20 | !default.mode2v3 21 | *.perspectivev3 22 | !default.perspectivev3 23 | xcuserdata 24 | *.xccheckout 25 | *.moved-aside 26 | DerivedData 27 | *.hmap 28 | *.ipa 29 | *.xcuserstate 30 | project.xcworkspace 31 | 32 | # Android/IJ 33 | # 34 | .idea 35 | .gradle 36 | local.properties 37 | android.iml 38 | 39 | # Cocoapods 40 | # 41 | example/ios/Pods 42 | 43 | # node.js 44 | # 45 | node_modules/ 46 | npm-debug.log 47 | yarn-debug.log 48 | yarn-error.log 49 | 50 | # BUCK 51 | buck-out/ 52 | \.buckd/ 53 | android/app/libs 54 | android/keystores/debug.keystore 55 | 56 | # Expo 57 | .expo/* 58 | 59 | # generated by bob 60 | lib/ 61 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | example/ 2 | resources/ 3 | node_modules/ 4 | npm-debug.log 5 | package-lock.json 6 | -------------------------------------------------------------------------------- /.yarnrc: -------------------------------------------------------------------------------- 1 | # Override Yarn command so we can automatically setup the repo on running `yarn` 2 | 3 | yarn-path "scripts/bootstrap.js" 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Baron Ha. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /android/gradle.properties: -------------------------------------------------------------------------------- 1 | PhotoEditor_kotlinVersion=1.6.20 2 | PhotoEditor_compileSdkVersion=29 3 | PhotoEditor_buildToolsVersion=29.0.2 4 | PhotoEditor_targetSdkVersion=29 5 | -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.8-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /android/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 12 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /android/src/main/assets/filters/auto_fix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/auto_fix.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/b_n_w.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/b_n_w.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/brightness.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/brightness.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/contrast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/contrast.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/cross_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/cross_process.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/documentary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/documentary.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/dual_tone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/dual_tone.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/fill_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/fill_light.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/fish_eye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/fish_eye.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/flip_horizental.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/flip_horizental.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/flip_vertical.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/flip_vertical.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/grain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/grain.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/gray_scale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/gray_scale.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/lomish.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/lomish.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/negative.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/negative.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/original.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/original.jpg -------------------------------------------------------------------------------- /android/src/main/assets/filters/posterize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/posterize.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/rotate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/rotate.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/saturate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/saturate.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/sepia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/sepia.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/sharpen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/sharpen.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/temprature.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/temprature.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/tint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/tint.png -------------------------------------------------------------------------------- /android/src/main/assets/filters/vignette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/assets/filters/vignette.png -------------------------------------------------------------------------------- /android/src/main/java/com/reactnativephotoeditor/PhotoEditorModule.kt: -------------------------------------------------------------------------------- 1 | package com.reactnativephotoeditor 2 | 3 | import android.app.Activity 4 | import android.content.Intent 5 | import com.facebook.react.bridge.* 6 | import com.reactnativephotoeditor.activity.PhotoEditorActivity 7 | import com.reactnativephotoeditor.activity.constant.ResponseCode 8 | 9 | enum class ERROR_CODE { 10 | 11 | } 12 | 13 | class PhotoEditorModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext) { 14 | private val context = reactApplicationContext; 15 | private val EDIT_SUCCESSFUL = 1 16 | private var promise: Promise? = null 17 | override fun getName(): String { 18 | return "PhotoEditor" 19 | } 20 | 21 | @ReactMethod 22 | fun open(options: ReadableMap?, promise: Promise): Unit { 23 | this.promise = promise 24 | val activity = currentActivity 25 | if (activity == null) { 26 | promise.reject("ACTIVITY_DOES_NOT_EXIST", "Activity doesn't exist"); 27 | return; 28 | } 29 | val intent = Intent(context, PhotoEditorActivity::class.java) 30 | context.addActivityEventListener(mActivityEventListener) 31 | 32 | val path = options?.getString("path") 33 | val stickers = options?.getArray("stickers") as ReadableArray 34 | 35 | intent.putExtra("path", path) 36 | intent.putExtra("stickers", stickers.toArrayList()) 37 | 38 | activity.startActivityForResult(intent, EDIT_SUCCESSFUL) 39 | } 40 | 41 | private val mActivityEventListener: ActivityEventListener = object : BaseActivityEventListener() { 42 | override fun onActivityResult(activity: Activity, requestCode: Int, resultCode: Int, intent: Intent) { 43 | if (requestCode == EDIT_SUCCESSFUL) { 44 | when (resultCode) { 45 | ResponseCode.RESULT_OK -> { 46 | val path = intent.getStringExtra("path") 47 | promise?.resolve("file://$path") 48 | } 49 | ResponseCode.RESULT_CANCELED -> { 50 | promise?.reject("USER_CANCELLED", "User has cancelled", null) 51 | } 52 | ResponseCode.LOAD_IMAGE_FAILED -> { 53 | val path = intent.getStringExtra("path") 54 | promise?.reject("LOAD_IMAGE_FAILED", "Load image failed: $path", null) 55 | } 56 | 57 | } 58 | } 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /android/src/main/java/com/reactnativephotoeditor/PhotoEditorPackage.kt: -------------------------------------------------------------------------------- 1 | package com.reactnativephotoeditor 2 | 3 | import com.facebook.react.ReactPackage 4 | import com.facebook.react.bridge.NativeModule 5 | import com.facebook.react.bridge.ReactApplicationContext 6 | import com.facebook.react.uimanager.ViewManager 7 | 8 | 9 | class PhotoEditorPackage : ReactPackage { 10 | override fun createNativeModules(reactContext: ReactApplicationContext): List { 11 | return listOf(PhotoEditorModule(reactContext)) 12 | } 13 | 14 | override fun createViewManagers(reactContext: ReactApplicationContext): List> { 15 | return emptyList() 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /android/src/main/java/com/reactnativephotoeditor/activity/PhotoApp.java: -------------------------------------------------------------------------------- 1 | package com.reactnativephotoeditor.activity; 2 | 3 | import android.app.Application; 4 | import android.content.Context; 5 | 6 | /** 7 | * Created by Burhanuddin Rashid on 1/23/2018. 8 | */ 9 | 10 | public class PhotoApp extends Application { 11 | private static PhotoApp sPhotoApp; 12 | private static final String TAG = PhotoApp.class.getSimpleName(); 13 | 14 | @Override 15 | public void onCreate() { 16 | super.onCreate(); 17 | sPhotoApp = this; 18 | /* FontRequest fontRequest = new FontRequest( 19 | "com.google.android.gms.fonts", 20 | "com.google.android.gms", 21 | "Noto Color Emoji Compat", 22 | R.array.com_google_android_gms_fonts_certs); 23 | 24 | EmojiCompat.Config config = new FontRequestEmojiCompatConfig(this, fontRequest) 25 | .setReplaceAll(true) 26 | // .setEmojiSpanIndicatorEnabled(true) 27 | // .setEmojiSpanIndicatorColor(Color.GREEN) 28 | .registerInitCallback(new EmojiCompat.InitCallback() { 29 | @Override 30 | public void onInitialized() { 31 | super.onInitialized(); 32 | Log.e(TAG, "Success"); 33 | } 34 | 35 | @Override 36 | public void onFailed(@Nullable Throwable throwable) { 37 | super.onFailed(throwable); 38 | Log.e(TAG, "onFailed: " + throwable.getMessage()); 39 | } 40 | }); 41 | 42 | // BundledEmojiCompatConfig bundledEmojiCompatConfig = new BundledEmojiCompatConfig(this); 43 | EmojiCompat.init(config);*/ 44 | } 45 | 46 | public static PhotoApp getPhotoApp() { 47 | return sPhotoApp; 48 | } 49 | 50 | public Context getContext() { 51 | return sPhotoApp.getContext(); 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /android/src/main/java/com/reactnativephotoeditor/activity/constant/ResponseCode.kt: -------------------------------------------------------------------------------- 1 | package com.reactnativephotoeditor.activity.constant 2 | 3 | import android.app.Activity 4 | 5 | object ResponseCode { 6 | const val RESULT_OK = Activity.RESULT_OK 7 | const val RESULT_CANCELED = Activity.RESULT_CANCELED 8 | const val LOAD_IMAGE_FAILED = 2 9 | const val FAILED_TO_SAVE = 3 10 | } 11 | -------------------------------------------------------------------------------- /android/src/main/java/com/reactnativephotoeditor/activity/filters/FilterListener.java: -------------------------------------------------------------------------------- 1 | package com.reactnativephotoeditor.activity.filters; 2 | 3 | import ja.burhanrashid52.photoeditor.PhotoFilter; 4 | 5 | public interface FilterListener { 6 | void onFilterSelected(PhotoFilter photoFilter); 7 | } 8 | -------------------------------------------------------------------------------- /android/src/main/java/com/reactnativephotoeditor/activity/tools/ToolType.java: -------------------------------------------------------------------------------- 1 | package com.reactnativephotoeditor.activity.tools; 2 | 3 | /** 4 | * @author Burhanuddin Rashid 5 | * @version 0.1.2 6 | * @since 5/23/2018 7 | */ 8 | public enum ToolType { 9 | SHAPE, 10 | ERASER, 11 | FILTER, 12 | TEXT, 13 | STICKER 14 | } 15 | -------------------------------------------------------------------------------- /android/src/main/res/drawable/blank_image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/android/src/main/res/drawable/blank_image.jpg -------------------------------------------------------------------------------- /android/src/main/res/drawable/button_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/src/main/res/drawable/ic_brush.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /android/src/main/res/drawable/ic_close.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 13 | 16 | 17 | -------------------------------------------------------------------------------- /android/src/main/res/drawable/ic_colorfilter.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /android/src/main/res/drawable/ic_eraser.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 13 | 16 | 17 | -------------------------------------------------------------------------------- /android/src/main/res/drawable/ic_redo.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 14 | 15 | -------------------------------------------------------------------------------- /android/src/main/res/drawable/ic_smallcaps.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /android/src/main/res/drawable/ic_sticker.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /android/src/main/res/drawable/ic_undo.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 14 | 15 | -------------------------------------------------------------------------------- /android/src/main/res/drawable/rounded_border_text_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /android/src/main/res/layout/add_text_dialog.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 26 | 27 | 38 | 39 | 44 | 45 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /android/src/main/res/layout/color_picker_item_list.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 14 | 15 | -------------------------------------------------------------------------------- /android/src/main/res/layout/fragment_bottom_custom_effect_dialog.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 20 | 21 | 33 | 34 | -------------------------------------------------------------------------------- /android/src/main/res/layout/row_editing_tools.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 21 | 22 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /android/src/main/res/layout/row_filter_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 20 | 21 | 34 | 35 | -------------------------------------------------------------------------------- /android/src/main/res/layout/row_sticker.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 18 | 19 | -------------------------------------------------------------------------------- /android/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | #06080B 8 | #000000 9 | #FFFFFF 10 | #F6D167 11 | #0066FF 12 | #AF593E 13 | #01A368 14 | #FF861F 15 | #ED0A3F 16 | #FF3F34 17 | #76D7EA 18 | #8359A3 19 | #FBE870 20 | #C5E17A 21 | #fff 22 | #99000000 23 | #047AFF 24 | #555558 25 | 26 | -------------------------------------------------------------------------------- /android/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 16dp 3 | 35dp 4 | 8dp 5 | 16dp 6 | 40dp 7 | 8 | -------------------------------------------------------------------------------- /android/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 15 | 16 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ['module:metro-react-native-babel-preset'], 3 | }; 4 | -------------------------------------------------------------------------------- /example/android/app/debug.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/debug.keystore -------------------------------------------------------------------------------- /example/android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | -------------------------------------------------------------------------------- /example/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /example/android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 17 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /example/android/app/src/main/assets/LUTs/LUT_64_Bagan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/LUTs/LUT_64_Bagan.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/LUTs/LUT_64_California.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/LUTs/LUT_64_California.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/LUTs/LUT_64_DaLat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/LUTs/LUT_64_DaLat.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/LUTs/LUT_64_SaiGon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/LUTs/LUT_64_SaiGon.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/AUTUMN_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/AUTUMN_1.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/AUTUMN_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/AUTUMN_10.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/AUTUMN_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/AUTUMN_11.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/AUTUMN_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/AUTUMN_12.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/AUTUMN_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/AUTUMN_13.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/AUTUMN_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/AUTUMN_14.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/AUTUMN_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/AUTUMN_15.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/AUTUMN_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/AUTUMN_16.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/AUTUMN_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/AUTUMN_17.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/AUTUMN_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/AUTUMN_18.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/AUTUMN_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/AUTUMN_2.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/AUTUMN_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/AUTUMN_3.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/AUTUMN_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/AUTUMN_4.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/AUTUMN_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/AUTUMN_5.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/AUTUMN_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/AUTUMN_6.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/AUTUMN_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/AUTUMN_7.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/AUTUMN_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/AUTUMN_8.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/AUTUMN_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/AUTUMN_9.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/LOL_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/LOL_1.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/LOL_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/LOL_10.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/LOL_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/LOL_11.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/LOL_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/LOL_12.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/LOL_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/LOL_13.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/LOL_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/LOL_14.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/LOL_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/LOL_15.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/LOL_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/LOL_16.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/LOL_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/LOL_17.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/LOL_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/LOL_18.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/LOL_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/LOL_19.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/LOL_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/LOL_2.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/LOL_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/LOL_3.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/LOL_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/LOL_4.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/LOL_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/LOL_5.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/LOL_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/LOL_6.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/LOL_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/LOL_7.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/LOL_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/LOL_8.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/LOL_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/LOL_9.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SPRING_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SPRING_1.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SPRING_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SPRING_2.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SPRING_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SPRING_3.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SPRING_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SPRING_4.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SPRING_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SPRING_5.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SPRING_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SPRING_6.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SUMMER_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SUMMER_1.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SUMMER_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SUMMER_10.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SUMMER_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SUMMER_11.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SUMMER_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SUMMER_12.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SUMMER_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SUMMER_13.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SUMMER_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SUMMER_14.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SUMMER_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SUMMER_15.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SUMMER_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SUMMER_16.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SUMMER_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SUMMER_17.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SUMMER_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SUMMER_18.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SUMMER_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SUMMER_19.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SUMMER_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SUMMER_2.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SUMMER_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SUMMER_20.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SUMMER_21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SUMMER_21.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SUMMER_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SUMMER_3.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SUMMER_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SUMMER_4.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SUMMER_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SUMMER_5.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SUMMER_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SUMMER_6.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SUMMER_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SUMMER_7.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SUMMER_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SUMMER_8.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/SUMMER_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/SUMMER_9.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/TEXT_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/TEXT_1.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/TEXT_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/TEXT_12.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/TEXT_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/TEXT_13.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/TEXT_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/TEXT_14.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/TEXT_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/TEXT_15.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/TEXT_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/TEXT_16.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/TEXT_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/TEXT_2.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/TEXT_25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/TEXT_25.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/TEXT_26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/TEXT_26.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/TEXT_27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/TEXT_27.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/TEXT_28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/TEXT_28.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/TEXT_29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/TEXT_29.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/TEXT_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/TEXT_3.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/TEXT_30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/TEXT_30.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/TEXT_31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/TEXT_31.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/TEXT_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/TEXT_32.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/TEXT_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/TEXT_7.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/TEXT_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/TEXT_8.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/Stickers/TEXT_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/Stickers/TEXT_9.png -------------------------------------------------------------------------------- /example/android/app/src/main/assets/fonts/NotoSerifDisplay-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/assets/fonts/NotoSerifDisplay-Medium.ttf -------------------------------------------------------------------------------- /example/android/app/src/main/java/com/example/reactnativephotoeditor/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.example.reactnativephotoeditor; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. This is used to schedule 9 | * rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "PhotoEditorExample"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /example/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | PhotoEditor Example 3 | 4 | -------------------------------------------------------------------------------- /example/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /example/android/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | ext { 5 | buildToolsVersion = "30.0.2" 6 | minSdkVersion = 19 7 | compileSdkVersion = 30 8 | targetSdkVersion = 30 9 | } 10 | repositories { 11 | google() 12 | jcenter() 13 | } 14 | dependencies { 15 | classpath('com.android.tools.build:gradle:4.2.2') 16 | 17 | // NOTE: Do not place your application dependencies here; they belong 18 | // in the individual module build.gradle files 19 | } 20 | } 21 | 22 | allprojects { 23 | repositories { 24 | mavenLocal() 25 | maven { 26 | // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm 27 | url("$rootDir/../node_modules/react-native/android") 28 | } 29 | maven { 30 | // Android JSC is installed from npm 31 | url("$rootDir/../node_modules/jsc-android/dist") 32 | } 33 | 34 | google() 35 | jcenter() 36 | maven { url 'https://www.jitpack.io' } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /example/android/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true 19 | 20 | android.useAndroidX=true 21 | android.enableJetifier=true 22 | FLIPPER_VERSION=0.54.0 23 | -------------------------------------------------------------------------------- /example/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /example/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /example/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'PhotoEditorExample' 2 | apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) 3 | include ':app' 4 | 5 | include ':picture_library' 6 | project(':picture_library').projectDir = new File(rootProject.projectDir, '../node_modules/@baronha/react-native-multiple-image-picker/picture_library') 7 | 8 | include ':reactnativephotoeditor' 9 | project(':reactnativephotoeditor').projectDir = new File(rootProject.projectDir, '../../android') 10 | -------------------------------------------------------------------------------- /example/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "PhotoEditorExample", 3 | "displayName": "PhotoEditor Example" 4 | } 5 | -------------------------------------------------------------------------------- /example/babel.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const pak = require('../package.json'); 3 | 4 | module.exports = { 5 | presets: ['module:metro-react-native-babel-preset'], 6 | plugins: [ 7 | [ 8 | 'module-resolver', 9 | { 10 | extensions: ['.tsx', '.ts', '.js', '.json'], 11 | alias: { 12 | [pak.name]: path.join(__dirname, '..', pak.source), 13 | }, 14 | }, 15 | ], 16 | ], 17 | }; 18 | -------------------------------------------------------------------------------- /example/index.tsx: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './src/screens'; 3 | import { name as appName } from './app.json'; 4 | 5 | AppRegistry.registerComponent(appName, () => App); 6 | -------------------------------------------------------------------------------- /example/ios/File.swift: -------------------------------------------------------------------------------- 1 | // 2 | // File.swift 3 | // PhotoEditorExample 4 | // 5 | 6 | import Foundation 7 | -------------------------------------------------------------------------------- /example/ios/LUTs.bundle/LUT_64_Bagan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/LUTs.bundle/LUT_64_Bagan.png -------------------------------------------------------------------------------- /example/ios/LUTs.bundle/LUT_64_California.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/LUTs.bundle/LUT_64_California.png -------------------------------------------------------------------------------- /example/ios/LUTs.bundle/LUT_64_SaiGon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/LUTs.bundle/LUT_64_SaiGon.png -------------------------------------------------------------------------------- /example/ios/LUTs.bundle/LUT_64_Tokyo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/LUTs.bundle/LUT_64_Tokyo.png -------------------------------------------------------------------------------- /example/ios/PhotoEditorExample-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // Use this file to import your target's public headers that you would like to expose to Swift. 3 | // 4 | -------------------------------------------------------------------------------- /example/ios/PhotoEditorExample.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /example/ios/PhotoEditorExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /example/ios/PhotoEditorExample.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /example/ios/PhotoEditorExample/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | #import 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (nonatomic, strong) UIWindow *window; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /example/ios/PhotoEditorExample/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "scale" : "2x", 6 | "size" : "20x20" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "scale" : "3x", 11 | "size" : "20x20" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "scale" : "2x", 16 | "size" : "29x29" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "scale" : "3x", 21 | "size" : "29x29" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "scale" : "2x", 26 | "size" : "40x40" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "scale" : "3x", 31 | "size" : "40x40" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "scale" : "2x", 36 | "size" : "60x60" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "scale" : "3x", 41 | "size" : "60x60" 42 | }, 43 | { 44 | "idiom" : "ios-marketing", 45 | "scale" : "1x", 46 | "size" : "1024x1024" 47 | } 48 | ], 49 | "info" : { 50 | "author" : "xcode", 51 | "version" : 1 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /example/ios/PhotoEditorExample/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /example/ios/PhotoEditorExample/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | UIAppFonts 6 | 7 | NotoSerifDisplay-Medium.ttf 8 | 9 | LSApplicationCategoryType 10 | 11 | CFBundleLocalizations 12 | 13 | en 14 | 15 | NSPhotoLibraryUsageDescription 16 | Photo Library Usage Description 17 | CFBundleDevelopmentRegion 18 | en 19 | CFBundleDisplayName 20 | PhotoEditor Example 21 | CFBundleExecutable 22 | $(EXECUTABLE_NAME) 23 | CFBundleIdentifier 24 | $(PRODUCT_BUNDLE_IDENTIFIER) 25 | CFBundleInfoDictionaryVersion 26 | 6.0 27 | CFBundleName 28 | $(PRODUCT_NAME) 29 | CFBundlePackageType 30 | APPL 31 | CFBundleShortVersionString 32 | 1.0 33 | CFBundleSignature 34 | ???? 35 | CFBundleVersion 36 | 1 37 | LSRequiresIPhoneOS 38 | 39 | NSAppTransportSecurity 40 | 41 | NSAllowsArbitraryLoads 42 | 43 | NSExceptionDomains 44 | 45 | localhost 46 | 47 | NSExceptionAllowsInsecureHTTPLoads 48 | 49 | 50 | 51 | 52 | NSLocationWhenInUseUsageDescription 53 | 54 | UILaunchStoryboardName 55 | LaunchScreen 56 | UIRequiredDeviceCapabilities 57 | 58 | armv7 59 | 60 | UISupportedInterfaceOrientations 61 | 62 | UIInterfaceOrientationPortrait 63 | UIInterfaceOrientationLandscapeLeft 64 | UIInterfaceOrientationLandscapeRight 65 | 66 | UIViewControllerBasedStatusBarAppearance 67 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /example/ios/PhotoEditorExample/main.m: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | #import 9 | 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 | -------------------------------------------------------------------------------- /example/ios/Podfile: -------------------------------------------------------------------------------- 1 | require_relative '../node_modules/react-native/scripts/react_native_pods' 2 | require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' 3 | 4 | platform :ios, '12.0' 5 | use_frameworks! :linkage => :static 6 | 7 | target 'PhotoEditorExample' do 8 | config = use_native_modules! 9 | 10 | use_react_native!(:path => config["reactNativePath"]) 11 | 12 | pod 'react-native-photo-editor', :path => '../..' 13 | 14 | # Enables Flipper. 15 | # 16 | # Note that if you have use_frameworks! enabled, Flipper will not work and 17 | # you should disable these next few lines. 18 | # use_flipper!({ 'Flipper' => '0.80.0' }) 19 | # post_install do |installer| 20 | # flipper_post_install(installer) 21 | # end 22 | end 23 | -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/AUTUMN_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/AUTUMN_1.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/AUTUMN_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/AUTUMN_10.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/AUTUMN_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/AUTUMN_11.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/AUTUMN_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/AUTUMN_12.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/AUTUMN_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/AUTUMN_13.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/AUTUMN_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/AUTUMN_14.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/AUTUMN_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/AUTUMN_15.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/AUTUMN_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/AUTUMN_16.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/AUTUMN_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/AUTUMN_17.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/AUTUMN_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/AUTUMN_18.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/AUTUMN_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/AUTUMN_2.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/AUTUMN_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/AUTUMN_3.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/AUTUMN_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/AUTUMN_4.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/AUTUMN_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/AUTUMN_5.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/AUTUMN_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/AUTUMN_6.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/AUTUMN_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/AUTUMN_7.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/AUTUMN_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/AUTUMN_8.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/AUTUMN_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/AUTUMN_9.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/LOL_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/LOL_1.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/LOL_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/LOL_10.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/LOL_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/LOL_11.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/LOL_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/LOL_12.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/LOL_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/LOL_13.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/LOL_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/LOL_14.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/LOL_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/LOL_15.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/LOL_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/LOL_16.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/LOL_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/LOL_17.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/LOL_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/LOL_18.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/LOL_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/LOL_19.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/LOL_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/LOL_2.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/LOL_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/LOL_3.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/LOL_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/LOL_4.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/LOL_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/LOL_5.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/LOL_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/LOL_6.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/LOL_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/LOL_7.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/LOL_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/LOL_8.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/LOL_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/LOL_9.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SPRING_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SPRING_1.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SPRING_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SPRING_2.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SPRING_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SPRING_3.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SPRING_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SPRING_4.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SPRING_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SPRING_5.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SPRING_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SPRING_6.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SUMMER_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SUMMER_1.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SUMMER_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SUMMER_10.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SUMMER_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SUMMER_11.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SUMMER_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SUMMER_12.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SUMMER_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SUMMER_13.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SUMMER_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SUMMER_14.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SUMMER_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SUMMER_15.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SUMMER_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SUMMER_16.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SUMMER_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SUMMER_17.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SUMMER_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SUMMER_18.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SUMMER_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SUMMER_19.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SUMMER_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SUMMER_2.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SUMMER_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SUMMER_20.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SUMMER_21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SUMMER_21.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SUMMER_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SUMMER_3.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SUMMER_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SUMMER_4.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SUMMER_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SUMMER_5.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SUMMER_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SUMMER_6.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SUMMER_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SUMMER_7.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SUMMER_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SUMMER_8.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/SUMMER_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/SUMMER_9.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/TEXT_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/TEXT_1.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/TEXT_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/TEXT_12.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/TEXT_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/TEXT_13.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/TEXT_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/TEXT_14.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/TEXT_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/TEXT_15.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/TEXT_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/TEXT_16.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/TEXT_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/TEXT_2.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/TEXT_25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/TEXT_25.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/TEXT_26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/TEXT_26.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/TEXT_27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/TEXT_27.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/TEXT_28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/TEXT_28.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/TEXT_29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/TEXT_29.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/TEXT_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/TEXT_3.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/TEXT_30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/TEXT_30.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/TEXT_31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/TEXT_31.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/TEXT_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/TEXT_32.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/TEXT_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/TEXT_7.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/TEXT_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/TEXT_8.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/TEXT_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/TEXT_9.png -------------------------------------------------------------------------------- /example/ios/Stickers.bundle/a_pety_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/ios/Stickers.bundle/a_pety_icon.png -------------------------------------------------------------------------------- /example/metro.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const blacklist = require('metro-config/src/defaults/blacklist'); 3 | const escape = require('escape-string-regexp'); 4 | const pak = require('../package.json'); 5 | 6 | const root = path.resolve(__dirname, '..'); 7 | 8 | const modules = Object.keys({ 9 | ...pak.peerDependencies, 10 | }); 11 | 12 | module.exports = { 13 | projectRoot: __dirname, 14 | watchFolders: [root], 15 | 16 | // We need to make sure that only one version is loaded for peerDependencies 17 | // So we blacklist them at the root, and alias them to the versions in example's node_modules 18 | resolver: { 19 | blacklistRE: blacklist( 20 | modules.map( 21 | (m) => 22 | new RegExp(`^${escape(path.join(root, 'node_modules', m))}\\/.*$`) 23 | ) 24 | ), 25 | 26 | extraNodeModules: modules.reduce((acc, name) => { 27 | acc[name] = path.join(__dirname, 'node_modules', name); 28 | return acc; 29 | }, {}), 30 | }, 31 | 32 | transformer: { 33 | getTransformOptions: async () => ({ 34 | transform: { 35 | experimentalImportSupport: false, 36 | inlineRequires: true, 37 | }, 38 | }), 39 | }, 40 | }; 41 | -------------------------------------------------------------------------------- /example/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-native-photo-editor-example", 3 | "description": "Example app for react-native-photo-editor", 4 | "version": "0.0.1", 5 | "private": true, 6 | "scripts": { 7 | "android": "react-native run-android", 8 | "ios": "react-native run-ios", 9 | "start": "react-native start" 10 | }, 11 | "dependencies": { 12 | "@baronha/react-native-multiple-image-picker": "^0.4.6", 13 | "@react-native-seoul/masonry-list": "^1.1.1", 14 | "@react-navigation/native": "^6.0.6", 15 | "@react-navigation/native-stack": "^6.2.5", 16 | "react": "16.13.1", 17 | "react-native": "0.63.4", 18 | "react-native-safe-area-context": "^3.3.2", 19 | "react-native-screens": "^3.8.0", 20 | "react-native-svg": "^12.1.0", 21 | "react-native-svg-transformer": "^0.14.3" 22 | }, 23 | "devDependencies": { 24 | "@babel/core": "^7.12.10", 25 | "@babel/runtime": "^7.12.5", 26 | "babel-plugin-module-resolver": "^4.0.0", 27 | "metro-react-native-babel-preset": "^0.64.0" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /example/src/assets/data/imageURLs.json: -------------------------------------------------------------------------------- 1 | [] 2 | -------------------------------------------------------------------------------- /example/src/assets/data/index.js: -------------------------------------------------------------------------------- 1 | import imageURLs from './imageURLs.json'; 2 | import stickers from './stickers.json'; 3 | 4 | export { imageURLs, stickers }; 5 | -------------------------------------------------------------------------------- /example/src/assets/data/stickers.json: -------------------------------------------------------------------------------- 1 | [ 2 | "https://cdn-icons-png.flaticon.com/512/5272/5272912.png", 3 | "https://cdn-icons-png.flaticon.com/512/5272/5272913.png", 4 | "https://cdn-icons-png.flaticon.com/512/5272/5272916.png", 5 | "https://cdn-icons-png.flaticon.com/512/5272/5272918.png", 6 | "https://cdn-icons-png.flaticon.com/512/5272/5272920.png", 7 | "https://cdn-icons-png.flaticon.com/512/5272/5272923.png", 8 | "https://cdn-icons-png.flaticon.com/512/5272/5272925.png", 9 | "https://cdn-icons-png.flaticon.com/512/5272/5272926.png", 10 | "https://cdn-icons-png.flaticon.com/512/5272/5272929.png", 11 | "https://cdn-icons-png.flaticon.com/512/5272/5272931.png", 12 | "https://cdn-icons-png.flaticon.com/512/5272/5272932.png", 13 | "https://cdn-icons-png.flaticon.com/512/5272/5272934.png", 14 | "https://cdn-icons-png.flaticon.com/512/5272/5272936.png", 15 | "https://cdn-icons-png.flaticon.com/512/5272/5272939.png", 16 | "https://cdn-icons-png.flaticon.com/512/5272/5272940.png", 17 | "https://cdn-icons-png.flaticon.com/512/5272/5272942.png", 18 | "https://cdn-icons-png.flaticon.com/512/5272/5272944.png", 19 | "https://cdn-icons-png.flaticon.com/512/5272/5272948.png", 20 | "https://cdn-icons-png.flaticon.com/512/5272/5272950.png" 21 | ] 22 | -------------------------------------------------------------------------------- /example/src/assets/fonts/NotoSerifDisplay-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/src/assets/fonts/NotoSerifDisplay-Medium.ttf -------------------------------------------------------------------------------- /example/src/assets/icons/index.js: -------------------------------------------------------------------------------- 1 | const icons = { 2 | tag: require('./tag-user.png'), 3 | }; 4 | 5 | export default icons; 6 | -------------------------------------------------------------------------------- /example/src/assets/icons/tag-user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/src/assets/icons/tag-user.png -------------------------------------------------------------------------------- /example/src/assets/images/adam-creator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/src/assets/images/adam-creator.png -------------------------------------------------------------------------------- /example/src/assets/images/david.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/example/src/assets/images/david.png -------------------------------------------------------------------------------- /example/src/assets/images/index.js: -------------------------------------------------------------------------------- 1 | const images = { 2 | david: require('./david.png'), 3 | adamCreator: require('./adam-creator.png'), 4 | }; 5 | 6 | export default images; 7 | -------------------------------------------------------------------------------- /example/src/components/Image.js: -------------------------------------------------------------------------------- 1 | import React, { useState } from 'react'; 2 | import { 3 | TouchableOpacity, 4 | Image as RNImage, 5 | StyleSheet, 6 | ViewPropTypes, 7 | } from 'react-native'; 8 | import PhotoEditor from '@baronha/react-native-photo-editor'; 9 | import PropTypes from 'prop-types'; 10 | 11 | import { stickers } from '../assets/data'; 12 | 13 | const Image = (props) => { 14 | const { url, style: imageStyle } = props; 15 | const [path, setPath] = useState(url); 16 | 17 | const onEdit = async () => { 18 | try { 19 | const result = await PhotoEditor.open({ 20 | path, 21 | stickers, 22 | }); 23 | console.log('resultEdit: ', result); 24 | setPath(result); 25 | } catch (e) { 26 | console.log('error', e); 27 | } finally { 28 | console.log('finally'); 29 | } 30 | }; 31 | 32 | return ( 33 | 34 | 35 | 36 | ); 37 | }; 38 | 39 | export default Image; 40 | 41 | Image.propTypes = { 42 | url: PropTypes.string, 43 | style: ViewPropTypes.style, 44 | }; 45 | 46 | const style = StyleSheet.create({ 47 | image: { 48 | ...StyleSheet.absoluteFill, 49 | }, 50 | }); 51 | -------------------------------------------------------------------------------- /example/src/components/index.js: -------------------------------------------------------------------------------- 1 | import Image from './Image'; 2 | 3 | export { Image }; 4 | -------------------------------------------------------------------------------- /example/src/screens/Home/components/button-group.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { View, Text, StyleSheet, TouchableOpacity, Image } from 'react-native'; 3 | import colors from '../../../themes/colors'; 4 | import sizes from '../../../themes/sizes'; 5 | import icons from '../../../assets/icons'; 6 | 7 | const ButtonGroup = () => { 8 | return ( 9 | 10 | 11 | Message 12 | 13 | 14 | 15 | 16 | 17 | ); 18 | }; 19 | 20 | export default ButtonGroup; 21 | 22 | const BUTTON_HEIGHT = 40; 23 | const ICON_SIZE = 24; 24 | 25 | const style = StyleSheet.create({ 26 | container: { 27 | flexDirection: 'row', 28 | paddingHorizontal: sizes.spaceMd, 29 | paddingBottom: sizes.spaceLg, 30 | }, 31 | messageButton: { 32 | flex: 1, 33 | backgroundColor: colors.white, 34 | alignItems: 'center', 35 | justifyContent: 'center', 36 | height: BUTTON_HEIGHT, 37 | }, 38 | messageText: { 39 | paddingHorizontal: sizes.spaceUpperTiny, 40 | fontWeight: 'bold', 41 | fontFamily: 'Avenir', 42 | fontSize: sizes.fontLg, 43 | textAlign: 'center', 44 | }, 45 | button: { 46 | alignItems: 'center', 47 | justifyContent: 'center', 48 | backgroundColor: colors.dark2, 49 | height: BUTTON_HEIGHT, 50 | width: BUTTON_HEIGHT, 51 | // height: 52 | }, 53 | icon: { 54 | width: ICON_SIZE, 55 | height: ICON_SIZE, 56 | }, 57 | }); 58 | -------------------------------------------------------------------------------- /example/src/screens/Home/components/header.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { View, Text, StyleSheet, Image as RNImage } from 'react-native'; 3 | 4 | import { Image } from '../../../components'; 5 | import colors from '../../../themes/colors'; 6 | import sizes from '../../../themes/sizes'; 7 | import images from '../../../assets/images'; 8 | 9 | const AVATAR_URL = 10 | 'https://raw.githubusercontent.com/baronha/react-native-photo-editor/dev/example/src/assets/images/david.png'; 11 | 12 | const Header = () => { 13 | return ( 14 | 15 | 16 | 17 | 18 | 19 | 20 | Donqujote 21 | @davidchimbe 22 | 23 | Mọi chuyện sẽ bớt quan trọng hơn khi bạn mắc ỉa. Ok nha fen tui! 24 | 25 | 26 | 27 | ); 28 | }; 29 | 30 | export default Header; 31 | 32 | const AVATAR_SIZE = sizes.width / 3; 33 | 34 | const style = StyleSheet.create({ 35 | container: { 36 | padding: sizes.spaceMd, 37 | flexDirection: 'row', 38 | alignItems: 'center', 39 | }, 40 | avatar: { 41 | width: AVATAR_SIZE, 42 | height: AVATAR_SIZE, 43 | }, 44 | overlayAvatar: { 45 | width: AVATAR_SIZE / 1.4, 46 | height: AVATAR_SIZE / 1.4, 47 | position: 'absolute', 48 | backgroundColor: colors.white32, 49 | borderRadius: sizes.width, 50 | borderWidth: 1.5, 51 | borderColor: colors.white, 52 | }, 53 | avatarView: { 54 | // backgroundColor: colors.white, 55 | borderRadius: sizes.width, 56 | // borderWidth: 2.5, 57 | // borderColor: colors.white, 58 | justifyContent: 'center', 59 | alignItems: 'center', 60 | }, 61 | info: { 62 | flex: 1, 63 | paddingLeft: sizes.spaceSm, 64 | }, 65 | name: { 66 | fontSize: sizes.fontUpper, 67 | color: colors.white, 68 | fontFamily: 'NotoSerifDisplay-Medium', 69 | fontWeight: 'bold', 70 | }, 71 | userName: { 72 | color: colors.white, 73 | fontFamily: 'Avenir', 74 | paddingBottom: sizes.spaceSm, 75 | fontSize: sizes.fontMd, 76 | }, 77 | description: { 78 | color: colors.white92, 79 | fontSize: sizes.fontMd, 80 | }, 81 | }); 82 | -------------------------------------------------------------------------------- /example/src/screens/Home/components/index.js: -------------------------------------------------------------------------------- 1 | import Header from './header'; 2 | import ButtonGroup from './button-group'; 3 | 4 | export { Header, ButtonGroup }; 5 | -------------------------------------------------------------------------------- /example/src/screens/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { NavigationContainer } from '@react-navigation/native'; 3 | import { createNativeStackNavigator } from '@react-navigation/native-stack'; 4 | 5 | import Home from './Home'; 6 | export const routes = { 7 | Home: { 8 | name: 'Home', 9 | component: Home, 10 | }, 11 | }; 12 | 13 | const { Navigator, Screen } = createNativeStackNavigator(); 14 | console.disableYellowBox = true; 15 | 16 | const App = () => { 17 | return ( 18 | 19 | 23 | 24 | 25 | 26 | ); 27 | }; 28 | 29 | export default App; 30 | -------------------------------------------------------------------------------- /example/src/themes/colors.js: -------------------------------------------------------------------------------- 1 | const colors = { 2 | dark: '#1E1B1C', 3 | dark2: '#444444', 4 | black: '#000000', 5 | white: '#FFFFFF', 6 | white92: '#FFFFFF92', 7 | white64: '#FFFFFF64', 8 | white32: '#FFFFFF32', 9 | }; 10 | 11 | export default colors; 12 | -------------------------------------------------------------------------------- /example/src/themes/sizes.js: -------------------------------------------------------------------------------- 1 | import { Dimensions } from 'react-native'; 2 | 3 | const { width, height } = Dimensions.get('window'); 4 | 5 | const sizes = { 6 | width, 7 | height, 8 | //space 9 | spaceSupperLg: 64, 10 | spaceUpperLg: 42, 11 | spaceLg: 32, 12 | spaceMd: 24, 13 | spaceSm: 16, 14 | spaceTiny: 12, 15 | spaceUpperTiny: 8, 16 | //font size 17 | fontMd: 14, 18 | fontLg: 20, 19 | fontUpper: 32, 20 | }; 21 | 22 | export default sizes; 23 | -------------------------------------------------------------------------------- /ios/FilterColorCube/Library/CIImage+.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2021 Hiroshi Kimura(Muukii) 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | 22 | import CoreImage 23 | 24 | extension CIImage { 25 | 26 | public func removingExtentOffset() -> CIImage { 27 | transformed( 28 | by: .init( 29 | translationX: -extent.origin.x, 30 | y: -extent.origin.y 31 | )) 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /ios/FilterColorCube/Library/EngineSanitizer.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2018 Muukii 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | 22 | import Foundation 23 | import CoreGraphics 24 | 25 | public enum EngineRuntimeError: Swift.Error { 26 | case failedToCreateResizedCGImage(sourceImage: CGImage, maxPixelSize: CGFloat) 27 | case failedToCreateCGContext(sourceImage: CGImage) 28 | case failedToRenderCGImageForCrop(sourceImage: CGImage) 29 | } 30 | 31 | public final class EngineSanitizer { 32 | 33 | public static let global = EngineSanitizer() 34 | 35 | public var onDidFindRuntimeError: (EngineRuntimeError) -> Void = { _ in } 36 | 37 | public init() { 38 | 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /ios/FilterColorCube/Library/InternalUtils.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2018 Muukii 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | 22 | import UIKit 23 | 24 | public enum RequireError: Swift.Error { 25 | case missingRequiredValue(failureDescription: String?, file: StaticString, function: StaticString, line: UInt) 26 | } 27 | 28 | extension Optional { 29 | 30 | @inline(__always) 31 | func require(_ failureDescription: String? = nil, file: StaticString = #file, function: StaticString = #function, line: UInt = #line) throws -> Wrapped { 32 | switch self { 33 | case .none: 34 | throw RequireError.missingRequiredValue(failureDescription: failureDescription, file: file, function: function, line: line) 35 | case .some(let value): 36 | return value 37 | } 38 | } 39 | 40 | @inline(__always) 41 | func unsafeRequire(_ failureDescription: String? = nil, file: StaticString = #file, function: StaticString = #function, line: UInt = #line) -> Wrapped { 42 | switch self { 43 | case .none: 44 | fatalError("\(RequireError.missingRequiredValue(failureDescription: failureDescription, file: file, function: function, line: line))") 45 | case .some(let value): 46 | return value 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /ios/FilterColorCube/Library/Optional+.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2021 Hiroshi Kimura(Muukii) 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | 22 | extension Optional { 23 | internal func unwrap( 24 | orThrow debugDescription: String? = nil, 25 | file: StaticString = #file, 26 | function: StaticString = #function, 27 | line: UInt = #line 28 | ) throws -> Wrapped { 29 | if let value = self { 30 | return value 31 | } 32 | throw Optional.BrightroomUnwrappedNilError( 33 | debugDescription, 34 | file: file, 35 | function: function, 36 | line: line 37 | ) 38 | } 39 | 40 | public struct BrightroomUnwrappedNilError: Swift.Error, CustomDebugStringConvertible { 41 | let file: StaticString 42 | let function: StaticString 43 | let line: UInt 44 | 45 | // MARK: Public 46 | 47 | public init( 48 | _ debugDescription: String? = nil, 49 | file: StaticString = #file, 50 | function: StaticString = #function, 51 | line: UInt = #line 52 | ) { 53 | self.debugDescription = debugDescription ?? "Failed to unwrap on \(file):\(function):\(line)" 54 | self.file = file 55 | self.function = function 56 | self.line = line 57 | } 58 | 59 | // MARK: CustomDebugStringConvertible 60 | 61 | public let debugDescription: String 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /ios/FilterColorCube/ParameterRange.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2018 Muukii 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | 22 | import UIKit 23 | 24 | public struct ParameterRange { 25 | 26 | public let min: T 27 | public let max: T 28 | 29 | public init(min: T, max: T) { 30 | self.min = min 31 | self.max = max 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /ios/PhotoEditor-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | -------------------------------------------------------------------------------- /ios/PhotoEditor.m: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface RCT_EXTERN_MODULE(PhotoEditor, NSObject) 4 | 5 | RCT_EXTERN_METHOD(open:(NSDictionary *)options 6 | withResolver:(RCTPromiseResolveBlock)resolve 7 | withRejecter:(RCTPromiseRejectBlock)reject) 8 | 9 | @end 10 | -------------------------------------------------------------------------------- /ios/SnapKit/ConstraintConfig.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | public typealias ConstraintInterfaceLayoutDirection = UIUserInterfaceLayoutDirection 27 | #else 28 | import AppKit 29 | public typealias ConstraintInterfaceLayoutDirection = NSUserInterfaceLayoutDirection 30 | #endif 31 | 32 | 33 | public struct ConstraintConfig { 34 | 35 | public static var interfaceLayoutDirection: ConstraintInterfaceLayoutDirection = .leftToRight 36 | 37 | } 38 | -------------------------------------------------------------------------------- /ios/SnapKit/ConstraintDirectionalInsetTarget.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | #else 27 | import AppKit 28 | #endif 29 | 30 | #if os(iOS) || os(tvOS) 31 | public protocol ConstraintDirectionalInsetTarget: ConstraintConstantTarget { 32 | } 33 | 34 | @available(iOS 11.0, tvOS 11.0, *) 35 | extension ConstraintDirectionalInsets: ConstraintDirectionalInsetTarget { 36 | } 37 | 38 | extension ConstraintDirectionalInsetTarget { 39 | 40 | @available(iOS 11.0, tvOS 11.0, *) 41 | internal var constraintDirectionalInsetTargetValue: ConstraintDirectionalInsets { 42 | if let amount = self as? ConstraintDirectionalInsets { 43 | return amount 44 | } else { 45 | return ConstraintDirectionalInsets(top: 0, leading: 0, bottom: 0, trailing: 0) 46 | } 47 | } 48 | } 49 | #endif 50 | -------------------------------------------------------------------------------- /ios/SnapKit/ConstraintDirectionalInsets.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | #else 27 | import AppKit 28 | #endif 29 | 30 | 31 | #if os(iOS) || os(tvOS) 32 | @available(iOS 11.0, tvOS 11.0, *) 33 | public typealias ConstraintDirectionalInsets = NSDirectionalEdgeInsets 34 | #endif 35 | -------------------------------------------------------------------------------- /ios/SnapKit/ConstraintInsets.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | #else 27 | import AppKit 28 | #endif 29 | 30 | 31 | #if os(iOS) || os(tvOS) 32 | public typealias ConstraintInsets = UIEdgeInsets 33 | #else 34 | public typealias ConstraintInsets = NSEdgeInsets 35 | #endif 36 | -------------------------------------------------------------------------------- /ios/SnapKit/ConstraintItem.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | #else 27 | import AppKit 28 | #endif 29 | 30 | 31 | public final class ConstraintItem { 32 | 33 | internal weak var target: AnyObject? 34 | internal let attributes: ConstraintAttributes 35 | 36 | internal init(target: AnyObject?, attributes: ConstraintAttributes) { 37 | self.target = target 38 | self.attributes = attributes 39 | } 40 | 41 | internal var layoutConstraintItem: LayoutConstraintItem? { 42 | return self.target as? LayoutConstraintItem 43 | } 44 | 45 | } 46 | 47 | public func ==(lhs: ConstraintItem, rhs: ConstraintItem) -> Bool { 48 | // pointer equality 49 | guard lhs !== rhs else { 50 | return true 51 | } 52 | 53 | // must both have valid targets and identical attributes 54 | guard let target1 = lhs.target, 55 | let target2 = rhs.target, 56 | target1 === target2 && lhs.attributes == rhs.attributes else { 57 | return false 58 | } 59 | 60 | return true 61 | } 62 | -------------------------------------------------------------------------------- /ios/SnapKit/ConstraintLayoutGuide+Extensions.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | #endif 27 | 28 | 29 | @available(iOS 9.0, OSX 10.11, *) 30 | public extension ConstraintLayoutGuide { 31 | 32 | var snp: ConstraintLayoutGuideDSL { 33 | return ConstraintLayoutGuideDSL(guide: self) 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /ios/SnapKit/ConstraintLayoutGuide.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | #else 27 | import AppKit 28 | #endif 29 | 30 | 31 | #if os(iOS) || os(tvOS) 32 | @available(iOS 9.0, *) 33 | public typealias ConstraintLayoutGuide = UILayoutGuide 34 | #else 35 | @available(OSX 10.11, *) 36 | public typealias ConstraintLayoutGuide = NSLayoutGuide 37 | #endif 38 | -------------------------------------------------------------------------------- /ios/SnapKit/ConstraintLayoutSupport.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | #else 27 | import AppKit 28 | #endif 29 | 30 | 31 | #if os(iOS) || os(tvOS) 32 | @available(iOS 8.0, *) 33 | public typealias ConstraintLayoutSupport = UILayoutSupport 34 | #else 35 | public class ConstraintLayoutSupport {} 36 | #endif 37 | -------------------------------------------------------------------------------- /ios/SnapKit/ConstraintLayoutSupportDSL.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | #else 27 | import AppKit 28 | #endif 29 | 30 | 31 | @available(iOS 8.0, *) 32 | public struct ConstraintLayoutSupportDSL: ConstraintDSL { 33 | 34 | public var target: AnyObject? { 35 | return self.support 36 | } 37 | 38 | internal let support: ConstraintLayoutSupport 39 | 40 | internal init(support: ConstraintLayoutSupport) { 41 | self.support = support 42 | 43 | } 44 | 45 | public var top: ConstraintItem { 46 | return ConstraintItem(target: self.target, attributes: ConstraintAttributes.top) 47 | } 48 | 49 | public var bottom: ConstraintItem { 50 | return ConstraintItem(target: self.target, attributes: ConstraintAttributes.bottom) 51 | } 52 | 53 | public var height: ConstraintItem { 54 | return ConstraintItem(target: self.target, attributes: ConstraintAttributes.height) 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /ios/SnapKit/ConstraintMakerFinalizable.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | #else 27 | import AppKit 28 | #endif 29 | 30 | 31 | public class ConstraintMakerFinalizable { 32 | 33 | internal let description: ConstraintDescription 34 | 35 | internal init(_ description: ConstraintDescription) { 36 | self.description = description 37 | } 38 | 39 | @discardableResult 40 | public func labeled(_ label: String) -> ConstraintMakerFinalizable { 41 | self.description.label = label 42 | return self 43 | } 44 | 45 | public var constraint: Constraint { 46 | return self.description.constraint! 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /ios/SnapKit/ConstraintMultiplierTarget.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | #else 27 | import AppKit 28 | #endif 29 | 30 | 31 | public protocol ConstraintMultiplierTarget { 32 | 33 | var constraintMultiplierTargetValue: CGFloat { get } 34 | 35 | } 36 | 37 | extension Int: ConstraintMultiplierTarget { 38 | 39 | public var constraintMultiplierTargetValue: CGFloat { 40 | return CGFloat(self) 41 | } 42 | 43 | } 44 | 45 | extension UInt: ConstraintMultiplierTarget { 46 | 47 | public var constraintMultiplierTargetValue: CGFloat { 48 | return CGFloat(self) 49 | } 50 | 51 | } 52 | 53 | extension Float: ConstraintMultiplierTarget { 54 | 55 | public var constraintMultiplierTargetValue: CGFloat { 56 | return CGFloat(self) 57 | } 58 | 59 | } 60 | 61 | extension Double: ConstraintMultiplierTarget { 62 | 63 | public var constraintMultiplierTargetValue: CGFloat { 64 | return CGFloat(self) 65 | } 66 | 67 | } 68 | 69 | extension CGFloat: ConstraintMultiplierTarget { 70 | 71 | public var constraintMultiplierTargetValue: CGFloat { 72 | return self 73 | } 74 | 75 | } 76 | -------------------------------------------------------------------------------- /ios/SnapKit/ConstraintRelatableTarget.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | #else 27 | import AppKit 28 | #endif 29 | 30 | 31 | public protocol ConstraintRelatableTarget { 32 | } 33 | 34 | extension Int: ConstraintRelatableTarget { 35 | } 36 | 37 | extension UInt: ConstraintRelatableTarget { 38 | } 39 | 40 | extension Float: ConstraintRelatableTarget { 41 | } 42 | 43 | extension Double: ConstraintRelatableTarget { 44 | } 45 | 46 | extension CGFloat: ConstraintRelatableTarget { 47 | } 48 | 49 | extension CGSize: ConstraintRelatableTarget { 50 | } 51 | 52 | extension CGPoint: ConstraintRelatableTarget { 53 | } 54 | 55 | extension ConstraintInsets: ConstraintRelatableTarget { 56 | } 57 | 58 | #if os(iOS) || os(tvOS) 59 | @available(iOS 11.0, tvOS 11.0, *) 60 | extension ConstraintDirectionalInsets: ConstraintRelatableTarget { 61 | } 62 | #endif 63 | 64 | extension ConstraintItem: ConstraintRelatableTarget { 65 | } 66 | 67 | extension ConstraintView: ConstraintRelatableTarget { 68 | } 69 | 70 | @available(iOS 9.0, OSX 10.11, *) 71 | extension ConstraintLayoutGuide: ConstraintRelatableTarget { 72 | } 73 | -------------------------------------------------------------------------------- /ios/SnapKit/ConstraintRelation.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | #else 27 | import AppKit 28 | #endif 29 | 30 | 31 | internal enum ConstraintRelation : Int { 32 | case equal = 1 33 | case lessThanOrEqual 34 | case greaterThanOrEqual 35 | 36 | internal var layoutRelation: LayoutRelation { 37 | get { 38 | switch(self) { 39 | case .equal: 40 | return .equal 41 | case .lessThanOrEqual: 42 | return .lessThanOrEqual 43 | case .greaterThanOrEqual: 44 | return .greaterThanOrEqual 45 | } 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /ios/SnapKit/ConstraintView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | #else 27 | import AppKit 28 | #endif 29 | 30 | 31 | #if os(iOS) || os(tvOS) 32 | public typealias ConstraintView = UIView 33 | #else 34 | public typealias ConstraintView = NSView 35 | #endif 36 | -------------------------------------------------------------------------------- /ios/SnapKit/SnapKit.h: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #import 25 | 26 | FOUNDATION_EXPORT double SnapKitVersionNumber; 27 | FOUNDATION_EXPORT const unsigned char SnapKitVersionString[]; -------------------------------------------------------------------------------- /ios/SnapKit/Typealiases.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | import Foundation 25 | 26 | #if os(iOS) || os(tvOS) 27 | import UIKit 28 | #if swift(>=4.2) 29 | typealias LayoutRelation = NSLayoutConstraint.Relation 30 | typealias LayoutAttribute = NSLayoutConstraint.Attribute 31 | #else 32 | typealias LayoutRelation = NSLayoutRelation 33 | typealias LayoutAttribute = NSLayoutAttribute 34 | #endif 35 | typealias LayoutPriority = UILayoutPriority 36 | #else 37 | import AppKit 38 | typealias LayoutRelation = NSLayoutConstraint.Relation 39 | typealias LayoutAttribute = NSLayoutConstraint.Attribute 40 | typealias LayoutPriority = NSLayoutConstraint.Priority 41 | #endif 42 | 43 | -------------------------------------------------------------------------------- /ios/SnapKit/UILayoutSupport+Extensions.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | #endif 27 | 28 | 29 | @available(iOS 8.0, *) 30 | public extension ConstraintLayoutSupport { 31 | 32 | var snp: ConstraintLayoutSupportDSL { 33 | return ConstraintLayoutSupportDSL(support: self) 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /ios/Sticker/StickerCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // StickerCell.swift 3 | // react-native-photo-editor 4 | // 5 | // Created by Donquijote on 23/10/2021. 6 | // 7 | 8 | import UIKit 9 | 10 | class StickerCell: UICollectionViewCell { 11 | 12 | var imageView: UIImageView! 13 | 14 | override init(frame: CGRect) { 15 | super.init(frame: frame) 16 | 17 | self.imageView = UIImageView() 18 | self.imageView.contentMode = .scaleAspectFit 19 | self.contentView.addSubview(self.imageView) 20 | self.imageView.snp.makeConstraints { (make) in 21 | make.edges.equalTo(self.contentView) 22 | } 23 | } 24 | 25 | required init?(coder: NSCoder) { 26 | fatalError("init(coder:) has not been implemented") 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | ----- 4 | ## [1.0.3](https://github.com/longitachi/ZLImageEditor/releases/tag/1.0.3) (2021-08-11) 5 | ### Add: 6 | * Fix image orientation before image. 7 | * Optimize image compression method. 8 | 9 | ----- 10 | ## [1.0.2](https://github.com/longitachi/ZLImageEditor/releases/tag/1.0.2) (2021-06-07) 11 | ### Add: 12 | * Compress the image after edit. 13 | * Not generate a new image if there is no operation. 14 | 15 | ----- 16 | ## [1.0.1](https://github.com/longitachi/ZLImageEditor/releases/tag/1.0.1) (2020-12-14) 17 | ### Fix: 18 | * UI frame was wrong if enter clip interface from landscape. 19 | 20 | ----- 21 | ## [1.0.0](https://github.com/longitachi/ZLImageEditor/releases/tag/1.0.0) (2020-11-23) 22 | ### Add: 23 | * First release. 24 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 long 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/Extensions/CGFloat+ZLImageEditor.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CGFloat+ZLImageEditor.swift 3 | // ZLImageEditor 4 | // 5 | // Created by long on 2020/11/10. 6 | // 7 | // Copyright (c) 2020 Long Zhang <495181165@qq.com> 8 | // 9 | // Permission is hereby granted, free of charge, to any person obtaining a copy 10 | // of this software and associated documentation files (the "Software"), to deal 11 | // in the Software without restriction, including without limitation the rights 12 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | // copies of the Software, and to permit persons to whom the Software is 14 | // furnished to do so, subject to the following conditions: 15 | // 16 | // The above copyright notice and this permission notice shall be included in 17 | // all copies or substantial portions of the Software. 18 | // 19 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 25 | // THE SOFTWARE. 26 | 27 | import AVKit 28 | 29 | extension CGFloat { 30 | 31 | var toPi: CGFloat { 32 | return self / 180 * .pi 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/Extensions/Cell+ZLImageEditor.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Cell+ZLImageEditor.swift 3 | // ZLImageEditor 4 | // 5 | // Created by long on 2020/8/13. 6 | // 7 | // Copyright (c) 2020 Long Zhang <495181165@qq.com> 8 | // 9 | // Permission is hereby granted, free of charge, to any person obtaining a copy 10 | // of this software and associated documentation files (the "Software"), to deal 11 | // in the Software without restriction, including without limitation the rights 12 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | // copies of the Software, and to permit persons to whom the Software is 14 | // furnished to do so, subject to the following conditions: 15 | // 16 | // The above copyright notice and this permission notice shall be included in 17 | // all copies or substantial portions of the Software. 18 | // 19 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 25 | // THE SOFTWARE. 26 | 27 | import UIKit 28 | 29 | extension UICollectionViewCell { 30 | 31 | class func zl_identifier() -> String { 32 | return NSStringFromClass(self.classForCoder()) 33 | } 34 | 35 | class func zl_register(_ collectionView: UICollectionView) { 36 | collectionView.register(self.classForCoder(), forCellWithReuseIdentifier: self.zl_identifier()) 37 | } 38 | 39 | } 40 | 41 | extension UITableViewCell { 42 | 43 | class func zl_identifier() -> String { 44 | return NSStringFromClass(self.classForCoder()) 45 | } 46 | 47 | class func zl_register(_ tableView: UITableView) { 48 | tableView.register(self.classForCoder(), forCellReuseIdentifier: self.zl_identifier()) 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/Extensions/String+ZLImageEditor.swift: -------------------------------------------------------------------------------- 1 | // 2 | // String+ZLImageEditor.swift 3 | // ZLImageEditor 4 | // 5 | // Created by long on 2020/8/18. 6 | // 7 | // Copyright (c) 2020 Long Zhang <495181165@qq.com> 8 | // 9 | // Permission is hereby granted, free of charge, to any person obtaining a copy 10 | // of this software and associated documentation files (the "Software"), to deal 11 | // in the Software without restriction, including without limitation the rights 12 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | // copies of the Software, and to permit persons to whom the Software is 14 | // furnished to do so, subject to the following conditions: 15 | // 16 | // The above copyright notice and this permission notice shall be included in 17 | // all copies or substantial portions of the Software. 18 | // 19 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 25 | // THE SOFTWARE. 26 | 27 | import Foundation 28 | import UIKit 29 | 30 | extension String { 31 | 32 | func boundingRect(font: UIFont, limitSize: CGSize) -> CGSize { 33 | let style = NSMutableParagraphStyle() 34 | style.lineBreakMode = .byCharWrapping 35 | 36 | let att = [NSAttributedString.Key.font: font, NSAttributedString.Key.paragraphStyle: style] 37 | 38 | let attContent = NSMutableAttributedString(string: self, attributes: att) 39 | 40 | let size = attContent.boundingRect(with: limitSize, options: [.usesLineFragmentOrigin, .usesFontLeading], context: nil).size 41 | 42 | return CGSize(width: ceil(size.width), height: ceil(size.height)) 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/General/ZLImageEditor.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ZLImageEditor.swift 3 | // ZLImageEditor 4 | // 5 | // Created by long on 2020/9/8. 6 | // 7 | // Copyright (c) 2020 Long Zhang <495181165@qq.com> 8 | // 9 | // Permission is hereby granted, free of charge, to any person obtaining a copy 10 | // of this software and associated documentation files (the "Software"), to deal 11 | // in the Software without restriction, including without limitation the rights 12 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | // copies of the Software, and to permit persons to whom the Software is 14 | // furnished to do so, subject to the following conditions: 15 | // 16 | // The above copyright notice and this permission notice shall be included in 17 | // all copies or substantial portions of the Software. 18 | // 19 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 25 | // THE SOFTWARE. 26 | 27 | let version = "1.0.3" 28 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/General/ZLImageEditorDefine.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ZLImageEditorDefine.swift 3 | // ZLImageEditor 4 | // 5 | // Created by long on 2020/11/23. 6 | // 7 | // Created by long on 2020/8/17. 8 | // 9 | // Copyright (c) 2020 Long Zhang <495181165@qq.com> 10 | // 11 | // Permission is hereby granted, free of charge, to any person obtaining a copy 12 | // of this software and associated documentation files (the "Software"), to deal 13 | // in the Software without restriction, including without limitation the rights 14 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 15 | // copies of the Software, and to permit persons to whom the Software is 16 | // furnished to do so, subject to the following conditions: 17 | // 18 | // The above copyright notice and this permission notice shall be included in 19 | // all copies or substantial portions of the Software. 20 | // 21 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 27 | // THE SOFTWARE. 28 | 29 | import UIKit 30 | 31 | struct ZLImageEditorLayout { 32 | 33 | static let bottomToolBtnH: CGFloat = 34 34 | 35 | static let bottomToolTitleFont = UIFont.systemFont(ofSize: 17) 36 | 37 | static let bottomToolBtnCornerRadius: CGFloat = 5 38 | 39 | } 40 | 41 | func zlRGB(_ red: CGFloat, _ green: CGFloat, _ blue: CGFloat) -> UIColor { 42 | return UIColor(red: red / 255, green: green / 255, blue: blue / 255, alpha: 1) 43 | } 44 | 45 | func getImage(_ named: String) -> UIImage? { 46 | return UIImage(named: named, in: Bundle.zlImageEditorBundle, compatibleWith: nil) 47 | } 48 | 49 | func deviceSafeAreaInsets() -> UIEdgeInsets { 50 | var insets: UIEdgeInsets = .zero 51 | 52 | if #available(iOS 11, *) { 53 | insets = UIApplication.shared.keyWindow?.safeAreaInsets ?? .zero 54 | } 55 | 56 | return insets 57 | } 58 | 59 | func zl_debugPrint(_ message: Any) { 60 | // debugPrint(message) 61 | } 62 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | $(CURRENT_PROJECT_VERSION) 21 | 22 | 23 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/de.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | "cancel" = "Stornieren"; 2 | "done" = "Erledigt"; 3 | "editFinish" = "Fertig"; 4 | "revert" = "Rückgängig"; 5 | "textStickerRemoveTips" = "Zum Entfernen hierher ziehen"; 6 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/en.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | "cancel" = "Cancel"; 2 | "done" = "Done"; 3 | "editFinish" = "Done"; 4 | "revert" = "Undo"; 5 | "textStickerRemoveTips" = "Drag here to remove"; 6 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/fr.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | "cancel" = "Annuler"; 2 | "done" = "Terminé"; 3 | "editFinish" = "Terminé"; 4 | "revert" = "Annuler"; 5 | "textStickerRemoveTips" = "Faites glisser ici pour supprimer"; 6 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/it.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | "cancel" = "Annulla"; 2 | "done" = "Fine"; 3 | "editFinish" = "Fine"; 4 | "revert" = "Annulla"; 5 | "textStickerRemoveTips" = "Trascina qui per rimuovere"; 6 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/ja-US.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | "cancel" = "キャンセル"; 2 | "done" = "確定"; 3 | "editFinish" = "完了"; 4 | "revert" = "元に戻す"; 5 | "textStickerRemoveTips" = "ここにドラッグして削除します"; 6 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/ko.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | "cancel" = "취소"; 2 | "done" = "끝난"; 3 | "editFinish" = "완료"; 4 | "revert" = "실행 취소"; 5 | "textStickerRemoveTips" = "제거하려면 여기로 드래그하세요"; 6 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/ms.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | "cancel" = "Batal"; 2 | "done" = "Selesai"; 3 | "editFinish" = "Selesai"; 4 | "revert" = "Buat asal"; 5 | "textStickerRemoveTips" = "Seret ke sini untuk mengalih keluar"; 6 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/ru.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | "cancel" = "Отмена"; 2 | "done" = "Готово"; 3 | "editFinish" = "Готово"; 4 | "revert" = "Отменить"; 5 | "textStickerRemoveTips" = "Перетащите сюда, чтобы удалить"; 6 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/vi.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | "cancel" = "Huỷ"; 2 | "done" = "Xong"; 3 | "editFinish" = "Xong"; 4 | "revert" = "Hoàn tác"; 5 | "textStickerRemoveTips" = "Kéo vào đây để xóa"; 6 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zh-Hans.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | "cancel" = "取消"; 2 | "done" = "确定"; 3 | "editFinish" = "完成"; 4 | "revert" = "还原"; 5 | "textStickerRemoveTips" = "拖到此处删除"; 6 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zh-Hant.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | "cancel" = "取消"; 2 | "done" = "確定"; 3 | "editFinish" = "完成"; 4 | "revert" = "還原"; 5 | "textStickerRemoveTips" = "拖到此處刪除"; 6 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_ashbin@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_ashbin@2x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_ashbin@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_ashbin@3x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_ashbin_open@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_ashbin_open@2x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_ashbin_open@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_ashbin_open@3x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_clip@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_clip@2x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_clip@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_clip@3x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_close@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_close@2x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_close@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_close@3x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_drawLine@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_drawLine@2x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_drawLine@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_drawLine@3x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_drawLine_selected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_drawLine_selected@2x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_drawLine_selected@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_drawLine_selected@3x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_filter@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_filter@2x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_filter@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_filter@3x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_filter_selected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_filter_selected@2x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_filter_selected@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_filter_selected@3x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_imageSticker@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_imageSticker@2x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_imageSticker@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_imageSticker@3x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_mosaic@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_mosaic@2x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_mosaic@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_mosaic@3x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_mosaic_selected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_mosaic_selected@2x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_mosaic_selected@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_mosaic_selected@3x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_retake@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_retake@2x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_retake@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_retake@3x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_revoke@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_revoke@2x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_revoke@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_revoke@3x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_revoke_disable@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_revoke_disable@2x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_revoke_disable@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_revoke_disable@3x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_right@2x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_right@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_right@3x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_rotateimage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_rotateimage@2x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_rotateimage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_rotateimage@3x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_textSticker@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_textSticker@2x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_textSticker@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/ios/ZLImageEditor/Sources/ZLImageEditor.bundle/zl_textSticker@3x.png -------------------------------------------------------------------------------- /ios/ZLImageEditor/Sources/ZLImageEditor.h: -------------------------------------------------------------------------------- 1 | // 2 | // ZLImageEditor.h 3 | // ZLImageEditor 4 | // 5 | // Created by long on 2020/11/23. 6 | // 7 | 8 | #import 9 | 10 | //! Project version number for ZLImageEditor. 11 | FOUNDATION_EXPORT double ZLImageEditorVersionNumber; 12 | 13 | //! Project version string for ZLImageEditor. 14 | FOUNDATION_EXPORT const unsigned char ZLImageEditorVersionString[]; 15 | 16 | // In this header, you should import all the public headers of your framework using statements like #import 17 | 18 | 19 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/ZLImageEditor.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |s| 2 | s.name = 'ZLImageEditor' 3 | s.version = '1.0.3' 4 | s.summary = 'A powerful image editor framework. Supports graffiti, cropping, mosaic, text stickers, picture stickers, filters.' 5 | 6 | s.homepage = 'https://github.com/longitachi/ZLImageEditor' 7 | s.license = { :type => "MIT", :file => "LICENSE" } 8 | 9 | s.author = {'longitachi' => 'longitachi@163.com'} 10 | s.source = {:git => 'https://github.com/longitachi/ZLImageEditor.git', :tag => s.version} 11 | 12 | s.ios.deployment_target = '9.0' 13 | 14 | s.swift_versions = ['5.0', '5.1', '5.2'] 15 | 16 | s.requires_arc = true 17 | s.frameworks = 'UIKit', 'Accelerate' 18 | 19 | s.resources = 'Sources/*.{png,bundle}' 20 | 21 | s.subspec "Core" do |sp| 22 | sp.source_files = ["Sources/**/*.swift", "Sources/ZLImageEditor.h"] 23 | end 24 | 25 | end 26 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/ZLImageEditor.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ios/ZLImageEditor/ZLImageEditor.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /react-native-photo-editor.podspec: -------------------------------------------------------------------------------- 1 | require "json" 2 | 3 | package = JSON.parse(File.read(File.join(__dir__, "package.json"))) 4 | 5 | Pod::Spec.new do |s| 6 | s.name = "react-native-photo-editor" 7 | s.version = package["version"] 8 | s.summary = package["description"] 9 | s.homepage = package["homepage"] 10 | s.license = package["license"] 11 | s.authors = package["author"] 12 | 13 | s.platforms = { :ios => "10.0" } 14 | s.source = { :git => "https://github.com/baronha/react-native-photo-editor.git", :tag => "#{s.version}" } 15 | s.swift_version = ['5.0', '5.1', '5.2'] 16 | 17 | s.source_files = "ios/**/*.{h,m,mm,swift}" 18 | 19 | s.dependency "React-Core" 20 | s.dependency "SDWebImage", "~> 5.11.1" 21 | s.dependency 'SDWebImageWebPCoder', '~> 0.8.4' 22 | 23 | s.subspec 'ZLImageEditor' do |zl| 24 | zl.name = "ZLImageEditor" 25 | zl.source_files = "ios/ZLImageEditor/Sources/*.{h,m,mm,swift}" 26 | zl.exclude_files = "ios/ZLImageEditor/Sources/ZLImageEditor.h" 27 | zl.resources = "ios/ZLImageEditor/Sources/*.{png,bundle}" 28 | zl.requires_arc = true 29 | zl.frameworks = "UIKit", "Accelerate" 30 | end 31 | 32 | end 33 | -------------------------------------------------------------------------------- /resources/LUTs.bundle/LUT_64_Bagan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/resources/LUTs.bundle/LUT_64_Bagan.png -------------------------------------------------------------------------------- /resources/LUTs.bundle/LUT_64_California.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/resources/LUTs.bundle/LUT_64_California.png -------------------------------------------------------------------------------- /resources/LUTs.bundle/LUT_64_DaLat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/resources/LUTs.bundle/LUT_64_DaLat.png -------------------------------------------------------------------------------- /resources/LUTs.bundle/LUT_64_SaiGon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/resources/LUTs.bundle/LUT_64_SaiGon.png -------------------------------------------------------------------------------- /resources/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/resources/banner.png -------------------------------------------------------------------------------- /resources/banner1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/resources/banner1.jpg -------------------------------------------------------------------------------- /resources/example_ios.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/resources/example_ios.png -------------------------------------------------------------------------------- /resources/filters_android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/resources/filters_android.png -------------------------------------------------------------------------------- /resources/filters_ios.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/resources/filters_ios.png -------------------------------------------------------------------------------- /resources/lut_tutorial_ios.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/resources/lut_tutorial_ios.png -------------------------------------------------------------------------------- /resources/sticker_android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/resources/sticker_android.png -------------------------------------------------------------------------------- /resources/sticker_ios.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/resources/sticker_ios.png -------------------------------------------------------------------------------- /resources/sticker_tutorial_android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/resources/sticker_tutorial_android.png -------------------------------------------------------------------------------- /resources/sticker_tutorial_ios.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/resources/sticker_tutorial_ios.png -------------------------------------------------------------------------------- /resources/tools_android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/resources/tools_android.png -------------------------------------------------------------------------------- /resources/tools_ios.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uplsuman/react-native-photo-editor/63c24cac21b11e474b9ca2d2244429b9f0f13302/resources/tools_ios.png -------------------------------------------------------------------------------- /scripts/bootstrap.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const child_process = require('child_process'); 3 | 4 | const root = path.resolve(__dirname, '..'); 5 | const args = process.argv.slice(2); 6 | const options = { 7 | cwd: process.cwd(), 8 | env: process.env, 9 | stdio: 'inherit', 10 | encoding: 'utf-8', 11 | }; 12 | 13 | let result; 14 | 15 | if (process.cwd() !== root || args.length) { 16 | // We're not in the root of the project, or additional arguments were passed 17 | // In this case, forward the command to `yarn` 18 | result = child_process.spawnSync('yarn', args, options); 19 | } else { 20 | // If `yarn` is run without arguments, perform bootstrap 21 | result = child_process.spawnSync('yarn', ['bootstrap'], options); 22 | } 23 | 24 | process.exitCode = result.status; 25 | -------------------------------------------------------------------------------- /src/__tests__/index.test.tsx: -------------------------------------------------------------------------------- 1 | it.todo('write a test'); 2 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import { NativeModules } from 'react-native'; 2 | const { PhotoEditor } = NativeModules; 3 | 4 | let exportObject = {}; 5 | 6 | const defaultOptions = { 7 | path: '', 8 | stickers: [], 9 | }; 10 | 11 | exportObject = { 12 | open: (optionsEditor) => { 13 | const options = { 14 | ...defaultOptions, 15 | ...optionsEditor, 16 | }; 17 | return new Promise(async (resolve, reject) => { 18 | try { 19 | const response = await PhotoEditor.open(options); 20 | if (response) { 21 | resolve(response); 22 | return true; 23 | } 24 | throw 'ERROR_UNKNOW'; 25 | } catch (e) { 26 | reject(e); 27 | } 28 | }); 29 | }, 30 | }; 31 | 32 | 33 | export default exportObject; 34 | -------------------------------------------------------------------------------- /src/index.tsx: -------------------------------------------------------------------------------- 1 | import { NativeModules } from 'react-native'; 2 | 3 | export type Options = { 4 | path: String; 5 | stickers: Array; 6 | }; 7 | 8 | export type ErrorCode = 9 | | 'USER_CANCELLED' 10 | | 'IMAGE_LOAD_FAILED' 11 | | 'ACTIVITY_DOES_NOT_EXIST' 12 | | 'FAILED_TO_SAVE_IMAGE' 13 | | 'DONT_FIND_IMAGE' 14 | | 'ERROR_UNKNOW'; 15 | 16 | type PhotoEditorType = { 17 | open(option: Options): Promise; 18 | }; 19 | 20 | const { PhotoEditor } = NativeModules; 21 | 22 | export default PhotoEditor as PhotoEditorType; 23 | -------------------------------------------------------------------------------- /tsconfig.build.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "extends": "./tsconfig", 4 | "exclude": ["example"] 5 | } 6 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": "./", 4 | "paths": { 5 | "react-native-photo-editor": ["./src/index"] 6 | }, 7 | "allowUnreachableCode": false, 8 | "allowUnusedLabels": false, 9 | "esModuleInterop": true, 10 | "importsNotUsedAsValues": "error", 11 | "forceConsistentCasingInFileNames": true, 12 | "jsx": "react", 13 | "lib": ["esnext"], 14 | "module": "esnext", 15 | "moduleResolution": "node", 16 | "noFallthroughCasesInSwitch": true, 17 | "noImplicitReturns": true, 18 | "noImplicitUseStrict": false, 19 | "noStrictGenericChecks": false, 20 | "noUnusedLocals": true, 21 | "noUnusedParameters": true, 22 | "resolveJsonModule": true, 23 | "skipLibCheck": true, 24 | "strict": true, 25 | "target": "esnext" 26 | } 27 | } 28 | --------------------------------------------------------------------------------