@shopify/react-native-skia 0.1.222 → 0.1.223
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cpp/api/JsiSkApi.h +5 -0
- 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/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
|
@@ -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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"}
|