From 80647727bd928987c54947326bbbe08a4d40c012 Mon Sep 17 00:00:00 2001 From: Horcrux Date: Wed, 18 Jan 2017 13:52:19 +0800 Subject: [PATCH] Remove example --- Example/.babelrc | 12 - Example/.flowconfig | 65 -- Example/.gitignore | 35 - Example/.watchmanconfig | 1 - Example/android/app/BUCK | 66 -- Example/android/app/build.gradle | 140 ---- Example/android/app/proguard-rules.pro | 66 -- Example/android/app/react.gradle | 96 --- .../android/app/src/main/AndroidManifest.xml | 24 - .../java/com/svgexample/MainActivity.java | 15 - .../java/com/svgexample/MainApplication.java | 35 - .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 3418 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2206 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 4842 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 7718 -> 0 bytes .../app/src/main/res/values/strings.xml | 3 - .../app/src/main/res/values/styles.xml | 8 - Example/android/build.gradle | 24 - Example/android/gradle.properties | 20 - Example/android/gradlew | 160 ---- Example/android/gradlew.bat | 90 --- Example/android/settings.gradle | 5 - Example/examples.js | 37 - Example/examples/Circle.js | 117 --- Example/examples/Clipping.js | 237 ------ Example/examples/Ellipse.js | 76 -- Example/examples/G.js | 169 ----- Example/examples/Gradients.js | 246 ------ Example/examples/Image.js | 109 --- Example/examples/Line.js | 87 --- Example/examples/PanResponder.js | 121 --- Example/examples/Path.js | 122 --- Example/examples/Polygon.js | 104 --- Example/examples/Polyline.js | 96 --- Example/examples/Rect.js | 139 ---- Example/examples/Reusable.js | 151 ---- Example/examples/Stroking.js | 150 ---- Example/examples/Svg.js | 221 ------ Example/examples/Text.js | 217 ------ Example/examples/TouchEvents.js | 124 ---- Example/exp.json | 23 - Example/image.jpg | Bin 13303 -> 0 bytes Example/index.android.js | 1 - Example/index.ios.js | 1 - .../ios/SvgExample.xcodeproj/project.pbxproj | 699 ------------------ .../xcschemes/ArtSvgExample.xcscheme | 112 --- Example/ios/SvgExample/AppDelegate.h | 16 - Example/ios/SvgExample/AppDelegate.m | 59 -- .../SvgExample/Base.lproj/LaunchScreen.xib | 42 -- .../AppIcon.appiconset/Contents.json | 38 - Example/ios/SvgExample/Info.plist | 47 -- Example/ios/SvgExample/main.m | 18 - Example/main.js | 267 ------- Example/package.json | 16 - package.json | 2 +- 55 files changed, 1 insertion(+), 4728 deletions(-) delete mode 100644 Example/.babelrc delete mode 100644 Example/.flowconfig delete mode 100644 Example/.gitignore delete mode 100644 Example/.watchmanconfig delete mode 100644 Example/android/app/BUCK delete mode 100644 Example/android/app/build.gradle delete mode 100644 Example/android/app/proguard-rules.pro delete mode 100644 Example/android/app/react.gradle delete mode 100644 Example/android/app/src/main/AndroidManifest.xml delete mode 100644 Example/android/app/src/main/java/com/svgexample/MainActivity.java delete mode 100644 Example/android/app/src/main/java/com/svgexample/MainApplication.java delete mode 100644 Example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 Example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 Example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 Example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 Example/android/app/src/main/res/values/strings.xml delete mode 100644 Example/android/app/src/main/res/values/styles.xml delete mode 100644 Example/android/build.gradle delete mode 100644 Example/android/gradle.properties delete mode 100644 Example/android/gradlew delete mode 100644 Example/android/gradlew.bat delete mode 100644 Example/android/settings.gradle delete mode 100644 Example/examples.js delete mode 100644 Example/examples/Circle.js delete mode 100644 Example/examples/Clipping.js delete mode 100644 Example/examples/Ellipse.js delete mode 100644 Example/examples/G.js delete mode 100644 Example/examples/Gradients.js delete mode 100644 Example/examples/Image.js delete mode 100644 Example/examples/Line.js delete mode 100644 Example/examples/PanResponder.js delete mode 100644 Example/examples/Path.js delete mode 100644 Example/examples/Polygon.js delete mode 100644 Example/examples/Polyline.js delete mode 100644 Example/examples/Rect.js delete mode 100644 Example/examples/Reusable.js delete mode 100644 Example/examples/Stroking.js delete mode 100644 Example/examples/Svg.js delete mode 100644 Example/examples/Text.js delete mode 100644 Example/examples/TouchEvents.js delete mode 100644 Example/exp.json delete mode 100644 Example/image.jpg delete mode 100644 Example/index.android.js delete mode 100644 Example/index.ios.js delete mode 100644 Example/ios/SvgExample.xcodeproj/project.pbxproj delete mode 100644 Example/ios/SvgExample.xcodeproj/xcshareddata/xcschemes/ArtSvgExample.xcscheme delete mode 100644 Example/ios/SvgExample/AppDelegate.h delete mode 100644 Example/ios/SvgExample/AppDelegate.m delete mode 100644 Example/ios/SvgExample/Base.lproj/LaunchScreen.xib delete mode 100644 Example/ios/SvgExample/Images.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 Example/ios/SvgExample/Info.plist delete mode 100644 Example/ios/SvgExample/main.m delete mode 100644 Example/main.js delete mode 100644 Example/package.json diff --git a/Example/.babelrc b/Example/.babelrc deleted file mode 100644 index 1ced9e34..00000000 --- a/Example/.babelrc +++ /dev/null @@ -1,12 +0,0 @@ -{ - "presets": [ - "react-native-stage-0/decorator-support" - ], - "env": { - "development": { - "plugins": [ - "transform-react-jsx-source" - ] - } - } -} diff --git a/Example/.flowconfig b/Example/.flowconfig deleted file mode 100644 index 245c23a0..00000000 --- a/Example/.flowconfig +++ /dev/null @@ -1,65 +0,0 @@ -[ignore] - -# We fork some components by platform. -.*/*.web.js -.*/*.android.js - -# Some modules have their own node_modules with overlap -.*/node_modules/node-haste/.* - -# Ugh -.*/node_modules/babel.* -.*/node_modules/babylon.* -.*/node_modules/invariant.* - -# Ignore react and fbjs where there are overlaps, but don't ignore -# anything that react-native relies on -.*/node_modules/fbjs/lib/Map.js -.*/node_modules/fbjs/lib/Promise.js -.*/node_modules/fbjs/lib/fetch.js -.*/node_modules/fbjs/lib/ExecutionEnvironment.js -.*/node_modules/fbjs/lib/isEmpty.js -.*/node_modules/fbjs/lib/crc32.js -.*/node_modules/fbjs/lib/ErrorUtils.js - -# Flow has a built-in definition for the 'react' module which we prefer to use -# over the currently-untyped source -.*/node_modules/react/react.js -.*/node_modules/react/lib/React.js -.*/node_modules/react/lib/ReactDOM.js - -# Ignore commoner tests -.*/node_modules/commoner/test/.* - -# See https://github.com/facebook/flow/issues/442 -.*/react-tools/node_modules/commoner/lib/reader.js - -# Ignore jest -.*/node_modules/jest-cli/.* - -# Ignore Website -.*/website/.* - -[include] - -[libs] -node_modules/react-native/Libraries/react-native/react-native-interface.js - -[options] -module.system=haste - -munge_underscores=true - -module.name_mapper='^image![a-zA-Z0-9$_-]+$' -> 'GlobalImageStub' -module.name_mapper='^[./a-zA-Z0-9$_-]+\.png$' -> 'RelativeImageStub' - -suppress_type=$FlowIssue -suppress_type=$FlowFixMe -suppress_type=$FixMe - -suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(2[0-0]\\|1[0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\) -suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(2[0-0]\\|1[0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+ -suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy - -[version] -0.20.1 diff --git a/Example/.gitignore b/Example/.gitignore deleted file mode 100644 index 5229a57a..00000000 --- a/Example/.gitignore +++ /dev/null @@ -1,35 +0,0 @@ -# OSX -# -.DS_Store -.exponent/* - -# Xcode -# -build/ -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 -xcuserdata -*.xccheckout -*.moved-aside -DerivedData -*.hmap -*.ipa -*.xcuserstate -project.xcworkspace - -# Android/IJ -# -.idea -.gradle -local.properties - -# node.js -# -node_modules/ -npm-debug.log diff --git a/Example/.watchmanconfig b/Example/.watchmanconfig deleted file mode 100644 index 9e26dfee..00000000 --- a/Example/.watchmanconfig +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Example/android/app/BUCK b/Example/android/app/BUCK deleted file mode 100644 index e3a3d36d..00000000 --- a/Example/android/app/BUCK +++ /dev/null @@ -1,66 +0,0 @@ -import re - -# To learn about Buck see [Docs](https://buckbuild.com/). -# To run your application with Buck: -# - install Buck -# - `npm start` - to start the packager -# - `cd android` -# - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"` -# - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck -# - `buck install -r android/app` - compile, install and run application -# - -lib_deps = [] -for jarfile in glob(['libs/*.jar']): - name = 'jars__' + re.sub(r'^.*/([^/]+)\.jar$', r'\1', jarfile) - lib_deps.append(':' + name) - prebuilt_jar( - name = name, - binary_jar = jarfile, - ) - -for aarfile in glob(['libs/*.aar']): - name = 'aars__' + re.sub(r'^.*/([^/]+)\.aar$', r'\1', aarfile) - lib_deps.append(':' + name) - android_prebuilt_aar( - name = name, - aar = aarfile, - ) - -android_library( - name = 'all-libs', - exported_deps = lib_deps -) - -android_library( - name = 'app-code', - srcs = glob([ - 'src/main/java/**/*.java', - ]), - deps = [ - ':all-libs', - ':build_config', - ':res', - ], -) - -android_build_config( - name = 'build_config', - package = 'com.svgexample', -) - -android_resource( - name = 'res', - res = 'src/main/res', - package = 'com.svgexample', -) - -android_binary( - name = 'app', - package_type = 'debug', - manifest = 'src/main/AndroidManifest.xml', - keystore = '//android/keystores:debug', - deps = [ - ':app-code', - ], -) diff --git a/Example/android/app/build.gradle b/Example/android/app/build.gradle deleted file mode 100644 index 83a163fc..00000000 --- a/Example/android/app/build.gradle +++ /dev/null @@ -1,140 +0,0 @@ -apply plugin: "com.android.application" - -import com.android.build.OutputFile - -/** - * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets - * and bundleReleaseJsAndAssets). - * These basically call `react-native bundle` with the correct arguments during the Android build - * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the - * bundle directly from the development server. Below you can see all the possible configurations - * and their defaults. If you decide to add a configuration block, make sure to add it before the - * `apply from: "../../node_modules/react-native/react.gradle"` line. - * - * project.ext.react = [ - * // the name of the generated asset file containing your JS bundle - * bundleAssetName: "index.android.bundle", - * - * // the entry file for bundle generation - * entryFile: "index.android.js", - * - * // whether to bundle JS and assets in debug mode - * bundleInDebug: false, - * - * // whether to bundle JS and assets in release mode - * bundleInRelease: true, - * - * // whether to bundle JS and assets in another build variant (if configured). - * // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants - * // The configuration property can be in the following formats - * // 'bundleIn${productFlavor}${buildType}' - * // 'bundleIn${buildType}' - * // bundleInFreeDebug: true, - * // bundleInPaidRelease: true, - * // bundleInBeta: true, - * - * // the root of your project, i.e. where "package.json" lives - * root: "../../", - * - * // where to put the JS bundle asset in debug mode - * jsBundleDirDebug: "$buildDir/intermediates/assets/debug", - * - * // where to put the JS bundle asset in release mode - * jsBundleDirRelease: "$buildDir/intermediates/assets/release", - * - * // where to put drawable resources / React Native assets, e.g. the ones you use via - * // require('./image.png')), in debug mode - * resourcesDirDebug: "$buildDir/intermediates/res/merged/debug", - * - * // where to put drawable resources / React Native assets, e.g. the ones you use via - * // require('./image.png')), in release mode - * resourcesDirRelease: "$buildDir/intermediates/res/merged/release", - * - * // by default the gradle tasks are skipped if none of the JS files or assets change; this means - * // that we don't look at files in android/ or ios/ to determine whether the tasks are up to - * // date; if you have any other folders that you want to ignore for performance reasons (gradle - * // indexes the entire tree), add them here. Alternatively, if you have JS files in android/ - * // for example, you might want to remove it from here. - * inputExcludes: ["android/**", "ios/**"], - * - * // override which node gets called and with what additional arguments - * nodeExecutableAndArgs: ["node"] - * - * // supply additional arguments to the packager - * extraPackagerArgs: [] - * ] - */ - -apply from: "../../node_modules/react-native/react.gradle" - -/** - * Set this to true to create two separate APKs instead of one: - * - An APK that only works on ARM devices - * - An APK that only works on x86 devices - * The advantage is the size of the APK is reduced by about 4MB. - * Upload all the APKs to the Play Store and people will download - * the correct one based on the CPU architecture of their device. - */ -def enableSeparateBuildPerCPUArchitecture = false - -/** - * Run Proguard to shrink the Java bytecode in release builds. - */ -def enableProguardInReleaseBuilds = false - -android { - compileSdkVersion 23 - buildToolsVersion "23.0.1" - - defaultConfig { - applicationId "com.svgexample" - minSdkVersion 16 - targetSdkVersion 22 - versionCode 1 - versionName "1.0" - ndk { - abiFilters "armeabi-v7a", "x86" - } - } - splits { - abi { - reset() - enable enableSeparateBuildPerCPUArchitecture - universalApk false // If true, also generate a universal APK - include "armeabi-v7a", "x86" - } - } - buildTypes { - release { - minifyEnabled enableProguardInReleaseBuilds - proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" - } - } - // applicationVariants are e.g. debug, release - applicationVariants.all { variant -> - variant.outputs.each { output -> - // For each separate APK per architecture, set a unique version code as described here: - // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits - def versionCodes = ["armeabi-v7a":1, "x86":2] - def abi = output.getFilter(OutputFile.ABI) - if (abi != null) { // null for the universal-debug, universal-release variants - output.versionCodeOverride = - versionCodes.get(abi) * 1048576 + defaultConfig.versionCode - } - } - } -} - -dependencies { - compile project(':react-native-svg') - compile fileTree(dir: "libs", include: ["*.jar"]) - compile "com.android.support:appcompat-v7:23.0.1" - compile "com.facebook.react:react-native:+" // From node_modules -} - -// Run this once to be able to run the application with BUCK -// puts all compile dependencies into folder libs for BUCK to use -task copyDownloadableDepsToLibs(type: Copy) { - from configurations.compile - into 'libs' -} diff --git a/Example/android/app/proguard-rules.pro b/Example/android/app/proguard-rules.pro deleted file mode 100644 index 48361a90..00000000 --- a/Example/android/app/proguard-rules.pro +++ /dev/null @@ -1,66 +0,0 @@ -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the proguardFiles -# directive in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Disabling obfuscation is useful if you collect stack traces from production crashes -# (unless you are using a system that supports de-obfuscate the stack traces). --dontobfuscate - -# React Native - -# Keep our interfaces so they can be used by other ProGuard rules. -# See http://sourceforge.net/p/proguard/bugs/466/ --keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip --keep,allowobfuscation @interface com.facebook.proguard.annotations.KeepGettersAndSetters --keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip - -# Do not strip any method/class that is annotated with @DoNotStrip --keep @com.facebook.proguard.annotations.DoNotStrip class * --keep @com.facebook.common.internal.DoNotStrip class * --keepclassmembers class * { - @com.facebook.proguard.annotations.DoNotStrip *; - @com.facebook.common.internal.DoNotStrip *; -} - --keepclassmembers @com.facebook.proguard.annotations.KeepGettersAndSetters class * { - void set*(***); - *** get*(); -} - --keep class * extends com.facebook.react.bridge.JavaScriptModule { *; } --keep class * extends com.facebook.react.bridge.NativeModule { *; } --keepclassmembers,includedescriptorclasses class * { native ; } --keepclassmembers class * { @com.facebook.react.uimanager.UIProp ; } --keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactProp ; } --keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactPropGroup ; } - --dontwarn com.facebook.react.** - -# okhttp - --keepattributes Signature --keepattributes *Annotation* --keep class okhttp3.** { *; } --keep interface okhttp3.** { *; } --dontwarn okhttp3.** - -# okio - --keep class sun.misc.Unsafe { *; } --dontwarn java.nio.file.* --dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement --dontwarn okio.** diff --git a/Example/android/app/react.gradle b/Example/android/app/react.gradle deleted file mode 100644 index 4b43bf91..00000000 --- a/Example/android/app/react.gradle +++ /dev/null @@ -1,96 +0,0 @@ -import org.apache.tools.ant.taskdefs.condition.Os - -def config = project.hasProperty("react") ? project.react : []; - -def bundleAssetName = config.bundleAssetName ?: "index.android.bundle" -def entryFile = config.entryFile ?: "index.android.js" - -// because elvis operator -def elvisFile(thing) { - return thing ? file(thing) : null; -} - -def reactRoot = elvisFile(config.root) ?: file("../../") -def inputExcludes = config.inputExcludes ?: ["android/**", "ios/**"] - -void runBefore(String dependentTaskName, Task task) { - Task dependentTask = tasks.findByPath(dependentTaskName); - if (dependentTask != null) { - dependentTask.dependsOn task - } -} - -gradle.projectsEvaluated { - // Grab all build types and product flavors - def buildTypes = android.buildTypes.collect { type -> type.name } - def productFlavors = android.productFlavors.collect { flavor -> flavor.name } - - // When no product flavors defined, use empty - if (!productFlavors) productFlavors.add('') - - productFlavors.each { productFlavorName -> - buildTypes.each { buildTypeName -> - // Create variant and source names - def sourceName = "${buildTypeName}" - def targetName = "${sourceName.capitalize()}" - if (productFlavorName) { - sourceName = "${productFlavorName}${targetName}" - } - - // React js bundle directories - def jsBundleDirConfigName = "jsBundleDir${targetName}" - def jsBundleDir = elvisFile(config."$jsBundleDirConfigName") ?: - file("$buildDir/intermediates/assets/${sourceName}") - - def resourcesDirConfigName = "jsBundleDir${targetName}" - def resourcesDir = elvisFile(config."${resourcesDirConfigName}") ?: - file("$buildDir/intermediates/res/merged/${sourceName}") - def jsBundleFile = file("$jsBundleDir/$bundleAssetName") - - // Bundle task name for variant - def bundleJsAndAssetsTaskName = "bundle${targetName}JsAndAssets" - - def currentBundleTask = tasks.create( - name: bundleJsAndAssetsTaskName, - type: Exec) { - group = "react" - description = "bundle JS and assets for ${targetName}." - - // Create dirs if they are not there (e.g. the "clean" task just ran) - doFirst { - jsBundleDir.mkdirs() - resourcesDir.mkdirs() - } - - // Set up inputs and outputs so gradle can cache the result - inputs.files fileTree(dir: reactRoot, excludes: inputExcludes) - outputs.dir jsBundleDir - outputs.dir resourcesDir - - // Set up the call to the react-native cli - workingDir reactRoot - - // Set up dev mode - def devEnabled = !targetName.toLowerCase().contains("release") - if (Os.isFamily(Os.FAMILY_WINDOWS)) { - commandLine "cmd", "/c", "react-native", "bundle", "--platform", "android", "--dev", "${devEnabled}", - "--entry-file", entryFile, "--bundle-output", jsBundleFile, "--assets-dest", resourcesDir - } else { - commandLine "react-native", "bundle", "--platform", "android", "--dev", "${devEnabled}", - "--entry-file", entryFile, "--bundle-output", jsBundleFile, "--assets-dest", resourcesDir - } - - enabled config."bundleIn${targetName}" ?: targetName.toLowerCase().contains("release") - } - - // Hook bundle${productFlavor}${buildType}JsAndAssets into the android build process - currentBundleTask.dependsOn("merge${targetName}Resources") - currentBundleTask.dependsOn("merge${targetName}Assets") - - runBefore("processArmeabi-v7a${targetName}Resources", currentBundleTask) - runBefore("processX86${targetName}Resources", currentBundleTask) - runBefore("processUniversal${targetName}Resources", currentBundleTask) - runBefore("process${targetName}Resources", currentBundleTask) - } - } -} diff --git a/Example/android/app/src/main/AndroidManifest.xml b/Example/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index a30e89f1..00000000 --- a/Example/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/Example/android/app/src/main/java/com/svgexample/MainActivity.java b/Example/android/app/src/main/java/com/svgexample/MainActivity.java deleted file mode 100644 index 146939ec..00000000 --- a/Example/android/app/src/main/java/com/svgexample/MainActivity.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.svgexample; - -import com.facebook.react.ReactActivity; - -public class MainActivity extends ReactActivity { - - /** - * Returns the name of the main component registered from JavaScript. - * This is used to schedule rendering of the component. - */ - @Override - protected String getMainComponentName() { - return "SvgExample"; - } -} diff --git a/Example/android/app/src/main/java/com/svgexample/MainApplication.java b/Example/android/app/src/main/java/com/svgexample/MainApplication.java deleted file mode 100644 index 79b186ed..00000000 --- a/Example/android/app/src/main/java/com/svgexample/MainApplication.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.svgexample; - -import android.app.Application; -import com.horcrux.svg.RNSvgPackage; - -import com.facebook.react.ReactApplication; -import com.facebook.react.ReactNativeHost; -import com.facebook.react.ReactPackage; -import com.facebook.react.shell.MainReactPackage; - -import java.util.Arrays; -import java.util.List; - -public class MainApplication extends Application implements ReactApplication { - - private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { - @Override - protected boolean getUseDeveloperSupport() { - return BuildConfig.DEBUG; - } - - @Override - protected List getPackages() { - return Arrays.asList( - new MainReactPackage(), - new RNSvgPackage() - ); - } - }; - - @Override - public ReactNativeHost getReactNativeHost() { - return mReactNativeHost; - } -} diff --git a/Example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/Example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index cde69bcccec65160d92116f20ffce4fce0b5245c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3418 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 diff --git a/Example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/Example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index bfa42f0e7b91d006d22352c9ff2f134e504e3c1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4842 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 diff --git a/Example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/Example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index 324e72cdd7480cb983fa1bcc7ce686e51ef87fe7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7718 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 diff --git a/Example/android/app/src/main/res/values/strings.xml b/Example/android/app/src/main/res/values/strings.xml deleted file mode 100644 index 3386d8e0..00000000 --- a/Example/android/app/src/main/res/values/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - SvgExample - diff --git a/Example/android/app/src/main/res/values/styles.xml b/Example/android/app/src/main/res/values/styles.xml deleted file mode 100644 index 319eb0ca..00000000 --- a/Example/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - diff --git a/Example/android/build.gradle b/Example/android/build.gradle deleted file mode 100644 index c8978a98..00000000 --- a/Example/android/build.gradle +++ /dev/null @@ -1,24 +0,0 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. - -buildscript { - repositories { - jcenter() - } - dependencies { - classpath 'com.android.tools.build:gradle:2.1.3' - - // NOTE: Do not place your application dependencies here; they belong - // in the individual module build.gradle files - } -} - -allprojects { - repositories { - mavenLocal() - jcenter() - maven { - // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm - url "$rootDir/../node_modules/react-native/android" - } - } -} diff --git a/Example/android/gradle.properties b/Example/android/gradle.properties deleted file mode 100644 index 1fd964e9..00000000 --- a/Example/android/gradle.properties +++ /dev/null @@ -1,20 +0,0 @@ -# Project-wide Gradle settings. - -# IDE (e.g. Android Studio) users: -# Gradle settings configured through the IDE *will override* -# any settings specified in this file. - -# For more details on how to configure your build environment visit -# http://www.gradle.org/docs/current/userguide/build_environment.html - -# Specifies the JVM arguments used for the daemon process. -# The setting is particularly useful for tweaking memory settings. -# Default value: -Xmx10248m -XX:MaxPermSize=256m -# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 - -# When configured, Gradle will run in incubating parallel mode. -# This option should only be used with decoupled projects. More details, visit -# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true - -android.useDeprecatedNdk=true diff --git a/Example/android/gradlew b/Example/android/gradlew deleted file mode 100644 index 9d82f789..00000000 --- a/Example/android/gradlew +++ /dev/null @@ -1,160 +0,0 @@ -#!/usr/bin/env bash - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn ( ) { - echo "$*" -} - -die ( ) { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; -esac - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=$((i+1)) - done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") -} -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" - -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/Example/android/gradlew.bat b/Example/android/gradlew.bat deleted file mode 100644 index 8a0b282a..00000000 --- a/Example/android/gradlew.bat +++ /dev/null @@ -1,90 +0,0 @@ -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windowz variants - -if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/Example/android/settings.gradle b/Example/android/settings.gradle deleted file mode 100644 index 64cc4dc1..00000000 --- a/Example/android/settings.gradle +++ /dev/null @@ -1,5 +0,0 @@ -rootProject.name = 'SvgExample' - -include ':app' -include ':react-native-svg' -project(':react-native-svg').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-svg/android') diff --git a/Example/examples.js b/Example/examples.js deleted file mode 100644 index 8d2131e6..00000000 --- a/Example/examples.js +++ /dev/null @@ -1,37 +0,0 @@ -import * as Svg from './examples/Svg'; -import * as Rect from './examples/Rect'; -import * as Circle from './examples/Circle'; -import * as Ellipse from './examples/Ellipse'; -import * as Line from './examples/Line'; -import * as Polygon from './examples/Polygon'; -import * as Polyline from './examples/Polyline'; -import * as Path from './examples/Path'; -import * as Text from './examples/Text'; -import * as G from './examples/G'; -import * as Stroking from './examples/Stroking'; -import * as Gradients from './examples/Gradients'; -import * as Clipping from './examples/Clipping'; -import * as Image from './examples/Image'; -import * as Reusable from './examples/Reusable'; -import * as TouchEvents from './examples/TouchEvents'; -import * as PanResponder from './examples/PanResponder'; - -export { - Svg, - Rect, - Circle, - Ellipse, - Line, - Polygon, - Polyline, - Path, - Text, - Stroking, - G, - Gradients, - Clipping, - Image, - TouchEvents, - Reusable, - PanResponder -}; diff --git a/Example/examples/Circle.js b/Example/examples/Circle.js deleted file mode 100644 index af7af1ca..00000000 --- a/Example/examples/Circle.js +++ /dev/null @@ -1,117 +0,0 @@ -import React, { - Component -} from 'react'; - -import Svg, { - Circle -} from 'react-native-svg'; - -class CircleExample extends Component{ - static title = 'Circle'; - render() { - - return - - ; - } -} - -class StrokeCircle extends Component{ - static title = 'Stroke Circle'; - render() { - return - - ; - } -} - -class StrokeOpacityCircle extends Component{ - static title = 'Circle with strokeOpacity'; - render() { - return - - ; - } -} - -class PieCircle extends Component{ - static title = 'Draw a Pie shape with circle'; - render() { - return - - - ; - } -} - -const icon = - -; - -const samples = [ - CircleExample, - StrokeCircle, - StrokeOpacityCircle, - PieCircle -]; -export { - icon, - samples -}; diff --git a/Example/examples/Clipping.js b/Example/examples/Clipping.js deleted file mode 100644 index 4a4aa447..00000000 --- a/Example/examples/Clipping.js +++ /dev/null @@ -1,237 +0,0 @@ -import React, { - Component -} from 'react'; - -import Svg, { - ClipPath, - Defs, - RadialGradient, - Stop, - Rect, - Text, - Ellipse, - G, - Polygon, - Circle -} from 'react-native-svg'; - -class ClipPathAttr extends Component{ - static title = 'Clip by set clip-path with a path data'; - render() { - return - - - - - - - - - - ; - } -} - -class ClipRule extends Component{ - static title = 'Clip a group with clipRule="evenodd"'; - render() { - return - - - - - - - ; - } -} - - -class ClipPathElement extends Component{ - static title = 'Clip by set clip-path with a path data'; - render() { - return - - - - - - - - - - - - Q - - - - - ; - } -} - -class TextClipping extends Component{ - static title = 'Transform the text'; - render() { - return - - - - - - - - - - - - NOT THE FACE - ; - } -} - -const icon = - - - - - - - - -; - -const samples = [ClipPathAttr, ClipRule, ClipPathElement, TextClipping]; - -export { - icon, - samples -}; diff --git a/Example/examples/Ellipse.js b/Example/examples/Ellipse.js deleted file mode 100644 index ee746f31..00000000 --- a/Example/examples/Ellipse.js +++ /dev/null @@ -1,76 +0,0 @@ -import React, { - Component -} from 'react'; - -import Svg, { - Ellipse -} from 'react-native-svg'; - -class EllipseExample extends Component{ - static title = 'Ellipse'; - render() { - return - - ; - } -} - -class PileEllipses extends Component{ - static title = 'The following example creates three ellipses on top of each other'; - render() { - return - - - - ; - } -} - -class CombinedEllipses extends Component{ - static title = 'The following example combines two ellipses (one yellow and one white)'; - render() { - return - - - ; - } -} - -const icon = - -; - -const samples = [EllipseExample, PileEllipses, CombinedEllipses]; - -export { - icon, - samples -}; diff --git a/Example/examples/G.js b/Example/examples/G.js deleted file mode 100644 index 1e38e902..00000000 --- a/Example/examples/G.js +++ /dev/null @@ -1,169 +0,0 @@ -import React, { - Component -} from 'react'; - -import Svg, { - G, - Circle, - Line, - Rect, - Text, - Use -} from 'react-native-svg'; - -class GExample extends Component{ - static title = 'G children props inherit'; - - constructor() { - super(...arguments); - this.state = { - fill: 'purple' - }; - } - - componentDidMount = () => { - setTimeout(() => { - if (!this._unmounted) { - this.setState({ - fill: '#856' - }); - } - }, 2000); - }; - - componentWillUnmount = () => { - this._unmounted = true; - }; - - render() { - return - - - - - - - - - - ; - } -} - -class GTransform extends Component{ - static title = 'G transform'; - render() { - return - - - - - - - Text grouped with shapes - - - ; - } -} - -const icon = - - - - - - - -; - -const samples = [GExample, GTransform]; - -export { - icon, - samples -}; diff --git a/Example/examples/Gradients.js b/Example/examples/Gradients.js deleted file mode 100644 index dcb536a5..00000000 --- a/Example/examples/Gradients.js +++ /dev/null @@ -1,246 +0,0 @@ -import React, { - Component -} from 'react'; - -import Svg, { - Defs, - LinearGradient, - RadialGradient, - Stop, - Ellipse, - Circle, - Text, - Rect, - G -} from 'react-native-svg'; - -class LinearGradientHorizontal extends Component{ - static title = 'Define an ellipse with a horizontal linear gradient from yellow to red'; - render() { - return - - - - - - - - ; - } -} - -class LinearGradientVertical extends Component{ - static title = 'Define an ellipse with a vertical linear gradient from yellow to red'; - render() { - return - - - - - - - - - - - - ; - } -} - -class LinearGradientPercent extends Component{ - static title = 'Define a linear gradient in percent unit'; - render() { - return - - - - - - - x1=0% - x2=100% - - ; - } -} - -class RadialGradientExample extends Component{ - static title = 'Define an ellipse with a radial gradient from yellow to purple'; - render() { - return - - - - - - - - - - ; - } -} - -class RadialGradientPercent extends Component{ - static title = 'Define a radial gradient in percent unit'; - render() { - return - - - - - - - - ; - } -} - -class RadialGradientPart extends Component{ - static title = 'Define another ellipse with a radial gradient from white to blue'; - render() { - return - - - - - - - - ; - } -} - - -class FillGradientWithOpacity extends Component{ - static title = 'Fill a radial gradient with fillOpacity prop'; - render() { - return - - - - - - - - ; - } -} - -class FillGradientInRect extends Component{ - static title = 'Fill a radial gradient inside a rect and stroke it'; - render() { - return - - - - - - - - ; - } -} - -const icon = - - - - - - - -; - - -const samples = [ - LinearGradientHorizontal, - LinearGradientVertical, - LinearGradientPercent, - RadialGradientExample, - RadialGradientPercent, - RadialGradientPart, - FillGradientWithOpacity, - FillGradientInRect -]; - -export { - icon, - samples -}; diff --git a/Example/examples/Image.js b/Example/examples/Image.js deleted file mode 100644 index 6c92dd39..00000000 --- a/Example/examples/Image.js +++ /dev/null @@ -1,109 +0,0 @@ -import React, { - Component -} from 'react'; - -import Svg, { - Image, - Defs, - Circle, - ClipPath, - Rect, - Text -} from 'react-native-svg'; - -class ImageExample extends Component{ - static title = 'Draw Image with preserveAspectRatio prop'; - - render() { - return - - - - - - - - HOGWARTS - ; - } -} - -class ClipImage extends Component{ - static title = 'Clip Image'; - - render() { - return - - - - - - alert('press on Image')} - x="5%" - y="5%" - width="90%" - height="90%" - href={require('../image.jpg')} - opacity="0.6" - clipPath="url(#clip)" - /> - HOGWARTS - ; - } -} - -const icon = - -; - -const samples = [ImageExample, ClipImage]; - -export { - icon, - samples -}; diff --git a/Example/examples/Line.js b/Example/examples/Line.js deleted file mode 100644 index dd9da11c..00000000 --- a/Example/examples/Line.js +++ /dev/null @@ -1,87 +0,0 @@ -import React, { - Component -} from 'react'; - -import Svg, { - Line -} from 'react-native-svg'; - -class LineExample extends Component{ - static title = 'Line'; - - render() { - return - - ; - } -} - -class LineWithStrokeLinecap extends Component{ - static title = 'Line'; - - render() { - return - - - - ; - } -} - -const icon = - -; - -const samples = [LineExample, LineWithStrokeLinecap]; - -export { - icon, - samples -}; diff --git a/Example/examples/PanResponder.js b/Example/examples/PanResponder.js deleted file mode 100644 index 4f59c11a..00000000 --- a/Example/examples/PanResponder.js +++ /dev/null @@ -1,121 +0,0 @@ -import React, { - Component -} from 'react'; - -import { - PanResponder -} from 'react-native'; - -import Svg, { - Path, - Text, - G, - Line, - Polyline -} from 'react-native-svg'; - -class PanExample extends Component { - static title = 'Bind PanResponder on the SVG Shape'; - - constructor() { - super(...arguments); - this.state = { - x: 0, - y: 0, - hover: false - }; - } - - componentWillMount = () => { - this._panResponder = PanResponder.create({ - onStartShouldSetPanResponder: this._alwaysTrue, - onMoveShouldSetPanResponder: this._alwaysTrue, - onPanResponderGrant: this._handlePanResponderGrant, - onPanResponderMove: this._handlePanResponderMove, - onPanResponderRelease: this._handlePanResponderEnd, - onPanResponderTerminate: this._handlePanResponderEnd - }); - }; - - _previousLeft = 0; - - _previousTop = 0; - - _alwaysTrue = () => true; - - _handlePanResponderMove = (e, gestureState) => { - this.setState({ - x: this._previousLeft + gestureState.dx, - y: this._previousTop + gestureState.dy - }); - }; - - _handlePanResponderGrant = () => { - this.root.setNativeProps({ - opacity: 0.5 - }); - }; - - _handlePanResponderEnd = (e, gestureState) => { - this.root.setNativeProps({ - opacity: 1 - }); - this._previousLeft += gestureState.dx; - this._previousTop += gestureState.dy; - }; - - - render () { - return - {this.root = ele;}} - x={this.state.x} - y={this.state.y} - > - - STAR - - ; - } -} - -const icon = - - - - - - - - -; - -const samples = [ - PanExample -]; - -const scroll = false; - -export { - icon, - samples, - scroll -}; diff --git a/Example/examples/Path.js b/Example/examples/Path.js deleted file mode 100644 index 7377b876..00000000 --- a/Example/examples/Path.js +++ /dev/null @@ -1,122 +0,0 @@ -import React, { - Component -} from 'react'; - -import Svg, { - Path, - G, - Circle, - Text -} from 'react-native-svg'; - -class PathExample extends Component{ - static title = 'Path'; - - render() { - return - - - - - ; - } -} - -class UnclosedPath extends Component{ - static title = 'Unclosed paths'; - render() { - return - - ; - } -} - -class BezierCurve extends Component{ - static title = 'The following example creates a quadratic Bézier curve, where A and C are the start and end points, B is the control point'; - render() { - return - - - - - - - - - - - - A - B - C - - - - ; - } -} -const icon = - -; - -const samples = [PathExample, UnclosedPath, BezierCurve]; - -export { - icon, - samples -}; diff --git a/Example/examples/Polygon.js b/Example/examples/Polygon.js deleted file mode 100644 index bd85d5ba..00000000 --- a/Example/examples/Polygon.js +++ /dev/null @@ -1,104 +0,0 @@ -import React, { - Component -} from 'react'; - -import Svg, { - Polygon, - G -} from 'react-native-svg'; - -class PolygonExample extends Component{ - static title = 'The following example creates a polygon with three sides'; - - render() { - return - - ; - } -} - - -class FourSidePolygon extends Component{ - static title = 'The following example creates a polygon with four sides'; - render() { - return - - ; - } -} - -class StarPolygon extends Component{ - static title = 'Use the element to create a star'; - render() { - return - - - - ; - } -} - -class EvenOddPolygon extends Component{ - static title = 'Change the fill-rule property to "evenodd"'; - render() { - return - - - - ; - } -} - -const icon = - - - -; - -const samples = [PolygonExample, FourSidePolygon, StarPolygon, EvenOddPolygon]; - -export { - icon, - samples -}; diff --git a/Example/examples/Polyline.js b/Example/examples/Polyline.js deleted file mode 100644 index 2b92d254..00000000 --- a/Example/examples/Polyline.js +++ /dev/null @@ -1,96 +0,0 @@ -import React, { - Component -} from 'react'; - -import Svg, { - Polyline -} from 'react-native-svg'; - -class PolylineExample extends Component{ - static title = 'The element is used to create any shape that consists of only straight lines'; - render() { - return - - ; - } -} - -class StraightLines extends Component{ - static title = 'Another example with only straight lines'; - render() { - return - - ; - } -} - -class PolylineFill extends Component{ - static title = 'Fill Polyline'; - render() { - return - - ; - } -} - -class PolylineFillStroke extends Component{ - static title = 'Stroke Polyline with strokeLinecap and strokeLinejoin'; - render() { - return - - ; - } -} - -const icon = - -; - -const samples = [PolylineExample, StraightLines, PolylineFill, PolylineFillStroke]; - -export { - icon, - samples -}; diff --git a/Example/examples/Rect.js b/Example/examples/Rect.js deleted file mode 100644 index 30999a34..00000000 --- a/Example/examples/Rect.js +++ /dev/null @@ -1,139 +0,0 @@ -import React, { - Component -} from 'react'; - -import Svg, { - Rect -} from 'react-native-svg'; - -class RectExample extends Component{ - static title = 'Rect'; - render() { - return - - ; - } -} - -class RectStrokeFill extends Component{ - static title = '`stroke` and `fill` Rect'; - render() { - return - - ; - } -} - -class RoundedRect extends Component{ - static title = 'A rectangle with rounded corners'; - render() { - return - - ; - } -} - -class EllipseRect extends Component{ - static title = 'Rect with different `rx` and `ry`'; - render() { - return - - ; - } -} - -class RoundOverflowRect extends Component{ - static title = 'Rect with `rx` or `ry` overflowed'; - render() { - return - - ; - } -} - -const icon = - -; - -const samples = [RectExample, RectStrokeFill, RoundedRect, EllipseRect, RoundOverflowRect]; - -export { - icon, - samples -}; - - diff --git a/Example/examples/Reusable.js b/Example/examples/Reusable.js deleted file mode 100644 index d5e28f82..00000000 --- a/Example/examples/Reusable.js +++ /dev/null @@ -1,151 +0,0 @@ -import React, { - Component -} from 'react'; - -import Svg, { - Defs, - G, - Path, - Use, - Symbol, - Circle, - ClipPath, - LinearGradient, - RadialGradient, - Stop, - Rect -} from 'react-native-svg'; - -class UseExample extends Component{ - static title = 'Reuse svg code'; - render() { - return - - - - - - - - - - - - ; - } -} - -class UseShapes extends Component{ - static title = 'Using Shapes Outside of a Defs Element'; - render() { - return - - - - - - - ; - } -} - - -class DefsExample extends Component{ - static title = 'Basic Defs usage'; - - render() { - return - - - - - - - - - - - - - - - - - - - - - - - ; - } -} - -class SymbolExample extends Component{ - static title = 'Symbol example, reuse elements with viewBox prop'; - render() { - return - - - - - - - - - ; - } -} - -const icon = - - - - - - - - - - -; - -const samples = [UseExample, UseShapes, DefsExample, SymbolExample]; - -export { - icon, - samples -}; diff --git a/Example/examples/Stroking.js b/Example/examples/Stroking.js deleted file mode 100644 index a7772196..00000000 --- a/Example/examples/Stroking.js +++ /dev/null @@ -1,150 +0,0 @@ -import React, { - Component -} from 'react'; - -import Svg, { - Path, - Rect, - G, - Defs, - Stop, - RadialGradient, - Polyline, - ClipPath, - Circle, - Text -} from 'react-native-svg'; - -class StrokeExample extends Component{ - static title = 'The stroke property defines the color of a line, text or outline of an element'; - render() { - return - - - - - - ; - } -} - -class StrokeLinecap extends Component{ - static title = 'The strokeLinecap property defines different types of endings to an open path'; - render() { - return - - - - - - - - ; - } -} - -class StrokeDasharray extends Component{ - static title = 'strokeDasharray'; - render() { - return - - - - - - ; - } -} - -class StrokeDashoffset extends Component{ - static title = 'the strokeDashoffset attribute specifies the distance into the dash pattern to start the dash.'; - render() { - return - - STROKE - ; - } -} - -class StrokePattern extends Component{ - static title = 'Advanced stroke example.'; - render() { - return - - - - - - - - - - - - - ; - } -} - - -const icon = - - - - - -; - -const samples = [StrokeExample, StrokeLinecap, StrokeDasharray, StrokeDashoffset, StrokePattern]; -export { - icon, - samples -}; diff --git a/Example/examples/Svg.js b/Example/examples/Svg.js deleted file mode 100644 index 2447657c..00000000 --- a/Example/examples/Svg.js +++ /dev/null @@ -1,221 +0,0 @@ -import { - StyleSheet, - View, - Image -} from 'react-native'; - -import React, { - Component -} from 'react'; - -const styles = StyleSheet.create({ - container: { - flex: 1, - height: 100, - width: 200 - }, - svg: { - flex: 1, - alignSelf: 'stretch' - } -}); - -import Svg, { - Circle, - Rect, - Path, - Line, - G -} from 'react-native-svg'; - -class SvgExample extends Component{ - static title = 'SVG'; - render() { - return - - - ; - } -} - -class SvgOpacity extends Component{ - static title = 'SVG with `opacity` prop'; - render() { - return - - - ; - } -} - -class SvgViewbox extends Component{ - static title = 'SVG with `viewBox="40 20 100 40" and preserveAspectRatio="none"`'; - render() { - return - - - - - - - - ; - } -} - -class NullComponent extends Component { - render() { - return null; - } -} - -class SvgLayout extends Component{ - static title = 'SVG with flex layout'; - render() { - return - - - - - - - - - - ; - } -} - -class SvgNativeMethods extends Component { - static title = 'Tap the shapes to render the Image below based on the base64-data of the Svg'; - constructor() { - super(...arguments); - this.state = { - base64: null - }; - } - - alert = function () { - this.root.toDataURL(base64 => { - this.setState({ - base64 - }); - }); - }; - render() { - return - {this.root = ele;}}> - - - - - - - {this.state.base64 && } - - ; - } -} - -const icon = - - -; - -const samples = [ - SvgExample, - SvgOpacity, - SvgViewbox, - SvgLayout, - SvgNativeMethods -]; - -export { - icon, - samples -}; diff --git a/Example/examples/Text.js b/Example/examples/Text.js deleted file mode 100644 index 032192d8..00000000 --- a/Example/examples/Text.js +++ /dev/null @@ -1,217 +0,0 @@ -import React, { - Component -} from 'react'; - -import Svg, { - Text, - LinearGradient, - Stop, - Defs, - Path, - G, - TSpan, - TextPath -} from 'react-native-svg'; - -class TextExample extends Component{ - static title = 'Text'; - render() { - return - I love SVG! - ; - } -} - -class TextRotate extends Component{ - static title = 'Transform the text'; - - render() { - return - I love SVG - I love SVG - I love SVG - ; - } -} - -// TODO: iOS not support text stroke with pattern -class TextStroke extends Component{ - static title = 'Stroke the text'; - render() { - return - - - - - - - STROKE TEXT - ; - } -} - -class TextFill extends Component{ - static title = 'Fill the text with LinearGradient'; - render() { - return - - - - - - - - FILL TEXT - ; - } -} - - -class TextPath extends Component{ - static title = 'Draw text along path'; - - render() { - const path = ` - M 10 20 - C 20 10 30 0 40 10 - C 50 20 60 30 70 20 - C 80 10 90 10 90 10 - `; - - return - - - - - - - We go up, then we go down, - then up again - - - - - ; - } -} - -class TSpanExample extends Component{ - static title = 'TSpan nest'; - - render() { - - return - - tspan line 1 - tspan line 2 - tspan line 3 - - - 12345 - - 6 - 7 - - 89a - - delta on text - ; - } -} - -const icon = - 字 -; - -const samples = [ - TextExample, - TextRotate, - TextStroke, - TextFill, - TextPath, - TSpanExample -]; - -export { - icon, - samples -}; diff --git a/Example/examples/TouchEvents.js b/Example/examples/TouchEvents.js deleted file mode 100644 index 47f278c7..00000000 --- a/Example/examples/TouchEvents.js +++ /dev/null @@ -1,124 +0,0 @@ -import React, { - Component -} from 'react'; - -import Svg, { - Circle, - Path, - Rect, - G, - Text -} from 'react-native-svg'; - -class PressExample extends Component { - static title = 'Press on the red circle or long press on the blue rectangle to trigger the events'; - - render () { - return - alert('Press on Circle')} - /> - alert('Long press on Rect')} - /> - - ; - } -} - -class HoverExample extends Component { - static title = 'Hover the svg path'; - constructor () { - super(...arguments); - this.state = { - hover: false - }; - } - - toggle = () => { - this.setState({hover: !this.state.hover}); - }; - - render () { - return - - - - - - ; - } -} - -class GroupExample extends Component { - static title = 'Bind touch events callback on Group element with viewBox'; - - render () { - return - alert('Pressed on G')}> - - - - alert('Pressed on Text')}>H - - - - - ; - } - -} - -const icon = - - -; - -const samples = [ - PressExample, - HoverExample, - GroupExample -]; - -export { - icon, - samples -}; diff --git a/Example/exp.json b/Example/exp.json deleted file mode 100644 index be16d3c0..00000000 --- a/Example/exp.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "React Native SVG Examples", - "description": "react-native-svg is built to provide a SVG interface to react native on both iOS and Android. https://github.com/react-native-community/react-native-svg", - "slug": "react-native-svg-examples", - "sdkVersion": "10.0.0", - "version": "1.0.0", - "orientation": "portrait", - "primaryColor": "#cccccc", - "iconUrl": "https://s3.amazonaws.com/exp-brand-assets/ExponentEmptyManifest_192.png", - "notification": { - "iconUrl": "https://s3.amazonaws.com/exp-us-standard/placeholder-push-icon-blue-circle.png", - "color": "#000000" - }, - "loading": { - "iconUrl": "https://s3.amazonaws.com/exp-brand-assets/ExponentEmptyManifest_192.png", - "hideExponentText": false - }, - "packagerOpts": { - "assetExts": [ - "ttf" - ] - } -} diff --git a/Example/image.jpg b/Example/image.jpg deleted file mode 100644 index 8fddd5c17f4898a99fa0f4d295f11b7c225d4988..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13303 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Example/ios/SvgExample/AppDelegate.h b/Example/ios/SvgExample/AppDelegate.h deleted file mode 100644 index a9654d5e..00000000 --- a/Example/ios/SvgExample/AppDelegate.h +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Copyright (c) 2015-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - */ - -#import - -@interface AppDelegate : UIResponder - -@property (nonatomic, strong) UIWindow *window; - -@end diff --git a/Example/ios/SvgExample/AppDelegate.m b/Example/ios/SvgExample/AppDelegate.m deleted file mode 100644 index f77f4649..00000000 --- a/Example/ios/SvgExample/AppDelegate.m +++ /dev/null @@ -1,59 +0,0 @@ -/** - * Copyright (c) 2015-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - */ - -#import "AppDelegate.h" - -#import "RCTRootView.h" - -@implementation AppDelegate - -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions -{ - NSURL *jsCodeLocation; - - /** - * Loading JavaScript code - uncomment the one you want. - * - * OPTION 1 - * Load from development server. Start the server from the repository root: - * - * $ npm start - * - * To run on device, change `localhost` to the IP address of your computer - * (you can get this by typing `ifconfig` into the terminal and selecting the - * `inet` value under `en0:`) and make sure your computer and iOS device are - * on the same Wi-Fi network. - */ - - jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"]; - - /** - * OPTION 2 - * Load from pre-bundled file on disk. The static bundle is automatically - * generated by the "Bundle React Native code and images" build step when - * running the project on an actual device or running the project on the - * simulator in the "Release" build configuration. - */ - -// jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; - - RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation - moduleName:@"SvgExample" - initialProperties:nil - launchOptions:launchOptions]; - - self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; - UIViewController *rootViewController = [UIViewController new]; - rootViewController.view = rootView; - self.window.rootViewController = rootViewController; - [self.window makeKeyAndVisible]; - return YES; -} - -@end diff --git a/Example/ios/SvgExample/Base.lproj/LaunchScreen.xib b/Example/ios/SvgExample/Base.lproj/LaunchScreen.xib deleted file mode 100644 index 6ea63487..00000000 --- a/Example/ios/SvgExample/Base.lproj/LaunchScreen.xib +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Example/ios/SvgExample/Images.xcassets/AppIcon.appiconset/Contents.json b/Example/ios/SvgExample/Images.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 118c98f7..00000000 --- a/Example/ios/SvgExample/Images.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "images" : [ - { - "idiom" : "iphone", - "size" : "29x29", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "29x29", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "40x40", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "40x40", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "60x60", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "60x60", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Example/ios/SvgExample/Info.plist b/Example/ios/SvgExample/Info.plist deleted file mode 100644 index 682480a6..00000000 --- a/Example/ios/SvgExample/Info.plist +++ /dev/null @@ -1,47 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - LSRequiresIPhoneOS - - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - - NSLocationWhenInUseUsageDescription - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - - diff --git a/Example/ios/SvgExample/main.m b/Example/ios/SvgExample/main.m deleted file mode 100644 index 3d767fcb..00000000 --- a/Example/ios/SvgExample/main.m +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Copyright (c) 2015-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - */ - -#import - -#import "AppDelegate.h" - -int main(int argc, char * argv[]) { - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); - } -} diff --git a/Example/main.js b/Example/main.js deleted file mode 100644 index a0ff49d8..00000000 --- a/Example/main.js +++ /dev/null @@ -1,267 +0,0 @@ -/** - * Sample React Native App for react-native-svg library - * https://github.com/magicismight/react-native-svg/tree/master/Example - */ -'use strict'; - -// eslint-disable-next-line no-unused-vars -import Exponent from 'exponent'; -import React, {Component} from 'react'; -import {Dimensions} from 'react-native'; - -import { - AppRegistry, - StyleSheet, - Text, - View, - ScrollView, - TouchableHighlight, - TouchableOpacity, - Animated, - Easing -} from 'react-native'; - -import { - Svg, - Circle, - Line -} from 'react-native-svg'; - -import * as examples from './examples'; -import 'react-native-root-modal'; - -const hairline = StyleSheet.hairlineWidth; - -const styles = StyleSheet.create({ - container: { - flex: 1, - paddingTop: 20, - alignItems: 'center', - overflow: 'hidden' - }, - content: { - flex: 1, - alignSelf: 'stretch' - }, - contentContainer: { - alignSelf: 'stretch', - borderTopWidth: hairline, - borderTopColor: '#ccc', - borderBottomWidth: hairline, - borderBottomColor: '#ccc', - flexWrap: 'wrap', - flexDirection: 'row', - marginHorizontal: 10 - }, - welcome: { - padding: 10, - color: '#f60', - fontSize: 18, - fontWeight: 'bold' - }, - link: { - height: 40, - alignSelf: 'stretch', - width: Dimensions.get('window').width / 2 - 10 - }, - title: { - marginLeft: 10 - }, - cell: { - height: 40, - paddingHorizontal: 10, - alignSelf: 'stretch', - alignItems: 'center', - flexDirection: 'row', - borderTopWidth: hairline, - borderTopColor: '#ccc', - marginTop: -hairline, - backgroundColor: 'transparent' - }, - modal: { - top: 0, - right: 0, - bottom: 0, - left: 0, - backgroundColor: 'rgba(0, 0, 0, 0.2)' - }, - close: { - position: 'absolute', - right: 20, - top: 40 - }, - scroll: { - position: 'absolute', - top: 30, - right: 10, - bottom: 20, - left: 10, - backgroundColor: '#fff' - }, - scrollContent: { - borderTopWidth: hairline, - borderTopColor: '#ccc' - }, - example: { - paddingVertical: 25, - alignSelf: 'stretch', - alignItems: 'center', - borderBottomWidth: hairline, - borderBottomColor: '#ccc' - }, - sampleTitle: { - marginHorizontal: 15, - fontSize: 16, - color: '#666' - } -}); - -const names = ['Svg', 'Stroking', 'Path', 'Line', 'Rect', 'Polygon', 'Polyline', 'Circle', 'Ellipse', 'G', 'Text', 'Gradients', 'Clipping', 'Image', 'TouchEvents', 'PanResponder', 'Reusable']; - -class SvgExample extends Component { - constructor() { - super(...arguments); - this.state = { - modal: false, - scale: new Animated.Value(0) - }; - } - - getSamples = (samples) => { - return samples.map((Sample, i) => - - {Sample.title} - - - ); - }; - - show = (name) => { - if (this.state.modal) { - return; - } - - let example = examples[name]; - if (example) { - let samples = example.samples; - this.state.scale.setValue(0); - Animated.spring(this.state.scale, { - toValue: 1, - useNativeDriver: false - }).start(); - - this.setState({ - modal: true, - content: - {this.getSamples(samples)} - , - scroll: example.scroll !== false - }); - } - }; - - hide = () => { - this.state.scale.setValue(1); - Animated.timing(this.state.scale, { - toValue: 0, - easing: Easing.in(Easing.back(2)) - }).start(({finished}) => finished && this.setState({ - modal: false, - content: null - })); - }; - - getExamples = () => { - return names.map(name => { - var icon; - let example = examples[name]; - if (example) { - icon = example.icon; - } - return this.show(name)} - > - - {icon} - {name} - - ; - }); - }; - - render() { - return - - - {this.state.content} - - - - - - - - - - - - - SVG library for React Native - - - {this.getExamples()} - - ; - } -} - -AppRegistry.registerComponent('main', () => SvgExample); -AppRegistry.registerComponent('SvgExample', () => SvgExample); diff --git a/Example/package.json b/Example/package.json deleted file mode 100644 index 476058ce..00000000 --- a/Example/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "SvgExample", - "version": "1.0.0", - "private": true, - "scripts": { - "start": "react-native start" - }, - "dependencies": { - "react": "15.3.1", - "react-native": "github:exponentjs/react-native#sdk-10.0.0", - "react-native-root-modal": "^1.0.4", - "@exponent/vector-icons": "^1.0.1", - "exponent": "^10.0.0" - }, - "main": "main.js" -} diff --git a/package.json b/package.json index 76029a7c..3f40c9b0 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "5.1.2", + "version": "5.1.3", "name": "react-native-svg", "description": "SVG library for react-native", "repository": {