@react-native-ohos/react-native-clippathview 1.1.9-rc.1 → 1.1.9
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/{harmony/clipPath/README.OpenSource → README.OpenSource} +2 -2
- package/README.md +15 -15
- package/harmony/clipPath/index.ets +2 -0
- package/harmony/clipPath/oh-package.json5 +1 -1
- package/harmony/clipPath/src/main/cpp/ClipPathProps.h +120 -63
- package/harmony/clipPath/src/main/cpp/ClipPathViewComponentInstance.cpp +43 -37
- package/harmony/clipPath/src/main/cpp/ClipPathViewComponentInstance.h +6 -1
- package/harmony/clipPath/src/main/cpp/ClipPathViewNoneComponentInstance.cpp +43 -36
- package/harmony/clipPath/src/main/cpp/ClipPathViewNoneNode.cpp +166 -90
- package/harmony/clipPath/src/main/cpp/ClipPathViewNoneNode.h +100 -84
- package/harmony/clipPath/src/main/cpp/RNCClipPathTurboModule.cpp +2 -2
- package/harmony/clipPath/src/main/cpp/RNCClipPathTurboModule.h +10 -7
- package/harmony/clipPath/src/main/cpp/SVGPathParser.cpp +261 -222
- package/harmony/clipPath/src/main/cpp/SVGPathParser.h +4 -4
- package/harmony/clipPath/src/main/cpp/SVGViewBox.cpp +9 -9
- package/harmony/clipPath/src/main/cpp/ShadowNodes.cpp +4 -2
- package/harmony/clipPath/src/main/cpp/pen_style_node.h +20 -4
- package/harmony/clipPath/src/main/ets/{ClipPathPackage.ts → ClipPathPackage.ets} +2 -1
- package/harmony/clipPath.har +0 -0
- package/package.json +10 -8
- package/harmony/clipPath/BuildProfile.ets +0 -6
- package/harmony/clipPath/OAT.xml +0 -39
- package/react-native-clippath.podspec +0 -30
- /package/harmony/clipPath/{ts.ts → ts.ets} +0 -0
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
{
|
|
3
3
|
"Name": "react-native-clippath",
|
|
4
4
|
"License": "MIT License",
|
|
5
|
-
"License File": "
|
|
5
|
+
"License File": "LICENSE",
|
|
6
6
|
"Version Number": "1.1.8",
|
|
7
|
-
"Owner" : "
|
|
7
|
+
"Owner" : "xiafeng@huawei.com",
|
|
8
8
|
"Upstream URL": "https://github.com/Only-IceSoul/react-native-clippath",
|
|
9
9
|
"Description": "ClipPath - Hardware accelerated"
|
|
10
10
|
}
|
package/README.md
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
# @react-native-
|
|
2
|
-
|
|
3
|
-
This project is based on [react-native-clippathview](https://github.com/Only-IceSoul/react-native-clippath)
|
|
4
|
-
|
|
5
|
-
## Documentation
|
|
6
|
-
|
|
7
|
-
[中文](https://
|
|
8
|
-
|
|
9
|
-
[English](https://
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
## License
|
|
13
|
-
|
|
14
|
-
This library is licensed under [The MIT License
|
|
15
|
-
|
|
1
|
+
# @react-native-ohos/react-native-clippathview
|
|
2
|
+
|
|
3
|
+
This project is based on [react-native-clippathview](https://github.com/Only-IceSoul/react-native-clippath)@1.1.8
|
|
4
|
+
|
|
5
|
+
## Documentation
|
|
6
|
+
|
|
7
|
+
[中文](https://gitcode.com/OpenHarmony-RN/usage-docs/blob/master/zh-cn/react-native-clippath-capi.md)
|
|
8
|
+
|
|
9
|
+
[English](https://gitcode.com/OpenHarmony-RN/usage-docs/blob/master/en/react-native-clippath-capi.md)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## License
|
|
13
|
+
|
|
14
|
+
This library is licensed under [The MIT License](https://gitcode.com/openharmony-sig/rntpc_react-native-clippath/blob/master/LICENSE).
|
|
15
|
+
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"name": "@react-native-ohos/react-native-clippathview",
|
|
7
7
|
"description": "Please describe the basic information.",
|
|
8
8
|
"main": "index.ets",
|
|
9
|
-
"version": "1.1.9
|
|
9
|
+
"version": "1.1.9",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@rnoh/react-native-openharmony": "file:../react_native_openharmony"
|
|
12
12
|
},
|
|
@@ -1,8 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) 2022 Huawei Device Co., Ltd.
|
|
3
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
4
15
|
// Node APIs are not fully supported. To solve the compilation error of the interface cannot be found,
|
|
5
16
|
// please include "napi/native_api.h".
|
|
17
|
+
#ifndef CLIPPATHPROPS_H
|
|
18
|
+
#define CLIPPATHPROPS_H
|
|
6
19
|
|
|
7
20
|
#pragma once
|
|
8
21
|
#include "ModUtil.h"
|
|
@@ -12,87 +25,129 @@
|
|
|
12
25
|
namespace rnoh {
|
|
13
26
|
class ClipPathProps {
|
|
14
27
|
public:
|
|
15
|
-
float mOpacity{1.0f};
|
|
16
|
-
bool mOpacityStatus{false};
|
|
17
|
-
std::string mMask{""};
|
|
18
|
-
std::string mOldMask{""};
|
|
19
|
-
bool mFillColorStatus{false};
|
|
20
|
-
float mFillOpacity{1.0f};
|
|
21
|
-
bool mFillOpacityStatus{false};
|
|
22
|
-
std::string mFillRule{"none"};
|
|
23
|
-
bool mFillRuleStatus{false};
|
|
24
|
-
bool mStrokeColorStatus{false};
|
|
25
|
-
float mStrokeOpacity{1.0f};
|
|
26
|
-
bool mStrokeOpacityStatus{false};
|
|
27
|
-
float mStrokeWidth{1.0f};
|
|
28
|
-
bool mStrokeWidthStatus{false};
|
|
29
|
-
std::string mStrokeCap{"none"};
|
|
30
|
-
std::string mStrokeJoin{"none"};
|
|
31
|
-
float mStrokeMiter{4.0f};
|
|
32
|
-
bool mStrokeMiterStatus{false};
|
|
33
|
-
float mStrokeStart{0.0f};
|
|
34
|
-
bool mStrokeStartStatus{false};
|
|
35
|
-
float mStrokeEnd{1.0f};
|
|
36
|
-
bool mStrokeEndStatus{false};
|
|
37
|
-
bool mShadowColorStatus{false};
|
|
38
|
-
float mShadowOpacity{0.0f};
|
|
39
|
-
bool mShadowOpacityStatus{false};
|
|
40
|
-
float mShadowRadius{2.0f};
|
|
41
|
-
bool mShadowRadiusStatus{false};
|
|
42
|
-
float mShadowOffsetX{2.0f};
|
|
43
|
-
float mShadowOffsetY{2.0f};
|
|
44
|
-
bool mShadowOffsetIsPercent{false};
|
|
45
|
-
bool mShadowOffsetStatus{false};
|
|
28
|
+
float mOpacity{ 1.0f };
|
|
29
|
+
bool mOpacityStatus{ false };
|
|
30
|
+
std::string mMask{ "" };
|
|
31
|
+
std::string mOldMask{ "" };
|
|
32
|
+
bool mFillColorStatus{ false };
|
|
33
|
+
float mFillOpacity{ 1.0f };
|
|
34
|
+
bool mFillOpacityStatus{ false };
|
|
35
|
+
std::string mFillRule{ "none" };
|
|
36
|
+
bool mFillRuleStatus{ false };
|
|
37
|
+
bool mStrokeColorStatus{ false };
|
|
38
|
+
float mStrokeOpacity{ 1.0f };
|
|
39
|
+
bool mStrokeOpacityStatus{ false };
|
|
40
|
+
float mStrokeWidth{ 1.0f };
|
|
41
|
+
bool mStrokeWidthStatus{ false };
|
|
42
|
+
std::string mStrokeCap{ "none" };
|
|
43
|
+
std::string mStrokeJoin{ "none" };
|
|
44
|
+
float mStrokeMiter{ 4.0f };
|
|
45
|
+
bool mStrokeMiterStatus{ false };
|
|
46
|
+
float mStrokeStart{ 0.0f };
|
|
47
|
+
bool mStrokeStartStatus{ false };
|
|
48
|
+
float mStrokeEnd{ 1.0f };
|
|
49
|
+
bool mStrokeEndStatus{ false };
|
|
50
|
+
bool mShadowColorStatus{ false };
|
|
51
|
+
float mShadowOpacity{ 0.0f };
|
|
52
|
+
bool mShadowOpacityStatus{ false };
|
|
53
|
+
float mShadowRadius{ 2.0f };
|
|
54
|
+
bool mShadowRadiusStatus{ false };
|
|
55
|
+
float mShadowOffsetX{ 2.0f };
|
|
56
|
+
float mShadowOffsetY{ 2.0f };
|
|
57
|
+
bool mShadowOffsetIsPercent{ false };
|
|
58
|
+
bool mShadowOffsetStatus{ false };
|
|
46
59
|
|
|
47
60
|
public:
|
|
48
|
-
float getOpacity()
|
|
61
|
+
float getOpacity()
|
|
62
|
+
{
|
|
63
|
+
return ModUtil::clamp(mOpacity);
|
|
64
|
+
}
|
|
49
65
|
|
|
50
|
-
std::string getMask()
|
|
66
|
+
std::string getMask()
|
|
67
|
+
{
|
|
68
|
+
return mMask;
|
|
69
|
+
}
|
|
51
70
|
|
|
52
|
-
float getFillOpacity()
|
|
71
|
+
float getFillOpacity()
|
|
72
|
+
{
|
|
73
|
+
return ModUtil::clamp(mFillOpacity);
|
|
74
|
+
}
|
|
53
75
|
|
|
54
|
-
OH_Drawing_PathFillType getFillRule()
|
|
55
|
-
|
|
56
|
-
|
|
76
|
+
OH_Drawing_PathFillType getFillRule()
|
|
77
|
+
{
|
|
78
|
+
return mFillRule.compare("evenodd") == 0 ? OH_Drawing_PathFillType::PATH_FILL_TYPE_EVEN_ODD :
|
|
79
|
+
OH_Drawing_PathFillType::PATH_FILL_TYPE_WINDING;
|
|
57
80
|
}
|
|
58
81
|
|
|
59
82
|
|
|
60
|
-
float getStrokeOpacity()
|
|
83
|
+
float getStrokeOpacity()
|
|
84
|
+
{
|
|
85
|
+
return ModUtil::clamp(mStrokeOpacity);
|
|
86
|
+
}
|
|
61
87
|
|
|
62
|
-
float getStrokeWidth()
|
|
88
|
+
float getStrokeWidth()
|
|
89
|
+
{
|
|
90
|
+
return ModUtil::uClamp(mStrokeWidth, 1.0f);
|
|
91
|
+
}
|
|
63
92
|
|
|
64
|
-
OH_Drawing_PenLineCapStyle getStrokeCap()
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
93
|
+
OH_Drawing_PenLineCapStyle getStrokeCap()
|
|
94
|
+
{
|
|
95
|
+
return mStrokeCap.compare("round") == 0 ?
|
|
96
|
+
OH_Drawing_PenLineCapStyle::LINE_ROUND_CAP :
|
|
97
|
+
(mStrokeCap.compare("square") == 0 ? OH_Drawing_PenLineCapStyle::LINE_SQUARE_CAP :
|
|
98
|
+
OH_Drawing_PenLineCapStyle::LINE_FLAT_CAP);
|
|
69
99
|
}
|
|
70
|
-
OH_Drawing_PenLineJoinStyle getStrokeJoin()
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
100
|
+
OH_Drawing_PenLineJoinStyle getStrokeJoin()
|
|
101
|
+
{
|
|
102
|
+
return mStrokeJoin.compare("round") == 0 ?
|
|
103
|
+
OH_Drawing_PenLineJoinStyle::LINE_ROUND_JOIN :
|
|
104
|
+
(mStrokeJoin.compare("bevel") == 0 ? OH_Drawing_PenLineJoinStyle::LINE_BEVEL_JOIN :
|
|
105
|
+
OH_Drawing_PenLineJoinStyle::LINE_MITER_JOIN);
|
|
75
106
|
}
|
|
76
107
|
|
|
77
|
-
float getStrokeMiter()
|
|
78
|
-
|
|
79
|
-
|
|
108
|
+
float getStrokeMiter()
|
|
109
|
+
{
|
|
110
|
+
return mStrokeMiter;
|
|
111
|
+
}
|
|
80
112
|
|
|
81
|
-
float
|
|
113
|
+
float getStrokeStart()
|
|
114
|
+
{
|
|
115
|
+
return ModUtil::clamp(mStrokeStart);
|
|
116
|
+
}
|
|
82
117
|
|
|
118
|
+
float getStrokeEnd()
|
|
119
|
+
{
|
|
120
|
+
return ModUtil::clamp(mStrokeEnd);
|
|
121
|
+
}
|
|
83
122
|
|
|
84
|
-
float getShadowOpacity() { return ModUtil::clamp(mShadowOpacity); }
|
|
85
123
|
|
|
86
|
-
float
|
|
124
|
+
float getShadowOpacity()
|
|
125
|
+
{
|
|
126
|
+
return ModUtil::clamp(mShadowOpacity);
|
|
127
|
+
}
|
|
87
128
|
|
|
88
|
-
float
|
|
129
|
+
float getShadowRadius()
|
|
130
|
+
{
|
|
131
|
+
return ModUtil::uClamp(mShadowRadius);
|
|
132
|
+
}
|
|
89
133
|
|
|
90
|
-
float
|
|
134
|
+
float getShadowOffsetX()
|
|
135
|
+
{
|
|
136
|
+
return mShadowOffsetX;
|
|
137
|
+
}
|
|
91
138
|
|
|
92
|
-
|
|
139
|
+
float getShadowOffsetY()
|
|
140
|
+
{
|
|
141
|
+
return mShadowOffsetY;
|
|
142
|
+
}
|
|
93
143
|
|
|
94
|
-
|
|
144
|
+
bool getShadowOffsetIsPercent()
|
|
145
|
+
{
|
|
146
|
+
return mShadowOffsetIsPercent;
|
|
147
|
+
}
|
|
95
148
|
|
|
149
|
+
void set(ClipPathProps props)
|
|
150
|
+
{
|
|
96
151
|
if (!mOpacityStatus)
|
|
97
152
|
mOpacity = props.mOpacity;
|
|
98
153
|
if (!mFillOpacityStatus)
|
|
@@ -124,4 +179,6 @@ public:
|
|
|
124
179
|
}
|
|
125
180
|
}
|
|
126
181
|
};
|
|
127
|
-
} // namespace rnoh
|
|
182
|
+
} // namespace rnoh
|
|
183
|
+
|
|
184
|
+
#endif
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* you may not use this file except in compliance with the License.
|
|
5
5
|
* You may obtain a copy of the License at
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
8
|
*
|
|
9
9
|
* Unless required by applicable law or agreed to in writing, software
|
|
10
10
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
#include <glog/logging.h>
|
|
19
19
|
|
|
20
20
|
namespace rnoh {
|
|
21
|
-
ClipPathViewComponentInstance::ClipPathViewComponentInstance(Context context)
|
|
22
|
-
|
|
21
|
+
ClipPathViewComponentInstance::ClipPathViewComponentInstance(Context context) : CppComponentInstance(std::move(context))
|
|
22
|
+
{
|
|
23
23
|
auto rnInstancePtr = this->m_deps->rnInstance.lock();
|
|
24
24
|
if (rnInstancePtr != nullptr) {
|
|
25
25
|
auto turboModule = rnInstancePtr->getTurboModule("RNCClipPathContext");
|
|
@@ -28,75 +28,81 @@ ClipPathViewComponentInstance::ClipPathViewComponentInstance(Context context)
|
|
|
28
28
|
ModUtil::setDensity(static_cast<float>(result.asDouble()));
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
void ClipPathViewComponentInstance::onChildInserted(ComponentInstance::Shared const &childComponentInstance,
|
|
32
|
-
|
|
31
|
+
void ClipPathViewComponentInstance::onChildInserted(ComponentInstance::Shared const & childComponentInstance,
|
|
32
|
+
std::size_t index)
|
|
33
|
+
{
|
|
33
34
|
CppComponentInstance::onChildInserted(childComponentInstance, index);
|
|
34
|
-
mClipPathNode.
|
|
35
|
+
mClipPathNode.InsertChild(childComponentInstance->getLocalRootArkUINode(), index);
|
|
35
36
|
}
|
|
36
37
|
|
|
37
|
-
void ClipPathViewComponentInstance::onChildRemoved(ComponentInstance::Shared const &childComponentInstance)
|
|
38
|
+
void ClipPathViewComponentInstance::onChildRemoved(ComponentInstance::Shared const & childComponentInstance)
|
|
39
|
+
{
|
|
38
40
|
CppComponentInstance::onChildRemoved(childComponentInstance);
|
|
39
|
-
mClipPathNode.
|
|
41
|
+
mClipPathNode.RemoveChild(childComponentInstance->getLocalRootArkUINode());
|
|
40
42
|
};
|
|
41
43
|
|
|
42
|
-
ClipPathViewNoneNode &ClipPathViewComponentInstance::getLocalRootArkUINode()
|
|
44
|
+
ClipPathViewNoneNode &ClipPathViewComponentInstance::getLocalRootArkUINode()
|
|
45
|
+
{
|
|
46
|
+
return mClipPathNode;
|
|
47
|
+
}
|
|
43
48
|
|
|
44
|
-
void ClipPathViewComponentInstance::onPropsChanged(SharedConcreteProps const &props)
|
|
49
|
+
void ClipPathViewComponentInstance::onPropsChanged(SharedConcreteProps const & props)
|
|
50
|
+
{
|
|
45
51
|
CppComponentInstance::onPropsChanged(props);
|
|
46
52
|
if (auto p = std::dynamic_pointer_cast<const facebook::react::RNCClipPathViewProps>(props)) {
|
|
47
|
-
mClipPathNode.
|
|
48
|
-
mClipPathNode.
|
|
53
|
+
mClipPathNode.SetD(p->d);
|
|
54
|
+
mClipPathNode.SetViewBox(p->viewBox);
|
|
49
55
|
if (p->translateZ != 0) {
|
|
50
|
-
mClipPathNode.
|
|
56
|
+
mClipPathNode.SetTranslateZ(p->translateZ);
|
|
51
57
|
}
|
|
52
|
-
mClipPathNode.
|
|
53
|
-
mClipPathNode.
|
|
58
|
+
mClipPathNode.SetAlign(p->align);
|
|
59
|
+
mClipPathNode.SetAspect(p->aspect);
|
|
54
60
|
|
|
55
|
-
mClipPathNode.
|
|
56
|
-
mClipPathNode.
|
|
57
|
-
mClipPathNode.
|
|
58
|
-
mClipPathNode.
|
|
59
|
-
mClipPathNode.
|
|
60
|
-
mClipPathNode.
|
|
61
|
-
mClipPathNode.
|
|
61
|
+
mClipPathNode.SetStrokeCap(p->strokeCap);
|
|
62
|
+
mClipPathNode.SetStrokeJoin(p->strokeJoin);
|
|
63
|
+
mClipPathNode.SetStrokeWidth(p->strokeWidth);
|
|
64
|
+
mClipPathNode.SetStrokeMiter(p->strokeMiter);
|
|
65
|
+
mClipPathNode.SetStrokeStart(p->strokeStart);
|
|
66
|
+
mClipPathNode.SetStrokeEnd(p->strokeEnd);
|
|
67
|
+
mClipPathNode.SetFillRule(p->fillRule);
|
|
62
68
|
if (p->rot != 0.0f) {
|
|
63
|
-
mClipPathNode.
|
|
69
|
+
mClipPathNode.SetRot(p->rot);
|
|
64
70
|
}
|
|
65
71
|
if (p->rotO != 0.0f) {
|
|
66
|
-
mClipPathNode.
|
|
72
|
+
mClipPathNode.SetRotO(p->rotO);
|
|
67
73
|
}
|
|
68
74
|
if (p->rotOx != 0.0f) {
|
|
69
|
-
mClipPathNode.
|
|
75
|
+
mClipPathNode.SetRotOx(p->rotOx);
|
|
70
76
|
}
|
|
71
77
|
if (p->rotOy != 0.0f) {
|
|
72
|
-
mClipPathNode.
|
|
78
|
+
mClipPathNode.SetRotOy(p->rotOy);
|
|
73
79
|
}
|
|
74
80
|
|
|
75
|
-
mClipPathNode.
|
|
81
|
+
mClipPathNode.SetRotPercentageValue(p->rotPercentageValue);
|
|
76
82
|
if (p->sc != 1.0f) {
|
|
77
|
-
mClipPathNode.
|
|
83
|
+
mClipPathNode.SetSc(p->sc);
|
|
78
84
|
}
|
|
79
85
|
if (p->scX != 1.0f) {
|
|
80
|
-
mClipPathNode.
|
|
86
|
+
mClipPathNode.SetScX(p->scX);
|
|
81
87
|
}
|
|
82
88
|
if (p->scY != 1.0f) {
|
|
83
|
-
mClipPathNode.
|
|
89
|
+
mClipPathNode.SetScY(p->scY);
|
|
84
90
|
}
|
|
85
91
|
|
|
86
92
|
if (p->scO != 0.0f) {
|
|
87
|
-
mClipPathNode.
|
|
93
|
+
mClipPathNode.SetScO(p->scO);
|
|
88
94
|
}
|
|
89
95
|
if (p->scOx != 0.0f) {
|
|
90
|
-
mClipPathNode.
|
|
96
|
+
mClipPathNode.SetScOx(p->scOx);
|
|
91
97
|
}
|
|
92
98
|
if (p->scOy != 0.0f) {
|
|
93
|
-
mClipPathNode.
|
|
99
|
+
mClipPathNode.SetScOy(p->scOy);
|
|
94
100
|
}
|
|
95
|
-
mClipPathNode.
|
|
101
|
+
mClipPathNode.SetScPercentageValue(p->scPercentageValue);
|
|
96
102
|
|
|
97
|
-
mClipPathNode.
|
|
98
|
-
mClipPathNode.
|
|
99
|
-
mClipPathNode.
|
|
103
|
+
mClipPathNode.SetTransX(p->transX);
|
|
104
|
+
mClipPathNode.SetTransY(p->transY);
|
|
105
|
+
mClipPathNode.SetTransPercentageValue(p->transPercentageValue);
|
|
100
106
|
}
|
|
101
107
|
}
|
|
102
108
|
} // namespace rnoh
|
|
@@ -13,6 +13,9 @@
|
|
|
13
13
|
* limitations under the License.
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
|
+
#ifndef CLIPPATHVIEWCOMPONENTINSTANCE_H
|
|
17
|
+
#define CLIPPATHVIEWCOMPONENTINSTANCE_H
|
|
18
|
+
|
|
16
19
|
#include "ClipPathViewNoneNode.h"
|
|
17
20
|
#include "RNOH/CppComponentInstance.h"
|
|
18
21
|
#include "ShadowNodes.h"
|
|
@@ -30,4 +33,6 @@ public:
|
|
|
30
33
|
ClipPathViewNoneNode &getLocalRootArkUINode() override;
|
|
31
34
|
void onPropsChanged(SharedConcreteProps const &props) override;
|
|
32
35
|
};
|
|
33
|
-
} // namespace rnoh
|
|
36
|
+
} // namespace rnoh
|
|
37
|
+
|
|
38
|
+
#endif
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* you may not use this file except in compliance with the License.
|
|
5
5
|
* You may obtain a copy of the License at
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
8
|
*
|
|
9
9
|
* Unless required by applicable law or agreed to in writing, software
|
|
10
10
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
#include <glog/logging.h>
|
|
19
19
|
namespace rnoh {
|
|
20
20
|
ClipPathViewNoneComponentInstance::ClipPathViewNoneComponentInstance(Context context)
|
|
21
|
-
: CppComponentInstance(std::move(context))
|
|
21
|
+
: CppComponentInstance(std::move(context))
|
|
22
|
+
{
|
|
22
23
|
auto rnInstancePtr = this->m_deps->rnInstance.lock();
|
|
23
24
|
if (rnInstancePtr != nullptr) {
|
|
24
25
|
auto turboModule = rnInstancePtr->getTurboModule("RNCClipPathContext");
|
|
@@ -27,76 +28,82 @@ ClipPathViewNoneComponentInstance::ClipPathViewNoneComponentInstance(Context con
|
|
|
27
28
|
ModUtil::setDensity(static_cast<float>(result.asDouble()));
|
|
28
29
|
}
|
|
29
30
|
}
|
|
30
|
-
void ClipPathViewNoneComponentInstance::onChildInserted(ComponentInstance::Shared const &childComponentInstance,
|
|
31
|
-
|
|
31
|
+
void ClipPathViewNoneComponentInstance::onChildInserted(ComponentInstance::Shared const & childComponentInstance,
|
|
32
|
+
std::size_t index)
|
|
33
|
+
{
|
|
32
34
|
CppComponentInstance::onChildInserted(childComponentInstance, index);
|
|
33
|
-
mClipPathNode.
|
|
35
|
+
mClipPathNode.InsertChild(childComponentInstance->getLocalRootArkUINode(), index);
|
|
34
36
|
}
|
|
35
37
|
|
|
36
|
-
void ClipPathViewNoneComponentInstance::onChildRemoved(ComponentInstance::Shared const &childComponentInstance)
|
|
38
|
+
void ClipPathViewNoneComponentInstance::onChildRemoved(ComponentInstance::Shared const & childComponentInstance)
|
|
39
|
+
{
|
|
37
40
|
CppComponentInstance::onChildRemoved(childComponentInstance);
|
|
38
|
-
mClipPathNode.
|
|
41
|
+
mClipPathNode.RemoveChild(childComponentInstance->getLocalRootArkUINode());
|
|
39
42
|
};
|
|
40
43
|
|
|
41
|
-
ClipPathViewNoneNode &ClipPathViewNoneComponentInstance::getLocalRootArkUINode()
|
|
44
|
+
ClipPathViewNoneNode &ClipPathViewNoneComponentInstance::getLocalRootArkUINode()
|
|
45
|
+
{
|
|
46
|
+
return mClipPathNode;
|
|
47
|
+
}
|
|
42
48
|
|
|
43
|
-
void ClipPathViewNoneComponentInstance::onPropsChanged(SharedConcreteProps const &props)
|
|
49
|
+
void ClipPathViewNoneComponentInstance::onPropsChanged(SharedConcreteProps const & props)
|
|
50
|
+
{
|
|
44
51
|
CppComponentInstance::onPropsChanged(props);
|
|
45
52
|
if (auto p = std::dynamic_pointer_cast<const facebook::react::RNCClipPathViewNoneProps>(props)) {
|
|
46
|
-
mClipPathNode.
|
|
47
|
-
mClipPathNode.
|
|
53
|
+
mClipPathNode.SetD(p->d);
|
|
54
|
+
mClipPathNode.SetViewBox(p->viewBox);
|
|
48
55
|
if (p->translateZ != 0) {
|
|
49
|
-
mClipPathNode.
|
|
56
|
+
mClipPathNode.SetTranslateZ(p->translateZ);
|
|
50
57
|
}
|
|
51
|
-
mClipPathNode.
|
|
52
|
-
mClipPathNode.
|
|
58
|
+
mClipPathNode.SetAlign(p->align);
|
|
59
|
+
mClipPathNode.SetAspect(p->aspect);
|
|
53
60
|
|
|
54
|
-
mClipPathNode.
|
|
55
|
-
mClipPathNode.
|
|
56
|
-
mClipPathNode.
|
|
57
|
-
mClipPathNode.
|
|
58
|
-
mClipPathNode.
|
|
59
|
-
mClipPathNode.
|
|
60
|
-
mClipPathNode.
|
|
61
|
+
mClipPathNode.SetStrokeCap(p->strokeCap);
|
|
62
|
+
mClipPathNode.SetStrokeJoin(p->strokeJoin);
|
|
63
|
+
mClipPathNode.SetStrokeWidth(p->strokeWidth);
|
|
64
|
+
mClipPathNode.SetStrokeMiter(p->strokeMiter);
|
|
65
|
+
mClipPathNode.SetStrokeStart(p->strokeStart);
|
|
66
|
+
mClipPathNode.SetStrokeEnd(p->strokeEnd);
|
|
67
|
+
mClipPathNode.SetFillRule(p->fillRule);
|
|
61
68
|
|
|
62
69
|
if (p->rot != 0.0f) {
|
|
63
|
-
mClipPathNode.
|
|
70
|
+
mClipPathNode.SetRot(p->rot);
|
|
64
71
|
}
|
|
65
72
|
if (p->rotO != 0.0f) {
|
|
66
|
-
mClipPathNode.
|
|
73
|
+
mClipPathNode.SetRotO(p->rotO);
|
|
67
74
|
}
|
|
68
75
|
if (p->rotOx != 0.0f) {
|
|
69
|
-
mClipPathNode.
|
|
76
|
+
mClipPathNode.SetRotOx(p->rotOx);
|
|
70
77
|
}
|
|
71
78
|
if (p->rotOy != 0.0f) {
|
|
72
|
-
mClipPathNode.
|
|
79
|
+
mClipPathNode.SetRotOy(p->rotOy);
|
|
73
80
|
}
|
|
74
81
|
|
|
75
|
-
mClipPathNode.
|
|
82
|
+
mClipPathNode.SetRotPercentageValue(p->rotPercentageValue);
|
|
76
83
|
if (p->sc != 1.0f) {
|
|
77
|
-
mClipPathNode.
|
|
84
|
+
mClipPathNode.SetSc(p->sc);
|
|
78
85
|
}
|
|
79
86
|
if (p->scX != 1.0f) {
|
|
80
|
-
mClipPathNode.
|
|
87
|
+
mClipPathNode.SetScX(p->scX);
|
|
81
88
|
}
|
|
82
89
|
if (p->scY != 1.0f) {
|
|
83
|
-
mClipPathNode.
|
|
90
|
+
mClipPathNode.SetScY(p->scY);
|
|
84
91
|
}
|
|
85
92
|
|
|
86
93
|
if (p->scO != 0.0f) {
|
|
87
|
-
mClipPathNode.
|
|
94
|
+
mClipPathNode.SetScO(p->scO);
|
|
88
95
|
}
|
|
89
96
|
if (p->scOx != 0.0f) {
|
|
90
|
-
mClipPathNode.
|
|
97
|
+
mClipPathNode.SetScOx(p->scOx);
|
|
91
98
|
}
|
|
92
99
|
if (p->scOy != 0.0f) {
|
|
93
|
-
mClipPathNode.
|
|
100
|
+
mClipPathNode.SetScOy(p->scOy);
|
|
94
101
|
}
|
|
95
|
-
mClipPathNode.
|
|
102
|
+
mClipPathNode.SetScPercentageValue(p->scPercentageValue);
|
|
96
103
|
|
|
97
|
-
mClipPathNode.
|
|
98
|
-
mClipPathNode.
|
|
99
|
-
mClipPathNode.
|
|
104
|
+
mClipPathNode.SetTransX(p->transX);
|
|
105
|
+
mClipPathNode.SetTransY(p->transY);
|
|
106
|
+
mClipPathNode.SetTransPercentageValue(p->transPercentageValue);
|
|
100
107
|
}
|
|
101
108
|
}
|
|
102
109
|
} // namespace rnoh
|