1 /*
2 * Copyright (c) 2025 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 */
15
16 #include "BrushPointRecordTest.h"
17 #include <native_drawing/drawing_brush.h>
18 #include <native_drawing/drawing_error_code.h>
19 #include <native_drawing/drawing_filter.h>
20 #include <native_drawing/drawing_shadow_layer.h>
21 #include <native_drawing/drawing_shader_effect.h>
22 #include <native_drawing/drawing_canvas.h>
23 #include <native_drawing/drawing_pixel_map.h>
24 #include <native_drawing/drawing_point.h>
25 #include <native_drawing/drawing_record_cmd.h>
26 #include <native_drawing/drawing_rect.h>
27 #include <native_drawing/drawing_region.h>
28 #include <native_drawing/drawing_register_font.h>
29
addBrushPointRecordTest(std::vector<napi_property_descriptor> & descData)30 void addBrushPointRecordTest(std::vector<napi_property_descriptor>& descData)
31 {
32 descData.push_back({"drawingBrushGetAlphaFloatSuccess", nullptr, OH_Drawing_BrushGetAlphaFloatSuccess,
33 nullptr, nullptr, nullptr, napi_default, nullptr});
34 descData.push_back({"drawingBrushGetAlphaFloatFail", nullptr, OH_Drawing_BrushGetAlphaFloatFail,
35 nullptr, nullptr, nullptr, napi_default, nullptr});
36 descData.push_back({"brushGetRedFloatSuccess", nullptr, OH_Drawing_BrushGetRedFloatSuccess,
37 nullptr, nullptr, nullptr, napi_default, nullptr});
38 descData.push_back({"brushGetRedFloatFail", nullptr, OH_Drawing_BrushGetRedFloatFail,
39 nullptr, nullptr, nullptr, napi_default, nullptr});
40 descData.push_back({"brushGetGreenFloatSuccess", nullptr, OH_Drawing_BrushGetGreenFloatSuccess,
41 nullptr, nullptr, nullptr, napi_default, nullptr});
42 descData.push_back({"brushGetGreenFloatFail", nullptr, OH_Drawing_BrushGetGreenFloatFail,
43 nullptr, nullptr, nullptr, napi_default, nullptr});
44 descData.push_back({"brushGetBlueFloatSuccess", nullptr, OH_Drawing_BrushGetBlueFloatSuccess,
45 nullptr, nullptr, nullptr, napi_default, nullptr});
46 descData.push_back({"brushGetBlueFloatFail", nullptr, OH_Drawing_BrushGetBlueFloatFail,
47 nullptr, nullptr, nullptr, napi_default, nullptr});
48 descData.push_back({"pointGetXSuccess", nullptr, OH_Drawing_PointGetXSuccess,
49 nullptr, nullptr, nullptr, napi_default, nullptr});
50 descData.push_back({"pointGetXFail", nullptr, OH_Drawing_PointGetXFail,
51 nullptr, nullptr, nullptr, napi_default, nullptr});
52 descData.push_back({"pointGetYSuccess", nullptr, OH_Drawing_PointGetYSuccess,
53 nullptr, nullptr, nullptr, napi_default, nullptr});
54 descData.push_back({"pointGetYFail", nullptr, OH_Drawing_PointGetYFail,
55 nullptr, nullptr, nullptr, napi_default, nullptr});
56 descData.push_back({"pointSetSuccess", nullptr, OH_Drawing_PointSetSuccess,
57 nullptr, nullptr, nullptr, napi_default, nullptr});
58 descData.push_back({"pointSetFail", nullptr, OH_Drawing_PointSetFail,
59 nullptr, nullptr, nullptr, napi_default, nullptr});
60 descData.push_back({"recordCmdUtilsDestroySuccess", nullptr, OH_Drawing_RecordCmdUtilsDestroySuccess,
61 nullptr, nullptr, nullptr, napi_default, nullptr});
62 descData.push_back({"recordCmdUtilsDestroyFail", nullptr, OH_Drawing_RecordCmdUtilsDestroyFail,
63 nullptr, nullptr, nullptr, napi_default, nullptr});
64 descData.push_back({"recordCmdUtilsBeginRecordingSuccess", nullptr, OH_Drawing_RecordCmdUtilsBeginRecordingSuccess,
65 nullptr, nullptr, nullptr, napi_default, nullptr});
66 descData.push_back({"recordCmdUtilsBeginRecordingFail", nullptr, OH_Drawing_RecordCmdUtilsBeginRecordingFail,
67 nullptr, nullptr, nullptr, napi_default, nullptr});
68 descData.push_back({"recordCmdUtilsFinishRecordingSuccess", nullptr,
69 OH_Drawing_RecordCmdUtilsFinishRecordingSuccess, nullptr, nullptr, nullptr, napi_default, nullptr});
70 descData.push_back({"recordCmdUtilsFinishRecordingFail", nullptr, OH_Drawing_RecordCmdUtilsFinishRecordingFail,
71 nullptr, nullptr, nullptr, napi_default, nullptr});
72 }
73
OH_Drawing_BrushGetAlphaFloatSuccess(napi_env env,napi_callback_info info)74 napi_value OH_Drawing_BrushGetAlphaFloatSuccess(napi_env env, napi_callback_info info)
75 {
76 napi_value result;
77 auto brush = OH_Drawing_BrushCreate();
78 float a = 0.1;
79 OH_Drawing_ErrorCode ret = OH_Drawing_BrushGetAlphaFloat(brush, &a);
80 napi_create_int32(env, ret, &result);
81 return result;
82 }
83
OH_Drawing_BrushGetAlphaFloatFail(napi_env env,napi_callback_info info)84 napi_value OH_Drawing_BrushGetAlphaFloatFail(napi_env env, napi_callback_info info)
85 {
86 napi_value result;
87 auto brush = nullptr;
88 float a = 0.1;
89 int ret = OH_Drawing_BrushGetAlphaFloat(brush, &a);
90 napi_create_int32(env, ret, &result);
91 return result;
92 }
93
OH_Drawing_BrushGetRedFloatSuccess(napi_env env,napi_callback_info info)94 napi_value OH_Drawing_BrushGetRedFloatSuccess(napi_env env, napi_callback_info info)
95 {
96 napi_value result;
97 auto brush = OH_Drawing_BrushCreate();
98 float a = 0.1;
99 int ret = OH_Drawing_BrushGetRedFloat(brush, &a);
100 napi_create_int32(env, ret == OH_DRAWING_SUCCESS, &result);
101 return result;
102 }
103
OH_Drawing_BrushGetRedFloatFail(napi_env env,napi_callback_info info)104 napi_value OH_Drawing_BrushGetRedFloatFail(napi_env env, napi_callback_info info)
105 {
106 napi_value result;
107 auto brush = nullptr;
108 float a = 0.1;
109 int ret = OH_Drawing_BrushGetRedFloat(brush, &a);
110 napi_create_int32(env, ret == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
111 return result;
112 }
113
OH_Drawing_BrushGetGreenFloatSuccess(napi_env env,napi_callback_info info)114 napi_value OH_Drawing_BrushGetGreenFloatSuccess(napi_env env, napi_callback_info info)
115 {
116 napi_value result;
117 auto brush = OH_Drawing_BrushCreate();
118 float a = 0.1;
119 int ret = OH_Drawing_BrushGetGreenFloat(brush, &a);
120 napi_create_int32(env, ret == OH_DRAWING_SUCCESS, &result);
121 return result;
122 }
123
OH_Drawing_BrushGetGreenFloatFail(napi_env env,napi_callback_info info)124 napi_value OH_Drawing_BrushGetGreenFloatFail(napi_env env, napi_callback_info info)
125 {
126 napi_value result;
127 OH_Drawing_Brush* brush = nullptr;
128 float a = 0.1;
129 int ret = OH_Drawing_BrushGetGreenFloat(brush, &a);
130 napi_create_int32(env, ret == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
131 return result;
132 }
133
OH_Drawing_BrushGetBlueFloatSuccess(napi_env env,napi_callback_info info)134 napi_value OH_Drawing_BrushGetBlueFloatSuccess(napi_env env, napi_callback_info info)
135 {
136 napi_value result;
137 auto brush = OH_Drawing_BrushCreate();
138 float a = 0.1;
139 int ret = OH_Drawing_BrushGetBlueFloat(brush, &a);
140 napi_create_int32(env, ret == OH_DRAWING_SUCCESS, &result);
141 return result;
142 }
143
OH_Drawing_BrushGetBlueFloatFail(napi_env env,napi_callback_info info)144 napi_value OH_Drawing_BrushGetBlueFloatFail(napi_env env, napi_callback_info info)
145 {
146 napi_value result;
147 OH_Drawing_Brush* brush = nullptr;
148 float a = 0.1;
149 int ret = OH_Drawing_BrushGetBlueFloat(brush, &a);
150 napi_create_int32(env, ret == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
151 return result;
152 }
153
OH_Drawing_PointGetXSuccess(napi_env env,napi_callback_info info)154 napi_value OH_Drawing_PointGetXSuccess(napi_env env, napi_callback_info info)
155 {
156 napi_value result;
157 float x = 10;
158 float y = 10;
159 const OH_Drawing_Point* point = OH_Drawing_PointCreate(x, y);
160 float resx = 0;
161 OH_Drawing_ErrorCode errorCode = OH_Drawing_PointGetX(point, &resx);
162 napi_create_int32(env, x == resx && errorCode == OH_DRAWING_SUCCESS, &result);
163 return result;
164 }
165
OH_Drawing_PointGetXFail(napi_env env,napi_callback_info info)166 napi_value OH_Drawing_PointGetXFail(napi_env env, napi_callback_info info)
167 {
168 napi_value result;
169 float x = 0;
170 OH_Drawing_ErrorCode errorCode = OH_Drawing_PointGetX(nullptr, &x);
171 napi_create_int32(env, errorCode == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
172 return result;
173 }
174
OH_Drawing_PointGetYSuccess(napi_env env,napi_callback_info info)175 napi_value OH_Drawing_PointGetYSuccess(napi_env env, napi_callback_info info)
176 {
177 napi_value result;
178 float x = 10;
179 float y = 10;
180 const OH_Drawing_Point* point = OH_Drawing_PointCreate(x, y);
181 float resy = 0;
182 OH_Drawing_ErrorCode errorCode = OH_Drawing_PointGetY(point, &resy);
183 napi_create_int32(env, errorCode == OH_DRAWING_SUCCESS && y == resy, &result);
184 return result;
185 }
186
OH_Drawing_PointGetYFail(napi_env env,napi_callback_info info)187 napi_value OH_Drawing_PointGetYFail(napi_env env, napi_callback_info info)
188 {
189 napi_value result;
190 float y = 0;
191 OH_Drawing_ErrorCode errorCode = OH_Drawing_PointGetX(nullptr, &y);
192 napi_create_int32(env, errorCode == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
193 return result;
194 }
195
OH_Drawing_PointSetSuccess(napi_env env,napi_callback_info info)196 napi_value OH_Drawing_PointSetSuccess(napi_env env, napi_callback_info info)
197 {
198 napi_value result;
199 float x = 10;
200 float y = 10;
201 OH_Drawing_Point* point = OH_Drawing_PointCreate(x, y);
202 float x2 = 100;
203 float y2 = 100;
204 OH_Drawing_ErrorCode errorCode = OH_Drawing_PointSet(point, x2, y2);
205 napi_create_int32(env, errorCode == OH_DRAWING_SUCCESS, &result);
206 return result;
207 }
208
OH_Drawing_PointSetFail(napi_env env,napi_callback_info info)209 napi_value OH_Drawing_PointSetFail(napi_env env, napi_callback_info info)
210 {
211 napi_value result;
212 float x = 100;
213 float y = 100;
214 OH_Drawing_ErrorCode errorCode = OH_Drawing_PointSet(nullptr, x, y);
215 napi_create_int32(env, errorCode == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
216 return result;
217 }
218
OH_Drawing_RecordCmdUtilsDestroySuccess(napi_env env,napi_callback_info info)219 napi_value OH_Drawing_RecordCmdUtilsDestroySuccess(napi_env env, napi_callback_info info)
220 {
221 napi_value result;
222 OH_Drawing_RecordCmdUtils* precCut = OH_Drawing_RecordCmdUtilsCreate();
223 OH_Drawing_ErrorCode errCode = OH_Drawing_RecordCmdUtilsDestroy(precCut);
224 napi_create_int32(env, errCode == OH_DRAWING_SUCCESS, &result);
225 return result;
226 }
227
OH_Drawing_RecordCmdUtilsDestroyFail(napi_env env,napi_callback_info info)228 napi_value OH_Drawing_RecordCmdUtilsDestroyFail(napi_env env, napi_callback_info info)
229 {
230 napi_value result;
231 OH_Drawing_ErrorCode errCode = OH_Drawing_RecordCmdUtilsDestroy(nullptr);
232 napi_create_int32(env, errCode == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
233 return result;
234 }
235
OH_Drawing_RecordCmdUtilsBeginRecordingSuccess(napi_env env,napi_callback_info info)236 napi_value OH_Drawing_RecordCmdUtilsBeginRecordingSuccess(napi_env env, napi_callback_info info)
237 {
238 napi_value result;
239 OH_Drawing_RecordCmdUtils* precCut = OH_Drawing_RecordCmdUtilsCreate();
240 int32_t width = 10;
241 int32_t height = 10;
242 OH_Drawing_Canvas* canvas = OH_Drawing_CanvasCreate();
243 OH_Drawing_ErrorCode errCode = OH_Drawing_RecordCmdUtilsBeginRecording(precCut, width, height, &canvas);
244 napi_create_int32(env, errCode == OH_DRAWING_SUCCESS, &result);
245 return result;
246 }
247
OH_Drawing_RecordCmdUtilsBeginRecordingFail(napi_env env,napi_callback_info info)248 napi_value OH_Drawing_RecordCmdUtilsBeginRecordingFail(napi_env env, napi_callback_info info)
249 {
250 napi_value result;
251 int32_t width = 10;
252 int32_t height = 10;
253 OH_Drawing_Canvas* canvas = OH_Drawing_CanvasCreate();
254 OH_Drawing_ErrorCode errCode = OH_Drawing_RecordCmdUtilsBeginRecording(nullptr, width, height, &canvas);
255 napi_create_int32(env, errCode == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
256 return result;
257 }
258
OH_Drawing_RecordCmdUtilsFinishRecordingSuccess(napi_env env,napi_callback_info info)259 napi_value OH_Drawing_RecordCmdUtilsFinishRecordingSuccess(napi_env env, napi_callback_info info)
260 {
261 napi_value result;
262 OH_Drawing_RecordCmdUtils* recordCmdUtils = OH_Drawing_RecordCmdUtilsCreate();
263 OH_Drawing_RecordCmd* recordCmd;
264 OH_Drawing_ErrorCode errCode = OH_Drawing_RecordCmdUtilsFinishRecording(recordCmdUtils, &recordCmd);
265 napi_create_int32(env, errCode == OH_DRAWING_ERROR_ALLOCATION_FAILED, &result);
266 return result;
267 }
268
OH_Drawing_RecordCmdUtilsFinishRecordingFail(napi_env env,napi_callback_info info)269 napi_value OH_Drawing_RecordCmdUtilsFinishRecordingFail(napi_env env, napi_callback_info info)
270 {
271 napi_value result;
272 OH_Drawing_RecordCmd* recordCmd;
273 OH_Drawing_ErrorCode errCode = OH_Drawing_RecordCmdUtilsFinishRecording(nullptr, &recordCmd);
274 napi_create_int32(env, errCode == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
275 return result;
276 }