@shopify/react-native-skia 1.11.1 → 1.11.3
Sign up to get free protection for your applications and to get access to all the features.
- package/android/CMakeLists.txt +0 -8
- package/android/cpp/jni/JniLoad.cpp +0 -2
- package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaPackage.java +1 -1
- package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaPictureViewManagerDelegate.java +4 -2
- package/cpp/jsi/ViewProperty.h +5 -16
- package/cpp/rnskia/RNSkManager.cpp +1 -7
- package/lib/commonjs/dom/nodes/index.d.ts +0 -1
- package/lib/commonjs/dom/nodes/index.js +0 -11
- package/lib/commonjs/dom/nodes/index.js.map +1 -1
- package/lib/commonjs/external/reanimated/renderHelpers.d.ts +0 -6
- package/lib/commonjs/external/reanimated/renderHelpers.js +0 -73
- package/lib/commonjs/external/reanimated/renderHelpers.js.map +1 -1
- package/lib/commonjs/index.d.ts +0 -1
- package/lib/commonjs/index.js +0 -12
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/renderer/Canvas.d.ts +10 -1
- package/lib/commonjs/renderer/Canvas.js +3 -1
- package/lib/commonjs/renderer/Canvas.js.map +1 -1
- package/lib/commonjs/sksg/Container.d.ts +2 -0
- package/lib/commonjs/sksg/Container.js +10 -0
- package/lib/commonjs/sksg/Container.js.map +1 -1
- package/lib/commonjs/sksg/Elements.d.ts +65 -0
- package/lib/commonjs/sksg/Elements.js +6 -0
- package/lib/commonjs/sksg/Elements.js.map +1 -0
- package/lib/commonjs/sksg/Reconciler.d.ts +1 -0
- package/lib/commonjs/sksg/Reconciler.js +2 -0
- package/lib/commonjs/sksg/Reconciler.js.map +1 -1
- package/lib/commonjs/views/index.d.ts +0 -1
- package/lib/commonjs/views/index.js +0 -11
- package/lib/commonjs/views/index.js.map +1 -1
- package/lib/module/dom/nodes/index.d.ts +0 -1
- package/lib/module/dom/nodes/index.js +0 -1
- package/lib/module/dom/nodes/index.js.map +1 -1
- package/lib/module/external/reanimated/renderHelpers.d.ts +0 -6
- package/lib/module/external/reanimated/renderHelpers.js +0 -68
- package/lib/module/external/reanimated/renderHelpers.js.map +1 -1
- package/lib/module/index.d.ts +0 -1
- package/lib/module/index.js +0 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/renderer/Canvas.d.ts +10 -1
- package/lib/module/renderer/Canvas.js +1 -0
- package/lib/module/renderer/Canvas.js.map +1 -1
- package/lib/module/sksg/Container.d.ts +2 -0
- package/lib/module/sksg/Container.js +10 -0
- package/lib/module/sksg/Container.js.map +1 -1
- package/lib/module/sksg/Elements.d.ts +65 -0
- package/lib/module/sksg/Elements.js +2 -0
- package/lib/module/sksg/Elements.js.map +1 -0
- package/lib/module/sksg/Reconciler.d.ts +1 -0
- package/lib/module/sksg/Reconciler.js +2 -0
- package/lib/module/sksg/Reconciler.js.map +1 -1
- package/lib/module/views/index.d.ts +0 -1
- package/lib/module/views/index.js +0 -1
- package/lib/module/views/index.js.map +1 -1
- package/lib/typescript/lib/commonjs/external/reanimated/renderHelpers.d.ts +0 -3
- package/lib/typescript/lib/commonjs/renderer/Canvas.d.ts +1 -0
- package/lib/typescript/lib/commonjs/sksg/Container.d.ts +2 -0
- package/lib/typescript/lib/commonjs/sksg/Elements.d.ts +1 -0
- package/lib/typescript/lib/commonjs/sksg/Reconciler.d.ts +6 -0
- package/lib/typescript/lib/module/dom/nodes/index.d.ts +0 -1
- package/lib/typescript/lib/module/external/reanimated/renderHelpers.d.ts +0 -3
- package/lib/typescript/lib/module/index.d.ts +0 -1
- package/lib/typescript/lib/module/mock/index.d.ts +0 -1
- package/lib/typescript/lib/module/renderer/Canvas.d.ts +1 -0
- package/lib/typescript/lib/module/sksg/Container.d.ts +2 -0
- package/lib/typescript/lib/module/sksg/Elements.d.ts +1 -0
- package/lib/typescript/lib/module/sksg/Reconciler.d.ts +6 -0
- package/lib/typescript/lib/module/views/index.d.ts +0 -1
- package/lib/typescript/src/dom/nodes/index.d.ts +0 -1
- package/lib/typescript/src/external/reanimated/renderHelpers.d.ts +0 -6
- package/lib/typescript/src/index.d.ts +0 -1
- package/lib/typescript/src/renderer/Canvas.d.ts +10 -1
- package/lib/typescript/src/sksg/Container.d.ts +2 -0
- package/lib/typescript/src/sksg/Elements.d.ts +65 -0
- package/lib/typescript/src/sksg/Reconciler.d.ts +1 -0
- package/lib/typescript/src/views/index.d.ts +0 -1
- package/package.json +1 -1
- package/react-native-skia.podspec +1 -1
- package/src/dom/nodes/index.ts +0 -1
- package/src/external/reanimated/renderHelpers.ts +1 -78
- package/src/index.ts +0 -1
- package/src/renderer/Canvas.tsx +11 -1
- package/src/sksg/Container.ts +11 -0
- package/src/sksg/Elements.tsx +136 -0
- package/src/sksg/Reconciler.ts +2 -0
- package/src/views/index.ts +0 -1
- package/android/cpp/jni/include/JniSkiaDomView.h +0 -82
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaDomView.java +0 -41
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaDomViewManager.java +0 -32
- package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaDomViewManagerDelegate.java +0 -34
- package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaDomViewManagerInterface.java +0 -18
- package/cpp/rnskia/RNSkDomView.cpp +0 -121
- package/cpp/rnskia/RNSkDomView.h +0 -97
- package/cpp/rnskia/dom/JsiDomApi.h +0 -165
- package/cpp/rnskia/dom/base/BaseNodeProp.h +0 -72
- package/cpp/rnskia/dom/base/ConcatablePaint.cpp +0 -117
- package/cpp/rnskia/dom/base/ConcatablePaint.h +0 -49
- package/cpp/rnskia/dom/base/Declaration.h +0 -86
- package/cpp/rnskia/dom/base/DeclarationContext.h +0 -79
- package/cpp/rnskia/dom/base/DerivedNodeProp.h +0 -203
- package/cpp/rnskia/dom/base/DrawingContext.cpp +0 -55
- package/cpp/rnskia/dom/base/DrawingContext.h +0 -104
- package/cpp/rnskia/dom/base/JsiDomDeclarationNode.h +0 -119
- package/cpp/rnskia/dom/base/JsiDomDrawingNode.h +0 -71
- package/cpp/rnskia/dom/base/JsiDomNode.h +0 -572
- package/cpp/rnskia/dom/base/JsiDomRenderNode.h +0 -262
- package/cpp/rnskia/dom/base/NodeProp.h +0 -139
- package/cpp/rnskia/dom/base/NodePropsContainer.h +0 -158
- package/cpp/rnskia/dom/nodes/JsiAtlasNode.h +0 -64
- package/cpp/rnskia/dom/nodes/JsiBackdropFilterNode.h +0 -49
- package/cpp/rnskia/dom/nodes/JsiBlendNode.h +0 -94
- package/cpp/rnskia/dom/nodes/JsiBlurMaskNode.h +0 -75
- package/cpp/rnskia/dom/nodes/JsiBoxNode.h +0 -94
- package/cpp/rnskia/dom/nodes/JsiBoxShadowNode.h +0 -33
- package/cpp/rnskia/dom/nodes/JsiCircleNode.h +0 -35
- package/cpp/rnskia/dom/nodes/JsiColorFilterNodes.h +0 -164
- package/cpp/rnskia/dom/nodes/JsiDiffRectNode.h +0 -37
- package/cpp/rnskia/dom/nodes/JsiFillNode.h +0 -22
- package/cpp/rnskia/dom/nodes/JsiGlyphsNode.h +0 -53
- package/cpp/rnskia/dom/nodes/JsiGroupNode.h +0 -25
- package/cpp/rnskia/dom/nodes/JsiImageFilterNodes.h +0 -361
- package/cpp/rnskia/dom/nodes/JsiImageNode.h +0 -43
- package/cpp/rnskia/dom/nodes/JsiImageSvgNode.h +0 -63
- package/cpp/rnskia/dom/nodes/JsiLayerNode.h +0 -74
- package/cpp/rnskia/dom/nodes/JsiLineNode.h +0 -38
- package/cpp/rnskia/dom/nodes/JsiOvalNode.h +0 -32
- package/cpp/rnskia/dom/nodes/JsiPaintNode.h +0 -119
- package/cpp/rnskia/dom/nodes/JsiParagraphNode.h +0 -62
- package/cpp/rnskia/dom/nodes/JsiPatchNode.h +0 -50
- package/cpp/rnskia/dom/nodes/JsiPathEffectNodes.h +0 -268
- package/cpp/rnskia/dom/nodes/JsiPathNode.h +0 -181
- package/cpp/rnskia/dom/nodes/JsiPictureNode.h +0 -31
- package/cpp/rnskia/dom/nodes/JsiPointsNode.h +0 -48
- package/cpp/rnskia/dom/nodes/JsiRRectNode.h +0 -33
- package/cpp/rnskia/dom/nodes/JsiRectNode.h +0 -33
- package/cpp/rnskia/dom/nodes/JsiShaderNodes.h +0 -434
- package/cpp/rnskia/dom/nodes/JsiTextBlobNode.h +0 -44
- package/cpp/rnskia/dom/nodes/JsiTextNode.h +0 -51
- package/cpp/rnskia/dom/nodes/JsiTextPathNode.h +0 -33
- package/cpp/rnskia/dom/nodes/JsiVerticesNode.h +0 -41
- package/cpp/rnskia/dom/props/BezierProps.h +0 -65
- package/cpp/rnskia/dom/props/BlendModeProp.h +0 -103
- package/cpp/rnskia/dom/props/BoxShadowProps.h +0 -62
- package/cpp/rnskia/dom/props/CircleProp.h +0 -49
- package/cpp/rnskia/dom/props/ClipProp.h +0 -57
- package/cpp/rnskia/dom/props/ColorProp.h +0 -96
- package/cpp/rnskia/dom/props/FontProp.h +0 -42
- package/cpp/rnskia/dom/props/GlyphsProp.h +0 -55
- package/cpp/rnskia/dom/props/LayerProp.h +0 -52
- package/cpp/rnskia/dom/props/MatrixProp.h +0 -54
- package/cpp/rnskia/dom/props/NumbersProp.h +0 -67
- package/cpp/rnskia/dom/props/PaintProps.h +0 -133
- package/cpp/rnskia/dom/props/ParagraphProp.h +0 -45
- package/cpp/rnskia/dom/props/PathProp.h +0 -59
- package/cpp/rnskia/dom/props/PictureProp.h +0 -40
- package/cpp/rnskia/dom/props/PointProp.h +0 -65
- package/cpp/rnskia/dom/props/PointsProp.h +0 -81
- package/cpp/rnskia/dom/props/RRectProp.h +0 -222
- package/cpp/rnskia/dom/props/RSXformProp.h +0 -52
- package/cpp/rnskia/dom/props/RadiusProp.h +0 -43
- package/cpp/rnskia/dom/props/RectProp.h +0 -164
- package/cpp/rnskia/dom/props/SamplingProp.h +0 -54
- package/cpp/rnskia/dom/props/SkImageProps.h +0 -196
- package/cpp/rnskia/dom/props/StrokeProps.h +0 -79
- package/cpp/rnskia/dom/props/SvgProp.h +0 -45
- package/cpp/rnskia/dom/props/TextBlobProp.h +0 -133
- package/cpp/rnskia/dom/props/TileModeProp.h +0 -52
- package/cpp/rnskia/dom/props/TransformProp.h +0 -147
- package/cpp/rnskia/dom/props/TransformsProps.h +0 -66
- package/cpp/rnskia/dom/props/UniformsProp.h +0 -159
- package/cpp/rnskia/dom/props/VertexModeProp.h +0 -49
- package/cpp/rnskia/dom/props/VerticesProps.h +0 -63
- package/ios/RNSkia-iOS/SkiaDomView.h +0 -7
- package/ios/RNSkia-iOS/SkiaDomView.mm +0 -63
- package/ios/RNSkia-iOS/SkiaDomViewManager.h +0 -8
- package/ios/RNSkia-iOS/SkiaDomViewManager.mm +0 -51
- package/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +0 -64
- package/lib/commonjs/dom/nodes/JsiSkDOM.js +0 -196
- package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +0 -1
- package/lib/commonjs/renderer/CanvasOld.d.ts +0 -11
- package/lib/commonjs/renderer/CanvasOld.js +0 -96
- package/lib/commonjs/renderer/CanvasOld.js.map +0 -1
- package/lib/commonjs/renderer/Container.d.ts +0 -10
- package/lib/commonjs/renderer/Container.js +0 -26
- package/lib/commonjs/renderer/Container.js.map +0 -1
- package/lib/commonjs/renderer/HostComponents.d.ts +0 -129
- package/lib/commonjs/renderer/HostComponents.js +0 -141
- package/lib/commonjs/renderer/HostComponents.js.map +0 -1
- package/lib/commonjs/renderer/HostConfig.d.ts +0 -18
- package/lib/commonjs/renderer/HostConfig.js +0 -157
- package/lib/commonjs/renderer/HostConfig.js.map +0 -1
- package/lib/commonjs/renderer/Reconciler.d.ts +0 -9
- package/lib/commonjs/renderer/Reconciler.js +0 -44
- package/lib/commonjs/renderer/Reconciler.js.map +0 -1
- package/lib/commonjs/specs/SkiaDomViewNativeComponent.d.ts +0 -6
- package/lib/commonjs/specs/SkiaDomViewNativeComponent.js +0 -11
- package/lib/commonjs/specs/SkiaDomViewNativeComponent.js.map +0 -1
- package/lib/commonjs/views/SkiaDomView.d.ts +0 -33
- package/lib/commonjs/views/SkiaDomView.js +0 -119
- package/lib/commonjs/views/SkiaDomView.js.map +0 -1
- package/lib/commonjs/views/SkiaDomView.web.d.ts +0 -0
- package/lib/commonjs/views/SkiaDomView.web.js +0 -2
- package/lib/commonjs/views/SkiaDomView.web.js.map +0 -1
- package/lib/module/dom/nodes/JsiSkDOM.d.ts +0 -64
- package/lib/module/dom/nodes/JsiSkDOM.js +0 -189
- package/lib/module/dom/nodes/JsiSkDOM.js.map +0 -1
- package/lib/module/renderer/CanvasOld.d.ts +0 -11
- package/lib/module/renderer/CanvasOld.js +0 -87
- package/lib/module/renderer/CanvasOld.js.map +0 -1
- package/lib/module/renderer/Container.d.ts +0 -10
- package/lib/module/renderer/Container.js +0 -19
- package/lib/module/renderer/Container.js.map +0 -1
- package/lib/module/renderer/HostComponents.d.ts +0 -129
- package/lib/module/renderer/HostComponents.js +0 -134
- package/lib/module/renderer/HostComponents.js.map +0 -1
- package/lib/module/renderer/HostConfig.d.ts +0 -18
- package/lib/module/renderer/HostConfig.js +0 -150
- package/lib/module/renderer/HostConfig.js.map +0 -1
- package/lib/module/renderer/Reconciler.d.ts +0 -9
- package/lib/module/renderer/Reconciler.js +0 -36
- package/lib/module/renderer/Reconciler.js.map +0 -1
- package/lib/module/specs/SkiaDomViewNativeComponent.d.ts +0 -6
- package/lib/module/specs/SkiaDomViewNativeComponent.js +0 -4
- package/lib/module/specs/SkiaDomViewNativeComponent.js.map +0 -1
- package/lib/module/views/SkiaDomView.d.ts +0 -33
- package/lib/module/views/SkiaDomView.js +0 -111
- package/lib/module/views/SkiaDomView.js.map +0 -1
- package/lib/module/views/SkiaDomView.web.d.ts +0 -0
- package/lib/module/views/SkiaDomView.web.js +0 -2
- package/lib/module/views/SkiaDomView.web.js.map +0 -1
- package/lib/typescript/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +0 -60
- package/lib/typescript/lib/commonjs/renderer/CanvasOld.d.ts +0 -3
- package/lib/typescript/lib/commonjs/renderer/Container.d.ts +0 -9
- package/lib/typescript/lib/commonjs/renderer/HostComponents.d.ts +0 -2
- package/lib/typescript/lib/commonjs/renderer/HostConfig.d.ts +0 -40
- package/lib/typescript/lib/commonjs/renderer/Reconciler.d.ts +0 -10
- package/lib/typescript/lib/commonjs/specs/SkiaDomViewNativeComponent.d.ts +0 -3
- package/lib/typescript/lib/commonjs/views/SkiaDomView.d.ts +0 -30
- package/lib/typescript/lib/commonjs/views/SkiaDomView.web.d.ts +0 -0
- package/lib/typescript/lib/module/dom/nodes/JsiSkDOM.d.ts +0 -59
- package/lib/typescript/lib/module/renderer/CanvasOld.d.ts +0 -3
- package/lib/typescript/lib/module/renderer/Container.d.ts +0 -9
- package/lib/typescript/lib/module/renderer/HostComponents.d.ts +0 -1
- package/lib/typescript/lib/module/renderer/HostConfig.d.ts +0 -39
- package/lib/typescript/lib/module/renderer/Reconciler.d.ts +0 -9
- package/lib/typescript/lib/module/specs/SkiaDomViewNativeComponent.d.ts +0 -2
- package/lib/typescript/lib/module/views/SkiaDomView.d.ts +0 -27
- package/lib/typescript/lib/module/views/SkiaDomView.web.d.ts +0 -0
- package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +0 -64
- package/lib/typescript/src/renderer/CanvasOld.d.ts +0 -11
- package/lib/typescript/src/renderer/Container.d.ts +0 -10
- package/lib/typescript/src/renderer/HostComponents.d.ts +0 -129
- package/lib/typescript/src/renderer/HostConfig.d.ts +0 -18
- package/lib/typescript/src/renderer/Reconciler.d.ts +0 -9
- package/lib/typescript/src/specs/SkiaDomViewNativeComponent.d.ts +0 -6
- package/lib/typescript/src/views/SkiaDomView.d.ts +0 -33
- package/lib/typescript/src/views/SkiaDomView.web.d.ts +0 -0
- package/src/dom/nodes/JsiSkDOM.ts +0 -298
- package/src/renderer/CanvasOld.tsx +0 -126
- package/src/renderer/Container.tsx +0 -19
- package/src/renderer/HostComponents.ts +0 -399
- package/src/renderer/HostConfig.ts +0 -258
- package/src/renderer/Reconciler.tsx +0 -54
- package/src/specs/SkiaDomViewNativeComponent.ts +0 -9
- package/src/views/SkiaDomView.tsx +0 -124
- package/src/views/SkiaDomView.web.tsx +0 -0
@@ -1,31 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#include "JsiDomDrawingNode.h"
|
4
|
-
#include "PictureProp.h"
|
5
|
-
|
6
|
-
#include <memory>
|
7
|
-
|
8
|
-
namespace RNSkia {
|
9
|
-
|
10
|
-
class JsiPictureNode : public JsiDomDrawingNode,
|
11
|
-
public JsiDomNodeCtor<JsiPictureNode> {
|
12
|
-
public:
|
13
|
-
explicit JsiPictureNode(std::shared_ptr<RNSkPlatformContext> context)
|
14
|
-
: JsiDomDrawingNode(context, "skPicture") {}
|
15
|
-
|
16
|
-
protected:
|
17
|
-
void draw(DrawingContext *context) override {
|
18
|
-
context->getCanvas()->drawPicture(_pictureProp->getDerivedValue());
|
19
|
-
}
|
20
|
-
|
21
|
-
void defineProperties(NodePropsContainer *container) override {
|
22
|
-
JsiDomDrawingNode::defineProperties(container);
|
23
|
-
_pictureProp = container->defineProperty<PictureProp>("picture");
|
24
|
-
_pictureProp->require();
|
25
|
-
}
|
26
|
-
|
27
|
-
private:
|
28
|
-
PictureProp *_pictureProp;
|
29
|
-
};
|
30
|
-
|
31
|
-
} // namespace RNSkia
|
@@ -1,48 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#include "JsiDomDrawingNode.h"
|
4
|
-
#include "PointsProp.h"
|
5
|
-
|
6
|
-
#include <memory>
|
7
|
-
|
8
|
-
#pragma clang diagnostic push
|
9
|
-
#pragma clang diagnostic ignored "-Wdocumentation"
|
10
|
-
|
11
|
-
#include "include/core/SkCanvas.h"
|
12
|
-
|
13
|
-
#pragma clang diagnostic pop
|
14
|
-
|
15
|
-
namespace RNSkia {
|
16
|
-
|
17
|
-
static PropId PropNamePointsMode = JsiPropId::get("mode");
|
18
|
-
|
19
|
-
class JsiPointsNode : public JsiDomDrawingNode,
|
20
|
-
public JsiDomNodeCtor<JsiPointsNode> {
|
21
|
-
public:
|
22
|
-
explicit JsiPointsNode(std::shared_ptr<RNSkPlatformContext> context)
|
23
|
-
: JsiDomDrawingNode(context, "skPoints") {}
|
24
|
-
|
25
|
-
protected:
|
26
|
-
void draw(DrawingContext *context) override {
|
27
|
-
auto mode = _pointModeProp->getDerivedValue();
|
28
|
-
auto points = _pointsProp->getDerivedValue();
|
29
|
-
|
30
|
-
context->getCanvas()->drawPoints(*mode, points->size(), points->data(),
|
31
|
-
*context->getPaint());
|
32
|
-
}
|
33
|
-
|
34
|
-
void defineProperties(NodePropsContainer *container) override {
|
35
|
-
JsiDomDrawingNode::defineProperties(container);
|
36
|
-
_pointModeProp = container->defineProperty<PointModeProp>("mode");
|
37
|
-
_pointsProp = container->defineProperty<PointsProp>("points");
|
38
|
-
|
39
|
-
_pointsProp->require();
|
40
|
-
_pointModeProp->require();
|
41
|
-
}
|
42
|
-
|
43
|
-
private:
|
44
|
-
PointModeProp *_pointModeProp;
|
45
|
-
PointsProp *_pointsProp;
|
46
|
-
};
|
47
|
-
|
48
|
-
} // namespace RNSkia
|
@@ -1,33 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#include "JsiDomDrawingNode.h"
|
4
|
-
#include "RRectProp.h"
|
5
|
-
|
6
|
-
#include <memory>
|
7
|
-
|
8
|
-
namespace RNSkia {
|
9
|
-
|
10
|
-
class JsiRRectNode : public JsiDomDrawingNode,
|
11
|
-
public JsiDomNodeCtor<JsiRRectNode> {
|
12
|
-
public:
|
13
|
-
explicit JsiRRectNode(std::shared_ptr<RNSkPlatformContext> context)
|
14
|
-
: JsiDomDrawingNode(context, "skRRect") {}
|
15
|
-
|
16
|
-
protected:
|
17
|
-
void draw(DrawingContext *context) override {
|
18
|
-
context->getCanvas()->drawRRect(*_rrectProp->getDerivedValue(),
|
19
|
-
*context->getPaint());
|
20
|
-
}
|
21
|
-
|
22
|
-
void defineProperties(NodePropsContainer *container) override {
|
23
|
-
JsiDomDrawingNode::defineProperties(container);
|
24
|
-
|
25
|
-
_rrectProp = container->defineProperty<RRectProps>("rect");
|
26
|
-
_rrectProp->require();
|
27
|
-
}
|
28
|
-
|
29
|
-
private:
|
30
|
-
RRectProps *_rrectProp;
|
31
|
-
};
|
32
|
-
|
33
|
-
} // namespace RNSkia
|
@@ -1,33 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#include "JsiDomDrawingNode.h"
|
4
|
-
#include "RectProp.h"
|
5
|
-
|
6
|
-
#include <memory>
|
7
|
-
|
8
|
-
namespace RNSkia {
|
9
|
-
|
10
|
-
class JsiRectNode : public JsiDomDrawingNode,
|
11
|
-
public JsiDomNodeCtor<JsiRectNode> {
|
12
|
-
public:
|
13
|
-
explicit JsiRectNode(std::shared_ptr<RNSkPlatformContext> context)
|
14
|
-
: JsiDomDrawingNode(context, "skRect") {}
|
15
|
-
|
16
|
-
protected:
|
17
|
-
void draw(DrawingContext *context) override {
|
18
|
-
context->getCanvas()->drawRect(*_rectProp->getDerivedValue(),
|
19
|
-
*context->getPaint());
|
20
|
-
}
|
21
|
-
|
22
|
-
void defineProperties(NodePropsContainer *container) override {
|
23
|
-
JsiDomDrawingNode::defineProperties(container);
|
24
|
-
|
25
|
-
_rectProp = container->defineProperty<RectProps>("rect");
|
26
|
-
_rectProp->require();
|
27
|
-
}
|
28
|
-
|
29
|
-
private:
|
30
|
-
RectProps *_rectProp;
|
31
|
-
};
|
32
|
-
|
33
|
-
} // namespace RNSkia
|
@@ -1,434 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#include "JsiDomDeclarationNode.h"
|
4
|
-
|
5
|
-
#include "BlendModeProp.h"
|
6
|
-
#include "ColorProp.h"
|
7
|
-
#include "NodeProp.h"
|
8
|
-
#include "NumbersProp.h"
|
9
|
-
#include "SamplingProp.h"
|
10
|
-
#include "TileModeProp.h"
|
11
|
-
#include "TransformsProps.h"
|
12
|
-
#include "UniformsProp.h"
|
13
|
-
|
14
|
-
#include <memory>
|
15
|
-
#include <string>
|
16
|
-
#include <vector>
|
17
|
-
|
18
|
-
#pragma clang diagnostic push
|
19
|
-
#pragma clang diagnostic ignored "-Wdocumentation"
|
20
|
-
|
21
|
-
#include "include/core/SkShader.h"
|
22
|
-
|
23
|
-
#pragma clang diagnostic pop
|
24
|
-
|
25
|
-
namespace RNSkia {
|
26
|
-
|
27
|
-
class JsiShaderNode : public JsiDomDeclarationNode,
|
28
|
-
public JsiDomNodeCtor<JsiShaderNode> {
|
29
|
-
public:
|
30
|
-
explicit JsiShaderNode(std::shared_ptr<RNSkPlatformContext> context)
|
31
|
-
: JsiDomDeclarationNode(context, "skShader", DeclarationType::Shader) {}
|
32
|
-
|
33
|
-
void decorate(DeclarationContext *context) override {
|
34
|
-
decorateChildren(context);
|
35
|
-
auto source = _sourceProp->value().getAs<JsiSkRuntimeEffect>();
|
36
|
-
if (source == nullptr) {
|
37
|
-
throw std::runtime_error("Expected runtime effect when reading source "
|
38
|
-
"property of RuntimeEffectImageFilter.");
|
39
|
-
}
|
40
|
-
auto uniforms =
|
41
|
-
_uniformsProp->isSet() ? _uniformsProp->getDerivedValue() : nullptr;
|
42
|
-
|
43
|
-
SkMatrix lm;
|
44
|
-
auto tm =
|
45
|
-
_transformProp->isSet() ? _transformProp->getDerivedValue() : nullptr;
|
46
|
-
|
47
|
-
if (tm != nullptr) {
|
48
|
-
if (_originProp->isSet()) {
|
49
|
-
auto tr = _originProp->getDerivedValue();
|
50
|
-
lm.preTranslate(tr->x(), tr->y());
|
51
|
-
lm.preConcat(*tm);
|
52
|
-
lm.preTranslate(-tr->x(), -tr->y());
|
53
|
-
} else {
|
54
|
-
lm.preConcat(*tm);
|
55
|
-
}
|
56
|
-
}
|
57
|
-
|
58
|
-
// get all children that are shader nodes
|
59
|
-
auto children = context->getShaders()->popAll();
|
60
|
-
|
61
|
-
// Update shader
|
62
|
-
context->getShaders()->push(source->getObject()->makeShader(
|
63
|
-
uniforms, children.data(), children.size(), &lm));
|
64
|
-
}
|
65
|
-
|
66
|
-
protected:
|
67
|
-
void defineProperties(NodePropsContainer *container) override {
|
68
|
-
JsiDomDeclarationNode::defineProperties(container);
|
69
|
-
_sourceProp = container->defineProperty<NodeProp>("source");
|
70
|
-
_uniformsProp =
|
71
|
-
container->defineProperty<UniformsProp>("uniforms", _sourceProp);
|
72
|
-
_transformProp = container->defineProperty<TransformProp>("transform");
|
73
|
-
_originProp = container->defineProperty<PointProp>("origin");
|
74
|
-
|
75
|
-
_sourceProp->require();
|
76
|
-
}
|
77
|
-
|
78
|
-
private:
|
79
|
-
NodeProp *_sourceProp;
|
80
|
-
UniformsProp *_uniformsProp;
|
81
|
-
TransformProp *_transformProp;
|
82
|
-
PointProp *_originProp;
|
83
|
-
};
|
84
|
-
|
85
|
-
class JsiImageShaderNode : public JsiDomDeclarationNode,
|
86
|
-
public JsiDomNodeCtor<JsiImageShaderNode> {
|
87
|
-
public:
|
88
|
-
explicit JsiImageShaderNode(std::shared_ptr<RNSkPlatformContext> context)
|
89
|
-
: JsiDomDeclarationNode(context, "skImageShader",
|
90
|
-
DeclarationType::Shader) {}
|
91
|
-
|
92
|
-
void decorate(DeclarationContext *context) override {
|
93
|
-
|
94
|
-
auto image = _imageProps->getImage();
|
95
|
-
if (image == nullptr) {
|
96
|
-
return;
|
97
|
-
}
|
98
|
-
|
99
|
-
auto rect = _imageProps->getRect();
|
100
|
-
auto lm =
|
101
|
-
_transformProp->isSet() ? _transformProp->getDerivedValue() : nullptr;
|
102
|
-
|
103
|
-
if (rect != nullptr && lm != nullptr) {
|
104
|
-
auto rc = _imageProps->getDerivedValue();
|
105
|
-
auto m3 = _imageProps->rect2rect(rc->src, rc->dst);
|
106
|
-
if (_transformProp->isChanged() || _imageProps->isChanged()) {
|
107
|
-
// To modify the matrix we need to copy it since we're not allowed to
|
108
|
-
// modify values contained in properties - this would have caused the
|
109
|
-
// matrix to be translated and scaled more and more for each render
|
110
|
-
// even thought the matrix prop did not change.
|
111
|
-
_matrix.reset();
|
112
|
-
_matrix.preConcat(m3);
|
113
|
-
if (_originProp->isSet()) {
|
114
|
-
auto tr = _originProp->getDerivedValue();
|
115
|
-
_matrix.preTranslate(tr->x(), tr->y());
|
116
|
-
_matrix.preConcat(*lm);
|
117
|
-
_matrix.preTranslate(-tr->x(), -tr->y());
|
118
|
-
} else {
|
119
|
-
_matrix.preConcat(*lm);
|
120
|
-
}
|
121
|
-
}
|
122
|
-
}
|
123
|
-
|
124
|
-
auto samplingOptions = _samplingProp->isSet()
|
125
|
-
? *_samplingProp->getDerivedValue()
|
126
|
-
: SkSamplingOptions(SkFilterMode::kLinear);
|
127
|
-
context->getShaders()->push(image->makeShader(*_txProp->getDerivedValue(),
|
128
|
-
*_tyProp->getDerivedValue(),
|
129
|
-
samplingOptions, &_matrix));
|
130
|
-
}
|
131
|
-
|
132
|
-
protected:
|
133
|
-
void defineProperties(NodePropsContainer *container) override {
|
134
|
-
JsiDomDeclarationNode::defineProperties(container);
|
135
|
-
_txProp = container->defineProperty<TileModeProp>("tx");
|
136
|
-
_tyProp = container->defineProperty<TileModeProp>("ty");
|
137
|
-
|
138
|
-
_samplingProp = container->defineProperty<SamplingProp>("sampling");
|
139
|
-
_imageProps = container->defineProperty<ImageProps>();
|
140
|
-
_transformProp = container->defineProperty<TransformProp>("transform");
|
141
|
-
_originProp = container->defineProperty<PointProp>("origin");
|
142
|
-
|
143
|
-
_txProp->require();
|
144
|
-
_tyProp->require();
|
145
|
-
|
146
|
-
_transformProp->require();
|
147
|
-
|
148
|
-
// Add and require the image
|
149
|
-
container->defineProperty<NodeProp>("image");
|
150
|
-
}
|
151
|
-
|
152
|
-
private:
|
153
|
-
SkMatrix _matrix;
|
154
|
-
|
155
|
-
TileModeProp *_txProp;
|
156
|
-
TileModeProp *_tyProp;
|
157
|
-
ImageProps *_imageProps;
|
158
|
-
TransformProp *_transformProp;
|
159
|
-
PointProp *_originProp;
|
160
|
-
SamplingProp *_samplingProp;
|
161
|
-
};
|
162
|
-
|
163
|
-
class JsiColorShaderNode : public JsiDomDeclarationNode,
|
164
|
-
public JsiDomNodeCtor<JsiColorShaderNode> {
|
165
|
-
public:
|
166
|
-
explicit JsiColorShaderNode(std::shared_ptr<RNSkPlatformContext> context)
|
167
|
-
: JsiDomDeclarationNode(context, "skColorShader",
|
168
|
-
DeclarationType::Shader) {}
|
169
|
-
|
170
|
-
void decorate(DeclarationContext *context) override {
|
171
|
-
if (_colorProp->isSet()) {
|
172
|
-
context->getShaders()->push(
|
173
|
-
SkShaders::Color(*_colorProp->getDerivedValue()));
|
174
|
-
}
|
175
|
-
}
|
176
|
-
|
177
|
-
protected:
|
178
|
-
void defineProperties(NodePropsContainer *container) override {
|
179
|
-
JsiDomDeclarationNode::defineProperties(container);
|
180
|
-
_colorProp = container->defineProperty<ColorProp>("color");
|
181
|
-
_colorProp->require();
|
182
|
-
}
|
183
|
-
|
184
|
-
private:
|
185
|
-
ColorProp *_colorProp;
|
186
|
-
};
|
187
|
-
|
188
|
-
class JsiBasePerlinNoiseNode : public JsiDomDeclarationNode {
|
189
|
-
public:
|
190
|
-
JsiBasePerlinNoiseNode(std::shared_ptr<RNSkPlatformContext> context,
|
191
|
-
PropId type)
|
192
|
-
: JsiDomDeclarationNode(context, type, DeclarationType::Shader) {}
|
193
|
-
|
194
|
-
void defineProperties(NodePropsContainer *container) override {
|
195
|
-
JsiDomDeclarationNode::defineProperties(container);
|
196
|
-
_freqXProp = container->defineProperty<NodeProp>("freqX");
|
197
|
-
_freqYProp = container->defineProperty<NodeProp>("freqY");
|
198
|
-
_octavesProp = container->defineProperty<NodeProp>("octaves");
|
199
|
-
_seedProp = container->defineProperty<NodeProp>("seed");
|
200
|
-
_tileWidthProp = container->defineProperty<NodeProp>("tileWidth");
|
201
|
-
_tileHeightProp = container->defineProperty<NodeProp>("tileHeight");
|
202
|
-
|
203
|
-
_freqXProp->require();
|
204
|
-
_freqYProp->require();
|
205
|
-
_octavesProp->require();
|
206
|
-
_seedProp->require();
|
207
|
-
_tileWidthProp->require();
|
208
|
-
_tileHeightProp->require();
|
209
|
-
}
|
210
|
-
|
211
|
-
NodeProp *_freqXProp;
|
212
|
-
NodeProp *_freqYProp;
|
213
|
-
NodeProp *_octavesProp;
|
214
|
-
NodeProp *_seedProp;
|
215
|
-
NodeProp *_tileWidthProp;
|
216
|
-
NodeProp *_tileHeightProp;
|
217
|
-
};
|
218
|
-
|
219
|
-
class JsiTurbulenceNode : public JsiBasePerlinNoiseNode,
|
220
|
-
public JsiDomNodeCtor<JsiTurbulenceNode> {
|
221
|
-
public:
|
222
|
-
explicit JsiTurbulenceNode(std::shared_ptr<RNSkPlatformContext> context)
|
223
|
-
: JsiBasePerlinNoiseNode(context, "skTurbulence") {}
|
224
|
-
|
225
|
-
void decorate(DeclarationContext *context) override {
|
226
|
-
|
227
|
-
SkISize size = SkISize::Make(_tileWidthProp->value().getAsNumber(),
|
228
|
-
_tileHeightProp->value().getAsNumber());
|
229
|
-
|
230
|
-
context->getShaders()->push(SkShaders::MakeTurbulence(
|
231
|
-
_freqXProp->value().getAsNumber(), _freqYProp->value().getAsNumber(),
|
232
|
-
_octavesProp->value().getAsNumber(), _seedProp->value().getAsNumber(),
|
233
|
-
&size));
|
234
|
-
}
|
235
|
-
};
|
236
|
-
|
237
|
-
class JsiFractalNoiseNode : public JsiBasePerlinNoiseNode,
|
238
|
-
public JsiDomNodeCtor<JsiFractalNoiseNode> {
|
239
|
-
public:
|
240
|
-
explicit JsiFractalNoiseNode(std::shared_ptr<RNSkPlatformContext> context)
|
241
|
-
: JsiBasePerlinNoiseNode(context, "skFractalNoise") {}
|
242
|
-
|
243
|
-
void decorate(DeclarationContext *context) override {
|
244
|
-
|
245
|
-
SkISize size = SkISize::Make(_tileWidthProp->value().getAsNumber(),
|
246
|
-
_tileHeightProp->value().getAsNumber());
|
247
|
-
|
248
|
-
context->getShaders()->push(SkShaders::MakeFractalNoise(
|
249
|
-
_freqXProp->value().getAsNumber(), _freqYProp->value().getAsNumber(),
|
250
|
-
_octavesProp->value().getAsNumber(), _seedProp->value().getAsNumber(),
|
251
|
-
&size));
|
252
|
-
}
|
253
|
-
};
|
254
|
-
|
255
|
-
class JsiBaseGradientNode : public JsiDomDeclarationNode {
|
256
|
-
public:
|
257
|
-
JsiBaseGradientNode(std::shared_ptr<RNSkPlatformContext> context, PropId type)
|
258
|
-
: JsiDomDeclarationNode(context, type, DeclarationType::Shader) {}
|
259
|
-
|
260
|
-
void decorate(DeclarationContext *context) override {
|
261
|
-
|
262
|
-
_colors = _colorsProp->getDerivedValue()->data();
|
263
|
-
_colorCount = static_cast<int>(_colorsProp->getDerivedValue()->size());
|
264
|
-
_flags = _flagsProp->isSet() ? _flagsProp->value().getAsNumber() : 0;
|
265
|
-
_mode =
|
266
|
-
_modeProp->isSet() ? *_modeProp->getDerivedValue() : SkTileMode::kClamp;
|
267
|
-
_positions = _positionsProp->isSet()
|
268
|
-
? _positionsProp->getDerivedValue()->data()
|
269
|
-
: nullptr;
|
270
|
-
_matrix = _transformsProps->isSet()
|
271
|
-
? _transformsProps->getDerivedValue().get()
|
272
|
-
: nullptr;
|
273
|
-
}
|
274
|
-
|
275
|
-
protected:
|
276
|
-
void defineProperties(NodePropsContainer *container) override {
|
277
|
-
JsiDomDeclarationNode::defineProperties(container);
|
278
|
-
_transformsProps = container->defineProperty<TransformsProps>();
|
279
|
-
|
280
|
-
_colorsProp = container->defineProperty<ColorsProp>("colors");
|
281
|
-
_positionsProp = container->defineProperty<NumbersProp>("positions");
|
282
|
-
_modeProp = container->defineProperty<TileModeProp>("mode");
|
283
|
-
_flagsProp = container->defineProperty<NodeProp>("flags");
|
284
|
-
|
285
|
-
_colorsProp->require();
|
286
|
-
}
|
287
|
-
|
288
|
-
const SkColor *_colors;
|
289
|
-
double _flags;
|
290
|
-
int _colorCount;
|
291
|
-
SkTileMode _mode;
|
292
|
-
const SkScalar *_positions;
|
293
|
-
const SkMatrix *_matrix;
|
294
|
-
|
295
|
-
private:
|
296
|
-
TransformsProps *_transformsProps;
|
297
|
-
ColorsProp *_colorsProp;
|
298
|
-
NumbersProp *_positionsProp;
|
299
|
-
TileModeProp *_modeProp;
|
300
|
-
NodeProp *_flagsProp;
|
301
|
-
};
|
302
|
-
|
303
|
-
class JsiLinearGradientNode : public JsiBaseGradientNode,
|
304
|
-
public JsiDomNodeCtor<JsiLinearGradientNode> {
|
305
|
-
public:
|
306
|
-
explicit JsiLinearGradientNode(std::shared_ptr<RNSkPlatformContext> context)
|
307
|
-
: JsiBaseGradientNode(context, "skLinearGradient") {}
|
308
|
-
|
309
|
-
void decorate(DeclarationContext *context) override {
|
310
|
-
JsiBaseGradientNode::decorate(context);
|
311
|
-
|
312
|
-
SkPoint pts[] = {*_startProp->getDerivedValue(),
|
313
|
-
*_endProp->getDerivedValue()};
|
314
|
-
auto shader = SkGradientShader::MakeLinear(
|
315
|
-
pts, _colors, _positions, _colorCount, _mode, _flags, _matrix);
|
316
|
-
context->getShaders()->push(shader);
|
317
|
-
}
|
318
|
-
|
319
|
-
protected:
|
320
|
-
void defineProperties(NodePropsContainer *container) override {
|
321
|
-
JsiBaseGradientNode::defineProperties(container);
|
322
|
-
_startProp = container->defineProperty<PointProp>("start");
|
323
|
-
_endProp = container->defineProperty<PointProp>("end");
|
324
|
-
|
325
|
-
_startProp->require();
|
326
|
-
_endProp->require();
|
327
|
-
}
|
328
|
-
|
329
|
-
private:
|
330
|
-
PointProp *_startProp;
|
331
|
-
PointProp *_endProp;
|
332
|
-
};
|
333
|
-
|
334
|
-
class JsiRadialGradientNode : public JsiBaseGradientNode,
|
335
|
-
public JsiDomNodeCtor<JsiRadialGradientNode> {
|
336
|
-
public:
|
337
|
-
explicit JsiRadialGradientNode(std::shared_ptr<RNSkPlatformContext> context)
|
338
|
-
: JsiBaseGradientNode(context, "skRadialGradient") {}
|
339
|
-
|
340
|
-
void decorate(DeclarationContext *context) override {
|
341
|
-
JsiBaseGradientNode::decorate(context);
|
342
|
-
|
343
|
-
auto c = _centerProp->getDerivedValue();
|
344
|
-
auto r = _radiusProp->value().getAsNumber();
|
345
|
-
auto shader = SkGradientShader::MakeRadial(
|
346
|
-
*c, r, _colors, _positions, _colorCount, _mode, _flags, _matrix);
|
347
|
-
context->getShaders()->push(shader);
|
348
|
-
}
|
349
|
-
|
350
|
-
protected:
|
351
|
-
void defineProperties(NodePropsContainer *container) override {
|
352
|
-
JsiBaseGradientNode::defineProperties(container);
|
353
|
-
_centerProp = container->defineProperty<PointProp>("c");
|
354
|
-
_radiusProp = container->defineProperty<NodeProp>("r");
|
355
|
-
|
356
|
-
_centerProp->require();
|
357
|
-
_radiusProp->require();
|
358
|
-
}
|
359
|
-
|
360
|
-
private:
|
361
|
-
PointProp *_centerProp;
|
362
|
-
NodeProp *_radiusProp;
|
363
|
-
};
|
364
|
-
|
365
|
-
class JsiSweepGradientNode : public JsiBaseGradientNode,
|
366
|
-
public JsiDomNodeCtor<JsiSweepGradientNode> {
|
367
|
-
public:
|
368
|
-
explicit JsiSweepGradientNode(std::shared_ptr<RNSkPlatformContext> context)
|
369
|
-
: JsiBaseGradientNode(context, "skSweepGradient") {}
|
370
|
-
|
371
|
-
void decorate(DeclarationContext *context) override {
|
372
|
-
JsiBaseGradientNode::decorate(context);
|
373
|
-
|
374
|
-
auto start = _startProp->isSet() ? _startProp->value().getAsNumber() : 0;
|
375
|
-
auto end = _endProp->isSet() ? _endProp->value().getAsNumber() : 360;
|
376
|
-
auto c = _centerProp->getDerivedValue();
|
377
|
-
|
378
|
-
context->getShaders()->push(SkGradientShader::MakeSweep(
|
379
|
-
c->x(), c->y(), _colors, _positions, _colorCount, _mode, start, end,
|
380
|
-
_flags, _matrix));
|
381
|
-
}
|
382
|
-
|
383
|
-
protected:
|
384
|
-
void defineProperties(NodePropsContainer *container) override {
|
385
|
-
JsiBaseGradientNode::defineProperties(container);
|
386
|
-
_startProp = container->defineProperty<NodeProp>("start");
|
387
|
-
_endProp = container->defineProperty<NodeProp>("end");
|
388
|
-
_centerProp = container->defineProperty<PointProp>("c");
|
389
|
-
}
|
390
|
-
|
391
|
-
private:
|
392
|
-
PointProp *_centerProp;
|
393
|
-
NodeProp *_startProp;
|
394
|
-
NodeProp *_endProp;
|
395
|
-
};
|
396
|
-
|
397
|
-
class JsiTwoPointConicalGradientNode
|
398
|
-
: public JsiBaseGradientNode,
|
399
|
-
public JsiDomNodeCtor<JsiTwoPointConicalGradientNode> {
|
400
|
-
public:
|
401
|
-
explicit JsiTwoPointConicalGradientNode(
|
402
|
-
std::shared_ptr<RNSkPlatformContext> context)
|
403
|
-
: JsiBaseGradientNode(context, "skTwoPointConicalGradient") {}
|
404
|
-
|
405
|
-
void decorate(DeclarationContext *context) override {
|
406
|
-
JsiBaseGradientNode::decorate(context);
|
407
|
-
|
408
|
-
auto start = _startProp->getDerivedValue();
|
409
|
-
auto end = _endProp->getDerivedValue();
|
410
|
-
auto startR = _startRProp->value().getAsNumber();
|
411
|
-
auto endR = _endRProp->value().getAsNumber();
|
412
|
-
|
413
|
-
context->getShaders()->push(SkGradientShader::MakeTwoPointConical(
|
414
|
-
*start, startR, *end, endR, _colors, _positions, _colorCount, _mode,
|
415
|
-
_flags, _matrix));
|
416
|
-
}
|
417
|
-
|
418
|
-
protected:
|
419
|
-
void defineProperties(NodePropsContainer *container) override {
|
420
|
-
JsiBaseGradientNode::defineProperties(container);
|
421
|
-
_startProp = container->defineProperty<PointProp>("start");
|
422
|
-
_startRProp = container->defineProperty<NodeProp>("startR");
|
423
|
-
_endProp = container->defineProperty<PointProp>("end");
|
424
|
-
_endRProp = container->defineProperty<NodeProp>("endR");
|
425
|
-
}
|
426
|
-
|
427
|
-
private:
|
428
|
-
PointProp *_startProp;
|
429
|
-
NodeProp *_startRProp;
|
430
|
-
PointProp *_endProp;
|
431
|
-
NodeProp *_endRProp;
|
432
|
-
};
|
433
|
-
|
434
|
-
} // namespace RNSkia
|
@@ -1,44 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#include "JsiDomDrawingNode.h"
|
4
|
-
|
5
|
-
#include "TextBlobProp.h"
|
6
|
-
|
7
|
-
#include <memory>
|
8
|
-
|
9
|
-
namespace RNSkia {
|
10
|
-
|
11
|
-
class JsiTextBlobNode : public JsiDomDrawingNode,
|
12
|
-
public JsiDomNodeCtor<JsiTextBlobNode> {
|
13
|
-
public:
|
14
|
-
explicit JsiTextBlobNode(std::shared_ptr<RNSkPlatformContext> context)
|
15
|
-
: JsiDomDrawingNode(context, "skTextBlob") {}
|
16
|
-
|
17
|
-
protected:
|
18
|
-
void draw(DrawingContext *context) override {
|
19
|
-
auto blob = _textBlobProp->getDerivedValue();
|
20
|
-
auto x = _xProp->value().getAsNumber();
|
21
|
-
auto y = _yProp->value().getAsNumber();
|
22
|
-
|
23
|
-
context->getCanvas()->drawTextBlob(blob, x, y, *context->getPaint());
|
24
|
-
}
|
25
|
-
|
26
|
-
void defineProperties(NodePropsContainer *container) override {
|
27
|
-
JsiDomDrawingNode::defineProperties(container);
|
28
|
-
|
29
|
-
_textBlobProp = container->defineProperty<TextBlobProp>("blob");
|
30
|
-
_xProp = container->defineProperty<NodeProp>("x");
|
31
|
-
_yProp = container->defineProperty<NodeProp>("y");
|
32
|
-
|
33
|
-
_textBlobProp->require();
|
34
|
-
_xProp->require();
|
35
|
-
_yProp->require();
|
36
|
-
}
|
37
|
-
|
38
|
-
private:
|
39
|
-
TextBlobProp *_textBlobProp;
|
40
|
-
NodeProp *_xProp;
|
41
|
-
NodeProp *_yProp;
|
42
|
-
};
|
43
|
-
|
44
|
-
} // namespace RNSkia
|
@@ -1,51 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#include "JsiDomDrawingNode.h"
|
4
|
-
|
5
|
-
#include "FontProp.h"
|
6
|
-
|
7
|
-
#include <memory>
|
8
|
-
|
9
|
-
namespace RNSkia {
|
10
|
-
|
11
|
-
class JsiTextNode : public JsiDomDrawingNode,
|
12
|
-
public JsiDomNodeCtor<JsiTextNode> {
|
13
|
-
public:
|
14
|
-
explicit JsiTextNode(std::shared_ptr<RNSkPlatformContext> context)
|
15
|
-
: JsiDomDrawingNode(context, "skText") {}
|
16
|
-
|
17
|
-
protected:
|
18
|
-
void draw(DrawingContext *context) override {
|
19
|
-
auto text = _textProp->value().getAsString().c_str();
|
20
|
-
auto x = _xProp->value().getAsNumber();
|
21
|
-
auto y = _yProp->value().getAsNumber();
|
22
|
-
auto font = _fontProp->getDerivedValue();
|
23
|
-
|
24
|
-
if (font != nullptr) {
|
25
|
-
context->getCanvas()->drawSimpleText(text, strlen(text),
|
26
|
-
SkTextEncoding::kUTF8, x, y, *font,
|
27
|
-
*context->getPaint());
|
28
|
-
}
|
29
|
-
}
|
30
|
-
|
31
|
-
void defineProperties(NodePropsContainer *container) override {
|
32
|
-
JsiDomDrawingNode::defineProperties(container);
|
33
|
-
|
34
|
-
_fontProp = container->defineProperty<FontProp>("font");
|
35
|
-
_textProp = container->defineProperty<NodeProp>("text");
|
36
|
-
_xProp = container->defineProperty<NodeProp>("x");
|
37
|
-
_yProp = container->defineProperty<NodeProp>("y");
|
38
|
-
|
39
|
-
_textProp->require();
|
40
|
-
_xProp->require();
|
41
|
-
_yProp->require();
|
42
|
-
}
|
43
|
-
|
44
|
-
private:
|
45
|
-
FontProp *_fontProp;
|
46
|
-
NodeProp *_textProp;
|
47
|
-
NodeProp *_xProp;
|
48
|
-
NodeProp *_yProp;
|
49
|
-
};
|
50
|
-
|
51
|
-
} // namespace RNSkia
|