@shopify/react-native-skia 0.1.222 → 0.1.224
Sign up to get free protection for your applications and to get access to all the features.
- package/cpp/api/JsiSkApi.h +6 -1
- package/cpp/api/JsiSkFontMgrFactory.h +9 -4
- package/cpp/api/JsiSkParagraph.h +135 -0
- package/cpp/api/JsiSkParagraphBuilder.h +159 -0
- package/cpp/api/JsiSkParagraphStyle.h +124 -0
- package/cpp/api/JsiSkStrutStyle.h +96 -0
- package/cpp/api/JsiSkTextStyle.h +185 -0
- package/cpp/api/{JsiSkTypeFaceFontProviderFactory.h → JsiSkTypefaceFontProviderFactory.h} +1 -1
- package/cpp/jsi/JsiHostObject.h +21 -0
- package/cpp/rnskia/dom/JsiDomApi.h +4 -0
- package/cpp/rnskia/dom/nodes/JsiParagraphNode.h +62 -0
- package/cpp/rnskia/dom/props/ParagraphProp.h +45 -0
- package/cpp/skia/modules/skunicode/include/SkUnicode.h +312 -0
- package/cpp/skia/src/base/SkTInternalLList.h +304 -0
- package/cpp/skia/src/base/SkUTF.h +95 -0
- package/cpp/skia/src/core/SkLRUCache.h +130 -0
- package/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +2 -0
- package/lib/commonjs/dom/nodes/JsiSkDOM.js +7 -0
- package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -1
- package/lib/commonjs/dom/nodes/drawings/ParagraphNode.d.ts +8 -0
- package/lib/commonjs/dom/nodes/drawings/ParagraphNode.js +41 -0
- package/lib/commonjs/dom/nodes/drawings/ParagraphNode.js.map +1 -0
- package/lib/commonjs/dom/types/NodeType.d.ts +2 -1
- package/lib/commonjs/dom/types/NodeType.js +1 -0
- package/lib/commonjs/dom/types/NodeType.js.map +1 -1
- package/lib/commonjs/dom/types/Paragraph.d.ts +8 -0
- package/lib/commonjs/dom/types/Paragraph.js +6 -0
- package/lib/commonjs/dom/types/Paragraph.js.map +1 -0
- package/lib/commonjs/dom/types/SkDOM.d.ts +2 -0
- package/lib/commonjs/dom/types/SkDOM.js.map +1 -1
- package/lib/commonjs/dom/types/index.d.ts +1 -0
- package/lib/commonjs/dom/types/index.js +13 -0
- package/lib/commonjs/dom/types/index.js.map +1 -1
- package/lib/commonjs/renderer/HostComponents.d.ts +3 -1
- package/lib/commonjs/renderer/HostComponents.js +4 -0
- package/lib/commonjs/renderer/HostComponents.js.map +1 -1
- package/lib/commonjs/renderer/components/index.d.ts +1 -0
- package/lib/commonjs/renderer/components/index.js +13 -0
- package/lib/commonjs/renderer/components/index.js.map +1 -1
- package/lib/commonjs/renderer/components/paragraph/Paragraph.d.ts +4 -0
- package/lib/commonjs/renderer/components/paragraph/Paragraph.js +17 -0
- package/lib/commonjs/renderer/components/paragraph/Paragraph.js.map +1 -0
- package/lib/commonjs/renderer/components/paragraph/index.d.ts +1 -0
- package/lib/commonjs/renderer/components/paragraph/index.js +19 -0
- package/lib/commonjs/renderer/components/paragraph/index.js.map +1 -0
- package/lib/commonjs/skia/types/Paragraph/Paragraph.d.ts +56 -0
- package/lib/commonjs/skia/types/Paragraph/Paragraph.js +6 -0
- package/lib/commonjs/skia/types/Paragraph/Paragraph.js.map +1 -0
- package/lib/commonjs/skia/types/Paragraph/ParagraphBuilder.d.ts +60 -0
- package/lib/commonjs/skia/types/Paragraph/ParagraphBuilder.js +18 -0
- package/lib/commonjs/skia/types/Paragraph/ParagraphBuilder.js.map +1 -0
- package/lib/commonjs/skia/types/Paragraph/ParagraphStyle.d.ts +41 -0
- package/lib/commonjs/skia/types/Paragraph/ParagraphStyle.js +36 -0
- package/lib/commonjs/skia/types/Paragraph/ParagraphStyle.js.map +1 -0
- package/lib/commonjs/skia/types/Paragraph/TextStyle.d.ts +62 -0
- package/lib/commonjs/skia/types/Paragraph/TextStyle.js +35 -0
- package/lib/commonjs/skia/types/Paragraph/TextStyle.js.map +1 -0
- package/lib/commonjs/skia/types/Paragraph/index.d.ts +6 -0
- package/lib/commonjs/skia/types/Paragraph/index.js +84 -0
- package/lib/commonjs/skia/types/Paragraph/index.js.map +1 -0
- package/lib/commonjs/skia/types/Skia.d.ts +2 -0
- package/lib/commonjs/skia/types/Skia.js.map +1 -1
- package/lib/commonjs/skia/types/index.d.ts +1 -0
- package/lib/commonjs/skia/types/index.js +13 -0
- package/lib/commonjs/skia/types/index.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkParagraph.d.ts +16 -0
- package/lib/commonjs/skia/web/JsiSkParagraph.js +91 -0
- package/lib/commonjs/skia/web/JsiSkParagraph.js.map +1 -0
- package/lib/commonjs/skia/web/JsiSkParagraphBuilder.d.ts +15 -0
- package/lib/commonjs/skia/web/JsiSkParagraphBuilder.js +85 -0
- package/lib/commonjs/skia/web/JsiSkParagraphBuilder.js.map +1 -0
- package/lib/commonjs/skia/web/JsiSkParagraphBuilderFactory.d.ts +8 -0
- package/lib/commonjs/skia/web/JsiSkParagraphBuilderFactory.js +34 -0
- package/lib/commonjs/skia/web/JsiSkParagraphBuilderFactory.js.map +1 -0
- package/lib/commonjs/skia/web/JsiSkParagraphStyle.d.ts +5 -0
- package/lib/commonjs/skia/web/JsiSkParagraphStyle.js +59 -0
- package/lib/commonjs/skia/web/JsiSkParagraphStyle.js.map +1 -0
- package/lib/commonjs/skia/web/JsiSkTextStyle.d.ts +5 -0
- package/lib/commonjs/skia/web/JsiSkTextStyle.js +54 -0
- package/lib/commonjs/skia/web/JsiSkTextStyle.js.map +1 -0
- package/lib/commonjs/skia/web/JsiSkia.js +4 -1
- package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
- package/lib/module/dom/nodes/JsiSkDOM.d.ts +2 -0
- package/lib/module/dom/nodes/JsiSkDOM.js +6 -0
- package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
- package/lib/module/dom/nodes/drawings/ParagraphNode.d.ts +8 -0
- package/lib/module/dom/nodes/drawings/ParagraphNode.js +30 -0
- package/lib/module/dom/nodes/drawings/ParagraphNode.js.map +1 -0
- package/lib/module/dom/types/NodeType.d.ts +2 -1
- package/lib/module/dom/types/NodeType.js +1 -0
- package/lib/module/dom/types/NodeType.js.map +1 -1
- package/lib/module/dom/types/Paragraph.d.ts +8 -0
- package/lib/module/dom/types/Paragraph.js +2 -0
- package/lib/module/dom/types/Paragraph.js.map +1 -0
- package/lib/module/dom/types/SkDOM.d.ts +2 -0
- package/lib/module/dom/types/SkDOM.js.map +1 -1
- package/lib/module/dom/types/index.d.ts +1 -0
- package/lib/module/dom/types/index.js +1 -0
- package/lib/module/dom/types/index.js.map +1 -1
- package/lib/module/renderer/HostComponents.d.ts +3 -1
- package/lib/module/renderer/HostComponents.js +4 -0
- package/lib/module/renderer/HostComponents.js.map +1 -1
- package/lib/module/renderer/components/index.d.ts +1 -0
- package/lib/module/renderer/components/index.js +1 -0
- package/lib/module/renderer/components/index.js.map +1 -1
- package/lib/module/renderer/components/paragraph/Paragraph.d.ts +4 -0
- package/lib/module/renderer/components/paragraph/Paragraph.js +5 -0
- package/lib/module/renderer/components/paragraph/Paragraph.js.map +1 -0
- package/lib/module/renderer/components/paragraph/index.d.ts +1 -0
- package/lib/module/renderer/components/paragraph/index.js +2 -0
- package/lib/module/renderer/components/paragraph/index.js.map +1 -0
- package/lib/module/skia/types/Paragraph/Paragraph.d.ts +56 -0
- package/lib/module/skia/types/Paragraph/Paragraph.js +2 -0
- package/lib/module/skia/types/Paragraph/Paragraph.js.map +1 -0
- package/lib/module/skia/types/Paragraph/ParagraphBuilder.d.ts +60 -0
- package/lib/module/skia/types/Paragraph/ParagraphBuilder.js +11 -0
- package/lib/module/skia/types/Paragraph/ParagraphBuilder.js.map +1 -0
- package/lib/module/skia/types/Paragraph/ParagraphStyle.d.ts +41 -0
- package/lib/module/skia/types/Paragraph/ParagraphStyle.js +27 -0
- package/lib/module/skia/types/Paragraph/ParagraphStyle.js.map +1 -0
- package/lib/module/skia/types/Paragraph/TextStyle.d.ts +62 -0
- package/lib/module/skia/types/Paragraph/TextStyle.js +26 -0
- package/lib/module/skia/types/Paragraph/TextStyle.js.map +1 -0
- package/lib/module/skia/types/Paragraph/index.d.ts +6 -0
- package/lib/module/skia/types/Paragraph/index.js +7 -0
- package/lib/module/skia/types/Paragraph/index.js.map +1 -0
- package/lib/module/skia/types/Skia.d.ts +2 -0
- package/lib/module/skia/types/Skia.js.map +1 -1
- package/lib/module/skia/types/index.d.ts +1 -0
- package/lib/module/skia/types/index.js +1 -0
- package/lib/module/skia/types/index.js.map +1 -1
- package/lib/module/skia/web/JsiSkParagraph.d.ts +16 -0
- package/lib/module/skia/web/JsiSkParagraph.js +81 -0
- package/lib/module/skia/web/JsiSkParagraph.js.map +1 -0
- package/lib/module/skia/web/JsiSkParagraphBuilder.d.ts +15 -0
- package/lib/module/skia/web/JsiSkParagraphBuilder.js +73 -0
- package/lib/module/skia/web/JsiSkParagraphBuilder.js.map +1 -0
- package/lib/module/skia/web/JsiSkParagraphBuilderFactory.d.ts +8 -0
- package/lib/module/skia/web/JsiSkParagraphBuilderFactory.js +21 -0
- package/lib/module/skia/web/JsiSkParagraphBuilderFactory.js.map +1 -0
- package/lib/module/skia/web/JsiSkParagraphStyle.d.ts +5 -0
- package/lib/module/skia/web/JsiSkParagraphStyle.js +49 -0
- package/lib/module/skia/web/JsiSkParagraphStyle.js.map +1 -0
- package/lib/module/skia/web/JsiSkTextStyle.d.ts +5 -0
- package/lib/module/skia/web/JsiSkTextStyle.js +45 -0
- package/lib/module/skia/web/JsiSkTextStyle.js.map +1 -0
- package/lib/module/skia/web/JsiSkia.js +3 -1
- package/lib/module/skia/web/JsiSkia.js.map +1 -1
- package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +2 -0
- package/lib/typescript/src/dom/nodes/drawings/ParagraphNode.d.ts +8 -0
- package/lib/typescript/src/dom/types/NodeType.d.ts +2 -1
- package/lib/typescript/src/dom/types/Paragraph.d.ts +8 -0
- package/lib/typescript/src/dom/types/SkDOM.d.ts +2 -0
- package/lib/typescript/src/dom/types/index.d.ts +1 -0
- package/lib/typescript/src/renderer/HostComponents.d.ts +3 -1
- package/lib/typescript/src/renderer/components/index.d.ts +1 -0
- package/lib/typescript/src/renderer/components/paragraph/Paragraph.d.ts +4 -0
- package/lib/typescript/src/renderer/components/paragraph/index.d.ts +1 -0
- package/lib/typescript/src/skia/types/Paragraph/Paragraph.d.ts +56 -0
- package/lib/typescript/src/skia/types/Paragraph/ParagraphBuilder.d.ts +60 -0
- package/lib/typescript/src/skia/types/Paragraph/ParagraphStyle.d.ts +41 -0
- package/lib/typescript/src/skia/types/Paragraph/TextStyle.d.ts +62 -0
- package/lib/typescript/src/skia/types/Paragraph/index.d.ts +6 -0
- package/lib/typescript/src/skia/types/Skia.d.ts +2 -0
- package/lib/typescript/src/skia/types/index.d.ts +1 -0
- package/lib/typescript/src/skia/web/JsiSkParagraph.d.ts +16 -0
- package/lib/typescript/src/skia/web/JsiSkParagraphBuilder.d.ts +15 -0
- package/lib/typescript/src/skia/web/JsiSkParagraphBuilderFactory.d.ts +8 -0
- package/lib/typescript/src/skia/web/JsiSkParagraphStyle.d.ts +5 -0
- package/lib/typescript/src/skia/web/JsiSkTextStyle.d.ts +5 -0
- package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
- package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
- package/libs/ios/libskottie.xcframework/Info.plist +5 -5
- package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
- package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
- package/libs/ios/libskparagraph.xcframework/Info.plist +5 -5
- package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
- package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
- package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
- package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
- package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
- package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
- package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e/libskunicode.a +0 -0
- package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode.a +0 -0
- package/libs/ios/libsvg.xcframework/Info.plist +5 -5
- package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
- package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
- package/package.json +1 -1
- package/src/dom/nodes/JsiSkDOM.ts +9 -0
- package/src/dom/nodes/drawings/ParagraphNode.ts +22 -0
- package/src/dom/types/NodeType.ts +3 -0
- package/src/dom/types/Paragraph.ts +10 -0
- package/src/dom/types/SkDOM.ts +4 -0
- package/src/dom/types/index.ts +1 -0
- package/src/renderer/HostComponents.ts +10 -0
- package/src/renderer/components/index.ts +2 -0
- package/src/renderer/components/paragraph/Paragraph.tsx +8 -0
- package/src/renderer/components/paragraph/index.ts +1 -0
- package/src/skia/types/Paragraph/Paragraph.ts +59 -0
- package/src/skia/types/Paragraph/ParagraphBuilder.ts +96 -0
- package/src/skia/types/Paragraph/ParagraphStyle.ts +45 -0
- package/src/skia/types/Paragraph/TextStyle.ts +70 -0
- package/src/skia/types/Paragraph/index.ts +6 -0
- package/src/skia/types/Skia.ts +3 -0
- package/src/skia/types/index.ts +1 -0
- package/src/skia/web/JsiSkParagraph.ts +69 -0
- package/src/skia/web/JsiSkParagraphBuilder.ts +99 -0
- package/src/skia/web/JsiSkParagraphBuilderFactory.ts +42 -0
- package/src/skia/web/JsiSkParagraphStyle.ts +65 -0
- package/src/skia/web/JsiSkTextStyle.ts +53 -0
- package/src/skia/web/JsiSkia.ts +2 -0
- /package/cpp/api/{JsiSkTypeFaceFontProvider.h → JsiSkTypefaceFontProvider.h} +0 -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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"}
|