fix: reanimated on old architecture (#1869)

PR adding option for `Double` for all props that were of type `NumberProp` on `Android` so `reanimated` works the same as before on old architecture. It also introduces the change of how `fill` and `stroke` should be constructed for options not going through `render` method, e.g. `react-native-reanimated`. An example of how to handle it can be seen in the provided example: https://github.com/react-native-svg/react-native-svg/pull/1869/files#diff-76a76277daf14518270e8aea8a5e9358a8215d7e4276d2e5f1c4fe95107cdc20
This commit is contained in:
Wojciech Lewicki
2022-09-15 12:08:57 +02:00
committed by GitHub
parent ee6e5da195
commit 3a04189df8
111 changed files with 3547 additions and 2124 deletions

View File

@@ -11,6 +11,8 @@ node_modules/react-native/Libraries/polyfills/.*
; Flow doesn't support platforms
.*/Libraries/Utilities/LoadingView.js
.*/node_modules/resolve/test/resolver/malformed_package_json/package\.json$
[untyped]
.*/node_modules/@react-native-community/cli/.*/.*
@@ -50,7 +52,6 @@ nonstrict-import=warn
deprecated-type=warn
unsafe-getters-setters=warn
unnecessary-invariant=warn
signature-verification-failure=warn
[strict]
deprecated-type
@@ -62,4 +63,4 @@ untyped-import
untyped-type-import
[version]
^0.170.0
^0.182.0

View File

@@ -20,6 +20,7 @@ DerivedData
*.hmap
*.ipa
*.xcuserstate
ios/.xcode.env.local
# Android/IntelliJ
#
@@ -29,6 +30,7 @@ build/
local.properties
*.iml
*.hprof
.cxx/
# node.js
#
@@ -49,9 +51,10 @@ buck-out/
# For more information about the recommended setup visit:
# https://docs.fastlane.tools/best-practices/source-control/
*/fastlane/report.xml
*/fastlane/Preview.html
*/fastlane/screenshots
**/fastlane/report.xml
**/fastlane/Preview.html
**/fastlane/screenshots
**/fastlane/test_output
# Bundle artifact
*.jsbundle

View File

@@ -1,6 +1,5 @@
module.exports = {
arrowParens: 'avoid',
jsxBracketSameLine: true,
bracketSameLine: true,
bracketSpacing: false,
singleQuote: true,

View File

@@ -1,8 +1,10 @@
/* eslint-disable no-unused-vars */
import React from 'react';
import ColorTest from './src/ColorTest';
import Test1718 from './src/Test1718';
import Test1813 from './src/Test1813';
import Test1845 from './src/Test1845';
export default function App() {
return <ColorTest />;

View File

@@ -1,6 +1,6 @@
source 'https://rubygems.org'
# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
ruby '2.7.4'
ruby '2.7.5'
gem 'cocoapods', '~> 1.11', '>= 1.11.2'

View File

@@ -1,100 +0,0 @@
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.5)
rexml
activesupport (6.1.4.4)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
zeitwerk (~> 2.3)
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
algoliasearch (1.27.5)
httpclient (~> 2.8, >= 2.8.3)
json (>= 1.5.1)
atomos (0.1.3)
claide (1.1.0)
cocoapods (1.11.2)
addressable (~> 2.8)
claide (>= 1.0.2, < 2.0)
cocoapods-core (= 1.11.2)
cocoapods-deintegrate (>= 1.0.3, < 2.0)
cocoapods-downloader (>= 1.4.0, < 2.0)
cocoapods-plugins (>= 1.0.0, < 2.0)
cocoapods-search (>= 1.0.0, < 2.0)
cocoapods-trunk (>= 1.4.0, < 2.0)
cocoapods-try (>= 1.1.0, < 2.0)
colored2 (~> 3.1)
escape (~> 0.0.4)
fourflusher (>= 2.3.0, < 3.0)
gh_inspector (~> 1.0)
molinillo (~> 0.8.0)
nap (~> 1.0)
ruby-macho (>= 1.0, < 3.0)
xcodeproj (>= 1.21.0, < 2.0)
cocoapods-core (1.11.2)
activesupport (>= 5.0, < 7)
addressable (~> 2.8)
algoliasearch (~> 1.0)
concurrent-ruby (~> 1.1)
fuzzy_match (~> 2.0.4)
nap (~> 1.0)
netrc (~> 0.11)
public_suffix (~> 4.0)
typhoeus (~> 1.0)
cocoapods-deintegrate (1.0.5)
cocoapods-downloader (1.6.3)
cocoapods-plugins (1.0.0)
nap
cocoapods-search (1.0.1)
cocoapods-trunk (1.6.0)
nap (>= 0.8, < 2.0)
netrc (~> 0.11)
cocoapods-try (1.2.0)
colored2 (3.1.2)
concurrent-ruby (1.1.9)
escape (0.0.4)
ethon (0.15.0)
ffi (>= 1.15.0)
ffi (1.15.5)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
httpclient (2.8.3)
i18n (1.9.1)
concurrent-ruby (~> 1.0)
json (2.6.1)
minitest (5.15.0)
molinillo (0.8.0)
nanaimo (0.3.0)
nap (1.1.0)
netrc (0.11.0)
public_suffix (4.0.6)
rexml (3.2.5)
ruby-macho (2.5.1)
typhoeus (1.4.0)
ethon (>= 0.9.0)
tzinfo (2.0.4)
concurrent-ruby (~> 1.0)
xcodeproj (1.21.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.3.0)
rexml (~> 3.2.4)
zeitwerk (2.5.4)
PLATFORMS
ruby
DEPENDENCIES
cocoapods (~> 1.11, >= 1.11.2)
RUBY VERSION
ruby 2.7.4p191
BUNDLED WITH
2.2.27

View File

@@ -0,0 +1 @@
16

View File

@@ -1 +1 @@
2.7.4
2.7.5

View File

@@ -1,6 +1,7 @@
apply plugin: "com.android.application"
import com.android.build.OutputFile
import org.apache.tools.ant.taskdefs.condition.Os
/**
* The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
@@ -78,7 +79,7 @@ import com.android.build.OutputFile
*/
project.ext.react = [
enableHermes: false, // clean and rebuild if changing
enableHermes: true, // clean and rebuild if changing
]
apply from: "../../node_modules/react-native/react.gradle"
@@ -142,21 +143,19 @@ android {
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
if (isNewArchitectureEnabled()) {
// We configure the NDK build only if you decide to opt-in for the New Architecture.
// We configure the CMake build only if you decide to opt-in for the New Architecture.
externalNativeBuild {
ndkBuild {
arguments "APP_PLATFORM=android-21",
"APP_STL=c++_shared",
"NDK_TOOLCHAIN_VERSION=clang",
"GENERATED_SRC_DIR=$buildDir/generated/source",
"PROJECT_BUILD_DIR=$buildDir",
"REACT_ANDROID_DIR=$rootDir/../node_modules/react-native/ReactAndroid",
"REACT_ANDROID_BUILD_DIR=$rootDir/../node_modules/react-native/ReactAndroid/build"
cFlags "-Wall", "-Werror", "-fexceptions", "-frtti", "-DWITH_INSPECTOR=1"
cppFlags "-std=c++17"
// Make sure this target name is the same you specify inside the
// src/main/jni/Android.mk file for the `LOCAL_MODULE` variable.
targets "testsexample_appmodules"
cmake {
arguments "-DPROJECT_BUILD_DIR=$buildDir",
"-DREACT_ANDROID_DIR=$rootDir/../node_modules/react-native/ReactAndroid",
"-DREACT_ANDROID_BUILD_DIR=$rootDir/../node_modules/react-native/ReactAndroid/build",
"-DNODE_MODULES_DIR=$rootDir/../node_modules",
"-DANDROID_STL=c++_shared"
}
}
if (!enableSeparateBuildPerCPUArchitecture) {
ndk {
abiFilters (*reactNativeArchitectures())
}
}
}
@@ -165,8 +164,8 @@ android {
if (isNewArchitectureEnabled()) {
// We configure the NDK build only if you decide to opt-in for the New Architecture.
externalNativeBuild {
ndkBuild {
path "$projectDir/src/main/jni/Android.mk"
cmake {
path "$projectDir/src/main/jni/CMakeLists.txt"
}
}
def reactAndroidProjectDir = project(':ReactAndroid').projectDir
@@ -186,6 +185,20 @@ android {
// preBuild.dependsOn("generateCodegenArtifactsFromSchema")
preDebugBuild.dependsOn(packageReactNdkDebugLibs)
preReleaseBuild.dependsOn(packageReactNdkReleaseLibs)
// Due to a bug inside AGP, we have to explicitly set a dependency
// between configureCMakeDebug* tasks and the preBuild tasks.
// This can be removed once this is solved: https://issuetracker.google.com/issues/207403732
configureCMakeRelWithDebInfo.dependsOn(preReleaseBuild)
configureCMakeDebug.dependsOn(preDebugBuild)
reactNativeArchitectures().each { architecture ->
tasks.findByName("configureCMakeDebug[${architecture}]")?.configure {
dependsOn("preDebugBuild")
}
tasks.findByName("configureCMakeRelWithDebInfo[${architecture}]")?.configure {
dependsOn("preReleaseBuild")
}
}
}
}
@@ -238,14 +251,8 @@ android {
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
// If new architecture is enabled, we let you build RN from source
// Otherwise we fallback to a prebuilt .aar bundled in the NPM package.
if (isNewArchitectureEnabled()) {
implementation project(":ReactAndroid")
} else {
//noinspection GradleDynamicVersion
implementation "com.facebook.react:react-native:+" // From node_modules
}
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
@@ -263,14 +270,31 @@ dependencies {
}
if (enableHermes) {
def hermesPath = "../../node_modules/hermes-engine/android/";
debugImplementation files(hermesPath + "hermes-debug.aar")
releaseImplementation files(hermesPath + "hermes-release.aar")
//noinspection GradleDynamicVersion
implementation("com.facebook.react:hermes-engine:+") { // From node_modules
exclude group:'com.facebook.fbjni'
}
} else {
implementation jscFlavor
}
}
if (isNewArchitectureEnabled()) {
// If new architecture is enabled, we let you build RN from source
// Otherwise we fallback to a prebuilt .aar bundled in the NPM package.
// This will be applied to all the imported transtitive dependency.
configurations.all {
resolutionStrategy.dependencySubstitution {
substitute(module("com.facebook.react:react-native"))
.using(project(":ReactAndroid"))
.because("On New Architecture we're building React Native from source")
substitute(module("com.facebook.react:hermes-engine"))
.using(project(":ReactAndroid:hermes-engine"))
.because("On New Architecture we're building Hermes from source")
}
}
}
// 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) {

View File

@@ -17,7 +17,8 @@ public class MainActivity extends ReactActivity {
/**
* Returns the instance of the {@link ReactActivityDelegate}. There the RootView is created and
* you can specify the rendered you wish to use (Fabric or the older renderer).
* you can specify the renderer you wish to use - the new renderer (Fabric) or the old renderer
* (Paper).
*/
@Override
protected ReactActivityDelegate createReactActivityDelegate() {
@@ -36,5 +37,12 @@ public class MainActivity extends ReactActivity {
reactRootView.setIsFabric(BuildConfig.IS_NEW_ARCHITECTURE_ENABLED);
return reactRootView;
}
@Override
protected boolean isConcurrentRootEnabled() {
// If you opted-in for the New Architecture, we enable Concurrent Root (i.e. React 18).
// More on this on https://reactjs.org/blog/2022/03/29/react-v18.html
return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
}
}
}

View File

@@ -16,8 +16,8 @@ import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.UIManager;
import com.facebook.react.fabric.ComponentFactory;
import com.facebook.react.fabric.CoreComponentsRegistry;
import com.facebook.react.fabric.EmptyReactNativeConfig;
import com.facebook.react.fabric.FabricJSIModuleProvider;
import com.facebook.react.fabric.ReactNativeConfig;
import com.facebook.react.uimanager.ViewManagerRegistry;
import com.testsexample.BuildConfig;
import com.testsexample.newarchitecture.components.MainComponentsRegistry;
@@ -105,7 +105,7 @@ public class MainApplicationReactNativeHost extends ReactNativeHost {
return new FabricJSIModuleProvider(
reactApplicationContext,
componentFactory,
new EmptyReactNativeConfig(),
ReactNativeConfig.DEFAULT_CONFIG,
viewManagerRegistry);
}
});

View File

@@ -1,49 +0,0 @@
THIS_DIR := $(call my-dir)
include $(REACT_ANDROID_DIR)/Android-prebuilt.mk
# If you wish to add a custom TurboModule or Fabric component in your app you
# will have to include the following autogenerated makefile.
# include $(GENERATED_SRC_DIR)/codegen/jni/Android.mk
include $(CLEAR_VARS)
LOCAL_PATH := $(THIS_DIR)
# You can customize the name of your application .so file here.
LOCAL_MODULE := testsexample_appmodules
LOCAL_C_INCLUDES := $(LOCAL_PATH)
LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp)
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
# If you wish to add a custom TurboModule or Fabric component in your app you
# will have to uncomment those lines to include the generated source
# files from the codegen (placed in $(GENERATED_SRC_DIR)/codegen/jni)
#
# LOCAL_C_INCLUDES += $(GENERATED_SRC_DIR)/codegen/jni
# LOCAL_SRC_FILES += $(wildcard $(GENERATED_SRC_DIR)/codegen/jni/*.cpp)
# LOCAL_EXPORT_C_INCLUDES += $(GENERATED_SRC_DIR)/codegen/jni
# Here you should add any native library you wish to depend on.
LOCAL_SHARED_LIBRARIES := \
libfabricjni \
libfbjni \
libfolly_futures \
libfolly_json \
libglog \
libjsi \
libreact_codegen_rncore \
libreact_debug \
libreact_nativemodule_core \
libreact_render_componentregistry \
libreact_render_core \
libreact_render_debug \
libreact_render_graphics \
librrc_view \
libruntimeexecutor \
libturbomodulejsijni \
libyoga
LOCAL_CFLAGS := -DLOG_TAG=\"ReactNative\" -fexceptions -frtti -std=c++17 -Wall
include $(BUILD_SHARED_LIBRARY)

View File

@@ -0,0 +1,7 @@
cmake_minimum_required(VERSION 3.13)
# Define the library name here.
project(testsexample_appmodules)
# This file includes all the necessary to let you build your application with the New Architecture.
include(${REACT_ANDROID_DIR}/cmake-utils/ReactNative-application.cmake)

View File

@@ -1,12 +1,13 @@
#include "MainApplicationModuleProvider.h"
#include <rncli.h>
#include <rncore.h>
namespace facebook {
namespace react {
std::shared_ptr<TurboModule> MainApplicationModuleProvider(
const std::string moduleName,
const std::string &moduleName,
const JavaTurboModule::InitParams &params) {
// Here you can provide your own module provider for TurboModules coming from
// either your application or from external libraries. The approach to follow
@@ -17,6 +18,13 @@ std::shared_ptr<TurboModule> MainApplicationModuleProvider(
// return module;
// }
// return rncore_ModuleProvider(moduleName, params);
// Module providers autolinked by RN CLI
auto rncli_module = rncli_ModuleProvider(moduleName, params);
if (rncli_module != nullptr) {
return rncli_module;
}
return rncore_ModuleProvider(moduleName, params);
}

View File

@@ -9,7 +9,7 @@ namespace facebook {
namespace react {
std::shared_ptr<TurboModule> MainApplicationModuleProvider(
const std::string moduleName,
const std::string &moduleName,
const JavaTurboModule::InitParams &params);
} // namespace react

View File

@@ -22,21 +22,21 @@ void MainApplicationTurboModuleManagerDelegate::registerNatives() {
std::shared_ptr<TurboModule>
MainApplicationTurboModuleManagerDelegate::getTurboModule(
const std::string name,
const std::shared_ptr<CallInvoker> jsInvoker) {
const std::string &name,
const std::shared_ptr<CallInvoker> &jsInvoker) {
// Not implemented yet: provide pure-C++ NativeModules here.
return nullptr;
}
std::shared_ptr<TurboModule>
MainApplicationTurboModuleManagerDelegate::getTurboModule(
const std::string name,
const std::string &name,
const JavaTurboModule::InitParams &params) {
return MainApplicationModuleProvider(name, params);
}
bool MainApplicationTurboModuleManagerDelegate::canCreateTurboModule(
std::string name) {
const std::string &name) {
return getTurboModule(name, nullptr) != nullptr ||
getTurboModule(name, {.moduleName = name}) != nullptr;
}

View File

@@ -21,17 +21,17 @@ class MainApplicationTurboModuleManagerDelegate
static void registerNatives();
std::shared_ptr<TurboModule> getTurboModule(
const std::string name,
const std::shared_ptr<CallInvoker> jsInvoker) override;
const std::string &name,
const std::shared_ptr<CallInvoker> &jsInvoker) override;
std::shared_ptr<TurboModule> getTurboModule(
const std::string name,
const std::string &name,
const JavaTurboModule::InitParams &params) override;
/**
* Test-only method. Allows user to verify whether a TurboModule can be
* created by instances of this class.
*/
bool canCreateTurboModule(std::string name);
bool canCreateTurboModule(const std::string &name);
};
} // namespace react

View File

@@ -4,6 +4,7 @@
#include <fbjni/fbjni.h>
#include <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h>
#include <react/renderer/components/rncore/ComponentDescriptors.h>
#include <rncli.h>
namespace facebook {
namespace react {
@@ -14,6 +15,9 @@ std::shared_ptr<ComponentDescriptorProviderRegistry const>
MainComponentsRegistry::sharedProviderRegistry() {
auto providerRegistry = CoreComponentsRegistry::sharedProviderRegistry();
// Autolinked providers registered by RN CLI
rncli_registerProviders(providerRegistry);
// Custom Fabric Components go here. You can register custom
// components coming from your App or from 3rd party libraries here.
//

View File

@@ -6,16 +6,23 @@ buildscript {
minSdkVersion = 21
compileSdkVersion = 31
targetSdkVersion = 31
if (System.properties['os.arch'] == "aarch64") {
// For M1 Users we need to use the NDK 24 which added support for aarch64
ndkVersion = "24.0.8215888"
} else {
// Otherwise we default to the side-by-side NDK version from AGP.
ndkVersion = "21.4.7075529"
}
}
repositories {
google()
mavenCentral()
}
dependencies {
classpath("com.android.tools.build:gradle:7.0.4")
classpath("com.android.tools.build:gradle:7.2.1")
classpath("com.facebook.react:react-native-gradle-plugin")
classpath("de.undercouch:gradle-download-task:4.1.2")
classpath("de.undercouch:gradle-download-task:5.0.1")
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}

View File

@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

View File

@@ -6,4 +6,6 @@ includeBuild('../node_modules/react-native-gradle-plugin')
if (settings.hasProperty("newArchEnabled") && settings.newArchEnabled == "true") {
include(":ReactAndroid")
project(":ReactAndroid").projectDir = file('../node_modules/react-native/ReactAndroid')
include(":ReactAndroid:hermes-engine")
project(":ReactAndroid:hermes-engine").projectDir = file('../node_modules/react-native/ReactAndroid/hermes-engine')
}

View File

@@ -1,3 +1,6 @@
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
plugins: [
'react-native-reanimated/plugin',
],
};

View File

@@ -1,7 +1,7 @@
require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
platform :ios, '11.0'
platform :ios, '12.4'
install! 'cocoapods', :deterministic_uuids => false
target 'TestsExample' do
@@ -12,11 +12,18 @@ target 'TestsExample' do
use_react_native!(
:path => config[:reactNativePath],
# to enable hermes on iOS, change `false` to `true` and then install pods
:hermes_enabled => flags[:hermes_enabled],
# Hermes is now enabled by default. Disable by setting this flag to false.
# Upcoming versions of React Native may rely on get_default_flags(), but
# we make it explicit here to aid in the React Native upgrade process.
:hermes_enabled => true,
:fabric_enabled => flags[:fabric_enabled],
# An abosolute path to your application root.
:app_path => "#{Dir.pwd}/.."
# Enables Flipper.
#
# Note that if you have use_frameworks! enabled, Flipper will not work and
# you should disable the next line.
:flipper_configuration => FlipperConfiguration.enabled,
# An absolute path to your application root.
:app_path => "#{Pod::Config.instance.installation_root}/.."
)
target 'TestsExampleTests' do
@@ -24,14 +31,13 @@ target 'TestsExample' do
# Pods for testing
end
# Enables Flipper.
#
# Note that if you have use_frameworks! enabled, Flipper will not work and
# you should disable the next line.
use_flipper!()
post_install do |installer|
react_native_post_install(installer)
react_native_post_install(
installer,
# Set `mac_catalyst_enabled` to `true` in order to apply patches
# necessary for Mac Catalyst builds
:mac_catalyst_enabled => false
)
__apply_Xcode_12_5_M1_post_install_workaround(installer)
end
end

View File

@@ -2,19 +2,19 @@ PODS:
- boost (1.76.0)
- CocoaAsyncSocket (7.6.5)
- DoubleConversion (1.1.6)
- FBLazyVector (0.68.0-rc.1)
- FBReactNativeSpec (0.68.0-rc.1):
- RCT-Folly (= 2021.06.28.00-v2)
- RCTRequired (= 0.68.0-rc.1)
- RCTTypeSafety (= 0.68.0-rc.1)
- React-Core (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- ReactCommon/turbomodule/core (= 0.68.0-rc.1)
- FBLazyVector (0.70.0)
- FBReactNativeSpec (0.70.0):
- RCT-Folly (= 2021.07.22.00)
- RCTRequired (= 0.70.0)
- RCTTypeSafety (= 0.70.0)
- React-Core (= 0.70.0)
- React-jsi (= 0.70.0)
- ReactCommon/turbomodule/core (= 0.70.0)
- Flipper (0.125.0):
- Flipper-Folly (~> 2.6)
- Flipper-RSocket (~> 1.4)
- Flipper-Boost-iOSX (1.76.0.1.11)
- Flipper-DoubleConversion (3.1.7)
- Flipper-DoubleConversion (3.2.0.1)
- Flipper-Fmt (7.1.7)
- Flipper-Folly (2.6.10):
- Flipper-Boost-iOSX
@@ -23,7 +23,7 @@ PODS:
- Flipper-Glog
- libevent (~> 2.1.12)
- OpenSSL-Universal (= 1.1.1100)
- Flipper-Glog (0.3.9)
- Flipper-Glog (0.5.0.5)
- Flipper-PeerTalk (0.0.4)
- Flipper-RSocket (1.4.3):
- Flipper-Folly (~> 2.6)
@@ -73,281 +73,329 @@ PODS:
- FlipperKit/FlipperKitNetworkPlugin
- fmt (6.2.1)
- glog (0.3.5)
- hermes-engine (0.70.0)
- libevent (2.1.12)
- OpenSSL-Universal (1.1.1100)
- RCT-Folly (2021.06.28.00-v2):
- RCT-Folly (2021.07.22.00):
- boost
- DoubleConversion
- fmt (~> 6.2.1)
- glog
- RCT-Folly/Default (= 2021.06.28.00-v2)
- RCT-Folly/Default (2021.06.28.00-v2):
- RCT-Folly/Default (= 2021.07.22.00)
- RCT-Folly/Default (2021.07.22.00):
- boost
- DoubleConversion
- fmt (~> 6.2.1)
- glog
- RCTRequired (0.68.0-rc.1)
- RCTTypeSafety (0.68.0-rc.1):
- FBLazyVector (= 0.68.0-rc.1)
- RCT-Folly (= 2021.06.28.00-v2)
- RCTRequired (= 0.68.0-rc.1)
- React-Core (= 0.68.0-rc.1)
- React (0.68.0-rc.1):
- React-Core (= 0.68.0-rc.1)
- React-Core/DevSupport (= 0.68.0-rc.1)
- React-Core/RCTWebSocket (= 0.68.0-rc.1)
- React-RCTActionSheet (= 0.68.0-rc.1)
- React-RCTAnimation (= 0.68.0-rc.1)
- React-RCTBlob (= 0.68.0-rc.1)
- React-RCTImage (= 0.68.0-rc.1)
- React-RCTLinking (= 0.68.0-rc.1)
- React-RCTNetwork (= 0.68.0-rc.1)
- React-RCTSettings (= 0.68.0-rc.1)
- React-RCTText (= 0.68.0-rc.1)
- React-RCTVibration (= 0.68.0-rc.1)
- React-callinvoker (0.68.0-rc.1)
- React-Codegen (0.68.0-rc.1):
- FBReactNativeSpec (= 0.68.0-rc.1)
- RCT-Folly (= 2021.06.28.00-v2)
- RCTRequired (= 0.68.0-rc.1)
- RCTTypeSafety (= 0.68.0-rc.1)
- React-Core (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- React-jsiexecutor (= 0.68.0-rc.1)
- ReactCommon/turbomodule/core (= 0.68.0-rc.1)
- React-Core (0.68.0-rc.1):
- RCT-Folly/Futures (2021.07.22.00):
- boost
- DoubleConversion
- fmt (~> 6.2.1)
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default (= 0.68.0-rc.1)
- React-cxxreact (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- React-jsiexecutor (= 0.68.0-rc.1)
- React-perflogger (= 0.68.0-rc.1)
- libevent
- RCTRequired (0.70.0)
- RCTTypeSafety (0.70.0):
- FBLazyVector (= 0.70.0)
- RCTRequired (= 0.70.0)
- React-Core (= 0.70.0)
- React (0.70.0):
- React-Core (= 0.70.0)
- React-Core/DevSupport (= 0.70.0)
- React-Core/RCTWebSocket (= 0.70.0)
- React-RCTActionSheet (= 0.70.0)
- React-RCTAnimation (= 0.70.0)
- React-RCTBlob (= 0.70.0)
- React-RCTImage (= 0.70.0)
- React-RCTLinking (= 0.70.0)
- React-RCTNetwork (= 0.70.0)
- React-RCTSettings (= 0.70.0)
- React-RCTText (= 0.70.0)
- React-RCTVibration (= 0.70.0)
- React-bridging (0.70.0):
- RCT-Folly (= 2021.07.22.00)
- React-jsi (= 0.70.0)
- React-callinvoker (0.70.0)
- React-Codegen (0.70.0):
- FBReactNativeSpec (= 0.70.0)
- RCT-Folly (= 2021.07.22.00)
- RCTRequired (= 0.70.0)
- RCTTypeSafety (= 0.70.0)
- React-Core (= 0.70.0)
- React-jsi (= 0.70.0)
- React-jsiexecutor (= 0.70.0)
- ReactCommon/turbomodule/core (= 0.70.0)
- React-Core (0.70.0):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.70.0)
- React-cxxreact (= 0.70.0)
- React-jsi (= 0.70.0)
- React-jsiexecutor (= 0.70.0)
- React-perflogger (= 0.70.0)
- Yoga
- React-Core/CoreModulesHeaders (0.68.0-rc.1):
- React-Core/CoreModulesHeaders (0.70.0):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- React-jsiexecutor (= 0.68.0-rc.1)
- React-perflogger (= 0.68.0-rc.1)
- React-cxxreact (= 0.70.0)
- React-jsi (= 0.70.0)
- React-jsiexecutor (= 0.70.0)
- React-perflogger (= 0.70.0)
- Yoga
- React-Core/Default (0.68.0-rc.1):
- React-Core/Default (0.70.0):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-cxxreact (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- React-jsiexecutor (= 0.68.0-rc.1)
- React-perflogger (= 0.68.0-rc.1)
- RCT-Folly (= 2021.07.22.00)
- React-cxxreact (= 0.70.0)
- React-jsi (= 0.70.0)
- React-jsiexecutor (= 0.70.0)
- React-perflogger (= 0.70.0)
- Yoga
- React-Core/DevSupport (0.68.0-rc.1):
- React-Core/DevSupport (0.70.0):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default (= 0.68.0-rc.1)
- React-Core/RCTWebSocket (= 0.68.0-rc.1)
- React-cxxreact (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- React-jsiexecutor (= 0.68.0-rc.1)
- React-jsinspector (= 0.68.0-rc.1)
- React-perflogger (= 0.68.0-rc.1)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.70.0)
- React-Core/RCTWebSocket (= 0.70.0)
- React-cxxreact (= 0.70.0)
- React-jsi (= 0.70.0)
- React-jsiexecutor (= 0.70.0)
- React-jsinspector (= 0.70.0)
- React-perflogger (= 0.70.0)
- Yoga
- React-Core/RCTActionSheetHeaders (0.68.0-rc.1):
- React-Core/RCTActionSheetHeaders (0.70.0):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- React-jsiexecutor (= 0.68.0-rc.1)
- React-perflogger (= 0.68.0-rc.1)
- React-cxxreact (= 0.70.0)
- React-jsi (= 0.70.0)
- React-jsiexecutor (= 0.70.0)
- React-perflogger (= 0.70.0)
- Yoga
- React-Core/RCTAnimationHeaders (0.68.0-rc.1):
- React-Core/RCTAnimationHeaders (0.70.0):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- React-jsiexecutor (= 0.68.0-rc.1)
- React-perflogger (= 0.68.0-rc.1)
- React-cxxreact (= 0.70.0)
- React-jsi (= 0.70.0)
- React-jsiexecutor (= 0.70.0)
- React-perflogger (= 0.70.0)
- Yoga
- React-Core/RCTBlobHeaders (0.68.0-rc.1):
- React-Core/RCTBlobHeaders (0.70.0):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- React-jsiexecutor (= 0.68.0-rc.1)
- React-perflogger (= 0.68.0-rc.1)
- React-cxxreact (= 0.70.0)
- React-jsi (= 0.70.0)
- React-jsiexecutor (= 0.70.0)
- React-perflogger (= 0.70.0)
- Yoga
- React-Core/RCTImageHeaders (0.68.0-rc.1):
- React-Core/RCTImageHeaders (0.70.0):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- React-jsiexecutor (= 0.68.0-rc.1)
- React-perflogger (= 0.68.0-rc.1)
- React-cxxreact (= 0.70.0)
- React-jsi (= 0.70.0)
- React-jsiexecutor (= 0.70.0)
- React-perflogger (= 0.70.0)
- Yoga
- React-Core/RCTLinkingHeaders (0.68.0-rc.1):
- React-Core/RCTLinkingHeaders (0.70.0):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- React-jsiexecutor (= 0.68.0-rc.1)
- React-perflogger (= 0.68.0-rc.1)
- React-cxxreact (= 0.70.0)
- React-jsi (= 0.70.0)
- React-jsiexecutor (= 0.70.0)
- React-perflogger (= 0.70.0)
- Yoga
- React-Core/RCTNetworkHeaders (0.68.0-rc.1):
- React-Core/RCTNetworkHeaders (0.70.0):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- React-jsiexecutor (= 0.68.0-rc.1)
- React-perflogger (= 0.68.0-rc.1)
- React-cxxreact (= 0.70.0)
- React-jsi (= 0.70.0)
- React-jsiexecutor (= 0.70.0)
- React-perflogger (= 0.70.0)
- Yoga
- React-Core/RCTSettingsHeaders (0.68.0-rc.1):
- React-Core/RCTSettingsHeaders (0.70.0):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- React-jsiexecutor (= 0.68.0-rc.1)
- React-perflogger (= 0.68.0-rc.1)
- React-cxxreact (= 0.70.0)
- React-jsi (= 0.70.0)
- React-jsiexecutor (= 0.70.0)
- React-perflogger (= 0.70.0)
- Yoga
- React-Core/RCTTextHeaders (0.68.0-rc.1):
- React-Core/RCTTextHeaders (0.70.0):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- React-jsiexecutor (= 0.68.0-rc.1)
- React-perflogger (= 0.68.0-rc.1)
- React-cxxreact (= 0.70.0)
- React-jsi (= 0.70.0)
- React-jsiexecutor (= 0.70.0)
- React-perflogger (= 0.70.0)
- Yoga
- React-Core/RCTVibrationHeaders (0.68.0-rc.1):
- React-Core/RCTVibrationHeaders (0.70.0):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- React-jsiexecutor (= 0.68.0-rc.1)
- React-perflogger (= 0.68.0-rc.1)
- React-cxxreact (= 0.70.0)
- React-jsi (= 0.70.0)
- React-jsiexecutor (= 0.70.0)
- React-perflogger (= 0.70.0)
- Yoga
- React-Core/RCTWebSocket (0.68.0-rc.1):
- React-Core/RCTWebSocket (0.70.0):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default (= 0.68.0-rc.1)
- React-cxxreact (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- React-jsiexecutor (= 0.68.0-rc.1)
- React-perflogger (= 0.68.0-rc.1)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.70.0)
- React-cxxreact (= 0.70.0)
- React-jsi (= 0.70.0)
- React-jsiexecutor (= 0.70.0)
- React-perflogger (= 0.70.0)
- Yoga
- React-CoreModules (0.68.0-rc.1):
- RCT-Folly (= 2021.06.28.00-v2)
- RCTTypeSafety (= 0.68.0-rc.1)
- React-Codegen (= 0.68.0-rc.1)
- React-Core/CoreModulesHeaders (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- React-RCTImage (= 0.68.0-rc.1)
- ReactCommon/turbomodule/core (= 0.68.0-rc.1)
- React-cxxreact (0.68.0-rc.1):
- React-CoreModules (0.70.0):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.70.0)
- React-Codegen (= 0.70.0)
- React-Core/CoreModulesHeaders (= 0.70.0)
- React-jsi (= 0.70.0)
- React-RCTImage (= 0.70.0)
- ReactCommon/turbomodule/core (= 0.70.0)
- React-cxxreact (0.70.0):
- boost (= 1.76.0)
- DoubleConversion
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-callinvoker (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- React-jsinspector (= 0.68.0-rc.1)
- React-logger (= 0.68.0-rc.1)
- React-perflogger (= 0.68.0-rc.1)
- React-runtimeexecutor (= 0.68.0-rc.1)
- React-jsi (0.68.0-rc.1):
- RCT-Folly (= 2021.07.22.00)
- React-callinvoker (= 0.70.0)
- React-jsi (= 0.70.0)
- React-jsinspector (= 0.70.0)
- React-logger (= 0.70.0)
- React-perflogger (= 0.70.0)
- React-runtimeexecutor (= 0.70.0)
- React-hermes (0.70.0):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- RCT-Folly/Futures (= 2021.07.22.00)
- React-cxxreact (= 0.70.0)
- React-jsi (= 0.70.0)
- React-jsiexecutor (= 0.70.0)
- React-jsinspector (= 0.70.0)
- React-perflogger (= 0.70.0)
- React-jsi (0.70.0):
- boost (= 1.76.0)
- DoubleConversion
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-jsi/Default (= 0.68.0-rc.1)
- React-jsi/Default (0.68.0-rc.1):
- RCT-Folly (= 2021.07.22.00)
- React-jsi/Default (= 0.70.0)
- React-jsi/Default (0.70.0):
- boost (= 1.76.0)
- DoubleConversion
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-jsiexecutor (0.68.0-rc.1):
- RCT-Folly (= 2021.07.22.00)
- React-jsiexecutor (0.70.0):
- DoubleConversion
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-cxxreact (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- React-perflogger (= 0.68.0-rc.1)
- React-jsinspector (0.68.0-rc.1)
- React-logger (0.68.0-rc.1):
- RCT-Folly (= 2021.07.22.00)
- React-cxxreact (= 0.70.0)
- React-jsi (= 0.70.0)
- React-perflogger (= 0.70.0)
- React-jsinspector (0.70.0)
- React-logger (0.70.0):
- glog
- React-perflogger (0.68.0-rc.1)
- React-RCTActionSheet (0.68.0-rc.1):
- React-Core/RCTActionSheetHeaders (= 0.68.0-rc.1)
- React-RCTAnimation (0.68.0-rc.1):
- RCT-Folly (= 2021.06.28.00-v2)
- RCTTypeSafety (= 0.68.0-rc.1)
- React-Codegen (= 0.68.0-rc.1)
- React-Core/RCTAnimationHeaders (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- ReactCommon/turbomodule/core (= 0.68.0-rc.1)
- React-RCTBlob (0.68.0-rc.1):
- RCT-Folly (= 2021.06.28.00-v2)
- React-Codegen (= 0.68.0-rc.1)
- React-Core/RCTBlobHeaders (= 0.68.0-rc.1)
- React-Core/RCTWebSocket (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- React-RCTNetwork (= 0.68.0-rc.1)
- ReactCommon/turbomodule/core (= 0.68.0-rc.1)
- React-RCTImage (0.68.0-rc.1):
- RCT-Folly (= 2021.06.28.00-v2)
- RCTTypeSafety (= 0.68.0-rc.1)
- React-Codegen (= 0.68.0-rc.1)
- React-Core/RCTImageHeaders (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- React-RCTNetwork (= 0.68.0-rc.1)
- ReactCommon/turbomodule/core (= 0.68.0-rc.1)
- React-RCTLinking (0.68.0-rc.1):
- React-Codegen (= 0.68.0-rc.1)
- React-Core/RCTLinkingHeaders (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- ReactCommon/turbomodule/core (= 0.68.0-rc.1)
- React-RCTNetwork (0.68.0-rc.1):
- RCT-Folly (= 2021.06.28.00-v2)
- RCTTypeSafety (= 0.68.0-rc.1)
- React-Codegen (= 0.68.0-rc.1)
- React-Core/RCTNetworkHeaders (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- ReactCommon/turbomodule/core (= 0.68.0-rc.1)
- React-RCTSettings (0.68.0-rc.1):
- RCT-Folly (= 2021.06.28.00-v2)
- RCTTypeSafety (= 0.68.0-rc.1)
- React-Codegen (= 0.68.0-rc.1)
- React-Core/RCTSettingsHeaders (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- ReactCommon/turbomodule/core (= 0.68.0-rc.1)
- React-RCTText (0.68.0-rc.1):
- React-Core/RCTTextHeaders (= 0.68.0-rc.1)
- React-RCTVibration (0.68.0-rc.1):
- RCT-Folly (= 2021.06.28.00-v2)
- React-Codegen (= 0.68.0-rc.1)
- React-Core/RCTVibrationHeaders (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- ReactCommon/turbomodule/core (= 0.68.0-rc.1)
- React-runtimeexecutor (0.68.0-rc.1):
- React-jsi (= 0.68.0-rc.1)
- ReactCommon/turbomodule/core (0.68.0-rc.1):
- React-perflogger (0.70.0)
- React-RCTActionSheet (0.70.0):
- React-Core/RCTActionSheetHeaders (= 0.70.0)
- React-RCTAnimation (0.70.0):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.70.0)
- React-Codegen (= 0.70.0)
- React-Core/RCTAnimationHeaders (= 0.70.0)
- React-jsi (= 0.70.0)
- ReactCommon/turbomodule/core (= 0.70.0)
- React-RCTBlob (0.70.0):
- RCT-Folly (= 2021.07.22.00)
- React-Codegen (= 0.70.0)
- React-Core/RCTBlobHeaders (= 0.70.0)
- React-Core/RCTWebSocket (= 0.70.0)
- React-jsi (= 0.70.0)
- React-RCTNetwork (= 0.70.0)
- ReactCommon/turbomodule/core (= 0.70.0)
- React-RCTImage (0.70.0):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.70.0)
- React-Codegen (= 0.70.0)
- React-Core/RCTImageHeaders (= 0.70.0)
- React-jsi (= 0.70.0)
- React-RCTNetwork (= 0.70.0)
- ReactCommon/turbomodule/core (= 0.70.0)
- React-RCTLinking (0.70.0):
- React-Codegen (= 0.70.0)
- React-Core/RCTLinkingHeaders (= 0.70.0)
- React-jsi (= 0.70.0)
- ReactCommon/turbomodule/core (= 0.70.0)
- React-RCTNetwork (0.70.0):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.70.0)
- React-Codegen (= 0.70.0)
- React-Core/RCTNetworkHeaders (= 0.70.0)
- React-jsi (= 0.70.0)
- ReactCommon/turbomodule/core (= 0.70.0)
- React-RCTSettings (0.70.0):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.70.0)
- React-Codegen (= 0.70.0)
- React-Core/RCTSettingsHeaders (= 0.70.0)
- React-jsi (= 0.70.0)
- ReactCommon/turbomodule/core (= 0.70.0)
- React-RCTText (0.70.0):
- React-Core/RCTTextHeaders (= 0.70.0)
- React-RCTVibration (0.70.0):
- RCT-Folly (= 2021.07.22.00)
- React-Codegen (= 0.70.0)
- React-Core/RCTVibrationHeaders (= 0.70.0)
- React-jsi (= 0.70.0)
- ReactCommon/turbomodule/core (= 0.70.0)
- React-runtimeexecutor (0.70.0):
- React-jsi (= 0.70.0)
- ReactCommon/turbomodule/core (0.70.0):
- DoubleConversion
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-callinvoker (= 0.68.0-rc.1)
- React-Core (= 0.68.0-rc.1)
- React-cxxreact (= 0.68.0-rc.1)
- React-jsi (= 0.68.0-rc.1)
- React-logger (= 0.68.0-rc.1)
- React-perflogger (= 0.68.0-rc.1)
- RNSVG (12.4.2):
- RCT-Folly (= 2021.07.22.00)
- React-bridging (= 0.70.0)
- React-callinvoker (= 0.70.0)
- React-Core (= 0.70.0)
- React-cxxreact (= 0.70.0)
- React-jsi (= 0.70.0)
- React-logger (= 0.70.0)
- React-perflogger (= 0.70.0)
- RNReanimated (2.10.0):
- DoubleConversion
- FBLazyVector
- FBReactNativeSpec
- glog
- RCT-Folly
- RCTRequired
- RCTTypeSafety
- React-callinvoker
- React-Core
- React-Core/DevSupport
- React-Core/RCTWebSocket
- React-CoreModules
- React-cxxreact
- React-jsi
- React-jsiexecutor
- React-jsinspector
- React-RCTActionSheet
- React-RCTAnimation
- React-RCTBlob
- React-RCTImage
- React-RCTLinking
- React-RCTNetwork
- React-RCTSettings
- React-RCTText
- ReactCommon/turbomodule/core
- Yoga
- RNSVG (13.1.0):
- React-Core
- SocketRocket (0.6.0)
- Yoga (1.14.0)
@@ -361,10 +409,10 @@ DEPENDENCIES:
- FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
- Flipper (= 0.125.0)
- Flipper-Boost-iOSX (= 1.76.0.1.11)
- Flipper-DoubleConversion (= 3.1.7)
- Flipper-DoubleConversion (= 3.2.0.1)
- Flipper-Fmt (= 7.1.7)
- Flipper-Folly (= 2.6.10)
- Flipper-Glog (= 0.3.9)
- Flipper-Glog (= 0.5.0.5)
- Flipper-PeerTalk (= 0.0.4)
- Flipper-RSocket (= 1.4.3)
- FlipperKit (= 0.125.0)
@@ -381,11 +429,14 @@ DEPENDENCIES:
- FlipperKit/FlipperKitUserDefaultsPlugin (= 0.125.0)
- FlipperKit/SKIOSNetworkPlugin (= 0.125.0)
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
- hermes-engine (from `../node_modules/react-native/sdks/hermes/hermes-engine.podspec`)
- libevent (~> 2.1.12)
- OpenSSL-Universal (= 1.1.1100)
- RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
- RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
- RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
- React (from `../node_modules/react-native/`)
- React-bridging (from `../node_modules/react-native/ReactCommon`)
- React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`)
- React-Codegen (from `build/generated/ios`)
- React-Core (from `../node_modules/react-native/`)
@@ -393,6 +444,7 @@ DEPENDENCIES:
- React-Core/RCTWebSocket (from `../node_modules/react-native/`)
- React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
- React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
- React-hermes (from `../node_modules/react-native/ReactCommon/hermes`)
- React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
- React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
- React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
@@ -409,7 +461,8 @@ DEPENDENCIES:
- React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
- React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`)
- ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
- RNSVG (from `../..`)
- RNReanimated (from `../node_modules/react-native-reanimated`)
- RNSVG (from `../node_modules/react-native-svg`)
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
SPEC REPOS:
@@ -441,6 +494,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/React/FBReactNativeSpec"
glog:
:podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
hermes-engine:
:podspec: "../node_modules/react-native/sdks/hermes/hermes-engine.podspec"
RCT-Folly:
:podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec"
RCTRequired:
@@ -449,6 +504,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/Libraries/TypeSafety"
React:
:path: "../node_modules/react-native/"
React-bridging:
:path: "../node_modules/react-native/ReactCommon"
React-callinvoker:
:path: "../node_modules/react-native/ReactCommon/callinvoker"
React-Codegen:
@@ -459,6 +516,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/React/CoreModules"
React-cxxreact:
:path: "../node_modules/react-native/ReactCommon/cxxreact"
React-hermes:
:path: "../node_modules/react-native/ReactCommon/hermes"
React-jsi:
:path: "../node_modules/react-native/ReactCommon/jsi"
React-jsiexecutor:
@@ -491,60 +550,66 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/ReactCommon/runtimeexecutor"
ReactCommon:
:path: "../node_modules/react-native/ReactCommon"
RNReanimated:
:path: "../node_modules/react-native-reanimated"
RNSVG:
:path: "../.."
:path: "../node_modules/react-native-svg"
Yoga:
:path: "../node_modules/react-native/ReactCommon/yoga"
SPEC CHECKSUMS:
boost: a7c83b31436843459a1961bfd74b96033dc77234
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
DoubleConversion: 831926d9b8bf8166fd87886c4abab286c2422662
FBLazyVector: bcdeff523be9f87a135b7c6fde8736db94904716
FBReactNativeSpec: e7746531d15c5440c7588d148797f9d20b12ba89
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
FBLazyVector: 6c76fe46345039d5cf0549e9ddaf5aa169630a4a
FBReactNativeSpec: 1a270246542f5c52248cb26a96db119cfe3cb760
Flipper: 26fc4b7382499f1281eb8cb921e5c3ad6de91fe0
Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c
Flipper-DoubleConversion: 57ffbe81ef95306cc9e69c4aa3aeeeeb58a6a28c
Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30
Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b
Flipper-Folly: 584845625005ff068a6ebf41f857f468decd26b3
Flipper-Glog: 05579840e2750ec907ee2f81544f41ad76a7cae4
Flipper-Glog: 70c50ce58ddaf67dc35180db05f191692570f446
Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9
Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541
FlipperKit: cbdee19bdd4e7f05472a66ce290f1b729ba3cb86
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
glog: 476ee3e89abb49e07f822b48323c51c57124b572
glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b
hermes-engine: 8e84f1284180801c1a1b241f443ba64f931ff561
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c
RCT-Folly: 803a9cfd78114b2ec0f140cfa6fa2a6bafb2d685
RCTRequired: 1e4605513e7b6a2871bdb8ae5b162b239ad18602
RCTTypeSafety: 0ed8525a159a736981e1aa308e729d83f2fb6926
React: 18162465d3219d93792c31f00bfdc0e27a1f8139
React-callinvoker: b1d4cc424aa081534368c71c406b186221fe44bb
React-Codegen: 11d7a6c69225d46505e3dccaf13a8bf75b43f624
React-Core: 71bd283ea2f85047fda4baedf6934fd2f3571cee
React-CoreModules: cfbf73b878d68f53604365b395957dd2e36ed0ab
React-cxxreact: 9f09977545dfb3723528973a1dda5e5f2f915aec
React-jsi: 7eb40a56fc0b6752532366ef88f13b5f86f90178
React-jsiexecutor: b95fc3494e76e7a5832c4386978c3ada3d1e2bed
React-jsinspector: dc394b84375f124b823720b59e322113d85f23b4
React-logger: c208f7a035008b696c43c94dde8b4c53b30534af
React-perflogger: 93144f240a4f95e1698dc054a1ef8b18ca80a64f
React-RCTActionSheet: e63525d962fdc663ddca3a2b83012a905055e777
React-RCTAnimation: 3b827fbfad9a873f66ca80542e036ca42f92f578
React-RCTBlob: 797720d926a7c40900e6639edeb5b53bce8e98bb
React-RCTImage: 08148cbb7e09cabef720f828979d9ab244867c3e
React-RCTLinking: 7c1df1a1cf524f271202e72be019a5b4c79478a0
React-RCTNetwork: c9c78bea7914a937889568b16d202f84fe04570b
React-RCTSettings: 3c912118a14deb628595263246c33718581c4f4f
React-RCTText: c76aaedce74fdebc24bd3d8f9df2e05987a97a35
React-RCTVibration: 5cab6419b68d5750482b0fc34dbb27af550469cc
React-runtimeexecutor: 10cda3a396b14a764a5f86088e7e3810b9c66cec
ReactCommon: 73a01eb83f22c84a6b09dfb60f3463888ebd4975
RNSVG: 72bf57dc8f6dfa304bdab465cd8371c62bc70b16
RCT-Folly: 0080d0a6ebf2577475bda044aa59e2ca1f909cda
RCTRequired: d0e501e8024056451424aa341daa078c0c620b0d
RCTTypeSafety: 14a3928ef69eeb4e5bb4f36fefb5ed6a392643ac
React: a76fa5a8f540c9625fc16cfb3a7bbae9877716d5
React-bridging: 3b8c4365cf22dc668cb4f29eafd83ace49a87835
React-callinvoker: 0b108cf2d78be04f46f5e5fff53acfd019f8b9ab
React-Codegen: 2f3419b3a3c825ccb6a399bcf0db53b9761235ed
React-Core: 0a760f00a2cf3f44324266c227b01594f95ef7a0
React-CoreModules: 4c5bc80e046efcb695d826ba276567051f91321e
React-cxxreact: b07535295fd2c773a681f09d87dcba342e46dc7d
React-hermes: 05a55bdc1b6887fdaf7a871f59728a007ddee30b
React-jsi: baa181d7aa5867d5438f7969a257846cd7a97559
React-jsiexecutor: be588b7abbea4f1d03840bc675d68d99380e5bf3
React-jsinspector: bd839d6c2c28e49fe1373f055735d2abecbd6cf3
React-logger: 48d82b9be8e44d86668de4453fdb60255516388b
React-perflogger: 77947e49d84e31eb87d454d4ef327542dcfeaebc
React-RCTActionSheet: 9f5fd6c1666c1a834ab7f45a452ed08b1de44eb8
React-RCTAnimation: 6fd3db6ca387c8432fd6a26428e940a081bcb476
React-RCTBlob: 43ff9a00ea606c911c14da74a5bd0a07b54d0c34
React-RCTImage: 10ef13883116c1fd67ec3229d96556893771f747
React-RCTLinking: ff75f970da9e1b0491cfe642f34d8a1ab5338715
React-RCTNetwork: 0528cb19329a0764061ec053c4e3ab8a52ad8741
React-RCTSettings: 26ef15ef3a9019fc09f4f8264f5ca79bf4dfc6de
React-RCTText: 4eeb0a8afd28d691f0bd4c104bf3234d79c78b0c
React-RCTVibration: 5499b77c0fd57f346a5f0b36bb79fdb020d17d3e
React-runtimeexecutor: 80c195ffcafb190f531fdc849dc2d19cb4bb2b34
ReactCommon: de55f940495d7bf87b5d7bf55b5b15cdd50d7d7b
RNReanimated: 60e291d42c77752a0f6d6f358387bdf225a87c6e
RNSVG: 1153e8eeb34c788841016c517dba9f57f20b762f
SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608
Yoga: d29dba374c1a582b40cfb736647b5e1b5ed35dba
Yoga: 82c9e8f652789f67d98bed5aef9d6653f71b04a9
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
PODFILE CHECKSUM: 54439993ba279e900534ada11d49259eaead9508
PODFILE CHECKSUM: f21489d7b8983ace333b808da1c24064f6a207ff
COCOAPODS: 1.11.3

View File

@@ -256,13 +256,15 @@
files = (
);
inputPaths = (
"$(SRCROOT)/.xcode.env.local",
"$(SRCROOT)/.xcode.env",
);
name = "Bundle React Native code and images";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "set -e\n\nexport NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh\n";
shellScript = "set -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n";
};
00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
@@ -436,7 +438,7 @@
"$(inherited)",
);
INFOPLIST_FILE = TestsExampleTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -460,7 +462,7 @@
BUNDLE_LOADER = "$(TEST_HOST)";
COPY_PHASE_STRIP = NO;
INFOPLIST_FILE = TestsExampleTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -560,7 +562,7 @@
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
@@ -576,7 +578,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
LD_RUNPATH_SEARCH_PATHS = (
/usr/lib/swift,
"$(inherited)",
@@ -594,6 +596,7 @@
"-DFOLLY_MOBILE=1",
"-DFOLLY_USE_LIBCPP=1",
);
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
SDKROOT = iphoneos;
};
name = Debug;
@@ -631,7 +634,7 @@
COPY_PHASE_STRIP = YES;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -640,7 +643,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
LD_RUNPATH_SEARCH_PATHS = (
/usr/lib/swift,
"$(inherited)",
@@ -657,6 +660,7 @@
"-DFOLLY_MOBILE=1",
"-DFOLLY_USE_LIBCPP=1",
);
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
};

View File

@@ -16,6 +16,8 @@
#import <react/config/ReactNativeConfig.h>
static NSString *const kRNConcurrentRoot = @"concurrentRoot";
@interface AppDelegate () <RCTCxxBridgeDelegate, RCTTurboModuleManagerDelegate> {
RCTTurboModuleManager *_turboModuleManager;
RCTSurfacePresenterBridgeAdapter *_bridgeAdapter;
@@ -41,7 +43,8 @@
bridge.surfacePresenter = _bridgeAdapter.surfacePresenter;
#endif
UIView *rootView = RCTAppSetupDefaultRootView(bridge, @"TestsExample", nil);
NSDictionary *initProps = [self prepareInitialProps];
UIView *rootView = RCTAppSetupDefaultRootView(bridge, @"TestsExample", initProps);
if (@available(iOS 13.0, *)) {
rootView.backgroundColor = [UIColor systemBackgroundColor];
@@ -57,6 +60,28 @@
return YES;
}
/// This method controls whether the `concurrentRoot`feature of React18 is turned on or off.
///
/// @see: https://reactjs.org/blog/2022/03/29/react-v18.html
/// @note: This requires to be rendering on Fabric (i.e. on the New Architecture).
/// @return: `true` if the `concurrentRoot` feture is enabled. Otherwise, it returns `false`.
- (BOOL)concurrentRootEnabled
{
// Switch this bool to turn on and off the concurrent root
return true;
}
- (NSDictionary *)prepareInitialProps
{
NSMutableDictionary *initProps = [NSMutableDictionary new];
#ifdef RCT_NEW_ARCH_ENABLED
initProps[kRNConcurrentRoot] = @([self concurrentRootEnabled]);
#endif
return initProps;
}
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
{
#if DEBUG

View File

@@ -0,0 +1,11 @@
# This `.xcode.env` file is versioned and is used to source the environment
# used when running script phases inside Xcode.
# To customize your local environment, you can create an `.xcode.env.local`
# file that is not versioned.
# NODE_BINARY variable contains the PATH to the node executable.
#
# Customize the NODE_BINARY variable here.
# For example, to use nvm with brew, add the following line
# . "$(brew --prefix nvm)/nvm.sh" --no-use
export NODE_BINARY=$(command -v node)

View File

@@ -10,8 +10,9 @@
"lint": "eslint ."
},
"dependencies": {
"react": "17.0.2",
"react-native": "0.68.0-rc.1",
"react": "18.1.0",
"react-native": "0.70.0",
"react-native-reanimated": "^2.10.0",
"react-native-svg": "link:../"
},
"devDependencies": {
@@ -21,14 +22,10 @@
"babel-jest": "^26.6.3",
"eslint": "^7.32.0",
"jest": "^26.6.3",
"metro-react-native-babel-preset": "^0.67.0",
"react-native-gradle-plugin": "^0.0.4",
"react-test-renderer": "17.0.2"
"metro-react-native-babel-preset": "^0.72.1",
"react-test-renderer": "18.1.0"
},
"jest": {
"preset": "react-native"
},
"codegenConfig": {
"libraries": []
}
}

View File

@@ -0,0 +1,61 @@
import React from 'react';
import {
SafeAreaView,
useColorScheme,
} from 'react-native';
import {Svg, Ellipse} from 'react-native-svg';
import Animated, {createAnimatedPropAdapter, processColor, useAnimatedProps, useSharedValue, withRepeat, withTiming} from 'react-native-reanimated';
import {Colors} from 'react-native/Libraries/NewAppScreen';
const AnimatedEllipse = Animated.createAnimatedComponent(Ellipse);
const App = () => {
const isDarkMode = useColorScheme() === 'dark';
const offset = useSharedValue(0);
offset.value = withRepeat(withTiming(1.0), -1, true);
const backgroundStyle = {
backgroundColor: isDarkMode ? Colors.darker : Colors.lighter,
flex: 1,
};
const ellipseAnimatedProps =
useAnimatedProps(() =>
{
const coordinates = {cx: 50, cy: 50, rx: 40, ry: 40};
return {
cx: coordinates.cx,
cy: coordinates.cy,
rx: coordinates.rx,
ry: coordinates.ry,
stroke: 'rgb(255,0,0)',
fill: 'yellow',
opacity: offset.value,
strokeWidth: 2,
};
}
, [], createAnimatedPropAdapter(
(props) => {
if (Object.keys(props).includes('fill')) {
props.fill = {type: 0, payload: processColor(props.fill)}
}
if (Object.keys(props).includes('stroke')) {
props.stroke = {type: 0, payload: processColor(props.stroke)}
}
},
['fill', 'stroke']));
return (
<SafeAreaView style={backgroundStyle}>
<Svg width="100%" height="100%">
<AnimatedEllipse
// {...coordinates}
animatedProps={ellipseAnimatedProps}
/>
</Svg>
</SafeAreaView>
);
};
export default App;

File diff suppressed because it is too large Load Diff

View File

@@ -157,8 +157,8 @@ exports[`supports CSS in style element 1`] = `
<RNSVGRect
fill={
Object {
"payload": 4294901760,
"type": 0,
"value": 4294901760,
}
}
height="200"
@@ -171,8 +171,8 @@ exports[`supports CSS in style element 1`] = `
}
stroke={
Object {
"payload": 4278190335,
"type": 0,
"value": 4278190335,
}
}
strokeWidth="16"
@@ -185,8 +185,8 @@ exports[`supports CSS in style element 1`] = `
<RNSVGRect
fill={
Object {
"payload": 4294901760,
"type": 0,
"value": 4294901760,
}
}
fillOpacity={0.3}
@@ -201,8 +201,8 @@ exports[`supports CSS in style element 1`] = `
}
stroke={
Object {
"payload": 4278190335,
"type": 0,
"value": 4278190335,
}
}
strokeWidth="16"

View File

@@ -35,6 +35,11 @@ class CircleView extends RenderableView {
invalidate();
}
public void setCx(Double cx) {
mCx = SVGLength.from(cx);
invalidate();
}
public void setCy(Dynamic cy) {
mCy = SVGLength.from(cy);
invalidate();
@@ -45,6 +50,11 @@ class CircleView extends RenderableView {
invalidate();
}
public void setCy(Double cy) {
mCy = SVGLength.from(cy);
invalidate();
}
public void setR(Dynamic r) {
mR = SVGLength.from(r);
invalidate();
@@ -55,6 +65,11 @@ class CircleView extends RenderableView {
invalidate();
}
public void setR(Double r) {
mR = SVGLength.from(r);
invalidate();
}
@Override
Path getPath(Canvas canvas, Paint paint) {
Path path = new Path();

View File

@@ -37,6 +37,11 @@ class EllipseView extends RenderableView {
invalidate();
}
public void setCx(Double cx) {
mCx = SVGLength.from(cx);
invalidate();
}
public void setCy(Dynamic cy) {
mCy = SVGLength.from(cy);
invalidate();
@@ -47,6 +52,11 @@ class EllipseView extends RenderableView {
invalidate();
}
public void setCy(Double cy) {
mCy = SVGLength.from(cy);
invalidate();
}
public void setRx(Dynamic rx) {
mRx = SVGLength.from(rx);
invalidate();
@@ -57,6 +67,11 @@ class EllipseView extends RenderableView {
invalidate();
}
public void setRx(Double rx) {
mRx = SVGLength.from(rx);
invalidate();
}
public void setRy(Dynamic ry) {
mRy = SVGLength.from(ry);
invalidate();
@@ -67,6 +82,11 @@ class EllipseView extends RenderableView {
invalidate();
}
public void setRy(Double ry) {
mRy = SVGLength.from(ry);
invalidate();
}
@Override
Path getPath(Canvas canvas, Paint paint) {
Path path = new Path();

View File

@@ -57,6 +57,11 @@ class ForeignObjectView extends GroupView {
invalidate();
}
public void setX(Double x) {
mX = SVGLength.from(x);
invalidate();
}
public void setY(Dynamic y) {
mY = SVGLength.from(y);
invalidate();
@@ -67,6 +72,11 @@ class ForeignObjectView extends GroupView {
invalidate();
}
public void setY(Double y) {
mY = SVGLength.from(y);
invalidate();
}
public void setWidth(Dynamic width) {
mW = SVGLength.from(width);
invalidate();
@@ -77,6 +87,11 @@ class ForeignObjectView extends GroupView {
invalidate();
}
public void setWidth(Double width) {
mW = SVGLength.from(width);
invalidate();
}
public void setHeight(Dynamic height) {
mH = SVGLength.from(height);
invalidate();
@@ -87,6 +102,11 @@ class ForeignObjectView extends GroupView {
invalidate();
}
public void setHeight(Double height) {
mH = SVGLength.from(height);
invalidate();
}
void drawGroup(final Canvas canvas, final Paint paint, final float opacity) {
pushGlyphContext();
final SvgView svg = getSvgView();

View File

@@ -63,6 +63,11 @@ class ImageView extends RenderableView {
invalidate();
}
public void setX(Double x) {
mX = SVGLength.from(x);
invalidate();
}
public void setY(Dynamic y) {
mY = SVGLength.from(y);
invalidate();
@@ -73,6 +78,11 @@ class ImageView extends RenderableView {
invalidate();
}
public void setY(Double y) {
mY = SVGLength.from(y);
invalidate();
}
public void setWidth(Dynamic width) {
mW = SVGLength.from(width);
invalidate();
@@ -83,6 +93,11 @@ class ImageView extends RenderableView {
invalidate();
}
public void setWidth(Double width) {
mW = SVGLength.from(width);
invalidate();
}
public void setHeight(Dynamic height) {
mH = SVGLength.from(height);
invalidate();
@@ -93,6 +108,11 @@ class ImageView extends RenderableView {
invalidate();
}
public void setHeight(Double height) {
mH = SVGLength.from(height);
invalidate();
}
public void setSrc(@Nullable ReadableMap src) {
if (src != null) {
uriString = src.getString("uri");

View File

@@ -36,6 +36,11 @@ class LineView extends RenderableView {
invalidate();
}
public void setX1(Double x1) {
mX1 = SVGLength.from(x1);
invalidate();
}
public void setY1(Dynamic y1) {
mY1 = SVGLength.from(y1);
invalidate();
@@ -46,6 +51,11 @@ class LineView extends RenderableView {
invalidate();
}
public void setY1(Double y1) {
mY1 = SVGLength.from(y1);
invalidate();
}
public void setX2(Dynamic x2) {
mX2 = SVGLength.from(x2);
invalidate();
@@ -56,6 +66,11 @@ class LineView extends RenderableView {
invalidate();
}
public void setX2(Double x2) {
mX2 = SVGLength.from(x2);
invalidate();
}
public void setY2(Dynamic y2) {
mY2 = SVGLength.from(y2);
invalidate();
@@ -66,6 +81,11 @@ class LineView extends RenderableView {
invalidate();
}
public void setY2(Double y2) {
mY2 = SVGLength.from(y2);
invalidate();
}
@Override
Path getPath(Canvas canvas, Paint paint) {
Path path = new Path();

View File

@@ -49,6 +49,11 @@ class LinearGradientView extends DefinitionView {
invalidate();
}
public void setX1(Double x1) {
mX1 = SVGLength.from(x1);
invalidate();
}
public void setY1(Dynamic y1) {
mY1 = SVGLength.from(y1);
invalidate();
@@ -59,6 +64,11 @@ class LinearGradientView extends DefinitionView {
invalidate();
}
public void setY1(Double y1) {
mY1 = SVGLength.from(y1);
invalidate();
}
public void setX2(Dynamic x2) {
mX2 = SVGLength.from(x2);
invalidate();
@@ -69,6 +79,11 @@ class LinearGradientView extends DefinitionView {
invalidate();
}
public void setX2(Double x2) {
mX2 = SVGLength.from(x2);
invalidate();
}
public void setY2(Dynamic y2) {
mY2 = SVGLength.from(y2);
invalidate();
@@ -79,6 +94,11 @@ class LinearGradientView extends DefinitionView {
invalidate();
}
public void setY2(Double y2) {
mY2 = SVGLength.from(y2);
invalidate();
}
public void setGradient(ReadableArray gradient) {
mGradient = gradient;
invalidate();

View File

@@ -50,6 +50,11 @@ class MarkerView extends GroupView {
invalidate();
}
public void setRefX(Double refX) {
mRefX = SVGLength.from(refX);
invalidate();
}
public void setRefY(Dynamic refY) {
mRefY = SVGLength.from(refY);
invalidate();
@@ -60,6 +65,11 @@ class MarkerView extends GroupView {
invalidate();
}
public void setRefY(Double refY) {
mRefY = SVGLength.from(refY);
invalidate();
}
public void setMarkerWidth(Dynamic markerWidth) {
mMarkerWidth = SVGLength.from(markerWidth);
invalidate();
@@ -70,6 +80,11 @@ class MarkerView extends GroupView {
invalidate();
}
public void setMarkerWidth(Double markerWidth) {
mMarkerWidth = SVGLength.from(markerWidth);
invalidate();
}
public void setMarkerHeight(Dynamic markerHeight) {
mMarkerHeight = SVGLength.from(markerHeight);
invalidate();
@@ -80,6 +95,11 @@ class MarkerView extends GroupView {
invalidate();
}
public void setMarkerHeight(Double markerHeight) {
mMarkerHeight = SVGLength.from(markerHeight);
invalidate();
}
public void setMarkerUnits(String markerUnits) {
mMarkerUnits = markerUnits;
invalidate();

View File

@@ -54,6 +54,11 @@ class MaskView extends GroupView {
invalidate();
}
public void setX(Double x) {
mX = SVGLength.from(x);
invalidate();
}
public void setY(Dynamic y) {
mY = SVGLength.from(y);
invalidate();
@@ -64,6 +69,11 @@ class MaskView extends GroupView {
invalidate();
}
public void setY(Double y) {
mY = SVGLength.from(y);
invalidate();
}
public void setWidth(Dynamic width) {
mW = SVGLength.from(width);
invalidate();
@@ -74,6 +84,11 @@ class MaskView extends GroupView {
invalidate();
}
public void setWidth(Double width) {
mW = SVGLength.from(width);
invalidate();
}
public void setHeight(Dynamic height) {
mH = SVGLength.from(height);
invalidate();
@@ -84,6 +99,11 @@ class MaskView extends GroupView {
invalidate();
}
public void setHeight(Double height) {
mH = SVGLength.from(height);
invalidate();
}
public void setMaskUnits(int maskUnits) {
switch (maskUnits) {
case 0:

View File

@@ -57,6 +57,11 @@ class PatternView extends GroupView {
invalidate();
}
public void setX(Double x) {
mX = SVGLength.from(x);
invalidate();
}
public void setY(Dynamic y) {
mY = SVGLength.from(y);
invalidate();
@@ -67,6 +72,11 @@ class PatternView extends GroupView {
invalidate();
}
public void setY(Double y) {
mY = SVGLength.from(y);
invalidate();
}
public void setWidth(Dynamic width) {
mW = SVGLength.from(width);
invalidate();
@@ -77,6 +87,11 @@ class PatternView extends GroupView {
invalidate();
}
public void setWidth(Double width) {
mW = SVGLength.from(width);
invalidate();
}
public void setHeight(Dynamic height) {
mH = SVGLength.from(height);
invalidate();
@@ -87,6 +102,11 @@ class PatternView extends GroupView {
invalidate();
}
public void setHeight(Double height) {
mH = SVGLength.from(height);
invalidate();
}
public void setPatternUnits(int patternUnits) {
switch (patternUnits) {
case 0:

View File

@@ -50,6 +50,11 @@ class RadialGradientView extends DefinitionView {
invalidate();
}
public void setFx(Double fx) {
mFx = SVGLength.from(fx);
invalidate();
}
public void setFy(Dynamic fy) {
mFy = SVGLength.from(fy);
invalidate();
@@ -60,6 +65,11 @@ class RadialGradientView extends DefinitionView {
invalidate();
}
public void setFy(Double fy) {
mFy = SVGLength.from(fy);
invalidate();
}
public void setRx(Dynamic rx) {
mRx = SVGLength.from(rx);
invalidate();
@@ -70,6 +80,11 @@ class RadialGradientView extends DefinitionView {
invalidate();
}
public void setRx(Double rx) {
mRx = SVGLength.from(rx);
invalidate();
}
public void setRy(Dynamic ry) {
mRy = SVGLength.from(ry);
invalidate();
@@ -80,6 +95,11 @@ class RadialGradientView extends DefinitionView {
invalidate();
}
public void setRy(Double ry) {
mRy = SVGLength.from(ry);
invalidate();
}
public void setCx(Dynamic cx) {
mCx = SVGLength.from(cx);
invalidate();
@@ -90,6 +110,11 @@ class RadialGradientView extends DefinitionView {
invalidate();
}
public void setCx(Double cx) {
mCx = SVGLength.from(cx);
invalidate();
}
public void setCy(Dynamic cy) {
mCy = SVGLength.from(cy);
invalidate();
@@ -100,6 +125,11 @@ class RadialGradientView extends DefinitionView {
invalidate();
}
public void setCy(Double cy) {
mCy = SVGLength.from(cy);
invalidate();
}
public void setGradient(ReadableArray gradient) {
mGradient = gradient;
invalidate();

View File

@@ -40,6 +40,11 @@ class RectView extends RenderableView {
invalidate();
}
public void setX(Double x) {
mX = SVGLength.from(x);
invalidate();
}
public void setY(Dynamic y) {
mY = SVGLength.from(y);
invalidate();
@@ -50,6 +55,11 @@ class RectView extends RenderableView {
invalidate();
}
public void setY(Double y) {
mY = SVGLength.from(y);
invalidate();
}
public void setWidth(Dynamic width) {
mW = SVGLength.from(width);
invalidate();
@@ -60,6 +70,11 @@ class RectView extends RenderableView {
invalidate();
}
public void setWidth(Double width) {
mW = SVGLength.from(width);
invalidate();
}
public void setHeight(Dynamic height) {
mH = SVGLength.from(height);
invalidate();
@@ -70,6 +85,11 @@ class RectView extends RenderableView {
invalidate();
}
public void setHeight(Double height) {
mH = SVGLength.from(height);
invalidate();
}
public void setRx(Dynamic rx) {
mRx = SVGLength.from(rx);
invalidate();
@@ -80,6 +100,11 @@ class RectView extends RenderableView {
invalidate();
}
public void setRx(Double rx) {
mRx = SVGLength.from(rx);
invalidate();
}
public void setRy(Dynamic ry) {
mRy = SVGLength.from(ry);
invalidate();
@@ -90,6 +115,11 @@ class RectView extends RenderableView {
invalidate();
}
public void setRy(Double ry) {
mRy = SVGLength.from(ry);
invalidate();
}
@Override
Path getPath(Canvas canvas, Paint paint) {
Path path = new Path();

View File

@@ -146,11 +146,11 @@ public abstract class RenderableView extends VirtualView {
}
int type = fill.getInt("type");
if (type == 0) {
ReadableType valueType = fill.getType("value");
ReadableType valueType = fill.getType("payload");
if (valueType.equals(ReadableType.Number)) {
this.fill = JavaOnlyArray.of(0, fill.getInt("value"));
this.fill = JavaOnlyArray.of(0, fill.getInt("payload"));
} else if (valueType.equals(ReadableType.Map)) {
this.fill = JavaOnlyArray.of(0, fill.getMap("value"));
this.fill = JavaOnlyArray.of(0, fill.getMap("payload"));
}
} else if (type == 1) {
this.fill = JavaOnlyArray.of(1, fill.getString("brushRef"));
@@ -221,11 +221,11 @@ public abstract class RenderableView extends VirtualView {
}
int type = stroke.getInt("type");
if (type == 0) {
ReadableType valueType = stroke.getType("value");
if (valueType.equals(ReadableType.Number)) {
this.stroke = JavaOnlyArray.of(0, stroke.getInt("value"));
} else if (valueType.equals(ReadableType.Map)) {
this.stroke = JavaOnlyArray.of(0, stroke.getMap("value"));
ReadableType payloadType = stroke.getType("payload");
if (payloadType.equals(ReadableType.Number)) {
this.stroke = JavaOnlyArray.of(0, stroke.getInt("payload"));
} else if (payloadType.equals(ReadableType.Map)) {
this.stroke = JavaOnlyArray.of(0, stroke.getMap("payload"));
}
} else if (type == 1) {
this.stroke = JavaOnlyArray.of(1, stroke.getString("brushRef"));
@@ -268,6 +268,11 @@ public abstract class RenderableView extends VirtualView {
invalidate();
}
public void setStrokeWidth(Double strokeWidth) {
this.strokeWidth = SVGLength.from(strokeWidth);
invalidate();
}
public void setStrokeMiterlimit(float strokeMiterlimit) {
this.strokeMiterlimit = strokeMiterlimit;
invalidate();

View File

@@ -685,6 +685,12 @@ class RenderableViewManager<T extends RenderableView> extends VirtualViewManager
view.setFont(map);
}
public void setFontSize(U view, @Nullable Double value) {
JavaOnlyMap map = new JavaOnlyMap();
map.putDouble("fontSize", value);
view.setFont(map);
}
@ReactProp(name = "fontWeight")
public void setFontWeight(U node, Dynamic fontWeight) {
JavaOnlyMap map = new JavaOnlyMap();
@@ -706,6 +712,12 @@ class RenderableViewManager<T extends RenderableView> extends VirtualViewManager
map.putString("fontWeight", value);
view.setFont(map);
}
public void setFontWeight(U view, @Nullable Double value) {
JavaOnlyMap map = new JavaOnlyMap();
map.putDouble("fontWeight", value);
view.setFont(map);
}
}
static class GroupViewManager extends GroupViewManagerAbstract<GroupView>
@@ -853,6 +865,18 @@ class RenderableViewManager<T extends RenderableView> extends VirtualViewManager
public void setBaselineShift(K view, @Nullable String value) {
view.setBaselineShift(value);
}
public void setInlineSize(K view, @Nullable Double value) {
view.setInlineSize(value);
}
public void setTextLength(K view, @Nullable Double value) {
view.setTextLength(value);
}
public void setBaselineShift(K view, @Nullable Double value) {
view.setBaselineShift(value);
}
}
static class TextViewManager extends TextViewManagerAbstract<TextView>
@@ -946,6 +970,10 @@ class RenderableViewManager<T extends RenderableView> extends VirtualViewManager
view.setStartOffset(value);
}
public void setStartOffset(TextPathView view, @Nullable Double value) {
view.setStartOffset(value);
}
@ReactProp(name = "side")
public void setSide(TextPathView node, @Nullable String side) {
node.setSide(side);
@@ -1010,6 +1038,22 @@ class RenderableViewManager<T extends RenderableView> extends VirtualViewManager
view.setHeight(value);
}
public void setX(ImageView view, @Nullable Double value) {
view.setX(value);
}
public void setY(ImageView view, @Nullable Double value) {
view.setY(value);
}
public void setWidth(ImageView view, @Nullable Double value) {
view.setWidth(value);
}
public void setHeight(ImageView view, @Nullable Double value) {
view.setHeight(value);
}
@ReactProp(name = "src", customType = "ImageSource")
public void setSrc(ImageView node, @Nullable ReadableMap src) {
node.setSrc(src);
@@ -1059,15 +1103,27 @@ class RenderableViewManager<T extends RenderableView> extends VirtualViewManager
view.setCx(value);
}
public void setCx(CircleView view, Double value) {
view.setCx(value);
}
@Override
public void setCy(CircleView view, String value) {
view.setCy(value);
}
public void setCy(CircleView view, Double value) {
view.setCy(value);
}
@Override
public void setR(CircleView view, String value) {
view.setR(value);
}
public void setR(CircleView view, Double value) {
view.setR(value);
}
}
static class EllipseViewManager extends RenderableViewManager<EllipseView>
@@ -1122,6 +1178,22 @@ class RenderableViewManager<T extends RenderableView> extends VirtualViewManager
public void setRy(EllipseView view, @Nullable String value) {
view.setRy(value);
}
public void setCx(EllipseView view, @Nullable Double value) {
view.setCx(value);
}
public void setCy(EllipseView view, @Nullable Double value) {
view.setCy(value);
}
public void setRx(EllipseView view, @Nullable Double value) {
view.setRx(value);
}
public void setRy(EllipseView view, @Nullable Double value) {
view.setRy(value);
}
}
static class LineViewManager extends RenderableViewManager<LineView>
@@ -1177,6 +1249,22 @@ class RenderableViewManager<T extends RenderableView> extends VirtualViewManager
public void setY2(LineView view, @Nullable String value) {
view.setY2(value);
}
public void setX1(LineView view, @Nullable Double value) {
view.setX1(value);
}
public void setY1(LineView view, @Nullable Double value) {
view.setY1(value);
}
public void setX2(LineView view, @Nullable Double value) {
view.setX2(value);
}
public void setY2(LineView view, @Nullable Double value) {
view.setY2(value);
}
}
static class RectViewManager extends RenderableViewManager<RectView>
@@ -1252,6 +1340,30 @@ class RenderableViewManager<T extends RenderableView> extends VirtualViewManager
public void setRy(RectView view, @Nullable String value) {
view.setRy(value);
}
public void setX(RectView view, @Nullable Double value) {
view.setX(value);
}
public void setY(RectView view, @Nullable Double value) {
view.setY(value);
}
public void setHeight(RectView view, @Nullable Double value) {
view.setHeight(value);
}
public void setWidth(RectView view, @Nullable Double value) {
view.setWidth(value);
}
public void setRx(RectView view, @Nullable Double value) {
view.setRx(value);
}
public void setRy(RectView view, @Nullable Double value) {
view.setRy(value);
}
}
static class ClipPathViewManager extends GroupViewManagerAbstract<ClipPathView>
@@ -1317,6 +1429,22 @@ class RenderableViewManager<T extends RenderableView> extends VirtualViewManager
view.setHeight(value);
}
public void setWidth(UseView view, @Nullable Double value) {
view.setWidth(value);
}
public void setX(UseView view, @Nullable Double value) {
view.setX(value);
}
public void setY(UseView view, @Nullable Double value) {
view.setY(value);
}
public void setHeight(UseView view, @Nullable Double value) {
view.setHeight(value);
}
@Override
public void setWidth(UseView view, @Nullable String value) {
view.setWidth(value);
@@ -1440,6 +1568,22 @@ class RenderableViewManager<T extends RenderableView> extends VirtualViewManager
view.setWidth(value);
}
public void setX(PatternView view, @Nullable Double value) {
view.setX(value);
}
public void setY(PatternView view, @Nullable Double value) {
view.setY(value);
}
public void setHeight(PatternView view, @Nullable Double value) {
view.setHeight(value);
}
public void setWidth(PatternView view, @Nullable Double value) {
view.setWidth(value);
}
@ReactProp(name = "patternUnits")
public void setPatternUnits(PatternView node, int patternUnits) {
node.setPatternUnits(patternUnits);
@@ -1539,6 +1683,22 @@ class RenderableViewManager<T extends RenderableView> extends VirtualViewManager
view.setWidth(value);
}
public void setX(MaskView view, @Nullable Double value) {
view.setX(value);
}
public void setY(MaskView view, @Nullable Double value) {
view.setY(value);
}
public void setHeight(MaskView view, @Nullable Double value) {
view.setHeight(value);
}
public void setWidth(MaskView view, @Nullable Double value) {
view.setWidth(value);
}
@ReactProp(name = "maskUnits")
public void setMaskUnits(MaskView node, int maskUnits) {
node.setMaskUnits(maskUnits);
@@ -1607,6 +1767,22 @@ class RenderableViewManager<T extends RenderableView> extends VirtualViewManager
public void setWidth(ForeignObjectView view, @Nullable String value) {
view.setWidth(value);
}
public void setX(ForeignObjectView view, @Nullable Double value) {
view.setX(value);
}
public void setY(ForeignObjectView view, @Nullable Double value) {
view.setY(value);
}
public void setHeight(ForeignObjectView view, @Nullable Double value) {
view.setHeight(value);
}
public void setWidth(ForeignObjectView view, @Nullable Double value) {
view.setWidth(value);
}
}
static class MarkerManager extends GroupViewManagerAbstract<MarkerView>
@@ -1662,6 +1838,22 @@ class RenderableViewManager<T extends RenderableView> extends VirtualViewManager
view.setMarkerWidth(value);
}
public void setRefX(MarkerView view, @Nullable Double value) {
view.setRefX(value);
}
public void setRefY(MarkerView view, @Nullable Double value) {
view.setRefY(value);
}
public void setMarkerHeight(MarkerView view, @Nullable Double value) {
view.setMarkerHeight(value);
}
public void setMarkerWidth(MarkerView view, @Nullable Double value) {
view.setMarkerWidth(value);
}
@ReactProp(name = "markerUnits")
public void setMarkerUnits(MarkerView node, String markerUnits) {
node.setMarkerUnits(markerUnits);
@@ -1757,6 +1949,22 @@ class RenderableViewManager<T extends RenderableView> extends VirtualViewManager
view.setY2(value);
}
public void setX1(LinearGradientView view, @Nullable Double value) {
view.setX1(value);
}
public void setY1(LinearGradientView view, @Nullable Double value) {
view.setY1(value);
}
public void setX2(LinearGradientView view, @Nullable Double value) {
view.setX2(value);
}
public void setY2(LinearGradientView view, @Nullable Double value) {
view.setY2(value);
}
@ReactProp(name = "gradient")
public void setGradient(LinearGradientView node, ReadableArray gradient) {
node.setGradient(gradient);
@@ -1847,6 +2055,30 @@ class RenderableViewManager<T extends RenderableView> extends VirtualViewManager
view.setRy(value);
}
public void setFx(RadialGradientView view, @Nullable Double value) {
view.setFx(value);
}
public void setFy(RadialGradientView view, @Nullable Double value) {
view.setFy(value);
}
public void setCx(RadialGradientView view, @Nullable Double value) {
view.setCx(value);
}
public void setCy(RadialGradientView view, @Nullable Double value) {
view.setCy(value);
}
public void setRx(RadialGradientView view, @Nullable Double value) {
view.setRx(value);
}
public void setRy(RadialGradientView view, @Nullable Double value) {
view.setRy(value);
}
@ReactProp(name = "gradient")
public void setGradient(RadialGradientView node, ReadableArray gradient) {
node.setGradient(gradient);
@@ -1915,6 +2147,10 @@ class RenderableViewManager<T extends RenderableView> extends VirtualViewManager
view.setStrokeWidth(value);
}
public void setStrokeWidth(T view, @Nullable Double value) {
view.setStrokeWidth(value);
}
@ReactProp(name = "strokeMiterlimit", defaultFloat = 4f)
public void setStrokeMiterlimit(T node, float strokeMiterlimit) {
node.setStrokeMiterlimit(strokeMiterlimit);

View File

@@ -107,6 +107,10 @@ class SVGLength {
return new SVGLength(string);
}
static SVGLength from(Double value) {
return new SVGLength(value);
}
static String toString(Dynamic dynamic) {
switch (dynamic.getType()) {
case Number:

View File

@@ -227,6 +227,12 @@ public class SvgView extends ReactViewGroup implements ReactCompoundView, ReactC
clearChildCache();
}
public void setBbWidth(Double bbWidth) {
mbbWidth = SVGLength.from(bbWidth);
invalidate();
clearChildCache();
}
public void setBbHeight(Dynamic bbHeight) {
mbbHeight = SVGLength.from(bbHeight);
invalidate();
@@ -239,6 +245,12 @@ public class SvgView extends ReactViewGroup implements ReactCompoundView, ReactC
clearChildCache();
}
public void setBbHeight(Double bbHeight) {
mbbHeight = SVGLength.from(bbHeight);
invalidate();
clearChildCache();
}
public void setAlign(String align) {
mAlign = align;
invalidate();

View File

@@ -150,8 +150,16 @@ class SvgViewManager extends ReactViewManager implements RNSVGSvgViewManagerInte
view.setBbWidth(value);
}
public void setBbWidth(SvgView view, @Nullable Double value) {
view.setBbWidth(value);
}
@Override
public void setBbHeight(SvgView view, @Nullable String value) {
view.setBbHeight(value);
}
public void setBbHeight(SvgView view, @Nullable Double value) {
view.setBbHeight(value);
}
}

View File

@@ -47,6 +47,11 @@ class TextPathView extends TextView {
invalidate();
}
public void setStartOffset(Double startOffset) {
mStartOffset = SVGLength.from(startOffset);
invalidate();
}
public void setMethod(@Nullable String method) {
mMethod = TextPathMethod.valueOf(method);
invalidate();

View File

@@ -66,6 +66,11 @@ class TextView extends GroupView {
invalidate();
}
public void setInlineSize(Double inlineSize) {
mInlineSize = SVGLength.from(inlineSize);
invalidate();
}
public void setTextLength(Dynamic length) {
mTextLength = SVGLength.from(length);
invalidate();
@@ -76,6 +81,11 @@ class TextView extends GroupView {
invalidate();
}
public void setTextLength(Double length) {
mTextLength = SVGLength.from(length);
invalidate();
}
public void setLengthAdjust(@Nullable String adjustment) {
mLengthAdjust = TextLengthAdjust.valueOf(adjustment);
invalidate();
@@ -96,6 +106,11 @@ class TextView extends GroupView {
invalidate();
}
public void setBaselineShift(Double baselineShift) {
mBaselineShift = String.valueOf(baselineShift);
invalidate();
}
public void setVerticalAlign(@Nullable String verticalAlign) {
if (verticalAlign != null) {
verticalAlign = verticalAlign.trim();

View File

@@ -45,6 +45,11 @@ class UseView extends RenderableView {
invalidate();
}
public void setX(Double x) {
mX = SVGLength.from(x);
invalidate();
}
public void setY(Dynamic y) {
mY = SVGLength.from(y);
invalidate();
@@ -55,6 +60,11 @@ class UseView extends RenderableView {
invalidate();
}
public void setY(Double y) {
mY = SVGLength.from(y);
invalidate();
}
public void setWidth(Dynamic width) {
mW = SVGLength.from(width);
invalidate();
@@ -65,6 +75,11 @@ class UseView extends RenderableView {
invalidate();
}
public void setWidth(Double width) {
mW = SVGLength.from(width);
invalidate();
}
public void setHeight(Dynamic height) {
mH = SVGLength.from(height);
invalidate();
@@ -75,6 +90,11 @@ class UseView extends RenderableView {
invalidate();
}
public void setHeight(Double height) {
mH = SVGLength.from(height);
invalidate();
}
@Override
void draw(Canvas canvas, Paint paint, float opacity) {
VirtualView template = getSvgView().getDefinedTemplate(mHref);

View File

@@ -72,7 +72,13 @@ public class RNSVGCircleManagerDelegate<T extends View, U extends BaseViewManage
mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue());
break;
case "strokeWidth":
mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value);
if (value instanceof String) {
mViewManager.setStrokeWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setStrokeWidth(view, (Double) value);
} else {
mViewManager.setStrokeWidth(view, "1");
}
break;
case "strokeLinecap":
mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue());
@@ -96,13 +102,31 @@ public class RNSVGCircleManagerDelegate<T extends View, U extends BaseViewManage
mViewManager.setPropList(view, (ReadableArray) value);
break;
case "cx":
mViewManager.setCx(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setCx(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setCx(view, (Double) value);
} else {
mViewManager.setCx(view, (Double) null);
}
break;
case "cy":
mViewManager.setCy(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setCy(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setCy(view, (Double) value);
} else {
mViewManager.setCy(view, (Double) null);
}
break;
case "r":
mViewManager.setR(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setR(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setR(view, (Double) value);
} else {
mViewManager.setR(view, (Double) null);
}
break;
default:
super.setProperty(view, propName, value);

View File

@@ -32,6 +32,7 @@ public interface RNSVGCircleManagerInterface<T extends View> {
void setStroke(T view, @Nullable ReadableMap value);
void setStrokeOpacity(T view, float value);
void setStrokeWidth(T view, @Nullable String value);
void setStrokeWidth(T view, @Nullable Double value);
void setStrokeLinecap(T view, int value);
void setStrokeLinejoin(T view, int value);
void setStrokeDasharray(T view, @Nullable ReadableArray value);
@@ -40,6 +41,9 @@ public interface RNSVGCircleManagerInterface<T extends View> {
void setVectorEffect(T view, int value);
void setPropList(T view, @Nullable ReadableArray value);
void setCx(T view, @Nullable String value);
void setCx(T view, @Nullable Double value);
void setCy(T view, @Nullable String value);
void setCy(T view, @Nullable Double value);
void setR(T view, @Nullable String value);
void setR(T view, @Nullable Double value);
}

View File

@@ -72,7 +72,13 @@ public class RNSVGClipPathManagerDelegate<T extends View, U extends BaseViewMana
mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue());
break;
case "strokeWidth":
mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value);
if (value instanceof String) {
mViewManager.setStrokeWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setStrokeWidth(view, (Double) value);
} else {
mViewManager.setStrokeWidth(view, "1");
}
break;
case "strokeLinecap":
mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue());
@@ -96,10 +102,22 @@ public class RNSVGClipPathManagerDelegate<T extends View, U extends BaseViewMana
mViewManager.setPropList(view, (ReadableArray) value);
break;
case "fontSize":
mViewManager.setFontSize(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFontSize(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFontSize(view, (Double) value);
} else {
mViewManager.setFontSize(view, (Double) null);
}
break;
case "fontWeight":
mViewManager.setFontWeight(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFontWeight(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFontWeight(view, (Double) value);
} else {
mViewManager.setFontWeight(view, (Double) null);
}
break;
case "font":
mViewManager.setFont(view, (ReadableMap) value);

View File

@@ -32,6 +32,7 @@ public interface RNSVGClipPathManagerInterface<T extends View> {
void setStroke(T view, @Nullable ReadableMap value);
void setStrokeOpacity(T view, float value);
void setStrokeWidth(T view, @Nullable String value);
void setStrokeWidth(T view, @Nullable Double value);
void setStrokeLinecap(T view, int value);
void setStrokeLinejoin(T view, int value);
void setStrokeDasharray(T view, @Nullable ReadableArray value);
@@ -40,6 +41,8 @@ public interface RNSVGClipPathManagerInterface<T extends View> {
void setVectorEffect(T view, int value);
void setPropList(T view, @Nullable ReadableArray value);
void setFontSize(T view, @Nullable String value);
void setFontSize(T view, @Nullable Double value);
void setFontWeight(T view, @Nullable String value);
void setFontWeight(T view, @Nullable Double value);
void setFont(T view, @Nullable ReadableMap value);
}

View File

@@ -72,7 +72,13 @@ public class RNSVGEllipseManagerDelegate<T extends View, U extends BaseViewManag
mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue());
break;
case "strokeWidth":
mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value);
if (value instanceof String) {
mViewManager.setStrokeWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setStrokeWidth(view, (Double) value);
} else {
mViewManager.setStrokeWidth(view, "1");
}
break;
case "strokeLinecap":
mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue());
@@ -96,16 +102,40 @@ public class RNSVGEllipseManagerDelegate<T extends View, U extends BaseViewManag
mViewManager.setPropList(view, (ReadableArray) value);
break;
case "cx":
mViewManager.setCx(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setCx(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setCx(view, (Double) value);
} else {
mViewManager.setCx(view, (Double) null);
}
break;
case "cy":
mViewManager.setCy(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setCy(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setCy(view, (Double) value);
} else {
mViewManager.setCy(view, (Double) null);
}
break;
case "rx":
mViewManager.setRx(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setRx(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setRx(view, (Double) value);
} else {
mViewManager.setRx(view, (Double) null);
}
break;
case "ry":
mViewManager.setRy(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setRy(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setRy(view, (Double) value);
} else {
mViewManager.setRy(view, (Double) null);
}
break;
default:
super.setProperty(view, propName, value);

View File

@@ -32,6 +32,7 @@ public interface RNSVGEllipseManagerInterface<T extends View> {
void setStroke(T view, @Nullable ReadableMap value);
void setStrokeOpacity(T view, float value);
void setStrokeWidth(T view, @Nullable String value);
void setStrokeWidth(T view, @Nullable Double value);
void setStrokeLinecap(T view, int value);
void setStrokeLinejoin(T view, int value);
void setStrokeDasharray(T view, @Nullable ReadableArray value);
@@ -40,7 +41,11 @@ public interface RNSVGEllipseManagerInterface<T extends View> {
void setVectorEffect(T view, int value);
void setPropList(T view, @Nullable ReadableArray value);
void setCx(T view, @Nullable String value);
void setCx(T view, @Nullable Double value);
void setCy(T view, @Nullable String value);
void setCy(T view, @Nullable Double value);
void setRx(T view, @Nullable String value);
void setRx(T view, @Nullable Double value);
void setRy(T view, @Nullable String value);
void setRy(T view, @Nullable Double value);
}

View File

@@ -72,7 +72,13 @@ public class RNSVGForeignObjectManagerDelegate<T extends View, U extends BaseVie
mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue());
break;
case "strokeWidth":
mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value);
if (value instanceof String) {
mViewManager.setStrokeWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setStrokeWidth(view, (Double) value);
} else {
mViewManager.setStrokeWidth(view, "1");
}
break;
case "strokeLinecap":
mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue());
@@ -96,25 +102,61 @@ public class RNSVGForeignObjectManagerDelegate<T extends View, U extends BaseVie
mViewManager.setPropList(view, (ReadableArray) value);
break;
case "fontSize":
mViewManager.setFontSize(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFontSize(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFontSize(view, (Double) value);
} else {
mViewManager.setFontSize(view, (Double) null);
}
break;
case "fontWeight":
mViewManager.setFontWeight(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFontWeight(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFontWeight(view, (Double) value);
} else {
mViewManager.setFontWeight(view, (Double) null);
}
break;
case "font":
mViewManager.setFont(view, (ReadableMap) value);
break;
case "x":
mViewManager.setX(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setX(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setX(view, (Double) value);
} else {
mViewManager.setX(view, (Double) null);
}
break;
case "y":
mViewManager.setY(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setY(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setY(view, (Double) value);
} else {
mViewManager.setY(view, (Double) null);
}
break;
case "height":
mViewManager.setHeight(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setHeight(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setHeight(view, (Double) value);
} else {
mViewManager.setHeight(view, (Double) null);
}
break;
case "width":
mViewManager.setWidth(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setWidth(view, (Double) value);
} else {
mViewManager.setWidth(view, (Double) null);
}
break;
default:
super.setProperty(view, propName, value);

View File

@@ -32,6 +32,7 @@ public interface RNSVGForeignObjectManagerInterface<T extends View> {
void setStroke(T view, @Nullable ReadableMap value);
void setStrokeOpacity(T view, float value);
void setStrokeWidth(T view, @Nullable String value);
void setStrokeWidth(T view, @Nullable Double value);
void setStrokeLinecap(T view, int value);
void setStrokeLinejoin(T view, int value);
void setStrokeDasharray(T view, @Nullable ReadableArray value);
@@ -40,10 +41,16 @@ public interface RNSVGForeignObjectManagerInterface<T extends View> {
void setVectorEffect(T view, int value);
void setPropList(T view, @Nullable ReadableArray value);
void setFontSize(T view, @Nullable String value);
void setFontSize(T view, @Nullable Double value);
void setFontWeight(T view, @Nullable String value);
void setFontWeight(T view, @Nullable Double value);
void setFont(T view, @Nullable ReadableMap value);
void setX(T view, @Nullable String value);
void setX(T view, @Nullable Double value);
void setY(T view, @Nullable String value);
void setY(T view, @Nullable Double value);
void setHeight(T view, @Nullable String value);
void setHeight(T view, @Nullable Double value);
void setWidth(T view, @Nullable String value);
void setWidth(T view, @Nullable Double value);
}

View File

@@ -72,7 +72,13 @@ public class RNSVGGroupManagerDelegate<T extends View, U extends BaseViewManager
mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue());
break;
case "strokeWidth":
mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value);
if (value instanceof String) {
mViewManager.setStrokeWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setStrokeWidth(view, (Double) value);
} else {
mViewManager.setStrokeWidth(view, "1");
}
break;
case "strokeLinecap":
mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue());
@@ -96,10 +102,22 @@ public class RNSVGGroupManagerDelegate<T extends View, U extends BaseViewManager
mViewManager.setPropList(view, (ReadableArray) value);
break;
case "fontSize":
mViewManager.setFontSize(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFontSize(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFontSize(view, (Double) value);
} else {
mViewManager.setFontSize(view, (Double) null);
}
break;
case "fontWeight":
mViewManager.setFontWeight(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFontWeight(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFontWeight(view, (Double) value);
} else {
mViewManager.setFontWeight(view, (Double) null);
}
break;
case "font":
mViewManager.setFont(view, (ReadableMap) value);

View File

@@ -32,6 +32,7 @@ public interface RNSVGGroupManagerInterface<T extends View> {
void setStroke(T view, @Nullable ReadableMap value);
void setStrokeOpacity(T view, float value);
void setStrokeWidth(T view, @Nullable String value);
void setStrokeWidth(T view, @Nullable Double value);
void setStrokeLinecap(T view, int value);
void setStrokeLinejoin(T view, int value);
void setStrokeDasharray(T view, @Nullable ReadableArray value);
@@ -40,6 +41,8 @@ public interface RNSVGGroupManagerInterface<T extends View> {
void setVectorEffect(T view, int value);
void setPropList(T view, @Nullable ReadableArray value);
void setFontSize(T view, @Nullable String value);
void setFontSize(T view, @Nullable Double value);
void setFontWeight(T view, @Nullable String value);
void setFontWeight(T view, @Nullable Double value);
void setFont(T view, @Nullable ReadableMap value);
}

View File

@@ -72,7 +72,13 @@ public class RNSVGImageManagerDelegate<T extends View, U extends BaseViewManager
mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue());
break;
case "strokeWidth":
mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value);
if (value instanceof String) {
mViewManager.setStrokeWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setStrokeWidth(view, (Double) value);
} else {
mViewManager.setStrokeWidth(view, "1");
}
break;
case "strokeLinecap":
mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue());
@@ -96,16 +102,40 @@ public class RNSVGImageManagerDelegate<T extends View, U extends BaseViewManager
mViewManager.setPropList(view, (ReadableArray) value);
break;
case "x":
mViewManager.setX(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setX(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setX(view, (Double) value);
} else {
mViewManager.setX(view, (Double) null);
}
break;
case "y":
mViewManager.setY(view, value == null ? null : (String) value);
break;
case "width":
mViewManager.setWidth(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setY(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setY(view, (Double) value);
} else {
mViewManager.setY(view, (Double) null);
}
break;
case "height":
mViewManager.setHeight(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setHeight(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setHeight(view, (Double) value);
} else {
mViewManager.setHeight(view, (Double) null);
}
break;
case "width":
if (value instanceof String) {
mViewManager.setWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setWidth(view, (Double) value);
} else {
mViewManager.setWidth(view, (Double) null);
}
break;
case "src":
mViewManager.setSrc(view, (ReadableMap) value);

View File

@@ -32,6 +32,7 @@ public interface RNSVGImageManagerInterface<T extends View> {
void setStroke(T view, @Nullable ReadableMap value);
void setStrokeOpacity(T view, float value);
void setStrokeWidth(T view, @Nullable String value);
void setStrokeWidth(T view, @Nullable Double value);
void setStrokeLinecap(T view, int value);
void setStrokeLinejoin(T view, int value);
void setStrokeDasharray(T view, @Nullable ReadableArray value);
@@ -40,9 +41,13 @@ public interface RNSVGImageManagerInterface<T extends View> {
void setVectorEffect(T view, int value);
void setPropList(T view, @Nullable ReadableArray value);
void setX(T view, @Nullable String value);
void setX(T view, @Nullable Double value);
void setY(T view, @Nullable String value);
void setY(T view, @Nullable Double value);
void setWidth(T view, @Nullable String value);
void setWidth(T view, @Nullable Double value);
void setHeight(T view, @Nullable String value);
void setHeight(T view, @Nullable Double value);
void setSrc(T view, @Nullable ReadableMap value);
void setAlign(T view, @Nullable String value);
void setMeetOrSlice(T view, int value);

View File

@@ -72,7 +72,13 @@ public class RNSVGLineManagerDelegate<T extends View, U extends BaseViewManagerI
mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue());
break;
case "strokeWidth":
mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value);
if (value instanceof String) {
mViewManager.setStrokeWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setStrokeWidth(view, (Double) value);
} else {
mViewManager.setStrokeWidth(view, "1");
}
break;
case "strokeLinecap":
mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue());
@@ -96,16 +102,40 @@ public class RNSVGLineManagerDelegate<T extends View, U extends BaseViewManagerI
mViewManager.setPropList(view, (ReadableArray) value);
break;
case "x1":
mViewManager.setX1(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setX1(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setX1(view, (Double) value);
} else {
mViewManager.setX1(view, (Double) null);
}
break;
case "y1":
mViewManager.setY1(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setY1(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setY1(view, (Double) value);
} else {
mViewManager.setY1(view, (Double) null);
}
break;
case "x2":
mViewManager.setX2(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setX2(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setX2(view, (Double) value);
} else {
mViewManager.setX2(view, (Double) null);
}
break;
case "y2":
mViewManager.setY2(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setY2(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setY2(view, (Double) value);
} else {
mViewManager.setY2(view, (Double) null);
}
break;
default:
super.setProperty(view, propName, value);

View File

@@ -32,6 +32,7 @@ public interface RNSVGLineManagerInterface<T extends View> {
void setStroke(T view, @Nullable ReadableMap value);
void setStrokeOpacity(T view, float value);
void setStrokeWidth(T view, @Nullable String value);
void setStrokeWidth(T view, @Nullable Double value);
void setStrokeLinecap(T view, int value);
void setStrokeLinejoin(T view, int value);
void setStrokeDasharray(T view, @Nullable ReadableArray value);
@@ -40,7 +41,11 @@ public interface RNSVGLineManagerInterface<T extends View> {
void setVectorEffect(T view, int value);
void setPropList(T view, @Nullable ReadableArray value);
void setX1(T view, @Nullable String value);
void setX1(T view, @Nullable Double value);
void setY1(T view, @Nullable String value);
void setY1(T view, @Nullable Double value);
void setX2(T view, @Nullable String value);
void setX2(T view, @Nullable Double value);
void setY2(T view, @Nullable String value);
void setY2(T view, @Nullable Double value);
}

View File

@@ -56,16 +56,40 @@ public class RNSVGLinearGradientManagerDelegate<T extends View, U extends BaseVi
mViewManager.setDisplay(view, value == null ? null : (String) value);
break;
case "x1":
mViewManager.setX1(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setX1(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setX1(view, (Double) value);
} else {
mViewManager.setX1(view, (Double) null);
}
break;
case "y1":
mViewManager.setY1(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setY1(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setY1(view, (Double) value);
} else {
mViewManager.setY1(view, (Double) null);
}
break;
case "x2":
mViewManager.setX2(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setX2(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setX2(view, (Double) value);
} else {
mViewManager.setX2(view, (Double) null);
}
break;
case "y2":
mViewManager.setY2(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setY2(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setY2(view, (Double) value);
} else {
mViewManager.setY2(view, (Double) null);
}
break;
case "gradient":
mViewManager.setGradient(view, (ReadableArray) value);

View File

@@ -26,9 +26,13 @@ public interface RNSVGLinearGradientManagerInterface<T extends View> {
void setResponsible(T view, boolean value);
void setDisplay(T view, @Nullable String value);
void setX1(T view, @Nullable String value);
void setX1(T view, @Nullable Double value);
void setY1(T view, @Nullable String value);
void setY1(T view, @Nullable Double value);
void setX2(T view, @Nullable String value);
void setX2(T view, @Nullable Double value);
void setY2(T view, @Nullable String value);
void setY2(T view, @Nullable Double value);
void setGradient(T view, @Nullable ReadableArray value);
void setGradientUnits(T view, int value);
void setGradientTransform(T view, @Nullable ReadableArray value);

View File

@@ -72,7 +72,13 @@ public class RNSVGMarkerManagerDelegate<T extends View, U extends BaseViewManage
mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue());
break;
case "strokeWidth":
mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value);
if (value instanceof String) {
mViewManager.setStrokeWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setStrokeWidth(view, (Double) value);
} else {
mViewManager.setStrokeWidth(view, "1");
}
break;
case "strokeLinecap":
mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue());
@@ -96,25 +102,61 @@ public class RNSVGMarkerManagerDelegate<T extends View, U extends BaseViewManage
mViewManager.setPropList(view, (ReadableArray) value);
break;
case "fontSize":
mViewManager.setFontSize(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFontSize(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFontSize(view, (Double) value);
} else {
mViewManager.setFontSize(view, (Double) null);
}
break;
case "fontWeight":
mViewManager.setFontWeight(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFontWeight(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFontWeight(view, (Double) value);
} else {
mViewManager.setFontWeight(view, (Double) null);
}
break;
case "font":
mViewManager.setFont(view, (ReadableMap) value);
break;
case "refX":
mViewManager.setRefX(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setRefX(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setRefX(view, (Double) value);
} else {
mViewManager.setRefX(view, (Double) null);
}
break;
case "refY":
mViewManager.setRefY(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setRefY(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setRefY(view, (Double) value);
} else {
mViewManager.setRefY(view, (Double) null);
}
break;
case "markerHeight":
mViewManager.setMarkerHeight(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setMarkerHeight(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setMarkerHeight(view, (Double) value);
} else {
mViewManager.setMarkerHeight(view, (Double) null);
}
break;
case "markerWidth":
mViewManager.setMarkerWidth(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setMarkerWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setMarkerWidth(view, (Double) value);
} else {
mViewManager.setMarkerWidth(view, (Double) null);
}
break;
case "markerUnits":
mViewManager.setMarkerUnits(view, value == null ? null : (String) value);

View File

@@ -32,6 +32,7 @@ public interface RNSVGMarkerManagerInterface<T extends View> {
void setStroke(T view, @Nullable ReadableMap value);
void setStrokeOpacity(T view, float value);
void setStrokeWidth(T view, @Nullable String value);
void setStrokeWidth(T view, @Nullable Double value);
void setStrokeLinecap(T view, int value);
void setStrokeLinejoin(T view, int value);
void setStrokeDasharray(T view, @Nullable ReadableArray value);
@@ -40,12 +41,18 @@ public interface RNSVGMarkerManagerInterface<T extends View> {
void setVectorEffect(T view, int value);
void setPropList(T view, @Nullable ReadableArray value);
void setFontSize(T view, @Nullable String value);
void setFontSize(T view, @Nullable Double value);
void setFontWeight(T view, @Nullable String value);
void setFontWeight(T view, @Nullable Double value);
void setFont(T view, @Nullable ReadableMap value);
void setRefX(T view, @Nullable String value);
void setRefX(T view, @Nullable Double value);
void setRefY(T view, @Nullable String value);
void setRefY(T view, @Nullable Double value);
void setMarkerHeight(T view, @Nullable String value);
void setMarkerHeight(T view, @Nullable Double value);
void setMarkerWidth(T view, @Nullable String value);
void setMarkerWidth(T view, @Nullable Double value);
void setMarkerUnits(T view, @Nullable String value);
void setOrient(T view, @Nullable String value);
void setMinX(T view, float value);

View File

@@ -72,7 +72,13 @@ public class RNSVGMaskManagerDelegate<T extends View, U extends BaseViewManagerI
mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue());
break;
case "strokeWidth":
mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value);
if (value instanceof String) {
mViewManager.setStrokeWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setStrokeWidth(view, (Double) value);
} else {
mViewManager.setStrokeWidth(view, "1");
}
break;
case "strokeLinecap":
mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue());
@@ -96,25 +102,61 @@ public class RNSVGMaskManagerDelegate<T extends View, U extends BaseViewManagerI
mViewManager.setPropList(view, (ReadableArray) value);
break;
case "fontSize":
mViewManager.setFontSize(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFontSize(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFontSize(view, (Double) value);
} else {
mViewManager.setFontSize(view, (Double) null);
}
break;
case "fontWeight":
mViewManager.setFontWeight(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFontWeight(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFontWeight(view, (Double) value);
} else {
mViewManager.setFontWeight(view, (Double) null);
}
break;
case "font":
mViewManager.setFont(view, (ReadableMap) value);
break;
case "x":
mViewManager.setX(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setX(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setX(view, (Double) value);
} else {
mViewManager.setX(view, (Double) null);
}
break;
case "y":
mViewManager.setY(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setY(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setY(view, (Double) value);
} else {
mViewManager.setY(view, (Double) null);
}
break;
case "height":
mViewManager.setHeight(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setHeight(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setHeight(view, (Double) value);
} else {
mViewManager.setHeight(view, (Double) null);
}
break;
case "width":
mViewManager.setWidth(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setWidth(view, (Double) value);
} else {
mViewManager.setWidth(view, (Double) null);
}
break;
case "maskUnits":
mViewManager.setMaskUnits(view, value == null ? 0 : ((Double) value).intValue());

View File

@@ -32,6 +32,7 @@ public interface RNSVGMaskManagerInterface<T extends View> {
void setStroke(T view, @Nullable ReadableMap value);
void setStrokeOpacity(T view, float value);
void setStrokeWidth(T view, @Nullable String value);
void setStrokeWidth(T view, @Nullable Double value);
void setStrokeLinecap(T view, int value);
void setStrokeLinejoin(T view, int value);
void setStrokeDasharray(T view, @Nullable ReadableArray value);
@@ -40,12 +41,18 @@ public interface RNSVGMaskManagerInterface<T extends View> {
void setVectorEffect(T view, int value);
void setPropList(T view, @Nullable ReadableArray value);
void setFontSize(T view, @Nullable String value);
void setFontSize(T view, @Nullable Double value);
void setFontWeight(T view, @Nullable String value);
void setFontWeight(T view, @Nullable Double value);
void setFont(T view, @Nullable ReadableMap value);
void setX(T view, @Nullable String value);
void setX(T view, @Nullable Double value);
void setY(T view, @Nullable String value);
void setY(T view, @Nullable Double value);
void setHeight(T view, @Nullable String value);
void setHeight(T view, @Nullable Double value);
void setWidth(T view, @Nullable String value);
void setWidth(T view, @Nullable Double value);
void setMaskUnits(T view, int value);
void setMaskContentUnits(T view, int value);
void setMaskTransform(T view, @Nullable ReadableArray value);

View File

@@ -72,7 +72,13 @@ public class RNSVGPathManagerDelegate<T extends View, U extends BaseViewManagerI
mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue());
break;
case "strokeWidth":
mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value);
if (value instanceof String) {
mViewManager.setStrokeWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setStrokeWidth(view, (Double) value);
} else {
mViewManager.setStrokeWidth(view, "1");
}
break;
case "strokeLinecap":
mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue());

View File

@@ -32,6 +32,7 @@ public interface RNSVGPathManagerInterface<T extends View> {
void setStroke(T view, @Nullable ReadableMap value);
void setStrokeOpacity(T view, float value);
void setStrokeWidth(T view, @Nullable String value);
void setStrokeWidth(T view, @Nullable Double value);
void setStrokeLinecap(T view, int value);
void setStrokeLinejoin(T view, int value);
void setStrokeDasharray(T view, @Nullable ReadableArray value);

View File

@@ -72,7 +72,13 @@ public class RNSVGPatternManagerDelegate<T extends View, U extends BaseViewManag
mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue());
break;
case "strokeWidth":
mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value);
if (value instanceof String) {
mViewManager.setStrokeWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setStrokeWidth(view, (Double) value);
} else {
mViewManager.setStrokeWidth(view, "1");
}
break;
case "strokeLinecap":
mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue());
@@ -96,25 +102,61 @@ public class RNSVGPatternManagerDelegate<T extends View, U extends BaseViewManag
mViewManager.setPropList(view, (ReadableArray) value);
break;
case "fontSize":
mViewManager.setFontSize(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFontSize(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFontSize(view, (Double) value);
} else {
mViewManager.setFontSize(view, (Double) null);
}
break;
case "fontWeight":
mViewManager.setFontWeight(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFontWeight(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFontWeight(view, (Double) value);
} else {
mViewManager.setFontWeight(view, (Double) null);
}
break;
case "font":
mViewManager.setFont(view, (ReadableMap) value);
break;
case "x":
mViewManager.setX(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setX(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setX(view, (Double) value);
} else {
mViewManager.setX(view, (Double) null);
}
break;
case "y":
mViewManager.setY(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setY(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setY(view, (Double) value);
} else {
mViewManager.setY(view, (Double) null);
}
break;
case "height":
mViewManager.setHeight(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setHeight(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setHeight(view, (Double) value);
} else {
mViewManager.setHeight(view, (Double) null);
}
break;
case "width":
mViewManager.setWidth(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setWidth(view, (Double) value);
} else {
mViewManager.setWidth(view, (Double) null);
}
break;
case "patternUnits":
mViewManager.setPatternUnits(view, value == null ? 0 : ((Double) value).intValue());

View File

@@ -32,6 +32,7 @@ public interface RNSVGPatternManagerInterface<T extends View> {
void setStroke(T view, @Nullable ReadableMap value);
void setStrokeOpacity(T view, float value);
void setStrokeWidth(T view, @Nullable String value);
void setStrokeWidth(T view, @Nullable Double value);
void setStrokeLinecap(T view, int value);
void setStrokeLinejoin(T view, int value);
void setStrokeDasharray(T view, @Nullable ReadableArray value);
@@ -40,12 +41,18 @@ public interface RNSVGPatternManagerInterface<T extends View> {
void setVectorEffect(T view, int value);
void setPropList(T view, @Nullable ReadableArray value);
void setFontSize(T view, @Nullable String value);
void setFontSize(T view, @Nullable Double value);
void setFontWeight(T view, @Nullable String value);
void setFontWeight(T view, @Nullable Double value);
void setFont(T view, @Nullable ReadableMap value);
void setX(T view, @Nullable String value);
void setX(T view, @Nullable Double value);
void setY(T view, @Nullable String value);
void setY(T view, @Nullable Double value);
void setHeight(T view, @Nullable String value);
void setHeight(T view, @Nullable Double value);
void setWidth(T view, @Nullable String value);
void setWidth(T view, @Nullable Double value);
void setPatternUnits(T view, int value);
void setPatternContentUnits(T view, int value);
void setPatternTransform(T view, @Nullable ReadableArray value);

View File

@@ -56,22 +56,58 @@ public class RNSVGRadialGradientManagerDelegate<T extends View, U extends BaseVi
mViewManager.setDisplay(view, value == null ? null : (String) value);
break;
case "fx":
mViewManager.setFx(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFx(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFx(view, (Double) value);
} else {
mViewManager.setFx(view, (Double) null);
}
break;
case "fy":
mViewManager.setFy(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFy(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFy(view, (Double) value);
} else {
mViewManager.setFy(view, (Double) null);
}
break;
case "cx":
mViewManager.setCx(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setCx(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setCx(view, (Double) value);
} else {
mViewManager.setCx(view, (Double) null);
}
break;
case "cy":
mViewManager.setCy(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setCy(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setCy(view, (Double) value);
} else {
mViewManager.setCy(view, (Double) null);
}
break;
case "rx":
mViewManager.setRx(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setRx(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setRx(view, (Double) value);
} else {
mViewManager.setRx(view, (Double) null);
}
break;
case "ry":
mViewManager.setRy(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setRy(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setRy(view, (Double) value);
} else {
mViewManager.setRy(view, (Double) null);
}
break;
case "gradient":
mViewManager.setGradient(view, (ReadableArray) value);

View File

@@ -26,11 +26,17 @@ public interface RNSVGRadialGradientManagerInterface<T extends View> {
void setResponsible(T view, boolean value);
void setDisplay(T view, @Nullable String value);
void setFx(T view, @Nullable String value);
void setFx(T view, @Nullable Double value);
void setFy(T view, @Nullable String value);
void setFy(T view, @Nullable Double value);
void setCx(T view, @Nullable String value);
void setCx(T view, @Nullable Double value);
void setCy(T view, @Nullable String value);
void setCy(T view, @Nullable Double value);
void setRx(T view, @Nullable String value);
void setRx(T view, @Nullable Double value);
void setRy(T view, @Nullable String value);
void setRy(T view, @Nullable Double value);
void setGradient(T view, @Nullable ReadableArray value);
void setGradientUnits(T view, int value);
void setGradientTransform(T view, @Nullable ReadableArray value);

View File

@@ -72,7 +72,13 @@ public class RNSVGRectManagerDelegate<T extends View, U extends BaseViewManagerI
mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue());
break;
case "strokeWidth":
mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value);
if (value instanceof String) {
mViewManager.setStrokeWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setStrokeWidth(view, (Double) value);
} else {
mViewManager.setStrokeWidth(view, "1");
}
break;
case "strokeLinecap":
mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue());
@@ -96,22 +102,58 @@ public class RNSVGRectManagerDelegate<T extends View, U extends BaseViewManagerI
mViewManager.setPropList(view, (ReadableArray) value);
break;
case "x":
mViewManager.setX(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setX(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setX(view, (Double) value);
} else {
mViewManager.setX(view, (Double) null);
}
break;
case "y":
mViewManager.setY(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setY(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setY(view, (Double) value);
} else {
mViewManager.setY(view, (Double) null);
}
break;
case "height":
mViewManager.setHeight(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setHeight(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setHeight(view, (Double) value);
} else {
mViewManager.setHeight(view, (Double) null);
}
break;
case "width":
mViewManager.setWidth(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setWidth(view, (Double) value);
} else {
mViewManager.setWidth(view, (Double) null);
}
break;
case "rx":
mViewManager.setRx(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setRx(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setRx(view, (Double) value);
} else {
mViewManager.setRx(view, (Double) null);
}
break;
case "ry":
mViewManager.setRy(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setRy(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setRy(view, (Double) value);
} else {
mViewManager.setRy(view, (Double) null);
}
break;
default:
super.setProperty(view, propName, value);

View File

@@ -32,6 +32,7 @@ public interface RNSVGRectManagerInterface<T extends View> {
void setStroke(T view, @Nullable ReadableMap value);
void setStrokeOpacity(T view, float value);
void setStrokeWidth(T view, @Nullable String value);
void setStrokeWidth(T view, @Nullable Double value);
void setStrokeLinecap(T view, int value);
void setStrokeLinejoin(T view, int value);
void setStrokeDasharray(T view, @Nullable ReadableArray value);
@@ -40,9 +41,15 @@ public interface RNSVGRectManagerInterface<T extends View> {
void setVectorEffect(T view, int value);
void setPropList(T view, @Nullable ReadableArray value);
void setX(T view, @Nullable String value);
void setX(T view, @Nullable Double value);
void setY(T view, @Nullable String value);
void setY(T view, @Nullable Double value);
void setHeight(T view, @Nullable String value);
void setHeight(T view, @Nullable Double value);
void setWidth(T view, @Nullable String value);
void setWidth(T view, @Nullable Double value);
void setRx(T view, @Nullable String value);
void setRx(T view, @Nullable Double value);
void setRy(T view, @Nullable String value);
void setRy(T view, @Nullable Double value);
}

View File

@@ -23,10 +23,22 @@ public class RNSVGSvgViewManagerDelegate<T extends View, U extends BaseViewManag
public void setProperty(T view, String propName, @Nullable Object value) {
switch (propName) {
case "bbWidth":
mViewManager.setBbWidth(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setBbWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setBbWidth(view, (Double) value);
} else {
mViewManager.setBbWidth(view, (Double) null);
}
break;
case "bbHeight":
mViewManager.setBbHeight(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setBbHeight(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setBbHeight(view, (Double) value);
} else {
mViewManager.setBbHeight(view, (Double) null);
}
break;
case "minX":
mViewManager.setMinX(view, value == null ? Float.NaN : ((Double) value).floatValue());

View File

@@ -14,7 +14,9 @@ import androidx.annotation.Nullable;
public interface RNSVGSvgViewManagerInterface<T extends View> {
void setBbWidth(T view, @Nullable String value);
void setBbWidth(T view, @Nullable Double value);
void setBbHeight(T view, @Nullable String value);
void setBbHeight(T view, @Nullable Double value);
void setMinX(T view, float value);
void setMinY(T view, float value);
void setVbWidth(T view, float value);

View File

@@ -72,7 +72,13 @@ public class RNSVGSymbolManagerDelegate<T extends View, U extends BaseViewManage
mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue());
break;
case "strokeWidth":
mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value);
if (value instanceof String) {
mViewManager.setStrokeWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setStrokeWidth(view, (Double) value);
} else {
mViewManager.setStrokeWidth(view, "1");
}
break;
case "strokeLinecap":
mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue());
@@ -96,10 +102,22 @@ public class RNSVGSymbolManagerDelegate<T extends View, U extends BaseViewManage
mViewManager.setPropList(view, (ReadableArray) value);
break;
case "fontSize":
mViewManager.setFontSize(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFontSize(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFontSize(view, (Double) value);
} else {
mViewManager.setFontSize(view, (Double) null);
}
break;
case "fontWeight":
mViewManager.setFontWeight(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFontWeight(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFontWeight(view, (Double) value);
} else {
mViewManager.setFontWeight(view, (Double) null);
}
break;
case "font":
mViewManager.setFont(view, (ReadableMap) value);

View File

@@ -32,6 +32,7 @@ public interface RNSVGSymbolManagerInterface<T extends View> {
void setStroke(T view, @Nullable ReadableMap value);
void setStrokeOpacity(T view, float value);
void setStrokeWidth(T view, @Nullable String value);
void setStrokeWidth(T view, @Nullable Double value);
void setStrokeLinecap(T view, int value);
void setStrokeLinejoin(T view, int value);
void setStrokeDasharray(T view, @Nullable ReadableArray value);
@@ -40,7 +41,9 @@ public interface RNSVGSymbolManagerInterface<T extends View> {
void setVectorEffect(T view, int value);
void setPropList(T view, @Nullable ReadableArray value);
void setFontSize(T view, @Nullable String value);
void setFontSize(T view, @Nullable Double value);
void setFontWeight(T view, @Nullable String value);
void setFontWeight(T view, @Nullable Double value);
void setFont(T view, @Nullable ReadableMap value);
void setMinX(T view, float value);
void setMinY(T view, float value);

View File

@@ -72,7 +72,13 @@ public class RNSVGTSpanManagerDelegate<T extends View, U extends BaseViewManager
mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue());
break;
case "strokeWidth":
mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value);
if (value instanceof String) {
mViewManager.setStrokeWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setStrokeWidth(view, (Double) value);
} else {
mViewManager.setStrokeWidth(view, "1");
}
break;
case "strokeLinecap":
mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue());
@@ -96,10 +102,22 @@ public class RNSVGTSpanManagerDelegate<T extends View, U extends BaseViewManager
mViewManager.setPropList(view, (ReadableArray) value);
break;
case "fontSize":
mViewManager.setFontSize(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFontSize(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFontSize(view, (Double) value);
} else {
mViewManager.setFontSize(view, (Double) null);
}
break;
case "fontWeight":
mViewManager.setFontWeight(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFontWeight(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFontWeight(view, (Double) value);
} else {
mViewManager.setFontWeight(view, (Double) null);
}
break;
case "font":
mViewManager.setFont(view, (ReadableMap) value);
@@ -120,13 +138,31 @@ public class RNSVGTSpanManagerDelegate<T extends View, U extends BaseViewManager
mViewManager.setRotate(view, (ReadableArray) value);
break;
case "inlineSize":
mViewManager.setInlineSize(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setInlineSize(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setInlineSize(view, (Double) value);
} else {
mViewManager.setInlineSize(view, (Double) null);
}
break;
case "textLength":
mViewManager.setTextLength(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setTextLength(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setTextLength(view, (Double) value);
} else {
mViewManager.setTextLength(view, (Double) null);
}
break;
case "baselineShift":
mViewManager.setBaselineShift(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setBaselineShift(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setBaselineShift(view, (Double) value);
} else {
mViewManager.setBaselineShift(view, (Double) null);
}
break;
case "lengthAdjust":
mViewManager.setLengthAdjust(view, value == null ? null : (String) value);

View File

@@ -32,6 +32,7 @@ public interface RNSVGTSpanManagerInterface<T extends View> {
void setStroke(T view, @Nullable ReadableMap value);
void setStrokeOpacity(T view, float value);
void setStrokeWidth(T view, @Nullable String value);
void setStrokeWidth(T view, @Nullable Double value);
void setStrokeLinecap(T view, int value);
void setStrokeLinejoin(T view, int value);
void setStrokeDasharray(T view, @Nullable ReadableArray value);
@@ -40,7 +41,9 @@ public interface RNSVGTSpanManagerInterface<T extends View> {
void setVectorEffect(T view, int value);
void setPropList(T view, @Nullable ReadableArray value);
void setFontSize(T view, @Nullable String value);
void setFontSize(T view, @Nullable Double value);
void setFontWeight(T view, @Nullable String value);
void setFontWeight(T view, @Nullable Double value);
void setFont(T view, @Nullable ReadableMap value);
void setDx(T view, @Nullable ReadableArray value);
void setDy(T view, @Nullable ReadableArray value);
@@ -48,8 +51,11 @@ public interface RNSVGTSpanManagerInterface<T extends View> {
void setY(T view, @Nullable ReadableArray value);
void setRotate(T view, @Nullable ReadableArray value);
void setInlineSize(T view, @Nullable String value);
void setInlineSize(T view, @Nullable Double value);
void setTextLength(T view, @Nullable String value);
void setTextLength(T view, @Nullable Double value);
void setBaselineShift(T view, @Nullable String value);
void setBaselineShift(T view, @Nullable Double value);
void setLengthAdjust(T view, @Nullable String value);
void setAlignmentBaseline(T view, @Nullable String value);
void setVerticalAlign(T view, @Nullable String value);

View File

@@ -72,7 +72,13 @@ public class RNSVGTextManagerDelegate<T extends View, U extends BaseViewManagerI
mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue());
break;
case "strokeWidth":
mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value);
if (value instanceof String) {
mViewManager.setStrokeWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setStrokeWidth(view, (Double) value);
} else {
mViewManager.setStrokeWidth(view, "1");
}
break;
case "strokeLinecap":
mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue());
@@ -96,10 +102,22 @@ public class RNSVGTextManagerDelegate<T extends View, U extends BaseViewManagerI
mViewManager.setPropList(view, (ReadableArray) value);
break;
case "fontSize":
mViewManager.setFontSize(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFontSize(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFontSize(view, (Double) value);
} else {
mViewManager.setFontSize(view, (Double) null);
}
break;
case "fontWeight":
mViewManager.setFontWeight(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFontWeight(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFontWeight(view, (Double) value);
} else {
mViewManager.setFontWeight(view, (Double) null);
}
break;
case "font":
mViewManager.setFont(view, (ReadableMap) value);
@@ -120,13 +138,31 @@ public class RNSVGTextManagerDelegate<T extends View, U extends BaseViewManagerI
mViewManager.setRotate(view, (ReadableArray) value);
break;
case "inlineSize":
mViewManager.setInlineSize(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setInlineSize(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setInlineSize(view, (Double) value);
} else {
mViewManager.setInlineSize(view, (Double) null);
}
break;
case "textLength":
mViewManager.setTextLength(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setTextLength(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setTextLength(view, (Double) value);
} else {
mViewManager.setTextLength(view, (Double) null);
}
break;
case "baselineShift":
mViewManager.setBaselineShift(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setBaselineShift(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setBaselineShift(view, (Double) value);
} else {
mViewManager.setBaselineShift(view, (Double) null);
}
break;
case "lengthAdjust":
mViewManager.setLengthAdjust(view, value == null ? null : (String) value);

View File

@@ -32,6 +32,7 @@ public interface RNSVGTextManagerInterface<T extends View> {
void setStroke(T view, @Nullable ReadableMap value);
void setStrokeOpacity(T view, float value);
void setStrokeWidth(T view, @Nullable String value);
void setStrokeWidth(T view, @Nullable Double value);
void setStrokeLinecap(T view, int value);
void setStrokeLinejoin(T view, int value);
void setStrokeDasharray(T view, @Nullable ReadableArray value);
@@ -40,7 +41,9 @@ public interface RNSVGTextManagerInterface<T extends View> {
void setVectorEffect(T view, int value);
void setPropList(T view, @Nullable ReadableArray value);
void setFontSize(T view, @Nullable String value);
void setFontSize(T view, @Nullable Double value);
void setFontWeight(T view, @Nullable String value);
void setFontWeight(T view, @Nullable Double value);
void setFont(T view, @Nullable ReadableMap value);
void setDx(T view, @Nullable ReadableArray value);
void setDy(T view, @Nullable ReadableArray value);
@@ -48,8 +51,11 @@ public interface RNSVGTextManagerInterface<T extends View> {
void setY(T view, @Nullable ReadableArray value);
void setRotate(T view, @Nullable ReadableArray value);
void setInlineSize(T view, @Nullable String value);
void setInlineSize(T view, @Nullable Double value);
void setTextLength(T view, @Nullable String value);
void setTextLength(T view, @Nullable Double value);
void setBaselineShift(T view, @Nullable String value);
void setBaselineShift(T view, @Nullable Double value);
void setLengthAdjust(T view, @Nullable String value);
void setAlignmentBaseline(T view, @Nullable String value);
void setVerticalAlign(T view, @Nullable String value);

View File

@@ -72,7 +72,13 @@ public class RNSVGTextPathManagerDelegate<T extends View, U extends BaseViewMana
mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue());
break;
case "strokeWidth":
mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value);
if (value instanceof String) {
mViewManager.setStrokeWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setStrokeWidth(view, (Double) value);
} else {
mViewManager.setStrokeWidth(view, "1");
}
break;
case "strokeLinecap":
mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue());
@@ -96,10 +102,22 @@ public class RNSVGTextPathManagerDelegate<T extends View, U extends BaseViewMana
mViewManager.setPropList(view, (ReadableArray) value);
break;
case "fontSize":
mViewManager.setFontSize(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFontSize(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFontSize(view, (Double) value);
} else {
mViewManager.setFontSize(view, (Double) null);
}
break;
case "fontWeight":
mViewManager.setFontWeight(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setFontWeight(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setFontWeight(view, (Double) value);
} else {
mViewManager.setFontWeight(view, (Double) null);
}
break;
case "font":
mViewManager.setFont(view, (ReadableMap) value);
@@ -120,13 +138,31 @@ public class RNSVGTextPathManagerDelegate<T extends View, U extends BaseViewMana
mViewManager.setRotate(view, (ReadableArray) value);
break;
case "inlineSize":
mViewManager.setInlineSize(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setInlineSize(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setInlineSize(view, (Double) value);
} else {
mViewManager.setInlineSize(view, (Double) null);
}
break;
case "textLength":
mViewManager.setTextLength(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setTextLength(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setTextLength(view, (Double) value);
} else {
mViewManager.setTextLength(view, (Double) null);
}
break;
case "baselineShift":
mViewManager.setBaselineShift(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setBaselineShift(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setBaselineShift(view, (Double) value);
} else {
mViewManager.setBaselineShift(view, (Double) null);
}
break;
case "lengthAdjust":
mViewManager.setLengthAdjust(view, value == null ? null : (String) value);
@@ -153,7 +189,13 @@ public class RNSVGTextPathManagerDelegate<T extends View, U extends BaseViewMana
mViewManager.setSpacing(view, value == null ? null : (String) value);
break;
case "startOffset":
mViewManager.setStartOffset(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setStartOffset(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setStartOffset(view, (Double) value);
} else {
mViewManager.setStartOffset(view, (Double) null);
}
break;
default:
super.setProperty(view, propName, value);

View File

@@ -32,6 +32,7 @@ public interface RNSVGTextPathManagerInterface<T extends View> {
void setStroke(T view, @Nullable ReadableMap value);
void setStrokeOpacity(T view, float value);
void setStrokeWidth(T view, @Nullable String value);
void setStrokeWidth(T view, @Nullable Double value);
void setStrokeLinecap(T view, int value);
void setStrokeLinejoin(T view, int value);
void setStrokeDasharray(T view, @Nullable ReadableArray value);
@@ -40,7 +41,9 @@ public interface RNSVGTextPathManagerInterface<T extends View> {
void setVectorEffect(T view, int value);
void setPropList(T view, @Nullable ReadableArray value);
void setFontSize(T view, @Nullable String value);
void setFontSize(T view, @Nullable Double value);
void setFontWeight(T view, @Nullable String value);
void setFontWeight(T view, @Nullable Double value);
void setFont(T view, @Nullable ReadableMap value);
void setDx(T view, @Nullable ReadableArray value);
void setDy(T view, @Nullable ReadableArray value);
@@ -48,8 +51,11 @@ public interface RNSVGTextPathManagerInterface<T extends View> {
void setY(T view, @Nullable ReadableArray value);
void setRotate(T view, @Nullable ReadableArray value);
void setInlineSize(T view, @Nullable String value);
void setInlineSize(T view, @Nullable Double value);
void setTextLength(T view, @Nullable String value);
void setTextLength(T view, @Nullable Double value);
void setBaselineShift(T view, @Nullable String value);
void setBaselineShift(T view, @Nullable Double value);
void setLengthAdjust(T view, @Nullable String value);
void setAlignmentBaseline(T view, @Nullable String value);
void setVerticalAlign(T view, @Nullable String value);
@@ -59,4 +65,5 @@ public interface RNSVGTextPathManagerInterface<T extends View> {
void setMidLine(T view, @Nullable String value);
void setSpacing(T view, @Nullable String value);
void setStartOffset(T view, @Nullable String value);
void setStartOffset(T view, @Nullable Double value);
}

View File

@@ -72,7 +72,13 @@ public class RNSVGUseManagerDelegate<T extends View, U extends BaseViewManagerIn
mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue());
break;
case "strokeWidth":
mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value);
if (value instanceof String) {
mViewManager.setStrokeWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setStrokeWidth(view, (Double) value);
} else {
mViewManager.setStrokeWidth(view, "1");
}
break;
case "strokeLinecap":
mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue());
@@ -99,16 +105,40 @@ public class RNSVGUseManagerDelegate<T extends View, U extends BaseViewManagerIn
mViewManager.setHref(view, value == null ? null : (String) value);
break;
case "x":
mViewManager.setX(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setX(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setX(view, (Double) value);
} else {
mViewManager.setX(view, (Double) null);
}
break;
case "y":
mViewManager.setY(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setY(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setY(view, (Double) value);
} else {
mViewManager.setY(view, (Double) null);
}
break;
case "height":
mViewManager.setHeight(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setHeight(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setHeight(view, (Double) value);
} else {
mViewManager.setHeight(view, (Double) null);
}
break;
case "width":
mViewManager.setWidth(view, value == null ? null : (String) value);
if (value instanceof String) {
mViewManager.setWidth(view, (String) value);
} else if (value instanceof Double) {
mViewManager.setWidth(view, (Double) value);
} else {
mViewManager.setWidth(view, (Double) null);
}
break;
default:
super.setProperty(view, propName, value);

View File

@@ -32,6 +32,7 @@ public interface RNSVGUseManagerInterface<T extends View> {
void setStroke(T view, @Nullable ReadableMap value);
void setStrokeOpacity(T view, float value);
void setStrokeWidth(T view, @Nullable String value);
void setStrokeWidth(T view, @Nullable Double value);
void setStrokeLinecap(T view, int value);
void setStrokeLinejoin(T view, int value);
void setStrokeDasharray(T view, @Nullable ReadableArray value);
@@ -41,7 +42,11 @@ public interface RNSVGUseManagerInterface<T extends View> {
void setPropList(T view, @Nullable ReadableArray value);
void setHref(T view, @Nullable String value);
void setX(T view, @Nullable String value);
void setX(T view, @Nullable Double value);
void setY(T view, @Nullable String value);
void setY(T view, @Nullable Double value);
void setHeight(T view, @Nullable String value);
void setHeight(T view, @Nullable Double value);
void setWidth(T view, @Nullable String value);
void setWidth(T view, @Nullable Double value);
}

View File

@@ -77,7 +77,7 @@ RCT_ENUM_CONVERTER(
// These are probably expensive allocations since it's often the same value.
// We should memoize colors but look ups may be just as expensive.
{
NSArray *arr = @[ @(0), dict[@"value"] ];
NSArray *arr = @[ @(0), dict[@"payload"] ];
return [[RNSVGSolidColorBrush alloc] initWithArray:arr];
}
case 1: // brush

View File

@@ -22,7 +22,7 @@ RNSVGBrush *brushFromColorStruct(T fillObject)
{
// These are probably expensive allocations since it's often the same value.
// We should memoize colors but look ups may be just as expensive.
RNSVGColor *color = RCTUIColorFromSharedColor(fillObject.value) ?: [RNSVGColor clearColor];
RNSVGColor *color = RCTUIColorFromSharedColor(fillObject.payload) ?: [RNSVGColor clearColor];
return [[RNSVGSolidColorBrush alloc] initWithColor:color];
}
case 1: // brush

View File

@@ -23,7 +23,7 @@ interface SvgNodeCommonProps {
type ColorStruct = Readonly<{
type?: WithDefault<Int32, -1>;
value?: ColorValue;
payload?: ColorValue;
brushRef?: string;
}>;

View File

@@ -23,7 +23,7 @@ interface SvgNodeCommonProps {
type ColorStruct = Readonly<{
type?: WithDefault<Int32, -1>;
value?: ColorValue;
payload?: ColorValue;
brushRef?: string;
}>;

View File

@@ -23,7 +23,7 @@ interface SvgNodeCommonProps {
type ColorStruct = Readonly<{
type?: WithDefault<Int32, -1>;
value?: ColorValue;
payload?: ColorValue;
brushRef?: string;
}>;

View File

@@ -23,7 +23,7 @@ interface SvgNodeCommonProps {
type ColorStruct = Readonly<{
type?: WithDefault<Int32, -1>;
value?: ColorValue;
payload?: ColorValue;
brushRef?: string;
}>;

View File

@@ -23,7 +23,7 @@ interface SvgNodeCommonProps {
type ColorStruct = Readonly<{
type?: WithDefault<Int32, -1>;
value?: ColorValue;
payload?: ColorValue;
brushRef?: string;
}>;

View File

@@ -28,7 +28,7 @@ interface SvgNodeCommonProps {
type ColorStruct = Readonly<{
type?: WithDefault<Int32, -1>;
value?: ColorValue;
payload?: ColorValue;
brushRef?: string;
}>;

View File

@@ -23,7 +23,7 @@ interface SvgNodeCommonProps {
type ColorStruct = Readonly<{
type?: WithDefault<Int32, -1>;
value?: ColorValue;
payload?: ColorValue;
brushRef?: string;
}>;

Some files were not shown because too many files have changed in this diff Show More