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 #include "RectFontTest.h"
16 #include <native_drawing/drawing_path.h>
17 #include <native_drawing/drawing_point.h>
18 #include <native_drawing/drawing_register_font.h>
19 #include <native_drawing/drawing_round_rect.h>
20 #include <native_drawing/drawing_rect.h>
21 #include <native_drawing/drawing_sampling_options.h>
22 #include <native_drawing/drawing_font.h>
23 #include <native_drawing/drawing_brush.h>
24 #include <native_drawing/drawing_pen.h>
addRectTest(std::vector<napi_property_descriptor> & descData)25 void addRectTest(std::vector<napi_property_descriptor>& descData)
26 {
27 descData.push_back({"rectGetArraySizeSuccess", nullptr, OH_Drawing_RectGetArraySizeSuccess,
28 nullptr, nullptr, nullptr, napi_default, nullptr});
29 descData.push_back({"rectGetArraySizeFail", nullptr, OH_Drawing_RectGetArraySizeFail,
30 nullptr, nullptr, nullptr, napi_default, nullptr});
31 descData.push_back({"rectGetArrayElementSuccess", nullptr, OH_Drawing_RectGetArrayElementSuccess,
32 nullptr, nullptr, nullptr, napi_default, nullptr});
33 descData.push_back({"rectGetArrayElementFail", nullptr, OH_Drawing_RectGetArrayElementFail,
34 nullptr, nullptr, nullptr, napi_default, nullptr});
35 descData.push_back({"rectDestroyArraySuccess", nullptr, OH_Drawing_RectDestroyArraySuccess,
36 nullptr, nullptr, nullptr, napi_default, nullptr});
37 descData.push_back({"rectDestroyArrayFail", nullptr, OH_Drawing_RectDestroyArrayFail,
38 nullptr, nullptr, nullptr, napi_default, nullptr});
39 descData.push_back({"roundRectOffsetSuccess", nullptr, OH_Drawing_RoundRectOffsetSuccess,
40 nullptr, nullptr, nullptr, napi_default, nullptr});
41 descData.push_back({"roundRectOffsetFail", nullptr, OH_Drawing_RoundRectOffsetFail,
42 nullptr, nullptr, nullptr, napi_default, nullptr});
43 }
AddFontTest(std::vector<napi_property_descriptor> & descData)44 void AddFontTest(std::vector<napi_property_descriptor>& descData)
45 {
46 descData.push_back({"fontMeasureSingleCharacterWithFeaturesSuccess", nullptr,
47 OH_Drawing_FontMeasureSingleCharacterWithFeaturesSuccess, nullptr, nullptr, nullptr, napi_default, nullptr});
48 descData.push_back({"fontMeasureSingleCharacterWithFeaturesFail", nullptr,
49 OH_Drawing_FontMeasureSingleCharacterWithFeaturesFail, nullptr, nullptr, nullptr, napi_default, nullptr});
50 descData.push_back({"fontMeasureTextSuccess", nullptr, OH_Drawing_FontMeasureTextSuccess,
51 nullptr, nullptr, nullptr, napi_default, nullptr});
52 descData.push_back({"fontMeasureTextFail", nullptr, OH_Drawing_FontMeasureTextFail,
53 nullptr, nullptr, nullptr, napi_default, nullptr});
54 descData.push_back({"fontMeasureTextWithBrushOrPenFail", nullptr, OH_Drawing_FontMeasureTextWithBrushOrPenFail,
55 nullptr, nullptr, nullptr, napi_default, nullptr});
56 descData.push_back({"fontGetWidthsBoundsFail", nullptr, OH_Drawing_FontGetWidthsBoundsFail,
57 nullptr, nullptr, nullptr, napi_default, nullptr});
58 descData.push_back({"fontGetPosSuccess", nullptr, OH_Drawing_FontGetPosSuccess,
59 nullptr, nullptr, nullptr, napi_default, nullptr});
60 descData.push_back({"fontGetPosFail", nullptr, OH_Drawing_FontGetPosFail,
61 nullptr, nullptr, nullptr, napi_default, nullptr});
62 descData.push_back({"fontGetSpacingSuccess", nullptr, OH_Drawing_FontGetSpacingSuccess,
63 nullptr, nullptr, nullptr, napi_default, nullptr});
64 descData.push_back({"fontGetSpacingFail", nullptr, OH_Drawing_FontGetSpacingFail,
65 nullptr, nullptr, nullptr, napi_default, nullptr});
66 descData.push_back({"fontGetBoundsFail", nullptr, OH_Drawing_FontGetBoundsFail,
67 nullptr, nullptr, nullptr, napi_default, nullptr});
68 descData.push_back({"fontGetPathForGlyphSuccess", nullptr, OH_Drawing_FontGetPathForGlyphSuccess,
69 nullptr, nullptr, nullptr, napi_default, nullptr});
70 descData.push_back({"fontGetPathForGlyphFail", nullptr, OH_Drawing_FontGetPathForGlyphFail,
71 nullptr, nullptr, nullptr, napi_default, nullptr});
72 descData.push_back({"fontGetTextPathSuccess", nullptr, OH_Drawing_FontGetTextPathSuccess,
73 nullptr, nullptr, nullptr, napi_default, nullptr});
74 descData.push_back({"fontGetTextPathFail", nullptr, OH_Drawing_FontGetTextPathFail,
75 nullptr, nullptr, nullptr, napi_default, nullptr});
76 descData.push_back({"fontFeaturesCreateSuccess", nullptr, OH_Drawing_FontFeaturesCreateSuccess,
77 nullptr, nullptr, nullptr, napi_default, nullptr});
78 descData.push_back({"fontFeaturesAddFeatureSuccess", nullptr, OH_Drawing_FontFeaturesAddFeatureSuccess,
79 nullptr, nullptr, nullptr, napi_default, nullptr});
80 descData.push_back({"fontFeaturesAddFeatureFail", nullptr, OH_Drawing_FontFeaturesAddFeatureFail,
81 nullptr, nullptr, nullptr, napi_default, nullptr});
82 descData.push_back({"fontFeaturesDestroySuccess", nullptr, OH_Drawing_FontFeaturesDestroySuccess,
83 nullptr, nullptr, nullptr, napi_default, nullptr});
84 descData.push_back({"fontFeaturesDestroyFail", nullptr, OH_Drawing_FontFeaturesDestroyFail,
85 nullptr, nullptr, nullptr, napi_default, nullptr});
86 }
87
OH_Drawing_RectGetArraySizeSuccess(napi_env env,napi_callback_info info)88 napi_value OH_Drawing_RectGetArraySizeSuccess(napi_env env, napi_callback_info info)
89 {
90 napi_value result;
91 size_t size = 10;
92 OH_Drawing_Array* arr = OH_Drawing_RectCreateArray(size);
93 size_t arraySize = 0;
94 OH_Drawing_ErrorCode errCode = OH_Drawing_RectGetArraySize(arr, &arraySize);
95 napi_create_int32(env, errCode == OH_DRAWING_SUCCESS && arraySize == size, &result);
96
97 return result;
98 }
OH_Drawing_RectGetArraySizeFail(napi_env env,napi_callback_info info)99 napi_value OH_Drawing_RectGetArraySizeFail(napi_env env, napi_callback_info info)
100 {
101 napi_value result;
102 size_t arraySize = 0;
103 OH_Drawing_ErrorCode errCode = OH_Drawing_RectGetArraySize(nullptr, &arraySize);
104 napi_create_int32(env, errCode == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
105 return result;
106 }
OH_Drawing_RectGetArrayElementSuccess(napi_env env,napi_callback_info info)107 napi_value OH_Drawing_RectGetArrayElementSuccess(napi_env env, napi_callback_info info)
108 {
109 napi_value result;
110 size_t size = 10;
111 OH_Drawing_Array* rectArray = OH_Drawing_RectCreateArray(size);
112 size_t index = 0;
113 float left = 10;
114 float top = 10;
115 float right = 10;
116 float bottom = 10;
117 OH_Drawing_Rect* prect = OH_Drawing_RectCreate(left, top, right, bottom);
118 OH_Drawing_ErrorCode errCode = OH_Drawing_RectGetArrayElement(rectArray, index, &prect);
119 napi_create_int32(env, errCode == OH_DRAWING_SUCCESS, &result);
120 return result;
121 }
OH_Drawing_RectGetArrayElementFail(napi_env env,napi_callback_info info)122 napi_value OH_Drawing_RectGetArrayElementFail(napi_env env, napi_callback_info info)
123 {
124 napi_value result;
125 size_t size = 10;
126 OH_Drawing_Array* rectArray = OH_Drawing_RectCreateArray(size);
127 size_t index = 0;
128 float left = 10;
129 float top = 10;
130 float right = 10;
131 float bottom = 10;
132 OH_Drawing_Rect* prect = OH_Drawing_RectCreate(left, top, right, bottom);
133 OH_Drawing_ErrorCode errCode = OH_Drawing_RectGetArrayElement(nullptr, index, &prect);
134 napi_create_int32(env, errCode == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
135 return result;
136 }
137
OH_Drawing_RectDestroyArraySuccess(napi_env env,napi_callback_info info)138 napi_value OH_Drawing_RectDestroyArraySuccess(napi_env env, napi_callback_info info)
139 {
140 napi_value result;
141 size_t size = 10;
142 OH_Drawing_Array* rectArray = OH_Drawing_RectCreateArray(size);
143 OH_Drawing_ErrorCode errCode = OH_Drawing_RectDestroyArray(rectArray);
144 napi_create_int32(env, errCode == OH_DRAWING_SUCCESS, &result);
145
146 return result;
147 }
148
OH_Drawing_RectDestroyArrayFail(napi_env env,napi_callback_info info)149 napi_value OH_Drawing_RectDestroyArrayFail(napi_env env, napi_callback_info info)
150 {
151 napi_value result;
152
153 OH_Drawing_ErrorCode errCode = OH_Drawing_RectDestroyArray(nullptr);
154 napi_create_int32(env, errCode == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
155
156 return result;
157 }
158
OH_Drawing_RoundRectOffsetSuccess(napi_env env,napi_callback_info info)159 napi_value OH_Drawing_RoundRectOffsetSuccess(napi_env env, napi_callback_info info)
160 {
161 napi_value result;
162 float left = 10;
163 float top = 10;
164 float right = 10;
165 float bottom = 10;
166 OH_Drawing_Rect* rect = OH_Drawing_RectCreate(left, top, right, bottom);
167 float xRad = 10;
168 float yRad = 10;
169 OH_Drawing_RoundRect* roundRect = OH_Drawing_RoundRectCreate(rect, xRad, yRad);
170 float dx = 10;
171 float dy = 10;
172 OH_Drawing_ErrorCode errCode = OH_Drawing_RoundRectOffset(roundRect, dx, dy);
173 napi_create_int32(env, errCode == OH_DRAWING_SUCCESS, &result);
174 return result;
175 }
OH_Drawing_RoundRectOffsetFail(napi_env env,napi_callback_info info)176 napi_value OH_Drawing_RoundRectOffsetFail(napi_env env, napi_callback_info info)
177 {
178 napi_value result;
179 float dx = 10;
180 float dy = 10;
181 OH_Drawing_ErrorCode errCode = OH_Drawing_RoundRectOffset(nullptr, dx, dy);
182 napi_create_int32(env, errCode == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
183 return result;
184 }
185
OH_Drawing_FontMeasureSingleCharacterWithFeaturesSuccess(napi_env env,napi_callback_info info)186 napi_value OH_Drawing_FontMeasureSingleCharacterWithFeaturesSuccess(napi_env env, napi_callback_info info)
187 {
188 napi_value result;
189 OH_Drawing_Font* font = OH_Drawing_FontCreate();
190 const char* str = "HellWorld";
191 OH_Drawing_FontFeatures* fontFeatures = OH_Drawing_FontFeaturesCreate();
192 float textWidth = 10;
193 OH_Drawing_ErrorCode errCode = OH_DRAWING_SUCCESS;
194 errCode = OH_Drawing_FontMeasureSingleCharacterWithFeatures(font, str, fontFeatures, &textWidth);
195 napi_create_int32(env, errCode == OH_DRAWING_SUCCESS, &result);
196 return result;
197 }
OH_Drawing_FontMeasureSingleCharacterWithFeaturesFail(napi_env env,napi_callback_info info)198 napi_value OH_Drawing_FontMeasureSingleCharacterWithFeaturesFail(napi_env env, napi_callback_info info)
199 {
200 napi_value result;
201 const char* str = "HellWorld";
202 OH_Drawing_FontFeatures* fontFeatures = OH_Drawing_FontFeaturesCreate();
203 float textWidth = 10;
204 OH_Drawing_ErrorCode errCode = OH_DRAWING_SUCCESS;
205 errCode = OH_Drawing_FontMeasureSingleCharacterWithFeatures(nullptr, str, fontFeatures, &textWidth);
206 napi_create_int32(env, errCode == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
207 return result;
208 }
209
OH_Drawing_FontMeasureTextSuccess(napi_env env,napi_callback_info info)210 napi_value OH_Drawing_FontMeasureTextSuccess(napi_env env, napi_callback_info info)
211 {
212 napi_value result;
213 OH_Drawing_Font* font = OH_Drawing_FontCreate();
214 const char* str = "HelloWorld";
215 size_t byteLength = strlen(str);
216 float left = 10;
217 float top = 10;
218 float right = 10;
219 float bottom = 10;
220 OH_Drawing_Rect* bounds = OH_Drawing_RectCreate(left, top, right, bottom);
221 float textWidth = 10;
222 OH_Drawing_ErrorCode errCode = OH_DRAWING_SUCCESS;
223 errCode = OH_Drawing_FontMeasureText(font, str, byteLength, TEXT_ENCODING_UTF8, bounds, &textWidth);
224 napi_create_int32(env, errCode == OH_DRAWING_SUCCESS, &result);
225 return result;
226 }
OH_Drawing_FontMeasureTextFail(napi_env env,napi_callback_info info)227 napi_value OH_Drawing_FontMeasureTextFail(napi_env env, napi_callback_info info)
228 {
229 napi_value result;
230 OH_Drawing_Font* font = nullptr;
231 const char* str = "HelloWorld";
232 size_t byteLth = strlen(str);
233 float left = 10;
234 float top = 10;
235 float right = 10;
236 float bottom = 10;
237 OH_Drawing_Rect* bounds = OH_Drawing_RectCreate(left, top, right, bottom);
238 float tWidth = 10;
239 OH_Drawing_ErrorCode errCode = OH_Drawing_FontMeasureText(font, str, byteLth, TEXT_ENCODING_UTF8, bounds, &tWidth);
240 napi_create_int32(env, errCode == OH_DRAWING_SUCCESS, &result);
241 return result;
242 }
243
OH_Drawing_FontMeasureTextWithBrushOrPenFail(napi_env env,napi_callback_info info)244 napi_value OH_Drawing_FontMeasureTextWithBrushOrPenFail(napi_env env, napi_callback_info info)
245 {
246 napi_value result;
247 const char* text = "HelloWorld";
248 size_t byteLength = strlen(text);
249 float left = 10;
250 float top = 10;
251 float right = 10;
252 float bottom = 10;
253 OH_Drawing_Rect* bounds = OH_Drawing_RectCreate(left, top, right, bottom);
254 OH_Drawing_Brush* brush = OH_Drawing_BrushCreate();
255 OH_Drawing_Pen* pen = OH_Drawing_PenCreate();
256 float textWidth = 10;
257 OH_Drawing_ErrorCode errCode = OH_Drawing_FontMeasureTextWithBrushOrPen(nullptr, text, byteLength,
258 TEXT_ENCODING_UTF8, brush, pen, bounds, &textWidth);
259 napi_create_int32(env, errCode == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
260 return result;
261 }
262
OH_Drawing_FontGetWidthsBoundsFail(napi_env env,napi_callback_info info)263 napi_value OH_Drawing_FontGetWidthsBoundsFail(napi_env env, napi_callback_info info)
264 {
265 napi_value result;
266 uint16_t glyphs = 10;
267 int count = 1;
268 OH_Drawing_Brush* brush = OH_Drawing_BrushCreate();
269 OH_Drawing_Pen* pen = OH_Drawing_PenCreate();
270 float widths = 10;
271 OH_Drawing_Array* bounds = nullptr;
272 OH_Drawing_ErrorCode errCode = OH_Drawing_FontGetWidthsBounds(nullptr, &glyphs, count, brush, pen, &widths, bounds);
273 napi_create_int32(env, errCode == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
274 return result;
275 }
276
OH_Drawing_FontGetPosSuccess(napi_env env,napi_callback_info info)277 napi_value OH_Drawing_FontGetPosSuccess(napi_env env, napi_callback_info info)
278 {
279 napi_value result;
280 OH_Drawing_Font* font = OH_Drawing_FontCreate();
281
282 uint16_t glyphs = 10;
283 int count = 1;
284 int x = 10;
285 int y = 10;
286 OH_Drawing_Point* origin = OH_Drawing_PointCreate(x, y);
287 OH_Drawing_Point2D* points = new OH_Drawing_Point2D;
288 points->x = x;
289 points->y = y;
290 OH_Drawing_ErrorCode errCode = OH_Drawing_FontGetPos(font, &glyphs, count, origin, points);
291 napi_create_int32(env, errCode == OH_DRAWING_SUCCESS, &result);
292 return result;
293 }
294
OH_Drawing_FontGetPosFail(napi_env env,napi_callback_info info)295 napi_value OH_Drawing_FontGetPosFail(napi_env env, napi_callback_info info)
296 {
297 napi_value result;
298 uint16_t glyphs = 10;
299 int count = 1;
300 int x = 10;
301 int y = 10;
302 OH_Drawing_Point* origin = OH_Drawing_PointCreate(x, y);
303 OH_Drawing_Point2D* points = new OH_Drawing_Point2D;
304 points->x = x;
305 points->y = y;
306 OH_Drawing_ErrorCode errCode = OH_Drawing_FontGetPos(nullptr, &glyphs, count, origin, points);
307 napi_create_int32(env, errCode == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
308 return result;
309 }
310
OH_Drawing_FontGetSpacingSuccess(napi_env env,napi_callback_info info)311 napi_value OH_Drawing_FontGetSpacingSuccess(napi_env env, napi_callback_info info)
312 {
313 napi_value result;
314 OH_Drawing_Font* font = OH_Drawing_FontCreate();
315 float spacing = 0;
316 OH_Drawing_ErrorCode errCode = OH_Drawing_FontGetSpacing(font, &spacing);
317 napi_create_int32(env, errCode == OH_DRAWING_SUCCESS, &result);
318 return result;
319 }
320
OH_Drawing_FontGetSpacingFail(napi_env env,napi_callback_info info)321 napi_value OH_Drawing_FontGetSpacingFail(napi_env env, napi_callback_info info)
322 {
323 napi_value result;
324 OH_Drawing_Font* font = nullptr;
325 float spacing = 0;
326 OH_Drawing_ErrorCode errCode = OH_Drawing_FontGetSpacing(font, &spacing);
327 napi_create_int32(env, errCode == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
328 return result;
329 }
330
OH_Drawing_FontGetBoundsFail(napi_env env,napi_callback_info info)331 napi_value OH_Drawing_FontGetBoundsFail(napi_env env, napi_callback_info info)
332 {
333 napi_value result;
334 OH_Drawing_Font* font = nullptr;
335 uint16_t* glyphs = nullptr;
336 uint32_t count = 10;
337 OH_Drawing_Array* bounds = nullptr;
338 OH_Drawing_ErrorCode errCode = OH_Drawing_FontGetBounds(font, glyphs, count, bounds);
339 napi_create_int32(env, errCode == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
340 return result;
341 }
OH_Drawing_FontGetPathForGlyphSuccess(napi_env env,napi_callback_info info)342 napi_value OH_Drawing_FontGetPathForGlyphSuccess(napi_env env, napi_callback_info info)
343 {
344 napi_value result;
345 OH_Drawing_Font* font = OH_Drawing_FontCreate();
346 uint16_t glyph = 10;
347 OH_Drawing_Path* path = OH_Drawing_PathCreate();
348 OH_Drawing_ErrorCode errCode = OH_Drawing_FontGetPathForGlyph(font, glyph, path);
349 napi_create_int32(env, errCode == OH_DRAWING_SUCCESS, &result);
350 return result;
351 }
OH_Drawing_FontGetPathForGlyphFail(napi_env env,napi_callback_info info)352 napi_value OH_Drawing_FontGetPathForGlyphFail(napi_env env, napi_callback_info info)
353 {
354 napi_value result;
355 OH_Drawing_Font* font = nullptr;
356 uint16_t glyph = 10;
357 OH_Drawing_Path* path = OH_Drawing_PathCreate();
358 OH_Drawing_ErrorCode errCode = OH_Drawing_FontGetPathForGlyph(font, glyph, path);
359 napi_create_int32(env, errCode == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
360 return result;
361 }
OH_Drawing_FontGetTextPathSuccess(napi_env env,napi_callback_info info)362 napi_value OH_Drawing_FontGetTextPathSuccess(napi_env env, napi_callback_info info)
363 {
364 napi_value result;
365 OH_Drawing_Font* font = OH_Drawing_FontCreate();
366 const char* text = "HelloWorld";
367 size_t byteLength = strlen(text);
368 float x = 10;
369 float y = 10;
370 OH_Drawing_Path* path = OH_Drawing_PathCreate();
371 OH_Drawing_ErrorCode errCode = OH_Drawing_FontGetTextPath(font, text, byteLength, TEXT_ENCODING_UTF8, x, y, path);
372 napi_create_int32(env, errCode == OH_DRAWING_SUCCESS, &result);
373 return result;
374 }
OH_Drawing_FontGetTextPathFail(napi_env env,napi_callback_info info)375 napi_value OH_Drawing_FontGetTextPathFail(napi_env env, napi_callback_info info)
376 {
377 napi_value result;
378 OH_Drawing_Font* font = nullptr;
379 const char* text = "HelloWorld";
380 size_t byteLength = strlen(text);
381 float x = 10;
382 float y = 10;
383 OH_Drawing_Path* path = OH_Drawing_PathCreate();
384 OH_Drawing_ErrorCode errCode = OH_Drawing_FontGetTextPath(font, text, byteLength, TEXT_ENCODING_UTF8, x, y, path);
385 napi_create_int32(env, errCode == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
386 return result;
387 }
388
OH_Drawing_FontFeaturesCreateSuccess(napi_env env,napi_callback_info info)389 napi_value OH_Drawing_FontFeaturesCreateSuccess(napi_env env, napi_callback_info info)
390 {
391 napi_value result;
392
393 OH_Drawing_FontFeatures* fontFeature = OH_Drawing_FontFeaturesCreate();
394 napi_create_int32(env, fontFeature != nullptr, &result);
395 return result;
396 }
397
OH_Drawing_FontFeaturesAddFeatureSuccess(napi_env env,napi_callback_info info)398 napi_value OH_Drawing_FontFeaturesAddFeatureSuccess(napi_env env, napi_callback_info info)
399 {
400 napi_value result;
401 OH_Drawing_FontFeatures* fontFeature = OH_Drawing_FontFeaturesCreate();
402 const char* name = "feature";
403 float value = 10;
404 OH_Drawing_ErrorCode errCode = OH_Drawing_FontFeaturesAddFeature(fontFeature, name, value);
405 napi_create_int32(env, errCode == OH_DRAWING_SUCCESS, &result);
406 return result;
407 }
408
OH_Drawing_FontFeaturesAddFeatureFail(napi_env env,napi_callback_info info)409 napi_value OH_Drawing_FontFeaturesAddFeatureFail(napi_env env, napi_callback_info info)
410 {
411 napi_value result;
412 const char* name = "feature";
413 float value = 10;
414 OH_Drawing_ErrorCode errCode = OH_Drawing_FontFeaturesAddFeature(nullptr, name, value);
415 napi_create_int32(env, errCode == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
416 return result;
417 }
418
OH_Drawing_FontFeaturesDestroySuccess(napi_env env,napi_callback_info info)419 napi_value OH_Drawing_FontFeaturesDestroySuccess(napi_env env, napi_callback_info info)
420 {
421 napi_value result;
422 OH_Drawing_FontFeatures* fontFeature = OH_Drawing_FontFeaturesCreate();
423 OH_Drawing_ErrorCode errCode = OH_Drawing_FontFeaturesDestroy(fontFeature);
424 napi_create_int32(env, errCode == OH_DRAWING_SUCCESS, &result);
425 return result;
426 }
427
OH_Drawing_FontFeaturesDestroyFail(napi_env env,napi_callback_info info)428 napi_value OH_Drawing_FontFeaturesDestroyFail(napi_env env, napi_callback_info info)
429 {
430 napi_value result;
431 OH_Drawing_ErrorCode errCode = OH_Drawing_FontFeaturesDestroy(nullptr);
432 napi_create_int32(env, errCode == OH_DRAWING_ERROR_INVALID_PARAMETER, &result);
433 return result;
434 }
435