@shopify/react-native-skia 1.4.2 → 1.5.1

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.
Files changed (122) hide show
  1. package/android/CMakeLists.txt +38 -6
  2. package/android/build.gradle +1 -0
  3. package/android/cpp/jni/include/JniSkiaBaseView.h +0 -4
  4. package/android/cpp/jni/include/JniSkiaDomView.h +0 -6
  5. package/android/cpp/jni/include/JniSkiaPictureView.h +0 -6
  6. package/android/cpp/rnskia-android/RNSkAndroidView.h +0 -20
  7. package/android/src/main/java/com/shopify/reactnative/skia/SkiaBaseView.java +0 -72
  8. package/cpp/rnskia/RNSkDomView.cpp +0 -79
  9. package/cpp/rnskia/RNSkDomView.h +1 -39
  10. package/cpp/rnskia/RNSkPictureView.h +0 -1
  11. package/cpp/rnskia/RNSkView.h +0 -17
  12. package/ios/RNSkia-iOS/DisplayLink.mm +7 -0
  13. package/ios/RNSkia-iOS/SkiaUIView.mm +0 -51
  14. package/lib/commonjs/mock/index.js +0 -1
  15. package/lib/commonjs/mock/index.js.map +1 -1
  16. package/lib/commonjs/renderer/Canvas.d.ts +1 -2
  17. package/lib/commonjs/renderer/Canvas.js +0 -3
  18. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  19. package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
  20. package/lib/commonjs/views/SkiaBaseWebView.d.ts +2 -11
  21. package/lib/commonjs/views/SkiaBaseWebView.js +3 -31
  22. package/lib/commonjs/views/SkiaBaseWebView.js.map +1 -1
  23. package/lib/commonjs/views/SkiaDomView.js +0 -12
  24. package/lib/commonjs/views/SkiaDomView.js.map +1 -1
  25. package/lib/commonjs/views/SkiaDomView.web.d.ts +2 -2
  26. package/lib/commonjs/views/SkiaDomView.web.js +1 -6
  27. package/lib/commonjs/views/SkiaDomView.web.js.map +1 -1
  28. package/lib/commonjs/views/SkiaJSDomView.js +0 -12
  29. package/lib/commonjs/views/SkiaJSDomView.js.map +1 -1
  30. package/lib/commonjs/views/index.d.ts +0 -1
  31. package/lib/commonjs/views/index.js +0 -11
  32. package/lib/commonjs/views/index.js.map +1 -1
  33. package/lib/commonjs/views/types.d.ts +0 -26
  34. package/lib/commonjs/views/types.js +0 -8
  35. package/lib/commonjs/views/types.js.map +1 -1
  36. package/lib/commonjs/web/WithSkiaWeb.js +4 -1
  37. package/lib/commonjs/web/WithSkiaWeb.js.map +1 -1
  38. package/lib/module/mock/index.js +0 -1
  39. package/lib/module/mock/index.js.map +1 -1
  40. package/lib/module/renderer/Canvas.d.ts +1 -2
  41. package/lib/module/renderer/Canvas.js +0 -3
  42. package/lib/module/renderer/Canvas.js.map +1 -1
  43. package/lib/module/skia/web/JsiSkia.js.map +1 -1
  44. package/lib/module/views/SkiaBaseWebView.d.ts +2 -11
  45. package/lib/module/views/SkiaBaseWebView.js +3 -31
  46. package/lib/module/views/SkiaBaseWebView.js.map +1 -1
  47. package/lib/module/views/SkiaDomView.js +0 -12
  48. package/lib/module/views/SkiaDomView.js.map +1 -1
  49. package/lib/module/views/SkiaDomView.web.d.ts +2 -2
  50. package/lib/module/views/SkiaDomView.web.js +1 -6
  51. package/lib/module/views/SkiaDomView.web.js.map +1 -1
  52. package/lib/module/views/SkiaJSDomView.js +0 -12
  53. package/lib/module/views/SkiaJSDomView.js.map +1 -1
  54. package/lib/module/views/index.d.ts +0 -1
  55. package/lib/module/views/index.js +0 -1
  56. package/lib/module/views/index.js.map +1 -1
  57. package/lib/module/views/types.d.ts +0 -26
  58. package/lib/module/views/types.js +1 -7
  59. package/lib/module/views/types.js.map +1 -1
  60. package/lib/module/web/WithSkiaWeb.js +4 -1
  61. package/lib/module/web/WithSkiaWeb.js.map +1 -1
  62. package/lib/typescript/lib/commonjs/mock/index.d.ts +0 -1
  63. package/lib/typescript/lib/commonjs/views/SkiaBaseWebView.d.ts +0 -3
  64. package/lib/typescript/lib/commonjs/views/SkiaDomView.web.d.ts +1 -1
  65. package/lib/typescript/lib/commonjs/views/types.d.ts +0 -1
  66. package/lib/typescript/lib/module/mock/index.d.ts +0 -1
  67. package/lib/typescript/lib/module/views/SkiaBaseWebView.d.ts +0 -3
  68. package/lib/typescript/lib/module/views/SkiaDomView.web.d.ts +1 -1
  69. package/lib/typescript/lib/module/views/index.d.ts +0 -1
  70. package/lib/typescript/lib/module/views/types.d.ts +1 -1
  71. package/lib/typescript/src/renderer/Canvas.d.ts +1 -2
  72. package/lib/typescript/src/views/SkiaBaseWebView.d.ts +2 -11
  73. package/lib/typescript/src/views/SkiaDomView.web.d.ts +2 -2
  74. package/lib/typescript/src/views/index.d.ts +0 -1
  75. package/lib/typescript/src/views/types.d.ts +0 -26
  76. package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  77. package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  78. package/libs/ios/libskottie.xcframework/Info.plist +5 -5
  79. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  80. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  81. package/libs/ios/libskparagraph.xcframework/Info.plist +5 -5
  82. package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
  83. package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
  84. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  85. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  86. package/libs/ios/libskshaper.xcframework/Info.plist +5 -5
  87. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  88. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  89. package/libs/ios/libskunicode_core.xcframework/ios-arm64_arm64e/libskunicode_core.a +0 -0
  90. package/libs/ios/libskunicode_core.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_core.a +0 -0
  91. package/libs/ios/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e/libskunicode_libgrapheme.a +0 -0
  92. package/libs/ios/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_libgrapheme.a +0 -0
  93. package/libs/ios/libsvg.xcframework/Info.plist +5 -5
  94. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  95. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  96. package/package.json +3 -6
  97. package/src/mock/index.ts +0 -1
  98. package/src/renderer/Canvas.tsx +1 -5
  99. package/src/renderer/__tests__/setup.tsx +0 -2
  100. package/src/skia/web/JsiSkia.ts +1 -1
  101. package/src/views/SkiaBaseWebView.tsx +5 -42
  102. package/src/views/SkiaDomView.tsx +2 -14
  103. package/src/views/SkiaDomView.web.tsx +2 -9
  104. package/src/views/SkiaJSDomView.tsx +2 -14
  105. package/src/views/index.ts +0 -1
  106. package/src/views/types.ts +0 -32
  107. package/src/web/WithSkiaWeb.tsx +3 -1
  108. package/cpp/rnskia/RNSkInfoParameter.h +0 -92
  109. package/lib/commonjs/renderer/__tests__/TouchHandler.spec.d.ts +0 -1
  110. package/lib/commonjs/views/useTouchHandler.d.ts +0 -22
  111. package/lib/commonjs/views/useTouchHandler.js +0 -83
  112. package/lib/commonjs/views/useTouchHandler.js.map +0 -1
  113. package/lib/module/renderer/__tests__/TouchHandler.spec.d.ts +0 -1
  114. package/lib/module/views/useTouchHandler.d.ts +0 -22
  115. package/lib/module/views/useTouchHandler.js +0 -75
  116. package/lib/module/views/useTouchHandler.js.map +0 -1
  117. package/lib/typescript/lib/commonjs/views/useTouchHandler.d.ts +0 -12
  118. package/lib/typescript/lib/module/views/useTouchHandler.d.ts +0 -2
  119. package/lib/typescript/src/renderer/__tests__/TouchHandler.spec.d.ts +0 -1
  120. package/lib/typescript/src/views/useTouchHandler.d.ts +0 -22
  121. package/src/renderer/__tests__/TouchHandler.spec.tsx +0 -113
  122. package/src/views/useTouchHandler.ts +0 -107
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./SkiaPictureView\";\nexport * from \"./SkiaDomView\";\nexport * from \"./types\";\nexport * from \"./useTouchHandler\";\n"],"mappings":"AAAA,cAAc,mBAAmB;AACjC,cAAc,eAAe;AAC7B,cAAc,SAAS;AACvB,cAAc,mBAAmB","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./SkiaPictureView\";\nexport * from \"./SkiaDomView\";\nexport * from \"./types\";\n"],"mappings":"AAAA,cAAc,mBAAmB;AACjC,cAAc,eAAe;AAC7B,cAAc,SAAS","ignoreList":[]}
@@ -7,36 +7,11 @@ export type NativeSkiaViewProps = ViewProps & {
7
7
  mode?: DrawMode;
8
8
  debug?: boolean;
9
9
  };
10
- export declare enum TouchType {
11
- Start = 0,
12
- Active = 1,
13
- End = 2,
14
- Cancelled = 3
15
- }
16
- export interface TouchInfo {
17
- x: number;
18
- y: number;
19
- force: number;
20
- type: TouchType;
21
- id: number;
22
- timestamp: number;
23
- }
24
10
  export interface DrawingInfo {
25
11
  width: number;
26
12
  height: number;
27
13
  timestamp: number;
28
- touches: Array<Array<TouchInfo>>;
29
14
  }
30
- export type ExtendedTouchInfo = TouchInfo & {
31
- velocityX: number;
32
- velocityY: number;
33
- };
34
- export type TouchHandlers = {
35
- onStart?: (touchInfo: TouchInfo) => void;
36
- onActive?: (touchInfo: ExtendedTouchInfo) => void;
37
- onEnd?: (touchInfo: ExtendedTouchInfo) => void;
38
- };
39
- export type TouchHandler = (touchInfo: Array<Array<TouchInfo>>) => void;
40
15
  export interface ISkiaViewApi {
41
16
  setJsiProperty: <T>(nativeId: number, name: string, value: T) => void;
42
17
  requestRedraw: (nativeId: number) => void;
@@ -68,5 +43,4 @@ export interface SkiaPictureViewProps extends SkiaBaseViewProps {
68
43
  }
69
44
  export interface SkiaDomViewProps extends SkiaBaseViewProps {
70
45
  root?: RenderNode<GroupProps>;
71
- onTouch?: TouchHandler;
72
46
  }
@@ -1,8 +1,2 @@
1
- export let TouchType = /*#__PURE__*/function (TouchType) {
2
- TouchType[TouchType["Start"] = 0] = "Start";
3
- TouchType[TouchType["Active"] = 1] = "Active";
4
- TouchType[TouchType["End"] = 2] = "End";
5
- TouchType[TouchType["Cancelled"] = 3] = "Cancelled";
6
- return TouchType;
7
- }({});
1
+ export {};
8
2
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TouchType"],"sources":["types.ts"],"sourcesContent":["import type { ViewProps } from \"react-native\";\n\nimport type { GroupProps, RenderNode } from \"../dom/types\";\nimport type { SkImage, SkPicture, SkRect, SkSize } from \"../skia/types\";\nimport type { SharedValueType } from \"../renderer/processors/Animations/Animations\";\n\nexport type DrawMode = \"continuous\" | \"default\";\n\nexport type NativeSkiaViewProps = ViewProps & {\n mode?: DrawMode;\n debug?: boolean;\n};\n\nexport enum TouchType {\n Start,\n Active,\n End,\n Cancelled,\n}\n\nexport interface TouchInfo {\n x: number;\n y: number;\n force: number;\n type: TouchType;\n id: number;\n timestamp: number;\n}\n\nexport interface DrawingInfo {\n width: number;\n height: number;\n timestamp: number;\n touches: Array<Array<TouchInfo>>;\n}\n\nexport type ExtendedTouchInfo = TouchInfo & {\n // points per second\n velocityX: number;\n velocityY: number;\n};\n\nexport type TouchHandlers = {\n onStart?: (touchInfo: TouchInfo) => void;\n onActive?: (touchInfo: ExtendedTouchInfo) => void;\n onEnd?: (touchInfo: ExtendedTouchInfo) => void;\n};\n\nexport type TouchHandler = (touchInfo: Array<Array<TouchInfo>>) => void;\n\nexport interface ISkiaViewApi {\n setJsiProperty: <T>(nativeId: number, name: string, value: T) => void;\n requestRedraw: (nativeId: number) => void;\n makeImageSnapshot: (nativeId: number, rect?: SkRect) => SkImage;\n makeImageSnapshotAsync: (nativeId: number, rect?: SkRect) => Promise<SkImage>;\n}\n\nexport interface SkiaBaseViewProps extends ViewProps {\n /**\n * Sets the drawing mode for the skia view. There are two drawing\n * modes, \"continuous\" and \"default\", where the continuous mode will\n * continuously redraw the view, and the default mode will only\n * redraw when any of the regular react properties are changed like\n * sizes and margins.\n */\n mode?: DrawMode;\n /**\n * When set to true the view will display information about the\n * average time it takes to render.\n */\n debug?: boolean;\n /**\n * Pass an animated value to the onSize property to get updates when\n * the Skia view is resized.\n */\n onSize?: SharedValueType<SkSize>;\n}\n\nexport interface SkiaPictureViewProps extends SkiaBaseViewProps {\n picture?: SkPicture;\n}\n\nexport interface SkiaDomViewProps extends SkiaBaseViewProps {\n root?: RenderNode<GroupProps>;\n onTouch?: TouchHandler;\n}\n"],"mappings":"AAaA,WAAYA,SAAS,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { ViewProps } from \"react-native\";\n\nimport type { GroupProps, RenderNode } from \"../dom/types\";\nimport type { SkImage, SkPicture, SkRect, SkSize } from \"../skia/types\";\nimport type { SharedValueType } from \"../renderer/processors/Animations/Animations\";\n\nexport type DrawMode = \"continuous\" | \"default\";\n\nexport type NativeSkiaViewProps = ViewProps & {\n mode?: DrawMode;\n debug?: boolean;\n};\n\nexport interface DrawingInfo {\n width: number;\n height: number;\n timestamp: number;\n}\n\nexport interface ISkiaViewApi {\n setJsiProperty: <T>(nativeId: number, name: string, value: T) => void;\n requestRedraw: (nativeId: number) => void;\n makeImageSnapshot: (nativeId: number, rect?: SkRect) => SkImage;\n makeImageSnapshotAsync: (nativeId: number, rect?: SkRect) => Promise<SkImage>;\n}\n\nexport interface SkiaBaseViewProps extends ViewProps {\n /**\n * Sets the drawing mode for the skia view. There are two drawing\n * modes, \"continuous\" and \"default\", where the continuous mode will\n * continuously redraw the view, and the default mode will only\n * redraw when any of the regular react properties are changed like\n * sizes and margins.\n */\n mode?: DrawMode;\n /**\n * When set to true the view will display information about the\n * average time it takes to render.\n */\n debug?: boolean;\n /**\n * Pass an animated value to the onSize property to get updates when\n * the Skia view is resized.\n */\n onSize?: SharedValueType<SkSize>;\n}\n\nexport interface SkiaPictureViewProps extends SkiaBaseViewProps {\n picture?: SkPicture;\n}\n\nexport interface SkiaDomViewProps extends SkiaBaseViewProps {\n root?: RenderNode<GroupProps>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -17,7 +17,10 @@ export const WithSkiaWeb = ({
17
17
  console.warn("<WithSkiaWeb /> is only necessary on web. Consider not using on native.");
18
18
  }
19
19
  return getComponent();
20
- }), [getComponent, opts]);
20
+ }),
21
+ // We we to run this only once.
22
+ // eslint-disable-next-line react-hooks/exhaustive-deps
23
+ []);
21
24
  return /*#__PURE__*/React.createElement(Suspense, {
22
25
  fallback: fallback !== null && fallback !== void 0 ? fallback : null
23
26
  }, /*#__PURE__*/React.createElement(Inner, componentProps));
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","lazy","Suspense","Platform","LoadSkiaWeb","WithSkiaWeb","getComponent","fallback","opts","componentProps","Inner","OS","console","warn","createElement"],"sources":["WithSkiaWeb.tsx"],"sourcesContent":["import type { ComponentProps, ComponentType } from \"react\";\nimport React, { useMemo, lazy, Suspense } from \"react\";\n\nimport { Platform } from \"../Platform\";\n\nimport { LoadSkiaWeb } from \"./LoadSkiaWeb\";\n\ntype NonOptionalKeys<T> = {\n [k in keyof T]-?: undefined extends T[k] ? never : k;\n}[keyof T];\n\ntype WithSkiaProps<TProps> = {\n fallback?: ComponentProps<typeof Suspense>[\"fallback\"];\n getComponent: () => Promise<{ default: ComponentType<TProps> }>;\n opts?: Parameters<typeof LoadSkiaWeb>[0];\n} & (NonOptionalKeys<TProps> extends never\n ? {\n componentProps?: TProps;\n }\n : {\n componentProps: TProps;\n });\n\nexport const WithSkiaWeb = <TProps extends object>({\n getComponent,\n fallback,\n opts,\n componentProps,\n}: WithSkiaProps<TProps>) => {\n const Inner = useMemo(\n // TODO: investigate\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (): any =>\n lazy(async () => {\n if (Platform.OS === \"web\") {\n await LoadSkiaWeb(opts);\n } else {\n console.warn(\n \"<WithSkiaWeb /> is only necessary on web. Consider not using on native.\"\n );\n }\n return getComponent();\n }),\n [getComponent, opts]\n );\n return (\n <Suspense fallback={fallback ?? null}>\n <Inner {...componentProps} />\n </Suspense>\n );\n};\n"],"mappings":"AACA,OAAOA,KAAK,IAAIC,OAAO,EAAEC,IAAI,EAAEC,QAAQ,QAAQ,OAAO;AAEtD,SAASC,QAAQ,QAAQ,aAAa;AAEtC,SAASC,WAAW,QAAQ,eAAe;AAkB3C,OAAO,MAAMC,WAAW,GAAGA,CAAwB;EACjDC,YAAY;EACZC,QAAQ;EACRC,IAAI;EACJC;AACqB,CAAC,KAAK;EAC3B,MAAMC,KAAK,GAAGV,OAAO;EACnB;EACA;EACA,mBACEC,IAAI,CAAC,YAAY;IACf,IAAIE,QAAQ,CAACQ,EAAE,KAAK,KAAK,EAAE;MACzB,MAAMP,WAAW,CAACI,IAAI,CAAC;IACzB,CAAC,MAAM;MACLI,OAAO,CAACC,IAAI,CACV,yEACF,CAAC;IACH;IACA,OAAOP,YAAY,CAAC,CAAC;EACvB,CAAC,CAAC,EACJ,CAACA,YAAY,EAAEE,IAAI,CACrB,CAAC;EACD,oBACET,KAAA,CAAAe,aAAA,CAACZ,QAAQ;IAACK,QAAQ,EAAEA,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAI;EAAK,gBACnCR,KAAA,CAAAe,aAAA,CAACJ,KAAK,EAAKD,cAAiB,CACpB,CAAC;AAEf,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","lazy","Suspense","Platform","LoadSkiaWeb","WithSkiaWeb","getComponent","fallback","opts","componentProps","Inner","OS","console","warn","createElement"],"sources":["WithSkiaWeb.tsx"],"sourcesContent":["import type { ComponentProps, ComponentType } from \"react\";\nimport React, { useMemo, lazy, Suspense } from \"react\";\n\nimport { Platform } from \"../Platform\";\n\nimport { LoadSkiaWeb } from \"./LoadSkiaWeb\";\n\ntype NonOptionalKeys<T> = {\n [k in keyof T]-?: undefined extends T[k] ? never : k;\n}[keyof T];\n\ntype WithSkiaProps<TProps> = {\n fallback?: ComponentProps<typeof Suspense>[\"fallback\"];\n getComponent: () => Promise<{ default: ComponentType<TProps> }>;\n opts?: Parameters<typeof LoadSkiaWeb>[0];\n} & (NonOptionalKeys<TProps> extends never\n ? {\n componentProps?: TProps;\n }\n : {\n componentProps: TProps;\n });\n\nexport const WithSkiaWeb = <TProps extends object>({\n getComponent,\n fallback,\n opts,\n componentProps,\n}: WithSkiaProps<TProps>) => {\n const Inner = useMemo(\n // TODO: investigate\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (): any =>\n lazy(async () => {\n if (Platform.OS === \"web\") {\n await LoadSkiaWeb(opts);\n } else {\n console.warn(\n \"<WithSkiaWeb /> is only necessary on web. Consider not using on native.\"\n );\n }\n return getComponent();\n }),\n // We we to run this only once.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n return (\n <Suspense fallback={fallback ?? null}>\n <Inner {...componentProps} />\n </Suspense>\n );\n};\n"],"mappings":"AACA,OAAOA,KAAK,IAAIC,OAAO,EAAEC,IAAI,EAAEC,QAAQ,QAAQ,OAAO;AAEtD,SAASC,QAAQ,QAAQ,aAAa;AAEtC,SAASC,WAAW,QAAQ,eAAe;AAkB3C,OAAO,MAAMC,WAAW,GAAGA,CAAwB;EACjDC,YAAY;EACZC,QAAQ;EACRC,IAAI;EACJC;AACqB,CAAC,KAAK;EAC3B,MAAMC,KAAK,GAAGV,OAAO;EACnB;EACA;EACA,mBACEC,IAAI,CAAC,YAAY;IACf,IAAIE,QAAQ,CAACQ,EAAE,KAAK,KAAK,EAAE;MACzB,MAAMP,WAAW,CAACI,IAAI,CAAC;IACzB,CAAC,MAAM;MACLI,OAAO,CAACC,IAAI,CACV,yEACF,CAAC;IACH;IACA,OAAOP,YAAY,CAAC,CAAC;EACvB,CAAC,CAAC;EACJ;EACA;EACA,EACF,CAAC;EACD,oBACEP,KAAA,CAAAe,aAAA,CAACZ,QAAQ;IAACK,QAAQ,EAAEA,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAI;EAAK,gBACnCR,KAAA,CAAAe,aAAA,CAACJ,KAAK,EAAKD,cAAiB,CACpB,CAAC;AAEf,CAAC","ignoreList":[]}
@@ -7,7 +7,6 @@ export function Mock(CanvasKit: any): {
7
7
  useComputedValue: () => {
8
8
  current: number;
9
9
  };
10
- useTouchHandler: () => undefined;
11
10
  useTiming: () => {
12
11
  current: number;
13
12
  };
@@ -32,7 +32,6 @@ export class SkiaBaseWebView extends SkiaBaseWebView_base {
32
32
  */
33
33
  tick(): void;
34
34
  _redrawRequests: number | undefined;
35
- _touches: any[] | undefined;
36
35
  requestId: number | undefined;
37
36
  redraw(): void;
38
37
  /**
@@ -45,8 +44,6 @@ export class SkiaBaseWebView extends SkiaBaseWebView_base {
45
44
  * @param mode Drawing mode to use.
46
45
  */
47
46
  setDrawMode(mode: any): void;
48
- handleTouchEvent(evt: any, touchType: any): void;
49
- createTouchHandler(touchType: any): (evt: any) => void;
50
47
  render(): any;
51
48
  }
52
49
  import _JsiSkSurface = require("../skia/web/JsiSkSurface");
@@ -1,5 +1,5 @@
1
1
  export const __esModule: boolean;
2
2
  export class SkiaDomView extends _SkiaBaseWebView.SkiaBaseWebView {
3
- renderInCanvas(canvas: any, touches: any): void;
3
+ renderInCanvas(canvas: any): void;
4
4
  }
5
5
  import _SkiaBaseWebView = require("./SkiaBaseWebView");
@@ -1,2 +1 @@
1
1
  export const __esModule: boolean;
2
- export const TouchType: {};
@@ -6,7 +6,6 @@ export function Mock(CanvasKit: any): {
6
6
  useComputedValue: () => {
7
7
  current: number;
8
8
  };
9
- useTouchHandler: () => undefined;
10
9
  useTiming: () => {
11
10
  current: number;
12
11
  };
@@ -29,7 +29,6 @@ export class SkiaBaseWebView extends React.Component<any, any, any> {
29
29
  */
30
30
  tick(): void;
31
31
  _redrawRequests: number | undefined;
32
- _touches: any[] | undefined;
33
32
  requestId: number | undefined;
34
33
  redraw(): void;
35
34
  /**
@@ -42,8 +41,6 @@ export class SkiaBaseWebView extends React.Component<any, any, any> {
42
41
  * @param mode Drawing mode to use.
43
42
  */
44
43
  setDrawMode(mode: any): void;
45
- handleTouchEvent(evt: any, touchType: any): void;
46
- createTouchHandler(touchType: any): (evt: any) => void;
47
44
  render(): React.CElement<import("react-native").ViewProps, import("react-native").View>;
48
45
  }
49
46
  import React from "react";
@@ -1,4 +1,4 @@
1
1
  export class SkiaDomView extends SkiaBaseWebView {
2
- renderInCanvas(canvas: any, touches: any): void;
2
+ renderInCanvas(canvas: any): void;
3
3
  }
4
4
  import { SkiaBaseWebView } from "./SkiaBaseWebView";
@@ -1,4 +1,3 @@
1
1
  export * from "./SkiaPictureView";
2
2
  export * from "./SkiaDomView";
3
3
  export * from "./types";
4
- export * from "./useTouchHandler";
@@ -1 +1 @@
1
- export let TouchType: {};
1
+ export {};
@@ -1,11 +1,10 @@
1
1
  import React from "react";
2
2
  import type { RefObject, ReactNode, FunctionComponent } from "react";
3
3
  import { SkiaDomView } from "../views";
4
- import type { TouchHandler, SkiaBaseViewProps } from "../views";
4
+ import type { SkiaBaseViewProps } from "../views";
5
5
  export declare const useCanvasRef: () => React.RefObject<SkiaDomView>;
6
6
  export interface CanvasProps extends SkiaBaseViewProps {
7
7
  ref?: RefObject<SkiaDomView>;
8
8
  children: ReactNode;
9
- onTouch?: TouchHandler;
10
9
  }
11
10
  export declare const Canvas: FunctionComponent<CanvasProps & React.RefAttributes<SkiaDomView>>;
@@ -1,13 +1,10 @@
1
1
  import React from "react";
2
- import type { PointerEvent } from "react";
3
2
  import type { SkRect, SkCanvas } from "../skia/types";
4
- import type { DrawMode, SkiaBaseViewProps, TouchInfo } from "./types";
5
- import { TouchType } from "./types";
3
+ import type { DrawMode, SkiaBaseViewProps } from "./types";
6
4
  export declare abstract class SkiaBaseWebView<TProps extends SkiaBaseViewProps> extends React.Component<TProps> {
7
5
  constructor(props: TProps);
8
6
  private _surface;
9
7
  private _unsubscriptions;
10
- private _touches;
11
8
  private _canvas;
12
9
  private _canvasRef;
13
10
  private _mode;
@@ -33,7 +30,7 @@ export declare abstract class SkiaBaseWebView<TProps extends SkiaBaseViewProps>
33
30
  /**
34
31
  * Override to render
35
32
  */
36
- protected abstract renderInCanvas(canvas: SkCanvas, touches: TouchInfo[]): void;
33
+ protected abstract renderInCanvas(canvas: SkCanvas): void;
37
34
  /**
38
35
  * Sends a redraw request to the native SkiaView.
39
36
  */
@@ -49,12 +46,6 @@ export declare abstract class SkiaBaseWebView<TProps extends SkiaBaseViewProps>
49
46
  * @param mode Drawing mode to use.
50
47
  */
51
48
  setDrawMode(mode: DrawMode): void;
52
- private handleTouchEvent;
53
- createTouchHandler(touchType: TouchType): (evt: PointerEvent) => void;
54
- private onStart;
55
- private onActive;
56
- private onCancel;
57
- private onEnd;
58
49
  private onLayout;
59
50
  render(): React.JSX.Element;
60
51
  }
@@ -1,7 +1,7 @@
1
1
  import type { SkCanvas } from "../skia/types";
2
2
  import { SkiaBaseWebView } from "./SkiaBaseWebView";
3
- import type { SkiaDomViewProps, TouchInfo } from "./types";
3
+ import type { SkiaDomViewProps } from "./types";
4
4
  export declare class SkiaDomView extends SkiaBaseWebView<SkiaDomViewProps> {
5
5
  constructor(props: SkiaDomViewProps);
6
- protected renderInCanvas(canvas: SkCanvas, touches: TouchInfo[]): void;
6
+ protected renderInCanvas(canvas: SkCanvas): void;
7
7
  }
@@ -1,4 +1,3 @@
1
1
  export * from "./SkiaPictureView";
2
2
  export * from "./SkiaDomView";
3
3
  export * from "./types";
4
- export * from "./useTouchHandler";
@@ -7,36 +7,11 @@ export type NativeSkiaViewProps = ViewProps & {
7
7
  mode?: DrawMode;
8
8
  debug?: boolean;
9
9
  };
10
- export declare enum TouchType {
11
- Start = 0,
12
- Active = 1,
13
- End = 2,
14
- Cancelled = 3
15
- }
16
- export interface TouchInfo {
17
- x: number;
18
- y: number;
19
- force: number;
20
- type: TouchType;
21
- id: number;
22
- timestamp: number;
23
- }
24
10
  export interface DrawingInfo {
25
11
  width: number;
26
12
  height: number;
27
13
  timestamp: number;
28
- touches: Array<Array<TouchInfo>>;
29
14
  }
30
- export type ExtendedTouchInfo = TouchInfo & {
31
- velocityX: number;
32
- velocityY: number;
33
- };
34
- export type TouchHandlers = {
35
- onStart?: (touchInfo: TouchInfo) => void;
36
- onActive?: (touchInfo: ExtendedTouchInfo) => void;
37
- onEnd?: (touchInfo: ExtendedTouchInfo) => void;
38
- };
39
- export type TouchHandler = (touchInfo: Array<Array<TouchInfo>>) => void;
40
15
  export interface ISkiaViewApi {
41
16
  setJsiProperty: <T>(nativeId: number, name: string, value: T) => void;
42
17
  requestRedraw: (nativeId: number) => void;
@@ -68,5 +43,4 @@ export interface SkiaPictureViewProps extends SkiaBaseViewProps {
68
43
  }
69
44
  export interface SkiaDomViewProps extends SkiaBaseViewProps {
70
45
  root?: RenderNode<GroupProps>;
71
- onTouch?: TouchHandler;
72
46
  }
@@ -8,34 +8,34 @@
8
8
  <key>BinaryPath</key>
9
9
  <string>libskottie.a</string>
10
10
  <key>LibraryIdentifier</key>
11
- <string>ios-arm64_arm64e_x86_64-simulator</string>
11
+ <string>ios-arm64_arm64e</string>
12
12
  <key>LibraryPath</key>
13
13
  <string>libskottie.a</string>
14
14
  <key>SupportedArchitectures</key>
15
15
  <array>
16
16
  <string>arm64</string>
17
17
  <string>arm64e</string>
18
- <string>x86_64</string>
19
18
  </array>
20
19
  <key>SupportedPlatform</key>
21
20
  <string>ios</string>
22
- <key>SupportedPlatformVariant</key>
23
- <string>simulator</string>
24
21
  </dict>
25
22
  <dict>
26
23
  <key>BinaryPath</key>
27
24
  <string>libskottie.a</string>
28
25
  <key>LibraryIdentifier</key>
29
- <string>ios-arm64_arm64e</string>
26
+ <string>ios-arm64_arm64e_x86_64-simulator</string>
30
27
  <key>LibraryPath</key>
31
28
  <string>libskottie.a</string>
32
29
  <key>SupportedArchitectures</key>
33
30
  <array>
34
31
  <string>arm64</string>
35
32
  <string>arm64e</string>
33
+ <string>x86_64</string>
36
34
  </array>
37
35
  <key>SupportedPlatform</key>
38
36
  <string>ios</string>
37
+ <key>SupportedPlatformVariant</key>
38
+ <string>simulator</string>
39
39
  </dict>
40
40
  </array>
41
41
  <key>CFBundlePackageType</key>
@@ -8,34 +8,34 @@
8
8
  <key>BinaryPath</key>
9
9
  <string>libskparagraph.a</string>
10
10
  <key>LibraryIdentifier</key>
11
- <string>ios-arm64_arm64e_x86_64-simulator</string>
11
+ <string>ios-arm64_arm64e</string>
12
12
  <key>LibraryPath</key>
13
13
  <string>libskparagraph.a</string>
14
14
  <key>SupportedArchitectures</key>
15
15
  <array>
16
16
  <string>arm64</string>
17
17
  <string>arm64e</string>
18
- <string>x86_64</string>
19
18
  </array>
20
19
  <key>SupportedPlatform</key>
21
20
  <string>ios</string>
22
- <key>SupportedPlatformVariant</key>
23
- <string>simulator</string>
24
21
  </dict>
25
22
  <dict>
26
23
  <key>BinaryPath</key>
27
24
  <string>libskparagraph.a</string>
28
25
  <key>LibraryIdentifier</key>
29
- <string>ios-arm64_arm64e</string>
26
+ <string>ios-arm64_arm64e_x86_64-simulator</string>
30
27
  <key>LibraryPath</key>
31
28
  <string>libskparagraph.a</string>
32
29
  <key>SupportedArchitectures</key>
33
30
  <array>
34
31
  <string>arm64</string>
35
32
  <string>arm64e</string>
33
+ <string>x86_64</string>
36
34
  </array>
37
35
  <key>SupportedPlatform</key>
38
36
  <string>ios</string>
37
+ <key>SupportedPlatformVariant</key>
38
+ <string>simulator</string>
39
39
  </dict>
40
40
  </array>
41
41
  <key>CFBundlePackageType</key>
@@ -8,34 +8,34 @@
8
8
  <key>BinaryPath</key>
9
9
  <string>libskshaper.a</string>
10
10
  <key>LibraryIdentifier</key>
11
- <string>ios-arm64_arm64e_x86_64-simulator</string>
11
+ <string>ios-arm64_arm64e</string>
12
12
  <key>LibraryPath</key>
13
13
  <string>libskshaper.a</string>
14
14
  <key>SupportedArchitectures</key>
15
15
  <array>
16
16
  <string>arm64</string>
17
17
  <string>arm64e</string>
18
- <string>x86_64</string>
19
18
  </array>
20
19
  <key>SupportedPlatform</key>
21
20
  <string>ios</string>
22
- <key>SupportedPlatformVariant</key>
23
- <string>simulator</string>
24
21
  </dict>
25
22
  <dict>
26
23
  <key>BinaryPath</key>
27
24
  <string>libskshaper.a</string>
28
25
  <key>LibraryIdentifier</key>
29
- <string>ios-arm64_arm64e</string>
26
+ <string>ios-arm64_arm64e_x86_64-simulator</string>
30
27
  <key>LibraryPath</key>
31
28
  <string>libskshaper.a</string>
32
29
  <key>SupportedArchitectures</key>
33
30
  <array>
34
31
  <string>arm64</string>
35
32
  <string>arm64e</string>
33
+ <string>x86_64</string>
36
34
  </array>
37
35
  <key>SupportedPlatform</key>
38
36
  <string>ios</string>
37
+ <key>SupportedPlatformVariant</key>
38
+ <string>simulator</string>
39
39
  </dict>
40
40
  </array>
41
41
  <key>CFBundlePackageType</key>
@@ -8,34 +8,34 @@
8
8
  <key>BinaryPath</key>
9
9
  <string>libsvg.a</string>
10
10
  <key>LibraryIdentifier</key>
11
- <string>ios-arm64_arm64e</string>
11
+ <string>ios-arm64_arm64e_x86_64-simulator</string>
12
12
  <key>LibraryPath</key>
13
13
  <string>libsvg.a</string>
14
14
  <key>SupportedArchitectures</key>
15
15
  <array>
16
16
  <string>arm64</string>
17
17
  <string>arm64e</string>
18
+ <string>x86_64</string>
18
19
  </array>
19
20
  <key>SupportedPlatform</key>
20
21
  <string>ios</string>
22
+ <key>SupportedPlatformVariant</key>
23
+ <string>simulator</string>
21
24
  </dict>
22
25
  <dict>
23
26
  <key>BinaryPath</key>
24
27
  <string>libsvg.a</string>
25
28
  <key>LibraryIdentifier</key>
26
- <string>ios-arm64_arm64e_x86_64-simulator</string>
29
+ <string>ios-arm64_arm64e</string>
27
30
  <key>LibraryPath</key>
28
31
  <string>libsvg.a</string>
29
32
  <key>SupportedArchitectures</key>
30
33
  <array>
31
34
  <string>arm64</string>
32
35
  <string>arm64e</string>
33
- <string>x86_64</string>
34
36
  </array>
35
37
  <key>SupportedPlatform</key>
36
38
  <string>ios</string>
37
- <key>SupportedPlatformVariant</key>
38
- <string>simulator</string>
39
39
  </dict>
40
40
  </array>
41
41
  <key>CFBundlePackageType</key>
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "setup-skia-web": "./scripts/setup-canvaskit.js"
8
8
  },
9
9
  "title": "React Native Skia",
10
- "version": "1.4.2",
10
+ "version": "1.5.1",
11
11
  "description": "High-performance React Native Graphics using Skia",
12
12
  "main": "lib/module/index.js",
13
13
  "react-native": "src/index.ts",
@@ -41,12 +41,9 @@
41
41
  "e2e": "E2E=true yarn test -i e2e",
42
42
  "release": "semantic-release",
43
43
  "build": "bob build && merge-dirs lib/typescript/src lib/commonjs && merge-dirs lib/typescript/src lib/module",
44
- "build-skia-ios-framework": "ts-node ./scripts/build-skia-ios-framework.ts",
45
- "build-skia-ios": "ts-node ./scripts/build-skia-ios.ts && yarn build-skia-ios-framework",
46
- "build-skia-android": "ts-node ./scripts/build-skia-android.ts",
47
44
  "clean-skia": "yarn rimraf ./libs && yarn rimraf ../../externals/skia/out",
48
- "copy-skia-headers": "ts-node ./scripts/copy-skia-module-headers.ts",
49
- "build-skia": "yarn rimraf ./libs && yarn build-skia-ios && yarn build-skia-android && yarn copy-skia-headers",
45
+ "build-skia": "ts-node ./scripts/build-skia.ts",
46
+ "copy-skia-headers": "ts-node ./scripts/copy-skia-headers.ts",
50
47
  "clang-format": "yarn clang-format-ios && yarn clang-format-android && yarn clang-format-common",
51
48
  "clang-format-ios": "find ios/ -iname '*.h' -o -iname '*.mm' -o -iname '*.cpp' | xargs clang-format -i",
52
49
  "clang-format-android": "find android/cpp/ -iname '*.h' -o -iname '*.m' -o -iname '*.cpp' | xargs clang-format -i",
package/src/mock/index.ts CHANGED
@@ -26,7 +26,6 @@ export const Mock = (CanvasKit: CanvasKit) => {
26
26
  // Skia Animations
27
27
  useValue: NoopValue,
28
28
  useComputedValue: NoopValue,
29
- useTouchHandler: Noop,
30
29
  useTiming: NoopValue,
31
30
  useLoop: NoopValue,
32
31
  useSpring: NoopValue,
@@ -16,7 +16,7 @@ import type { LayoutChangeEvent } from "react-native";
16
16
 
17
17
  import { SkiaDomView } from "../views";
18
18
  import { Skia } from "../skia/Skia";
19
- import type { TouchHandler, SkiaBaseViewProps } from "../views";
19
+ import type { SkiaBaseViewProps } from "../views";
20
20
  import { SkiaJSDomView } from "../views/SkiaJSDomView";
21
21
 
22
22
  import { SkiaRoot } from "./Reconciler";
@@ -27,7 +27,6 @@ export const useCanvasRef = () => useRef<SkiaDomView>(null);
27
27
  export interface CanvasProps extends SkiaBaseViewProps {
28
28
  ref?: RefObject<SkiaDomView>;
29
29
  children: ReactNode;
30
- onTouch?: TouchHandler;
31
30
  }
32
31
 
33
32
  const useOnSizeEvent = (
@@ -56,7 +55,6 @@ export const Canvas = forwardRef<SkiaDomView, CanvasProps>(
56
55
  style,
57
56
  debug,
58
57
  mode,
59
- onTouch,
60
58
  onSize: _onSize,
61
59
  onLayout: _onLayout,
62
60
  ...props
@@ -96,7 +94,6 @@ export const Canvas = forwardRef<SkiaDomView, CanvasProps>(
96
94
  ref={ref}
97
95
  style={style}
98
96
  root={root.dom}
99
- onTouch={onTouch}
100
97
  onLayout={onLayout}
101
98
  mode={mode}
102
99
  debug={debug}
@@ -111,7 +108,6 @@ export const Canvas = forwardRef<SkiaDomView, CanvasProps>(
111
108
  ref={ref as any}
112
109
  style={style}
113
110
  root={root.dom}
114
- onTouch={onTouch}
115
111
  onLayout={onLayout}
116
112
  mode={mode}
117
113
  debug={debug}
@@ -164,13 +164,11 @@ export const importSkia = (): typeof SkiaExports => {
164
164
  const offscreen = require("../Offscreen");
165
165
  // TODO: to remove
166
166
  const animation = require("../../animation");
167
- const useTouchHandler = require("../../views/useTouchHandler");
168
167
  return {
169
168
  ...skia,
170
169
  ...renderer,
171
170
  ...animation,
172
171
  ...offscreen,
173
- ...useTouchHandler,
174
172
  };
175
173
  };
176
174
 
@@ -131,5 +131,5 @@ export const JsiSkApi = (CanvasKit: CanvasKit): Skia => ({
131
131
  Video: createVideo.bind(null, CanvasKit),
132
132
  Context: (_surface: bigint, _width: number, _height: number) => {
133
133
  throw new Error("Not implemented on React Native Web");
134
- }
134
+ },
135
135
  });