@shopify/react-native-skia 0.1.222 → 0.1.223

Sign up to get free protection for your applications and to get access to all the features.
Files changed (210) hide show
  1. package/cpp/api/JsiSkApi.h +5 -0
  2. package/cpp/api/JsiSkFontMgrFactory.h +9 -4
  3. package/cpp/api/JsiSkParagraph.h +135 -0
  4. package/cpp/api/JsiSkParagraphBuilder.h +159 -0
  5. package/cpp/api/JsiSkParagraphStyle.h +124 -0
  6. package/cpp/api/JsiSkStrutStyle.h +96 -0
  7. package/cpp/api/JsiSkTextStyle.h +185 -0
  8. package/cpp/jsi/JsiHostObject.h +21 -0
  9. package/cpp/rnskia/dom/JsiDomApi.h +4 -0
  10. package/cpp/rnskia/dom/nodes/JsiParagraphNode.h +62 -0
  11. package/cpp/rnskia/dom/props/ParagraphProp.h +45 -0
  12. package/cpp/skia/modules/skunicode/include/SkUnicode.h +312 -0
  13. package/cpp/skia/src/base/SkTInternalLList.h +304 -0
  14. package/cpp/skia/src/base/SkUTF.h +95 -0
  15. package/cpp/skia/src/core/SkLRUCache.h +130 -0
  16. package/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +2 -0
  17. package/lib/commonjs/dom/nodes/JsiSkDOM.js +7 -0
  18. package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -1
  19. package/lib/commonjs/dom/nodes/drawings/ParagraphNode.d.ts +8 -0
  20. package/lib/commonjs/dom/nodes/drawings/ParagraphNode.js +41 -0
  21. package/lib/commonjs/dom/nodes/drawings/ParagraphNode.js.map +1 -0
  22. package/lib/commonjs/dom/types/NodeType.d.ts +2 -1
  23. package/lib/commonjs/dom/types/NodeType.js +1 -0
  24. package/lib/commonjs/dom/types/NodeType.js.map +1 -1
  25. package/lib/commonjs/dom/types/Paragraph.d.ts +8 -0
  26. package/lib/commonjs/dom/types/Paragraph.js +6 -0
  27. package/lib/commonjs/dom/types/Paragraph.js.map +1 -0
  28. package/lib/commonjs/dom/types/SkDOM.d.ts +2 -0
  29. package/lib/commonjs/dom/types/SkDOM.js.map +1 -1
  30. package/lib/commonjs/dom/types/index.d.ts +1 -0
  31. package/lib/commonjs/dom/types/index.js +13 -0
  32. package/lib/commonjs/dom/types/index.js.map +1 -1
  33. package/lib/commonjs/renderer/HostComponents.d.ts +3 -1
  34. package/lib/commonjs/renderer/HostComponents.js +4 -0
  35. package/lib/commonjs/renderer/HostComponents.js.map +1 -1
  36. package/lib/commonjs/renderer/components/index.d.ts +1 -0
  37. package/lib/commonjs/renderer/components/index.js +13 -0
  38. package/lib/commonjs/renderer/components/index.js.map +1 -1
  39. package/lib/commonjs/renderer/components/paragraph/Paragraph.d.ts +4 -0
  40. package/lib/commonjs/renderer/components/paragraph/Paragraph.js +17 -0
  41. package/lib/commonjs/renderer/components/paragraph/Paragraph.js.map +1 -0
  42. package/lib/commonjs/renderer/components/paragraph/index.d.ts +1 -0
  43. package/lib/commonjs/renderer/components/paragraph/index.js +19 -0
  44. package/lib/commonjs/renderer/components/paragraph/index.js.map +1 -0
  45. package/lib/commonjs/skia/types/Paragraph/Paragraph.d.ts +56 -0
  46. package/lib/commonjs/skia/types/Paragraph/Paragraph.js +6 -0
  47. package/lib/commonjs/skia/types/Paragraph/Paragraph.js.map +1 -0
  48. package/lib/commonjs/skia/types/Paragraph/ParagraphBuilder.d.ts +60 -0
  49. package/lib/commonjs/skia/types/Paragraph/ParagraphBuilder.js +18 -0
  50. package/lib/commonjs/skia/types/Paragraph/ParagraphBuilder.js.map +1 -0
  51. package/lib/commonjs/skia/types/Paragraph/ParagraphStyle.d.ts +41 -0
  52. package/lib/commonjs/skia/types/Paragraph/ParagraphStyle.js +36 -0
  53. package/lib/commonjs/skia/types/Paragraph/ParagraphStyle.js.map +1 -0
  54. package/lib/commonjs/skia/types/Paragraph/TextStyle.d.ts +62 -0
  55. package/lib/commonjs/skia/types/Paragraph/TextStyle.js +35 -0
  56. package/lib/commonjs/skia/types/Paragraph/TextStyle.js.map +1 -0
  57. package/lib/commonjs/skia/types/Paragraph/index.d.ts +6 -0
  58. package/lib/commonjs/skia/types/Paragraph/index.js +84 -0
  59. package/lib/commonjs/skia/types/Paragraph/index.js.map +1 -0
  60. package/lib/commonjs/skia/types/Skia.d.ts +2 -0
  61. package/lib/commonjs/skia/types/Skia.js.map +1 -1
  62. package/lib/commonjs/skia/types/index.d.ts +1 -0
  63. package/lib/commonjs/skia/types/index.js +13 -0
  64. package/lib/commonjs/skia/types/index.js.map +1 -1
  65. package/lib/commonjs/skia/web/JsiSkParagraph.d.ts +16 -0
  66. package/lib/commonjs/skia/web/JsiSkParagraph.js +91 -0
  67. package/lib/commonjs/skia/web/JsiSkParagraph.js.map +1 -0
  68. package/lib/commonjs/skia/web/JsiSkParagraphBuilder.d.ts +15 -0
  69. package/lib/commonjs/skia/web/JsiSkParagraphBuilder.js +85 -0
  70. package/lib/commonjs/skia/web/JsiSkParagraphBuilder.js.map +1 -0
  71. package/lib/commonjs/skia/web/JsiSkParagraphBuilderFactory.d.ts +8 -0
  72. package/lib/commonjs/skia/web/JsiSkParagraphBuilderFactory.js +34 -0
  73. package/lib/commonjs/skia/web/JsiSkParagraphBuilderFactory.js.map +1 -0
  74. package/lib/commonjs/skia/web/JsiSkParagraphStyle.d.ts +5 -0
  75. package/lib/commonjs/skia/web/JsiSkParagraphStyle.js +59 -0
  76. package/lib/commonjs/skia/web/JsiSkParagraphStyle.js.map +1 -0
  77. package/lib/commonjs/skia/web/JsiSkTextStyle.d.ts +5 -0
  78. package/lib/commonjs/skia/web/JsiSkTextStyle.js +54 -0
  79. package/lib/commonjs/skia/web/JsiSkTextStyle.js.map +1 -0
  80. package/lib/commonjs/skia/web/JsiSkia.js +4 -1
  81. package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
  82. package/lib/module/dom/nodes/JsiSkDOM.d.ts +2 -0
  83. package/lib/module/dom/nodes/JsiSkDOM.js +6 -0
  84. package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
  85. package/lib/module/dom/nodes/drawings/ParagraphNode.d.ts +8 -0
  86. package/lib/module/dom/nodes/drawings/ParagraphNode.js +30 -0
  87. package/lib/module/dom/nodes/drawings/ParagraphNode.js.map +1 -0
  88. package/lib/module/dom/types/NodeType.d.ts +2 -1
  89. package/lib/module/dom/types/NodeType.js +1 -0
  90. package/lib/module/dom/types/NodeType.js.map +1 -1
  91. package/lib/module/dom/types/Paragraph.d.ts +8 -0
  92. package/lib/module/dom/types/Paragraph.js +2 -0
  93. package/lib/module/dom/types/Paragraph.js.map +1 -0
  94. package/lib/module/dom/types/SkDOM.d.ts +2 -0
  95. package/lib/module/dom/types/SkDOM.js.map +1 -1
  96. package/lib/module/dom/types/index.d.ts +1 -0
  97. package/lib/module/dom/types/index.js +1 -0
  98. package/lib/module/dom/types/index.js.map +1 -1
  99. package/lib/module/renderer/HostComponents.d.ts +3 -1
  100. package/lib/module/renderer/HostComponents.js +4 -0
  101. package/lib/module/renderer/HostComponents.js.map +1 -1
  102. package/lib/module/renderer/components/index.d.ts +1 -0
  103. package/lib/module/renderer/components/index.js +1 -0
  104. package/lib/module/renderer/components/index.js.map +1 -1
  105. package/lib/module/renderer/components/paragraph/Paragraph.d.ts +4 -0
  106. package/lib/module/renderer/components/paragraph/Paragraph.js +5 -0
  107. package/lib/module/renderer/components/paragraph/Paragraph.js.map +1 -0
  108. package/lib/module/renderer/components/paragraph/index.d.ts +1 -0
  109. package/lib/module/renderer/components/paragraph/index.js +2 -0
  110. package/lib/module/renderer/components/paragraph/index.js.map +1 -0
  111. package/lib/module/skia/types/Paragraph/Paragraph.d.ts +56 -0
  112. package/lib/module/skia/types/Paragraph/Paragraph.js +2 -0
  113. package/lib/module/skia/types/Paragraph/Paragraph.js.map +1 -0
  114. package/lib/module/skia/types/Paragraph/ParagraphBuilder.d.ts +60 -0
  115. package/lib/module/skia/types/Paragraph/ParagraphBuilder.js +11 -0
  116. package/lib/module/skia/types/Paragraph/ParagraphBuilder.js.map +1 -0
  117. package/lib/module/skia/types/Paragraph/ParagraphStyle.d.ts +41 -0
  118. package/lib/module/skia/types/Paragraph/ParagraphStyle.js +27 -0
  119. package/lib/module/skia/types/Paragraph/ParagraphStyle.js.map +1 -0
  120. package/lib/module/skia/types/Paragraph/TextStyle.d.ts +62 -0
  121. package/lib/module/skia/types/Paragraph/TextStyle.js +26 -0
  122. package/lib/module/skia/types/Paragraph/TextStyle.js.map +1 -0
  123. package/lib/module/skia/types/Paragraph/index.d.ts +6 -0
  124. package/lib/module/skia/types/Paragraph/index.js +7 -0
  125. package/lib/module/skia/types/Paragraph/index.js.map +1 -0
  126. package/lib/module/skia/types/Skia.d.ts +2 -0
  127. package/lib/module/skia/types/Skia.js.map +1 -1
  128. package/lib/module/skia/types/index.d.ts +1 -0
  129. package/lib/module/skia/types/index.js +1 -0
  130. package/lib/module/skia/types/index.js.map +1 -1
  131. package/lib/module/skia/web/JsiSkParagraph.d.ts +16 -0
  132. package/lib/module/skia/web/JsiSkParagraph.js +81 -0
  133. package/lib/module/skia/web/JsiSkParagraph.js.map +1 -0
  134. package/lib/module/skia/web/JsiSkParagraphBuilder.d.ts +15 -0
  135. package/lib/module/skia/web/JsiSkParagraphBuilder.js +73 -0
  136. package/lib/module/skia/web/JsiSkParagraphBuilder.js.map +1 -0
  137. package/lib/module/skia/web/JsiSkParagraphBuilderFactory.d.ts +8 -0
  138. package/lib/module/skia/web/JsiSkParagraphBuilderFactory.js +21 -0
  139. package/lib/module/skia/web/JsiSkParagraphBuilderFactory.js.map +1 -0
  140. package/lib/module/skia/web/JsiSkParagraphStyle.d.ts +5 -0
  141. package/lib/module/skia/web/JsiSkParagraphStyle.js +49 -0
  142. package/lib/module/skia/web/JsiSkParagraphStyle.js.map +1 -0
  143. package/lib/module/skia/web/JsiSkTextStyle.d.ts +5 -0
  144. package/lib/module/skia/web/JsiSkTextStyle.js +45 -0
  145. package/lib/module/skia/web/JsiSkTextStyle.js.map +1 -0
  146. package/lib/module/skia/web/JsiSkia.js +3 -1
  147. package/lib/module/skia/web/JsiSkia.js.map +1 -1
  148. package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +2 -0
  149. package/lib/typescript/src/dom/nodes/drawings/ParagraphNode.d.ts +8 -0
  150. package/lib/typescript/src/dom/types/NodeType.d.ts +2 -1
  151. package/lib/typescript/src/dom/types/Paragraph.d.ts +8 -0
  152. package/lib/typescript/src/dom/types/SkDOM.d.ts +2 -0
  153. package/lib/typescript/src/dom/types/index.d.ts +1 -0
  154. package/lib/typescript/src/renderer/HostComponents.d.ts +3 -1
  155. package/lib/typescript/src/renderer/components/index.d.ts +1 -0
  156. package/lib/typescript/src/renderer/components/paragraph/Paragraph.d.ts +4 -0
  157. package/lib/typescript/src/renderer/components/paragraph/index.d.ts +1 -0
  158. package/lib/typescript/src/skia/types/Paragraph/Paragraph.d.ts +56 -0
  159. package/lib/typescript/src/skia/types/Paragraph/ParagraphBuilder.d.ts +60 -0
  160. package/lib/typescript/src/skia/types/Paragraph/ParagraphStyle.d.ts +41 -0
  161. package/lib/typescript/src/skia/types/Paragraph/TextStyle.d.ts +62 -0
  162. package/lib/typescript/src/skia/types/Paragraph/index.d.ts +6 -0
  163. package/lib/typescript/src/skia/types/Skia.d.ts +2 -0
  164. package/lib/typescript/src/skia/types/index.d.ts +1 -0
  165. package/lib/typescript/src/skia/web/JsiSkParagraph.d.ts +16 -0
  166. package/lib/typescript/src/skia/web/JsiSkParagraphBuilder.d.ts +15 -0
  167. package/lib/typescript/src/skia/web/JsiSkParagraphBuilderFactory.d.ts +8 -0
  168. package/lib/typescript/src/skia/web/JsiSkParagraphStyle.d.ts +5 -0
  169. package/lib/typescript/src/skia/web/JsiSkTextStyle.d.ts +5 -0
  170. package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  171. package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  172. package/libs/ios/libskottie.xcframework/Info.plist +5 -5
  173. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  174. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  175. package/libs/ios/libskparagraph.xcframework/Info.plist +5 -5
  176. package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
  177. package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
  178. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  179. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  180. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  181. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  182. package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e/libskunicode.a +0 -0
  183. package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode.a +0 -0
  184. package/libs/ios/libsvg.xcframework/Info.plist +5 -5
  185. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  186. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  187. package/package.json +1 -1
  188. package/src/dom/nodes/JsiSkDOM.ts +9 -0
  189. package/src/dom/nodes/drawings/ParagraphNode.ts +22 -0
  190. package/src/dom/types/NodeType.ts +3 -0
  191. package/src/dom/types/Paragraph.ts +10 -0
  192. package/src/dom/types/SkDOM.ts +4 -0
  193. package/src/dom/types/index.ts +1 -0
  194. package/src/renderer/HostComponents.ts +10 -0
  195. package/src/renderer/components/index.ts +2 -0
  196. package/src/renderer/components/paragraph/Paragraph.tsx +8 -0
  197. package/src/renderer/components/paragraph/index.ts +1 -0
  198. package/src/skia/types/Paragraph/Paragraph.ts +59 -0
  199. package/src/skia/types/Paragraph/ParagraphBuilder.ts +96 -0
  200. package/src/skia/types/Paragraph/ParagraphStyle.ts +45 -0
  201. package/src/skia/types/Paragraph/TextStyle.ts +70 -0
  202. package/src/skia/types/Paragraph/index.ts +6 -0
  203. package/src/skia/types/Skia.ts +3 -0
  204. package/src/skia/types/index.ts +1 -0
  205. package/src/skia/web/JsiSkParagraph.ts +69 -0
  206. package/src/skia/web/JsiSkParagraphBuilder.ts +99 -0
  207. package/src/skia/web/JsiSkParagraphBuilderFactory.ts +42 -0
  208. package/src/skia/web/JsiSkParagraphStyle.ts +65 -0
  209. package/src/skia/web/JsiSkTextStyle.ts +53 -0
  210. package/src/skia/web/JsiSkia.ts +2 -0
@@ -0,0 +1,304 @@
1
+ /*
2
+ * Copyright 2012 Google Inc.
3
+ *
4
+ * Use of this source code is governed by a BSD-style license that can be
5
+ * found in the LICENSE file.
6
+ */
7
+
8
+ #ifndef SkTInternalLList_DEFINED
9
+ #define SkTInternalLList_DEFINED
10
+
11
+ #include "include/private/base/SkAssert.h"
12
+ #include "include/private/base/SkDebug.h"
13
+ #include "include/private/base/SkTo.h"
14
+
15
+ /**
16
+ * This macro creates the member variables required by the SkTInternalLList class. It should be
17
+ * placed in the private section of any class that will be stored in a double linked list.
18
+ */
19
+ #define SK_DECLARE_INTERNAL_LLIST_INTERFACE(ClassName) \
20
+ friend class SkTInternalLList<ClassName>; \
21
+ /* back pointer to the owning list - for debugging */ \
22
+ SkDEBUGCODE(SkTInternalLList<ClassName>* fList = nullptr;) \
23
+ ClassName* fPrev = nullptr; \
24
+ ClassName* fNext = nullptr
25
+
26
+ /**
27
+ * This class implements a templated internal doubly linked list data structure.
28
+ */
29
+ template <class T> class SkTInternalLList {
30
+ public:
31
+ SkTInternalLList() {}
32
+
33
+ void reset() {
34
+ fHead = nullptr;
35
+ fTail = nullptr;
36
+ }
37
+
38
+ void remove(T* entry) {
39
+ SkASSERT(fHead && fTail);
40
+ SkASSERT(this->isInList(entry));
41
+
42
+ T* prev = entry->fPrev;
43
+ T* next = entry->fNext;
44
+
45
+ if (prev) {
46
+ prev->fNext = next;
47
+ } else {
48
+ fHead = next;
49
+ }
50
+ if (next) {
51
+ next->fPrev = prev;
52
+ } else {
53
+ fTail = prev;
54
+ }
55
+
56
+ entry->fPrev = nullptr;
57
+ entry->fNext = nullptr;
58
+
59
+ #ifdef SK_DEBUG
60
+ entry->fList = nullptr;
61
+ #endif
62
+ }
63
+
64
+ void addToHead(T* entry) {
65
+ SkASSERT(nullptr == entry->fPrev && nullptr == entry->fNext);
66
+ SkASSERT(nullptr == entry->fList);
67
+
68
+ entry->fPrev = nullptr;
69
+ entry->fNext = fHead;
70
+ if (fHead) {
71
+ fHead->fPrev = entry;
72
+ }
73
+ fHead = entry;
74
+ if (nullptr == fTail) {
75
+ fTail = entry;
76
+ }
77
+
78
+ #ifdef SK_DEBUG
79
+ entry->fList = this;
80
+ #endif
81
+ }
82
+
83
+ void addToTail(T* entry) {
84
+ SkASSERT(nullptr == entry->fPrev && nullptr == entry->fNext);
85
+ SkASSERT(nullptr == entry->fList);
86
+
87
+ entry->fPrev = fTail;
88
+ entry->fNext = nullptr;
89
+ if (fTail) {
90
+ fTail->fNext = entry;
91
+ }
92
+ fTail = entry;
93
+ if (nullptr == fHead) {
94
+ fHead = entry;
95
+ }
96
+
97
+ #ifdef SK_DEBUG
98
+ entry->fList = this;
99
+ #endif
100
+ }
101
+
102
+ /**
103
+ * Inserts a new list entry before an existing list entry. The new entry must not already be
104
+ * a member of this or any other list. If existingEntry is NULL then the new entry is added
105
+ * at the tail.
106
+ */
107
+ void addBefore(T* newEntry, T* existingEntry) {
108
+ SkASSERT(newEntry);
109
+
110
+ if (nullptr == existingEntry) {
111
+ this->addToTail(newEntry);
112
+ return;
113
+ }
114
+
115
+ SkASSERT(this->isInList(existingEntry));
116
+ newEntry->fNext = existingEntry;
117
+ T* prev = existingEntry->fPrev;
118
+ existingEntry->fPrev = newEntry;
119
+ newEntry->fPrev = prev;
120
+ if (nullptr == prev) {
121
+ SkASSERT(fHead == existingEntry);
122
+ fHead = newEntry;
123
+ } else {
124
+ prev->fNext = newEntry;
125
+ }
126
+ #ifdef SK_DEBUG
127
+ newEntry->fList = this;
128
+ #endif
129
+ }
130
+
131
+ /**
132
+ * Inserts a new list entry after an existing list entry. The new entry must not already be
133
+ * a member of this or any other list. If existingEntry is NULL then the new entry is added
134
+ * at the head.
135
+ */
136
+ void addAfter(T* newEntry, T* existingEntry) {
137
+ SkASSERT(newEntry);
138
+
139
+ if (nullptr == existingEntry) {
140
+ this->addToHead(newEntry);
141
+ return;
142
+ }
143
+
144
+ SkASSERT(this->isInList(existingEntry));
145
+ newEntry->fPrev = existingEntry;
146
+ T* next = existingEntry->fNext;
147
+ existingEntry->fNext = newEntry;
148
+ newEntry->fNext = next;
149
+ if (nullptr == next) {
150
+ SkASSERT(fTail == existingEntry);
151
+ fTail = newEntry;
152
+ } else {
153
+ next->fPrev = newEntry;
154
+ }
155
+ #ifdef SK_DEBUG
156
+ newEntry->fList = this;
157
+ #endif
158
+ }
159
+
160
+ void concat(SkTInternalLList&& list) {
161
+ if (list.isEmpty()) {
162
+ return;
163
+ }
164
+
165
+ list.fHead->fPrev = fTail;
166
+ if (!fHead) {
167
+ SkASSERT(!list.fHead->fPrev);
168
+ fHead = list.fHead;
169
+ } else {
170
+ SkASSERT(fTail);
171
+ fTail->fNext = list.fHead;
172
+ }
173
+ fTail = list.fTail;
174
+
175
+ #ifdef SK_DEBUG
176
+ for (T* node = list.fHead; node; node = node->fNext) {
177
+ SkASSERT(node->fList == &list);
178
+ node->fList = this;
179
+ }
180
+ #endif
181
+
182
+ list.fHead = list.fTail = nullptr;
183
+ }
184
+
185
+ bool isEmpty() const {
186
+ SkASSERT(SkToBool(fHead) == SkToBool(fTail));
187
+ return !fHead;
188
+ }
189
+
190
+ T* head() const { return fHead; }
191
+ T* tail() const { return fTail; }
192
+
193
+ class Iter {
194
+ public:
195
+ enum IterStart {
196
+ kHead_IterStart,
197
+ kTail_IterStart
198
+ };
199
+
200
+ Iter() : fCurr(nullptr) {}
201
+ Iter(const Iter& iter) : fCurr(iter.fCurr) {}
202
+ Iter& operator= (const Iter& iter) { fCurr = iter.fCurr; return *this; }
203
+
204
+ T* init(const SkTInternalLList& list, IterStart startLoc) {
205
+ if (kHead_IterStart == startLoc) {
206
+ fCurr = list.fHead;
207
+ } else {
208
+ SkASSERT(kTail_IterStart == startLoc);
209
+ fCurr = list.fTail;
210
+ }
211
+
212
+ return fCurr;
213
+ }
214
+
215
+ T* get() { return fCurr; }
216
+
217
+ /**
218
+ * Return the next/previous element in the list or NULL if at the end.
219
+ */
220
+ T* next() {
221
+ if (nullptr == fCurr) {
222
+ return nullptr;
223
+ }
224
+
225
+ fCurr = fCurr->fNext;
226
+ return fCurr;
227
+ }
228
+
229
+ T* prev() {
230
+ if (nullptr == fCurr) {
231
+ return nullptr;
232
+ }
233
+
234
+ fCurr = fCurr->fPrev;
235
+ return fCurr;
236
+ }
237
+
238
+ /**
239
+ * C++11 range-for interface.
240
+ */
241
+ bool operator!=(const Iter& that) { return fCurr != that.fCurr; }
242
+ T* operator*() { return this->get(); }
243
+ void operator++() { this->next(); }
244
+
245
+ private:
246
+ T* fCurr;
247
+ };
248
+
249
+ Iter begin() const {
250
+ Iter iter;
251
+ iter.init(*this, Iter::kHead_IterStart);
252
+ return iter;
253
+ }
254
+
255
+ Iter end() const { return Iter(); }
256
+
257
+ #ifdef SK_DEBUG
258
+ void validate() const {
259
+ SkASSERT(!fHead == !fTail);
260
+ Iter iter;
261
+ for (T* item = iter.init(*this, Iter::kHead_IterStart); item; item = iter.next()) {
262
+ SkASSERT(this->isInList(item));
263
+ if (nullptr == item->fPrev) {
264
+ SkASSERT(fHead == item);
265
+ } else {
266
+ SkASSERT(item->fPrev->fNext == item);
267
+ }
268
+ if (nullptr == item->fNext) {
269
+ SkASSERT(fTail == item);
270
+ } else {
271
+ SkASSERT(item->fNext->fPrev == item);
272
+ }
273
+ }
274
+ }
275
+
276
+ /**
277
+ * Debugging-only method that uses the list back pointer to check if 'entry' is indeed in 'this'
278
+ * list.
279
+ */
280
+ bool isInList(const T* entry) const {
281
+ return entry->fList == this;
282
+ }
283
+
284
+ /**
285
+ * Debugging-only method that laboriously counts the list entries.
286
+ */
287
+ int countEntries() const {
288
+ int count = 0;
289
+ for (T* entry = fHead; entry; entry = entry->fNext) {
290
+ ++count;
291
+ }
292
+ return count;
293
+ }
294
+ #endif // SK_DEBUG
295
+
296
+ private:
297
+ T* fHead = nullptr;
298
+ T* fTail = nullptr;
299
+
300
+ SkTInternalLList(const SkTInternalLList&) = delete;
301
+ SkTInternalLList& operator=(const SkTInternalLList&) = delete;
302
+ };
303
+
304
+ #endif
@@ -0,0 +1,95 @@
1
+ // Copyright 2018 Google LLC.
2
+ // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
3
+ #ifndef SkUTF_DEFINED
4
+ #define SkUTF_DEFINED
5
+
6
+ #include "include/private/base/SkAPI.h"
7
+
8
+ #include <cstddef>
9
+ #include <cstdint>
10
+
11
+ typedef int32_t SkUnichar;
12
+
13
+ namespace SkUTF {
14
+
15
+ /** Given a sequence of UTF-8 bytes, return the number of unicode codepoints.
16
+ If the sequence is invalid UTF-8, return -1.
17
+ */
18
+ SK_SPI int CountUTF8(const char* utf8, size_t byteLength);
19
+
20
+ /** Given a sequence of aligned UTF-16 characters in machine-endian form,
21
+ return the number of unicode codepoints. If the sequence is invalid
22
+ UTF-16, return -1.
23
+ */
24
+ SK_SPI int CountUTF16(const uint16_t* utf16, size_t byteLength);
25
+
26
+ /** Given a sequence of aligned UTF-32 characters in machine-endian form,
27
+ return the number of unicode codepoints. If the sequence is invalid
28
+ UTF-32, return -1.
29
+ */
30
+ SK_SPI int CountUTF32(const int32_t* utf32, size_t byteLength);
31
+
32
+ /** Given a sequence of UTF-8 bytes, return the first unicode codepoint.
33
+ The pointer will be incremented to point at the next codepoint's start. If
34
+ invalid UTF-8 is encountered, set *ptr to end and return -1.
35
+ */
36
+ SK_SPI SkUnichar NextUTF8(const char** ptr, const char* end);
37
+
38
+ /** Given a sequence of aligned UTF-16 characters in machine-endian form,
39
+ return the first unicode codepoint. The pointer will be incremented to
40
+ point at the next codepoint's start. If invalid UTF-16 is encountered,
41
+ set *ptr to end and return -1.
42
+ */
43
+ SK_SPI SkUnichar NextUTF16(const uint16_t** ptr, const uint16_t* end);
44
+
45
+ /** Given a sequence of aligned UTF-32 characters in machine-endian form,
46
+ return the first unicode codepoint. The pointer will be incremented to
47
+ point at the next codepoint's start. If invalid UTF-32 is encountered,
48
+ set *ptr to end and return -1.
49
+ */
50
+ SK_SPI SkUnichar NextUTF32(const int32_t** ptr, const int32_t* end);
51
+
52
+ constexpr unsigned kMaxBytesInUTF8Sequence = 4;
53
+
54
+ /** Convert the unicode codepoint into UTF-8. If `utf8` is non-null, place the
55
+ result in that array. Return the number of bytes in the result. If `utf8`
56
+ is null, simply return the number of bytes that would be used. For invalid
57
+ unicode codepoints, return 0.
58
+ */
59
+ SK_SPI size_t ToUTF8(SkUnichar uni, char utf8[kMaxBytesInUTF8Sequence] = nullptr);
60
+
61
+ /** Convert the unicode codepoint into UTF-16. If `utf16` is non-null, place
62
+ the result in that array. Return the number of UTF-16 code units in the
63
+ result (1 or 2). If `utf16` is null, simply return the number of code
64
+ units that would be used. For invalid unicode codepoints, return 0.
65
+ */
66
+ SK_SPI size_t ToUTF16(SkUnichar uni, uint16_t utf16[2] = nullptr);
67
+
68
+ /** Returns the number of resulting UTF16 values needed to convert the src utf8 sequence.
69
+ * If dst is not null, it is filled with the corresponding values up to its capacity.
70
+ * If there is an error, -1 is returned and the dst[] buffer is undefined.
71
+ */
72
+ SK_SPI int UTF8ToUTF16(uint16_t dst[], int dstCapacity, const char src[], size_t srcByteLength);
73
+
74
+ /** Returns the number of resulting UTF8 values needed to convert the src utf16 sequence.
75
+ * If dst is not null, it is filled with the corresponding values up to its capacity.
76
+ * If there is an error, -1 is returned and the dst[] buffer is undefined.
77
+ */
78
+ SK_SPI int UTF16ToUTF8(char dst[], int dstCapacity, const uint16_t src[], size_t srcLength);
79
+
80
+ /**
81
+ * Given a UTF-16 code point, returns true iff it is a leading surrogate.
82
+ * https://unicode.org/faq/utf_bom.html#utf16-2
83
+ */
84
+ static inline bool IsLeadingSurrogateUTF16(uint16_t c) { return ((c) & 0xFC00) == 0xD800; }
85
+
86
+ /**
87
+ * Given a UTF-16 code point, returns true iff it is a trailing surrogate.
88
+ * https://unicode.org/faq/utf_bom.html#utf16-2
89
+ */
90
+ static inline bool IsTrailingSurrogateUTF16(uint16_t c) { return ((c) & 0xFC00) == 0xDC00; }
91
+
92
+
93
+ } // namespace SkUTF
94
+
95
+ #endif // SkUTF_DEFINED
@@ -0,0 +1,130 @@
1
+ /*
2
+ * Copyright 2016 Google Inc.
3
+ *
4
+ * Use of this source code is governed by a BSD-style license that can be
5
+ * found in the LICENSE file.
6
+ */
7
+
8
+ #ifndef SkLRUCache_DEFINED
9
+ #define SkLRUCache_DEFINED
10
+
11
+ #include "src/base/SkTInternalLList.h"
12
+ #include "src/core/SkChecksum.h"
13
+ #include "src/core/SkTHash.h"
14
+
15
+ /**
16
+ * A generic LRU cache.
17
+ */
18
+ template <typename K, typename V, typename HashK = SkGoodHash>
19
+ class SkLRUCache {
20
+ private:
21
+ struct Entry {
22
+ Entry(const K& key, V&& value)
23
+ : fKey(key)
24
+ , fValue(std::move(value)) {}
25
+
26
+ K fKey;
27
+ V fValue;
28
+
29
+ SK_DECLARE_INTERNAL_LLIST_INTERFACE(Entry);
30
+ };
31
+
32
+ public:
33
+ explicit SkLRUCache(int maxCount) : fMaxCount(maxCount) {}
34
+ SkLRUCache() = delete;
35
+
36
+ ~SkLRUCache() {
37
+ Entry* node = fLRU.head();
38
+ while (node) {
39
+ fLRU.remove(node);
40
+ delete node;
41
+ node = fLRU.head();
42
+ }
43
+ }
44
+
45
+ // Make noncopyable
46
+ SkLRUCache(const SkLRUCache&) = delete;
47
+ SkLRUCache& operator=(const SkLRUCache&) = delete;
48
+
49
+ V* find(const K& key) {
50
+ Entry** value = fMap.find(key);
51
+ if (!value) {
52
+ return nullptr;
53
+ }
54
+ Entry* entry = *value;
55
+ if (entry != fLRU.head()) {
56
+ fLRU.remove(entry);
57
+ fLRU.addToHead(entry);
58
+ } // else it's already at head position, don't need to do anything
59
+ return &entry->fValue;
60
+ }
61
+
62
+ V* insert(const K& key, V value) {
63
+ SkASSERT(!this->find(key));
64
+
65
+ Entry* entry = new Entry(key, std::move(value));
66
+ fMap.set(entry);
67
+ fLRU.addToHead(entry);
68
+ while (fMap.count() > fMaxCount) {
69
+ this->remove(fLRU.tail()->fKey);
70
+ }
71
+ return &entry->fValue;
72
+ }
73
+
74
+ V* insert_or_update(const K& key, V value) {
75
+ if (V* found = this->find(key)) {
76
+ *found = std::move(value);
77
+ return found;
78
+ } else {
79
+ return this->insert(key, std::move(value));
80
+ }
81
+ }
82
+
83
+ int count() const {
84
+ return fMap.count();
85
+ }
86
+
87
+ template <typename Fn> // f(K*, V*)
88
+ void foreach(Fn&& fn) {
89
+ typename SkTInternalLList<Entry>::Iter iter;
90
+ for (Entry* e = iter.init(fLRU, SkTInternalLList<Entry>::Iter::kHead_IterStart); e;
91
+ e = iter.next()) {
92
+ fn(&e->fKey, &e->fValue);
93
+ }
94
+ }
95
+
96
+ void reset() {
97
+ fMap.reset();
98
+ for (Entry* e = fLRU.head(); e; e = fLRU.head()) {
99
+ fLRU.remove(e);
100
+ delete e;
101
+ }
102
+ }
103
+
104
+ private:
105
+ struct Traits {
106
+ static const K& GetKey(Entry* e) {
107
+ return e->fKey;
108
+ }
109
+
110
+ static uint32_t Hash(const K& k) {
111
+ return HashK()(k);
112
+ }
113
+ };
114
+
115
+ void remove(const K& key) {
116
+ Entry** value = fMap.find(key);
117
+ SkASSERT(value);
118
+ Entry* entry = *value;
119
+ SkASSERT(key == entry->fKey);
120
+ fMap.remove(key);
121
+ fLRU.remove(entry);
122
+ delete entry;
123
+ }
124
+
125
+ int fMaxCount;
126
+ skia_private::THashTable<Entry*, K, Traits> fMap;
127
+ SkTInternalLList<Entry> fLRU;
128
+ };
129
+
130
+ #endif
@@ -1,6 +1,7 @@
1
1
  import type { PathProps, SkDOM, GroupProps, ImageProps, BlurImageFilterProps, MatrixColorFilterProps, CircleProps, BlurMaskFilterProps, LinearGradientProps, PaintProps, ShaderProps, ImageShaderProps, CustomDrawingNodeProps, LineProps, OvalProps, PatchProps, PointsProps, RectProps, RoundedRectProps, VerticesProps, TextProps, DiffRectProps, OffsetImageFilterProps, BlendColorFilterProps, TextPathProps, TextBlobProps, GlyphsProps, TwoPointConicalGradientProps, TurbulenceProps, SweepGradientProps, RadialGradientProps, FractalNoiseProps, ColorProps, PictureProps, ImageSVGProps, LerpColorFilterProps, DrawingNodeProps, BoxProps, BoxShadowProps, ChildrenProps } from "../types";
2
2
  import type { BlendImageFilterProps, BlendProps, DisplacementMapImageFilterProps, DropShadowImageFilterProps, MorphologyImageFilterProps, RuntimeShaderImageFilterProps } from "../types/ImageFilters";
3
3
  import type { CornerPathEffectProps, DashPathEffectProps, DiscretePathEffectProps, Line2DPathEffectProps, Path1DPathEffectProps, Path2DPathEffectProps } from "../types/PathEffects";
4
+ import type { ParagraphProps } from "../types/Paragraph";
4
5
  import type { NodeContext } from "./Node";
5
6
  export declare class JsiSkDOM implements SkDOM {
6
7
  private ctx;
@@ -61,4 +62,5 @@ export declare class JsiSkDOM implements SkDOM {
61
62
  BackdropFilter(props: ChildrenProps): import("../types").RenderNode<ChildrenProps>;
62
63
  Box(props: BoxProps): import("../types").RenderNode<BoxProps>;
63
64
  BoxShadow(props: BoxShadowProps): import("../types").DeclarationNode<BoxShadowProps>;
65
+ Paragraph(props: ParagraphProps): import("../types").RenderNode<ParagraphProps>;
64
66
  }
@@ -23,6 +23,8 @@ var _PaintNode = require("./PaintNode");
23
23
 
24
24
  var _LayerNode = require("./LayerNode");
25
25
 
26
+ var _ParagraphNode = require("./drawings/ParagraphNode");
27
+
26
28
  class JsiSkDOM {
27
29
  constructor(ctx) {
28
30
  this.ctx = ctx;
@@ -256,6 +258,11 @@ class JsiSkDOM {
256
258
 
257
259
  BoxShadow(props) {
258
260
  return _HostComponents.NATIVE_DOM ? global.SkiaDomApi.BoxShadowNode(props) : new _drawings.BoxShadowNode(this.ctx, props);
261
+ } // Paragraph
262
+
263
+
264
+ Paragraph(props) {
265
+ return _HostComponents.NATIVE_DOM ? global.SkiaDomApi.ParagraphNode(props) : new _ParagraphNode.ParagraphNode(this.ctx, props);
259
266
  }
260
267
 
261
268
  }
@@ -1 +1 @@
1
- {"version":3,"names":["JsiSkDOM","constructor","ctx","Layer","props","NATIVE_DOM","global","SkiaDomApi","LayerNode","Group","GroupNode","Paint","PaintNode","Fill","FillNode","Image","ImageNode","Circle","CircleNode","Path","PathNode","CustomDrawing","CustomDrawingNode","Line","LineNode","Oval","OvalNode","Patch","PatchNode","Points","PointsNode","Rect","RectNode","RRect","RRectNode","Vertices","VerticesNode","Text","TextNode","TextPath","TextPathNode","TextBlob","TextBlobNode","Glyphs","GlyphsNode","DiffRect","DiffRectNode","Picture","PictureNode","ImageSVG","ImageSVGNode","BlurMaskFilter","BlurMaskFilterNode","BlendImageFilter","BlendImageFilterNode","DropShadowImageFilter","DropShadowImageFilterNode","DisplacementMapImageFilter","DisplacementMapImageFilterNode","BlurImageFilter","BlurImageFilterNode","OffsetImageFilter","OffsetImageFilterNode","MorphologyImageFilter","MorphologyImageFilterNode","RuntimeShaderImageFilter","RuntimeShaderImageFilterNode","MatrixColorFilter","MatrixColorFilterNode","BlendColorFilter","BlendColorFilterNode","LumaColorFilter","LumaColorFilterNode","LinearToSRGBGammaColorFilter","LinearToSRGBGammaColorFilterNode","SRGBToLinearGammaColorFilter","SRGBToLinearGammaColorFilterNode","LerpColorFilter","LerpColorFilterNode","Shader","ShaderNode","ImageShader","ImageShaderNode","ColorShader","ColorShaderNode","ColorNode","SweepGradient","SweepGradientNode","Turbulence","TurbulenceNode","FractalNoise","FractalNoiseNode","LinearGradient","LinearGradientNode","RadialGradient","RadialGradientNode","TwoPointConicalGradient","TwoPointConicalGradientNode","CornerPathEffect","CornerPathEffectNode","DiscretePathEffect","DiscretePathEffectNode","DashPathEffect","DashPathEffectNode","Path1DPathEffect","Path1DPathEffectNode","Path2DPathEffect","Path2DPathEffectNode","SumPathEffect","SumPathEffectNode","Line2DPathEffect","Line2DPathEffectNode","Blend","BlendNode","BackdropFilter","BackdropFilterNode","Box","BoxNode","BoxShadow","BoxShadowNode"],"sources":["JsiSkDOM.ts"],"sourcesContent":["import type {\n PathProps,\n SkDOM,\n GroupProps,\n ImageProps,\n BlurImageFilterProps,\n MatrixColorFilterProps,\n CircleProps,\n BlurMaskFilterProps,\n LinearGradientProps,\n PaintProps,\n ShaderProps,\n ImageShaderProps,\n CustomDrawingNodeProps,\n LineProps,\n OvalProps,\n PatchProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n VerticesProps,\n TextProps,\n DiffRectProps,\n OffsetImageFilterProps,\n BlendColorFilterProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n TwoPointConicalGradientProps,\n TurbulenceProps,\n SweepGradientProps,\n RadialGradientProps,\n FractalNoiseProps,\n ColorProps,\n PictureProps,\n ImageSVGProps,\n LerpColorFilterProps,\n DrawingNodeProps,\n BoxProps,\n BoxShadowProps,\n ChildrenProps,\n} from \"../types\";\nimport type {\n BlendImageFilterProps,\n BlendProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n MorphologyImageFilterProps,\n RuntimeShaderImageFilterProps,\n} from \"../types/ImageFilters\";\nimport type {\n CornerPathEffectProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n} from \"../types/PathEffects\";\nimport { NATIVE_DOM } from \"../../renderer/HostComponents\";\n\nimport {\n FillNode,\n ImageNode,\n CircleNode,\n PathNode,\n LineNode,\n PatchNode,\n PointsNode,\n RectNode,\n RRectNode,\n VerticesNode,\n TextNode,\n OvalNode,\n CustomDrawingNode,\n TextPathNode,\n TextBlobNode,\n GlyphsNode,\n DiffRectNode,\n PictureNode,\n ImageSVGNode,\n BackdropFilterNode,\n BoxNode,\n BoxShadowNode,\n} from \"./drawings\";\nimport {\n BlendImageFilterNode,\n BlurImageFilterNode,\n BlurMaskFilterNode,\n DisplacementMapImageFilterNode,\n DropShadowImageFilterNode,\n OffsetImageFilterNode,\n RuntimeShaderImageFilterNode,\n CornerPathEffectNode,\n DiscretePathEffectNode,\n DashPathEffectNode,\n Path1DPathEffectNode,\n Path2DPathEffectNode,\n SumPathEffectNode,\n Line2DPathEffectNode,\n BlendNode,\n} from \"./paint\";\nimport {\n MatrixColorFilterNode,\n LumaColorFilterNode,\n LinearToSRGBGammaColorFilterNode,\n SRGBToLinearGammaColorFilterNode,\n BlendColorFilterNode,\n LerpColorFilterNode,\n} from \"./paint/ColorFilters\";\nimport {\n LinearGradientNode,\n ShaderNode,\n ImageShaderNode,\n TwoPointConicalGradientNode,\n TurbulenceNode,\n SweepGradientNode,\n RadialGradientNode,\n FractalNoiseNode,\n ColorNode,\n} from \"./paint/Shaders\";\nimport { MorphologyImageFilterNode } from \"./paint/ImageFilters\";\nimport { GroupNode } from \"./GroupNode\";\nimport { PaintNode } from \"./PaintNode\";\nimport type { NodeContext } from \"./Node\";\nimport { LayerNode } from \"./LayerNode\";\n\nexport class JsiSkDOM implements SkDOM {\n constructor(private ctx: NodeContext) {}\n\n Layer(props?: ChildrenProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LayerNode(props ?? {})\n : new LayerNode(this.ctx, props ?? {});\n }\n\n Group(props?: GroupProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.GroupNode(props ?? {})\n : new GroupNode(this.ctx, props ?? {});\n }\n\n Paint(props: PaintProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PaintNode(props ?? {})\n : new PaintNode(this.ctx, props);\n }\n\n // Drawings\n Fill(props?: DrawingNodeProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.FillNode(props ?? {})\n : new FillNode(this.ctx, props);\n }\n\n Image(props: ImageProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ImageNode(props ?? {})\n : new ImageNode(this.ctx, props);\n }\n\n Circle(props: CircleProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.CircleNode(props ?? {})\n : new CircleNode(this.ctx, props);\n }\n\n Path(props: PathProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PathNode(props ?? {})\n : new PathNode(this.ctx, props);\n }\n\n CustomDrawing(props: CustomDrawingNodeProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.CustomDrawingNode(props ?? {})\n : new CustomDrawingNode(this.ctx, props);\n }\n\n Line(props: LineProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LineNode(props ?? {})\n : new LineNode(this.ctx, props);\n }\n\n Oval(props: OvalProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.OvalNode(props ?? {})\n : new OvalNode(this.ctx, props);\n }\n\n Patch(props: PatchProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PatchNode(props ?? {})\n : new PatchNode(this.ctx, props);\n }\n\n Points(props: PointsProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PointsNode(props ?? {})\n : new PointsNode(this.ctx, props);\n }\n\n Rect(props: RectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RectNode(props)\n : new RectNode(this.ctx, props);\n }\n\n RRect(props: RoundedRectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RRectNode(props)\n : new RRectNode(this.ctx, props);\n }\n\n Vertices(props: VerticesProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.VerticesNode(props)\n : new VerticesNode(this.ctx, props);\n }\n\n Text(props: TextProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TextNode(props)\n : new TextNode(this.ctx, props);\n }\n\n TextPath(props: TextPathProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TextPathNode(props)\n : new TextPathNode(this.ctx, props);\n }\n\n TextBlob(props: TextBlobProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TextBlobNode(props)\n : new TextBlobNode(this.ctx, props);\n }\n\n Glyphs(props: GlyphsProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.GlyphsNode(props)\n : new GlyphsNode(this.ctx, props);\n }\n\n DiffRect(props: DiffRectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DiffRectNode(props)\n : new DiffRectNode(this.ctx, props);\n }\n\n Picture(props: PictureProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PictureNode(props)\n : new PictureNode(this.ctx, props);\n }\n\n ImageSVG(props: ImageSVGProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ImageSVGNode(props)\n : new ImageSVGNode(this.ctx, props);\n }\n\n // BlurMaskFilters\n BlurMaskFilter(props: BlurMaskFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlurMaskFilterNode(props)\n : new BlurMaskFilterNode(this.ctx, props);\n }\n\n // ImageFilters\n BlendImageFilter(props: BlendImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlendImageFilterNode(props)\n : new BlendImageFilterNode(this.ctx, props);\n }\n\n DropShadowImageFilter(props: DropShadowImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DropShadowImageFilterNode(props)\n : new DropShadowImageFilterNode(this.ctx, props);\n }\n\n DisplacementMapImageFilter(props: DisplacementMapImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DisplacementMapImageFilterNode(props)\n : new DisplacementMapImageFilterNode(this.ctx, props);\n }\n\n BlurImageFilter(props: BlurImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlurImageFilterNode(props)\n : new BlurImageFilterNode(this.ctx, props);\n }\n\n OffsetImageFilter(props: OffsetImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.OffsetImageFilterNode(props)\n : new OffsetImageFilterNode(this.ctx, props);\n }\n\n MorphologyImageFilter(props: MorphologyImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.MorphologyImageFilterNode(props)\n : new MorphologyImageFilterNode(this.ctx, props);\n }\n\n RuntimeShaderImageFilter(props: RuntimeShaderImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RuntimeShaderImageFilterNode(props)\n : new RuntimeShaderImageFilterNode(this.ctx, props);\n }\n\n // Color Filters\n MatrixColorFilter(props: MatrixColorFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.MatrixColorFilterNode(props)\n : new MatrixColorFilterNode(this.ctx, props);\n }\n\n BlendColorFilter(props: BlendColorFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlendColorFilterNode(props)\n : new BlendColorFilterNode(this.ctx, props);\n }\n\n LumaColorFilter() {\n return NATIVE_DOM\n ? global.SkiaDomApi.LumaColorFilterNode()\n : new LumaColorFilterNode(this.ctx);\n }\n\n LinearToSRGBGammaColorFilter() {\n return global.SkiaDomApi &&\n global.SkiaDomApi.LinearToSRGBGammaColorFilterNode\n ? global.SkiaDomApi.LinearToSRGBGammaColorFilterNode()\n : new LinearToSRGBGammaColorFilterNode(this.ctx);\n }\n\n SRGBToLinearGammaColorFilter() {\n return global.SkiaDomApi &&\n global.SkiaDomApi.SRGBToLinearGammaColorFilterNode\n ? global.SkiaDomApi.SRGBToLinearGammaColorFilterNode()\n : new SRGBToLinearGammaColorFilterNode(this.ctx);\n }\n\n LerpColorFilter(props: LerpColorFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LerpColorFilterNode(props)\n : new LerpColorFilterNode(this.ctx, props);\n }\n\n // Shaders\n Shader(props: ShaderProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ShaderNode(props)\n : new ShaderNode(this.ctx, props);\n }\n\n ImageShader(props: ImageShaderProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ImageShaderNode(props)\n : new ImageShaderNode(this.ctx, props);\n }\n\n ColorShader(props: ColorProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ColorShaderNode(props)\n : new ColorNode(this.ctx, props);\n }\n\n SweepGradient(props: SweepGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.SweepGradientNode(props)\n : new SweepGradientNode(this.ctx, props);\n }\n\n Turbulence(props: TurbulenceProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TurbulenceNode(props)\n : new TurbulenceNode(this.ctx, props);\n }\n\n FractalNoise(props: FractalNoiseProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.FractalNoiseNode(props)\n : new FractalNoiseNode(this.ctx, props);\n }\n\n LinearGradient(props: LinearGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LinearGradientNode(props)\n : new LinearGradientNode(this.ctx, props);\n }\n\n RadialGradient(props: RadialGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RadialGradientNode(props)\n : new RadialGradientNode(this.ctx, props);\n }\n\n TwoPointConicalGradient(props: TwoPointConicalGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TwoPointConicalGradientNode(props)\n : new TwoPointConicalGradientNode(this.ctx, props);\n }\n\n // Path Effects\n CornerPathEffect(props: CornerPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.CornerPathEffectNode(props)\n : new CornerPathEffectNode(this.ctx, props);\n }\n\n DiscretePathEffect(props: DiscretePathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DiscretePathEffectNode(props)\n : new DiscretePathEffectNode(this.ctx, props);\n }\n\n DashPathEffect(props: DashPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DashPathEffectNode(props)\n : new DashPathEffectNode(this.ctx, props);\n }\n\n Path1DPathEffect(props: Path1DPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.Path1DPathEffectNode(props)\n : new Path1DPathEffectNode(this.ctx, props);\n }\n\n Path2DPathEffect(props: Path2DPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.Path2DPathEffectNode(props)\n : new Path2DPathEffectNode(this.ctx, props);\n }\n\n SumPathEffect() {\n return NATIVE_DOM\n ? global.SkiaDomApi.SumPathEffectNode()\n : new SumPathEffectNode(this.ctx);\n }\n\n Line2DPathEffect(props: Line2DPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.Line2DPathEffectNode(props)\n : new Line2DPathEffectNode(this.ctx, props);\n }\n\n Blend(props: BlendProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlendNode(props)\n : new BlendNode(this.ctx, props);\n }\n\n BackdropFilter(props: ChildrenProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BackdropFilterNode(props)\n : new BackdropFilterNode(this.ctx, props);\n }\n\n Box(props: BoxProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BoxNode(props)\n : new BoxNode(this.ctx, props);\n }\n\n BoxShadow(props: BoxShadowProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BoxShadowNode(props)\n : new BoxShadowNode(this.ctx, props);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["JsiSkDOM","constructor","ctx","Layer","props","NATIVE_DOM","global","SkiaDomApi","LayerNode","Group","GroupNode","Paint","PaintNode","Fill","FillNode","Image","ImageNode","Circle","CircleNode","Path","PathNode","CustomDrawing","CustomDrawingNode","Line","LineNode","Oval","OvalNode","Patch","PatchNode","Points","PointsNode","Rect","RectNode","RRect","RRectNode","Vertices","VerticesNode","Text","TextNode","TextPath","TextPathNode","TextBlob","TextBlobNode","Glyphs","GlyphsNode","DiffRect","DiffRectNode","Picture","PictureNode","ImageSVG","ImageSVGNode","BlurMaskFilter","BlurMaskFilterNode","BlendImageFilter","BlendImageFilterNode","DropShadowImageFilter","DropShadowImageFilterNode","DisplacementMapImageFilter","DisplacementMapImageFilterNode","BlurImageFilter","BlurImageFilterNode","OffsetImageFilter","OffsetImageFilterNode","MorphologyImageFilter","MorphologyImageFilterNode","RuntimeShaderImageFilter","RuntimeShaderImageFilterNode","MatrixColorFilter","MatrixColorFilterNode","BlendColorFilter","BlendColorFilterNode","LumaColorFilter","LumaColorFilterNode","LinearToSRGBGammaColorFilter","LinearToSRGBGammaColorFilterNode","SRGBToLinearGammaColorFilter","SRGBToLinearGammaColorFilterNode","LerpColorFilter","LerpColorFilterNode","Shader","ShaderNode","ImageShader","ImageShaderNode","ColorShader","ColorShaderNode","ColorNode","SweepGradient","SweepGradientNode","Turbulence","TurbulenceNode","FractalNoise","FractalNoiseNode","LinearGradient","LinearGradientNode","RadialGradient","RadialGradientNode","TwoPointConicalGradient","TwoPointConicalGradientNode","CornerPathEffect","CornerPathEffectNode","DiscretePathEffect","DiscretePathEffectNode","DashPathEffect","DashPathEffectNode","Path1DPathEffect","Path1DPathEffectNode","Path2DPathEffect","Path2DPathEffectNode","SumPathEffect","SumPathEffectNode","Line2DPathEffect","Line2DPathEffectNode","Blend","BlendNode","BackdropFilter","BackdropFilterNode","Box","BoxNode","BoxShadow","BoxShadowNode","Paragraph","ParagraphNode"],"sources":["JsiSkDOM.ts"],"sourcesContent":["import type {\n PathProps,\n SkDOM,\n GroupProps,\n ImageProps,\n BlurImageFilterProps,\n MatrixColorFilterProps,\n CircleProps,\n BlurMaskFilterProps,\n LinearGradientProps,\n PaintProps,\n ShaderProps,\n ImageShaderProps,\n CustomDrawingNodeProps,\n LineProps,\n OvalProps,\n PatchProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n VerticesProps,\n TextProps,\n DiffRectProps,\n OffsetImageFilterProps,\n BlendColorFilterProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n TwoPointConicalGradientProps,\n TurbulenceProps,\n SweepGradientProps,\n RadialGradientProps,\n FractalNoiseProps,\n ColorProps,\n PictureProps,\n ImageSVGProps,\n LerpColorFilterProps,\n DrawingNodeProps,\n BoxProps,\n BoxShadowProps,\n ChildrenProps,\n} from \"../types\";\nimport type {\n BlendImageFilterProps,\n BlendProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n MorphologyImageFilterProps,\n RuntimeShaderImageFilterProps,\n} from \"../types/ImageFilters\";\nimport type {\n CornerPathEffectProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n} from \"../types/PathEffects\";\nimport { NATIVE_DOM } from \"../../renderer/HostComponents\";\nimport type { ParagraphProps } from \"../types/Paragraph\";\n\nimport {\n FillNode,\n ImageNode,\n CircleNode,\n PathNode,\n LineNode,\n PatchNode,\n PointsNode,\n RectNode,\n RRectNode,\n VerticesNode,\n TextNode,\n OvalNode,\n CustomDrawingNode,\n TextPathNode,\n TextBlobNode,\n GlyphsNode,\n DiffRectNode,\n PictureNode,\n ImageSVGNode,\n BackdropFilterNode,\n BoxNode,\n BoxShadowNode,\n} from \"./drawings\";\nimport {\n BlendImageFilterNode,\n BlurImageFilterNode,\n BlurMaskFilterNode,\n DisplacementMapImageFilterNode,\n DropShadowImageFilterNode,\n OffsetImageFilterNode,\n RuntimeShaderImageFilterNode,\n CornerPathEffectNode,\n DiscretePathEffectNode,\n DashPathEffectNode,\n Path1DPathEffectNode,\n Path2DPathEffectNode,\n SumPathEffectNode,\n Line2DPathEffectNode,\n BlendNode,\n} from \"./paint\";\nimport {\n MatrixColorFilterNode,\n LumaColorFilterNode,\n LinearToSRGBGammaColorFilterNode,\n SRGBToLinearGammaColorFilterNode,\n BlendColorFilterNode,\n LerpColorFilterNode,\n} from \"./paint/ColorFilters\";\nimport {\n LinearGradientNode,\n ShaderNode,\n ImageShaderNode,\n TwoPointConicalGradientNode,\n TurbulenceNode,\n SweepGradientNode,\n RadialGradientNode,\n FractalNoiseNode,\n ColorNode,\n} from \"./paint/Shaders\";\nimport { MorphologyImageFilterNode } from \"./paint/ImageFilters\";\nimport { GroupNode } from \"./GroupNode\";\nimport { PaintNode } from \"./PaintNode\";\nimport type { NodeContext } from \"./Node\";\nimport { LayerNode } from \"./LayerNode\";\nimport { ParagraphNode } from \"./drawings/ParagraphNode\";\n\nexport class JsiSkDOM implements SkDOM {\n constructor(private ctx: NodeContext) {}\n\n Layer(props?: ChildrenProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LayerNode(props ?? {})\n : new LayerNode(this.ctx, props ?? {});\n }\n\n Group(props?: GroupProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.GroupNode(props ?? {})\n : new GroupNode(this.ctx, props ?? {});\n }\n\n Paint(props: PaintProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PaintNode(props ?? {})\n : new PaintNode(this.ctx, props);\n }\n\n // Drawings\n Fill(props?: DrawingNodeProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.FillNode(props ?? {})\n : new FillNode(this.ctx, props);\n }\n\n Image(props: ImageProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ImageNode(props ?? {})\n : new ImageNode(this.ctx, props);\n }\n\n Circle(props: CircleProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.CircleNode(props ?? {})\n : new CircleNode(this.ctx, props);\n }\n\n Path(props: PathProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PathNode(props ?? {})\n : new PathNode(this.ctx, props);\n }\n\n CustomDrawing(props: CustomDrawingNodeProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.CustomDrawingNode(props ?? {})\n : new CustomDrawingNode(this.ctx, props);\n }\n\n Line(props: LineProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LineNode(props ?? {})\n : new LineNode(this.ctx, props);\n }\n\n Oval(props: OvalProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.OvalNode(props ?? {})\n : new OvalNode(this.ctx, props);\n }\n\n Patch(props: PatchProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PatchNode(props ?? {})\n : new PatchNode(this.ctx, props);\n }\n\n Points(props: PointsProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PointsNode(props ?? {})\n : new PointsNode(this.ctx, props);\n }\n\n Rect(props: RectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RectNode(props)\n : new RectNode(this.ctx, props);\n }\n\n RRect(props: RoundedRectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RRectNode(props)\n : new RRectNode(this.ctx, props);\n }\n\n Vertices(props: VerticesProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.VerticesNode(props)\n : new VerticesNode(this.ctx, props);\n }\n\n Text(props: TextProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TextNode(props)\n : new TextNode(this.ctx, props);\n }\n\n TextPath(props: TextPathProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TextPathNode(props)\n : new TextPathNode(this.ctx, props);\n }\n\n TextBlob(props: TextBlobProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TextBlobNode(props)\n : new TextBlobNode(this.ctx, props);\n }\n\n Glyphs(props: GlyphsProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.GlyphsNode(props)\n : new GlyphsNode(this.ctx, props);\n }\n\n DiffRect(props: DiffRectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DiffRectNode(props)\n : new DiffRectNode(this.ctx, props);\n }\n\n Picture(props: PictureProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PictureNode(props)\n : new PictureNode(this.ctx, props);\n }\n\n ImageSVG(props: ImageSVGProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ImageSVGNode(props)\n : new ImageSVGNode(this.ctx, props);\n }\n\n // BlurMaskFilters\n BlurMaskFilter(props: BlurMaskFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlurMaskFilterNode(props)\n : new BlurMaskFilterNode(this.ctx, props);\n }\n\n // ImageFilters\n BlendImageFilter(props: BlendImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlendImageFilterNode(props)\n : new BlendImageFilterNode(this.ctx, props);\n }\n\n DropShadowImageFilter(props: DropShadowImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DropShadowImageFilterNode(props)\n : new DropShadowImageFilterNode(this.ctx, props);\n }\n\n DisplacementMapImageFilter(props: DisplacementMapImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DisplacementMapImageFilterNode(props)\n : new DisplacementMapImageFilterNode(this.ctx, props);\n }\n\n BlurImageFilter(props: BlurImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlurImageFilterNode(props)\n : new BlurImageFilterNode(this.ctx, props);\n }\n\n OffsetImageFilter(props: OffsetImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.OffsetImageFilterNode(props)\n : new OffsetImageFilterNode(this.ctx, props);\n }\n\n MorphologyImageFilter(props: MorphologyImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.MorphologyImageFilterNode(props)\n : new MorphologyImageFilterNode(this.ctx, props);\n }\n\n RuntimeShaderImageFilter(props: RuntimeShaderImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RuntimeShaderImageFilterNode(props)\n : new RuntimeShaderImageFilterNode(this.ctx, props);\n }\n\n // Color Filters\n MatrixColorFilter(props: MatrixColorFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.MatrixColorFilterNode(props)\n : new MatrixColorFilterNode(this.ctx, props);\n }\n\n BlendColorFilter(props: BlendColorFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlendColorFilterNode(props)\n : new BlendColorFilterNode(this.ctx, props);\n }\n\n LumaColorFilter() {\n return NATIVE_DOM\n ? global.SkiaDomApi.LumaColorFilterNode()\n : new LumaColorFilterNode(this.ctx);\n }\n\n LinearToSRGBGammaColorFilter() {\n return global.SkiaDomApi &&\n global.SkiaDomApi.LinearToSRGBGammaColorFilterNode\n ? global.SkiaDomApi.LinearToSRGBGammaColorFilterNode()\n : new LinearToSRGBGammaColorFilterNode(this.ctx);\n }\n\n SRGBToLinearGammaColorFilter() {\n return global.SkiaDomApi &&\n global.SkiaDomApi.SRGBToLinearGammaColorFilterNode\n ? global.SkiaDomApi.SRGBToLinearGammaColorFilterNode()\n : new SRGBToLinearGammaColorFilterNode(this.ctx);\n }\n\n LerpColorFilter(props: LerpColorFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LerpColorFilterNode(props)\n : new LerpColorFilterNode(this.ctx, props);\n }\n\n // Shaders\n Shader(props: ShaderProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ShaderNode(props)\n : new ShaderNode(this.ctx, props);\n }\n\n ImageShader(props: ImageShaderProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ImageShaderNode(props)\n : new ImageShaderNode(this.ctx, props);\n }\n\n ColorShader(props: ColorProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ColorShaderNode(props)\n : new ColorNode(this.ctx, props);\n }\n\n SweepGradient(props: SweepGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.SweepGradientNode(props)\n : new SweepGradientNode(this.ctx, props);\n }\n\n Turbulence(props: TurbulenceProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TurbulenceNode(props)\n : new TurbulenceNode(this.ctx, props);\n }\n\n FractalNoise(props: FractalNoiseProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.FractalNoiseNode(props)\n : new FractalNoiseNode(this.ctx, props);\n }\n\n LinearGradient(props: LinearGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LinearGradientNode(props)\n : new LinearGradientNode(this.ctx, props);\n }\n\n RadialGradient(props: RadialGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RadialGradientNode(props)\n : new RadialGradientNode(this.ctx, props);\n }\n\n TwoPointConicalGradient(props: TwoPointConicalGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TwoPointConicalGradientNode(props)\n : new TwoPointConicalGradientNode(this.ctx, props);\n }\n\n // Path Effects\n CornerPathEffect(props: CornerPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.CornerPathEffectNode(props)\n : new CornerPathEffectNode(this.ctx, props);\n }\n\n DiscretePathEffect(props: DiscretePathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DiscretePathEffectNode(props)\n : new DiscretePathEffectNode(this.ctx, props);\n }\n\n DashPathEffect(props: DashPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DashPathEffectNode(props)\n : new DashPathEffectNode(this.ctx, props);\n }\n\n Path1DPathEffect(props: Path1DPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.Path1DPathEffectNode(props)\n : new Path1DPathEffectNode(this.ctx, props);\n }\n\n Path2DPathEffect(props: Path2DPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.Path2DPathEffectNode(props)\n : new Path2DPathEffectNode(this.ctx, props);\n }\n\n SumPathEffect() {\n return NATIVE_DOM\n ? global.SkiaDomApi.SumPathEffectNode()\n : new SumPathEffectNode(this.ctx);\n }\n\n Line2DPathEffect(props: Line2DPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.Line2DPathEffectNode(props)\n : new Line2DPathEffectNode(this.ctx, props);\n }\n\n Blend(props: BlendProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlendNode(props)\n : new BlendNode(this.ctx, props);\n }\n\n BackdropFilter(props: ChildrenProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BackdropFilterNode(props)\n : new BackdropFilterNode(this.ctx, props);\n }\n\n Box(props: BoxProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BoxNode(props)\n : new BoxNode(this.ctx, props);\n }\n\n BoxShadow(props: BoxShadowProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BoxShadowNode(props)\n : new BoxShadowNode(this.ctx, props);\n }\n\n // Paragraph\n Paragraph(props: ParagraphProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ParagraphNode(props)\n : new ParagraphNode(this.ctx, props);\n }\n}\n"],"mappings":"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"}