diff --git a/apps/demo/src/plugin-demos/canvas-svg.xml b/apps/demo/src/plugin-demos/canvas-svg.xml
index 4ca45c0cf..5e24e4b71 100644
--- a/apps/demo/src/plugin-demos/canvas-svg.xml
+++ b/apps/demo/src/plugin-demos/canvas-svg.xml
@@ -1,14 +1,13 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/demo/src/plugin-demos/canvas.xml b/apps/demo/src/plugin-demos/canvas.xml
index 76c9d824b..cc92c4bee 100644
--- a/apps/demo/src/plugin-demos/canvas.xml
+++ b/apps/demo/src/plugin-demos/canvas.xml
@@ -5,7 +5,7 @@
-
+
@@ -83,7 +83,7 @@ loaded="{{ rectLoaded }}"
-->
-
-
+
-
+
-
-
+
+
-
-
-
-
+ layoutChanged="{{ onLayout }}"/>
+
+
diff --git a/packages/canvas-svg/src-native/android/app/src/main/res/values/colors.xml b/packages/canvas-svg/src-native/android/app/src/main/res/values/colors.xml
new file mode 100644
index 000000000..ca1931bca
--- /dev/null
+++ b/packages/canvas-svg/src-native/android/app/src/main/res/values/colors.xml
@@ -0,0 +1,10 @@
+
+
+ #FFBB86FC
+ #FF6200EE
+ #FF3700B3
+ #FF03DAC5
+ #FF018786
+ #FF000000
+ #FFFFFFFF
+
diff --git a/packages/canvas-svg/src-native/android/app/src/main/res/values/strings.xml b/packages/canvas-svg/src-native/android/app/src/main/res/values/strings.xml
new file mode 100644
index 000000000..c16528805
--- /dev/null
+++ b/packages/canvas-svg/src-native/android/app/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+
+ SVGDemo
+
\ No newline at end of file
diff --git a/packages/canvas-svg/src-native/android/app/src/main/res/values/themes.xml b/packages/canvas-svg/src-native/android/app/src/main/res/values/themes.xml
new file mode 100644
index 000000000..b169014b3
--- /dev/null
+++ b/packages/canvas-svg/src-native/android/app/src/main/res/values/themes.xml
@@ -0,0 +1,16 @@
+
+
+
+
diff --git a/packages/canvas-svg/src-native/android/app/src/main/res/xml/backup_rules.xml b/packages/canvas-svg/src-native/android/app/src/main/res/xml/backup_rules.xml
new file mode 100644
index 000000000..148c18b65
--- /dev/null
+++ b/packages/canvas-svg/src-native/android/app/src/main/res/xml/backup_rules.xml
@@ -0,0 +1,13 @@
+
+
+
+
diff --git a/packages/canvas-svg/src-native/android/app/src/main/res/xml/data_extraction_rules.xml b/packages/canvas-svg/src-native/android/app/src/main/res/xml/data_extraction_rules.xml
new file mode 100644
index 000000000..0c4f95cab
--- /dev/null
+++ b/packages/canvas-svg/src-native/android/app/src/main/res/xml/data_extraction_rules.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
diff --git a/packages/canvas-svg/src-native/android/app/src/test/java/org/nativescript/canvas/svgdemo/ExampleUnitTest.kt b/packages/canvas-svg/src-native/android/app/src/test/java/org/nativescript/canvas/svgdemo/ExampleUnitTest.kt
new file mode 100644
index 000000000..59019e7ea
--- /dev/null
+++ b/packages/canvas-svg/src-native/android/app/src/test/java/org/nativescript/canvas/svgdemo/ExampleUnitTest.kt
@@ -0,0 +1,17 @@
+package org.nativescript.canvas.svgdemo
+
+import org.junit.Test
+
+import org.junit.Assert.*
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * See [testing documentation](http://d.android.com/tools/testing).
+ */
+class ExampleUnitTest {
+ @Test
+ fun addition_isCorrect() {
+ assertEquals(4, 2 + 2)
+ }
+}
diff --git a/packages/canvas-svg/src-native/android/build.gradle b/packages/canvas-svg/src-native/android/build.gradle
new file mode 100644
index 000000000..70924b0a0
--- /dev/null
+++ b/packages/canvas-svg/src-native/android/build.gradle
@@ -0,0 +1,6 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+plugins {
+ id 'com.android.application' version '7.4.2' apply false
+ id 'com.android.library' version '7.4.2' apply false
+ id 'org.jetbrains.kotlin.android' version '1.8.0' apply false
+}
diff --git a/packages/canvas-svg/src-native/android/canvassvg/.gitignore b/packages/canvas-svg/src-native/android/canvassvg/.gitignore
new file mode 100644
index 000000000..42afabfd2
--- /dev/null
+++ b/packages/canvas-svg/src-native/android/canvassvg/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/packages/canvas-svg/src-native/android/canvassvg/build.gradle b/packages/canvas-svg/src-native/android/canvassvg/build.gradle
new file mode 100644
index 000000000..023056dc6
--- /dev/null
+++ b/packages/canvas-svg/src-native/android/canvassvg/build.gradle
@@ -0,0 +1,43 @@
+plugins {
+ id 'com.android.library'
+ id 'org.jetbrains.kotlin.android'
+}
+
+android {
+ namespace 'org.nativescript.canvas.svg'
+ compileSdk 33
+
+ defaultConfig {
+ minSdk 17
+ targetSdk 33
+
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ consumerProguardFiles "consumer-rules.pro"
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ }
+ }
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+ kotlinOptions {
+ jvmTarget = '1.8'
+ }
+
+ ndkVersion "23.2.8568313"
+}
+
+dependencies {
+
+ implementation 'androidx.core:core-ktx:1.7.0'
+ implementation 'androidx.appcompat:appcompat:1.6.1'
+// implementation 'com.google.android.material:material:1.11.0'
+ testImplementation 'junit:junit:4.13.2'
+ androidTestImplementation 'androidx.test.ext:junit:1.1.3'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
+}
diff --git a/packages/canvas-svg/src-native/android/canvassvg/consumer-rules.pro b/packages/canvas-svg/src-native/android/canvassvg/consumer-rules.pro
new file mode 100644
index 000000000..e69de29bb
diff --git a/packages/canvas-svg/src-native/android/canvassvg/proguard-rules.pro b/packages/canvas-svg/src-native/android/canvassvg/proguard-rules.pro
new file mode 100644
index 000000000..481bb4348
--- /dev/null
+++ b/packages/canvas-svg/src-native/android/canvassvg/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/packages/canvas-svg/src-native/android/canvassvg/src/androidTest/java/org/nativescript/canvas/svg/ExampleInstrumentedTest.kt b/packages/canvas-svg/src-native/android/canvassvg/src/androidTest/java/org/nativescript/canvas/svg/ExampleInstrumentedTest.kt
new file mode 100644
index 000000000..bd40da09e
--- /dev/null
+++ b/packages/canvas-svg/src-native/android/canvassvg/src/androidTest/java/org/nativescript/canvas/svg/ExampleInstrumentedTest.kt
@@ -0,0 +1,24 @@
+package org.nativescript.canvas.svg
+
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.ext.junit.runners.AndroidJUnit4
+
+import org.junit.Test
+import org.junit.runner.RunWith
+
+import org.junit.Assert.*
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * See [testing documentation](http://d.android.com/tools/testing).
+ */
+@RunWith(AndroidJUnit4::class)
+class ExampleInstrumentedTest {
+ @Test
+ fun useAppContext() {
+ // Context of the app under test.
+ val appContext = InstrumentationRegistry.getInstrumentation().targetContext
+ assertEquals("org.nativescript.canvas.svg.test", appContext.packageName)
+ }
+}
diff --git a/packages/canvas-svg/src-native/android/canvassvg/src/main/AndroidManifest.xml b/packages/canvas-svg/src-native/android/canvassvg/src/main/AndroidManifest.xml
new file mode 100644
index 000000000..8bdb7e14b
--- /dev/null
+++ b/packages/canvas-svg/src-native/android/canvassvg/src/main/AndroidManifest.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/packages/canvas-svg/src-native/android/canvassvg/src/main/java/org/nativescript/canvas/svg/NSCSVG.kt b/packages/canvas-svg/src-native/android/canvassvg/src/main/java/org/nativescript/canvas/svg/NSCSVG.kt
new file mode 100644
index 000000000..81721e902
--- /dev/null
+++ b/packages/canvas-svg/src-native/android/canvassvg/src/main/java/org/nativescript/canvas/svg/NSCSVG.kt
@@ -0,0 +1,121 @@
+package org.nativescript.canvas.svg
+
+import android.content.Context
+import android.graphics.Bitmap
+import android.graphics.Canvas
+import android.graphics.Matrix
+import android.util.AttributeSet
+import android.util.Log
+import android.view.View
+import java.util.concurrent.Executors
+
+
+class NSCSVG : View {
+ internal var bitmap: Bitmap? = null
+ internal val lock = Any()
+ private var pendingInvalidate: Boolean = false
+ private val executor = Executors.newSingleThreadExecutor()
+ private var src: String = ""
+ private var srcPath: String = ""
+ private var mMatrix = Matrix()
+
+ var sync: Boolean = false
+
+ constructor(context: Context) : super(context, null) {
+ init(context)
+ }
+
+ constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) {
+ init(context)
+ }
+
+ private fun init(context: Context) {
+ if (isInEditMode) {
+ return
+ }
+ }
+
+ private var currentTask: java.util.concurrent.Future<*>? = null
+ private fun resize(w: Int, h: Int) {
+ doDraw()
+ }
+
+
+ override fun onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int) {
+ super.onSizeChanged(w, h, oldw, oldh)
+ if (w != 0 && h != 0) {
+
+ bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888)
+
+ resize(w, h)
+ }
+ }
+
+ override fun onDraw(canvas: Canvas) {
+ bitmap?.let {
+ canvas.drawBitmap(it, mMatrix, null)
+ }
+ }
+
+ private fun doDraw() {
+ bitmap?.let {
+ currentTask?.cancel(true)
+ if (sync) {
+ if (srcPath.isNotEmpty()) {
+ nativeDrawSVGFromPath(it, srcPath)
+ pendingInvalidate = false
+ invalidate()
+ } else {
+ nativeDrawSVG(it, src)
+ pendingInvalidate = false
+ invalidate()
+ }
+ return
+ }
+
+ synchronized(lock) {
+ currentTask = executor.submit {
+ if (srcPath.isNotEmpty()) {
+ nativeDrawSVGFromPath(it, srcPath)
+ handler?.post {
+ pendingInvalidate = false
+ invalidate()
+ }
+ } else {
+ nativeDrawSVG(it, src)
+ handler?.post {
+ pendingInvalidate = false
+ invalidate()
+ }
+ }
+ currentTask = null
+ }
+ }
+ }
+ }
+
+ fun setSrc(src: String) {
+ this.src = src
+ doDraw()
+ }
+
+ fun setSrcPath(path: String) {
+ this.srcPath = path
+ doDraw()
+ }
+
+ companion object {
+ init {
+ try {
+ System.loadLibrary("canvassvg")
+ } catch (_: Exception) {
+ }
+ }
+
+ @JvmStatic
+ private external fun nativeDrawSVG(bitmap: Bitmap, svg: String)
+
+ @JvmStatic
+ private external fun nativeDrawSVGFromPath(bitmap: Bitmap, svg: String)
+ }
+}
diff --git a/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/arm64-v8a/libc++_shared.so b/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/arm64-v8a/libc++_shared.so
new file mode 100755
index 000000000..feaa1b7b3
Binary files /dev/null and b/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/arm64-v8a/libc++_shared.so differ
diff --git a/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/arm64-v8a/libcanvassvg.so b/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/arm64-v8a/libcanvassvg.so
new file mode 100755
index 000000000..3a9f0c9f3
Binary files /dev/null and b/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/arm64-v8a/libcanvassvg.so differ
diff --git a/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/armeabi-v7a/libc++_shared.so b/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/armeabi-v7a/libc++_shared.so
new file mode 100755
index 000000000..04410c709
Binary files /dev/null and b/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/armeabi-v7a/libc++_shared.so differ
diff --git a/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/armeabi-v7a/libcanvassvg.so b/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/armeabi-v7a/libcanvassvg.so
new file mode 100755
index 000000000..794207182
Binary files /dev/null and b/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/armeabi-v7a/libcanvassvg.so differ
diff --git a/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/x86/libc++_shared.so b/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/x86/libc++_shared.so
new file mode 100755
index 000000000..f3d55186d
Binary files /dev/null and b/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/x86/libc++_shared.so differ
diff --git a/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/x86/libcanvassvg.so b/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/x86/libcanvassvg.so
new file mode 100755
index 000000000..0f1934f03
Binary files /dev/null and b/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/x86/libcanvassvg.so differ
diff --git a/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/x86_64/libc++_shared.so b/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/x86_64/libc++_shared.so
new file mode 100755
index 000000000..2ebb3db51
Binary files /dev/null and b/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/x86_64/libc++_shared.so differ
diff --git a/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/x86_64/libcanvassvg.so b/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/x86_64/libcanvassvg.so
new file mode 100755
index 000000000..3cb840e08
Binary files /dev/null and b/packages/canvas-svg/src-native/android/canvassvg/src/main/jniLibs/x86_64/libcanvassvg.so differ
diff --git a/packages/canvas-svg/src-native/android/canvassvg/src/test/java/org/nativescript/canvas/svg/ExampleUnitTest.kt b/packages/canvas-svg/src-native/android/canvassvg/src/test/java/org/nativescript/canvas/svg/ExampleUnitTest.kt
new file mode 100644
index 000000000..9d9733cea
--- /dev/null
+++ b/packages/canvas-svg/src-native/android/canvassvg/src/test/java/org/nativescript/canvas/svg/ExampleUnitTest.kt
@@ -0,0 +1,17 @@
+package org.nativescript.canvas.svg
+
+import org.junit.Test
+
+import org.junit.Assert.*
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * See [testing documentation](http://d.android.com/tools/testing).
+ */
+class ExampleUnitTest {
+ @Test
+ fun addition_isCorrect() {
+ assertEquals(4, 2 + 2)
+ }
+}
diff --git a/packages/canvas-svg/src-native/android/gradle.properties b/packages/canvas-svg/src-native/android/gradle.properties
new file mode 100644
index 000000000..2cbd6d19d
--- /dev/null
+++ b/packages/canvas-svg/src-native/android/gradle.properties
@@ -0,0 +1,23 @@
+# Project-wide Gradle settings.
+# IDE (e.g. Android Studio) users:
+# Gradle settings configured through the IDE *will override*
+# any settings specified in this file.
+# For more details on how to configure your build environment visit
+# http://www.gradle.org/docs/current/userguide/build_environment.html
+# Specifies the JVM arguments used for the daemon process.
+# The setting is particularly useful for tweaking memory settings.
+org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
+# When configured, Gradle will run in incubating parallel mode.
+# This option should only be used with decoupled projects. More details, visit
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
+# org.gradle.parallel=true
+# AndroidX package structure to make it clearer which packages are bundled with the
+# Android operating system, and which are packaged with your app's APK
+# https://developer.android.com/topic/libraries/support-library/androidx-rn
+android.useAndroidX=true
+# Kotlin code style for this project: "official" or "obsolete":
+kotlin.code.style=official
+# Enables namespacing of each library's R class so that its R class includes only the
+# resources declared in the library itself and none from the library's dependencies,
+# thereby reducing the size of the R class for that library
+android.nonTransitiveRClass=true
diff --git a/packages/canvas-svg/src-native/android/gradle/wrapper/gradle-wrapper.jar b/packages/canvas-svg/src-native/android/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 000000000..e708b1c02
Binary files /dev/null and b/packages/canvas-svg/src-native/android/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/packages/canvas-svg/src-native/android/gradle/wrapper/gradle-wrapper.properties b/packages/canvas-svg/src-native/android/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 000000000..78d10a7cf
--- /dev/null
+++ b/packages/canvas-svg/src-native/android/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Mon Mar 18 03:16:59 AST 2024
+distributionBase=GRADLE_USER_HOME
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
+distributionPath=wrapper/dists
+zipStorePath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
diff --git a/packages/canvas-svg/src-native/android/gradlew b/packages/canvas-svg/src-native/android/gradlew
new file mode 100755
index 000000000..4f906e0c8
--- /dev/null
+++ b/packages/canvas-svg/src-native/android/gradlew
@@ -0,0 +1,185 @@
+#!/usr/bin/env sh
+
+#
+# Copyright 2015 the original author or authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn () {
+ echo "$*"
+}
+
+die () {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+ NONSTOP* )
+ nonstop=true
+ ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+
+ JAVACMD=`cygpath --unix "$JAVACMD"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=`expr $i + 1`
+ done
+ case $i in
+ 0) set -- ;;
+ 1) set -- "$args0" ;;
+ 2) set -- "$args0" "$args1" ;;
+ 3) set -- "$args0" "$args1" "$args2" ;;
+ 4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Escape application args
+save () {
+ for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+ echo " "
+}
+APP_ARGS=`save "$@"`
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+exec "$JAVACMD" "$@"
diff --git a/packages/canvas-svg/src-native/android/gradlew.bat b/packages/canvas-svg/src-native/android/gradlew.bat
new file mode 100644
index 000000000..ac1b06f93
--- /dev/null
+++ b/packages/canvas-svg/src-native/android/gradlew.bat
@@ -0,0 +1,89 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto execute
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/packages/canvas-svg/src-native/android/settings.gradle b/packages/canvas-svg/src-native/android/settings.gradle
new file mode 100644
index 000000000..d814ad43a
--- /dev/null
+++ b/packages/canvas-svg/src-native/android/settings.gradle
@@ -0,0 +1,17 @@
+pluginManagement {
+ repositories {
+ google()
+ mavenCentral()
+ gradlePluginPortal()
+ }
+}
+dependencyResolutionManagement {
+ repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
+ repositories {
+ google()
+ mavenCentral()
+ }
+}
+rootProject.name = "SVGDemo"
+include ':app'
+include ':canvassvg'
diff --git a/packages/canvas-svg/src-native/canvas-svg/.gitignore b/packages/canvas-svg/src-native/canvas-svg/.gitignore
new file mode 100644
index 000000000..114a8b530
--- /dev/null
+++ b/packages/canvas-svg/src-native/canvas-svg/.gitignore
@@ -0,0 +1,4 @@
+/target
+/**/*.rs.bk
+/Cargo.lock
+.DS_Store
diff --git a/packages/canvas-svg/src-native/canvas-svg/.idea/.gitignore b/packages/canvas-svg/src-native/canvas-svg/.idea/.gitignore
new file mode 100644
index 000000000..13566b81b
--- /dev/null
+++ b/packages/canvas-svg/src-native/canvas-svg/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/packages/canvas-svg/src-native/canvas-svg/.idea/canvas-svg.iml b/packages/canvas-svg/src-native/canvas-svg/.idea/canvas-svg.iml
new file mode 100644
index 000000000..cf84ae4a6
--- /dev/null
+++ b/packages/canvas-svg/src-native/canvas-svg/.idea/canvas-svg.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/canvas-svg/src-native/canvas-svg/.idea/modules.xml b/packages/canvas-svg/src-native/canvas-svg/.idea/modules.xml
new file mode 100644
index 000000000..d2a8d2d48
--- /dev/null
+++ b/packages/canvas-svg/src-native/canvas-svg/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/canvas-svg/src-native/canvas-svg/.idea/vcs.xml b/packages/canvas-svg/src-native/canvas-svg/.idea/vcs.xml
new file mode 100644
index 000000000..4fce1d86b
--- /dev/null
+++ b/packages/canvas-svg/src-native/canvas-svg/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/canvas-svg/src-native/canvas-svg/Cargo.toml b/packages/canvas-svg/src-native/canvas-svg/Cargo.toml
new file mode 100644
index 000000000..d74156174
--- /dev/null
+++ b/packages/canvas-svg/src-native/canvas-svg/Cargo.toml
@@ -0,0 +1,28 @@
+[package]
+name = "canvas-svg"
+version = "0.1.0"
+edition = "2021"
+
+[profile.release]
+panic = "abort"
+codegen-units = 1
+lto = true
+opt-level = 3
+debug = false
+incremental = false
+strip = true
+
+
+[build]
+rustflags = ["-Cpanic=abort", "-C target-cpu=native"]
+
+[lib]
+name = "canvassvg"
+crate-type = ["cdylib", "staticlib"]
+
+[dependencies]
+skia-safe = { version = "0.72.0", features = ["svg"] }
+
+[target.'cfg(target_os = "android")'.dependencies]
+jni = "0.21.1"
+ndk = { version = "0.7.0", features = ["bitmap"] }
diff --git a/packages/canvas-svg/src-native/canvas-svg/build.rs b/packages/canvas-svg/src-native/canvas-svg/build.rs
new file mode 100644
index 000000000..ca8988484
--- /dev/null
+++ b/packages/canvas-svg/src-native/canvas-svg/build.rs
@@ -0,0 +1,105 @@
+use std::env;
+use std::fs::File;
+use std::io::Read;
+use std::path::Path;
+
+//const DEFAULT_CLANG_VERSION: &str = "14.0.7";
+const DEFAULT_CLANG_VERSION: &str = "12.0.9";
+fn main() {
+ setup_aarch64_android_workaround();
+ // setup_x86_64_android_workaround();
+ println!("cargo:rerun-if-changed=src/lib.rs");
+ println!("cargo:rerun-if-changed=src/android.rs");
+}
+
+#[allow(dead_code)]
+fn setup_x86_64_android_workaround() {
+ let target_os = env::var("CARGO_CFG_TARGET_OS").expect("CARGO_CFG_TARGET_OS not set");
+ let target_arch = env::var("CARGO_CFG_TARGET_ARCH").expect("CARGO_CFG_TARGET_ARCH not set");
+ if target_arch == "x86_64" && target_os == "android" {
+ let android_ndk_home = if let Ok(android_ndk_home) = env::var("ANDROID_NDK") {
+ android_ndk_home
+ } else {
+ env::var("ANDROID_NDK_HOME").expect("ANDROID_NDK_HOME not set")
+ };
+
+ let build_os = match env::consts::OS {
+ "linux" => "linux",
+ "macos" => "darwin",
+ "windows" => "windows",
+ _ => panic!(
+ "Unsupported OS. You must use either Linux, MacOS or Windows to build the crate."
+ ),
+ };
+
+ let ndk_clang_version = if let Ok(mut android_version_txt) = File::open(format!(
+ "{android_ndk_home}/toolchains/llvm/prebuilt/{build_os}-x86_64/AndroidVersion.txt"
+ )) {
+ let mut data = String::new();
+ let _ = android_version_txt.read_to_string(&mut data);
+ let line = data.lines().take(1).next();
+ line.unwrap_or("").to_string()
+ } else {
+ DEFAULT_CLANG_VERSION.to_string()
+ };
+
+ let clang_version = env::var("NDK_CLANG_VERSION").unwrap_or(ndk_clang_version);
+
+ let linux_x86_64_lib_dir = format!(
+ "toolchains/llvm/prebuilt/{build_os}-x86_64/lib64/clang/{clang_version}/lib/linux/"
+ );
+ let linkpath = format!("{android_ndk_home}/{linux_x86_64_lib_dir}");
+ if Path::new(&linkpath).exists() {
+ println!("cargo:rustc-link-search={android_ndk_home}/{linux_x86_64_lib_dir}");
+ println!("cargo:rustc-link-lib=static=clang_rt.builtins-x86_64-android");
+ } else {
+ panic!("Path {linkpath} not exists");
+ }
+ }
+}
+
+fn setup_aarch64_android_workaround() {
+ let target_os = env::var("CARGO_CFG_TARGET_OS").expect("CARGO_CFG_TARGET_OS not set");
+ let target_arch = env::var("CARGO_CFG_TARGET_ARCH").expect("CARGO_CFG_TARGET_ARCH not set");
+ if target_arch == "aarch64" && target_os == "android" {
+ let android_ndk_home = if let Ok(android_ndk_home) = env::var("ANDROID_NDK") {
+ android_ndk_home
+ } else {
+ env::var("ANDROID_NDK_HOME").expect("ANDROID_NDK_HOME not set")
+ };
+
+ let build_os = match env::consts::OS {
+ "linux" => "linux",
+ "macos" => "darwin",
+ "windows" => "windows",
+ _ => panic!(
+ "Unsupported OS. You must use either Linux, MacOS or Windows to build the crate."
+ ),
+ };
+
+ let ndk_clang_version = if let Ok(mut android_version_txt) = File::open(format!(
+ "{android_ndk_home}/toolchains/llvm/prebuilt/{build_os}-x86_64/AndroidVersion.txt"
+ )) {
+ let mut data = String::new();
+ let _ = android_version_txt.read_to_string(&mut data);
+ let line = data.lines().take(1).next();
+ line.unwrap_or("").to_string()
+ } else {
+ DEFAULT_CLANG_VERSION.to_string()
+ };
+
+ let clang_version = env::var("NDK_CLANG_VERSION").unwrap_or(ndk_clang_version);
+
+ let linux_aarch64_lib_dir = format!(
+ "toolchains/llvm/prebuilt/{build_os}-x86_64/lib64/clang/{clang_version}/lib/linux/"
+ );
+
+ let linkpath = format!("{android_ndk_home}/{linux_aarch64_lib_dir}");
+ if Path::new(&linkpath).exists() {
+ println!("cargo:rustc-link-search={android_ndk_home}/{linux_aarch64_lib_dir}");
+ println!("cargo:rustc-link-lib=static=clang_rt.builtins-aarch64-android");
+ } else {
+ panic!("Path {linkpath} not exists");
+ }
+ }
+}
diff --git a/packages/canvas-svg/src-native/canvas-svg/cbindgen.toml b/packages/canvas-svg/src-native/canvas-svg/cbindgen.toml
new file mode 100644
index 000000000..af5e91d1f
--- /dev/null
+++ b/packages/canvas-svg/src-native/canvas-svg/cbindgen.toml
@@ -0,0 +1,10 @@
+autogen_warning = "/* Warning, this file is autogenerated by cbindgen. Don't modify this manually. */"
+language = "C"
+namespace = "ffi"
+include_guard = "CANVAS_SVG_IOS_H"
+
+
+[defines]
+"target_os = ios" = "TARGET_OS_IOS"
+"target_os = macos" = "TARGET_OS_MACOS"
+"target_os = android" = "TARGET_OS_ANDROID"
diff --git a/packages/canvas-svg/src-native/canvas-svg/src/android.rs b/packages/canvas-svg/src-native/canvas-svg/src/android.rs
new file mode 100644
index 000000000..83d30f461
--- /dev/null
+++ b/packages/canvas-svg/src-native/canvas-svg/src/android.rs
@@ -0,0 +1,91 @@
+use std::ffi::c_void;
+
+use jni::objects::{JClass, JObject, JString};
+use jni::JNIEnv;
+use ndk::bitmap::AndroidBitmap;
+
+#[no_mangle]
+pub extern "system" fn Java_org_nativescript_canvas_svg_NSCSVG_nativeDrawSVG(
+ mut env: JNIEnv,
+ _: JClass,
+ bitmap: JObject,
+ svg: JString,
+) {
+ if bitmap.is_null() {
+ return;
+ }
+ if let Ok(svg) = env.get_string(&svg) {
+ let svg = svg.to_string_lossy();
+ let native_bitmap =
+ unsafe { AndroidBitmap::from_jni(env.get_native_interface(), bitmap.as_raw()) };
+ if let (Ok(ptr), Ok(info)) = (native_bitmap.lock_pixels(), native_bitmap.get_info()) {
+ if ptr.is_null() {
+ return;
+ }
+ let width = info.width();
+ let height = info.height();
+ let size = height * info.stride();
+ let slice = unsafe {
+ std::slice::from_raw_parts_mut(
+ std::mem::transmute::<*mut c_void, *mut u8>(ptr),
+ size as usize,
+ )
+ };
+
+ let info = skia_safe::ImageInfo::new_n32_premul(
+ skia_safe::ISize::new(width as i32, height as i32),
+ None,
+ );
+ if let Some(mut surface) =
+ skia_safe::surface::surfaces::wrap_pixels(&info, slice, None, None)
+ {
+ crate::draw_svg(&mut surface, svg.as_ref())
+ }
+ }
+ let _ = native_bitmap.unlock_pixels();
+ }
+}
+
+#[allow(non_snake_case)]
+#[no_mangle]
+pub extern "system" fn Java_org_nativescript_canvas_svg_NSCSVG_nativeDrawSVGFromPath(
+ mut env: JNIEnv,
+ _: JClass,
+ bitmap: JObject,
+ path: JString,
+) {
+ if bitmap.is_null() {
+ return;
+ }
+
+ if let Ok(path) = env.get_string(&path) {
+ let path = path.to_string_lossy();
+ let native_bitmap =
+ unsafe { AndroidBitmap::from_jni(env.get_native_interface(), bitmap.as_raw()) };
+ if let (Ok(ptr), Ok(info)) = (native_bitmap.lock_pixels(), native_bitmap.get_info()) {
+ if ptr.is_null() {
+ return;
+ }
+ let width = info.width();
+ let height = info.height();
+ let size = height * info.stride();
+ let slice = unsafe {
+ std::slice::from_raw_parts_mut(
+ std::mem::transmute::<*mut c_void, *mut u8>(ptr),
+ size as usize,
+ )
+ };
+
+ let info = skia_safe::ImageInfo::new_n32_premul(
+ skia_safe::ISize::new(width as i32, height as i32),
+ None,
+ );
+ if let Some(mut surface) =
+ skia_safe::surface::surfaces::wrap_pixels(&info, slice, None, None)
+ {
+ crate::draw_svg_from_path(&mut surface, path.as_ref())
+ }
+ }
+ let _ = native_bitmap.unlock_pixels();
+ }
+}
diff --git a/packages/canvas-svg/src-native/canvas-svg/src/ios.rs b/packages/canvas-svg/src-native/canvas-svg/src/ios.rs
new file mode 100644
index 000000000..7dfe6c2a1
--- /dev/null
+++ b/packages/canvas-svg/src-native/canvas-svg/src/ios.rs
@@ -0,0 +1,58 @@
+use std::ffi::CStr;
+use std::os::raw::c_char;
+
+#[no_mangle]
+pub extern "C" fn canvas_native_svg_draw_from_string(
+ data: *mut u8,
+ size: usize,
+ width: f32,
+ height: f32,
+ svg: *const c_char,
+) {
+ if data.is_null() {
+ return;
+ }
+
+ let slice = unsafe { std::slice::from_raw_parts_mut(data, size) };
+
+ let svg = unsafe { CStr::from_ptr(svg) };
+
+ let info = skia_safe::ImageInfo::new_n32_premul(
+ skia_safe::ISize::new(width as i32, height as i32),
+ None,
+ );
+
+ let svg = svg.to_string_lossy();
+
+ if let Some(mut surface) = skia_safe::surface::surfaces::wrap_pixels(&info, slice, None, None) {
+ crate::draw_svg(&mut surface, svg.as_ref())
+ }
+}
+
+#[no_mangle]
+pub extern "C" fn canvas_native_svg_draw_from_path(
+ data: *mut u8,
+ size: usize,
+ width: f32,
+ height: f32,
+ path: *const c_char,
+) {
+ if data.is_null() {
+ return;
+ }
+
+ let slice = unsafe { std::slice::from_raw_parts_mut(data, size) };
+
+ let path = unsafe { CStr::from_ptr(path) };
+
+ let info = skia_safe::ImageInfo::new_n32_premul(
+ skia_safe::ISize::new(width as i32, height as i32),
+ None,
+ );
+
+ let path = path.to_string_lossy();
+
+ if let Some(mut surface) = skia_safe::surface::surfaces::wrap_pixels(&info, slice, None, None) {
+ crate::draw_svg_from_path(&mut surface, path.as_ref())
+ }
+}
diff --git a/packages/canvas/src-native/canvas-native/canvas-2d/src/svg/mod.rs b/packages/canvas-svg/src-native/canvas-svg/src/lib.rs
similarity index 67%
rename from packages/canvas/src-native/canvas-native/canvas-2d/src/svg/mod.rs
rename to packages/canvas-svg/src-native/canvas-svg/src/lib.rs
index c340d634a..2312d83a7 100644
--- a/packages/canvas/src-native/canvas-native/canvas-2d/src/svg/mod.rs
+++ b/packages/canvas-svg/src-native/canvas-svg/src/lib.rs
@@ -3,9 +3,12 @@ use std::io::{Read, Seek, SeekFrom};
use skia_safe::svg::Dom;
use skia_safe::FontMgr;
-use crate::context::Context;
+#[cfg(target_os = "android")]
+pub mod android;
+#[cfg(target_os = "ios")]
+mod ios;
-pub fn draw_svg_from_path(context: &mut Context, path: &str) {
+fn draw_svg_from_path(surface: &mut skia_safe::Surface, path: &str) {
let file = std::fs::File::open(path);
match file {
Ok(file) => {
@@ -18,12 +21,11 @@ pub fn draw_svg_from_path(context: &mut Context, path: &str) {
let mgr = FontMgr::new();
match Dom::read(reader, mgr) {
Ok(mut svg) => {
- let _device = context.device;
let size = skia_safe::Size::new(
- context.surface.width() as f32,
- context.surface.height() as f32,
+ surface.width() as f32,
+ surface.height() as f32,
);
- let canvas = context.surface.canvas();
+ let canvas = surface.canvas();
svg.set_container_size(size);
svg.render(canvas)
}
@@ -44,21 +46,17 @@ pub fn draw_svg_from_path(context: &mut Context, path: &str) {
}
}
-pub fn draw_svg(context: &mut Context, svg: &str) {
+fn draw_svg(surface: &mut skia_safe::Surface, svg: &str) {
let mgr = FontMgr::new();
match Dom::from_bytes(svg.as_bytes(), mgr) {
Ok(mut svg) => {
- let _device = context.device;
- let size = skia_safe::Size::new(
- context.surface.width() as f32,
- context.surface.height() as f32,
- );
- let canvas = context.surface.canvas();
+ let size = skia_safe::Size::new(surface.width() as f32, surface.height() as f32);
+ let canvas = surface.canvas();
svg.set_container_size(size);
svg.render(canvas)
}
Err(e) => {
- log::debug!("svg read to string error: {}", e);
+ println!("svg read to string error: {}", e);
}
}
}
diff --git a/packages/canvas-svg/src-native/ios/CanvasSVG.xcodeproj/project.pbxproj b/packages/canvas-svg/src-native/ios/CanvasSVG.xcodeproj/project.pbxproj
new file mode 100644
index 000000000..03d12ba58
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/CanvasSVG.xcodeproj/project.pbxproj
@@ -0,0 +1,629 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 56;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ F10445172BA8F1E0009434E9 /* libresolv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = F10445162BA8F1D7009434E9 /* libresolv.tbd */; };
+ F104451D2BA8F579009434E9 /* CanvasSVGHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = F104451C2BA8F579009434E9 /* CanvasSVGHelper.m */; };
+ F104451F2BA8F7E6009434E9 /* CanvasSVGHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = F104451E2BA8F5D5009434E9 /* CanvasSVGHelper.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ F17435DC2BA82D8300134EC8 /* CanvasSVG.docc in Sources */ = {isa = PBXBuildFile; fileRef = F17435DB2BA82D8300134EC8 /* CanvasSVG.docc */; };
+ F17435E22BA82D8400134EC8 /* CanvasSVG.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F17435D72BA82D8300134EC8 /* CanvasSVG.framework */; };
+ F17435E72BA82D8400134EC8 /* CanvasSVGTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F17435E62BA82D8400134EC8 /* CanvasSVGTests.swift */; };
+ F17435E82BA82D8400134EC8 /* CanvasSVG.h in Headers */ = {isa = PBXBuildFile; fileRef = F17435DA2BA82D8300134EC8 /* CanvasSVG.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ F17435F32BA835BF00134EC8 /* NSCSVG.swift in Sources */ = {isa = PBXBuildFile; fileRef = F17435F22BA835BF00134EC8 /* NSCSVG.swift */; };
+ F17435FE2BA83E3800134EC8 /* canvas_svg.h in Headers */ = {isa = PBXBuildFile; fileRef = F17435FD2BA83E3800134EC8 /* canvas_svg.h */; settings = {ATTRIBUTES = (Public, ); }; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ F17435E32BA82D8400134EC8 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = F17435CE2BA82D8300134EC8 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = F17435D62BA82D8300134EC8;
+ remoteInfo = CanvasSVG;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ F10445162BA8F1D7009434E9 /* libresolv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libresolv.tbd; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/lib/libresolv.tbd; sourceTree = DEVELOPER_DIR; };
+ F104451C2BA8F579009434E9 /* CanvasSVGHelper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CanvasSVGHelper.m; sourceTree = ""; };
+ F104451E2BA8F5D5009434E9 /* CanvasSVGHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CanvasSVGHelper.h; path = CanvasSVG/CanvasSVGHelper.h; sourceTree = ""; };
+ F17435D72BA82D8300134EC8 /* CanvasSVG.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CanvasSVG.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ F17435DA2BA82D8300134EC8 /* CanvasSVG.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CanvasSVG.h; sourceTree = ""; };
+ F17435DB2BA82D8300134EC8 /* CanvasSVG.docc */ = {isa = PBXFileReference; lastKnownFileType = folder.documentationcatalog; path = CanvasSVG.docc; sourceTree = ""; };
+ F17435E12BA82D8400134EC8 /* CanvasSVGTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CanvasSVGTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+ F17435E62BA82D8400134EC8 /* CanvasSVGTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CanvasSVGTests.swift; sourceTree = ""; };
+ F17435F22BA835BF00134EC8 /* NSCSVG.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSCSVG.swift; sourceTree = ""; };
+ F17435FD2BA83E3800134EC8 /* canvas_svg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = canvas_svg.h; path = CanvasSVG/include/canvas_svg.h; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ F17435D42BA82D8300134EC8 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ F10445172BA8F1E0009434E9 /* libresolv.tbd in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ F17435DE2BA82D8400134EC8 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ F17435E22BA82D8400134EC8 /* CanvasSVG.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ F10445152BA8F1D7009434E9 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ F10445162BA8F1D7009434E9 /* libresolv.tbd */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ F17435CD2BA82D8300134EC8 = {
+ isa = PBXGroup;
+ children = (
+ F104451E2BA8F5D5009434E9 /* CanvasSVGHelper.h */,
+ F17435FD2BA83E3800134EC8 /* canvas_svg.h */,
+ F17435D92BA82D8300134EC8 /* CanvasSVG */,
+ F17435E52BA82D8400134EC8 /* CanvasSVGTests */,
+ F17435D82BA82D8300134EC8 /* Products */,
+ F10445152BA8F1D7009434E9 /* Frameworks */,
+ );
+ sourceTree = "";
+ };
+ F17435D82BA82D8300134EC8 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ F17435D72BA82D8300134EC8 /* CanvasSVG.framework */,
+ F17435E12BA82D8400134EC8 /* CanvasSVGTests.xctest */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ F17435D92BA82D8300134EC8 /* CanvasSVG */ = {
+ isa = PBXGroup;
+ children = (
+ F17435DA2BA82D8300134EC8 /* CanvasSVG.h */,
+ F17435DB2BA82D8300134EC8 /* CanvasSVG.docc */,
+ F17435F22BA835BF00134EC8 /* NSCSVG.swift */,
+ F104451C2BA8F579009434E9 /* CanvasSVGHelper.m */,
+ );
+ path = CanvasSVG;
+ sourceTree = "";
+ };
+ F17435E52BA82D8400134EC8 /* CanvasSVGTests */ = {
+ isa = PBXGroup;
+ children = (
+ F17435E62BA82D8400134EC8 /* CanvasSVGTests.swift */,
+ );
+ path = CanvasSVGTests;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ F17435D22BA82D8300134EC8 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ F17435E82BA82D8400134EC8 /* CanvasSVG.h in Headers */,
+ F17435FE2BA83E3800134EC8 /* canvas_svg.h in Headers */,
+ F104451F2BA8F7E6009434E9 /* CanvasSVGHelper.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ F17435D62BA82D8300134EC8 /* CanvasSVG */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = F17435EB2BA82D8400134EC8 /* Build configuration list for PBXNativeTarget "CanvasSVG" */;
+ buildPhases = (
+ F17435F92BA8382000134EC8 /* PreBuild */,
+ F17435D22BA82D8300134EC8 /* Headers */,
+ F17435D32BA82D8300134EC8 /* Sources */,
+ F17435D42BA82D8300134EC8 /* Frameworks */,
+ F17435D52BA82D8300134EC8 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = CanvasSVG;
+ productName = CanvasSVG;
+ productReference = F17435D72BA82D8300134EC8 /* CanvasSVG.framework */;
+ productType = "com.apple.product-type.framework";
+ };
+ F17435E02BA82D8400134EC8 /* CanvasSVGTests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = F17435EE2BA82D8400134EC8 /* Build configuration list for PBXNativeTarget "CanvasSVGTests" */;
+ buildPhases = (
+ F17435DD2BA82D8400134EC8 /* Sources */,
+ F17435DE2BA82D8400134EC8 /* Frameworks */,
+ F17435DF2BA82D8400134EC8 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ F17435E42BA82D8400134EC8 /* PBXTargetDependency */,
+ );
+ name = CanvasSVGTests;
+ productName = CanvasSVGTests;
+ productReference = F17435E12BA82D8400134EC8 /* CanvasSVGTests.xctest */;
+ productType = "com.apple.product-type.bundle.unit-test";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ F17435CE2BA82D8300134EC8 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ BuildIndependentTargetsInParallel = 1;
+ LastSwiftUpdateCheck = 1530;
+ LastUpgradeCheck = 1530;
+ TargetAttributes = {
+ F17435D62BA82D8300134EC8 = {
+ CreatedOnToolsVersion = 15.3;
+ LastSwiftMigration = 1530;
+ };
+ F17435E02BA82D8400134EC8 = {
+ CreatedOnToolsVersion = 15.3;
+ };
+ };
+ };
+ buildConfigurationList = F17435D12BA82D8300134EC8 /* Build configuration list for PBXProject "CanvasSVG" */;
+ compatibilityVersion = "Xcode 14.0";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ Base,
+ );
+ mainGroup = F17435CD2BA82D8300134EC8;
+ productRefGroup = F17435D82BA82D8300134EC8 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ F17435D62BA82D8300134EC8 /* CanvasSVG */,
+ F17435E02BA82D8400134EC8 /* CanvasSVGTests */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ F17435D52BA82D8300134EC8 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ F17435DF2BA82D8400134EC8 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ F17435F92BA8382000134EC8 /* PreBuild */ = {
+ isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ );
+ name = PreBuild;
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "set -e\n\"$SRCROOT/pre-build.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ F17435D32BA82D8300134EC8 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ F17435DC2BA82D8300134EC8 /* CanvasSVG.docc in Sources */,
+ F104451D2BA8F579009434E9 /* CanvasSVGHelper.m in Sources */,
+ F17435F32BA835BF00134EC8 /* NSCSVG.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ F17435DD2BA82D8400134EC8 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ F17435E72BA82D8400134EC8 /* CanvasSVGTests.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ F17435E42BA82D8400134EC8 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = F17435D62BA82D8300134EC8 /* CanvasSVG */;
+ targetProxy = F17435E32BA82D8400134EC8 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin XCBuildConfiguration section */
+ F17435E92BA82D8400134EC8 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu17;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Debug;
+ };
+ F17435EA2BA82D8400134EC8 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu17;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ SWIFT_COMPILATION_MODE = wholemodule;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Release;
+ };
+ F17435EC2BA82D8400134EC8 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES;
+ BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
+ CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO;
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1;
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ ENABLE_MODULE_VERIFIER = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GENERATE_INFOPLIST_FILE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/../canvas-svg/target\"",
+ "\"$(SRCROOT)/CanvasSVG/include\"",
+ );
+ INFOPLIST_KEY_NSHumanReadableCopyright = "";
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = (
+ "@executable_path/../Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MACOSX_DEPLOYMENT_TARGET = 14.3;
+ MARKETING_VERSION = 1.0;
+ MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
+ MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "";
+ "OTHER_LDFLAGS[sdk=iphoneos*][arch=arm64]" = (
+ "$(inherited)",
+ "-L\"$(SRCROOT)/../canvas-svg/target/aarch64-apple-ios/debug\"",
+ "-Wl,-keep_dwarf_unwind",
+ "-Wl,-no_compact_unwind",
+ "-lcanvassvg",
+ "-ObjC",
+ "-lc++",
+ );
+ "OTHER_LDFLAGS[sdk=iphonesimulator*][arch=arm64]" = (
+ "$(inherited)",
+ "-L\"$(SRCROOT)/../canvas-svg/target/aarch64-apple-ios-sim/debug\"",
+ "-Wl,-keep_dwarf_unwind",
+ "-Wl,-no_compact_unwind",
+ "-lcanvassvg",
+ "-ObjC",
+ "-lc++",
+ );
+ "OTHER_LDFLAGS[sdk=iphonesimulator*][arch=x86_64]" = (
+ "$(inherited)",
+ "-L\"$(SRCROOT)/../canvas-svg/target/x86_64-apple-ios/debug\"",
+ "-Wl,-keep_dwarf_unwind",
+ "-Wl,-no_compact_unwind",
+ "-lcanvassvg",
+ "-ObjC",
+ "-lc++",
+ );
+ OTHER_SWIFT_FLAGS = "-Xcc -Wno-error=non-modular-include-in-framework-module";
+ PRODUCT_BUNDLE_IDENTIFIER = org.nativescript.canvas.svg.CanvasSVG;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ SDKROOT = auto;
+ SKIP_INSTALL = YES;
+ SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
+ SUPPORTS_MACCATALYST = NO;
+ SWIFT_EMIT_LOC_STRINGS = YES;
+ SWIFT_INSTALL_OBJC_HEADER = NO;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Debug;
+ };
+ F17435ED2BA82D8400134EC8 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES;
+ BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
+ CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO;
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1;
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ ENABLE_MODULE_VERIFIER = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GENERATE_INFOPLIST_FILE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/../canvas-svg/target\"",
+ "\"$(SRCROOT)/CanvasSVG/include\"",
+ );
+ INFOPLIST_KEY_NSHumanReadableCopyright = "";
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = (
+ "@executable_path/../Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MACOSX_DEPLOYMENT_TARGET = 14.3;
+ MARKETING_VERSION = 1.0;
+ MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
+ MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "";
+ "OTHER_LDFLAGS[sdk=iphoneos*][arch=arm64]" = (
+ "$(inherited)",
+ "-L\"$(SRCROOT)/../canvas-svg/target/aarch64-apple-ios/release\"",
+ "-Wl,-keep_dwarf_unwind",
+ "-Wl,-no_compact_unwind",
+ "-lcanvassvg",
+ "-ObjC",
+ "-lc++",
+ );
+ "OTHER_LDFLAGS[sdk=iphonesimulator*][arch=arm64]" = (
+ "$(inherited)",
+ "-L\"$(SRCROOT)/../canvas-svg/target/aarch64-apple-ios-sim/release\"",
+ "-Wl,-keep_dwarf_unwind",
+ "-Wl,-no_compact_unwind",
+ "-lcanvassvg",
+ "-ObjC",
+ "-lc++",
+ );
+ "OTHER_LDFLAGS[sdk=iphonesimulator*][arch=x86_64]" = (
+ "$(inherited)",
+ "-L\"$(SRCROOT)/../canvas-svg/target/x86_64-apple-ios/release\"",
+ "-Wl,-keep_dwarf_unwind",
+ "-Wl,-no_compact_unwind",
+ "-lcanvassvg",
+ "-ObjC",
+ "-lc++",
+ );
+ OTHER_SWIFT_FLAGS = "-Xcc -Wno-error=non-modular-include-in-framework-module";
+ PRODUCT_BUNDLE_IDENTIFIER = org.nativescript.canvas.svg.CanvasSVG;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ SDKROOT = auto;
+ SKIP_INSTALL = YES;
+ SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
+ SUPPORTS_MACCATALYST = NO;
+ SWIFT_EMIT_LOC_STRINGS = YES;
+ SWIFT_INSTALL_OBJC_HEADER = NO;
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Release;
+ };
+ F17435EF2BA82D8400134EC8 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES;
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1;
+ GENERATE_INFOPLIST_FILE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 17.4;
+ MACOSX_DEPLOYMENT_TARGET = 14.3;
+ MARKETING_VERSION = 1.0;
+ PRODUCT_BUNDLE_IDENTIFIER = org.nativescript.canvas.svg.CanvasSVGTests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = auto;
+ SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx";
+ SWIFT_EMIT_LOC_STRINGS = NO;
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Debug;
+ };
+ F17435F02BA82D8400134EC8 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES;
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1;
+ GENERATE_INFOPLIST_FILE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 17.4;
+ MACOSX_DEPLOYMENT_TARGET = 14.3;
+ MARKETING_VERSION = 1.0;
+ PRODUCT_BUNDLE_IDENTIFIER = org.nativescript.canvas.svg.CanvasSVGTests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = auto;
+ SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx";
+ SWIFT_EMIT_LOC_STRINGS = NO;
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ F17435D12BA82D8300134EC8 /* Build configuration list for PBXProject "CanvasSVG" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ F17435E92BA82D8400134EC8 /* Debug */,
+ F17435EA2BA82D8400134EC8 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ F17435EB2BA82D8400134EC8 /* Build configuration list for PBXNativeTarget "CanvasSVG" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ F17435EC2BA82D8400134EC8 /* Debug */,
+ F17435ED2BA82D8400134EC8 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ F17435EE2BA82D8400134EC8 /* Build configuration list for PBXNativeTarget "CanvasSVGTests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ F17435EF2BA82D8400134EC8 /* Debug */,
+ F17435F02BA82D8400134EC8 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = F17435CE2BA82D8300134EC8 /* Project object */;
+}
diff --git a/packages/canvas-svg/src-native/ios/CanvasSVG.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/packages/canvas-svg/src-native/ios/CanvasSVG.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 000000000..919434a62
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/CanvasSVG.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/packages/canvas-svg/src-native/ios/CanvasSVG.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/canvas-svg/src-native/ios/CanvasSVG.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 000000000..18d981003
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/CanvasSVG.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/packages/canvas-svg/src-native/ios/CanvasSVG.xcodeproj/project.xcworkspace/xcuserdata/triniwiz.xcuserdatad/UserInterfaceState.xcuserstate b/packages/canvas-svg/src-native/ios/CanvasSVG.xcodeproj/project.xcworkspace/xcuserdata/triniwiz.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 000000000..a7dbf3c74
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/CanvasSVG.xcodeproj/project.xcworkspace/xcuserdata/triniwiz.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/packages/canvas-svg/src-native/ios/CanvasSVG.xcodeproj/xcuserdata/triniwiz.xcuserdatad/xcschemes/xcschememanagement.plist b/packages/canvas-svg/src-native/ios/CanvasSVG.xcodeproj/xcuserdata/triniwiz.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 000000000..a058f057a
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/CanvasSVG.xcodeproj/xcuserdata/triniwiz.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,14 @@
+
+
+
+
+ SchemeUserState
+
+ CanvasSVG.xcscheme_^#shared#^_
+
+ orderHint
+ 0
+
+
+
+
diff --git a/packages/canvas-svg/src-native/ios/CanvasSVG/CanvasSVG.docc/CanvasSVG.md b/packages/canvas-svg/src-native/ios/CanvasSVG/CanvasSVG.docc/CanvasSVG.md
new file mode 100755
index 000000000..964f95230
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/CanvasSVG/CanvasSVG.docc/CanvasSVG.md
@@ -0,0 +1,13 @@
+# ``CanvasSVG``
+
+Summary
+
+## Overview
+
+Text
+
+## Topics
+
+### Group
+
+- ``Symbol``
\ No newline at end of file
diff --git a/packages/canvas-svg/src-native/ios/CanvasSVG/CanvasSVG.h b/packages/canvas-svg/src-native/ios/CanvasSVG/CanvasSVG.h
new file mode 100644
index 000000000..84a49e7a3
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/CanvasSVG/CanvasSVG.h
@@ -0,0 +1,17 @@
+//
+// CanvasSVG.h
+// CanvasSVG
+//
+// Created by Osei Fortune on 18/03/2024.
+//
+#import
+#import
+#import
+//! Project version number for CanvasSVG.
+FOUNDATION_EXPORT double CanvasSVGVersionNumber;
+
+//! Project version string for CanvasSVG.
+FOUNDATION_EXPORT const unsigned char CanvasSVGVersionString[];
+
+// In this header, you should import all the public headers of your framework using statements like #import
+
diff --git a/packages/canvas-svg/src-native/ios/CanvasSVG/CanvasSVGHelper.h b/packages/canvas-svg/src-native/ios/CanvasSVG/CanvasSVGHelper.h
new file mode 100644
index 000000000..ba20793e3
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/CanvasSVG/CanvasSVGHelper.h
@@ -0,0 +1,18 @@
+//
+// CanvasSVGHelper.h
+// CanvasSVG
+//
+// Created by Osei Fortune on 18/03/2024.
+//
+
+#ifndef CanvasSVGHelper_h
+#define CanvasSVGHelper_h
+#import
+#import
+
+@interface CanvasSVGHelper : NSObject
++(void) drawFromString:(uint8_t*)data size:(uintptr_t)size width:(float) width height:(float)height svg:(NSString*) svg;
++(void) drawFromPath:(uint8_t*)data size:(uintptr_t)size width:(float) width height:(float)height path:(NSString*) path;
+@end
+
+#endif /* CanvasSVGHelper_h */
diff --git a/packages/canvas-svg/src-native/ios/CanvasSVG/CanvasSVGHelper.m b/packages/canvas-svg/src-native/ios/CanvasSVG/CanvasSVGHelper.m
new file mode 100644
index 000000000..ac1b18632
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/CanvasSVG/CanvasSVGHelper.m
@@ -0,0 +1,21 @@
+//
+// CanvasSVGHelper.m
+// CanvasSVG
+//
+// Created by Osei Fortune on 18/03/2024.
+//
+
+#import
+#import "CanvasSVGHelper.h"
+
+@implementation CanvasSVGHelper
+
++ (void)drawFromString:(uint8_t *)data size:(uintptr_t)size width:(float)width height:(float)height svg:(NSString*)svg {
+ canvas_native_svg_draw_from_path(data, size, width, height, [svg UTF8String]);
+}
+
++ (void)drawFromPath:(uint8_t *)data size:(uintptr_t)size width:(float)width height:(float)height path:(NSString*)path {
+ canvas_native_svg_draw_from_path(data, size, width, height, [path UTF8String]);
+}
+
+@end
diff --git a/packages/canvas/src-native/canvas-ios/CanvasNative/Source/NSCSVG.swift b/packages/canvas-svg/src-native/ios/CanvasSVG/NSCSVG.swift
similarity index 65%
rename from packages/canvas/src-native/canvas-ios/CanvasNative/Source/NSCSVG.swift
rename to packages/canvas-svg/src-native/ios/CanvasSVG/NSCSVG.swift
index 8c3b6b183..e4a72bc8d 100644
--- a/packages/canvas/src-native/canvas-ios/CanvasNative/Source/NSCSVG.swift
+++ b/packages/canvas-svg/src-native/ios/CanvasSVG/NSCSVG.swift
@@ -1,18 +1,20 @@
//
// NSCSVG.swift
-// CanvasNative
+// CanvasSVG
//
-// Created by Osei Fortune on 27/01/2021.
+// Created by Osei Fortune on 18/03/2024.
//
+
import Foundation
import UIKit
+
+
@objcMembers
-@objc(TNSSVG)
+@objc(NSCSVG)
public class NSCSVG: UIView {
var data: UnsafeMutableRawPointer? = nil
var data_size: CGSize = .zero
var buf_size: UInt = 0
- var context: Int64 = 0
var didInitDrawing = false
var forceResize = false
var sync = false
@@ -44,17 +46,20 @@ public class NSCSVG: UIView {
func doDraw(){
if self.srcPath == nil && self.src == nil {return}
workItem?.cancel()
-
+
if(sync){
-
- if(self.context > 0){
if(self.srcPath != nil){
guard let srcPath = self.srcPath else{return}
let source = srcPath as NSString
-
- canvas_native_svg_draw_from_path(self.context, source.utf8String)
+
guard let buf = self.data?.assumingMemoryBound(to: UInt8.self) else {return}
- canvas_native_context_custom_with_buffer_flush(self.context, buf, self.buf_size, Float(self.data_size.width), Float(self.data_size.height), true)
+
+
+
+// canvas_native_svg_draw_from_path(buf, self.buf_size, Float(self.data_size.width), Float(self.data_size.height), source.utf8String!)
+ CanvasSVGHelper.draw(fromPath: buf, size: self.buf_size, width: Float(self.data_size.width), height: Float(self.data_size.height), path: source as String)
+
+
self.didInitDrawing = true
self.setNeedsDisplay()
@@ -63,13 +68,17 @@ public class NSCSVG: UIView {
guard let src = self.src else{return}
let source = src as NSString
- canvas_native_svg_draw_from_string(self.context, source.utf8String)
+
guard let buf = self.data?.assumingMemoryBound(to: UInt8.self) else {return}
- canvas_native_context_custom_with_buffer_flush(self.context, buf, self.buf_size, Float(self.data_size.width), Float(self.data_size.height), true)
+
+
+ CanvasSVGHelper.draw(fromString: buf, size: self.buf_size, width: Float(self.data_size.width), height: Float(self.data_size.height), svg: source as String)
+
+
+
self.didInitDrawing = true
self.setNeedsDisplay()
- }
return
}
@@ -78,32 +87,40 @@ public class NSCSVG: UIView {
workItem = DispatchWorkItem {
[weak self] in
guard let self = self else {return}
- if(self.context > 0){
- if(self.srcPath != nil){
- guard let srcPath = self.srcPath else{return}
- let source = srcPath as NSString
-
- canvas_native_svg_draw_from_path(self.context, source.utf8String)
- guard let buf = self.data?.assumingMemoryBound(to: UInt8.self) else {return}
- canvas_native_context_custom_with_buffer_flush(self.context, buf, self.buf_size, Float(self.data_size.width), Float(self.data_size.height), true)
-
- DispatchQueue.main.async { [self] in
- if(self.workItem != nil && self.workItem!.isCancelled){
- self.workItem = nil
- return
- }
- self.didInitDrawing = true
- self.setNeedsDisplay()
- }
+
+ if(self.srcPath != nil){
+ guard let srcPath = self.srcPath else{return}
+ let source = srcPath as NSString
+
+
+ guard let buf = self.data?.assumingMemoryBound(to: UInt8.self) else {return}
+
+
+ CanvasSVGHelper.draw(fromPath: buf, size: self.buf_size, width: Float(self.data_size.width), height: Float(self.data_size.height), path: source as String)
+
+
+ DispatchQueue.main.async { [self] in
+ if(self.workItem != nil && self.workItem!.isCancelled){
+ self.workItem = nil
return
}
+ self.didInitDrawing = true
+ self.setNeedsDisplay()
+ }
+ return
+ }
+
guard let src = self.src else{return}
let source = src as NSString
- canvas_native_svg_draw_from_string(self.context, source.utf8String)
- guard let buf = self.data?.assumingMemoryBound(to: UInt8.self) else {return}
- canvas_native_context_custom_with_buffer_flush(self.context, buf, self.buf_size, Float(self.data_size.width), Float(self.data_size.height), true)
+ guard let buf = self.data?.assumingMemoryBound(to: UInt8.self) else {return}
+
+
+
+ CanvasSVGHelper.draw(fromString: buf, size: self.buf_size, width: Float(self.data_size.width), height: Float(self.data_size.height), svg: source as String)
+
+
DispatchQueue.main.async {
[self] in
if(self.workItem != nil && self.workItem!.isCancelled){
@@ -113,7 +130,6 @@ public class NSCSVG: UIView {
self.didInitDrawing = true
self.setNeedsDisplay()
}
- }
}
queue.async(execute: workItem!)
}
@@ -128,17 +144,7 @@ public class NSCSVG: UIView {
data = calloc(Int(width * height), 4)
buf_size = UInt(width * height * 4)
data_size = CGSize(width: CGFloat(width), height: CGFloat(height))
- if context == 0 {
- var direction: Int32 = 0
- if(UIView.userInterfaceLayoutDirection(for: semanticContentAttribute) == .rightToLeft){
- direction = 1
- }
- context = canvas_native_context_init_context_with_custom_surface(Float(width), Float(height), deviceScale(), true, 0, 0, direction)
- doDraw()
- }else {
- canvas_native_resize_context_2d(context, Float(width), Float(height))
- doDraw()
- }
+ doDraw()
if forceResize {
forceResize = false
@@ -165,7 +171,7 @@ public class NSCSVG: UIView {
}
public override func draw(_ rect: CGRect) {
- if context > 0 && didInitDrawing {
+ if didInitDrawing {
let width = Int(self.data_size.width)
let height = Int(self.data_size.height)
let ctx = CGContext(data: self.data, width: width, height: height, bitsPerComponent: 8, bytesPerRow: width * 4, space: self.colorSpace, bitmapInfo: CGImageAlphaInfo.premultipliedLast.rawValue | CGBitmapInfo.byteOrder32Big.rawValue)
@@ -178,7 +184,7 @@ public class NSCSVG: UIView {
}
public func toImage() -> UIImage? {
- if context > 0 && didInitDrawing {
+ if didInitDrawing {
let width = Int(self.data_size.width)
let height = Int(self.data_size.height)
let ctx = CGContext(data: self.data, width: width, height: height, bitsPerComponent: 8, bytesPerRow: width * 4, space: self.colorSpace, bitmapInfo: CGImageAlphaInfo.premultipliedLast.rawValue | CGBitmapInfo.byteOrder32Big.rawValue)
@@ -194,3 +200,4 @@ public class NSCSVG: UIView {
return NSMutableData(bytes: data, length: Int(buf_size))
}
}
+
diff --git a/packages/canvas-svg/src-native/ios/CanvasSVG/include/canvas_svg.h b/packages/canvas-svg/src-native/ios/CanvasSVG/include/canvas_svg.h
new file mode 100644
index 000000000..1401dc1d4
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/CanvasSVG/include/canvas_svg.h
@@ -0,0 +1,27 @@
+#ifndef CANVAS_SVG_IOS_H
+#define CANVAS_SVG_IOS_H
+
+/* Warning, this file is autogenerated by cbindgen. Don't modify this manually. */
+
+#include
+#include
+#include
+#include
+
+#if defined(TARGET_OS_IOS)
+void canvas_native_svg_draw_from_string(uint8_t *data,
+ uintptr_t size,
+ float width,
+ float height,
+ const char *svg);
+#endif
+
+#if defined(TARGET_OS_IOS)
+void canvas_native_svg_draw_from_path(uint8_t *data,
+ uintptr_t size,
+ float width,
+ float height,
+ const char *path);
+#endif
+
+#endif /* CANVAS_SVG_IOS_H */
diff --git a/packages/canvas-svg/src-native/ios/CanvasSVGTests/CanvasSVGTests.swift b/packages/canvas-svg/src-native/ios/CanvasSVGTests/CanvasSVGTests.swift
new file mode 100644
index 000000000..8e630c6dd
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/CanvasSVGTests/CanvasSVGTests.swift
@@ -0,0 +1,36 @@
+//
+// CanvasSVGTests.swift
+// CanvasSVGTests
+//
+// Created by Osei Fortune on 18/03/2024.
+//
+
+import XCTest
+@testable import CanvasSVG
+
+class CanvasSVGTests: XCTestCase {
+
+ override func setUpWithError() throws {
+ // Put setup code here. This method is called before the invocation of each test method in the class.
+ }
+
+ override func tearDownWithError() throws {
+ // Put teardown code here. This method is called after the invocation of each test method in the class.
+ }
+
+ func testExample() throws {
+ // This is an example of a functional test case.
+ // Use XCTAssert and related functions to verify your tests produce the correct results.
+ // Any test you write for XCTest can be annotated as throws and async.
+ // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error.
+ // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards.
+ }
+
+ func testPerformanceExample() throws {
+ // This is an example of a performance test case.
+ self.measure {
+ // Put the code you want to measure the time of here.
+ }
+ }
+
+}
diff --git a/packages/canvas-svg/src-native/ios/build-debug.sh b/packages/canvas-svg/src-native/ios/build-debug.sh
new file mode 100755
index 000000000..b0e280896
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/build-debug.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+echo "Set exit on simple errors"
+set -e
+
+rm -rf $(PWD)/dist
+
+echo "Build for iphonesimulator"
+xcodebuild \
+ -project CanvasSVG.xcodeproj \
+ -scheme CanvasSVGDebug \
+ -sdk iphonesimulator \
+ -destination "generic/platform=iOS Simulator" \
+ -configuration Debug \
+ clean build \
+ BUILD_DIR=$(PWD)/dist \
+ SKIP_INSTALL=NO \
+ BUILD_LIBRARY_FOR_DISTRIBUTION=YES
+
+echo "Build for iphoneos"
+xcodebuild \
+ -project CanvasSVG.xcodeproj \
+ -scheme CanvasSVGDebug \
+ -sdk iphoneos \
+ -destination "generic/platform=iOS" \
+ -configuration Debug \
+ clean build \
+ BUILD_DIR=$(PWD)/dist \
+ CODE_SIGN_IDENTITY="" \
+ CODE_SIGNING_REQUIRED=NO \
+ SKIP_INSTALL=NO \
+ BUILD_LIBRARY_FOR_DISTRIBUTION=YES
+
+echo "Creating XCFramework"
+xcodebuild \
+ -create-xcframework \
+ -framework $(PWD)/dist/Debug-iphoneos/CanvasSVG.framework \
+ -framework $(PWD)/dist/Debug-iphonesimulator/CanvasSVG.framework \
+ -output $(PWD)/dist/CanvasSVG.xcframework
diff --git a/packages/canvas-svg/src-native/ios/build.sh b/packages/canvas-svg/src-native/ios/build.sh
new file mode 100755
index 000000000..e450ab5c8
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/build.sh
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+echo "Set exit on simple errors"
+set -e
+
+rm -rf $(PWD)/dist
+
+echo "Build for iphonesimulator"
+xcodebuild \
+ -project CanvasSVG.xcodeproj \
+ -scheme CanvasSVG \
+ -sdk iphonesimulator \
+ -destination "generic/platform=iOS Simulator" \
+ -configuration Release \
+ clean build \
+ BUILD_DIR=$(PWD)/dist \
+ SKIP_INSTALL=NO \
+ BUILD_LIBRARY_FOR_DISTRIBUTION=YES
+
+echo "Build for iphoneos"
+xcodebuild \
+ -project CanvasSVG.xcodeproj \
+ -scheme CanvasSVG \
+ -sdk iphoneos \
+ -destination "generic/platform=iOS" \
+ -configuration Release \
+ clean build \
+ BUILD_DIR=$(PWD)/dist \
+ CODE_SIGN_IDENTITY="" \
+ CODE_SIGNING_REQUIRED=NO \
+ SKIP_INSTALL=NO \
+ BUILD_LIBRARY_FOR_DISTRIBUTION=YES
+
+echo "Creating XCFramework"
+xcodebuild \
+ -create-xcframework \
+ -framework $(PWD)/dist/Release-iphoneos/CanvasSVG.framework \
+ -debug-symbols $(PWD)/dist/Release-iphoneos/CanvasSVG.framework.dSYM \
+ -framework $(PWD)/dist/Release-iphonesimulator/CanvasSVG.framework \
+ -debug-symbols $(PWD)/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM \
+ -output $(PWD)/dist/CanvasSVG.xcframework
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/Info.plist b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/Info.plist
new file mode 100644
index 000000000..cb7db9e9e
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/Info.plist
@@ -0,0 +1,48 @@
+
+
+
+
+ AvailableLibraries
+
+
+ BinaryPath
+ CanvasSVG.framework/CanvasSVG
+ DebugSymbolsPath
+ dSYMs
+ LibraryIdentifier
+ ios-arm64
+ LibraryPath
+ CanvasSVG.framework
+ SupportedArchitectures
+
+ arm64
+
+ SupportedPlatform
+ ios
+
+
+ BinaryPath
+ CanvasSVG.framework/CanvasSVG
+ DebugSymbolsPath
+ dSYMs
+ LibraryIdentifier
+ ios-arm64_x86_64-simulator
+ LibraryPath
+ CanvasSVG.framework
+ SupportedArchitectures
+
+ arm64
+ x86_64
+
+ SupportedPlatform
+ ios
+ SupportedPlatformVariant
+ simulator
+
+
+ CFBundlePackageType
+ XFWK
+ XCFrameworkFormatVersion
+ 1.0
+
+
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/CanvasSVG b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/CanvasSVG
new file mode 100755
index 000000000..1b89f0fd8
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/CanvasSVG differ
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Headers/CanvasSVG.h b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Headers/CanvasSVG.h
new file mode 100644
index 000000000..84a49e7a3
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Headers/CanvasSVG.h
@@ -0,0 +1,17 @@
+//
+// CanvasSVG.h
+// CanvasSVG
+//
+// Created by Osei Fortune on 18/03/2024.
+//
+#import
+#import
+#import
+//! Project version number for CanvasSVG.
+FOUNDATION_EXPORT double CanvasSVGVersionNumber;
+
+//! Project version string for CanvasSVG.
+FOUNDATION_EXPORT const unsigned char CanvasSVGVersionString[];
+
+// In this header, you should import all the public headers of your framework using statements like #import
+
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Headers/CanvasSVGHelper.h b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Headers/CanvasSVGHelper.h
new file mode 100644
index 000000000..ba20793e3
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Headers/CanvasSVGHelper.h
@@ -0,0 +1,18 @@
+//
+// CanvasSVGHelper.h
+// CanvasSVG
+//
+// Created by Osei Fortune on 18/03/2024.
+//
+
+#ifndef CanvasSVGHelper_h
+#define CanvasSVGHelper_h
+#import
+#import
+
+@interface CanvasSVGHelper : NSObject
++(void) drawFromString:(uint8_t*)data size:(uintptr_t)size width:(float) width height:(float)height svg:(NSString*) svg;
++(void) drawFromPath:(uint8_t*)data size:(uintptr_t)size width:(float) width height:(float)height path:(NSString*) path;
+@end
+
+#endif /* CanvasSVGHelper_h */
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Headers/canvas_svg.h b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Headers/canvas_svg.h
new file mode 100644
index 000000000..1401dc1d4
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Headers/canvas_svg.h
@@ -0,0 +1,27 @@
+#ifndef CANVAS_SVG_IOS_H
+#define CANVAS_SVG_IOS_H
+
+/* Warning, this file is autogenerated by cbindgen. Don't modify this manually. */
+
+#include
+#include
+#include
+#include
+
+#if defined(TARGET_OS_IOS)
+void canvas_native_svg_draw_from_string(uint8_t *data,
+ uintptr_t size,
+ float width,
+ float height,
+ const char *svg);
+#endif
+
+#if defined(TARGET_OS_IOS)
+void canvas_native_svg_draw_from_path(uint8_t *data,
+ uintptr_t size,
+ float width,
+ float height,
+ const char *path);
+#endif
+
+#endif /* CANVAS_SVG_IOS_H */
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Info.plist b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Info.plist
new file mode 100644
index 000000000..9dca3c2dc
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Info.plist differ
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo
new file mode 100644
index 000000000..5f4db7102
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo differ
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.abi.json b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.abi.json
new file mode 100644
index 000000000..a67745d83
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.abi.json
@@ -0,0 +1,645 @@
+{
+ "ABIRoot": {
+ "kind": "Root",
+ "name": "TopLevel",
+ "printedName": "TopLevel",
+ "children": [
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "UIKit",
+ "printedName": "UIKit",
+ "declKind": "Import",
+ "moduleName": "CanvasSVG"
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "NSCSVG",
+ "printedName": "NSCSVG",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "autoScale",
+ "printedName": "autoScale",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(py)autoScale",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvp",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)autoScale",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvg",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)setAutoScale:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvs",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:9CanvasSVG6NSCSVGC9autoScaleSbvM",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvM",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "src",
+ "printedName": "src",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(py)src",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvp",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)src",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvg",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)setSrc:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvs",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:9CanvasSVG6NSCSVGC3srcSSSgvM",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvM",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "srcPath",
+ "printedName": "srcPath",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(py)srcPath",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvp",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)srcPath",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvg",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)setSrcPath:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvs",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:9CanvasSVG6NSCSVGC7srcPathSSSgvM",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvM",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "layoutSubviews",
+ "printedName": "layoutSubviews()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)layoutSubviews",
+ "mangledName": "$s9CanvasSVG6NSCSVGC14layoutSubviewsyyF",
+ "moduleName": "CanvasSVG",
+ "overriding": true,
+ "objc_name": "layoutSubviews",
+ "declAttributes": [
+ "Dynamic",
+ "ObjC",
+ "Custom",
+ "Override",
+ "AccessControl"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(frame:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSCSVG",
+ "printedName": "CanvasSVG.NSCSVG",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "CGRect",
+ "printedName": "CoreFoundation.CGRect",
+ "usr": "c:@S@CGRect"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)initWithFrame:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc",
+ "moduleName": "CanvasSVG",
+ "overriding": true,
+ "objc_name": "initWithFrame:",
+ "declAttributes": [
+ "Dynamic",
+ "ObjC",
+ "Custom",
+ "Override",
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "draw",
+ "printedName": "draw(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "CGRect",
+ "printedName": "CoreFoundation.CGRect",
+ "usr": "c:@S@CGRect"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)drawRect:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVF",
+ "moduleName": "CanvasSVG",
+ "overriding": true,
+ "objc_name": "drawRect:",
+ "declAttributes": [
+ "Dynamic",
+ "ObjC",
+ "Custom",
+ "Override",
+ "AccessControl"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "toImage",
+ "printedName": "toImage()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "UIKit.UIImage?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UIImage",
+ "printedName": "UIKit.UIImage",
+ "usr": "c:objc(cs)UIImage"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)toImage",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "toData",
+ "printedName": "toData()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Foundation.NSData?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSData",
+ "printedName": "Foundation.NSData",
+ "usr": "c:objc(cs)NSData"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)toData",
+ "mangledName": "$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG",
+ "mangledName": "$s9CanvasSVG6NSCSVGC",
+ "moduleName": "CanvasSVG",
+ "objc_name": "NSCSVG",
+ "declAttributes": [
+ "Custom",
+ "AccessControl",
+ "ObjC",
+ "ObjCMembers"
+ ],
+ "superclassUsr": "c:objc(cs)UIView",
+ "hasMissingDesignatedInitializers": true,
+ "inheritsConvenienceInitializers": true,
+ "superclassNames": [
+ "UIKit.UIView",
+ "UIKit.UIResponder",
+ "ObjectiveC.NSObject"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CVarArg",
+ "printedName": "CVarArg",
+ "usr": "s:s7CVarArgP",
+ "mangledName": "$ss7CVarArgP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_KeyValueCodingAndObservingPublishing",
+ "printedName": "_KeyValueCodingAndObservingPublishing",
+ "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP",
+ "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_KeyValueCodingAndObserving",
+ "printedName": "_KeyValueCodingAndObserving",
+ "usr": "s:10Foundation27_KeyValueCodingAndObservingP",
+ "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomDebugStringConvertible",
+ "printedName": "CustomDebugStringConvertible",
+ "usr": "s:s28CustomDebugStringConvertibleP",
+ "mangledName": "$ss28CustomDebugStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "UITraitChangeObservable",
+ "printedName": "UITraitChangeObservable",
+ "usr": "s:5UIKit23UITraitChangeObservableP",
+ "mangledName": "$s5UIKit23UITraitChangeObservableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "__DefaultCustomPlaygroundQuickLookable",
+ "printedName": "__DefaultCustomPlaygroundQuickLookable",
+ "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP",
+ "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP"
+ }
+ ]
+ }
+ ],
+ "json_format_version": 8
+ },
+ "ConstValues": [
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "IntegerLiteral",
+ "offset": 278,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 305,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 333,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 354,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 437,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 387,
+ "length": 4,
+ "value": "true"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.private.swiftinterface b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.private.swiftinterface
new file mode 100644
index 000000000..f735b6033
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.private.swiftinterface
@@ -0,0 +1,30 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
+// swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name CanvasSVG
+@_exported import CanvasSVG
+import Foundation
+import Swift
+import UIKit
+import _Concurrency
+import _StringProcessing
+import _SwiftConcurrencyShims
+@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objcMembers @objc(NSCSVG) @_Concurrency.MainActor(unsafe) public class NSCSVG : UIKit.UIView {
+ @objc @_Concurrency.MainActor(unsafe) public var autoScale: Swift.Bool {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var src: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var srcPath: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func layoutSubviews()
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect)
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func draw(_ rect: CoreFoundation.CGRect)
+ @objc @_Concurrency.MainActor(unsafe) public func toImage() -> UIKit.UIImage?
+ @objc @_Concurrency.MainActor(unsafe) public func toData() -> Foundation.NSData?
+ @objc deinit
+}
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.swiftdoc b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.swiftdoc
new file mode 100644
index 000000000..ef735f419
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.swiftdoc differ
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.swiftinterface b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.swiftinterface
new file mode 100644
index 000000000..f735b6033
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.swiftinterface
@@ -0,0 +1,30 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
+// swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name CanvasSVG
+@_exported import CanvasSVG
+import Foundation
+import Swift
+import UIKit
+import _Concurrency
+import _StringProcessing
+import _SwiftConcurrencyShims
+@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objcMembers @objc(NSCSVG) @_Concurrency.MainActor(unsafe) public class NSCSVG : UIKit.UIView {
+ @objc @_Concurrency.MainActor(unsafe) public var autoScale: Swift.Bool {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var src: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var srcPath: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func layoutSubviews()
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect)
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func draw(_ rect: CoreFoundation.CGRect)
+ @objc @_Concurrency.MainActor(unsafe) public func toImage() -> UIKit.UIImage?
+ @objc @_Concurrency.MainActor(unsafe) public func toData() -> Foundation.NSData?
+ @objc deinit
+}
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/module.modulemap b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/module.modulemap
new file mode 100644
index 000000000..6b85fdf35
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module CanvasSVG {
+ umbrella header "CanvasSVG.h"
+ export *
+
+ module * { export * }
+}
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Info.plist b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Info.plist
new file mode 100644
index 000000000..265eaa603
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Info.plist
@@ -0,0 +1,20 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ English
+ CFBundleIdentifier
+ com.apple.xcode.dsym.org.nativescript.canvas.svg.CanvasSVG
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundlePackageType
+ dSYM
+ CFBundleSignature
+ ????
+ CFBundleShortVersionString
+ 1.0
+ CFBundleVersion
+ 1
+
+
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG
new file mode 100644
index 000000000..ad4df4867
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG differ
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml
new file mode 100644
index 000000000..ce8805264
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml
@@ -0,0 +1,77 @@
+---
+triple: 'arm64-apple-darwin'
+binary-path: '/Users/triniwiz/Documents/GitHub/canvas/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/CanvasSVG'
+relocations:
+ - { offsetInCU: 0x34, offset: 0xA76DC, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0x8A40, symSize: 0x0 }
+ - { offsetInCU: 0x69, offset: 0xA7711, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x8A70, symSize: 0x0 }
+ - { offsetInCU: 0x27, offset: 0xA774E, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x50 }
+ - { offsetInCU: 0x66, offset: 0xA778D, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x50 }
+ - { offsetInCU: 0x14F, offset: 0xA7876, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromPath:size:width:height:path:]', symObjAddr: 0x50, symBinAddr: 0x4050, symSize: 0x50 }
+ - { offsetInCU: 0x65, offset: 0xA79A7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x40A0, symSize: 0x10 }
+ - { offsetInCU: 0x85, offset: 0xA79C7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x40A0, symSize: 0x10 }
+ - { offsetInCU: 0xBB, offset: 0xA79FD, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x10, symBinAddr: 0x40B0, symSize: 0x10 }
+ - { offsetInCU: 0xDB, offset: 0xA7A1D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x10, symBinAddr: 0x40B0, symSize: 0x10 }
+ - { offsetInCU: 0x114, offset: 0xA7A56, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x20, symBinAddr: 0x40C0, symSize: 0x14 }
+ - { offsetInCU: 0x134, offset: 0xA7A76, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x20, symBinAddr: 0x40C0, symSize: 0x14 }
+ - { offsetInCU: 0x16A, offset: 0xA7AAC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x34, symBinAddr: 0x40D4, symSize: 0x14 }
+ - { offsetInCU: 0x18A, offset: 0xA7ACC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x34, symBinAddr: 0x40D4, symSize: 0x14 }
+ - { offsetInCU: 0x1C5, offset: 0xA7B07, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x48, symBinAddr: 0x40E8, symSize: 0x10 }
+ - { offsetInCU: 0x1E5, offset: 0xA7B27, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x48, symBinAddr: 0x40E8, symSize: 0x10 }
+ - { offsetInCU: 0x21B, offset: 0xA7B5D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0x58, symBinAddr: 0x40F8, symSize: 0x10 }
+ - { offsetInCU: 0x23B, offset: 0xA7B7D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0x58, symBinAddr: 0x40F8, symSize: 0x10 }
+ - { offsetInCU: 0x274, offset: 0xA7BB6, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x68, symBinAddr: 0x4108, symSize: 0x10 }
+ - { offsetInCU: 0x294, offset: 0xA7BD6, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x68, symBinAddr: 0x4108, symSize: 0x10 }
+ - { offsetInCU: 0x2CA, offset: 0xA7C0C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x78, symBinAddr: 0x4118, symSize: 0x10 }
+ - { offsetInCU: 0x2EA, offset: 0xA7C2C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x78, symBinAddr: 0x4118, symSize: 0x10 }
+ - { offsetInCU: 0x323, offset: 0xA7C65, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x88, symBinAddr: 0x4128, symSize: 0x10 }
+ - { offsetInCU: 0x343, offset: 0xA7C85, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x88, symBinAddr: 0x4128, symSize: 0x10 }
+ - { offsetInCU: 0x379, offset: 0xA7CBB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x98, symBinAddr: 0x4138, symSize: 0x10 }
+ - { offsetInCU: 0x399, offset: 0xA7CDB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x98, symBinAddr: 0x4138, symSize: 0x10 }
+ - { offsetInCU: 0x3D2, offset: 0xA7D14, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0xA8, symBinAddr: 0x4148, symSize: 0x10 }
+ - { offsetInCU: 0x3F2, offset: 0xA7D34, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0xA8, symBinAddr: 0x4148, symSize: 0x10 }
+ - { offsetInCU: 0x428, offset: 0xA7D6A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0xB8, symBinAddr: 0x4158, symSize: 0x10 }
+ - { offsetInCU: 0x448, offset: 0xA7D8A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0xB8, symBinAddr: 0x4158, symSize: 0x10 }
+ - { offsetInCU: 0x481, offset: 0xA7DC3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvgTo', symObjAddr: 0xC8, symBinAddr: 0x4168, symSize: 0x44 }
+ - { offsetInCU: 0x4EF, offset: 0xA7E31, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvsTo', symObjAddr: 0x150, symBinAddr: 0x41F0, symSize: 0x64 }
+ - { offsetInCU: 0x5E3, offset: 0xA7F25, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11deviceScaleSfyFTo', symObjAddr: 0x720, symBinAddr: 0x47C0, symSize: 0xB8 }
+ - { offsetInCU: 0x6D4, offset: 0xA8016, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFTo', symObjAddr: 0x10B8, symBinAddr: 0x5158, symSize: 0x28 }
+ - { offsetInCU: 0x706, offset: 0xA8048, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyFTo', symObjAddr: 0x1334, symBinAddr: 0x53D4, symSize: 0x28 }
+ - { offsetInCU: 0x738, offset: 0xA807A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14layoutSubviewsyyFTo', symObjAddr: 0x1360, symBinAddr: 0x53FC, symSize: 0x28 }
+ - { offsetInCU: 0x780, offset: 0xA80C2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1388, symBinAddr: 0x5424, symSize: 0x10 }
+ - { offsetInCU: 0x7A0, offset: 0xA80E2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1388, symBinAddr: 0x5424, symSize: 0x10 }
+ - { offsetInCU: 0x7F3, offset: 0xA8135, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x17B4, symBinAddr: 0x5850, symSize: 0x20 }
+ - { offsetInCU: 0x82A, offset: 0xA816C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x1A4C, symBinAddr: 0x5AE8, symSize: 0x28 }
+ - { offsetInCU: 0x861, offset: 0xA81A3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVFTo', symObjAddr: 0x1C24, symBinAddr: 0x5CC0, symSize: 0x58 }
+ - { offsetInCU: 0x893, offset: 0xA81D5, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyFTo', symObjAddr: 0x1DE4, symBinAddr: 0x5E80, symSize: 0x34 }
+ - { offsetInCU: 0x8C5, offset: 0xA8207, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyFTo', symObjAddr: 0x1E6C, symBinAddr: 0x5F08, symSize: 0x34 }
+ - { offsetInCU: 0x8F8, offset: 0xA823A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTK', symObjAddr: 0x214, symBinAddr: 0x42B4, symSize: 0x50 }
+ - { offsetInCU: 0x930, offset: 0xA8272, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTk', symObjAddr: 0x264, symBinAddr: 0x4304, symSize: 0x64 }
+ - { offsetInCU: 0x9C6, offset: 0xA8308, size: 0x8, addend: 0x0, symName: '_$sIeg_IeyB_TR', symObjAddr: 0x108C, symBinAddr: 0x512C, symSize: 0x2C }
+ - { offsetInCU: 0xA03, offset: 0xA8345, size: 0x8, addend: 0x0, symName: '_$sSo17OS_dispatch_queueCMa', symObjAddr: 0x16D8, symBinAddr: 0x5774, symSize: 0x3C }
+ - { offsetInCU: 0xA17, offset: 0xA8359, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x1714, symBinAddr: 0x57B0, symSize: 0x40 }
+ - { offsetInCU: 0xA2B, offset: 0xA836D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCMa', symObjAddr: 0x1794, symBinAddr: 0x5830, symSize: 0x20 }
+ - { offsetInCU: 0xA4F, offset: 0xA8391, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfETo', symObjAddr: 0x1ED0, symBinAddr: 0x5F6C, symSize: 0x70 }
+ - { offsetInCU: 0xA7E, offset: 0xA83C0, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x2094, symBinAddr: 0x6130, symSize: 0xC }
+ - { offsetInCU: 0xA92, offset: 0xA83D4, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x20A0, symBinAddr: 0x613C, symSize: 0x4 }
+ - { offsetInCU: 0xAA6, offset: 0xA83E8, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x20A4, symBinAddr: 0x6140, symSize: 0x20 }
+ - { offsetInCU: 0xABA, offset: 0xA83FC, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x20C4, symBinAddr: 0x6160, symSize: 0x28 }
+ - { offsetInCU: 0xACE, offset: 0xA8410, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_TA', symObjAddr: 0x2168, symBinAddr: 0x6204, symSize: 0x8 }
+ - { offsetInCU: 0xAE2, offset: 0xA8424, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x2170, symBinAddr: 0x620C, symSize: 0x10 }
+ - { offsetInCU: 0xAF6, offset: 0xA8438, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x2180, symBinAddr: 0x621C, symSize: 0x8 }
+ - { offsetInCU: 0xF09, offset: 0xA884B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvg', symObjAddr: 0x10C, symBinAddr: 0x41AC, symSize: 0x44 }
+ - { offsetInCU: 0xF5C, offset: 0xA889E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvs', symObjAddr: 0x1B4, symBinAddr: 0x4254, symSize: 0x60 }
+ - { offsetInCU: 0xFCC, offset: 0xA890E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM', symObjAddr: 0x2C8, symBinAddr: 0x4368, symSize: 0x48 }
+ - { offsetInCU: 0xFF1, offset: 0xA8933, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM.resume.0', symObjAddr: 0x310, symBinAddr: 0x43B0, symSize: 0x3C }
+ - { offsetInCU: 0x104D, offset: 0xA898F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC3srcSSSgvM', symObjAddr: 0x394, symBinAddr: 0x4434, symSize: 0x48 }
+ - { offsetInCU: 0x1072, offset: 0xA89B4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7srcPathSSSgvM', symObjAddr: 0x6A4, symBinAddr: 0x4744, symSize: 0x48 }
+ - { offsetInCU: 0x120F, offset: 0xA8B51, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyF', symObjAddr: 0x7D8, symBinAddr: 0x4878, symSize: 0x3D4 }
+ - { offsetInCU: 0x1523, offset: 0xA8E65, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_', symObjAddr: 0xBAC, symBinAddr: 0x4C4C, symSize: 0x4E0 }
+ - { offsetInCU: 0x17F6, offset: 0xA9138, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyF', symObjAddr: 0x10E0, symBinAddr: 0x5180, symSize: 0x254 }
+ - { offsetInCU: 0x1B6B, offset: 0xA94AD, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfC', symObjAddr: 0x1398, symBinAddr: 0x5434, symSize: 0x50 }
+ - { offsetInCU: 0x1B7F, offset: 0xA94C1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc', symObjAddr: 0x13E8, symBinAddr: 0x5484, symSize: 0x2F0 }
+ - { offsetInCU: 0x1BFB, offset: 0xA953D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x17D4, symBinAddr: 0x5870, symSize: 0x278 }
+ - { offsetInCU: 0x1CAA, offset: 0xA95EC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVF', symObjAddr: 0x1A74, symBinAddr: 0x5B10, symSize: 0x1B0 }
+ - { offsetInCU: 0x1EB1, offset: 0xA97F3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF', symObjAddr: 0x1C7C, symBinAddr: 0x5D18, symSize: 0x168 }
+ - { offsetInCU: 0x2095, offset: 0xA99D7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF', symObjAddr: 0x1E18, symBinAddr: 0x5EB4, symSize: 0x54 }
+ - { offsetInCU: 0x2142, offset: 0xA9A84, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfD', symObjAddr: 0x1EA0, symBinAddr: 0x5F3C, symSize: 0x30 }
+...
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/CanvasSVG b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/CanvasSVG
new file mode 100755
index 000000000..f9b5b3c7c
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/CanvasSVG differ
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Headers/CanvasSVG.h b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Headers/CanvasSVG.h
new file mode 100644
index 000000000..84a49e7a3
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Headers/CanvasSVG.h
@@ -0,0 +1,17 @@
+//
+// CanvasSVG.h
+// CanvasSVG
+//
+// Created by Osei Fortune on 18/03/2024.
+//
+#import
+#import
+#import
+//! Project version number for CanvasSVG.
+FOUNDATION_EXPORT double CanvasSVGVersionNumber;
+
+//! Project version string for CanvasSVG.
+FOUNDATION_EXPORT const unsigned char CanvasSVGVersionString[];
+
+// In this header, you should import all the public headers of your framework using statements like #import
+
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Headers/CanvasSVGHelper.h b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Headers/CanvasSVGHelper.h
new file mode 100644
index 000000000..ba20793e3
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Headers/CanvasSVGHelper.h
@@ -0,0 +1,18 @@
+//
+// CanvasSVGHelper.h
+// CanvasSVG
+//
+// Created by Osei Fortune on 18/03/2024.
+//
+
+#ifndef CanvasSVGHelper_h
+#define CanvasSVGHelper_h
+#import
+#import
+
+@interface CanvasSVGHelper : NSObject
++(void) drawFromString:(uint8_t*)data size:(uintptr_t)size width:(float) width height:(float)height svg:(NSString*) svg;
++(void) drawFromPath:(uint8_t*)data size:(uintptr_t)size width:(float) width height:(float)height path:(NSString*) path;
+@end
+
+#endif /* CanvasSVGHelper_h */
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Headers/canvas_svg.h b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Headers/canvas_svg.h
new file mode 100644
index 000000000..1401dc1d4
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Headers/canvas_svg.h
@@ -0,0 +1,27 @@
+#ifndef CANVAS_SVG_IOS_H
+#define CANVAS_SVG_IOS_H
+
+/* Warning, this file is autogenerated by cbindgen. Don't modify this manually. */
+
+#include
+#include
+#include
+#include
+
+#if defined(TARGET_OS_IOS)
+void canvas_native_svg_draw_from_string(uint8_t *data,
+ uintptr_t size,
+ float width,
+ float height,
+ const char *svg);
+#endif
+
+#if defined(TARGET_OS_IOS)
+void canvas_native_svg_draw_from_path(uint8_t *data,
+ uintptr_t size,
+ float width,
+ float height,
+ const char *path);
+#endif
+
+#endif /* CANVAS_SVG_IOS_H */
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Info.plist b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Info.plist
new file mode 100644
index 000000000..eafc18a2e
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Info.plist differ
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo
new file mode 100644
index 000000000..b2ba4b625
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo differ
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo
new file mode 100644
index 000000000..693b0f040
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo differ
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.abi.json b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.abi.json
new file mode 100644
index 000000000..a67745d83
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.abi.json
@@ -0,0 +1,645 @@
+{
+ "ABIRoot": {
+ "kind": "Root",
+ "name": "TopLevel",
+ "printedName": "TopLevel",
+ "children": [
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "UIKit",
+ "printedName": "UIKit",
+ "declKind": "Import",
+ "moduleName": "CanvasSVG"
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "NSCSVG",
+ "printedName": "NSCSVG",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "autoScale",
+ "printedName": "autoScale",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(py)autoScale",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvp",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)autoScale",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvg",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)setAutoScale:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvs",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:9CanvasSVG6NSCSVGC9autoScaleSbvM",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvM",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "src",
+ "printedName": "src",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(py)src",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvp",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)src",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvg",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)setSrc:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvs",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:9CanvasSVG6NSCSVGC3srcSSSgvM",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvM",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "srcPath",
+ "printedName": "srcPath",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(py)srcPath",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvp",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)srcPath",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvg",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)setSrcPath:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvs",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:9CanvasSVG6NSCSVGC7srcPathSSSgvM",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvM",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "layoutSubviews",
+ "printedName": "layoutSubviews()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)layoutSubviews",
+ "mangledName": "$s9CanvasSVG6NSCSVGC14layoutSubviewsyyF",
+ "moduleName": "CanvasSVG",
+ "overriding": true,
+ "objc_name": "layoutSubviews",
+ "declAttributes": [
+ "Dynamic",
+ "ObjC",
+ "Custom",
+ "Override",
+ "AccessControl"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(frame:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSCSVG",
+ "printedName": "CanvasSVG.NSCSVG",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "CGRect",
+ "printedName": "CoreFoundation.CGRect",
+ "usr": "c:@S@CGRect"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)initWithFrame:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc",
+ "moduleName": "CanvasSVG",
+ "overriding": true,
+ "objc_name": "initWithFrame:",
+ "declAttributes": [
+ "Dynamic",
+ "ObjC",
+ "Custom",
+ "Override",
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "draw",
+ "printedName": "draw(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "CGRect",
+ "printedName": "CoreFoundation.CGRect",
+ "usr": "c:@S@CGRect"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)drawRect:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVF",
+ "moduleName": "CanvasSVG",
+ "overriding": true,
+ "objc_name": "drawRect:",
+ "declAttributes": [
+ "Dynamic",
+ "ObjC",
+ "Custom",
+ "Override",
+ "AccessControl"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "toImage",
+ "printedName": "toImage()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "UIKit.UIImage?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UIImage",
+ "printedName": "UIKit.UIImage",
+ "usr": "c:objc(cs)UIImage"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)toImage",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "toData",
+ "printedName": "toData()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Foundation.NSData?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSData",
+ "printedName": "Foundation.NSData",
+ "usr": "c:objc(cs)NSData"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)toData",
+ "mangledName": "$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG",
+ "mangledName": "$s9CanvasSVG6NSCSVGC",
+ "moduleName": "CanvasSVG",
+ "objc_name": "NSCSVG",
+ "declAttributes": [
+ "Custom",
+ "AccessControl",
+ "ObjC",
+ "ObjCMembers"
+ ],
+ "superclassUsr": "c:objc(cs)UIView",
+ "hasMissingDesignatedInitializers": true,
+ "inheritsConvenienceInitializers": true,
+ "superclassNames": [
+ "UIKit.UIView",
+ "UIKit.UIResponder",
+ "ObjectiveC.NSObject"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CVarArg",
+ "printedName": "CVarArg",
+ "usr": "s:s7CVarArgP",
+ "mangledName": "$ss7CVarArgP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_KeyValueCodingAndObservingPublishing",
+ "printedName": "_KeyValueCodingAndObservingPublishing",
+ "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP",
+ "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_KeyValueCodingAndObserving",
+ "printedName": "_KeyValueCodingAndObserving",
+ "usr": "s:10Foundation27_KeyValueCodingAndObservingP",
+ "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomDebugStringConvertible",
+ "printedName": "CustomDebugStringConvertible",
+ "usr": "s:s28CustomDebugStringConvertibleP",
+ "mangledName": "$ss28CustomDebugStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "UITraitChangeObservable",
+ "printedName": "UITraitChangeObservable",
+ "usr": "s:5UIKit23UITraitChangeObservableP",
+ "mangledName": "$s5UIKit23UITraitChangeObservableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "__DefaultCustomPlaygroundQuickLookable",
+ "printedName": "__DefaultCustomPlaygroundQuickLookable",
+ "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP",
+ "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP"
+ }
+ ]
+ }
+ ],
+ "json_format_version": 8
+ },
+ "ConstValues": [
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "IntegerLiteral",
+ "offset": 278,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 305,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 333,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 354,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 437,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 387,
+ "length": 4,
+ "value": "true"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface
new file mode 100644
index 000000000..5c8af979f
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface
@@ -0,0 +1,30 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
+// swift-module-flags: -target arm64-apple-ios12.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name CanvasSVG
+@_exported import CanvasSVG
+import Foundation
+import Swift
+import UIKit
+import _Concurrency
+import _StringProcessing
+import _SwiftConcurrencyShims
+@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objcMembers @objc(NSCSVG) @_Concurrency.MainActor(unsafe) public class NSCSVG : UIKit.UIView {
+ @objc @_Concurrency.MainActor(unsafe) public var autoScale: Swift.Bool {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var src: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var srcPath: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func layoutSubviews()
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect)
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func draw(_ rect: CoreFoundation.CGRect)
+ @objc @_Concurrency.MainActor(unsafe) public func toImage() -> UIKit.UIImage?
+ @objc @_Concurrency.MainActor(unsafe) public func toData() -> Foundation.NSData?
+ @objc deinit
+}
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftdoc b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftdoc
new file mode 100644
index 000000000..dbbac0b85
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftdoc differ
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftinterface b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftinterface
new file mode 100644
index 000000000..5c8af979f
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftinterface
@@ -0,0 +1,30 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
+// swift-module-flags: -target arm64-apple-ios12.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name CanvasSVG
+@_exported import CanvasSVG
+import Foundation
+import Swift
+import UIKit
+import _Concurrency
+import _StringProcessing
+import _SwiftConcurrencyShims
+@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objcMembers @objc(NSCSVG) @_Concurrency.MainActor(unsafe) public class NSCSVG : UIKit.UIView {
+ @objc @_Concurrency.MainActor(unsafe) public var autoScale: Swift.Bool {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var src: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var srcPath: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func layoutSubviews()
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect)
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func draw(_ rect: CoreFoundation.CGRect)
+ @objc @_Concurrency.MainActor(unsafe) public func toImage() -> UIKit.UIImage?
+ @objc @_Concurrency.MainActor(unsafe) public func toData() -> Foundation.NSData?
+ @objc deinit
+}
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.abi.json b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.abi.json
new file mode 100644
index 000000000..a67745d83
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.abi.json
@@ -0,0 +1,645 @@
+{
+ "ABIRoot": {
+ "kind": "Root",
+ "name": "TopLevel",
+ "printedName": "TopLevel",
+ "children": [
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "UIKit",
+ "printedName": "UIKit",
+ "declKind": "Import",
+ "moduleName": "CanvasSVG"
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "NSCSVG",
+ "printedName": "NSCSVG",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "autoScale",
+ "printedName": "autoScale",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(py)autoScale",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvp",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)autoScale",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvg",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)setAutoScale:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvs",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:9CanvasSVG6NSCSVGC9autoScaleSbvM",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvM",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "src",
+ "printedName": "src",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(py)src",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvp",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)src",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvg",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)setSrc:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvs",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:9CanvasSVG6NSCSVGC3srcSSSgvM",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvM",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "srcPath",
+ "printedName": "srcPath",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(py)srcPath",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvp",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)srcPath",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvg",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)setSrcPath:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvs",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:9CanvasSVG6NSCSVGC7srcPathSSSgvM",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvM",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "layoutSubviews",
+ "printedName": "layoutSubviews()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)layoutSubviews",
+ "mangledName": "$s9CanvasSVG6NSCSVGC14layoutSubviewsyyF",
+ "moduleName": "CanvasSVG",
+ "overriding": true,
+ "objc_name": "layoutSubviews",
+ "declAttributes": [
+ "Dynamic",
+ "ObjC",
+ "Custom",
+ "Override",
+ "AccessControl"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(frame:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSCSVG",
+ "printedName": "CanvasSVG.NSCSVG",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "CGRect",
+ "printedName": "CoreFoundation.CGRect",
+ "usr": "c:@S@CGRect"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)initWithFrame:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc",
+ "moduleName": "CanvasSVG",
+ "overriding": true,
+ "objc_name": "initWithFrame:",
+ "declAttributes": [
+ "Dynamic",
+ "ObjC",
+ "Custom",
+ "Override",
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "draw",
+ "printedName": "draw(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "CGRect",
+ "printedName": "CoreFoundation.CGRect",
+ "usr": "c:@S@CGRect"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)drawRect:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVF",
+ "moduleName": "CanvasSVG",
+ "overriding": true,
+ "objc_name": "drawRect:",
+ "declAttributes": [
+ "Dynamic",
+ "ObjC",
+ "Custom",
+ "Override",
+ "AccessControl"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "toImage",
+ "printedName": "toImage()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "UIKit.UIImage?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UIImage",
+ "printedName": "UIKit.UIImage",
+ "usr": "c:objc(cs)UIImage"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)toImage",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "toData",
+ "printedName": "toData()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Foundation.NSData?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSData",
+ "printedName": "Foundation.NSData",
+ "usr": "c:objc(cs)NSData"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)toData",
+ "mangledName": "$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG",
+ "mangledName": "$s9CanvasSVG6NSCSVGC",
+ "moduleName": "CanvasSVG",
+ "objc_name": "NSCSVG",
+ "declAttributes": [
+ "Custom",
+ "AccessControl",
+ "ObjC",
+ "ObjCMembers"
+ ],
+ "superclassUsr": "c:objc(cs)UIView",
+ "hasMissingDesignatedInitializers": true,
+ "inheritsConvenienceInitializers": true,
+ "superclassNames": [
+ "UIKit.UIView",
+ "UIKit.UIResponder",
+ "ObjectiveC.NSObject"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CVarArg",
+ "printedName": "CVarArg",
+ "usr": "s:s7CVarArgP",
+ "mangledName": "$ss7CVarArgP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_KeyValueCodingAndObservingPublishing",
+ "printedName": "_KeyValueCodingAndObservingPublishing",
+ "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP",
+ "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_KeyValueCodingAndObserving",
+ "printedName": "_KeyValueCodingAndObserving",
+ "usr": "s:10Foundation27_KeyValueCodingAndObservingP",
+ "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomDebugStringConvertible",
+ "printedName": "CustomDebugStringConvertible",
+ "usr": "s:s28CustomDebugStringConvertibleP",
+ "mangledName": "$ss28CustomDebugStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "UITraitChangeObservable",
+ "printedName": "UITraitChangeObservable",
+ "usr": "s:5UIKit23UITraitChangeObservableP",
+ "mangledName": "$s5UIKit23UITraitChangeObservableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "__DefaultCustomPlaygroundQuickLookable",
+ "printedName": "__DefaultCustomPlaygroundQuickLookable",
+ "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP",
+ "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP"
+ }
+ ]
+ }
+ ],
+ "json_format_version": 8
+ },
+ "ConstValues": [
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "IntegerLiteral",
+ "offset": 278,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 305,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 333,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 354,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 437,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 387,
+ "length": 4,
+ "value": "true"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface
new file mode 100644
index 000000000..47387cb34
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface
@@ -0,0 +1,30 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
+// swift-module-flags: -target x86_64-apple-ios12.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name CanvasSVG
+@_exported import CanvasSVG
+import Foundation
+import Swift
+import UIKit
+import _Concurrency
+import _StringProcessing
+import _SwiftConcurrencyShims
+@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objcMembers @objc(NSCSVG) @_Concurrency.MainActor(unsafe) public class NSCSVG : UIKit.UIView {
+ @objc @_Concurrency.MainActor(unsafe) public var autoScale: Swift.Bool {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var src: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var srcPath: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func layoutSubviews()
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect)
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func draw(_ rect: CoreFoundation.CGRect)
+ @objc @_Concurrency.MainActor(unsafe) public func toImage() -> UIKit.UIImage?
+ @objc @_Concurrency.MainActor(unsafe) public func toData() -> Foundation.NSData?
+ @objc deinit
+}
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftdoc b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
new file mode 100644
index 000000000..68c89fe1c
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftdoc differ
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftinterface b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
new file mode 100644
index 000000000..47387cb34
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
@@ -0,0 +1,30 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
+// swift-module-flags: -target x86_64-apple-ios12.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name CanvasSVG
+@_exported import CanvasSVG
+import Foundation
+import Swift
+import UIKit
+import _Concurrency
+import _StringProcessing
+import _SwiftConcurrencyShims
+@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objcMembers @objc(NSCSVG) @_Concurrency.MainActor(unsafe) public class NSCSVG : UIKit.UIView {
+ @objc @_Concurrency.MainActor(unsafe) public var autoScale: Swift.Bool {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var src: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var srcPath: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func layoutSubviews()
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect)
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func draw(_ rect: CoreFoundation.CGRect)
+ @objc @_Concurrency.MainActor(unsafe) public func toImage() -> UIKit.UIImage?
+ @objc @_Concurrency.MainActor(unsafe) public func toData() -> Foundation.NSData?
+ @objc deinit
+}
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/module.modulemap b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/module.modulemap
new file mode 100644
index 000000000..6b85fdf35
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module CanvasSVG {
+ umbrella header "CanvasSVG.h"
+ export *
+
+ module * { export * }
+}
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/_CodeSignature/CodeResources b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/_CodeSignature/CodeResources
new file mode 100644
index 000000000..7ed6d6862
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/_CodeSignature/CodeResources
@@ -0,0 +1,278 @@
+
+
+
+
+ files
+
+ Headers/CanvasSVG.h
+
+ 9P+2fsZOA3noK95KtLiUcCBlAVA=
+
+ Headers/CanvasSVGHelper.h
+
+ MefR2lomK2+EX5bEb93hGXh2ByU=
+
+ Headers/canvas_svg.h
+
+ S6jmC/hOJ3J1JHMpjTSdtLao75Q=
+
+ Info.plist
+
+ PWsa1Gr0OVXaZEFvAgbyTHUsqPE=
+
+ Modules/CanvasSVG.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo
+
+ EvVf1Rok2iw9H0UB6lpd0fwiMAQ=
+
+ Modules/CanvasSVG.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo
+
+ yr+cdouZz75mcgzWoyg02iB40gU=
+
+ Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.abi.json
+
+ fqyZ7qqDZ+U/7QSH3ImQXPb2d/w=
+
+ Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface
+
+ uROVrIcTxcrK2AENYnCubtIhrDE=
+
+ Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftdoc
+
+ oa2ZM+UgCUP6qUMKbValTed+Quo=
+
+ Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftinterface
+
+ uROVrIcTxcrK2AENYnCubtIhrDE=
+
+ Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftmodule
+
+ Onb30hJJtkSWueaGcMpSgsODGpY=
+
+ Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.abi.json
+
+ fqyZ7qqDZ+U/7QSH3ImQXPb2d/w=
+
+ Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface
+
+ 7g2E6pbOW+6Q/MBsKgenZAoW4ew=
+
+ Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
+
+ 8ORrKashZ2G9uon/qXavlgFQNrA=
+
+ Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
+
+ 7g2E6pbOW+6Q/MBsKgenZAoW4ew=
+
+ Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftmodule
+
+ 13Zw2CYOj3vVMYtvvNbkbgLFpPo=
+
+ Modules/module.modulemap
+
+ 8Pi6lp/+FB0k2+CN4+OATV5QYLQ=
+
+
+ files2
+
+ Headers/CanvasSVG.h
+
+ hash2
+
+ g6JCxwVN8a2leSOn9AqVyYnswaGTSe/5H1r6Sl4gMF0=
+
+
+ Headers/CanvasSVGHelper.h
+
+ hash2
+
+ FiqZ2f7WKlNLBBDQoVl1MZNQMpLpUbZmDhqta5JZHmE=
+
+
+ Headers/canvas_svg.h
+
+ hash2
+
+ kvz1Q9vFvuf1Hs7OMXqZusioYBHJaP8D6rZrSgHGMIs=
+
+
+ Modules/CanvasSVG.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo
+
+ hash2
+
+ 8CNxsf/Sg27dpvySHpJVCVoyw+Zl7MmXDvNGRQ9KSS0=
+
+
+ Modules/CanvasSVG.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo
+
+ hash2
+
+ MakuYXFAcY5zjHlRO5r41ohr4QvqsR4bJOvunO/ZP4U=
+
+
+ Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.abi.json
+
+ hash2
+
+ nVEo5JMj3CNFjFLU8V2uFRUizqgcsOLyKhP2CGG39Q8=
+
+
+ Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface
+
+ hash2
+
+ hCTziazGrnEsbMSz7zuOeOoWe0et2eyU+a0ea2KBkew=
+
+
+ Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftdoc
+
+ hash2
+
+ IOgoiMixOp06s85xs4y9+rlVhEPh7ZFTCLDk3btF1lc=
+
+
+ Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftinterface
+
+ hash2
+
+ hCTziazGrnEsbMSz7zuOeOoWe0et2eyU+a0ea2KBkew=
+
+
+ Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftmodule
+
+ hash2
+
+ PP0hWS95MnqFYSWlhdjuenCrdmiMNcs7hlHykQ2laVU=
+
+
+ Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.abi.json
+
+ hash2
+
+ nVEo5JMj3CNFjFLU8V2uFRUizqgcsOLyKhP2CGG39Q8=
+
+
+ Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface
+
+ hash2
+
+ o64yUbGcYQYPQU+EF+2QJtxik7cTSDjO8VqyLbIe3PE=
+
+
+ Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
+
+ hash2
+
+ YW0l6kcVWxXxvKSkFJyn/MFzOYQDkEftwNEhYh3emho=
+
+
+ Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
+
+ hash2
+
+ o64yUbGcYQYPQU+EF+2QJtxik7cTSDjO8VqyLbIe3PE=
+
+
+ Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftmodule
+
+ hash2
+
+ S74eOSWkfFSj7tuiHbe9ky8z+8dtru/nKPFwbhmBvuY=
+
+
+ Modules/module.modulemap
+
+ hash2
+
+ wvyID4XHMjyySYcpStbAWG8cFFZ2NT34GNGssA+V64Q=
+
+
+
+ rules
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Info.plist b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Info.plist
new file mode 100644
index 000000000..265eaa603
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Info.plist
@@ -0,0 +1,20 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ English
+ CFBundleIdentifier
+ com.apple.xcode.dsym.org.nativescript.canvas.svg.CanvasSVG
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundlePackageType
+ dSYM
+ CFBundleSignature
+ ????
+ CFBundleShortVersionString
+ 1.0
+ CFBundleVersion
+ 1
+
+
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG
new file mode 100644
index 000000000..ba13fbb6b
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG differ
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml
new file mode 100644
index 000000000..5592485ac
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml
@@ -0,0 +1,78 @@
+---
+triple: 'arm64-apple-darwin'
+binary-path: '/Users/triniwiz/Documents/GitHub/canvas/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/CanvasSVG'
+relocations:
+ - { offsetInCU: 0x34, offset: 0xA80D2, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0x75A0, symSize: 0x0 }
+ - { offsetInCU: 0x69, offset: 0xA8107, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x75D0, symSize: 0x0 }
+ - { offsetInCU: 0x27, offset: 0xA8144, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x3D8C, symSize: 0x50 }
+ - { offsetInCU: 0x66, offset: 0xA8183, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x3D8C, symSize: 0x50 }
+ - { offsetInCU: 0x14F, offset: 0xA826C, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromPath:size:width:height:path:]', symObjAddr: 0x50, symBinAddr: 0x3DDC, symSize: 0x50 }
+ - { offsetInCU: 0x65, offset: 0xA839D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x3E2C, symSize: 0x10 }
+ - { offsetInCU: 0x85, offset: 0xA83BD, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x3E2C, symSize: 0x10 }
+ - { offsetInCU: 0xBB, offset: 0xA83F3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x10, symBinAddr: 0x3E3C, symSize: 0x10 }
+ - { offsetInCU: 0xDB, offset: 0xA8413, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x10, symBinAddr: 0x3E3C, symSize: 0x10 }
+ - { offsetInCU: 0x114, offset: 0xA844C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x20, symBinAddr: 0x3E4C, symSize: 0x14 }
+ - { offsetInCU: 0x134, offset: 0xA846C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x20, symBinAddr: 0x3E4C, symSize: 0x14 }
+ - { offsetInCU: 0x16A, offset: 0xA84A2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x34, symBinAddr: 0x3E60, symSize: 0x14 }
+ - { offsetInCU: 0x18A, offset: 0xA84C2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x34, symBinAddr: 0x3E60, symSize: 0x14 }
+ - { offsetInCU: 0x1C5, offset: 0xA84FD, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x48, symBinAddr: 0x3E74, symSize: 0x10 }
+ - { offsetInCU: 0x1E5, offset: 0xA851D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x48, symBinAddr: 0x3E74, symSize: 0x10 }
+ - { offsetInCU: 0x21B, offset: 0xA8553, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0x58, symBinAddr: 0x3E84, symSize: 0x10 }
+ - { offsetInCU: 0x23B, offset: 0xA8573, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0x58, symBinAddr: 0x3E84, symSize: 0x10 }
+ - { offsetInCU: 0x274, offset: 0xA85AC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x68, symBinAddr: 0x3E94, symSize: 0x10 }
+ - { offsetInCU: 0x294, offset: 0xA85CC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x68, symBinAddr: 0x3E94, symSize: 0x10 }
+ - { offsetInCU: 0x2CA, offset: 0xA8602, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x78, symBinAddr: 0x3EA4, symSize: 0x10 }
+ - { offsetInCU: 0x2EA, offset: 0xA8622, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x78, symBinAddr: 0x3EA4, symSize: 0x10 }
+ - { offsetInCU: 0x323, offset: 0xA865B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x88, symBinAddr: 0x3EB4, symSize: 0x10 }
+ - { offsetInCU: 0x343, offset: 0xA867B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x88, symBinAddr: 0x3EB4, symSize: 0x10 }
+ - { offsetInCU: 0x379, offset: 0xA86B1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x98, symBinAddr: 0x3EC4, symSize: 0x10 }
+ - { offsetInCU: 0x399, offset: 0xA86D1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x98, symBinAddr: 0x3EC4, symSize: 0x10 }
+ - { offsetInCU: 0x3D2, offset: 0xA870A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0xA8, symBinAddr: 0x3ED4, symSize: 0x10 }
+ - { offsetInCU: 0x3F2, offset: 0xA872A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0xA8, symBinAddr: 0x3ED4, symSize: 0x10 }
+ - { offsetInCU: 0x428, offset: 0xA8760, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0xB8, symBinAddr: 0x3EE4, symSize: 0x10 }
+ - { offsetInCU: 0x448, offset: 0xA8780, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0xB8, symBinAddr: 0x3EE4, symSize: 0x10 }
+ - { offsetInCU: 0x481, offset: 0xA87B9, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvgTo', symObjAddr: 0xC8, symBinAddr: 0x3EF4, symSize: 0x44 }
+ - { offsetInCU: 0x4EF, offset: 0xA8827, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvsTo', symObjAddr: 0x150, symBinAddr: 0x3F7C, symSize: 0x64 }
+ - { offsetInCU: 0x5E3, offset: 0xA891B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11deviceScaleSfyFTo', symObjAddr: 0x720, symBinAddr: 0x454C, symSize: 0xB8 }
+ - { offsetInCU: 0x6D4, offset: 0xA8A0C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFTo', symObjAddr: 0x1090, symBinAddr: 0x4EBC, symSize: 0x28 }
+ - { offsetInCU: 0x706, offset: 0xA8A3E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyFTo', symObjAddr: 0x130C, symBinAddr: 0x5138, symSize: 0x28 }
+ - { offsetInCU: 0x738, offset: 0xA8A70, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14layoutSubviewsyyFTo', symObjAddr: 0x1338, symBinAddr: 0x5160, symSize: 0x28 }
+ - { offsetInCU: 0x780, offset: 0xA8AB8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1360, symBinAddr: 0x5188, symSize: 0x10 }
+ - { offsetInCU: 0x7A0, offset: 0xA8AD8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1360, symBinAddr: 0x5188, symSize: 0x10 }
+ - { offsetInCU: 0x7F3, offset: 0xA8B2B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x1784, symBinAddr: 0x55AC, symSize: 0x20 }
+ - { offsetInCU: 0x82A, offset: 0xA8B62, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x1A10, symBinAddr: 0x5838, symSize: 0x28 }
+ - { offsetInCU: 0x861, offset: 0xA8B99, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVFTo', symObjAddr: 0x1BE8, symBinAddr: 0x5A10, symSize: 0x58 }
+ - { offsetInCU: 0x893, offset: 0xA8BCB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyFTo', symObjAddr: 0x1DA8, symBinAddr: 0x5BD0, symSize: 0x34 }
+ - { offsetInCU: 0x8C5, offset: 0xA8BFD, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyFTo', symObjAddr: 0x1E30, symBinAddr: 0x5C58, symSize: 0x34 }
+ - { offsetInCU: 0x8F8, offset: 0xA8C30, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTK', symObjAddr: 0x214, symBinAddr: 0x4040, symSize: 0x50 }
+ - { offsetInCU: 0x930, offset: 0xA8C68, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTk', symObjAddr: 0x264, symBinAddr: 0x4090, symSize: 0x64 }
+ - { offsetInCU: 0x9C6, offset: 0xA8CFE, size: 0x8, addend: 0x0, symName: '_$sIeg_IeyB_TR', symObjAddr: 0x1064, symBinAddr: 0x4E90, symSize: 0x2C }
+ - { offsetInCU: 0xA03, offset: 0xA8D3B, size: 0x8, addend: 0x0, symName: '_$sSo17OS_dispatch_queueCMa', symObjAddr: 0x16A4, symBinAddr: 0x54CC, symSize: 0x3C }
+ - { offsetInCU: 0xA17, offset: 0xA8D4F, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x16E0, symBinAddr: 0x5508, symSize: 0x40 }
+ - { offsetInCU: 0xA2B, offset: 0xA8D63, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledNameAbstract, symObjAddr: 0x1720, symBinAddr: 0x5548, symSize: 0x44 }
+ - { offsetInCU: 0xA3F, offset: 0xA8D77, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCMa', symObjAddr: 0x1764, symBinAddr: 0x558C, symSize: 0x20 }
+ - { offsetInCU: 0xA63, offset: 0xA8D9B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfETo', symObjAddr: 0x1E94, symBinAddr: 0x5CBC, symSize: 0x70 }
+ - { offsetInCU: 0xA92, offset: 0xA8DCA, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x2058, symBinAddr: 0x5E80, symSize: 0xC }
+ - { offsetInCU: 0xAA6, offset: 0xA8DDE, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x2064, symBinAddr: 0x5E8C, symSize: 0x4 }
+ - { offsetInCU: 0xABA, offset: 0xA8DF2, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x2068, symBinAddr: 0x5E90, symSize: 0x20 }
+ - { offsetInCU: 0xACE, offset: 0xA8E06, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x2088, symBinAddr: 0x5EB0, symSize: 0x28 }
+ - { offsetInCU: 0xAE2, offset: 0xA8E1A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_TA', symObjAddr: 0x212C, symBinAddr: 0x5F54, symSize: 0x8 }
+ - { offsetInCU: 0xAF6, offset: 0xA8E2E, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x2134, symBinAddr: 0x5F5C, symSize: 0x10 }
+ - { offsetInCU: 0xB0A, offset: 0xA8E42, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x2144, symBinAddr: 0x5F6C, symSize: 0x8 }
+ - { offsetInCU: 0xF1D, offset: 0xA9255, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvg', symObjAddr: 0x10C, symBinAddr: 0x3F38, symSize: 0x44 }
+ - { offsetInCU: 0xF70, offset: 0xA92A8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvs', symObjAddr: 0x1B4, symBinAddr: 0x3FE0, symSize: 0x60 }
+ - { offsetInCU: 0xFE0, offset: 0xA9318, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM', symObjAddr: 0x2C8, symBinAddr: 0x40F4, symSize: 0x48 }
+ - { offsetInCU: 0x1005, offset: 0xA933D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM.resume.0', symObjAddr: 0x310, symBinAddr: 0x413C, symSize: 0x3C }
+ - { offsetInCU: 0x1061, offset: 0xA9399, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC3srcSSSgvM', symObjAddr: 0x394, symBinAddr: 0x41C0, symSize: 0x48 }
+ - { offsetInCU: 0x1086, offset: 0xA93BE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7srcPathSSSgvM', symObjAddr: 0x6A4, symBinAddr: 0x44D0, symSize: 0x48 }
+ - { offsetInCU: 0x1223, offset: 0xA955B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyF', symObjAddr: 0x7D8, symBinAddr: 0x4604, symSize: 0x3C4 }
+ - { offsetInCU: 0x153F, offset: 0xA9877, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_', symObjAddr: 0xB9C, symBinAddr: 0x49C8, symSize: 0x4C8 }
+ - { offsetInCU: 0x1822, offset: 0xA9B5A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyF', symObjAddr: 0x10B8, symBinAddr: 0x4EE4, symSize: 0x254 }
+ - { offsetInCU: 0x1B97, offset: 0xA9ECF, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfC', symObjAddr: 0x1370, symBinAddr: 0x5198, symSize: 0x50 }
+ - { offsetInCU: 0x1BAB, offset: 0xA9EE3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc', symObjAddr: 0x13C0, symBinAddr: 0x51E8, symSize: 0x2E4 }
+ - { offsetInCU: 0x1C2F, offset: 0xA9F67, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x17A4, symBinAddr: 0x55CC, symSize: 0x26C }
+ - { offsetInCU: 0x1CE6, offset: 0xAA01E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVF', symObjAddr: 0x1A38, symBinAddr: 0x5860, symSize: 0x1B0 }
+ - { offsetInCU: 0x1EED, offset: 0xAA225, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF', symObjAddr: 0x1C40, symBinAddr: 0x5A68, symSize: 0x168 }
+ - { offsetInCU: 0x20D1, offset: 0xAA409, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF', symObjAddr: 0x1DDC, symBinAddr: 0x5C04, symSize: 0x54 }
+ - { offsetInCU: 0x217E, offset: 0xAA4B6, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfD', symObjAddr: 0x1E64, symBinAddr: 0x5C8C, symSize: 0x30 }
+...
diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasSVG.yml b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasSVG.yml
new file mode 100644
index 000000000..cb0999943
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasSVG.yml
@@ -0,0 +1,64 @@
+---
+triple: 'x86_64-apple-darwin'
+binary-path: '/Users/triniwiz/Documents/GitHub/canvas/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/CanvasSVG'
+relocations:
+ - { offsetInCU: 0x34, offset: 0xAAD6C, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0x6B50, symSize: 0x0 }
+ - { offsetInCU: 0x69, offset: 0xAADA1, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x6B80, symSize: 0x0 }
+ - { offsetInCU: 0x27, offset: 0xAADDE, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x2250, symSize: 0x53 }
+ - { offsetInCU: 0x66, offset: 0xAAE1D, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x2250, symSize: 0x53 }
+ - { offsetInCU: 0x16D, offset: 0xAAF24, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromPath:size:width:height:path:]', symObjAddr: 0x53, symBinAddr: 0x22A3, symSize: 0x53 }
+ - { offsetInCU: 0x65, offset: 0xAB073, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x2300, symSize: 0x20 }
+ - { offsetInCU: 0xBB, offset: 0xAB0C9, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x20, symBinAddr: 0x2320, symSize: 0x20 }
+ - { offsetInCU: 0x114, offset: 0xAB122, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x40, symBinAddr: 0x2340, symSize: 0x20 }
+ - { offsetInCU: 0x16A, offset: 0xAB178, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x60, symBinAddr: 0x2360, symSize: 0x20 }
+ - { offsetInCU: 0x1C5, offset: 0xAB1D3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x80, symBinAddr: 0x2380, symSize: 0x20 }
+ - { offsetInCU: 0x21B, offset: 0xAB229, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0xA0, symBinAddr: 0x23A0, symSize: 0x20 }
+ - { offsetInCU: 0x274, offset: 0xAB282, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0xC0, symBinAddr: 0x23C0, symSize: 0x20 }
+ - { offsetInCU: 0x2CA, offset: 0xAB2D8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0xE0, symBinAddr: 0x23E0, symSize: 0x10 }
+ - { offsetInCU: 0x323, offset: 0xAB331, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0xF0, symBinAddr: 0x23F0, symSize: 0x20 }
+ - { offsetInCU: 0x379, offset: 0xAB387, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x110, symBinAddr: 0x2410, symSize: 0x10 }
+ - { offsetInCU: 0x3D2, offset: 0xAB3E0, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0x120, symBinAddr: 0x2420, symSize: 0x20 }
+ - { offsetInCU: 0x428, offset: 0xAB436, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0x140, symBinAddr: 0x2440, symSize: 0x10 }
+ - { offsetInCU: 0x481, offset: 0xAB48F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvgTo', symObjAddr: 0x150, symBinAddr: 0x2450, symSize: 0x40 }
+ - { offsetInCU: 0x4ED, offset: 0xAB4FB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvsTo', symObjAddr: 0x1C0, symBinAddr: 0x24C0, symSize: 0x50 }
+ - { offsetInCU: 0x5E1, offset: 0xAB5EF, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11deviceScaleSfyFTo', symObjAddr: 0x800, symBinAddr: 0x2B00, symSize: 0xB0 }
+ - { offsetInCU: 0x6D2, offset: 0xAB6E0, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFTo', symObjAddr: 0x10B0, symBinAddr: 0x33B0, symSize: 0x30 }
+ - { offsetInCU: 0x704, offset: 0xAB712, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyFTo', symObjAddr: 0x1390, symBinAddr: 0x3690, symSize: 0x30 }
+ - { offsetInCU: 0x736, offset: 0xAB744, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14layoutSubviewsyyFTo', symObjAddr: 0x13D0, symBinAddr: 0x36C0, symSize: 0x30 }
+ - { offsetInCU: 0x77E, offset: 0xAB78C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1400, symBinAddr: 0x36F0, symSize: 0x20 }
+ - { offsetInCU: 0x7F1, offset: 0xAB7FF, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x1880, symBinAddr: 0x3B70, symSize: 0x30 }
+ - { offsetInCU: 0x828, offset: 0xAB836, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x1B00, symBinAddr: 0x3DF0, symSize: 0x30 }
+ - { offsetInCU: 0x85F, offset: 0xAB86D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVFTo', symObjAddr: 0x1D20, symBinAddr: 0x4010, symSize: 0x70 }
+ - { offsetInCU: 0x891, offset: 0xAB89F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyFTo', symObjAddr: 0x1F00, symBinAddr: 0x41F0, symSize: 0x30 }
+ - { offsetInCU: 0x8C3, offset: 0xAB8D1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyFTo', symObjAddr: 0x1F80, symBinAddr: 0x4270, symSize: 0x30 }
+ - { offsetInCU: 0x8F6, offset: 0xAB904, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTK', symObjAddr: 0x260, symBinAddr: 0x2560, symSize: 0x40 }
+ - { offsetInCU: 0x92C, offset: 0xAB93A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTk', symObjAddr: 0x2A0, symBinAddr: 0x25A0, symSize: 0x50 }
+ - { offsetInCU: 0x9C2, offset: 0xAB9D0, size: 0x8, addend: 0x0, symName: '_$sIeg_IeyB_TR', symObjAddr: 0x1080, symBinAddr: 0x3380, symSize: 0x30 }
+ - { offsetInCU: 0x9FF, offset: 0xABA0D, size: 0x8, addend: 0x0, symName: '_$sSo17OS_dispatch_queueCMa', symObjAddr: 0x17B0, symBinAddr: 0x3AA0, symSize: 0x30 }
+ - { offsetInCU: 0xA13, offset: 0xABA21, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x17E0, symBinAddr: 0x3AD0, symSize: 0x40 }
+ - { offsetInCU: 0xA27, offset: 0xABA35, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCMa', symObjAddr: 0x1860, symBinAddr: 0x3B50, symSize: 0x20 }
+ - { offsetInCU: 0xA56, offset: 0xABA64, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfETo', symObjAddr: 0x1FE0, symBinAddr: 0x42D0, symSize: 0x70 }
+ - { offsetInCU: 0xA85, offset: 0xABA93, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x21F0, symBinAddr: 0x44E0, symSize: 0x10 }
+ - { offsetInCU: 0xA99, offset: 0xABAA7, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x2200, symBinAddr: 0x44F0, symSize: 0x10 }
+ - { offsetInCU: 0xAAD, offset: 0xABABB, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x2210, symBinAddr: 0x4500, symSize: 0x20 }
+ - { offsetInCU: 0xAC1, offset: 0xABACF, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x2230, symBinAddr: 0x4520, symSize: 0x30 }
+ - { offsetInCU: 0xAD5, offset: 0xABAE3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_TA', symObjAddr: 0x22D0, symBinAddr: 0x45C0, symSize: 0x10 }
+ - { offsetInCU: 0xAE9, offset: 0xABAF7, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x22E0, symBinAddr: 0x45D0, symSize: 0x20 }
+ - { offsetInCU: 0xAFD, offset: 0xABB0B, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x2300, symBinAddr: 0x45F0, symSize: 0x10 }
+ - { offsetInCU: 0xF10, offset: 0xABF1E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvg', symObjAddr: 0x190, symBinAddr: 0x2490, symSize: 0x30 }
+ - { offsetInCU: 0xF61, offset: 0xABF6F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvs', symObjAddr: 0x210, symBinAddr: 0x2510, symSize: 0x50 }
+ - { offsetInCU: 0xFD3, offset: 0xABFE1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM', symObjAddr: 0x2F0, symBinAddr: 0x25F0, symSize: 0x40 }
+ - { offsetInCU: 0xFF8, offset: 0xAC006, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM.resume.0', symObjAddr: 0x330, symBinAddr: 0x2630, symSize: 0x30 }
+ - { offsetInCU: 0x1067, offset: 0xAC075, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC3srcSSSgvM', symObjAddr: 0x420, symBinAddr: 0x2720, symSize: 0x40 }
+ - { offsetInCU: 0x108C, offset: 0xAC09A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7srcPathSSSgvM', symObjAddr: 0x780, symBinAddr: 0x2A80, symSize: 0x40 }
+ - { offsetInCU: 0x120B, offset: 0xAC219, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyF', symObjAddr: 0x8B0, symBinAddr: 0x2BB0, symSize: 0x3C0 }
+ - { offsetInCU: 0x155D, offset: 0xAC56B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_', symObjAddr: 0xC70, symBinAddr: 0x2F70, symSize: 0x410 }
+ - { offsetInCU: 0x1828, offset: 0xAC836, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyF', symObjAddr: 0x10E0, symBinAddr: 0x33E0, symSize: 0x2B0 }
+ - { offsetInCU: 0x1B65, offset: 0xACB73, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfC', symObjAddr: 0x1420, symBinAddr: 0x3710, symSize: 0x80 }
+ - { offsetInCU: 0x1B79, offset: 0xACB87, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc', symObjAddr: 0x14A0, symBinAddr: 0x3790, symSize: 0x310 }
+ - { offsetInCU: 0x1BF5, offset: 0xACC03, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x18B0, symBinAddr: 0x3BA0, symSize: 0x250 }
+ - { offsetInCU: 0x1CA4, offset: 0xACCB2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVF', symObjAddr: 0x1B30, symBinAddr: 0x3E20, symSize: 0x1F0 }
+ - { offsetInCU: 0x1EA9, offset: 0xACEB7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF', symObjAddr: 0x1D90, symBinAddr: 0x4080, symSize: 0x170 }
+ - { offsetInCU: 0x208B, offset: 0xAD099, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF', symObjAddr: 0x1F30, symBinAddr: 0x4220, symSize: 0x50 }
+ - { offsetInCU: 0x214A, offset: 0xAD158, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfD', symObjAddr: 0x1FB0, symBinAddr: 0x42A0, symSize: 0x30 }
+...
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework.dSYM/Contents/Info.plist b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework.dSYM/Contents/Info.plist
new file mode 100644
index 000000000..265eaa603
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework.dSYM/Contents/Info.plist
@@ -0,0 +1,20 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ English
+ CFBundleIdentifier
+ com.apple.xcode.dsym.org.nativescript.canvas.svg.CanvasSVG
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundlePackageType
+ dSYM
+ CFBundleSignature
+ ????
+ CFBundleShortVersionString
+ 1.0
+ CFBundleVersion
+ 1
+
+
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG
new file mode 100644
index 000000000..ad4df4867
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG differ
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml
new file mode 100644
index 000000000..ce8805264
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml
@@ -0,0 +1,77 @@
+---
+triple: 'arm64-apple-darwin'
+binary-path: '/Users/triniwiz/Documents/GitHub/canvas/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/CanvasSVG'
+relocations:
+ - { offsetInCU: 0x34, offset: 0xA76DC, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0x8A40, symSize: 0x0 }
+ - { offsetInCU: 0x69, offset: 0xA7711, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x8A70, symSize: 0x0 }
+ - { offsetInCU: 0x27, offset: 0xA774E, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x50 }
+ - { offsetInCU: 0x66, offset: 0xA778D, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x50 }
+ - { offsetInCU: 0x14F, offset: 0xA7876, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromPath:size:width:height:path:]', symObjAddr: 0x50, symBinAddr: 0x4050, symSize: 0x50 }
+ - { offsetInCU: 0x65, offset: 0xA79A7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x40A0, symSize: 0x10 }
+ - { offsetInCU: 0x85, offset: 0xA79C7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x40A0, symSize: 0x10 }
+ - { offsetInCU: 0xBB, offset: 0xA79FD, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x10, symBinAddr: 0x40B0, symSize: 0x10 }
+ - { offsetInCU: 0xDB, offset: 0xA7A1D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x10, symBinAddr: 0x40B0, symSize: 0x10 }
+ - { offsetInCU: 0x114, offset: 0xA7A56, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x20, symBinAddr: 0x40C0, symSize: 0x14 }
+ - { offsetInCU: 0x134, offset: 0xA7A76, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x20, symBinAddr: 0x40C0, symSize: 0x14 }
+ - { offsetInCU: 0x16A, offset: 0xA7AAC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x34, symBinAddr: 0x40D4, symSize: 0x14 }
+ - { offsetInCU: 0x18A, offset: 0xA7ACC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x34, symBinAddr: 0x40D4, symSize: 0x14 }
+ - { offsetInCU: 0x1C5, offset: 0xA7B07, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x48, symBinAddr: 0x40E8, symSize: 0x10 }
+ - { offsetInCU: 0x1E5, offset: 0xA7B27, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x48, symBinAddr: 0x40E8, symSize: 0x10 }
+ - { offsetInCU: 0x21B, offset: 0xA7B5D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0x58, symBinAddr: 0x40F8, symSize: 0x10 }
+ - { offsetInCU: 0x23B, offset: 0xA7B7D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0x58, symBinAddr: 0x40F8, symSize: 0x10 }
+ - { offsetInCU: 0x274, offset: 0xA7BB6, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x68, symBinAddr: 0x4108, symSize: 0x10 }
+ - { offsetInCU: 0x294, offset: 0xA7BD6, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x68, symBinAddr: 0x4108, symSize: 0x10 }
+ - { offsetInCU: 0x2CA, offset: 0xA7C0C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x78, symBinAddr: 0x4118, symSize: 0x10 }
+ - { offsetInCU: 0x2EA, offset: 0xA7C2C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x78, symBinAddr: 0x4118, symSize: 0x10 }
+ - { offsetInCU: 0x323, offset: 0xA7C65, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x88, symBinAddr: 0x4128, symSize: 0x10 }
+ - { offsetInCU: 0x343, offset: 0xA7C85, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x88, symBinAddr: 0x4128, symSize: 0x10 }
+ - { offsetInCU: 0x379, offset: 0xA7CBB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x98, symBinAddr: 0x4138, symSize: 0x10 }
+ - { offsetInCU: 0x399, offset: 0xA7CDB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x98, symBinAddr: 0x4138, symSize: 0x10 }
+ - { offsetInCU: 0x3D2, offset: 0xA7D14, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0xA8, symBinAddr: 0x4148, symSize: 0x10 }
+ - { offsetInCU: 0x3F2, offset: 0xA7D34, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0xA8, symBinAddr: 0x4148, symSize: 0x10 }
+ - { offsetInCU: 0x428, offset: 0xA7D6A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0xB8, symBinAddr: 0x4158, symSize: 0x10 }
+ - { offsetInCU: 0x448, offset: 0xA7D8A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0xB8, symBinAddr: 0x4158, symSize: 0x10 }
+ - { offsetInCU: 0x481, offset: 0xA7DC3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvgTo', symObjAddr: 0xC8, symBinAddr: 0x4168, symSize: 0x44 }
+ - { offsetInCU: 0x4EF, offset: 0xA7E31, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvsTo', symObjAddr: 0x150, symBinAddr: 0x41F0, symSize: 0x64 }
+ - { offsetInCU: 0x5E3, offset: 0xA7F25, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11deviceScaleSfyFTo', symObjAddr: 0x720, symBinAddr: 0x47C0, symSize: 0xB8 }
+ - { offsetInCU: 0x6D4, offset: 0xA8016, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFTo', symObjAddr: 0x10B8, symBinAddr: 0x5158, symSize: 0x28 }
+ - { offsetInCU: 0x706, offset: 0xA8048, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyFTo', symObjAddr: 0x1334, symBinAddr: 0x53D4, symSize: 0x28 }
+ - { offsetInCU: 0x738, offset: 0xA807A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14layoutSubviewsyyFTo', symObjAddr: 0x1360, symBinAddr: 0x53FC, symSize: 0x28 }
+ - { offsetInCU: 0x780, offset: 0xA80C2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1388, symBinAddr: 0x5424, symSize: 0x10 }
+ - { offsetInCU: 0x7A0, offset: 0xA80E2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1388, symBinAddr: 0x5424, symSize: 0x10 }
+ - { offsetInCU: 0x7F3, offset: 0xA8135, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x17B4, symBinAddr: 0x5850, symSize: 0x20 }
+ - { offsetInCU: 0x82A, offset: 0xA816C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x1A4C, symBinAddr: 0x5AE8, symSize: 0x28 }
+ - { offsetInCU: 0x861, offset: 0xA81A3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVFTo', symObjAddr: 0x1C24, symBinAddr: 0x5CC0, symSize: 0x58 }
+ - { offsetInCU: 0x893, offset: 0xA81D5, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyFTo', symObjAddr: 0x1DE4, symBinAddr: 0x5E80, symSize: 0x34 }
+ - { offsetInCU: 0x8C5, offset: 0xA8207, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyFTo', symObjAddr: 0x1E6C, symBinAddr: 0x5F08, symSize: 0x34 }
+ - { offsetInCU: 0x8F8, offset: 0xA823A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTK', symObjAddr: 0x214, symBinAddr: 0x42B4, symSize: 0x50 }
+ - { offsetInCU: 0x930, offset: 0xA8272, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTk', symObjAddr: 0x264, symBinAddr: 0x4304, symSize: 0x64 }
+ - { offsetInCU: 0x9C6, offset: 0xA8308, size: 0x8, addend: 0x0, symName: '_$sIeg_IeyB_TR', symObjAddr: 0x108C, symBinAddr: 0x512C, symSize: 0x2C }
+ - { offsetInCU: 0xA03, offset: 0xA8345, size: 0x8, addend: 0x0, symName: '_$sSo17OS_dispatch_queueCMa', symObjAddr: 0x16D8, symBinAddr: 0x5774, symSize: 0x3C }
+ - { offsetInCU: 0xA17, offset: 0xA8359, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x1714, symBinAddr: 0x57B0, symSize: 0x40 }
+ - { offsetInCU: 0xA2B, offset: 0xA836D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCMa', symObjAddr: 0x1794, symBinAddr: 0x5830, symSize: 0x20 }
+ - { offsetInCU: 0xA4F, offset: 0xA8391, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfETo', symObjAddr: 0x1ED0, symBinAddr: 0x5F6C, symSize: 0x70 }
+ - { offsetInCU: 0xA7E, offset: 0xA83C0, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x2094, symBinAddr: 0x6130, symSize: 0xC }
+ - { offsetInCU: 0xA92, offset: 0xA83D4, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x20A0, symBinAddr: 0x613C, symSize: 0x4 }
+ - { offsetInCU: 0xAA6, offset: 0xA83E8, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x20A4, symBinAddr: 0x6140, symSize: 0x20 }
+ - { offsetInCU: 0xABA, offset: 0xA83FC, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x20C4, symBinAddr: 0x6160, symSize: 0x28 }
+ - { offsetInCU: 0xACE, offset: 0xA8410, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_TA', symObjAddr: 0x2168, symBinAddr: 0x6204, symSize: 0x8 }
+ - { offsetInCU: 0xAE2, offset: 0xA8424, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x2170, symBinAddr: 0x620C, symSize: 0x10 }
+ - { offsetInCU: 0xAF6, offset: 0xA8438, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x2180, symBinAddr: 0x621C, symSize: 0x8 }
+ - { offsetInCU: 0xF09, offset: 0xA884B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvg', symObjAddr: 0x10C, symBinAddr: 0x41AC, symSize: 0x44 }
+ - { offsetInCU: 0xF5C, offset: 0xA889E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvs', symObjAddr: 0x1B4, symBinAddr: 0x4254, symSize: 0x60 }
+ - { offsetInCU: 0xFCC, offset: 0xA890E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM', symObjAddr: 0x2C8, symBinAddr: 0x4368, symSize: 0x48 }
+ - { offsetInCU: 0xFF1, offset: 0xA8933, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM.resume.0', symObjAddr: 0x310, symBinAddr: 0x43B0, symSize: 0x3C }
+ - { offsetInCU: 0x104D, offset: 0xA898F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC3srcSSSgvM', symObjAddr: 0x394, symBinAddr: 0x4434, symSize: 0x48 }
+ - { offsetInCU: 0x1072, offset: 0xA89B4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7srcPathSSSgvM', symObjAddr: 0x6A4, symBinAddr: 0x4744, symSize: 0x48 }
+ - { offsetInCU: 0x120F, offset: 0xA8B51, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyF', symObjAddr: 0x7D8, symBinAddr: 0x4878, symSize: 0x3D4 }
+ - { offsetInCU: 0x1523, offset: 0xA8E65, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_', symObjAddr: 0xBAC, symBinAddr: 0x4C4C, symSize: 0x4E0 }
+ - { offsetInCU: 0x17F6, offset: 0xA9138, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyF', symObjAddr: 0x10E0, symBinAddr: 0x5180, symSize: 0x254 }
+ - { offsetInCU: 0x1B6B, offset: 0xA94AD, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfC', symObjAddr: 0x1398, symBinAddr: 0x5434, symSize: 0x50 }
+ - { offsetInCU: 0x1B7F, offset: 0xA94C1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc', symObjAddr: 0x13E8, symBinAddr: 0x5484, symSize: 0x2F0 }
+ - { offsetInCU: 0x1BFB, offset: 0xA953D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x17D4, symBinAddr: 0x5870, symSize: 0x278 }
+ - { offsetInCU: 0x1CAA, offset: 0xA95EC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVF', symObjAddr: 0x1A74, symBinAddr: 0x5B10, symSize: 0x1B0 }
+ - { offsetInCU: 0x1EB1, offset: 0xA97F3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF', symObjAddr: 0x1C7C, symBinAddr: 0x5D18, symSize: 0x168 }
+ - { offsetInCU: 0x2095, offset: 0xA99D7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF', symObjAddr: 0x1E18, symBinAddr: 0x5EB4, symSize: 0x54 }
+ - { offsetInCU: 0x2142, offset: 0xA9A84, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfD', symObjAddr: 0x1EA0, symBinAddr: 0x5F3C, symSize: 0x30 }
+...
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/CanvasSVG b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/CanvasSVG
new file mode 100755
index 000000000..1b89f0fd8
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/CanvasSVG differ
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Headers/CanvasSVG.h b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Headers/CanvasSVG.h
new file mode 100644
index 000000000..84a49e7a3
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Headers/CanvasSVG.h
@@ -0,0 +1,17 @@
+//
+// CanvasSVG.h
+// CanvasSVG
+//
+// Created by Osei Fortune on 18/03/2024.
+//
+#import
+#import
+#import
+//! Project version number for CanvasSVG.
+FOUNDATION_EXPORT double CanvasSVGVersionNumber;
+
+//! Project version string for CanvasSVG.
+FOUNDATION_EXPORT const unsigned char CanvasSVGVersionString[];
+
+// In this header, you should import all the public headers of your framework using statements like #import
+
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Headers/CanvasSVGHelper.h b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Headers/CanvasSVGHelper.h
new file mode 100644
index 000000000..ba20793e3
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Headers/CanvasSVGHelper.h
@@ -0,0 +1,18 @@
+//
+// CanvasSVGHelper.h
+// CanvasSVG
+//
+// Created by Osei Fortune on 18/03/2024.
+//
+
+#ifndef CanvasSVGHelper_h
+#define CanvasSVGHelper_h
+#import
+#import
+
+@interface CanvasSVGHelper : NSObject
++(void) drawFromString:(uint8_t*)data size:(uintptr_t)size width:(float) width height:(float)height svg:(NSString*) svg;
++(void) drawFromPath:(uint8_t*)data size:(uintptr_t)size width:(float) width height:(float)height path:(NSString*) path;
+@end
+
+#endif /* CanvasSVGHelper_h */
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Headers/canvas_svg.h b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Headers/canvas_svg.h
new file mode 100644
index 000000000..1401dc1d4
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Headers/canvas_svg.h
@@ -0,0 +1,27 @@
+#ifndef CANVAS_SVG_IOS_H
+#define CANVAS_SVG_IOS_H
+
+/* Warning, this file is autogenerated by cbindgen. Don't modify this manually. */
+
+#include
+#include
+#include
+#include
+
+#if defined(TARGET_OS_IOS)
+void canvas_native_svg_draw_from_string(uint8_t *data,
+ uintptr_t size,
+ float width,
+ float height,
+ const char *svg);
+#endif
+
+#if defined(TARGET_OS_IOS)
+void canvas_native_svg_draw_from_path(uint8_t *data,
+ uintptr_t size,
+ float width,
+ float height,
+ const char *path);
+#endif
+
+#endif /* CANVAS_SVG_IOS_H */
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Info.plist b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Info.plist
new file mode 100644
index 000000000..9dca3c2dc
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Info.plist differ
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo
new file mode 100644
index 000000000..5f4db7102
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo differ
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.abi.json b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.abi.json
new file mode 100644
index 000000000..a67745d83
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.abi.json
@@ -0,0 +1,645 @@
+{
+ "ABIRoot": {
+ "kind": "Root",
+ "name": "TopLevel",
+ "printedName": "TopLevel",
+ "children": [
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "UIKit",
+ "printedName": "UIKit",
+ "declKind": "Import",
+ "moduleName": "CanvasSVG"
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "NSCSVG",
+ "printedName": "NSCSVG",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "autoScale",
+ "printedName": "autoScale",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(py)autoScale",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvp",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)autoScale",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvg",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)setAutoScale:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvs",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:9CanvasSVG6NSCSVGC9autoScaleSbvM",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvM",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "src",
+ "printedName": "src",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(py)src",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvp",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)src",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvg",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)setSrc:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvs",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:9CanvasSVG6NSCSVGC3srcSSSgvM",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvM",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "srcPath",
+ "printedName": "srcPath",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(py)srcPath",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvp",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)srcPath",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvg",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)setSrcPath:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvs",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:9CanvasSVG6NSCSVGC7srcPathSSSgvM",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvM",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "layoutSubviews",
+ "printedName": "layoutSubviews()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)layoutSubviews",
+ "mangledName": "$s9CanvasSVG6NSCSVGC14layoutSubviewsyyF",
+ "moduleName": "CanvasSVG",
+ "overriding": true,
+ "objc_name": "layoutSubviews",
+ "declAttributes": [
+ "Dynamic",
+ "ObjC",
+ "Custom",
+ "Override",
+ "AccessControl"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(frame:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSCSVG",
+ "printedName": "CanvasSVG.NSCSVG",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "CGRect",
+ "printedName": "CoreFoundation.CGRect",
+ "usr": "c:@S@CGRect"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)initWithFrame:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc",
+ "moduleName": "CanvasSVG",
+ "overriding": true,
+ "objc_name": "initWithFrame:",
+ "declAttributes": [
+ "Dynamic",
+ "ObjC",
+ "Custom",
+ "Override",
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "draw",
+ "printedName": "draw(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "CGRect",
+ "printedName": "CoreFoundation.CGRect",
+ "usr": "c:@S@CGRect"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)drawRect:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVF",
+ "moduleName": "CanvasSVG",
+ "overriding": true,
+ "objc_name": "drawRect:",
+ "declAttributes": [
+ "Dynamic",
+ "ObjC",
+ "Custom",
+ "Override",
+ "AccessControl"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "toImage",
+ "printedName": "toImage()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "UIKit.UIImage?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UIImage",
+ "printedName": "UIKit.UIImage",
+ "usr": "c:objc(cs)UIImage"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)toImage",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "toData",
+ "printedName": "toData()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Foundation.NSData?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSData",
+ "printedName": "Foundation.NSData",
+ "usr": "c:objc(cs)NSData"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)toData",
+ "mangledName": "$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG",
+ "mangledName": "$s9CanvasSVG6NSCSVGC",
+ "moduleName": "CanvasSVG",
+ "objc_name": "NSCSVG",
+ "declAttributes": [
+ "Custom",
+ "AccessControl",
+ "ObjC",
+ "ObjCMembers"
+ ],
+ "superclassUsr": "c:objc(cs)UIView",
+ "hasMissingDesignatedInitializers": true,
+ "inheritsConvenienceInitializers": true,
+ "superclassNames": [
+ "UIKit.UIView",
+ "UIKit.UIResponder",
+ "ObjectiveC.NSObject"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CVarArg",
+ "printedName": "CVarArg",
+ "usr": "s:s7CVarArgP",
+ "mangledName": "$ss7CVarArgP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_KeyValueCodingAndObservingPublishing",
+ "printedName": "_KeyValueCodingAndObservingPublishing",
+ "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP",
+ "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_KeyValueCodingAndObserving",
+ "printedName": "_KeyValueCodingAndObserving",
+ "usr": "s:10Foundation27_KeyValueCodingAndObservingP",
+ "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomDebugStringConvertible",
+ "printedName": "CustomDebugStringConvertible",
+ "usr": "s:s28CustomDebugStringConvertibleP",
+ "mangledName": "$ss28CustomDebugStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "UITraitChangeObservable",
+ "printedName": "UITraitChangeObservable",
+ "usr": "s:5UIKit23UITraitChangeObservableP",
+ "mangledName": "$s5UIKit23UITraitChangeObservableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "__DefaultCustomPlaygroundQuickLookable",
+ "printedName": "__DefaultCustomPlaygroundQuickLookable",
+ "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP",
+ "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP"
+ }
+ ]
+ }
+ ],
+ "json_format_version": 8
+ },
+ "ConstValues": [
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "IntegerLiteral",
+ "offset": 278,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 305,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 333,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 354,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 437,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 387,
+ "length": 4,
+ "value": "true"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.private.swiftinterface b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.private.swiftinterface
new file mode 100644
index 000000000..f735b6033
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.private.swiftinterface
@@ -0,0 +1,30 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
+// swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name CanvasSVG
+@_exported import CanvasSVG
+import Foundation
+import Swift
+import UIKit
+import _Concurrency
+import _StringProcessing
+import _SwiftConcurrencyShims
+@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objcMembers @objc(NSCSVG) @_Concurrency.MainActor(unsafe) public class NSCSVG : UIKit.UIView {
+ @objc @_Concurrency.MainActor(unsafe) public var autoScale: Swift.Bool {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var src: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var srcPath: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func layoutSubviews()
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect)
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func draw(_ rect: CoreFoundation.CGRect)
+ @objc @_Concurrency.MainActor(unsafe) public func toImage() -> UIKit.UIImage?
+ @objc @_Concurrency.MainActor(unsafe) public func toData() -> Foundation.NSData?
+ @objc deinit
+}
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.swiftdoc b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.swiftdoc
new file mode 100644
index 000000000..ef735f419
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.swiftdoc differ
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.swiftinterface b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.swiftinterface
new file mode 100644
index 000000000..f735b6033
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.swiftinterface
@@ -0,0 +1,30 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
+// swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name CanvasSVG
+@_exported import CanvasSVG
+import Foundation
+import Swift
+import UIKit
+import _Concurrency
+import _StringProcessing
+import _SwiftConcurrencyShims
+@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objcMembers @objc(NSCSVG) @_Concurrency.MainActor(unsafe) public class NSCSVG : UIKit.UIView {
+ @objc @_Concurrency.MainActor(unsafe) public var autoScale: Swift.Bool {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var src: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var srcPath: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func layoutSubviews()
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect)
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func draw(_ rect: CoreFoundation.CGRect)
+ @objc @_Concurrency.MainActor(unsafe) public func toImage() -> UIKit.UIImage?
+ @objc @_Concurrency.MainActor(unsafe) public func toData() -> Foundation.NSData?
+ @objc deinit
+}
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.swiftmodule b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.swiftmodule
new file mode 100644
index 000000000..401c53ed5
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.swiftmodule differ
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Modules/module.modulemap b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Modules/module.modulemap
new file mode 100644
index 000000000..6b85fdf35
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module CanvasSVG {
+ umbrella header "CanvasSVG.h"
+ export *
+
+ module * { export * }
+}
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Info.plist b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Info.plist
new file mode 100644
index 000000000..265eaa603
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Info.plist
@@ -0,0 +1,20 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ English
+ CFBundleIdentifier
+ com.apple.xcode.dsym.org.nativescript.canvas.svg.CanvasSVG
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundlePackageType
+ dSYM
+ CFBundleSignature
+ ????
+ CFBundleShortVersionString
+ 1.0
+ CFBundleVersion
+ 1
+
+
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG
new file mode 100644
index 000000000..ba13fbb6b
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG differ
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml
new file mode 100644
index 000000000..5592485ac
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml
@@ -0,0 +1,78 @@
+---
+triple: 'arm64-apple-darwin'
+binary-path: '/Users/triniwiz/Documents/GitHub/canvas/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/CanvasSVG'
+relocations:
+ - { offsetInCU: 0x34, offset: 0xA80D2, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0x75A0, symSize: 0x0 }
+ - { offsetInCU: 0x69, offset: 0xA8107, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x75D0, symSize: 0x0 }
+ - { offsetInCU: 0x27, offset: 0xA8144, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x3D8C, symSize: 0x50 }
+ - { offsetInCU: 0x66, offset: 0xA8183, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x3D8C, symSize: 0x50 }
+ - { offsetInCU: 0x14F, offset: 0xA826C, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromPath:size:width:height:path:]', symObjAddr: 0x50, symBinAddr: 0x3DDC, symSize: 0x50 }
+ - { offsetInCU: 0x65, offset: 0xA839D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x3E2C, symSize: 0x10 }
+ - { offsetInCU: 0x85, offset: 0xA83BD, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x3E2C, symSize: 0x10 }
+ - { offsetInCU: 0xBB, offset: 0xA83F3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x10, symBinAddr: 0x3E3C, symSize: 0x10 }
+ - { offsetInCU: 0xDB, offset: 0xA8413, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x10, symBinAddr: 0x3E3C, symSize: 0x10 }
+ - { offsetInCU: 0x114, offset: 0xA844C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x20, symBinAddr: 0x3E4C, symSize: 0x14 }
+ - { offsetInCU: 0x134, offset: 0xA846C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x20, symBinAddr: 0x3E4C, symSize: 0x14 }
+ - { offsetInCU: 0x16A, offset: 0xA84A2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x34, symBinAddr: 0x3E60, symSize: 0x14 }
+ - { offsetInCU: 0x18A, offset: 0xA84C2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x34, symBinAddr: 0x3E60, symSize: 0x14 }
+ - { offsetInCU: 0x1C5, offset: 0xA84FD, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x48, symBinAddr: 0x3E74, symSize: 0x10 }
+ - { offsetInCU: 0x1E5, offset: 0xA851D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x48, symBinAddr: 0x3E74, symSize: 0x10 }
+ - { offsetInCU: 0x21B, offset: 0xA8553, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0x58, symBinAddr: 0x3E84, symSize: 0x10 }
+ - { offsetInCU: 0x23B, offset: 0xA8573, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0x58, symBinAddr: 0x3E84, symSize: 0x10 }
+ - { offsetInCU: 0x274, offset: 0xA85AC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x68, symBinAddr: 0x3E94, symSize: 0x10 }
+ - { offsetInCU: 0x294, offset: 0xA85CC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x68, symBinAddr: 0x3E94, symSize: 0x10 }
+ - { offsetInCU: 0x2CA, offset: 0xA8602, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x78, symBinAddr: 0x3EA4, symSize: 0x10 }
+ - { offsetInCU: 0x2EA, offset: 0xA8622, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x78, symBinAddr: 0x3EA4, symSize: 0x10 }
+ - { offsetInCU: 0x323, offset: 0xA865B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x88, symBinAddr: 0x3EB4, symSize: 0x10 }
+ - { offsetInCU: 0x343, offset: 0xA867B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x88, symBinAddr: 0x3EB4, symSize: 0x10 }
+ - { offsetInCU: 0x379, offset: 0xA86B1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x98, symBinAddr: 0x3EC4, symSize: 0x10 }
+ - { offsetInCU: 0x399, offset: 0xA86D1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x98, symBinAddr: 0x3EC4, symSize: 0x10 }
+ - { offsetInCU: 0x3D2, offset: 0xA870A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0xA8, symBinAddr: 0x3ED4, symSize: 0x10 }
+ - { offsetInCU: 0x3F2, offset: 0xA872A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0xA8, symBinAddr: 0x3ED4, symSize: 0x10 }
+ - { offsetInCU: 0x428, offset: 0xA8760, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0xB8, symBinAddr: 0x3EE4, symSize: 0x10 }
+ - { offsetInCU: 0x448, offset: 0xA8780, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0xB8, symBinAddr: 0x3EE4, symSize: 0x10 }
+ - { offsetInCU: 0x481, offset: 0xA87B9, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvgTo', symObjAddr: 0xC8, symBinAddr: 0x3EF4, symSize: 0x44 }
+ - { offsetInCU: 0x4EF, offset: 0xA8827, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvsTo', symObjAddr: 0x150, symBinAddr: 0x3F7C, symSize: 0x64 }
+ - { offsetInCU: 0x5E3, offset: 0xA891B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11deviceScaleSfyFTo', symObjAddr: 0x720, symBinAddr: 0x454C, symSize: 0xB8 }
+ - { offsetInCU: 0x6D4, offset: 0xA8A0C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFTo', symObjAddr: 0x1090, symBinAddr: 0x4EBC, symSize: 0x28 }
+ - { offsetInCU: 0x706, offset: 0xA8A3E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyFTo', symObjAddr: 0x130C, symBinAddr: 0x5138, symSize: 0x28 }
+ - { offsetInCU: 0x738, offset: 0xA8A70, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14layoutSubviewsyyFTo', symObjAddr: 0x1338, symBinAddr: 0x5160, symSize: 0x28 }
+ - { offsetInCU: 0x780, offset: 0xA8AB8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1360, symBinAddr: 0x5188, symSize: 0x10 }
+ - { offsetInCU: 0x7A0, offset: 0xA8AD8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1360, symBinAddr: 0x5188, symSize: 0x10 }
+ - { offsetInCU: 0x7F3, offset: 0xA8B2B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x1784, symBinAddr: 0x55AC, symSize: 0x20 }
+ - { offsetInCU: 0x82A, offset: 0xA8B62, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x1A10, symBinAddr: 0x5838, symSize: 0x28 }
+ - { offsetInCU: 0x861, offset: 0xA8B99, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVFTo', symObjAddr: 0x1BE8, symBinAddr: 0x5A10, symSize: 0x58 }
+ - { offsetInCU: 0x893, offset: 0xA8BCB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyFTo', symObjAddr: 0x1DA8, symBinAddr: 0x5BD0, symSize: 0x34 }
+ - { offsetInCU: 0x8C5, offset: 0xA8BFD, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyFTo', symObjAddr: 0x1E30, symBinAddr: 0x5C58, symSize: 0x34 }
+ - { offsetInCU: 0x8F8, offset: 0xA8C30, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTK', symObjAddr: 0x214, symBinAddr: 0x4040, symSize: 0x50 }
+ - { offsetInCU: 0x930, offset: 0xA8C68, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTk', symObjAddr: 0x264, symBinAddr: 0x4090, symSize: 0x64 }
+ - { offsetInCU: 0x9C6, offset: 0xA8CFE, size: 0x8, addend: 0x0, symName: '_$sIeg_IeyB_TR', symObjAddr: 0x1064, symBinAddr: 0x4E90, symSize: 0x2C }
+ - { offsetInCU: 0xA03, offset: 0xA8D3B, size: 0x8, addend: 0x0, symName: '_$sSo17OS_dispatch_queueCMa', symObjAddr: 0x16A4, symBinAddr: 0x54CC, symSize: 0x3C }
+ - { offsetInCU: 0xA17, offset: 0xA8D4F, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x16E0, symBinAddr: 0x5508, symSize: 0x40 }
+ - { offsetInCU: 0xA2B, offset: 0xA8D63, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledNameAbstract, symObjAddr: 0x1720, symBinAddr: 0x5548, symSize: 0x44 }
+ - { offsetInCU: 0xA3F, offset: 0xA8D77, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCMa', symObjAddr: 0x1764, symBinAddr: 0x558C, symSize: 0x20 }
+ - { offsetInCU: 0xA63, offset: 0xA8D9B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfETo', symObjAddr: 0x1E94, symBinAddr: 0x5CBC, symSize: 0x70 }
+ - { offsetInCU: 0xA92, offset: 0xA8DCA, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x2058, symBinAddr: 0x5E80, symSize: 0xC }
+ - { offsetInCU: 0xAA6, offset: 0xA8DDE, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x2064, symBinAddr: 0x5E8C, symSize: 0x4 }
+ - { offsetInCU: 0xABA, offset: 0xA8DF2, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x2068, symBinAddr: 0x5E90, symSize: 0x20 }
+ - { offsetInCU: 0xACE, offset: 0xA8E06, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x2088, symBinAddr: 0x5EB0, symSize: 0x28 }
+ - { offsetInCU: 0xAE2, offset: 0xA8E1A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_TA', symObjAddr: 0x212C, symBinAddr: 0x5F54, symSize: 0x8 }
+ - { offsetInCU: 0xAF6, offset: 0xA8E2E, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x2134, symBinAddr: 0x5F5C, symSize: 0x10 }
+ - { offsetInCU: 0xB0A, offset: 0xA8E42, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x2144, symBinAddr: 0x5F6C, symSize: 0x8 }
+ - { offsetInCU: 0xF1D, offset: 0xA9255, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvg', symObjAddr: 0x10C, symBinAddr: 0x3F38, symSize: 0x44 }
+ - { offsetInCU: 0xF70, offset: 0xA92A8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvs', symObjAddr: 0x1B4, symBinAddr: 0x3FE0, symSize: 0x60 }
+ - { offsetInCU: 0xFE0, offset: 0xA9318, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM', symObjAddr: 0x2C8, symBinAddr: 0x40F4, symSize: 0x48 }
+ - { offsetInCU: 0x1005, offset: 0xA933D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM.resume.0', symObjAddr: 0x310, symBinAddr: 0x413C, symSize: 0x3C }
+ - { offsetInCU: 0x1061, offset: 0xA9399, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC3srcSSSgvM', symObjAddr: 0x394, symBinAddr: 0x41C0, symSize: 0x48 }
+ - { offsetInCU: 0x1086, offset: 0xA93BE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7srcPathSSSgvM', symObjAddr: 0x6A4, symBinAddr: 0x44D0, symSize: 0x48 }
+ - { offsetInCU: 0x1223, offset: 0xA955B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyF', symObjAddr: 0x7D8, symBinAddr: 0x4604, symSize: 0x3C4 }
+ - { offsetInCU: 0x153F, offset: 0xA9877, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_', symObjAddr: 0xB9C, symBinAddr: 0x49C8, symSize: 0x4C8 }
+ - { offsetInCU: 0x1822, offset: 0xA9B5A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyF', symObjAddr: 0x10B8, symBinAddr: 0x4EE4, symSize: 0x254 }
+ - { offsetInCU: 0x1B97, offset: 0xA9ECF, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfC', symObjAddr: 0x1370, symBinAddr: 0x5198, symSize: 0x50 }
+ - { offsetInCU: 0x1BAB, offset: 0xA9EE3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc', symObjAddr: 0x13C0, symBinAddr: 0x51E8, symSize: 0x2E4 }
+ - { offsetInCU: 0x1C2F, offset: 0xA9F67, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x17A4, symBinAddr: 0x55CC, symSize: 0x26C }
+ - { offsetInCU: 0x1CE6, offset: 0xAA01E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVF', symObjAddr: 0x1A38, symBinAddr: 0x5860, symSize: 0x1B0 }
+ - { offsetInCU: 0x1EED, offset: 0xAA225, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF', symObjAddr: 0x1C40, symBinAddr: 0x5A68, symSize: 0x168 }
+ - { offsetInCU: 0x20D1, offset: 0xAA409, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF', symObjAddr: 0x1DDC, symBinAddr: 0x5C04, symSize: 0x54 }
+ - { offsetInCU: 0x217E, offset: 0xAA4B6, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfD', symObjAddr: 0x1E64, symBinAddr: 0x5C8C, symSize: 0x30 }
+...
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasSVG.yml b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasSVG.yml
new file mode 100644
index 000000000..cb0999943
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasSVG.yml
@@ -0,0 +1,64 @@
+---
+triple: 'x86_64-apple-darwin'
+binary-path: '/Users/triniwiz/Documents/GitHub/canvas/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/CanvasSVG'
+relocations:
+ - { offsetInCU: 0x34, offset: 0xAAD6C, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0x6B50, symSize: 0x0 }
+ - { offsetInCU: 0x69, offset: 0xAADA1, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x6B80, symSize: 0x0 }
+ - { offsetInCU: 0x27, offset: 0xAADDE, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x2250, symSize: 0x53 }
+ - { offsetInCU: 0x66, offset: 0xAAE1D, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x2250, symSize: 0x53 }
+ - { offsetInCU: 0x16D, offset: 0xAAF24, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromPath:size:width:height:path:]', symObjAddr: 0x53, symBinAddr: 0x22A3, symSize: 0x53 }
+ - { offsetInCU: 0x65, offset: 0xAB073, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x2300, symSize: 0x20 }
+ - { offsetInCU: 0xBB, offset: 0xAB0C9, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x20, symBinAddr: 0x2320, symSize: 0x20 }
+ - { offsetInCU: 0x114, offset: 0xAB122, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x40, symBinAddr: 0x2340, symSize: 0x20 }
+ - { offsetInCU: 0x16A, offset: 0xAB178, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x60, symBinAddr: 0x2360, symSize: 0x20 }
+ - { offsetInCU: 0x1C5, offset: 0xAB1D3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x80, symBinAddr: 0x2380, symSize: 0x20 }
+ - { offsetInCU: 0x21B, offset: 0xAB229, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0xA0, symBinAddr: 0x23A0, symSize: 0x20 }
+ - { offsetInCU: 0x274, offset: 0xAB282, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0xC0, symBinAddr: 0x23C0, symSize: 0x20 }
+ - { offsetInCU: 0x2CA, offset: 0xAB2D8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0xE0, symBinAddr: 0x23E0, symSize: 0x10 }
+ - { offsetInCU: 0x323, offset: 0xAB331, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0xF0, symBinAddr: 0x23F0, symSize: 0x20 }
+ - { offsetInCU: 0x379, offset: 0xAB387, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x110, symBinAddr: 0x2410, symSize: 0x10 }
+ - { offsetInCU: 0x3D2, offset: 0xAB3E0, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0x120, symBinAddr: 0x2420, symSize: 0x20 }
+ - { offsetInCU: 0x428, offset: 0xAB436, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0x140, symBinAddr: 0x2440, symSize: 0x10 }
+ - { offsetInCU: 0x481, offset: 0xAB48F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvgTo', symObjAddr: 0x150, symBinAddr: 0x2450, symSize: 0x40 }
+ - { offsetInCU: 0x4ED, offset: 0xAB4FB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvsTo', symObjAddr: 0x1C0, symBinAddr: 0x24C0, symSize: 0x50 }
+ - { offsetInCU: 0x5E1, offset: 0xAB5EF, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11deviceScaleSfyFTo', symObjAddr: 0x800, symBinAddr: 0x2B00, symSize: 0xB0 }
+ - { offsetInCU: 0x6D2, offset: 0xAB6E0, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFTo', symObjAddr: 0x10B0, symBinAddr: 0x33B0, symSize: 0x30 }
+ - { offsetInCU: 0x704, offset: 0xAB712, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyFTo', symObjAddr: 0x1390, symBinAddr: 0x3690, symSize: 0x30 }
+ - { offsetInCU: 0x736, offset: 0xAB744, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14layoutSubviewsyyFTo', symObjAddr: 0x13D0, symBinAddr: 0x36C0, symSize: 0x30 }
+ - { offsetInCU: 0x77E, offset: 0xAB78C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1400, symBinAddr: 0x36F0, symSize: 0x20 }
+ - { offsetInCU: 0x7F1, offset: 0xAB7FF, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x1880, symBinAddr: 0x3B70, symSize: 0x30 }
+ - { offsetInCU: 0x828, offset: 0xAB836, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x1B00, symBinAddr: 0x3DF0, symSize: 0x30 }
+ - { offsetInCU: 0x85F, offset: 0xAB86D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVFTo', symObjAddr: 0x1D20, symBinAddr: 0x4010, symSize: 0x70 }
+ - { offsetInCU: 0x891, offset: 0xAB89F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyFTo', symObjAddr: 0x1F00, symBinAddr: 0x41F0, symSize: 0x30 }
+ - { offsetInCU: 0x8C3, offset: 0xAB8D1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyFTo', symObjAddr: 0x1F80, symBinAddr: 0x4270, symSize: 0x30 }
+ - { offsetInCU: 0x8F6, offset: 0xAB904, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTK', symObjAddr: 0x260, symBinAddr: 0x2560, symSize: 0x40 }
+ - { offsetInCU: 0x92C, offset: 0xAB93A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTk', symObjAddr: 0x2A0, symBinAddr: 0x25A0, symSize: 0x50 }
+ - { offsetInCU: 0x9C2, offset: 0xAB9D0, size: 0x8, addend: 0x0, symName: '_$sIeg_IeyB_TR', symObjAddr: 0x1080, symBinAddr: 0x3380, symSize: 0x30 }
+ - { offsetInCU: 0x9FF, offset: 0xABA0D, size: 0x8, addend: 0x0, symName: '_$sSo17OS_dispatch_queueCMa', symObjAddr: 0x17B0, symBinAddr: 0x3AA0, symSize: 0x30 }
+ - { offsetInCU: 0xA13, offset: 0xABA21, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x17E0, symBinAddr: 0x3AD0, symSize: 0x40 }
+ - { offsetInCU: 0xA27, offset: 0xABA35, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCMa', symObjAddr: 0x1860, symBinAddr: 0x3B50, symSize: 0x20 }
+ - { offsetInCU: 0xA56, offset: 0xABA64, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfETo', symObjAddr: 0x1FE0, symBinAddr: 0x42D0, symSize: 0x70 }
+ - { offsetInCU: 0xA85, offset: 0xABA93, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x21F0, symBinAddr: 0x44E0, symSize: 0x10 }
+ - { offsetInCU: 0xA99, offset: 0xABAA7, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x2200, symBinAddr: 0x44F0, symSize: 0x10 }
+ - { offsetInCU: 0xAAD, offset: 0xABABB, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x2210, symBinAddr: 0x4500, symSize: 0x20 }
+ - { offsetInCU: 0xAC1, offset: 0xABACF, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x2230, symBinAddr: 0x4520, symSize: 0x30 }
+ - { offsetInCU: 0xAD5, offset: 0xABAE3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_TA', symObjAddr: 0x22D0, symBinAddr: 0x45C0, symSize: 0x10 }
+ - { offsetInCU: 0xAE9, offset: 0xABAF7, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x22E0, symBinAddr: 0x45D0, symSize: 0x20 }
+ - { offsetInCU: 0xAFD, offset: 0xABB0B, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x2300, symBinAddr: 0x45F0, symSize: 0x10 }
+ - { offsetInCU: 0xF10, offset: 0xABF1E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvg', symObjAddr: 0x190, symBinAddr: 0x2490, symSize: 0x30 }
+ - { offsetInCU: 0xF61, offset: 0xABF6F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvs', symObjAddr: 0x210, symBinAddr: 0x2510, symSize: 0x50 }
+ - { offsetInCU: 0xFD3, offset: 0xABFE1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM', symObjAddr: 0x2F0, symBinAddr: 0x25F0, symSize: 0x40 }
+ - { offsetInCU: 0xFF8, offset: 0xAC006, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM.resume.0', symObjAddr: 0x330, symBinAddr: 0x2630, symSize: 0x30 }
+ - { offsetInCU: 0x1067, offset: 0xAC075, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC3srcSSSgvM', symObjAddr: 0x420, symBinAddr: 0x2720, symSize: 0x40 }
+ - { offsetInCU: 0x108C, offset: 0xAC09A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7srcPathSSSgvM', symObjAddr: 0x780, symBinAddr: 0x2A80, symSize: 0x40 }
+ - { offsetInCU: 0x120B, offset: 0xAC219, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyF', symObjAddr: 0x8B0, symBinAddr: 0x2BB0, symSize: 0x3C0 }
+ - { offsetInCU: 0x155D, offset: 0xAC56B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_', symObjAddr: 0xC70, symBinAddr: 0x2F70, symSize: 0x410 }
+ - { offsetInCU: 0x1828, offset: 0xAC836, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyF', symObjAddr: 0x10E0, symBinAddr: 0x33E0, symSize: 0x2B0 }
+ - { offsetInCU: 0x1B65, offset: 0xACB73, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfC', symObjAddr: 0x1420, symBinAddr: 0x3710, symSize: 0x80 }
+ - { offsetInCU: 0x1B79, offset: 0xACB87, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc', symObjAddr: 0x14A0, symBinAddr: 0x3790, symSize: 0x310 }
+ - { offsetInCU: 0x1BF5, offset: 0xACC03, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x18B0, symBinAddr: 0x3BA0, symSize: 0x250 }
+ - { offsetInCU: 0x1CA4, offset: 0xACCB2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVF', symObjAddr: 0x1B30, symBinAddr: 0x3E20, symSize: 0x1F0 }
+ - { offsetInCU: 0x1EA9, offset: 0xACEB7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF', symObjAddr: 0x1D90, symBinAddr: 0x4080, symSize: 0x170 }
+ - { offsetInCU: 0x208B, offset: 0xAD099, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF', symObjAddr: 0x1F30, symBinAddr: 0x4220, symSize: 0x50 }
+ - { offsetInCU: 0x214A, offset: 0xAD158, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfD', symObjAddr: 0x1FB0, symBinAddr: 0x42A0, symSize: 0x30 }
+...
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/CanvasSVG b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/CanvasSVG
new file mode 100755
index 000000000..f9b5b3c7c
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/CanvasSVG differ
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Headers/CanvasSVG.h b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Headers/CanvasSVG.h
new file mode 100644
index 000000000..84a49e7a3
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Headers/CanvasSVG.h
@@ -0,0 +1,17 @@
+//
+// CanvasSVG.h
+// CanvasSVG
+//
+// Created by Osei Fortune on 18/03/2024.
+//
+#import
+#import
+#import
+//! Project version number for CanvasSVG.
+FOUNDATION_EXPORT double CanvasSVGVersionNumber;
+
+//! Project version string for CanvasSVG.
+FOUNDATION_EXPORT const unsigned char CanvasSVGVersionString[];
+
+// In this header, you should import all the public headers of your framework using statements like #import
+
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Headers/CanvasSVGHelper.h b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Headers/CanvasSVGHelper.h
new file mode 100644
index 000000000..ba20793e3
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Headers/CanvasSVGHelper.h
@@ -0,0 +1,18 @@
+//
+// CanvasSVGHelper.h
+// CanvasSVG
+//
+// Created by Osei Fortune on 18/03/2024.
+//
+
+#ifndef CanvasSVGHelper_h
+#define CanvasSVGHelper_h
+#import
+#import
+
+@interface CanvasSVGHelper : NSObject
++(void) drawFromString:(uint8_t*)data size:(uintptr_t)size width:(float) width height:(float)height svg:(NSString*) svg;
++(void) drawFromPath:(uint8_t*)data size:(uintptr_t)size width:(float) width height:(float)height path:(NSString*) path;
+@end
+
+#endif /* CanvasSVGHelper_h */
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Headers/canvas_svg.h b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Headers/canvas_svg.h
new file mode 100644
index 000000000..1401dc1d4
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Headers/canvas_svg.h
@@ -0,0 +1,27 @@
+#ifndef CANVAS_SVG_IOS_H
+#define CANVAS_SVG_IOS_H
+
+/* Warning, this file is autogenerated by cbindgen. Don't modify this manually. */
+
+#include
+#include
+#include
+#include
+
+#if defined(TARGET_OS_IOS)
+void canvas_native_svg_draw_from_string(uint8_t *data,
+ uintptr_t size,
+ float width,
+ float height,
+ const char *svg);
+#endif
+
+#if defined(TARGET_OS_IOS)
+void canvas_native_svg_draw_from_path(uint8_t *data,
+ uintptr_t size,
+ float width,
+ float height,
+ const char *path);
+#endif
+
+#endif /* CANVAS_SVG_IOS_H */
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Info.plist b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Info.plist
new file mode 100644
index 000000000..eafc18a2e
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Info.plist differ
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo
new file mode 100644
index 000000000..b2ba4b625
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo differ
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo
new file mode 100644
index 000000000..693b0f040
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo differ
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.abi.json b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.abi.json
new file mode 100644
index 000000000..a67745d83
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.abi.json
@@ -0,0 +1,645 @@
+{
+ "ABIRoot": {
+ "kind": "Root",
+ "name": "TopLevel",
+ "printedName": "TopLevel",
+ "children": [
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "UIKit",
+ "printedName": "UIKit",
+ "declKind": "Import",
+ "moduleName": "CanvasSVG"
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "NSCSVG",
+ "printedName": "NSCSVG",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "autoScale",
+ "printedName": "autoScale",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(py)autoScale",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvp",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)autoScale",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvg",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)setAutoScale:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvs",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:9CanvasSVG6NSCSVGC9autoScaleSbvM",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvM",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "src",
+ "printedName": "src",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(py)src",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvp",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)src",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvg",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)setSrc:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvs",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:9CanvasSVG6NSCSVGC3srcSSSgvM",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvM",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "srcPath",
+ "printedName": "srcPath",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(py)srcPath",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvp",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)srcPath",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvg",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)setSrcPath:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvs",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:9CanvasSVG6NSCSVGC7srcPathSSSgvM",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvM",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "layoutSubviews",
+ "printedName": "layoutSubviews()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)layoutSubviews",
+ "mangledName": "$s9CanvasSVG6NSCSVGC14layoutSubviewsyyF",
+ "moduleName": "CanvasSVG",
+ "overriding": true,
+ "objc_name": "layoutSubviews",
+ "declAttributes": [
+ "Dynamic",
+ "ObjC",
+ "Custom",
+ "Override",
+ "AccessControl"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(frame:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSCSVG",
+ "printedName": "CanvasSVG.NSCSVG",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "CGRect",
+ "printedName": "CoreFoundation.CGRect",
+ "usr": "c:@S@CGRect"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)initWithFrame:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc",
+ "moduleName": "CanvasSVG",
+ "overriding": true,
+ "objc_name": "initWithFrame:",
+ "declAttributes": [
+ "Dynamic",
+ "ObjC",
+ "Custom",
+ "Override",
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "draw",
+ "printedName": "draw(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "CGRect",
+ "printedName": "CoreFoundation.CGRect",
+ "usr": "c:@S@CGRect"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)drawRect:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVF",
+ "moduleName": "CanvasSVG",
+ "overriding": true,
+ "objc_name": "drawRect:",
+ "declAttributes": [
+ "Dynamic",
+ "ObjC",
+ "Custom",
+ "Override",
+ "AccessControl"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "toImage",
+ "printedName": "toImage()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "UIKit.UIImage?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UIImage",
+ "printedName": "UIKit.UIImage",
+ "usr": "c:objc(cs)UIImage"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)toImage",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "toData",
+ "printedName": "toData()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Foundation.NSData?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSData",
+ "printedName": "Foundation.NSData",
+ "usr": "c:objc(cs)NSData"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)toData",
+ "mangledName": "$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG",
+ "mangledName": "$s9CanvasSVG6NSCSVGC",
+ "moduleName": "CanvasSVG",
+ "objc_name": "NSCSVG",
+ "declAttributes": [
+ "Custom",
+ "AccessControl",
+ "ObjC",
+ "ObjCMembers"
+ ],
+ "superclassUsr": "c:objc(cs)UIView",
+ "hasMissingDesignatedInitializers": true,
+ "inheritsConvenienceInitializers": true,
+ "superclassNames": [
+ "UIKit.UIView",
+ "UIKit.UIResponder",
+ "ObjectiveC.NSObject"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CVarArg",
+ "printedName": "CVarArg",
+ "usr": "s:s7CVarArgP",
+ "mangledName": "$ss7CVarArgP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_KeyValueCodingAndObservingPublishing",
+ "printedName": "_KeyValueCodingAndObservingPublishing",
+ "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP",
+ "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_KeyValueCodingAndObserving",
+ "printedName": "_KeyValueCodingAndObserving",
+ "usr": "s:10Foundation27_KeyValueCodingAndObservingP",
+ "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomDebugStringConvertible",
+ "printedName": "CustomDebugStringConvertible",
+ "usr": "s:s28CustomDebugStringConvertibleP",
+ "mangledName": "$ss28CustomDebugStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "UITraitChangeObservable",
+ "printedName": "UITraitChangeObservable",
+ "usr": "s:5UIKit23UITraitChangeObservableP",
+ "mangledName": "$s5UIKit23UITraitChangeObservableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "__DefaultCustomPlaygroundQuickLookable",
+ "printedName": "__DefaultCustomPlaygroundQuickLookable",
+ "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP",
+ "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP"
+ }
+ ]
+ }
+ ],
+ "json_format_version": 8
+ },
+ "ConstValues": [
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "IntegerLiteral",
+ "offset": 278,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 305,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 333,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 354,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 437,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 387,
+ "length": 4,
+ "value": "true"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface
new file mode 100644
index 000000000..5c8af979f
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface
@@ -0,0 +1,30 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
+// swift-module-flags: -target arm64-apple-ios12.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name CanvasSVG
+@_exported import CanvasSVG
+import Foundation
+import Swift
+import UIKit
+import _Concurrency
+import _StringProcessing
+import _SwiftConcurrencyShims
+@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objcMembers @objc(NSCSVG) @_Concurrency.MainActor(unsafe) public class NSCSVG : UIKit.UIView {
+ @objc @_Concurrency.MainActor(unsafe) public var autoScale: Swift.Bool {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var src: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var srcPath: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func layoutSubviews()
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect)
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func draw(_ rect: CoreFoundation.CGRect)
+ @objc @_Concurrency.MainActor(unsafe) public func toImage() -> UIKit.UIImage?
+ @objc @_Concurrency.MainActor(unsafe) public func toData() -> Foundation.NSData?
+ @objc deinit
+}
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftdoc b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftdoc
new file mode 100644
index 000000000..dbbac0b85
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftdoc differ
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftinterface b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftinterface
new file mode 100644
index 000000000..5c8af979f
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftinterface
@@ -0,0 +1,30 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
+// swift-module-flags: -target arm64-apple-ios12.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name CanvasSVG
+@_exported import CanvasSVG
+import Foundation
+import Swift
+import UIKit
+import _Concurrency
+import _StringProcessing
+import _SwiftConcurrencyShims
+@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objcMembers @objc(NSCSVG) @_Concurrency.MainActor(unsafe) public class NSCSVG : UIKit.UIView {
+ @objc @_Concurrency.MainActor(unsafe) public var autoScale: Swift.Bool {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var src: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var srcPath: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func layoutSubviews()
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect)
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func draw(_ rect: CoreFoundation.CGRect)
+ @objc @_Concurrency.MainActor(unsafe) public func toImage() -> UIKit.UIImage?
+ @objc @_Concurrency.MainActor(unsafe) public func toData() -> Foundation.NSData?
+ @objc deinit
+}
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftmodule b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftmodule
new file mode 100644
index 000000000..876dc809f
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftmodule differ
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.abi.json b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.abi.json
new file mode 100644
index 000000000..a67745d83
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.abi.json
@@ -0,0 +1,645 @@
+{
+ "ABIRoot": {
+ "kind": "Root",
+ "name": "TopLevel",
+ "printedName": "TopLevel",
+ "children": [
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "UIKit",
+ "printedName": "UIKit",
+ "declKind": "Import",
+ "moduleName": "CanvasSVG"
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "NSCSVG",
+ "printedName": "NSCSVG",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "autoScale",
+ "printedName": "autoScale",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(py)autoScale",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvp",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)autoScale",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvg",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)setAutoScale:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvs",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:9CanvasSVG6NSCSVGC9autoScaleSbvM",
+ "mangledName": "$s9CanvasSVG6NSCSVGC9autoScaleSbvM",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "src",
+ "printedName": "src",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(py)src",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvp",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)src",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvg",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)setSrc:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvs",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:9CanvasSVG6NSCSVGC3srcSSSgvM",
+ "mangledName": "$s9CanvasSVG6NSCSVGC3srcSSSgvM",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "srcPath",
+ "printedName": "srcPath",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(py)srcPath",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvp",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)srcPath",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvg",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)setSrcPath:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvs",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "declAttributes": [
+ "ObjC"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:9CanvasSVG6NSCSVGC7srcPathSSSgvM",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7srcPathSSSgvM",
+ "moduleName": "CanvasSVG",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "layoutSubviews",
+ "printedName": "layoutSubviews()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)layoutSubviews",
+ "mangledName": "$s9CanvasSVG6NSCSVGC14layoutSubviewsyyF",
+ "moduleName": "CanvasSVG",
+ "overriding": true,
+ "objc_name": "layoutSubviews",
+ "declAttributes": [
+ "Dynamic",
+ "ObjC",
+ "Custom",
+ "Override",
+ "AccessControl"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(frame:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSCSVG",
+ "printedName": "CanvasSVG.NSCSVG",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "CGRect",
+ "printedName": "CoreFoundation.CGRect",
+ "usr": "c:@S@CGRect"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)initWithFrame:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc",
+ "moduleName": "CanvasSVG",
+ "overriding": true,
+ "objc_name": "initWithFrame:",
+ "declAttributes": [
+ "Dynamic",
+ "ObjC",
+ "Custom",
+ "Override",
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "draw",
+ "printedName": "draw(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "CGRect",
+ "printedName": "CoreFoundation.CGRect",
+ "usr": "c:@S@CGRect"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)drawRect:",
+ "mangledName": "$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVF",
+ "moduleName": "CanvasSVG",
+ "overriding": true,
+ "objc_name": "drawRect:",
+ "declAttributes": [
+ "Dynamic",
+ "ObjC",
+ "Custom",
+ "Override",
+ "AccessControl"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "toImage",
+ "printedName": "toImage()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "UIKit.UIImage?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UIImage",
+ "printedName": "UIKit.UIImage",
+ "usr": "c:objc(cs)UIImage"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)toImage",
+ "mangledName": "$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "toData",
+ "printedName": "toData()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Foundation.NSData?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSData",
+ "printedName": "Foundation.NSData",
+ "usr": "c:objc(cs)NSData"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG(im)toData",
+ "mangledName": "$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF",
+ "moduleName": "CanvasSVG",
+ "declAttributes": [
+ "Custom",
+ "AccessControl",
+ "ObjC"
+ ],
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "c:@M@CanvasSVG@objc(cs)NSCSVG",
+ "mangledName": "$s9CanvasSVG6NSCSVGC",
+ "moduleName": "CanvasSVG",
+ "objc_name": "NSCSVG",
+ "declAttributes": [
+ "Custom",
+ "AccessControl",
+ "ObjC",
+ "ObjCMembers"
+ ],
+ "superclassUsr": "c:objc(cs)UIView",
+ "hasMissingDesignatedInitializers": true,
+ "inheritsConvenienceInitializers": true,
+ "superclassNames": [
+ "UIKit.UIView",
+ "UIKit.UIResponder",
+ "ObjectiveC.NSObject"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CVarArg",
+ "printedName": "CVarArg",
+ "usr": "s:s7CVarArgP",
+ "mangledName": "$ss7CVarArgP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_KeyValueCodingAndObservingPublishing",
+ "printedName": "_KeyValueCodingAndObservingPublishing",
+ "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP",
+ "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_KeyValueCodingAndObserving",
+ "printedName": "_KeyValueCodingAndObserving",
+ "usr": "s:10Foundation27_KeyValueCodingAndObservingP",
+ "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomDebugStringConvertible",
+ "printedName": "CustomDebugStringConvertible",
+ "usr": "s:s28CustomDebugStringConvertibleP",
+ "mangledName": "$ss28CustomDebugStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "UITraitChangeObservable",
+ "printedName": "UITraitChangeObservable",
+ "usr": "s:5UIKit23UITraitChangeObservableP",
+ "mangledName": "$s5UIKit23UITraitChangeObservableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "__DefaultCustomPlaygroundQuickLookable",
+ "printedName": "__DefaultCustomPlaygroundQuickLookable",
+ "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP",
+ "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP"
+ }
+ ]
+ }
+ ],
+ "json_format_version": 8
+ },
+ "ConstValues": [
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "IntegerLiteral",
+ "offset": 278,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 305,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 333,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 354,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 437,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas-svg\/src-native\/ios\/CanvasSVG\/NSCSVG.swift",
+ "kind": "BooleanLiteral",
+ "offset": 387,
+ "length": 4,
+ "value": "true"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface
new file mode 100644
index 000000000..47387cb34
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface
@@ -0,0 +1,30 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
+// swift-module-flags: -target x86_64-apple-ios12.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name CanvasSVG
+@_exported import CanvasSVG
+import Foundation
+import Swift
+import UIKit
+import _Concurrency
+import _StringProcessing
+import _SwiftConcurrencyShims
+@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objcMembers @objc(NSCSVG) @_Concurrency.MainActor(unsafe) public class NSCSVG : UIKit.UIView {
+ @objc @_Concurrency.MainActor(unsafe) public var autoScale: Swift.Bool {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var src: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var srcPath: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func layoutSubviews()
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect)
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func draw(_ rect: CoreFoundation.CGRect)
+ @objc @_Concurrency.MainActor(unsafe) public func toImage() -> UIKit.UIImage?
+ @objc @_Concurrency.MainActor(unsafe) public func toData() -> Foundation.NSData?
+ @objc deinit
+}
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftdoc b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
new file mode 100644
index 000000000..68c89fe1c
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftdoc differ
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftinterface b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
new file mode 100644
index 000000000..47387cb34
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
@@ -0,0 +1,30 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
+// swift-module-flags: -target x86_64-apple-ios12.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name CanvasSVG
+@_exported import CanvasSVG
+import Foundation
+import Swift
+import UIKit
+import _Concurrency
+import _StringProcessing
+import _SwiftConcurrencyShims
+@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objcMembers @objc(NSCSVG) @_Concurrency.MainActor(unsafe) public class NSCSVG : UIKit.UIView {
+ @objc @_Concurrency.MainActor(unsafe) public var autoScale: Swift.Bool {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var src: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @objc @_Concurrency.MainActor(unsafe) public var srcPath: Swift.String? {
+ @objc get
+ @objc set
+ }
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func layoutSubviews()
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect)
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func draw(_ rect: CoreFoundation.CGRect)
+ @objc @_Concurrency.MainActor(unsafe) public func toImage() -> UIKit.UIImage?
+ @objc @_Concurrency.MainActor(unsafe) public func toData() -> Foundation.NSData?
+ @objc deinit
+}
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftmodule b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftmodule
new file mode 100644
index 000000000..920205f51
Binary files /dev/null and b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftmodule differ
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/module.modulemap b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/module.modulemap
new file mode 100644
index 000000000..6b85fdf35
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module CanvasSVG {
+ umbrella header "CanvasSVG.h"
+ export *
+
+ module * { export * }
+}
diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/_CodeSignature/CodeResources b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/_CodeSignature/CodeResources
new file mode 100644
index 000000000..7ed6d6862
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/_CodeSignature/CodeResources
@@ -0,0 +1,278 @@
+
+
+
+
+ files
+
+ Headers/CanvasSVG.h
+
+ 9P+2fsZOA3noK95KtLiUcCBlAVA=
+
+ Headers/CanvasSVGHelper.h
+
+ MefR2lomK2+EX5bEb93hGXh2ByU=
+
+ Headers/canvas_svg.h
+
+ S6jmC/hOJ3J1JHMpjTSdtLao75Q=
+
+ Info.plist
+
+ PWsa1Gr0OVXaZEFvAgbyTHUsqPE=
+
+ Modules/CanvasSVG.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo
+
+ EvVf1Rok2iw9H0UB6lpd0fwiMAQ=
+
+ Modules/CanvasSVG.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo
+
+ yr+cdouZz75mcgzWoyg02iB40gU=
+
+ Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.abi.json
+
+ fqyZ7qqDZ+U/7QSH3ImQXPb2d/w=
+
+ Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface
+
+ uROVrIcTxcrK2AENYnCubtIhrDE=
+
+ Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftdoc
+
+ oa2ZM+UgCUP6qUMKbValTed+Quo=
+
+ Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftinterface
+
+ uROVrIcTxcrK2AENYnCubtIhrDE=
+
+ Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftmodule
+
+ Onb30hJJtkSWueaGcMpSgsODGpY=
+
+ Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.abi.json
+
+ fqyZ7qqDZ+U/7QSH3ImQXPb2d/w=
+
+ Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface
+
+ 7g2E6pbOW+6Q/MBsKgenZAoW4ew=
+
+ Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
+
+ 8ORrKashZ2G9uon/qXavlgFQNrA=
+
+ Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
+
+ 7g2E6pbOW+6Q/MBsKgenZAoW4ew=
+
+ Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftmodule
+
+ 13Zw2CYOj3vVMYtvvNbkbgLFpPo=
+
+ Modules/module.modulemap
+
+ 8Pi6lp/+FB0k2+CN4+OATV5QYLQ=
+
+
+ files2
+
+ Headers/CanvasSVG.h
+
+ hash2
+
+ g6JCxwVN8a2leSOn9AqVyYnswaGTSe/5H1r6Sl4gMF0=
+
+
+ Headers/CanvasSVGHelper.h
+
+ hash2
+
+ FiqZ2f7WKlNLBBDQoVl1MZNQMpLpUbZmDhqta5JZHmE=
+
+
+ Headers/canvas_svg.h
+
+ hash2
+
+ kvz1Q9vFvuf1Hs7OMXqZusioYBHJaP8D6rZrSgHGMIs=
+
+
+ Modules/CanvasSVG.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo
+
+ hash2
+
+ 8CNxsf/Sg27dpvySHpJVCVoyw+Zl7MmXDvNGRQ9KSS0=
+
+
+ Modules/CanvasSVG.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo
+
+ hash2
+
+ MakuYXFAcY5zjHlRO5r41ohr4QvqsR4bJOvunO/ZP4U=
+
+
+ Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.abi.json
+
+ hash2
+
+ nVEo5JMj3CNFjFLU8V2uFRUizqgcsOLyKhP2CGG39Q8=
+
+
+ Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface
+
+ hash2
+
+ hCTziazGrnEsbMSz7zuOeOoWe0et2eyU+a0ea2KBkew=
+
+
+ Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftdoc
+
+ hash2
+
+ IOgoiMixOp06s85xs4y9+rlVhEPh7ZFTCLDk3btF1lc=
+
+
+ Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftinterface
+
+ hash2
+
+ hCTziazGrnEsbMSz7zuOeOoWe0et2eyU+a0ea2KBkew=
+
+
+ Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftmodule
+
+ hash2
+
+ PP0hWS95MnqFYSWlhdjuenCrdmiMNcs7hlHykQ2laVU=
+
+
+ Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.abi.json
+
+ hash2
+
+ nVEo5JMj3CNFjFLU8V2uFRUizqgcsOLyKhP2CGG39Q8=
+
+
+ Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface
+
+ hash2
+
+ o64yUbGcYQYPQU+EF+2QJtxik7cTSDjO8VqyLbIe3PE=
+
+
+ Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
+
+ hash2
+
+ YW0l6kcVWxXxvKSkFJyn/MFzOYQDkEftwNEhYh3emho=
+
+
+ Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
+
+ hash2
+
+ o64yUbGcYQYPQU+EF+2QJtxik7cTSDjO8VqyLbIe3PE=
+
+
+ Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftmodule
+
+ hash2
+
+ S74eOSWkfFSj7tuiHbe9ky8z+8dtru/nKPFwbhmBvuY=
+
+
+ Modules/module.modulemap
+
+ hash2
+
+ wvyID4XHMjyySYcpStbAWG8cFFZ2NT34GNGssA+V64Q=
+
+
+
+ rules
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/packages/canvas-svg/src-native/ios/pre-build.sh b/packages/canvas-svg/src-native/ios/pre-build.sh
new file mode 100755
index 000000000..020565698
--- /dev/null
+++ b/packages/canvas-svg/src-native/ios/pre-build.sh
@@ -0,0 +1,89 @@
+#!/usr/bin/env bash
+set -e
+
+source $HOME/.cargo/env
+source $HOME/.profile
+
+whereis cc
+
+function to_bool() {
+ local arg="$1"
+ case "$(echo "$arg" | tr '[:upper:]' '[:lower:]')" in
+ [0-9]+)
+ if [ $arg -eq 0 ]; then
+ echo false
+ else
+ echo true
+ fi
+ ;;
+ n | no | f | false) echo false ;;
+ y | yes | t | true) echo true ;;
+ *)
+ if [ -n "$arg" ]; then
+ echo "warning: invalid boolean argument ('$arg'). Expected true or false" >&2
+ fi
+ echo false
+ ;;
+ esac
+}
+
+CWD="$SRCROOT/../canvas-svg"
+pushd "$SRCROOT/../canvas-svg"
+
+IS_SIMULATOR=false
+
+IS_RELEASE=false
+RUST_BUILD_TYPE=""
+RUST_BUILD_TARGET=""
+
+if [[ $CONFIGURATION == Release ]]; then
+ IS_RELEASE=true
+fi
+
+
+
+if $IS_RELEASE; then
+ RUST_BUILD_TYPE="--release"
+fi
+
+
+
+PLATFORM_NAME="${PLATFORM_NAME:-iphoneos}"
+CURRENT_ARCH="${CURRENT_ARCH}"
+
+if [ -z "$CURRENT_ARCH" ] || [ "$CURRENT_ARCH" == "undefined_arch" ]; then
+ # Xcode 10 beta sets CURRENT_ARCH to "undefined_arch", this leads to incorrect linker arg.
+ # it's better to rely on platform name as fallback because architecture differs between simulator and device
+
+ if [[ "$PLATFORM_NAME" == *"simulator"* ]]; then
+ CURRENT_ARCH="arm64"
+ IS_SIMULATOR=true
+ else
+ CURRENT_ARCH="arm64"
+ fi
+fi
+
+
+if [[ $CURRENT_ARCH == x86_64 ]]; then
+ RUST_BUILD_TARGET="x86_64-apple-ios"
+fi
+
+
+if [[ $CURRENT_ARCH == arm64 ]]; then
+ if [[ $IS_SIMULATOR == false ]]; then
+ RUST_BUILD_TARGET="aarch64-apple-ios"
+ else
+ RUST_BUILD_TARGET="aarch64-apple-ios-sim"
+ fi
+fi
+
+export RUSTFLAGS="-Zlocation-detail=none -C panic=abort"
+export RUST_SRC_PATH="$(rustc --print sysroot)/lib/rustlib/src/rust/src"
+export DYLD_LIBRARY_PATH="$(rustc --print sysroot)/lib:$DYLD_LIBRARY_PATH:$DYLD_FALLBACK_LIBRARY_PATH"
+export RUST_BUILD_TARGET="$RUST_BUILD_TARGET"
+
+cbindgen --config "$CWD/cbindgen.toml" "$CWD/src/lib.rs" -l c >"$SRCROOT/CanvasSVG/include/canvas_svg.h"
+
+
+RUSTFLAGS="-Zlocation-detail=none -C panic=abort" cargo +nightly build -Z build-std='std,panic_abort' -Z build-std-features=panic_immediate_abort --manifest-path Cargo.toml --target $RUST_BUILD_TARGET $RUST_BUILD_TYPE
+popd
diff --git a/packages/canvas-three/package.json b/packages/canvas-three/package.json
index 1b2eeb2ac..4ce90f96f 100644
--- a/packages/canvas-three/package.json
+++ b/packages/canvas-three/package.json
@@ -1,6 +1,6 @@
{
"name": "@nativescript/canvas-three",
- "version": "2.0.0-beta.15",
+ "version": "2.0.0-beta.16",
"description": "Utilities for using THREE.js on NativeScript",
"main": "index",
"typings": "index.d.ts",
diff --git a/packages/canvas/Canvas/common.ts b/packages/canvas/Canvas/common.ts
index 98fbefb5f..653dd23e9 100644
--- a/packages/canvas/Canvas/common.ts
+++ b/packages/canvas/Canvas/common.ts
@@ -385,6 +385,8 @@ export abstract class CanvasBase extends View implements ICanvasBase {
_pointerMoveCallbacks = [];
_pointerUpCallbacks = [];
+ _pointerOutCallbacks = [];
+ _pointerLeaveCallbacks = [];
_pointerDownCallbacks = [];
_pointerCancelCallbacks = [];
@@ -440,7 +442,13 @@ export abstract class CanvasBase extends View implements ICanvasBase {
case 'pointerup':
this._pointerUpCallbacks.push(callback);
break;
- case 'moveout':
+ case 'pointerout':
+ this._pointerOutCallbacks.push(callback);
+ break;
+ case 'pointerleave':
+ this._pointerLeaveCallbacks.push(callback);
+ break;
+ case 'mouseout':
case 'mousecancel':
this._mouseCancelCallbacks.push(callback);
break;
@@ -498,7 +506,13 @@ export abstract class CanvasBase extends View implements ICanvasBase {
case 'pointerup':
this._removeItemFromArray(this._pointerUpCallbacks, callback);
break;
- case 'moveout':
+ case 'pointerout':
+ this._removeItemFromArray(this._pointerOutCallbacks, callback);
+ break;
+ case 'pointerleave':
+ this._removeItemFromArray(this._pointerLeaveCallbacks, callback);
+ break;
+ case 'mouseout':
case 'mousecancel':
this._removeItemFromArray(this._mouseCancelCallbacks, callback);
break;
@@ -534,7 +548,7 @@ export abstract class CanvasBase extends View implements ICanvasBase {
const index = this._lastPointerEventById.findIndex((item) => {
return item?.pointerId === pointerId;
});
- let previousEvent;
+ let previousEvent: { pointerId: number, x: number, y: number };
if (index > -1) {
previousEvent = this._lastPointerEventById[index];
} else {
@@ -618,14 +632,36 @@ export abstract class CanvasBase extends View implements ICanvasBase {
}
}
- private _upCallback(ptrId, x, y, isPrimary) {
- const hasPointerCallbacks = this._pointerUpCallbacks.length > 0;
+ private _upCallback(ptrId: number, x: number, y: number, isPrimary: boolean = false) {
+ const hasPointerCallbacks = this._pointerUpCallbacks.length > 0 || this._pointerOutCallbacks.length > 0 || this._pointerLeaveCallbacks.length > 0;
const hasMouseCallbacks = this._mouseUpCallbacks.length > 0;
if (hasPointerCallbacks || hasMouseCallbacks) {
const pointerId = ptrId;
if (hasPointerCallbacks) {
- const event = new PointerEvent('pointerup', {
+ const up = new PointerEvent('pointerup', {
+ pointerType: 'touch',
+ pointerId,
+ clientX: x,
+ clientY: y,
+ screenX: x,
+ screenY: y,
+ isPrimary,
+ pageX: x,
+ pageY: y
+ });
+ const out = new PointerEvent('pointerout', {
+ pointerType: 'touch',
+ pointerId,
+ clientX: x,
+ clientY: y,
+ screenX: x,
+ screenY: y,
+ isPrimary,
+ pageX: x,
+ pageY: y
+ });
+ const leave = new PointerEvent('pointerleave', {
pointerType: 'touch',
pointerId,
clientX: x,
@@ -638,7 +674,15 @@ export abstract class CanvasBase extends View implements ICanvasBase {
});
for (const callback of this._pointerUpCallbacks) {
- callback(event);
+ callback(up);
+ }
+
+ for (const callback of this._pointerOutCallbacks) {
+ callback(out);
+ }
+
+ for (const callback of this._pointerLeaveCallbacks) {
+ callback(leave);
}
}
@@ -701,7 +745,7 @@ export abstract class CanvasBase extends View implements ICanvasBase {
}
}
- private _downCallback(ptrId, x, y, isPrimary = false) {
+ private _downCallback(ptrId: number, x: number, y: number, isPrimary = false) {
const hasPointerCallbacks = this._pointerDownCallbacks.length > 0;
const hasMouseCallbacks = this._mouseDownCallbacks.length > 0;
@@ -770,11 +814,11 @@ export abstract class CanvasBase extends View implements ICanvasBase {
}
}
- private _cancelCallback(ptrid, x, y, isPrimary = false) {
+ private _cancelCallback(ptrId: number, x: number, y: number, isPrimary = false) {
const hasPointerCallbacks = this._pointerCancelCallbacks.length > 0;
const hasMouseCallbacks = this._mouseCancelCallbacks.length > 0;
if (hasPointerCallbacks || hasMouseCallbacks) {
- const pointerId = ptrid;
+ const pointerId = ptrId;
if (hasPointerCallbacks) {
const event = new PointerEvent('pointercancel', {
pointerType: 'touch',
@@ -811,7 +855,7 @@ export abstract class CanvasBase extends View implements ICanvasBase {
if (this._touchCancelCallbacks.length > 0) {
const touch = new Touch({
- identifier: ptrid,
+ identifier: ptrId,
target: this,
clientX: x,
clientY: y,
@@ -822,7 +866,7 @@ export abstract class CanvasBase extends View implements ICanvasBase {
});
const touchesList = [touch];
const touchesById = [];
- touchesById[ptrid] = touch;
+ touchesById[ptrId] = touch;
const touches = TouchList.fromList(touchesList);
const touchEvent = new TouchEvent('touchcancel', {
touches,
diff --git a/packages/canvas/index.ts b/packages/canvas/index.ts
index 09adb23e8..126c2261e 100644
--- a/packages/canvas/index.ts
+++ b/packages/canvas/index.ts
@@ -24,85 +24,85 @@ export * from './WebGL2';
Object.defineProperty(global, 'CanvasRenderingContext2D', {
value: CanvasRenderingContext2D,
configurable: true,
- writable: true,
+ writable: true
});
Object.defineProperty(global, 'WebGLRenderingContext', {
value: WebGLRenderingContext,
configurable: true,
- writable: true,
+ writable: true
});
Object.defineProperty(global, 'WebGL2RenderingContext', {
value: WebGL2RenderingContext,
configurable: true,
- writable: true,
+ writable: true
});
Object.defineProperty(global, 'CanvasPattern', {
value: CanvasPattern,
configurable: true,
- writable: true,
+ writable: true
});
Object.defineProperty(global, 'CanvasGradient', {
value: CanvasGradient,
configurable: true,
- writable: true,
+ writable: true
});
Object.defineProperty(global, 'TextEncoder', {
value: TextEncoder,
configurable: true,
- writable: true,
+ writable: true
});
Object.defineProperty(global, 'TextDecoder', {
value: TextDecoder,
configurable: true,
- writable: true,
+ writable: true
});
Object.defineProperty(global, 'Path2D', {
value: Path2D,
configurable: true,
- writable: true,
+ writable: true
});
Object.defineProperty(global, 'ImageData', {
value: ImageData,
configurable: true,
- writable: true,
+ writable: true
});
Object.defineProperty(global, 'DOMMatrix', {
value: DOMMatrix,
configurable: true,
- writable: true,
+ writable: true
});
Object.defineProperty(global, 'ImageBitmap', {
value: ImageBitmap,
configurable: true,
- writable: true,
+ writable: true
});
Object.defineProperty(global, 'TouchEvent', {
value: TouchEvent,
configurable: true,
- writable: true,
+ writable: true
});
Object.defineProperty(global, 'PointerEvent', {
value: PointerEvent,
configurable: true,
- writable: true,
+ writable: true
});
Object.defineProperty(global, 'ImageAsset', {
value: ImageAsset,
configurable: true,
- writable: true,
+ writable: true
});
export { ImageBitmap } from './ImageBitmap';
diff --git a/packages/canvas/package.json b/packages/canvas/package.json
index a2cb86d7a..92a957287 100644
--- a/packages/canvas/package.json
+++ b/packages/canvas/package.json
@@ -1,6 +1,6 @@
{
"name": "@nativescript/canvas",
- "version": "2.0.0-beta.15",
+ "version": "2.0.0-beta.16",
"description": "DOM Canvas API for NativeScript",
"main": "index",
"typings": "index.d.ts",
diff --git a/packages/canvas/src-native/canvas-android/.idea/compiler.xml b/packages/canvas/src-native/canvas-android/.idea/compiler.xml
index b589d56e9..fb7f4a8a4 100644
--- a/packages/canvas/src-native/canvas-android/.idea/compiler.xml
+++ b/packages/canvas/src-native/canvas-android/.idea/compiler.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/packages/canvas/src-native/canvas-android/.idea/misc.xml b/packages/canvas/src-native/canvas-android/.idea/misc.xml
index 7b4cac2eb..847df90e0 100644
--- a/packages/canvas/src-native/canvas-android/.idea/misc.xml
+++ b/packages/canvas/src-native/canvas-android/.idea/misc.xml
@@ -1,3 +1,4 @@
+
@@ -18,7 +19,7 @@
-
+
diff --git a/packages/canvas/src-native/canvas-ios/CanvasNative.xcodeproj/project.pbxproj b/packages/canvas/src-native/canvas-ios/CanvasNative.xcodeproj/project.pbxproj
index b8b9a3fa6..946188284 100644
--- a/packages/canvas/src-native/canvas-ios/CanvasNative.xcodeproj/project.pbxproj
+++ b/packages/canvas/src-native/canvas-ios/CanvasNative.xcodeproj/project.pbxproj
@@ -7,7 +7,6 @@
objects = {
/* Begin PBXBuildFile section */
- F11A1ABB25C238F100E60484 /* NSCSVG.swift in Sources */ = {isa = PBXBuildFile; fileRef = F11A1ABA25C238F100E60484 /* NSCSVG.swift */; };
F11C5D142524403700538D04 /* CanvasNative.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F11C5D0A2524403700538D04 /* CanvasNative.framework */; };
F11C5D192524403700538D04 /* CanvasNativeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F11C5D182524403700538D04 /* CanvasNativeTests.swift */; };
F11C5D1B2524403700538D04 /* CanvasNative.h in Headers */ = {isa = PBXBuildFile; fileRef = F11C5D0D2524403700538D04 /* CanvasNative.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -61,7 +60,6 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
- F11A1ABA25C238F100E60484 /* NSCSVG.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = NSCSVG.swift; path = CanvasNative/Source/NSCSVG.swift; sourceTree = ""; };
F11C5D0A2524403700538D04 /* CanvasNative.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CanvasNative.framework; sourceTree = BUILT_PRODUCTS_DIR; };
F11C5D0D2524403700538D04 /* CanvasNative.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CanvasNative.h; sourceTree = ""; };
F11C5D0E2524403700538D04 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
@@ -121,7 +119,6 @@
F181661C26228CBA0051F06B /* NSCImageBitmap.swift */,
F18165C62621CECC0051F06B /* NSCRender.swift */,
F1DE2E4E2612F7CA0000D48F /* Utils.swift */,
- F11A1ABA25C238F100E60484 /* NSCSVG.swift */,
F1A87C74255D00BA00394387 /* NSCCanvas.xib */,
F1FF6A5A25248CFE001DAE0D /* NSCCanvasRenderingContext2D.swift */,
F1FF6A6025248CFF001DAE0D /* GLRenderer.swift */,
@@ -356,7 +353,6 @@
F1FF6A8225248CFF001DAE0D /* GLUtils.swift in Sources */,
F18165C72621CECC0051F06B /* NSCRender.swift in Sources */,
F14908972AEA0F8D007C6693 /* NSCTouchHandler.swift in Sources */,
- F11A1ABB25C238F100E60484 /* NSCSVG.swift in Sources */,
F181661D26228CBA0051F06B /* NSCImageBitmap.swift in Sources */,
F1DE2E4F2612F7CA0000D48F /* Utils.swift in Sources */,
F1FF6A9225248CFF001DAE0D /* NSCCanvasRenderingContext2D.swift in Sources */,
diff --git a/packages/canvas/src-native/canvas-ios/CanvasNative.xcodeproj/project.xcworkspace/xcuserdata/triniwiz.xcuserdatad/UserInterfaceState.xcuserstate b/packages/canvas/src-native/canvas-ios/CanvasNative.xcodeproj/project.xcworkspace/xcuserdata/triniwiz.xcuserdatad/UserInterfaceState.xcuserstate
index e1e001fac..75c13e03a 100644
Binary files a/packages/canvas/src-native/canvas-ios/CanvasNative.xcodeproj/project.xcworkspace/xcuserdata/triniwiz.xcuserdatad/UserInterfaceState.xcuserstate and b/packages/canvas/src-native/canvas-ios/CanvasNative.xcodeproj/project.xcworkspace/xcuserdata/triniwiz.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/packages/canvas/src-native/canvas-ios/CanvasNative/.idea/CanvasNative.iml b/packages/canvas/src-native/canvas-ios/CanvasNative/.idea/CanvasNative.iml
new file mode 100644
index 000000000..bc2cd8740
--- /dev/null
+++ b/packages/canvas/src-native/canvas-ios/CanvasNative/.idea/CanvasNative.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/canvas/src-native/canvas-ios/CanvasNative/.idea/modules.xml b/packages/canvas/src-native/canvas-ios/CanvasNative/.idea/modules.xml
new file mode 100644
index 000000000..6d395fd77
--- /dev/null
+++ b/packages/canvas/src-native/canvas-ios/CanvasNative/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/canvas/src-native/canvas-ios/CanvasNative/.idea/vcs.xml b/packages/canvas/src-native/canvas-ios/CanvasNative/.idea/vcs.xml
new file mode 100644
index 000000000..bc5997070
--- /dev/null
+++ b/packages/canvas/src-native/canvas-ios/CanvasNative/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/canvas/src-native/canvas-ios/CanvasNative/.idea/workspace.xml b/packages/canvas/src-native/canvas-ios/CanvasNative/.idea/workspace.xml
new file mode 100644
index 000000000..6cbdc4ceb
--- /dev/null
+++ b/packages/canvas/src-native/canvas-ios/CanvasNative/.idea/workspace.xml
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1710753589164
+
+
+ 1710753589164
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/canvas/src-native/canvas-native/.idea/canvas-native.iml b/packages/canvas/src-native/canvas-native/.idea/canvas-native.iml
index be154839b..d080f2256 100644
--- a/packages/canvas/src-native/canvas-native/.idea/canvas-native.iml
+++ b/packages/canvas/src-native/canvas-native/.idea/canvas-native.iml
@@ -682,6 +682,7 @@
+
diff --git a/packages/canvas/src-native/canvas-native/Cargo.toml b/packages/canvas/src-native/canvas-native/Cargo.toml
index e242b224a..5cfc68535 100644
--- a/packages/canvas/src-native/canvas-native/Cargo.toml
+++ b/packages/canvas/src-native/canvas-native/Cargo.toml
@@ -3,17 +3,15 @@
resolver = "2"
members = [
- "gl-bindings",
- "canvas-core",
- "canvas-2d",
- "canvas-webgl",
- "canvas-android",
- "canvas-ios",
-# "canvas-ffi",
- "playground",
- "canvas-cxx",
- "canvas-c"
-]
+ "gl-bindings",
+ "canvas-core",
+ "canvas-2d",
+ "canvas-webgl",
+ "canvas-android",
+ "canvas-ios",
+ "playground",
+ "canvas-cxx",
+ "canvas-c"]
[profile.release]
panic = "abort"
@@ -22,4 +20,4 @@ lto = true
opt-level = 3
debug = false
incremental = false
-strip = true
\ No newline at end of file
+strip = true
diff --git a/packages/canvas/src-native/canvas-native/canvas-2d/Cargo.toml b/packages/canvas/src-native/canvas-native/canvas-2d/Cargo.toml
index e48027283..acbb46145 100644
--- a/packages/canvas/src-native/canvas-native/canvas-2d/Cargo.toml
+++ b/packages/canvas/src-native/canvas-native/canvas-2d/Cargo.toml
@@ -19,6 +19,6 @@ csscolorparser = { git = "https://github.com/triniwiz/csscolorparser-rs.git", re
#rgb = { version = "0.8.37", features = ["argb"] }
log = "0.4.21"
once_cell = "1.8.0"
-skia-safe = { version = "0.72.0", features = ["gl", "svg", "textlayout"] }
+skia-safe = { version = "0.72.0", features = ["gl", "textlayout"] }
bytes = "1.5.0"
env_logger = "0.11.2"
diff --git a/packages/canvas/src-native/canvas-native/canvas-2d/src/lib.rs b/packages/canvas/src-native/canvas-native/canvas-2d/src/lib.rs
index 25972df77..a85a408d5 100644
--- a/packages/canvas/src-native/canvas-native/canvas-2d/src/lib.rs
+++ b/packages/canvas/src-native/canvas-native/canvas-2d/src/lib.rs
@@ -3,22 +3,21 @@ extern crate core;
use std::ffi::c_uint;
use base64::Engine;
+use skia_safe::{
+ AlphaType, ColorType, EncodedImageFormat, ImageInfo, images, IPoint, ISize, Point, surfaces,
+};
use skia_safe::gpu::BackendTexture;
use skia_safe::image::CachingHint;
use skia_safe::wrapper::NativeTransmutableWrapper;
-use skia_safe::{
- images, surfaces, AlphaType, ColorType, EncodedImageFormat, IPoint, ISize, ImageInfo, Point,
-};
-use context::filter_quality::FilterQuality;
use context::{Context, ContextWrapper};
+use context::filter_quality::FilterQuality;
pub mod context;
pub mod ffi;
pub mod image_bitmap;
pub mod ios;
pub mod prelude;
-pub mod svg;
pub mod utils;
const GR_GL_TEXTURE_2D: c_uint = 0x0DE1;
diff --git a/packages/canvas/src-native/canvas-native/canvas-android/Cargo.toml b/packages/canvas/src-native/canvas-native/canvas-android/Cargo.toml
index a753bf7c3..4c6419b27 100644
--- a/packages/canvas/src-native/canvas-native/canvas-android/Cargo.toml
+++ b/packages/canvas/src-native/canvas-native/canvas-android/Cargo.toml
@@ -22,5 +22,5 @@ ndk = { version = "0.7.0", features = ["bitmap"] }
libloading = "0.8.1"
log = "0.4.20"
android_logger = "0.13.1"
-skia-safe = { version = "0.72.0", features = ["gl", "svg", "textlayout"] }
+skia-safe = { version = "0.72.0", features = ["gl", "textlayout"] }
itertools = "0.12.0"
\ No newline at end of file
diff --git a/packages/canvas/src-native/canvas-native/canvas-android/src/jni_compat/mod.rs b/packages/canvas/src-native/canvas-native/canvas-android/src/jni_compat/mod.rs
index 1a7906997..d76d9024d 100644
--- a/packages/canvas/src-native/canvas-native/canvas-android/src/jni_compat/mod.rs
+++ b/packages/canvas/src-native/canvas-native/canvas-android/src/jni_compat/mod.rs
@@ -3,4 +3,3 @@
pub mod org_nativescript_canvas_NSCCanvas;
pub mod org_nativescript_canvas_NSCCanvasRenderingContext2D;
pub mod org_nativescript_canvas_NSCImageAsset;
-pub mod org_nativescript_canvas_NSCSVG;
diff --git a/packages/canvas/src-native/canvas-native/canvas-android/src/jni_compat/org_nativescript_canvas_NSCSVG.rs b/packages/canvas/src-native/canvas-native/canvas-android/src/jni_compat/org_nativescript_canvas_NSCSVG.rs
deleted file mode 100644
index ca0f4cd0c..000000000
--- a/packages/canvas/src-native/canvas-native/canvas-android/src/jni_compat/org_nativescript_canvas_NSCSVG.rs
+++ /dev/null
@@ -1,33 +0,0 @@
-use jni::objects::{JClass, JString};
-use jni::sys::jlong;
-use jni::JNIEnv;
-
-use canvas_2d::context::Context;
-
-#[no_mangle]
-pub extern "system" fn nativeDrawSVG(mut env: JNIEnv, _: JClass, context: jlong, svg: JString) {
- let context = context as *mut canvas_c::CanvasRenderingContext2D;
- let context = unsafe { &mut *context };
- if let Ok(svg) = env.get_string(&svg) {
- let svg = svg.to_string_lossy();
- let mut context = context.get_context_mut();
- canvas_2d::svg::draw_svg(&mut context, svg.as_ref());
- }
-}
-
-#[allow(non_snake_case)]
-#[no_mangle]
-pub extern "system" fn nativeDrawSVGFromPath(
- mut env: JNIEnv,
- _: JClass,
- context: jlong,
- path: JString,
-) {
- let context = context as *mut canvas_c::CanvasRenderingContext2D;
- let context = unsafe { &mut *context };
- if let Ok(path) = env.get_string(&path) {
- let mut context = context.get_context_mut();
- let path = path.to_string_lossy();
- canvas_2d::svg::draw_svg_from_path(&mut context, path.as_ref());
- }
-}
diff --git a/packages/canvas/src-native/canvas-native/canvas-android/src/lib.rs b/packages/canvas/src-native/canvas-native/canvas-android/src/lib.rs
index 5cb9a4f9d..4e22c2062 100644
--- a/packages/canvas/src-native/canvas-native/canvas-android/src/lib.rs
+++ b/packages/canvas/src-native/canvas-native/canvas-android/src/lib.rs
@@ -38,7 +38,7 @@ use crate::jni_compat::org_nativescript_canvas_NSCImageAsset::{
nativeCreateImageAsset, nativeDestroyImageAsset, nativeGetDimensions, nativeGetError,
nativeLoadFromBitmap, nativeLoadFromPath,
};
-use crate::jni_compat::org_nativescript_canvas_NSCSVG::{nativeDrawSVG, nativeDrawSVGFromPath};
+
use crate::utils::gl::st::{SurfaceTexture, SURFACE_TEXTURE};
use crate::utils::gl::texture_render::nativeDrawFrame;
use crate::utils::{
@@ -296,30 +296,6 @@ pub extern "system" fn JNI_OnLoad(vm: JavaVM, _reserved: *const c_void) -> jint
canvas_rendering_context_2d_native_methods.as_slice(),
);
- let svg_class = env.find_class("org/nativescript/canvas/NSCSVG").unwrap();
-
- let nativeDrawSVGMethod = if ret >= ANDROID_O {
- "(JLjava/lang/String;)V"
- } else {
- "!(JLjava/lang/String;)V"
- };
-
- let _ = env.register_native_methods(
- &svg_class,
- &[
- NativeMethod {
- name: "nativeDrawSVG".into(),
- sig: nativeDrawSVGMethod.into(),
- fn_ptr: nativeDrawSVG as *mut c_void,
- },
- NativeMethod {
- name: "nativeDrawSVGFromPath".into(),
- sig: nativeDrawSVGMethod.into(),
- fn_ptr: nativeDrawSVGFromPath as *mut c_void,
- },
- ],
- );
-
let image_asset_class = env
.find_class("org/nativescript/canvas/NSCImageAsset")
.unwrap();
diff --git a/packages/canvas/src-native/canvas-native/canvas-core/Cargo.toml b/packages/canvas/src-native/canvas-native/canvas-core/Cargo.toml
index e7b9889b1..cc815fb00 100644
--- a/packages/canvas/src-native/canvas-native/canvas-core/Cargo.toml
+++ b/packages/canvas/src-native/canvas-native/canvas-core/Cargo.toml
@@ -11,8 +11,8 @@ edition = "2021"
gl-bindings = { path = "../gl-bindings" }
raw-window-handle = "0.5.2"
parking_lot = "0.12.0"
-stb_image = {git = "https://github.com/triniwiz/rust-stb-image", rev = "869380b"}
-skia-safe = { version = "0.72.0", features = ["gl", "svg", "textlayout"], optional = true }
+stb_image = { git = "https://github.com/triniwiz/rust-stb-image", rev = "869380b" }
+skia-safe = { version = "0.72.0", features = ["gl", "textlayout"], optional = true }
once_cell = "1.19.0"
log = "0.4.21"
diff --git a/packages/canvas/src-native/canvas-native/canvas-ios/Cargo.toml b/packages/canvas/src-native/canvas-native/canvas-ios/Cargo.toml
index 703803f24..8c1ffeebb 100644
--- a/packages/canvas/src-native/canvas-native/canvas-ios/Cargo.toml
+++ b/packages/canvas/src-native/canvas-native/canvas-ios/Cargo.toml
@@ -4,7 +4,7 @@ version = "2.0.0"
edition = "2021"
[build]
-rustflags = ["-Cpanic=abort", "-C target-cpu=native", "-C --target=arm64-apple-ios12.0-simulator"]
+rustflags = ["-Cpanic=abort", "-C target-cpu=native"]
[lib]
name = "canvasnative"
@@ -23,4 +23,4 @@ once_cell = "1.10.0"
utf16string = "0.2.0"
log = "0.4.17"
env_logger = "0.11.2"
-skia-safe = { version = "0.72.0", features = ["gl", "svg", "textlayout"] }
\ No newline at end of file
+skia-safe = { version = "0.72.0", features = ["gl", "textlayout"] }
diff --git a/packages/canvas/src-native/canvas-native/canvas_ios.h b/packages/canvas/src-native/canvas-native/canvas_ios.h
deleted file mode 100644
index b57652367..000000000
--- a/packages/canvas/src-native/canvas-native/canvas_ios.h
+++ /dev/null
@@ -1,169 +0,0 @@
-#ifndef CANVAS_IOS_H
-#define CANVAS_IOS_H
-
-/* Warning, this file is autogenerated by cbindgen. Don't modify this manually. */
-
-#include
-#include
-#include
-#include
-
-long long canvas_native_init_ios_gl(int64_t view,
- bool alpha,
- bool antialias,
- bool depth,
- bool fail_if_major_performance_caveat,
- const char *power_preference,
- bool premultiplied_alpha,
- bool preserve_drawing_buffer,
- bool stencil,
- bool desynchronized,
- bool xr_compatible,
- int32_t version,
- bool is_canvas);
-
-long long canvas_native_init_ios_gl_with_shared_gl(int64_t view,
- bool alpha,
- bool antialias,
- bool depth,
- bool fail_if_major_performance_caveat,
- const char *power_preference,
- bool premultiplied_alpha,
- bool preserve_drawing_buffer,
- bool stencil,
- bool desynchronized,
- bool xr_compatible,
- int32_t version,
- bool is_canvas,
- int64_t shared_context);
-
-long long canvas_native_init_offscreen_ios_gl(int32_t width,
- int32_t height,
- bool alpha,
- bool antialias,
- bool depth,
- bool fail_if_major_performance_caveat,
- const char *power_preference,
- bool premultiplied_alpha,
- bool preserve_drawing_buffer,
- bool stencil,
- bool desynchronized,
- bool xr_compatible,
- int32_t version,
- bool is_canvas);
-
-long long canvas_native_init_offscreen_ios_gl_with_shared_gl(int32_t width,
- int32_t height,
- bool alpha,
- bool antialias,
- bool depth,
- bool fail_if_major_performance_caveat,
- const char *power_preference,
- bool premultiplied_alpha,
- bool preserve_drawing_buffer,
- bool stencil,
- bool desynchronized,
- bool xr_compatible,
- int32_t version,
- bool is_canvas,
- int64_t shared_context);
-
-bool canvas_native_ios_flush_gl(int64_t context);
-
-void canvas_native_ios_flush_2d_context(int64_t context);
-
-void canvas_native_resize_context_2d(int64_t context, float width, float height);
-
-int64_t canvas_native_create_2d_context(int64_t context,
- int32_t width,
- int32_t height,
- bool alpha,
- float density,
- int32_t samples,
- int32_t font_color,
- float ppi,
- int32_t direction);
-
-void canvas_native_update_gl_surface(int64_t view, int32_t width, int32_t height, int64_t context);
-
-void canvas_native_release_ios_gl(int64_t context);
-
-int64_t canvas_native_get_gl_pointer(int64_t gl_context);
-
-void canvas_native_release_gl_pointer(int64_t gl_context);
-
-void canvas_native_context_2d_test(int64_t context);
-
-void canvas_native_gl_make_current(int64_t gl_context);
-
-char *canvas_native_context_2d_test_to_data_url(int64_t context);
-
-void canvas_native_context_2d_destroy_string(char *string);
-
-bool canvas_native_imageasset_load_from_bytes(int64_t asset, uint8_t *bytes, uintptr_t size);
-
-int64_t canvas_native_context_create_pattern_raw(int64_t context,
- int32_t width,
- int32_t height,
- uint8_t *bytes,
- uintptr_t size,
- const char *repetition);
-
-bool canvas_native_context_draw_image_dx_dy_with_bytes(int64_t context,
- uint8_t *bytes,
- uintptr_t size,
- float width,
- float height,
- float dx,
- float dy);
-
-bool canvas_native_context_draw_image_dx_dy_dw_dh_with_bytes(int64_t context,
- uint8_t *bytes,
- uintptr_t size,
- float width,
- float height,
- float dx,
- float dy,
- float d_width,
- float d_height);
-
-bool canvas_native_context_draw_image_with_bytes(int64_t context,
- uint8_t *bytes,
- uintptr_t size,
- float width,
- float height,
- float sx,
- float sy,
- float s_width,
- float s_height,
- float dx,
- float dy,
- float d_width,
- float d_height);
-
-void canvas_native_svg_draw_from_string(int64_t context, const char *svg);
-
-void canvas_native_svg_draw_from_path(int64_t context, const char *path);
-
-void canvas_native_context_custom_with_buffer_flush(int64_t context,
- uint8_t *bytes,
- uintptr_t size,
- float width,
- float height,
- bool alpha);
-
-long long canvas_native_context_init_context_with_custom_surface(float width,
- float height,
- float density,
- bool alpha,
- int font_color,
- float ppi,
- int direction);
-
-int64_t canvas_native_context_get_texture_from_2d(int64_t context);
-
-uint32_t canvas_native_context_backend_texture_get_id(int64_t texture);
-
-void canvas_native_context_backend_texture_destroy(int64_t texture);
-
-#endif /* CANVAS_IOS_H */
diff --git a/tools/demo/canvas-pixi/index.ts b/tools/demo/canvas-pixi/index.ts
index d807e41cd..2c0161581 100644
--- a/tools/demo/canvas-pixi/index.ts
+++ b/tools/demo/canvas-pixi/index.ts
@@ -6,8 +6,59 @@ import type { Application, Graphics } from 'pixi.js';
import PIXI from '@nativescript/canvas-pixi';
+import { Viewport } from 'pixi-viewport';
+
// let PIXI;
+
+interface Grid {
+ width: number;
+ height: number;
+ color?: [number, number, number];
+ lineThickness?: number;
+ pitch?: { x: number; y: number };
+}
+
+const shaderCode = `
+ precision mediump float;
+
+ uniform float vpw;
+ uniform float vph;
+ uniform float thickness;
+
+ uniform vec2 offset;
+ uniform vec2 pitch;
+ uniform vec4 color;
+
+ void main() {
+ float offX = ( offset[0]) + gl_FragCoord.x;
+ float offY = ( offset[1]) + (vph- gl_FragCoord.y);
+ float rX = min(abs(pitch[0] - mod(offX, pitch[0])),
+ abs(mod(offX, pitch[0])));
+ float rY = min(abs(pitch[1] - mod(offY, pitch[1])),
+ abs(mod(offY, pitch[1])));
+ if ( int(rX) <= int(thickness/2.0) ||
+ int(rY) <= int(thickness/2.0) ) {
+ gl_FragColor = color;
+ } else {
+ gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);
+ }
+ }
+`;
+function makeGridFilter(grid: Grid) {
+ const uniforms = {
+ thickness: grid.lineThickness,
+ color: [...(grid?.color ?? [1.0, 1.0, 1.0]), 1.0],
+ vpw: grid.width * 2,
+ vph: grid.height * 2,
+ offset: [0, 0],
+ pitch: [grid.pitch?.x ?? 50 * 2, grid.pitch?.y ?? 50 * 2],
+ };
+
+ return new global.PIXI.Filter(undefined, shaderCode, uniforms);
+}
+
+
export class DemoSharedCanvasPixi extends DemoSharedBase {
root = '~/assets/pixi';
@@ -52,7 +103,7 @@ export class DemoSharedCanvasPixi extends DemoSharedBase {
//this.container(canvas);
//this.explosion(canvas);
//this.bitmapFont(canvas);
- this.dynamicGraphics(canvas);
+ //this.dynamicGraphics(canvas);
//this.meshBasic(canvas);
//this.meshAdvance(canvas);
//this.renderTextureAdvance(canvas);
@@ -67,59 +118,82 @@ export class DemoSharedCanvasPixi extends DemoSharedBase {
//this.textureRotate(canvas);
//this.simplePlane(canvas);
//this.animatedJet(canvas);
- // this.viewPort(canvas);
+ this.viewPort(canvas);
}
- async viewPort(canvas){
+ async viewPort(canvas) {
const context = canvas.getContext('webgl2');
- const app = new PIXI.Application({ context });
-
- const graphics = new PIXI.Graphics();
-
- graphics.beginFill('red');
- graphics.drawRect(0,0, app.stage.width, app.stage.height);
- graphics.endFill();
-
- app.stage.addChild(graphics);
-
- /*
-
- const vp = require('pixi-viewport').Viewport;
+ const app = new PIXI.Application({
+ context, resizeTo: canvas,
+ // eventFeatures: {
+ // globalMove: false,
+ // move: false,
+ // click: false,
+ // wheel: false
+ // }
+ });
+ // pixi attaches to the document for pointermove in {N} we want to use the canvas passed for this
+ canvas.addEventListener('pointermove', event =>{
+ //@ts-ignore
+ app.renderer.events.onPointerMove(event);
+ });
const width = canvas.width;
const height = canvas.height;
const worldWidth = width * 5;
const worldHeight = height * 5;
- const world = new vp({
- screenWidth: width,
- screenHeight: height,
- worldWidth,
- worldHeight,
- events: app.renderer.events, // the interaction module is important for wheel to work properly when renderer.view is placed or scaled
+ const world = new Viewport({
+ screenWidth: width,
+ screenHeight: height,
+ worldWidth,
+ worldHeight,
+ events: app.renderer.events // the interaction module is important for wheel to work properly when renderer.view is placed or scaled
});
// activate plugins
world
- .drag({
- wheel: false,
- })
- .pinch({
- noDrag: false
- })
- .decelerate();
+ .drag({
+ // wheel: false
+ })
+ .pinch({
+ // noDrag: false
+ })
+ .decelerate();
+
+
+ const grid = makeGridFilter({
+ width,
+ height
+ });
+
+ // const g = new PIXI.Graphics();
+ // g.width = worldWidth;
+ // g.height = worldHeight;
+ // g.filters = [this._grid];
+
+
+
+ app.stage.addChild(world);
+
+ world.fit();
+
+ world.moveCenter(worldWidth / 2, worldHeight / 2);
const graphics = new PIXI.Graphics();
graphics.beginFill('red');
- graphics.drawRect(0,0, width, height);
+ graphics.drawRect(worldWidth / 2 - width / 2, worldHeight / 2 - height / 2, width, height);
graphics.endFill();
- world.addChild(graphics);
- */
+ graphics.beginFill('blue');
+ graphics.drawRect(worldWidth / 2 - (width / 2) / 2, worldHeight / 2 - (height / 2)/ 2, width, height);
+ graphics.endFill();
+
+ world.addChild(graphics);
}
@@ -206,7 +280,7 @@ export class DemoSharedCanvasPixi extends DemoSharedBase {
frame,
orig: crop,
trim,
- rotate,
+ rotate
} as any);
} else {
rotatedTexture = new PIXI.Texture({
@@ -214,7 +288,7 @@ export class DemoSharedCanvasPixi extends DemoSharedBase {
frame,
orig: crop,
trim,
- rotate,
+ rotate
} as any);
}
textures.push(rotatedTexture);
@@ -242,8 +316,8 @@ export class DemoSharedCanvasPixi extends DemoSharedBase {
fontFamily: 'Courier New',
fontSize: '12px',
fill: 'white',
- align: 'left',
- },
+ align: 'left'
+ }
} as any);
text.x = dude.x;
@@ -268,7 +342,7 @@ export class DemoSharedCanvasPixi extends DemoSharedBase {
200,
200,
0,
- 200,
+ 200
], // x, y
2
) // the size of the attribute
@@ -282,7 +356,7 @@ export class DemoSharedCanvasPixi extends DemoSharedBase {
1,
1,
0,
- 1,
+ 1
], // u, v
2
) // the size of the attribute
@@ -331,7 +405,7 @@ void main()
}`;
const gridUniforms = {
- zoom: 10,
+ zoom: 10
};
const gridShader: any = PIXI.Shader.from(vertexSrc, fragmentGridSrc, gridUniforms);
// Sharing textures and meshes is possible. But for simplicity each pass has it's own output texture and mesh in this example.
@@ -361,7 +435,7 @@ void main()
const rippleUniforms = {
amount: 0.5,
phase: 0,
- texIn: gridTexture,
+ texIn: gridTexture
};
const rippleShader: any = PIXI.Shader.from(vertexSrc, fragmentRippleSrc, rippleUniforms);
const rippleTexture = (PIXI as any).RenderTexture.create(200, 200);
@@ -384,7 +458,7 @@ void main()
}`;
const noiseUniforms = {
limit: 0.5,
- noise: perlinTexture,
+ noise: perlinTexture
};
const noiseShader: any = PIXI.Shader.from(vertexSrc, fragmentNoiseSrc, noiseUniforms);
const noiseTexture = (PIXI as any).RenderTexture.create(200, 200);
@@ -416,7 +490,7 @@ void main()
}`;
const waveUniforms = {
amplitude: 0.75,
- time: 0,
+ time: 0
};
const waveShader: any = PIXI.Shader.from(vertexSrc, fragmentWaveSrc, waveUniforms);
const waveTexture = (PIXI as any).RenderTexture.create(200, 200);
@@ -445,7 +519,7 @@ void main()
const combineUniforms = {
texRipple: rippleTexture,
texNoise: noiseTexture,
- texWave: waveTexture,
+ texWave: waveTexture
};
const combineShader: any = PIXI.Shader.from(vertexSrc, fragmentCombineSrc, combineUniforms);
const combineQuad = new PIXI.Mesh(geometry, combineShader);
@@ -492,7 +566,7 @@ void main()
100,
-100, // x, y
100,
- 100,
+ 100
], // x, y
2
) // the size of the attribute
@@ -505,7 +579,7 @@ void main()
1,
0, // u, v
1,
- 1,
+ 1
], // u, v
2
); // the size of the attribute
@@ -547,21 +621,21 @@ void main()
const triangle = new PIXI.Mesh(
geometry,
new (PIXI as any).Shader(program, {
- uSamplerTexture: PIXI.Texture.from(this.root + '/images/bg_scene_rotate.jpg'),
+ uSamplerTexture: PIXI.Texture.from(this.root + '/images/bg_scene_rotate.jpg')
})
);
const triangle2 = new PIXI.Mesh(
geometry,
new (PIXI as any).Shader(program, {
- uSamplerTexture: PIXI.Texture.from(this.root + '/images/bg_rotate.jpg'),
+ uSamplerTexture: PIXI.Texture.from(this.root + '/images/bg_rotate.jpg')
})
);
const triangle3 = new PIXI.Mesh(
geometry,
new (PIXI as any).Shader(program, {
- uSamplerTexture: PIXI.Texture.from(this.root + '/images/bg_displacement.jpg'),
+ uSamplerTexture: PIXI.Texture.from(this.root + '/images/bg_displacement.jpg')
})
);
@@ -597,7 +671,7 @@ void main()
100,
100,
-100,
- 100,
+ 100
], // x, y
2
) // the size of the attribute
@@ -611,7 +685,7 @@ void main()
1,
1,
0,
- 1,
+ 1
], // u, v
2
) // the size of the attribute
@@ -652,7 +726,7 @@ void main()
const uniforms = {
uSampler2: PIXI.Texture.from(this.root + '/images/bg_scene_rotate.jpg'),
- time: 0,
+ time: 0
};
const shader: any = PIXI.Shader.from(vertexSrc, fragmentSrc, uniforms);
@@ -681,11 +755,11 @@ void main()
// create two render textures... these dynamic textures will be used to draw the scene into itself
let renderTexture = PIXI.RenderTexture.create({
width: app.screen.width,
- height: app.screen.height,
+ height: app.screen.height
});
let renderTexture2 = PIXI.RenderTexture.create({
width: app.screen.width,
- height: app.screen.height,
+ height: app.screen.height
});
const currentTexture = renderTexture;
@@ -852,6 +926,7 @@ void main()
const context = canvas.getContext('webgl2');
const app = new PIXI.Application({ context, antialias: true, resizeTo: canvas }) as any;
+
// const app = new PIXI.Application({ antialias: true, resizeTo: window });
//document.body.appendChild(app.view);
@@ -1057,7 +1132,7 @@ void main()
sprite: new PIXI.Sprite(starTexture),
z: 0,
x: 0,
- y: 0,
+ y: 0
};
star.sprite.anchor.x = 0.5;
@@ -1313,7 +1388,7 @@ void main()
position: true,
rotation: true,
uvs: true,
- alpha: true,
+ alpha: true
});
app.stage.addChild(sprites);
@@ -1472,7 +1547,7 @@ void main()
const context = canvas.getContext('webgl2');
const app = new PIXI.Application({
context,
- backgroundColor: 0x1099bb,
+ backgroundColor: 0x1099bb
});
//app.loader.add('bg_grass', this.root + '/images/bg_grass.jpg').load(build);
PIXI.Assets.load(this.root + '/images/bg_grass.jpg').then((texture) => {
@@ -1504,7 +1579,7 @@ void main()
animatedJet(canvas) {
const app = new PIXI.Application({
context: canvas.getContext('webgl2'),
- background: '#1099bb',
+ background: '#1099bb'
});
/* app.loader.add(this.root + '/spritesheet/fighter.json').load(onAssetsLoaded);
@@ -1600,7 +1675,7 @@ void main()
dropShadowDistance: 6,
wordWrap: true,
wordWrapWidth: 440,
- lineJoin: 'round',
+ lineJoin: 'round'
});
const richText = new PIXI.Text('Rich text with a lot of options and across multiple lines', style);
@@ -1623,7 +1698,7 @@ void main()
fontSize: 60,
fontWeight: 'lighter',
lineJoin: 'round',
- strokeThickness: 12,
+ strokeThickness: 12
});
const skewText = new PIXI.Text('SKEW IS COOL', skewStyle);
@@ -1664,7 +1739,7 @@ void main()
simple(canvas) {
const context = canvas.getContext('webgl2', { alpha: true, stencil: true, depth: true });
const app = new PIXI.Application({
- context,
+ context
}) as Application;
const graphics = new PIXI.Graphics() as Graphics;
@@ -1762,7 +1837,7 @@ void main()
advance(canvas) {
const app = new PIXI.Application({
- context: canvas.getContext('webgl2'),
+ context: canvas.getContext('webgl2')
});
const sprite = PIXI.Sprite.from(this.root + '/images/bg_rotate.jpg');
@@ -1809,7 +1884,7 @@ void main()
const bezier2 = new PIXI.Graphics();
bezier2.lineTextureStyle({
width: 10,
- texture: sprite.texture,
+ texture: sprite.texture
});
bezier2.bezierCurveTo(0, -100, 150, 150, 240, 100);
@@ -1839,7 +1914,7 @@ void main()
arc3.lineTextureStyle({
width: 10,
- texture: sprite.texture,
+ texture: sprite.texture
});
arc3.arc(650, 420, 60, 2 * Math.PI, (2.5 * Math.PI) / 2);
@@ -1864,7 +1939,7 @@ void main()
beatifulRect.lineTextureStyle({
width: 10,
- texture: sprite.texture,
+ texture: sprite.texture
});
beatifulRect.beginFill(0xff0000);
beatifulRect.drawRect(80, 350, 150, 150);
diff --git a/tools/demo/canvas-svg/index.ts b/tools/demo/canvas-svg/index.ts
index 8e5c4a6a3..798f94b4a 100644
--- a/tools/demo/canvas-svg/index.ts
+++ b/tools/demo/canvas-svg/index.ts
@@ -1,9 +1,302 @@
import { DemoSharedBase } from '../utils';
-import { } from '@nativescript/canvas-svg';
+import { Svg } from '@nativescript/canvas-svg';
export class DemoSharedCanvasSvg extends DemoSharedBase {
- testIt() {
- console.log('test canvas-svg!');
- }
-}
\ No newline at end of file
+ private svg: Svg;
+ private svg2: Svg;
+ private svg3: Svg;
+ private svg4: Svg;
+
+ testIt() {
+ console.log('test canvas-svg!');
+ }
+
+
+ svgViewLoaded(args) {
+ const view = args.object;
+ this.drawSvg(this.svg, view.id);
+ }
+
+ svg2ViewLoaded(args) {
+ this.svg2 = args.object;
+ console.log('svg2 ready');
+ this.set('src2', 'http://thenewcode.com/assets/images/thumbnails/homer-simpson.svg');
+ }
+
+
+ drawTransformMatrixSvg() {
+ this.set(
+ 'src',
+ ``
+ );
+ }
+
+ drawTransformTranslateSvg() {
+ /// translate transform
+
+ this.set(
+ 'src',
+ `
+ `
+ );
+ }
+
+ drawTransformScaleSvg() {
+ this.set(
+ 'src',
+ `
+
+ `
+ );
+ }
+
+ drawTransformRotateSvg() {
+ this.set(
+ 'src',
+ `
+
+ `
+ );
+ }
+
+ drawTransformSkewX() {
+ this.set(
+ 'src',
+ `
+
+ `
+ );
+ }
+
+ drawTransformSkewY() {
+ this.set(
+ 'src',
+ `
+
+ `
+ );
+ }
+
+ drawSvg(args: Svg, id: string) {
+ switch (id) {
+ case '1':
+ this.set('src1', 'https://upload.wikimedia.org/wikipedia/commons/8/85/Australian_Census_2011_demographic_map_-_Australia_by_SLA_-_BCP_field_0001_Total_Persons_Males.svg');
+ break;
+ case '2':
+ this.set('src2', 'https://upload.wikimedia.org/wikipedia/commons/4/4c/The_Hague%2C_Netherlands%2C_the_old_city_center.svg');
+ break;
+ case '3':
+ this.set('src3', 'https://upload.wikimedia.org/wikipedia/commons/7/7c/Map_of_the_world_by_the_US_Gov_as_of_2016_no_legend.svg');
+ break;
+ case '4':
+ this.set('src4', 'https://upload.wikimedia.org/wikipedia/commons/9/9d/The_Rhodopes_on_The_Paths_Of_Orpheus_And_Eurydice_Project_Map.svg');
+ break;
+ }
+ //this.drawTransformSkewY();
+ //this.set('src','https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/car.svg');
+ //this.set('src','http://thenewcode.com/assets/images/thumbnails/homer-simpson.svg');
+ //this.set('src', 'https://upload.wikimedia.org/wikipedia/commons/a/a0/Location_map_San_Francisco_Bay_Area.svg');
+ //this.set('src','https://upload.wikimedia.org/wikipedia/commons/4/4c/The_Hague%2C_Netherlands%2C_the_old_city_center.svg');
+ //this.set('src', 'https://upload.wikimedia.org/wikipedia/commons/6/6c/Trajans-Column-lower-animated.svg');
+ //this.set('src', 'https://upload.wikimedia.org/wikipedia/commons/7/7c/Map_of_the_world_by_the_US_Gov_as_of_2016_no_legend.svg');
+ //this.set('src', 'https://upload.wikimedia.org/wikipedia/commons/b/b6/Moldova_%281483%29-en.svg');
+ //this.set('src', 'https://upload.wikimedia.org/wikipedia/commons/9/95/Kaiserstandarte_Version1.svg');
+ //this.set('src', 'https://upload.wikimedia.org/wikipedia/commons/f/ff/1_42_polytope_7-cube.svg');
+ //this.set('src', 'https://upload.wikimedia.org/wikipedia/commons/1/1c/KINTETSU23000_20140424A.svg');
+ //this.set('src', 'https://raw.githubusercontent.com/RazrFalcon/resvg/7b26adbcc9698dcca687214c84d216794f60a5be/tests/svg/e-radialGradient-013.svg');
+ //this.set('src','https://upload.wikimedia.org/wikipedia/commons/c/c1/Propane_flame_contours-en.svg')
+ //this.set('src','https://upload.wikimedia.org/wikipedia/commons/9/9d/The_Rhodopes_on_The_Paths_Of_Orpheus_And_Eurydice_Project_Map.svg')
+ //this.set('src', 'https://upload.wikimedia.org/wikipedia/commons/7/7c/Map_of_the_world_by_the_US_Gov_as_of_2016_no_legend.svg');
+ //this.set('src','https://upload.wikimedia.org/wikipedia/commons/7/78/61453-Planeta_berria_2006an.svg')
+ // https://upload.wikimedia.org/wikipedia/commons/6/61/Figure_in_Manga_style.svg
+ // https://upload.wikimedia.org/wikipedia/commons/a/a0/Plan_des_Forts_de_Lyon_premi%C3%A8re_ceinture_-_OSM.svg
+
+ /*this.set('src', `
+
+ `) */
+
+ /*
+ const circle = new Svg.Circle();
+ circle.cx = 100;
+ circle.cy = 100;
+ circle.r = 50;
+ circle.fill = 'gold';
+ circle.id = 'circle';
+ args.addChild(circle);
+
+ const rect = new Svg.Rect();
+ rect.x = 0;
+ rect.y = 200;
+ rect.width = 300;
+ rect.height = 300;
+ rect.stroke = 'green';
+ rect.fill = 'black';
+ rect.id = 'rect';
+ args.addChild(rect);
+
+ const image = new Svg.Image();
+ image.href = 'https://source.unsplash.com/1600x900/?water';
+ image.x = 0;
+ image.y = 600;
+ image.width = 500;
+ image.height = 500;
+ args.addChild(image);
+
+ const image2 = new Svg.Image();
+ image2.href = 'https://source.unsplash.com/1600x900/?nature';
+ image2.x = 600;
+ image2.y = 600;
+ image2.width = 500;
+ image2.height = 500;
+ args.addChild(image2);
+
+ const path = new Svg.Path();
+ path.d = "M150 0 L75 200 L225 200 Z";
+ args.addChild(path);
+
+ const ellipse = new Svg.Ellipse();
+ ellipse.cx = 500;
+ ellipse.cy = 80;
+ ellipse.rx = 100;
+ ellipse.ry = 50;
+ ellipse.setInlineStyle('fill:yellow;stroke:purple;stroke-width:2');
+ args.addChild(ellipse);
+
+ const line = new Svg.Line();
+ line.x1 = 0;
+ line.y1 = 0;
+ line.x2 = 200;
+ line.y2 = 200;
+ line.setInlineStyle('stroke:rgb(255,0,0);stroke-width:2');
+ args.addChild(line);
+
+
+ const polygon = new Svg.Polygon();
+ polygon.points = "200,10 250,190 160,210";
+ polygon.setInlineStyle('fill:lime;stroke:purple;stroke-width:1');
+ args.addChild(polygon);
+
+
+ const polyline = new Svg.Polyline();
+ polyline.points = "20,20 40,25 60,40 80,120 120,140 200,180";
+ polyline.setInlineStyle("fill:none;stroke:black;stroke-width:3");
+ args.addChild(polyline);
+
+ const text = new Svg.Text();
+ text.text = "I love SVG!";
+ text.x = 0;
+ text.y = 15;
+ args.addChild(text);
+ const g = new Svg.G();
+
+ const path1 = new Svg.Path();
+ path1.d = "M5 20 l215 0";
+ path1.stroke = "red";
+
+ const path2 = new Svg.Path();
+ path2.d = "M5 40 l215 0";
+ path2.stroke = "black";
+
+ const path3 = new Svg.Path();
+ path3.d = "M5 60 l215 0";
+ path3.stroke = "blue";
+ g.addChildren(path1, path2, path3);
+ args.addChild(g);
+ */
+ }
+}
diff --git a/tools/demo/canvas/index.ts b/tools/demo/canvas/index.ts
index 800e3bd58..046193264 100644
--- a/tools/demo/canvas/index.ts
+++ b/tools/demo/canvas/index.ts
@@ -61,7 +61,6 @@ import { handleVideo, cancelInteractiveCube, cancelMain, cubeRotation, cubeRotat
import { cancelEnvironmentMap, cancelFog, draw_image_space, draw_instanced, environmentMap, fog } from './webgl2';
// declare var com, java;
let zen3d;
-import * as Svg from '@nativescript/canvas/SVG';
import { drawChart, issue54, issue93 } from './issues';
import { subTest } from './webgl/test';
import { rnSkiaPerf } from './canvas2d/rn-skia-perf';
@@ -70,10 +69,6 @@ import { lines } from './canvas2d/lines';
var Vex;
export class DemoSharedCanvas extends DemoSharedBase {
private canvas: any;
- private svg: Svg.Svg;
- private svg2: Svg.Svg;
- private svg3: Svg.Svg;
- private svg4: Svg.Svg;
constructor() {
super();
@@ -127,292 +122,6 @@ export class DemoSharedCanvas extends DemoSharedBase {
});
}
- svgViewLoaded(args) {
- const view = args.object;
- console.log('svg ready', view.id);
- this.drawSvg(this.svg, view.id);
- }
-
- svg2ViewLoaded(args) {
- this.svg2 = args.object;
- console.log('svg2 ready');
- this.set('src2', 'http://thenewcode.com/assets/images/thumbnails/homer-simpson.svg');
- }
-
- drawTransformMatrixSvg() {
- this.set(
- 'src',
- ``
- );
- }
-
- drawTransformTranslateSvg() {
- /// translate transform
-
- this.set(
- 'src',
- `
- `
- );
- }
-
- drawTransformScaleSvg() {
- this.set(
- 'src',
- `
-
- `
- );
- }
-
- drawTransformRotateSvg() {
- this.set(
- 'src',
- `
-
- `
- );
- }
-
- drawTransformSkewX() {
- this.set(
- 'src',
- `
-
- `
- );
- }
-
- drawTransformSkewY() {
- this.set(
- 'src',
- `
-
- `
- );
- }
-
- drawSvg(args: Svg.Svg, id) {
- switch (id) {
- case '1':
- this.set('src1', 'https://upload.wikimedia.org/wikipedia/commons/8/85/Australian_Census_2011_demographic_map_-_Australia_by_SLA_-_BCP_field_0001_Total_Persons_Males.svg');
- break;
- case '2':
- this.set('src2', 'https://upload.wikimedia.org/wikipedia/commons/4/4c/The_Hague%2C_Netherlands%2C_the_old_city_center.svg');
- break;
- case '3':
- this.set('src3', 'https://upload.wikimedia.org/wikipedia/commons/7/7c/Map_of_the_world_by_the_US_Gov_as_of_2016_no_legend.svg');
- break;
- case '4':
- this.set('src4', 'https://upload.wikimedia.org/wikipedia/commons/9/9d/The_Rhodopes_on_The_Paths_Of_Orpheus_And_Eurydice_Project_Map.svg');
- break;
- }
- //this.drawTransformSkewY();
- //this.set('src','https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/car.svg');
- //this.set('src','http://thenewcode.com/assets/images/thumbnails/homer-simpson.svg');
- //this.set('src', 'https://upload.wikimedia.org/wikipedia/commons/a/a0/Location_map_San_Francisco_Bay_Area.svg');
- //this.set('src','https://upload.wikimedia.org/wikipedia/commons/4/4c/The_Hague%2C_Netherlands%2C_the_old_city_center.svg');
- //this.set('src', 'https://upload.wikimedia.org/wikipedia/commons/6/6c/Trajans-Column-lower-animated.svg');
- //this.set('src', 'https://upload.wikimedia.org/wikipedia/commons/7/7c/Map_of_the_world_by_the_US_Gov_as_of_2016_no_legend.svg');
- //this.set('src', 'https://upload.wikimedia.org/wikipedia/commons/b/b6/Moldova_%281483%29-en.svg');
- //this.set('src', 'https://upload.wikimedia.org/wikipedia/commons/9/95/Kaiserstandarte_Version1.svg');
- //this.set('src', 'https://upload.wikimedia.org/wikipedia/commons/f/ff/1_42_polytope_7-cube.svg');
- //this.set('src', 'https://upload.wikimedia.org/wikipedia/commons/1/1c/KINTETSU23000_20140424A.svg');
- //this.set('src', 'https://raw.githubusercontent.com/RazrFalcon/resvg/7b26adbcc9698dcca687214c84d216794f60a5be/tests/svg/e-radialGradient-013.svg');
- //this.set('src','https://upload.wikimedia.org/wikipedia/commons/c/c1/Propane_flame_contours-en.svg')
- //this.set('src','https://upload.wikimedia.org/wikipedia/commons/9/9d/The_Rhodopes_on_The_Paths_Of_Orpheus_And_Eurydice_Project_Map.svg')
- //this.set('src', 'https://upload.wikimedia.org/wikipedia/commons/7/7c/Map_of_the_world_by_the_US_Gov_as_of_2016_no_legend.svg');
- //this.set('src','https://upload.wikimedia.org/wikipedia/commons/7/78/61453-Planeta_berria_2006an.svg')
- // https://upload.wikimedia.org/wikipedia/commons/6/61/Figure_in_Manga_style.svg
- // https://upload.wikimedia.org/wikipedia/commons/a/a0/Plan_des_Forts_de_Lyon_premi%C3%A8re_ceinture_-_OSM.svg
-
- /*this.set('src', `
-
- `) */
-
- /*
- const circle = new Svg.Circle();
- circle.cx = 100;
- circle.cy = 100;
- circle.r = 50;
- circle.fill = 'gold';
- circle.id = 'circle';
- args.addChild(circle);
-
- const rect = new Svg.Rect();
- rect.x = 0;
- rect.y = 200;
- rect.width = 300;
- rect.height = 300;
- rect.stroke = 'green';
- rect.fill = 'black';
- rect.id = 'rect';
- args.addChild(rect);
-
- const image = new Svg.Image();
- image.href = 'https://source.unsplash.com/1600x900/?water';
- image.x = 0;
- image.y = 600;
- image.width = 500;
- image.height = 500;
- args.addChild(image);
-
- const image2 = new Svg.Image();
- image2.href = 'https://source.unsplash.com/1600x900/?nature';
- image2.x = 600;
- image2.y = 600;
- image2.width = 500;
- image2.height = 500;
- args.addChild(image2);
-
- const path = new Svg.Path();
- path.d = "M150 0 L75 200 L225 200 Z";
- args.addChild(path);
-
- const ellipse = new Svg.Ellipse();
- ellipse.cx = 500;
- ellipse.cy = 80;
- ellipse.rx = 100;
- ellipse.ry = 50;
- ellipse.setInlineStyle('fill:yellow;stroke:purple;stroke-width:2');
- args.addChild(ellipse);
-
- const line = new Svg.Line();
- line.x1 = 0;
- line.y1 = 0;
- line.x2 = 200;
- line.y2 = 200;
- line.setInlineStyle('stroke:rgb(255,0,0);stroke-width:2');
- args.addChild(line);
-
-
- const polygon = new Svg.Polygon();
- polygon.points = "200,10 250,190 160,210";
- polygon.setInlineStyle('fill:lime;stroke:purple;stroke-width:1');
- args.addChild(polygon);
-
-
- const polyline = new Svg.Polyline();
- polyline.points = "20,20 40,25 60,40 80,120 120,140 200,180";
- polyline.setInlineStyle("fill:none;stroke:black;stroke-width:3");
- args.addChild(polyline);
-
- const text = new Svg.Text();
- text.text = "I love SVG!";
- text.x = 0;
- text.y = 15;
- args.addChild(text);
- const g = new Svg.G();
-
- const path1 = new Svg.Path();
- path1.d = "M5 20 l215 0";
- path1.stroke = "red";
-
- const path2 = new Svg.Path();
- path2.d = "M5 40 l215 0";
- path2.stroke = "black";
-
- const path3 = new Svg.Path();
- path3.d = "M5 60 l215 0";
- path3.stroke = "blue";
- g.addChildren(path1, path2, path3);
- args.addChild(g);
- */
- }
urlTests() {
this.urlConstructor();
@@ -703,15 +412,15 @@ export class DemoSharedCanvas extends DemoSharedBase {
// ctx.font = '50px serif';
// ctx.fillText('Hello world', 50, 90);
/* const ctx = this.canvas.getContext('2d');
-
+
// Moved square
ctx.translate(110, 30);
ctx.fillStyle = 'red';
ctx.fillRect(0, 0, 80, 80);
-
+
// Reset current transformation matrix to the identity matrix
ctx.setTransform(1, 0, 0, 1, 0, 0);
-
+
// Unmoved square
ctx.fillStyle = 'gray';
ctx.fillRect(0, 0, 80, 80); */
@@ -739,7 +448,7 @@ export class DemoSharedCanvas extends DemoSharedBase {
}
});
-
+
if (global.isAndroid) {
// canvas.android.setHandleInvalidationManually(true);
(org.nativescript as any).canvas.NSCCanvas.getViews().put(`${this.canvas._domId}`, new java.lang.ref.WeakReference(this.canvas.android));
diff --git a/tools/scripts/canvas-svg-build-debug.sh b/tools/scripts/canvas-svg-build-debug.sh
new file mode 100755
index 000000000..eac9dbe19
--- /dev/null
+++ b/tools/scripts/canvas-svg-build-debug.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+cd ../../packages/canvas-svg/src-native/ios
+set -e
+
+
+rm -rf ../platforms/ios || true
+mkdir -p ../platforms/ios
+
+echo "Build iOS"
+./build-debug.sh
+#cd ..
+echo "Copy /dist/*.xcframework platforms/ios"
+
+cp -R dist/CanvasSVG.xcframework ../../platforms/ios
diff --git a/tools/scripts/canvas-svg-build.sh b/tools/scripts/canvas-svg-build.sh
new file mode 100755
index 000000000..22f54dc89
--- /dev/null
+++ b/tools/scripts/canvas-svg-build.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+cd ../../packages/canvas-svg/src-native/ios
+set -e
+
+
+rm -rf ../platforms/ios || true
+mkdir -p ../platforms/ios
+
+echo "Build iOS"
+./build.sh
+#cd ..
+echo "Copy /dist/*.xcframework platforms/ios"
+
+cp -R dist/CanvasSVG.xcframework ../../platforms/ios