@nativescript/canvas-svg 2.0.0-webgpu.35 → 2.0.0-webgpu.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.android.d.ts +9 -2
- package/index.android.js +57 -59
- package/index.android.js.map +1 -1
- package/index.d.ts +12 -2
- package/index.ios.d.ts +9 -2
- package/index.ios.js +49 -52
- package/index.ios.js.map +1 -1
- package/package.json +1 -1
- package/platforms/android/canvassvg-release.aar +0 -0
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/CanvasSVG +0 -0
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Headers/CanvasSVG-Swift.h +20 -9
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Headers/canvas_svg.h +10 -0
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.abi.json +260 -95
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.private.swiftinterface +21 -13
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.swiftinterface +21 -13
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG +0 -0
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml +251 -214
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/CanvasSVG +0 -0
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Headers/CanvasSVG-Swift.h +40 -18
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Headers/canvas_svg.h +10 -0
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.abi.json +260 -95
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +21 -13
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftinterface +21 -13
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.abi.json +260 -95
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +21 -13
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +21 -13
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/_CodeSignature/CodeResources +24 -24
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG +0 -0
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml +254 -217
- package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasSVG.yml +304 -286
package/index.android.d.ts
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { SVGBase } from './common';
|
|
2
2
|
import { SVGItem } from './Elements/SVGItem';
|
|
3
3
|
export * from './Elements';
|
|
4
|
+
export declare class SvgData {
|
|
5
|
+
native: any;
|
|
6
|
+
static fromNative(value: any): SvgData;
|
|
7
|
+
get width(): number;
|
|
8
|
+
get height(): number;
|
|
9
|
+
get data(): ArrayBuffer | null;
|
|
10
|
+
}
|
|
4
11
|
export declare class Svg extends SVGBase {
|
|
5
12
|
_svg: any;
|
|
6
13
|
constructor();
|
|
@@ -11,6 +18,6 @@ export declare class Svg extends SVGBase {
|
|
|
11
18
|
onUnloaded(): void;
|
|
12
19
|
addChild(view: SVGItem): void;
|
|
13
20
|
removeChild(view: SVGItem): void;
|
|
14
|
-
static fromSrcSync(value: string):
|
|
15
|
-
static fromSrc(value: string): Promise<
|
|
21
|
+
static fromSrcSync(value: string): SvgData | null;
|
|
22
|
+
static fromSrc(value: string): Promise<SvgData>;
|
|
16
23
|
}
|
package/index.android.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { initialSVG, SVGBase, srcProperty, syncProperty } from './common';
|
|
2
|
-
import { Application, Http, knownFolders, path,
|
|
2
|
+
import { Application, Http, knownFolders, path, Utils } from '@nativescript/core';
|
|
3
3
|
export * from './Elements';
|
|
4
4
|
function parseSVGDimensions(svgString) {
|
|
5
5
|
const svgRegex = /<svg([^>]*)>/i;
|
|
@@ -8,45 +8,59 @@ function parseSVGDimensions(svgString) {
|
|
|
8
8
|
return { width: 0, height: 0 };
|
|
9
9
|
}
|
|
10
10
|
const svgAttributes = match[1];
|
|
11
|
-
const regex = /\b(
|
|
12
|
-
const matches = svgAttributes.match(regex);
|
|
11
|
+
const regex = /\b(width|height|viewBox)\s*=\s*"([^"]+)"/g;
|
|
13
12
|
let width, height, viewBox;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
else if (attributeName === 'viewBox') {
|
|
30
|
-
if (viewBox === undefined) {
|
|
31
|
-
viewBox = attributeValue.split(' ').map(parseFloat).splice(0, 4);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
});
|
|
13
|
+
let attributeMatch;
|
|
14
|
+
while ((attributeMatch = regex.exec(svgAttributes)) !== null) {
|
|
15
|
+
const attributeName = attributeMatch[1];
|
|
16
|
+
const attributeValue = attributeMatch[2];
|
|
17
|
+
if (attributeName === 'width') {
|
|
18
|
+
width = parseFloat(attributeValue) || undefined;
|
|
19
|
+
}
|
|
20
|
+
else if (attributeName === 'height') {
|
|
21
|
+
height = parseFloat(attributeValue) || undefined;
|
|
22
|
+
}
|
|
23
|
+
else if (attributeName === 'viewBox') {
|
|
24
|
+
viewBox = attributeValue.split(' ').map(Number);
|
|
25
|
+
}
|
|
35
26
|
}
|
|
36
27
|
if (!width && viewBox && viewBox.length === 4) {
|
|
37
28
|
const viewBoxWidth = viewBox[2];
|
|
38
29
|
const viewBoxHeight = viewBox[3];
|
|
39
30
|
const aspectRatio = viewBoxWidth / viewBoxHeight;
|
|
40
|
-
width =
|
|
31
|
+
width = height ? height * aspectRatio : 150 * aspectRatio;
|
|
41
32
|
}
|
|
42
33
|
if (!height && viewBox && viewBox.length === 4) {
|
|
43
34
|
const viewBoxWidth = viewBox[2];
|
|
44
35
|
const viewBoxHeight = viewBox[3];
|
|
45
36
|
const aspectRatio = viewBoxWidth / viewBoxHeight;
|
|
46
|
-
height =
|
|
37
|
+
height = width ? width / aspectRatio : 300 / aspectRatio;
|
|
47
38
|
}
|
|
48
39
|
return { width: width ?? 0, height: height ?? 0 };
|
|
49
40
|
}
|
|
41
|
+
export class SvgData {
|
|
42
|
+
static fromNative(value) {
|
|
43
|
+
if (value) {
|
|
44
|
+
const data = new SvgData();
|
|
45
|
+
data.native = value;
|
|
46
|
+
return data;
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
get width() {
|
|
51
|
+
return this.native?.getWidth?.() ?? 0;
|
|
52
|
+
}
|
|
53
|
+
get height() {
|
|
54
|
+
return this.native?.getHeight?.() ?? 0;
|
|
55
|
+
}
|
|
56
|
+
get data() {
|
|
57
|
+
const data = this.native?.getData?.();
|
|
58
|
+
if (data) {
|
|
59
|
+
return ArrayBuffer.from(data);
|
|
60
|
+
}
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
50
64
|
export class Svg extends SVGBase {
|
|
51
65
|
constructor() {
|
|
52
66
|
super();
|
|
@@ -92,17 +106,17 @@ export class Svg extends SVGBase {
|
|
|
92
106
|
__redraw() {
|
|
93
107
|
if (this._attachedToDom) {
|
|
94
108
|
const domCopy = this.__domElement.valueOf();
|
|
95
|
-
|
|
96
|
-
|
|
109
|
+
const width = domCopy.getAttribute('width');
|
|
110
|
+
const height = domCopy.getAttribute('height');
|
|
97
111
|
const viewBox = domCopy.getAttribute('viewBox');
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
112
|
+
if (!width) {
|
|
113
|
+
domCopy.setAttribute('width', `300`);
|
|
114
|
+
}
|
|
115
|
+
if (!height) {
|
|
116
|
+
domCopy.setAttribute('height', `150`);
|
|
117
|
+
}
|
|
104
118
|
if (!viewBox) {
|
|
105
|
-
domCopy.setAttribute('viewBox', '0 0
|
|
119
|
+
domCopy.setAttribute('viewBox', '0 0 100 100');
|
|
106
120
|
}
|
|
107
121
|
const serialized = this._serializer.serializeToString(domCopy);
|
|
108
122
|
if (serialized !== initialSVG) {
|
|
@@ -136,12 +150,8 @@ export class Svg extends SVGBase {
|
|
|
136
150
|
if (value.indexOf('<svg') > -1) {
|
|
137
151
|
const { width, height } = parseSVGDimensions(value);
|
|
138
152
|
if (width > 0 && height > 0) {
|
|
139
|
-
const svg = org.nativescript.canvas.svg.NSCSVG.fromStringSync(context, width
|
|
140
|
-
|
|
141
|
-
view._svg = svg;
|
|
142
|
-
view.width = width;
|
|
143
|
-
view.height = height;
|
|
144
|
-
return view;
|
|
153
|
+
const svg = org.nativescript.canvas.svg.NSCSVG.fromStringSync(context, width, height, value);
|
|
154
|
+
return SvgData.fromNative(svg);
|
|
145
155
|
}
|
|
146
156
|
}
|
|
147
157
|
else {
|
|
@@ -159,12 +169,7 @@ export class Svg extends SVGBase {
|
|
|
159
169
|
}
|
|
160
170
|
catch (error) { }
|
|
161
171
|
if (nativeSvg) {
|
|
162
|
-
|
|
163
|
-
view._svg = nativeSvg;
|
|
164
|
-
const lp = nativeSvg.getLayoutParams();
|
|
165
|
-
view.width = lp.width / Screen.mainScreen.scale;
|
|
166
|
-
view.height = lp.height / Screen.mainScreen.scale;
|
|
167
|
-
return view;
|
|
172
|
+
return SvgData.fromNative(nativeSvg);
|
|
168
173
|
}
|
|
169
174
|
}
|
|
170
175
|
}
|
|
@@ -177,13 +182,10 @@ export class Svg extends SVGBase {
|
|
|
177
182
|
if (value.indexOf('<svg') > -1) {
|
|
178
183
|
const { width, height } = parseSVGDimensions(value);
|
|
179
184
|
if (width > 0 && height > 0) {
|
|
180
|
-
org.nativescript.canvas.svg.NSCSVG.fromString(context, width
|
|
185
|
+
org.nativescript.canvas.svg.NSCSVG.fromString(context, width, height, value, new org.nativescript.canvas.svg.NSCSVG.Callback({
|
|
181
186
|
onSuccess(svg) {
|
|
182
|
-
const
|
|
183
|
-
|
|
184
|
-
view.width = width;
|
|
185
|
-
view.height = height;
|
|
186
|
-
resolve(view);
|
|
187
|
+
const ret = SvgData.fromNative(svg);
|
|
188
|
+
resolve(ret);
|
|
187
189
|
},
|
|
188
190
|
}));
|
|
189
191
|
return;
|
|
@@ -193,12 +195,8 @@ export class Svg extends SVGBase {
|
|
|
193
195
|
const cb = new org.nativescript.canvas.svg.NSCSVG.Callback({
|
|
194
196
|
onSuccess(nativeSvg) {
|
|
195
197
|
if (nativeSvg) {
|
|
196
|
-
const
|
|
197
|
-
|
|
198
|
-
view._svg = nativeSvg;
|
|
199
|
-
view.width = lp.width / Screen.mainScreen.scale;
|
|
200
|
-
view.height = lp.height / Screen.mainScreen.scale;
|
|
201
|
-
resolve(view);
|
|
198
|
+
const ret = SvgData.fromNative(nativeSvg);
|
|
199
|
+
resolve(ret);
|
|
202
200
|
}
|
|
203
201
|
else {
|
|
204
202
|
reject(new Error('Failed to parse SVG'));
|
package/index.android.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../../packages/canvas-svg/index.android.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../../packages/canvas-svg/index.android.ts"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -2,6 +2,16 @@ export * from './Elements';
|
|
|
2
2
|
import { SVGBase } from './common';
|
|
3
3
|
|
|
4
4
|
export class Svg extends SVGBase {
|
|
5
|
-
static fromSrcSync(value: string):
|
|
6
|
-
static fromSrc(value: string): Promise<
|
|
5
|
+
static fromSrcSync(value: string): SvgData | null;
|
|
6
|
+
static fromSrc(value: string): Promise<SvgData>;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export class SvgData {
|
|
10
|
+
readonly native: any;
|
|
11
|
+
|
|
12
|
+
readonly width: number;
|
|
13
|
+
|
|
14
|
+
readonly height: number;
|
|
15
|
+
|
|
16
|
+
readonly data: ArrayBuffer | null;
|
|
7
17
|
}
|
package/index.ios.d.ts
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { SVGBase } from './common';
|
|
2
2
|
import { SVGItem } from './Elements/SVGItem';
|
|
3
3
|
export * from './Elements';
|
|
4
|
+
export declare class SvgData {
|
|
5
|
+
native: any;
|
|
6
|
+
static fromNative(value: any): SvgData;
|
|
7
|
+
get width(): number;
|
|
8
|
+
get height(): number;
|
|
9
|
+
get data(): ArrayBuffer | null;
|
|
10
|
+
}
|
|
4
11
|
export declare class Svg extends SVGBase {
|
|
5
12
|
_svg: any;
|
|
6
13
|
constructor();
|
|
@@ -13,6 +20,6 @@ export declare class Svg extends SVGBase {
|
|
|
13
20
|
onUnloaded(): void;
|
|
14
21
|
addChild(view: SVGItem): void;
|
|
15
22
|
removeChild(view: SVGItem): void;
|
|
16
|
-
static fromSrcSync(value: string):
|
|
17
|
-
static fromSrc(value: string): Promise<
|
|
23
|
+
static fromSrcSync(value: string): SvgData | null;
|
|
24
|
+
static fromSrc(value: string): Promise<SvgData>;
|
|
18
25
|
}
|
package/index.ios.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SVGBase, srcProperty, syncProperty, initialSVG } from './common';
|
|
2
|
-
import { Http, knownFolders, path,
|
|
2
|
+
import { Http, knownFolders, path, Utils } from '@nativescript/core';
|
|
3
3
|
export * from './Elements';
|
|
4
4
|
function parseSVGDimensions(svgString) {
|
|
5
5
|
const svgRegex = /<svg([^>]*)>/i;
|
|
@@ -8,45 +8,59 @@ function parseSVGDimensions(svgString) {
|
|
|
8
8
|
return { width: 0, height: 0 };
|
|
9
9
|
}
|
|
10
10
|
const svgAttributes = match[1];
|
|
11
|
-
const regex = /\b(
|
|
12
|
-
const matches = svgAttributes.match(regex);
|
|
11
|
+
const regex = /\b(width|height|viewBox)\s*=\s*"([^"]+)"/g;
|
|
13
12
|
let width, height, viewBox;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
else if (attributeName === 'viewBox') {
|
|
30
|
-
if (viewBox === undefined) {
|
|
31
|
-
viewBox = attributeValue.split(' ').map(parseFloat).splice(0, 4);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
});
|
|
13
|
+
let attributeMatch;
|
|
14
|
+
while ((attributeMatch = regex.exec(svgAttributes)) !== null) {
|
|
15
|
+
const attributeName = attributeMatch[1];
|
|
16
|
+
const attributeValue = attributeMatch[2];
|
|
17
|
+
if (attributeName === 'width') {
|
|
18
|
+
width = parseFloat(attributeValue) || undefined;
|
|
19
|
+
}
|
|
20
|
+
else if (attributeName === 'height') {
|
|
21
|
+
height = parseFloat(attributeValue) || undefined;
|
|
22
|
+
}
|
|
23
|
+
else if (attributeName === 'viewBox') {
|
|
24
|
+
viewBox = attributeValue.split(' ').map(Number);
|
|
25
|
+
}
|
|
35
26
|
}
|
|
36
27
|
if (!width && viewBox && viewBox.length === 4) {
|
|
37
28
|
const viewBoxWidth = viewBox[2];
|
|
38
29
|
const viewBoxHeight = viewBox[3];
|
|
39
30
|
const aspectRatio = viewBoxWidth / viewBoxHeight;
|
|
40
|
-
width =
|
|
31
|
+
width = height ? height * aspectRatio : 150 * aspectRatio;
|
|
41
32
|
}
|
|
42
33
|
if (!height && viewBox && viewBox.length === 4) {
|
|
43
34
|
const viewBoxWidth = viewBox[2];
|
|
44
35
|
const viewBoxHeight = viewBox[3];
|
|
45
36
|
const aspectRatio = viewBoxWidth / viewBoxHeight;
|
|
46
|
-
height =
|
|
37
|
+
height = width ? width / aspectRatio : 300 / aspectRatio;
|
|
47
38
|
}
|
|
48
39
|
return { width: width ?? 0, height: height ?? 0 };
|
|
49
40
|
}
|
|
41
|
+
export class SvgData {
|
|
42
|
+
static fromNative(value) {
|
|
43
|
+
if (value) {
|
|
44
|
+
const data = new SvgData();
|
|
45
|
+
data.native = value;
|
|
46
|
+
return data;
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
get width() {
|
|
51
|
+
return this.native?.width ?? 0;
|
|
52
|
+
}
|
|
53
|
+
get height() {
|
|
54
|
+
return this.native?.height ?? 0;
|
|
55
|
+
}
|
|
56
|
+
get data() {
|
|
57
|
+
const data = this.native?.data;
|
|
58
|
+
if (data) {
|
|
59
|
+
return interop.bufferFromData(data);
|
|
60
|
+
}
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
50
64
|
export class Svg extends SVGBase {
|
|
51
65
|
constructor() {
|
|
52
66
|
super();
|
|
@@ -105,10 +119,10 @@ export class Svg extends SVGBase {
|
|
|
105
119
|
const height = domCopy.getAttribute('height');
|
|
106
120
|
const viewBox = domCopy.getAttribute('viewBox');
|
|
107
121
|
if (!width) {
|
|
108
|
-
domCopy.setAttribute('width',
|
|
122
|
+
domCopy.setAttribute('width', `300`);
|
|
109
123
|
}
|
|
110
124
|
if (!height) {
|
|
111
|
-
domCopy.setAttribute('height',
|
|
125
|
+
domCopy.setAttribute('height', `150`);
|
|
112
126
|
}
|
|
113
127
|
if (!viewBox) {
|
|
114
128
|
domCopy.setAttribute('viewBox', '0 0 100 100');
|
|
@@ -144,13 +158,8 @@ export class Svg extends SVGBase {
|
|
|
144
158
|
if (value.indexOf('<svg') > -1) {
|
|
145
159
|
const { width, height } = parseSVGDimensions(value);
|
|
146
160
|
if (width > 0 && height > 0) {
|
|
147
|
-
const
|
|
148
|
-
|
|
149
|
-
const view = new Svg();
|
|
150
|
-
view._svg = svg;
|
|
151
|
-
view.width = svg.frame.size.width;
|
|
152
|
-
view.height = svg.frame.size.height;
|
|
153
|
-
return view;
|
|
161
|
+
const native = NSCSVG.fromSVGStringSync(value);
|
|
162
|
+
return SvgData.fromNative(native);
|
|
154
163
|
}
|
|
155
164
|
}
|
|
156
165
|
else {
|
|
@@ -168,12 +177,7 @@ export class Svg extends SVGBase {
|
|
|
168
177
|
}
|
|
169
178
|
catch (error) { }
|
|
170
179
|
if (nativeSvg) {
|
|
171
|
-
|
|
172
|
-
view._svg = nativeSvg;
|
|
173
|
-
const frame = nativeSvg.frame.size;
|
|
174
|
-
view.width = frame.width;
|
|
175
|
-
view.height = frame.height;
|
|
176
|
-
return view;
|
|
180
|
+
return SvgData.fromNative(nativeSvg);
|
|
177
181
|
}
|
|
178
182
|
}
|
|
179
183
|
}
|
|
@@ -186,11 +190,8 @@ export class Svg extends SVGBase {
|
|
|
186
190
|
const { width, height } = parseSVGDimensions(value);
|
|
187
191
|
if (width > 0 && height > 0) {
|
|
188
192
|
NSCSVG.fromString(value, (svg) => {
|
|
189
|
-
const
|
|
190
|
-
|
|
191
|
-
view.width = width;
|
|
192
|
-
view.height = height;
|
|
193
|
-
resolve(view);
|
|
193
|
+
const ret = SvgData.fromNative(svg);
|
|
194
|
+
resolve(ret);
|
|
194
195
|
});
|
|
195
196
|
return;
|
|
196
197
|
}
|
|
@@ -198,12 +199,8 @@ export class Svg extends SVGBase {
|
|
|
198
199
|
else {
|
|
199
200
|
const cb = (nativeSvg) => {
|
|
200
201
|
if (nativeSvg) {
|
|
201
|
-
const
|
|
202
|
-
|
|
203
|
-
view._svg = nativeSvg;
|
|
204
|
-
view.width = lp.width;
|
|
205
|
-
view.height = lp.height;
|
|
206
|
-
resolve(view);
|
|
202
|
+
const ret = SvgData.fromNative(nativeSvg);
|
|
203
|
+
resolve(ret);
|
|
207
204
|
}
|
|
208
205
|
else {
|
|
209
206
|
reject(new Error('Failed to parse SVG'));
|
package/index.ios.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../packages/canvas-svg/index.ios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../packages/canvas-svg/index.ios.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
package/platforms/ios/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Headers/CanvasSVG-Swift.h
CHANGED
|
@@ -278,6 +278,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
|
|
|
278
278
|
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
|
|
279
279
|
#endif
|
|
280
280
|
@import CoreFoundation;
|
|
281
|
+
@import ObjectiveC;
|
|
281
282
|
@import UIKit;
|
|
282
283
|
#endif
|
|
283
284
|
|
|
@@ -303,12 +304,10 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
|
|
|
303
304
|
@class NSCoder;
|
|
304
305
|
@class UIImage;
|
|
305
306
|
@class NSData;
|
|
307
|
+
@class NSCSVGData;
|
|
306
308
|
|
|
307
309
|
SWIFT_CLASS_NAMED("NSCSVG")
|
|
308
310
|
@interface NSCSVG : UIView
|
|
309
|
-
@property (nonatomic, readonly) void * _Nullable data;
|
|
310
|
-
@property (nonatomic, readonly) CGSize data_size;
|
|
311
|
-
@property (nonatomic, readonly) NSUInteger buf_size;
|
|
312
311
|
@property (nonatomic) BOOL autoScale;
|
|
313
312
|
@property (nonatomic, copy) NSString * _Nullable src;
|
|
314
313
|
@property (nonatomic, copy) NSString * _Nullable srcPath;
|
|
@@ -319,12 +318,24 @@ SWIFT_CLASS_NAMED("NSCSVG")
|
|
|
319
318
|
- (void)drawRect:(CGRect)rect;
|
|
320
319
|
- (UIImage * _Nullable)toImage SWIFT_WARN_UNUSED_RESULT;
|
|
321
320
|
- (NSData * _Nullable)toData SWIFT_WARN_UNUSED_RESULT;
|
|
322
|
-
+ (
|
|
323
|
-
+ (
|
|
324
|
-
+ (
|
|
325
|
-
+ (void)fromString:(NSString * _Nonnull)source :(void (^ _Nonnull)(
|
|
326
|
-
+ (void)fromPath:(NSString * _Nonnull)path :(void (^ _Nonnull)(
|
|
327
|
-
+ (void)fromRemote:(NSString * _Nonnull)path :(void (^ _Nonnull)(
|
|
321
|
+
+ (NSCSVGData * _Nullable)fromStringSync:(NSString * _Nonnull)source SWIFT_WARN_UNUSED_RESULT;
|
|
322
|
+
+ (NSCSVGData * _Nullable)fromPathSync:(NSString * _Nonnull)path SWIFT_WARN_UNUSED_RESULT;
|
|
323
|
+
+ (NSCSVGData * _Nullable)fromRemoteSync:(NSString * _Nonnull)path SWIFT_WARN_UNUSED_RESULT;
|
|
324
|
+
+ (void)fromString:(NSString * _Nonnull)source :(void (^ _Nonnull)(NSCSVGData * _Nullable))callback;
|
|
325
|
+
+ (void)fromPath:(NSString * _Nonnull)path :(void (^ _Nonnull)(NSCSVGData * _Nullable))callback;
|
|
326
|
+
+ (void)fromRemote:(NSString * _Nonnull)path :(void (^ _Nonnull)(NSCSVGData * _Nullable))callback;
|
|
327
|
+
@end
|
|
328
|
+
|
|
329
|
+
@class NSMutableData;
|
|
330
|
+
|
|
331
|
+
SWIFT_CLASS_NAMED("NSCSVGData")
|
|
332
|
+
@interface NSCSVGData : NSObject
|
|
333
|
+
@property (nonatomic, readonly) CGFloat width;
|
|
334
|
+
@property (nonatomic, readonly) CGFloat height;
|
|
335
|
+
@property (nonatomic, readonly) void * _Nullable rawData;
|
|
336
|
+
@property (nonatomic, readonly, strong) NSMutableData * _Nullable data;
|
|
337
|
+
- (UIImage * _Nullable)getImage SWIFT_WARN_UNUSED_RESULT;
|
|
338
|
+
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
|
|
328
339
|
@end
|
|
329
340
|
|
|
330
341
|
#endif
|
package/platforms/ios/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Headers/canvas_svg.h
CHANGED
|
@@ -8,6 +8,16 @@
|
|
|
8
8
|
#include <stdint.h>
|
|
9
9
|
#include <stdlib.h>
|
|
10
10
|
|
|
11
|
+
#if defined(TARGET_OS_IOS)
|
|
12
|
+
void canvas_native_svg_draw_from_bytes(uint8_t *data,
|
|
13
|
+
uintptr_t size,
|
|
14
|
+
float width,
|
|
15
|
+
float height,
|
|
16
|
+
float scale,
|
|
17
|
+
const uint8_t *svg_data,
|
|
18
|
+
uintptr_t svg_size);
|
|
19
|
+
#endif
|
|
20
|
+
|
|
11
21
|
#if defined(TARGET_OS_IOS)
|
|
12
22
|
void canvas_native_svg_draw_from_string(uint8_t *data,
|
|
13
23
|
uintptr_t size,
|