1f6603c60Sopenharmony_ci/*
2f6603c60Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd.
3f6603c60Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4f6603c60Sopenharmony_ci * you may not use this file except in compliance with the License.
5f6603c60Sopenharmony_ci * You may obtain a copy of the License at
6f6603c60Sopenharmony_ci *
7f6603c60Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8f6603c60Sopenharmony_ci *
9f6603c60Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10f6603c60Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11f6603c60Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12f6603c60Sopenharmony_ci * See the License for the specific language governing permissions and
13f6603c60Sopenharmony_ci * limitations under the License.
14f6603c60Sopenharmony_ci */
15f6603c60Sopenharmony_ci#include "napi/native_api.h"
16f6603c60Sopenharmony_ci#include <js_native_api.h>
17f6603c60Sopenharmony_ci#include <native_drawing/drawing_bitmap.h>
18f6603c60Sopenharmony_ci#include <native_drawing/drawing_brush.h>
19f6603c60Sopenharmony_ci#include <native_drawing/drawing_canvas.h>
20f6603c60Sopenharmony_ci#include <native_drawing/drawing_color.h>
21f6603c60Sopenharmony_ci#include <native_drawing/drawing_font_collection.h>
22f6603c60Sopenharmony_ci#include <native_drawing/drawing_path.h>
23f6603c60Sopenharmony_ci#include <native_drawing/drawing_pen.h>
24f6603c60Sopenharmony_ci#include <native_drawing/drawing_text_typography.h>
25f6603c60Sopenharmony_ci#include <cstring>
26f6603c60Sopenharmony_ci
27f6603c60Sopenharmony_ci#define SUCCESS 0
28f6603c60Sopenharmony_ci#define FAIL (-1)
29f6603c60Sopenharmony_ci#define ONEVAL 1
30f6603c60Sopenharmony_ci#define ZEROOVAL 0.0
31f6603c60Sopenharmony_ci#define FIVTENVAL 50
32f6603c60Sopenharmony_ci#define THRTENVAL 30
33f6603c60Sopenharmony_ci#define WIDTH 500
34f6603c60Sopenharmony_ci#define HEIGHT 500
35f6603c60Sopenharmony_ci#define ZEROVAL 0
36f6603c60Sopenharmony_ci#define TENVAL 10.0
37f6603c60Sopenharmony_ci#define MINUSTENVAL (-10.5)
38f6603c60Sopenharmony_ci#define MINUSFIVEVAL (-5.5)
39f6603c60Sopenharmony_ci#define FIVEVAL 5.0
40f6603c60Sopenharmony_ci#define EIGHUNVAL 800.0
41f6603c60Sopenharmony_ci#define MINUSEIGHUNVAL (-800.0)
42f6603c60Sopenharmony_ci#define SENHUNVAL 700.0
43f6603c60Sopenharmony_ci#define SENFIVEVAL 750.0
44f6603c60Sopenharmony_ci#define MINUSSENFIVEVAL (-750.0)
45f6603c60Sopenharmony_ci#define SIXFIVEVAL 650.0
46f6603c60Sopenharmony_ci#define POSX_1 1.0f
47f6603c60Sopenharmony_ci#define POSY_1 1.0f
48f6603c60Sopenharmony_ci#define POSX_2 10.0f
49f6603c60Sopenharmony_ci#define POSY_2 10.0f
50f6603c60Sopenharmony_ci#define POSX_3 20.0f
51f6603c60Sopenharmony_ci#define POSY_3 20.0f
52f6603c60Sopenharmony_ci
53f6603c60Sopenharmony_ci#define ONEHUNVAL 100
54f6603c60Sopenharmony_ci#define EIGTENVAL 80
55f6603c60Sopenharmony_ci#define MINIMUMVALUE (-340282346638528859811704183484516925440.000000)
56f6603c60Sopenharmony_ci
57f6603c60Sopenharmony_cistatic napi_value OHDrawingBitmapCreate(napi_env env, napi_callback_info info)
58f6603c60Sopenharmony_ci{
59f6603c60Sopenharmony_ci    napi_value result = nullptr;
60f6603c60Sopenharmony_ci    OH_Drawing_Bitmap *bitmap = OH_Drawing_BitmapCreate();
61f6603c60Sopenharmony_ci    if (bitmap == nullptr) {
62f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
63f6603c60Sopenharmony_ci    } else {
64f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
65f6603c60Sopenharmony_ci    }
66f6603c60Sopenharmony_ci    OH_Drawing_BitmapDestroy(bitmap);
67f6603c60Sopenharmony_ci    return result;
68f6603c60Sopenharmony_ci}
69f6603c60Sopenharmony_ci
70f6603c60Sopenharmony_cistatic napi_value OHDrawingBitmapBuild(napi_env env, napi_callback_info info)
71f6603c60Sopenharmony_ci{
72f6603c60Sopenharmony_ci    napi_value result = nullptr;
73f6603c60Sopenharmony_ci    OH_Drawing_Bitmap *bitmap = OH_Drawing_BitmapCreate();
74f6603c60Sopenharmony_ci    const unsigned int width = WIDTH;
75f6603c60Sopenharmony_ci    const unsigned int height = HEIGHT;
76f6603c60Sopenharmony_ci    OH_Drawing_BitmapFormat bitmapFormat{COLOR_FORMAT_ARGB_4444, ALPHA_FORMAT_UNPREMUL};
77f6603c60Sopenharmony_ci    OH_Drawing_BitmapBuild(bitmap, width, height, &bitmapFormat);
78f6603c60Sopenharmony_ci    if (width == OH_Drawing_BitmapGetWidth(bitmap)) {
79f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
80f6603c60Sopenharmony_ci    } else {
81f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
82f6603c60Sopenharmony_ci    }
83f6603c60Sopenharmony_ci    OH_Drawing_BitmapDestroy(bitmap);
84f6603c60Sopenharmony_ci    return result;
85f6603c60Sopenharmony_ci}
86f6603c60Sopenharmony_ci
87f6603c60Sopenharmony_cistatic napi_value OHDrawingBitmapGetWidth(napi_env env, napi_callback_info info)
88f6603c60Sopenharmony_ci{
89f6603c60Sopenharmony_ci    napi_value result = nullptr;
90f6603c60Sopenharmony_ci    OH_Drawing_Bitmap *bitmap = OH_Drawing_BitmapCreate();
91f6603c60Sopenharmony_ci    const unsigned int width = WIDTH;
92f6603c60Sopenharmony_ci    const unsigned int height = HEIGHT;
93f6603c60Sopenharmony_ci    OH_Drawing_BitmapFormat bitmapFormat{COLOR_FORMAT_ARGB_4444, ALPHA_FORMAT_UNPREMUL};
94f6603c60Sopenharmony_ci    OH_Drawing_BitmapBuild(bitmap, width, height, &bitmapFormat);
95f6603c60Sopenharmony_ci    if (OH_Drawing_BitmapGetWidth(bitmap) == width) {
96f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
97f6603c60Sopenharmony_ci    } else {
98f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
99f6603c60Sopenharmony_ci    }
100f6603c60Sopenharmony_ci    OH_Drawing_BitmapDestroy(bitmap);
101f6603c60Sopenharmony_ci    return result;
102f6603c60Sopenharmony_ci}
103f6603c60Sopenharmony_ci
104f6603c60Sopenharmony_cistatic napi_value OHDrawingBitmapGetHeight(napi_env env, napi_callback_info info)
105f6603c60Sopenharmony_ci{
106f6603c60Sopenharmony_ci    napi_value result = nullptr;
107f6603c60Sopenharmony_ci    OH_Drawing_Bitmap *bitmap = OH_Drawing_BitmapCreate();
108f6603c60Sopenharmony_ci    const unsigned int width = WIDTH;
109f6603c60Sopenharmony_ci    const unsigned int height = HEIGHT;
110f6603c60Sopenharmony_ci    OH_Drawing_BitmapFormat bitmapFormat{COLOR_FORMAT_ARGB_4444, ALPHA_FORMAT_UNPREMUL};
111f6603c60Sopenharmony_ci    OH_Drawing_BitmapBuild(bitmap, width, height, &bitmapFormat);
112f6603c60Sopenharmony_ci    if (OH_Drawing_BitmapGetHeight(bitmap) == height) {
113f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
114f6603c60Sopenharmony_ci    } else {
115f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
116f6603c60Sopenharmony_ci    }
117f6603c60Sopenharmony_ci    OH_Drawing_BitmapCreate();
118f6603c60Sopenharmony_ci    return result;
119f6603c60Sopenharmony_ci}
120f6603c60Sopenharmony_ci
121f6603c60Sopenharmony_cistatic napi_value OHDrawingBitmapGetPixels(napi_env env, napi_callback_info info)
122f6603c60Sopenharmony_ci{
123f6603c60Sopenharmony_ci    napi_value result = nullptr;
124f6603c60Sopenharmony_ci    OH_Drawing_Bitmap *bitmap = OH_Drawing_BitmapCreate();
125f6603c60Sopenharmony_ci    const unsigned int width = WIDTH;
126f6603c60Sopenharmony_ci    const unsigned int height = HEIGHT;
127f6603c60Sopenharmony_ci    OH_Drawing_BitmapFormat bitmapFormat{COLOR_FORMAT_ARGB_4444, ALPHA_FORMAT_UNPREMUL};
128f6603c60Sopenharmony_ci    OH_Drawing_BitmapBuild(bitmap, width, height, &bitmapFormat);
129f6603c60Sopenharmony_ci    if (OH_Drawing_BitmapGetPixels(bitmap) == nullptr) {
130f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
131f6603c60Sopenharmony_ci    } else {
132f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
133f6603c60Sopenharmony_ci    }
134f6603c60Sopenharmony_ci    OH_Drawing_BitmapCreate();
135f6603c60Sopenharmony_ci    return result;
136f6603c60Sopenharmony_ci}
137f6603c60Sopenharmony_ci
138f6603c60Sopenharmony_cistatic napi_value OHDrawingBrushCreate(napi_env env, napi_callback_info info)
139f6603c60Sopenharmony_ci{
140f6603c60Sopenharmony_ci    napi_value result = nullptr;
141f6603c60Sopenharmony_ci    OH_Drawing_Brush *brush = OH_Drawing_BrushCreate();
142f6603c60Sopenharmony_ci    if (brush == nullptr) {
143f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
144f6603c60Sopenharmony_ci    } else {
145f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
146f6603c60Sopenharmony_ci    }
147f6603c60Sopenharmony_ci    OH_Drawing_BrushDestroy(brush);
148f6603c60Sopenharmony_ci    return result;
149f6603c60Sopenharmony_ci}
150f6603c60Sopenharmony_ci
151f6603c60Sopenharmony_cistatic napi_value OHDrawingBrushIsAntiAlias(napi_env env, napi_callback_info info)
152f6603c60Sopenharmony_ci{
153f6603c60Sopenharmony_ci    OH_Drawing_Brush *brush = OH_Drawing_BrushCreate();
154f6603c60Sopenharmony_ci    OH_Drawing_BrushSetAntiAlias(brush, false);
155f6603c60Sopenharmony_ci    napi_value result = nullptr;
156f6603c60Sopenharmony_ci    if (OH_Drawing_BrushIsAntiAlias(brush) == false) {
157f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
158f6603c60Sopenharmony_ci    } else {
159f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
160f6603c60Sopenharmony_ci    }
161f6603c60Sopenharmony_ci    OH_Drawing_BrushDestroy(brush);
162f6603c60Sopenharmony_ci    return result;
163f6603c60Sopenharmony_ci}
164f6603c60Sopenharmony_ci
165f6603c60Sopenharmony_cistatic napi_value OHDrawingBrushSetAntiAlias(napi_env env, napi_callback_info info)
166f6603c60Sopenharmony_ci{
167f6603c60Sopenharmony_ci    OH_Drawing_Brush *brush = OH_Drawing_BrushCreate();
168f6603c60Sopenharmony_ci    OH_Drawing_BrushSetAntiAlias(brush, true);
169f6603c60Sopenharmony_ci    napi_value result = nullptr;
170f6603c60Sopenharmony_ci    if (OH_Drawing_BrushIsAntiAlias(brush) == true) {
171f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
172f6603c60Sopenharmony_ci    } else {
173f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
174f6603c60Sopenharmony_ci    }
175f6603c60Sopenharmony_ci    OH_Drawing_BrushDestroy(brush);
176f6603c60Sopenharmony_ci    return result;
177f6603c60Sopenharmony_ci}
178f6603c60Sopenharmony_ci
179f6603c60Sopenharmony_cistatic napi_value OHDrawingBrushGetColor(napi_env env, napi_callback_info info)
180f6603c60Sopenharmony_ci{
181f6603c60Sopenharmony_ci    OH_Drawing_Brush *brush = OH_Drawing_BrushCreate();
182f6603c60Sopenharmony_ci    OH_Drawing_BrushSetColor(brush, OH_Drawing_ColorSetArgb(0xFF, 0xFF, 0x00, 0x00));
183f6603c60Sopenharmony_ci    napi_value result = nullptr;
184f6603c60Sopenharmony_ci    if (OH_Drawing_BrushGetColor(brush) != 0xFFFF0000) {
185f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
186f6603c60Sopenharmony_ci    } else {
187f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
188f6603c60Sopenharmony_ci    }
189f6603c60Sopenharmony_ci    OH_Drawing_BrushDestroy(brush);
190f6603c60Sopenharmony_ci    return result;
191f6603c60Sopenharmony_ci}
192f6603c60Sopenharmony_ci
193f6603c60Sopenharmony_cistatic napi_value OHDrawingBrushSetColor(napi_env env, napi_callback_info info)
194f6603c60Sopenharmony_ci{
195f6603c60Sopenharmony_ci    OH_Drawing_Brush *brush = OH_Drawing_BrushCreate();
196f6603c60Sopenharmony_ci    OH_Drawing_BrushSetColor(brush, OH_Drawing_ColorSetArgb(0xFF, 0xFF, 0x00, 0x00));
197f6603c60Sopenharmony_ci    napi_value result = nullptr;
198f6603c60Sopenharmony_ci    if (OH_Drawing_BrushGetColor(brush) == 0xFFFF0000) {
199f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
200f6603c60Sopenharmony_ci    } else {
201f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
202f6603c60Sopenharmony_ci    }
203f6603c60Sopenharmony_ci    OH_Drawing_BrushDestroy(brush);
204f6603c60Sopenharmony_ci    return result;
205f6603c60Sopenharmony_ci}
206f6603c60Sopenharmony_ci
207f6603c60Sopenharmony_cistatic napi_value OHDrawingCanvasCreate(napi_env env, napi_callback_info info)
208f6603c60Sopenharmony_ci{
209f6603c60Sopenharmony_ci    napi_value result = nullptr;
210f6603c60Sopenharmony_ci    OH_Drawing_Canvas *canvas = OH_Drawing_CanvasCreate();
211f6603c60Sopenharmony_ci    if (canvas == nullptr) {
212f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
213f6603c60Sopenharmony_ci    } else {
214f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
215f6603c60Sopenharmony_ci    }
216f6603c60Sopenharmony_ci    OH_Drawing_CanvasDestroy(canvas);
217f6603c60Sopenharmony_ci    return result;
218f6603c60Sopenharmony_ci}
219f6603c60Sopenharmony_ci
220f6603c60Sopenharmony_cistatic napi_value OHDrawingPathCreate(napi_env env, napi_callback_info info)
221f6603c60Sopenharmony_ci{
222f6603c60Sopenharmony_ci    OH_Drawing_Path *path = OH_Drawing_PathCreate();
223f6603c60Sopenharmony_ci    napi_value result = nullptr;
224f6603c60Sopenharmony_ci    if (path == nullptr) {
225f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
226f6603c60Sopenharmony_ci    } else {
227f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
228f6603c60Sopenharmony_ci    }
229f6603c60Sopenharmony_ci    OH_Drawing_PathDestroy(path);
230f6603c60Sopenharmony_ci    return result;
231f6603c60Sopenharmony_ci}
232f6603c60Sopenharmony_ci
233f6603c60Sopenharmony_cistatic napi_value OHDrawingPenCreate(napi_env env, napi_callback_info info)
234f6603c60Sopenharmony_ci{
235f6603c60Sopenharmony_ci    OH_Drawing_Pen *pen = OH_Drawing_PenCreate();
236f6603c60Sopenharmony_ci    napi_value result = nullptr;
237f6603c60Sopenharmony_ci    if (pen == nullptr) {
238f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
239f6603c60Sopenharmony_ci    } else {
240f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
241f6603c60Sopenharmony_ci    }
242f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(pen);
243f6603c60Sopenharmony_ci    return result;
244f6603c60Sopenharmony_ci}
245f6603c60Sopenharmony_ci
246f6603c60Sopenharmony_cistatic napi_value OHDrawingPenIsAntiAlias(napi_env env, napi_callback_info info)
247f6603c60Sopenharmony_ci{
248f6603c60Sopenharmony_ci    napi_value result = nullptr;
249f6603c60Sopenharmony_ci    OH_Drawing_Pen *pen = OH_Drawing_PenCreate();
250f6603c60Sopenharmony_ci    OH_Drawing_PenSetAntiAlias(pen, false);
251f6603c60Sopenharmony_ci    if (OH_Drawing_PenIsAntiAlias(pen)) {
252f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
253f6603c60Sopenharmony_ci    } else {
254f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
255f6603c60Sopenharmony_ci    }
256f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(pen);
257f6603c60Sopenharmony_ci    return result;
258f6603c60Sopenharmony_ci}
259f6603c60Sopenharmony_ci
260f6603c60Sopenharmony_cistatic napi_value OHDrawingPenSetAntiAlias(napi_env env, napi_callback_info info)
261f6603c60Sopenharmony_ci{
262f6603c60Sopenharmony_ci    napi_value result = nullptr;
263f6603c60Sopenharmony_ci    OH_Drawing_Pen *pen = OH_Drawing_PenCreate();
264f6603c60Sopenharmony_ci    OH_Drawing_PenSetAntiAlias(pen, true);
265f6603c60Sopenharmony_ci    if (OH_Drawing_PenIsAntiAlias(pen)) {
266f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
267f6603c60Sopenharmony_ci    } else {
268f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
269f6603c60Sopenharmony_ci    }
270f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(pen);
271f6603c60Sopenharmony_ci    return result;
272f6603c60Sopenharmony_ci}
273f6603c60Sopenharmony_ci
274f6603c60Sopenharmony_cistatic napi_value OHDrawingPenGetColor(napi_env env, napi_callback_info info)
275f6603c60Sopenharmony_ci{
276f6603c60Sopenharmony_ci    napi_value result = nullptr;
277f6603c60Sopenharmony_ci    OH_Drawing_Pen *penn = OH_Drawing_PenCreate();
278f6603c60Sopenharmony_ci    OH_Drawing_PenSetColor(penn, OH_Drawing_ColorSetArgb(0xFF, 0xFF, 0x00, 0x00));
279f6603c60Sopenharmony_ci    if (OH_Drawing_PenGetColor(penn) == 0xFFFF0000) {
280f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
281f6603c60Sopenharmony_ci    } else {
282f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
283f6603c60Sopenharmony_ci    }
284f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(penn);
285f6603c60Sopenharmony_ci    return result;
286f6603c60Sopenharmony_ci}
287f6603c60Sopenharmony_ci
288f6603c60Sopenharmony_cistatic napi_value OHDrawingPenSetColor(napi_env env, napi_callback_info info)
289f6603c60Sopenharmony_ci{
290f6603c60Sopenharmony_ci    napi_value result = nullptr;
291f6603c60Sopenharmony_ci    OH_Drawing_Pen *pen = OH_Drawing_PenCreate();
292f6603c60Sopenharmony_ci    OH_Drawing_PenSetColor(pen, OH_Drawing_ColorSetArgb(0xFF, 0xFF, 0x00, 0x00));
293f6603c60Sopenharmony_ci    if (OH_Drawing_PenGetColor(pen) == 0xFFFF0000) {
294f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
295f6603c60Sopenharmony_ci    } else {
296f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
297f6603c60Sopenharmony_ci    }
298f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(pen);
299f6603c60Sopenharmony_ci    return result;
300f6603c60Sopenharmony_ci}
301f6603c60Sopenharmony_ci
302f6603c60Sopenharmony_cistatic napi_value OHDrawingPenGetWidth(napi_env env, napi_callback_info info)
303f6603c60Sopenharmony_ci{
304f6603c60Sopenharmony_ci    napi_value result = nullptr;
305f6603c60Sopenharmony_ci    OH_Drawing_Pen *pen = OH_Drawing_PenCreate();
306f6603c60Sopenharmony_ci    OH_Drawing_PenSetWidth(pen, TENVAL);
307f6603c60Sopenharmony_ci    if (OH_Drawing_PenGetWidth(pen) == TENVAL) {
308f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
309f6603c60Sopenharmony_ci    } else {
310f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
311f6603c60Sopenharmony_ci    }
312f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(pen);
313f6603c60Sopenharmony_ci    return result;
314f6603c60Sopenharmony_ci}
315f6603c60Sopenharmony_ci
316f6603c60Sopenharmony_cistatic napi_value OHDrawingPenSetWidth(napi_env env, napi_callback_info info)
317f6603c60Sopenharmony_ci{
318f6603c60Sopenharmony_ci    napi_value result = nullptr;
319f6603c60Sopenharmony_ci    OH_Drawing_Pen *pen = OH_Drawing_PenCreate();
320f6603c60Sopenharmony_ci    OH_Drawing_PenSetWidth(pen, FIVEVAL);
321f6603c60Sopenharmony_ci    if (OH_Drawing_PenGetWidth(pen) == FIVEVAL) {
322f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
323f6603c60Sopenharmony_ci    } else {
324f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
325f6603c60Sopenharmony_ci    }
326f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(pen);
327f6603c60Sopenharmony_ci    return result;
328f6603c60Sopenharmony_ci}
329f6603c60Sopenharmony_ci
330f6603c60Sopenharmony_cistatic napi_value OHDrawingPenGetMiterLimit(napi_env env, napi_callback_info info)
331f6603c60Sopenharmony_ci{
332f6603c60Sopenharmony_ci    napi_value result = nullptr;
333f6603c60Sopenharmony_ci    OH_Drawing_Pen *pen = OH_Drawing_PenCreate();
334f6603c60Sopenharmony_ci    OH_Drawing_PenSetMiterLimit(pen, TENVAL);
335f6603c60Sopenharmony_ci    if (OH_Drawing_PenGetMiterLimit(pen) == TENVAL) {
336f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
337f6603c60Sopenharmony_ci    } else {
338f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
339f6603c60Sopenharmony_ci    }
340f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(pen);
341f6603c60Sopenharmony_ci    return result;
342f6603c60Sopenharmony_ci}
343f6603c60Sopenharmony_ci
344f6603c60Sopenharmony_cistatic napi_value OHDrawingPenSetMiterLimit(napi_env env, napi_callback_info info)
345f6603c60Sopenharmony_ci{
346f6603c60Sopenharmony_ci    napi_value result = nullptr;
347f6603c60Sopenharmony_ci    OH_Drawing_Pen *penn = OH_Drawing_PenCreate();
348f6603c60Sopenharmony_ci    OH_Drawing_PenSetMiterLimit(penn, FIVEVAL);
349f6603c60Sopenharmony_ci    if (OH_Drawing_PenGetMiterLimit(penn) == FIVEVAL) {
350f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
351f6603c60Sopenharmony_ci    } else {
352f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
353f6603c60Sopenharmony_ci    }
354f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(penn);
355f6603c60Sopenharmony_ci    return result;
356f6603c60Sopenharmony_ci}
357f6603c60Sopenharmony_ci
358f6603c60Sopenharmony_cistatic napi_value OHDrawingPenGetCap(napi_env env, napi_callback_info info)
359f6603c60Sopenharmony_ci{
360f6603c60Sopenharmony_ci    OH_Drawing_Pen *penen = OH_Drawing_PenCreate();
361f6603c60Sopenharmony_ci    OH_Drawing_PenSetCap(penen, OH_Drawing_PenLineCapStyle::LINE_SQUARE_CAP);
362f6603c60Sopenharmony_ci    napi_value result = nullptr;
363f6603c60Sopenharmony_ci    if (OH_Drawing_PenGetCap(penen) == OH_Drawing_PenLineCapStyle::LINE_SQUARE_CAP) {
364f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
365f6603c60Sopenharmony_ci    } else {
366f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
367f6603c60Sopenharmony_ci    }
368f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(penen);
369f6603c60Sopenharmony_ci    return result;
370f6603c60Sopenharmony_ci}
371f6603c60Sopenharmony_ci
372f6603c60Sopenharmony_cistatic napi_value OHDrawingPenSetCap(napi_env env, napi_callback_info info)
373f6603c60Sopenharmony_ci{
374f6603c60Sopenharmony_ci    OH_Drawing_Pen *penen = OH_Drawing_PenCreate();
375f6603c60Sopenharmony_ci    OH_Drawing_PenSetCap(penen, OH_Drawing_PenLineCapStyle::LINE_SQUARE_CAP);
376f6603c60Sopenharmony_ci    napi_value result = nullptr;
377f6603c60Sopenharmony_ci    if (OH_Drawing_PenGetCap(penen) == OH_Drawing_PenLineCapStyle::LINE_SQUARE_CAP) {
378f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
379f6603c60Sopenharmony_ci    } else {
380f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
381f6603c60Sopenharmony_ci    }
382f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(penen);
383f6603c60Sopenharmony_ci    return result;
384f6603c60Sopenharmony_ci}
385f6603c60Sopenharmony_ci
386f6603c60Sopenharmony_cistatic napi_value OHDrawingPenGetJoin(napi_env env, napi_callback_info info)
387f6603c60Sopenharmony_ci{
388f6603c60Sopenharmony_ci    OH_Drawing_Pen *penval = OH_Drawing_PenCreate();
389f6603c60Sopenharmony_ci    OH_Drawing_PenSetJoin(penval, OH_Drawing_PenLineJoinStyle::LINE_ROUND_JOIN);
390f6603c60Sopenharmony_ci    napi_value result = nullptr;
391f6603c60Sopenharmony_ci    if (OH_Drawing_PenGetJoin(penval) == OH_Drawing_PenLineJoinStyle::LINE_ROUND_JOIN) {
392f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
393f6603c60Sopenharmony_ci    } else {
394f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
395f6603c60Sopenharmony_ci    }
396f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(penval);
397f6603c60Sopenharmony_ci    return result;
398f6603c60Sopenharmony_ci}
399f6603c60Sopenharmony_ci
400f6603c60Sopenharmony_cistatic napi_value OHDrawingPenSetJoin(napi_env env, napi_callback_info info)
401f6603c60Sopenharmony_ci{
402f6603c60Sopenharmony_ci    OH_Drawing_Pen *penval = OH_Drawing_PenCreate();
403f6603c60Sopenharmony_ci    OH_Drawing_PenSetJoin(penval, OH_Drawing_PenLineJoinStyle::LINE_MITER_JOIN);
404f6603c60Sopenharmony_ci    napi_value result = nullptr;
405f6603c60Sopenharmony_ci    if (OH_Drawing_PenGetJoin(penval) == OH_Drawing_PenLineJoinStyle::LINE_MITER_JOIN) {
406f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
407f6603c60Sopenharmony_ci    } else {
408f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
409f6603c60Sopenharmony_ci    }
410f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(penval);
411f6603c60Sopenharmony_ci    return result;
412f6603c60Sopenharmony_ci}
413f6603c60Sopenharmony_ci
414f6603c60Sopenharmony_cistatic napi_value OHDrawingColorSetArgb(napi_env env, napi_callback_info info)
415f6603c60Sopenharmony_ci{
416f6603c60Sopenharmony_ci    OH_Drawing_Brush *brushsh = OH_Drawing_BrushCreate();
417f6603c60Sopenharmony_ci    napi_value result = nullptr;
418f6603c60Sopenharmony_ci    OH_Drawing_BrushSetColor(brushsh, OH_Drawing_ColorSetArgb(0xFF, 0xFF, 0x00, 0x00));
419f6603c60Sopenharmony_ci    if (OH_Drawing_BrushGetColor(brushsh) == 0xFFFF0000) {
420f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
421f6603c60Sopenharmony_ci    } else {
422f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
423f6603c60Sopenharmony_ci    }
424f6603c60Sopenharmony_ci    OH_Drawing_BrushDestroy(brushsh);
425f6603c60Sopenharmony_ci    return result;
426f6603c60Sopenharmony_ci}
427f6603c60Sopenharmony_ci
428f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateFontCollection(napi_env env, napi_callback_info info)
429f6603c60Sopenharmony_ci{
430f6603c60Sopenharmony_ci    napi_value result = nullptr;
431f6603c60Sopenharmony_ci    OH_Drawing_FontCollection *fontCollection = OH_Drawing_CreateFontCollection();
432f6603c60Sopenharmony_ci    if (fontCollection == nullptr) {
433f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
434f6603c60Sopenharmony_ci    } else {
435f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
436f6603c60Sopenharmony_ci    }
437f6603c60Sopenharmony_ci    OH_Drawing_DestroyFontCollection(fontCollection);
438f6603c60Sopenharmony_ci    return result;
439f6603c60Sopenharmony_ci}
440f6603c60Sopenharmony_ci
441f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTypographyStyle(napi_env env, napi_callback_info info)
442f6603c60Sopenharmony_ci{
443f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *TypographyStyle = OH_Drawing_CreateTypographyStyle();
444f6603c60Sopenharmony_ci    napi_value result = nullptr;
445f6603c60Sopenharmony_ci    if (TypographyStyle == nullptr) {
446f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
447f6603c60Sopenharmony_ci    } else {
448f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
449f6603c60Sopenharmony_ci    }
450f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyStyle(TypographyStyle);
451f6603c60Sopenharmony_ci    return result;
452f6603c60Sopenharmony_ci}
453f6603c60Sopenharmony_ci
454f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTextStyle(napi_env env, napi_callback_info info)
455f6603c60Sopenharmony_ci{
456f6603c60Sopenharmony_ci    napi_value result = nullptr;
457f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
458f6603c60Sopenharmony_ci    if (txtStyle == nullptr) {
459f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
460f6603c60Sopenharmony_ci    } else {
461f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
462f6603c60Sopenharmony_ci    }
463f6603c60Sopenharmony_ci    OH_Drawing_DestroyTextStyle(txtStyle);
464f6603c60Sopenharmony_ci    return result;
465f6603c60Sopenharmony_ci}
466f6603c60Sopenharmony_ci
467f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTypographyHandler(napi_env env, napi_callback_info info)
468f6603c60Sopenharmony_ci{
469f6603c60Sopenharmony_ci    napi_value result = nullptr;
470f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
471f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handler =
472f6603c60Sopenharmony_ci        OH_Drawing_CreateTypographyHandler(typoStyle, OH_Drawing_CreateFontCollection());
473f6603c60Sopenharmony_ci    if (handler != nullptr) {
474f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
475f6603c60Sopenharmony_ci    } else {
476f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
477f6603c60Sopenharmony_ci    }
478f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handler);
479f6603c60Sopenharmony_ci    return result;
480f6603c60Sopenharmony_ci}
481f6603c60Sopenharmony_ci
482f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTypography(napi_env env, napi_callback_info info)
483f6603c60Sopenharmony_ci{
484f6603c60Sopenharmony_ci    napi_value result = nullptr;
485f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
486f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handler =
487f6603c60Sopenharmony_ci        OH_Drawing_CreateTypographyHandler(typoStyle, OH_Drawing_CreateFontCollection());
488f6603c60Sopenharmony_ci    OH_Drawing_Typography *typography = OH_Drawing_CreateTypography(handler);
489f6603c60Sopenharmony_ci    if (typography != nullptr) {
490f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
491f6603c60Sopenharmony_ci    } else {
492f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
493f6603c60Sopenharmony_ci    }
494f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypography(typography);
495f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handler);
496f6603c60Sopenharmony_ci    return result;
497f6603c60Sopenharmony_ci}
498f6603c60Sopenharmony_ci
499f6603c60Sopenharmony_cistatic napi_value OHDrawingTypographyLayout(napi_env env, napi_callback_info info)
500f6603c60Sopenharmony_ci{
501f6603c60Sopenharmony_ci    napi_value result = nullptr;
502f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
503f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handler =
504f6603c60Sopenharmony_ci        OH_Drawing_CreateTypographyHandler(typoStyle, OH_Drawing_CreateFontCollection());
505f6603c60Sopenharmony_ci    OH_Drawing_Typography *typography = OH_Drawing_CreateTypography(handler);
506f6603c60Sopenharmony_ci    double maxWidth = EIGHUNVAL;
507f6603c60Sopenharmony_ci    OH_Drawing_TypographyLayout(typography, maxWidth);
508f6603c60Sopenharmony_ci    if (maxWidth == OH_Drawing_TypographyGetMaxWidth(typography)) {
509f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
510f6603c60Sopenharmony_ci    } else {
511f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
512f6603c60Sopenharmony_ci    }
513f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypography(typography);
514f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handler);
515f6603c60Sopenharmony_ci    return result;
516f6603c60Sopenharmony_ci}
517f6603c60Sopenharmony_ci
518f6603c60Sopenharmony_cistatic napi_value OHDrawingTypographyGetMaxWidth(napi_env env, napi_callback_info info)
519f6603c60Sopenharmony_ci{
520f6603c60Sopenharmony_ci    napi_value result = nullptr;
521f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStylee = OH_Drawing_CreateTypographyStyle();
522f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handlerr =
523f6603c60Sopenharmony_ci        OH_Drawing_CreateTypographyHandler(typoStylee, OH_Drawing_CreateFontCollection());
524f6603c60Sopenharmony_ci    OH_Drawing_Typography *typographyy = OH_Drawing_CreateTypography(handlerr);
525f6603c60Sopenharmony_ci    double maxWidth = SENHUNVAL;
526f6603c60Sopenharmony_ci    OH_Drawing_TypographyLayout(typographyy, maxWidth);
527f6603c60Sopenharmony_ci    if (maxWidth == OH_Drawing_TypographyGetMaxWidth(typographyy)) {
528f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
529f6603c60Sopenharmony_ci    } else {
530f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
531f6603c60Sopenharmony_ci    }
532f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypography(typographyy);
533f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handlerr);
534f6603c60Sopenharmony_ci    return result;
535f6603c60Sopenharmony_ci}
536f6603c60Sopenharmony_ci
537f6603c60Sopenharmony_cistatic napi_value OHDrawingTypographyGetMinIntrinsicWidth(napi_env env, napi_callback_info info)
538f6603c60Sopenharmony_ci{
539f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
540f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
541f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handler =
542f6603c60Sopenharmony_ci        OH_Drawing_CreateTypographyHandler(typoStyle, OH_Drawing_CreateFontCollection());
543f6603c60Sopenharmony_ci
544f6603c60Sopenharmony_ci    double fontSize = THRTENVAL;
545f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontSize(txtStyle, fontSize);
546f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontWeight(txtStyle, FONT_WEIGHT_400);
547f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleBaseLine(txtStyle, TEXT_BASELINE_ALPHABETIC);
548f6603c60Sopenharmony_ci
549f6603c60Sopenharmony_ci    const char *fontFamilies[] = {"Roboooto"};
550f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontFamilies(txtStyle, ONEVAL, fontFamilies);
551f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerPushTextStyle(handler, txtStyle);
552f6603c60Sopenharmony_ci
553f6603c60Sopenharmony_ci    const char *text = "OpennnnHarmony\n";
554f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerAddText(handler, text);
555f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerPopTextStyle(handler);
556f6603c60Sopenharmony_ci
557f6603c60Sopenharmony_ci    OH_Drawing_Typography *typography = OH_Drawing_CreateTypography(handler);
558f6603c60Sopenharmony_ci    double maxWidth = EIGHUNVAL;
559f6603c60Sopenharmony_ci    OH_Drawing_TypographyLayout(typography, maxWidth);
560f6603c60Sopenharmony_ci
561f6603c60Sopenharmony_ci    napi_value result = nullptr;
562f6603c60Sopenharmony_ci    double minIntrinsicWidth = OH_Drawing_TypographyGetMinIntrinsicWidth(typography);
563f6603c60Sopenharmony_ci    double maxIntrinsicWidth = OH_Drawing_TypographyGetMaxIntrinsicWidth(typography);
564f6603c60Sopenharmony_ci    if (minIntrinsicWidth <= maxIntrinsicWidth) {
565f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
566f6603c60Sopenharmony_ci    } else {
567f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
568f6603c60Sopenharmony_ci    }
569f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypography(typography);
570f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handler);
571f6603c60Sopenharmony_ci    return result;
572f6603c60Sopenharmony_ci}
573f6603c60Sopenharmony_ci
574f6603c60Sopenharmony_cistatic napi_value OHDrawingTypographyGetMaxIntrinsicWidth(napi_env env, napi_callback_info info)
575f6603c60Sopenharmony_ci{
576f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
577f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
578f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handler =
579f6603c60Sopenharmony_ci        OH_Drawing_CreateTypographyHandler(typoStyle, OH_Drawing_CreateFontCollection());
580f6603c60Sopenharmony_ci
581f6603c60Sopenharmony_ci    double fontSize = THRTENVAL;
582f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontSize(txtStyle, fontSize);
583f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontWeight(txtStyle, FONT_WEIGHT_400);
584f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleBaseLine(txtStyle, TEXT_BASELINE_ALPHABETIC);
585f6603c60Sopenharmony_ci
586f6603c60Sopenharmony_ci    const char *fontFamilies[] = {"Roboooto"};
587f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontFamilies(txtStyle, ONEVAL, fontFamilies);
588f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerPushTextStyle(handler, txtStyle);
589f6603c60Sopenharmony_ci
590f6603c60Sopenharmony_ci    const char *text = "OpennnnHarmony\n";
591f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerAddText(handler, text);
592f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerPopTextStyle(handler);
593f6603c60Sopenharmony_ci
594f6603c60Sopenharmony_ci    OH_Drawing_Typography *typography = OH_Drawing_CreateTypography(handler);
595f6603c60Sopenharmony_ci    double maxWidth = SENFIVEVAL;
596f6603c60Sopenharmony_ci    OH_Drawing_TypographyLayout(typography, maxWidth);
597f6603c60Sopenharmony_ci
598f6603c60Sopenharmony_ci    napi_value result = nullptr;
599f6603c60Sopenharmony_ci    double minIntrinsicWidth = OH_Drawing_TypographyGetMinIntrinsicWidth(typography);
600f6603c60Sopenharmony_ci    double maxIntrinsicWidth = OH_Drawing_TypographyGetMaxIntrinsicWidth(typography);
601f6603c60Sopenharmony_ci    if (minIntrinsicWidth <= maxIntrinsicWidth) {
602f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
603f6603c60Sopenharmony_ci    } else {
604f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
605f6603c60Sopenharmony_ci    }
606f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypography(typography);
607f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handler);
608f6603c60Sopenharmony_ci    return result;
609f6603c60Sopenharmony_ci}
610f6603c60Sopenharmony_ci
611f6603c60Sopenharmony_cistatic napi_value OHDrawingTypographyGetLongestLine(napi_env env, napi_callback_info info)
612f6603c60Sopenharmony_ci{
613f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStylee = OH_Drawing_CreateTypographyStyle();
614f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
615f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handlerr =
616f6603c60Sopenharmony_ci        OH_Drawing_CreateTypographyHandler(typoStylee, OH_Drawing_CreateFontCollection());
617f6603c60Sopenharmony_ci
618f6603c60Sopenharmony_ci    const char *fontFamilies[] = {"Robotoo"};
619f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontFamilies(txtStyle, ONEVAL, fontFamilies);
620f6603c60Sopenharmony_ci    const char *text = "OpenHarmonyy\n";
621f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerAddText(handlerr, text);
622f6603c60Sopenharmony_ci
623f6603c60Sopenharmony_ci    OH_Drawing_Typography *typography = OH_Drawing_CreateTypography(handlerr);
624f6603c60Sopenharmony_ci    double maxWidth = EIGHUNVAL;
625f6603c60Sopenharmony_ci    OH_Drawing_TypographyLayout(typography, maxWidth);
626f6603c60Sopenharmony_ci    napi_value result = nullptr;
627f6603c60Sopenharmony_ci
628f6603c60Sopenharmony_ci    if (OH_Drawing_TypographyGetLongestLine(typography) != ZEROOVAL) {
629f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
630f6603c60Sopenharmony_ci    } else {
631f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
632f6603c60Sopenharmony_ci    }
633f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypography(typography);
634f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handlerr);
635f6603c60Sopenharmony_ci    return result;
636f6603c60Sopenharmony_ci}
637f6603c60Sopenharmony_ci
638f6603c60Sopenharmony_cistatic napi_value OHDrawingTypographyGetLongestLineAbnormal(napi_env env, napi_callback_info info)
639f6603c60Sopenharmony_ci{
640f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStylee = OH_Drawing_CreateTypographyStyle();
641f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
642f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handlerr =
643f6603c60Sopenharmony_ci        OH_Drawing_CreateTypographyHandler(typoStylee, OH_Drawing_CreateFontCollection());
644f6603c60Sopenharmony_ci
645f6603c60Sopenharmony_ci    const char *fontFamilies[] = {"Robotoo"};
646f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontFamilies(txtStyle, ONEVAL, fontFamilies);
647f6603c60Sopenharmony_ci    const char *text = "OpenHarmonnnyy\n";
648f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerAddText(handlerr, text);
649f6603c60Sopenharmony_ci
650f6603c60Sopenharmony_ci    OH_Drawing_Typography *typography = OH_Drawing_CreateTypography(handlerr);
651f6603c60Sopenharmony_ci
652f6603c60Sopenharmony_ci    napi_value result = nullptr;
653f6603c60Sopenharmony_ci    if (OH_Drawing_TypographyGetLongestLine(typography) != ZEROOVAL) {
654f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
655f6603c60Sopenharmony_ci    } else {
656f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
657f6603c60Sopenharmony_ci    }
658f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypography(typography);
659f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handlerr);
660f6603c60Sopenharmony_ci    return result;
661f6603c60Sopenharmony_ci}
662f6603c60Sopenharmony_ci
663f6603c60Sopenharmony_cistatic napi_value OHDrawingTypographyGetLongestLineWithIndent(napi_env env, napi_callback_info info)
664f6603c60Sopenharmony_ci{
665f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStylee = OH_Drawing_CreateTypographyStyle();
666f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
667f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handlerr =
668f6603c60Sopenharmony_ci        OH_Drawing_CreateTypographyHandler(typoStylee, OH_Drawing_CreateFontCollection());
669f6603c60Sopenharmony_ci
670f6603c60Sopenharmony_ci    const char *fontFamilies[] = {"Robotoo"};
671f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontFamilies(txtStyle, ONEVAL, fontFamilies);
672f6603c60Sopenharmony_ci    const char *text = "OpenHarmonyy\n";
673f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerAddText(handlerr, text);
674f6603c60Sopenharmony_ci
675f6603c60Sopenharmony_ci    OH_Drawing_Typography *typography = OH_Drawing_CreateTypography(handlerr);
676f6603c60Sopenharmony_ci    double maxWidth = EIGHUNVAL;
677f6603c60Sopenharmony_ci    OH_Drawing_TypographyLayout(typography, maxWidth);
678f6603c60Sopenharmony_ci    napi_value result = nullptr;
679f6603c60Sopenharmony_ci
680f6603c60Sopenharmony_ci    if (OH_Drawing_TypographyGetLongestLineWithIndent(typography) != ZEROOVAL) {
681f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
682f6603c60Sopenharmony_ci    } else {
683f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
684f6603c60Sopenharmony_ci    }
685f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypography(typography);
686f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handlerr);
687f6603c60Sopenharmony_ci    return result;
688f6603c60Sopenharmony_ci}
689f6603c60Sopenharmony_ci
690f6603c60Sopenharmony_cistatic napi_value OHDrawingTypographyGetAlphabeticBaseline(napi_env env, napi_callback_info info)
691f6603c60Sopenharmony_ci{
692f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
693f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
694f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handler =
695f6603c60Sopenharmony_ci        OH_Drawing_CreateTypographyHandler(typoStyle, OH_Drawing_CreateFontCollection());
696f6603c60Sopenharmony_ci
697f6603c60Sopenharmony_ci    double fontSize = THRTENVAL;
698f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontSize(txtStyle, fontSize);
699f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontWeight(txtStyle, FONT_WEIGHT_400);
700f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleBaseLine(txtStyle, TEXT_BASELINE_ALPHABETIC);
701f6603c60Sopenharmony_ci
702f6603c60Sopenharmony_ci    const char *fontFamilies[] = {"Roboto"};
703f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontFamilies(txtStyle, ONEVAL, fontFamilies);
704f6603c60Sopenharmony_ci    const char *text = "OpenHarmony\n";
705f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerAddText(handler, text);
706f6603c60Sopenharmony_ci
707f6603c60Sopenharmony_ci    OH_Drawing_Typography *typography = OH_Drawing_CreateTypography(handler);
708f6603c60Sopenharmony_ci    double maxWidth = EIGHUNVAL;
709f6603c60Sopenharmony_ci    OH_Drawing_TypographyLayout(typography, maxWidth);
710f6603c60Sopenharmony_ci
711f6603c60Sopenharmony_ci    napi_value result = nullptr;
712f6603c60Sopenharmony_ci    if (OH_Drawing_TypographyGetAlphabeticBaseline(typography) != ZEROOVAL) {
713f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
714f6603c60Sopenharmony_ci    } else {
715f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
716f6603c60Sopenharmony_ci    }
717f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypography(typography);
718f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handler);
719f6603c60Sopenharmony_ci    return result;
720f6603c60Sopenharmony_ci}
721f6603c60Sopenharmony_ci
722f6603c60Sopenharmony_cistatic napi_value OHDrawingTypographyGetAlphabeticBaselineNormal(napi_env env, napi_callback_info info)
723f6603c60Sopenharmony_ci{
724f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
725f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
726f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handler =
727f6603c60Sopenharmony_ci        OH_Drawing_CreateTypographyHandler(typoStyle, OH_Drawing_CreateFontCollection());
728f6603c60Sopenharmony_ci
729f6603c60Sopenharmony_ci    double fontSize = THRTENVAL;
730f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontSize(txtStyle, fontSize);
731f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontWeight(txtStyle, FONT_WEIGHT_500);
732f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleBaseLine(txtStyle, TEXT_BASELINE_ALPHABETIC);
733f6603c60Sopenharmony_ci
734f6603c60Sopenharmony_ci    const char *fontFamilies[] = {"Roobooto"};
735f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontFamilies(txtStyle, ONEVAL, fontFamilies);
736f6603c60Sopenharmony_ci    const char *text = "OopenHarmoony\n";
737f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerAddText(handler, text);
738f6603c60Sopenharmony_ci
739f6603c60Sopenharmony_ci    OH_Drawing_Typography *typography = OH_Drawing_CreateTypography(handler);
740f6603c60Sopenharmony_ci    double maxWidth = EIGHUNVAL;
741f6603c60Sopenharmony_ci    OH_Drawing_TypographyLayout(typography, maxWidth);
742f6603c60Sopenharmony_ci
743f6603c60Sopenharmony_ci    napi_value result = nullptr;
744f6603c60Sopenharmony_ci    if (OH_Drawing_TypographyGetAlphabeticBaseline(typography) != ZEROOVAL) {
745f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
746f6603c60Sopenharmony_ci    } else {
747f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
748f6603c60Sopenharmony_ci    }
749f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypography(typography);
750f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handler);
751f6603c60Sopenharmony_ci    return result;
752f6603c60Sopenharmony_ci}
753f6603c60Sopenharmony_ci
754f6603c60Sopenharmony_cistatic napi_value OHDrawingTypographyGetIdeographicBaseline(napi_env env, napi_callback_info info)
755f6603c60Sopenharmony_ci{
756f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
757f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
758f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handler =
759f6603c60Sopenharmony_ci        OH_Drawing_CreateTypographyHandler(typoStyle, OH_Drawing_CreateFontCollection());
760f6603c60Sopenharmony_ci
761f6603c60Sopenharmony_ci    double fontSize = FIVTENVAL;
762f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontSize(txtStyle, fontSize);
763f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontWeight(txtStyle, FONT_WEIGHT_500);
764f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleBaseLine(txtStyle, TEXT_BASELINE_IDEOGRAPHIC);
765f6603c60Sopenharmony_ci
766f6603c60Sopenharmony_ci    const char *fontFamilies[] = {"Rooboto"};
767f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontFamilies(txtStyle, ONEVAL, fontFamilies);
768f6603c60Sopenharmony_ci    const char *text = "OopenHarmony";
769f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerAddText(handler, text);
770f6603c60Sopenharmony_ci
771f6603c60Sopenharmony_ci    OH_Drawing_Typography *typographyy = OH_Drawing_CreateTypography(handler);
772f6603c60Sopenharmony_ci    double maxWidth = EIGHUNVAL;
773f6603c60Sopenharmony_ci    OH_Drawing_TypographyLayout(typographyy, maxWidth);
774f6603c60Sopenharmony_ci
775f6603c60Sopenharmony_ci    napi_value result = nullptr;
776f6603c60Sopenharmony_ci    if (OH_Drawing_TypographyGetIdeographicBaseline(typographyy) != ZEROOVAL) {
777f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
778f6603c60Sopenharmony_ci    } else {
779f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
780f6603c60Sopenharmony_ci    }
781f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypography(typographyy);
782f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handler);
783f6603c60Sopenharmony_ci    return result;
784f6603c60Sopenharmony_ci}
785f6603c60Sopenharmony_ci
786f6603c60Sopenharmony_cistatic napi_value OHDrawingTypographyGetIdeographicBaselineNormal(napi_env env, napi_callback_info info)
787f6603c60Sopenharmony_ci{
788f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
789f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
790f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handler =
791f6603c60Sopenharmony_ci        OH_Drawing_CreateTypographyHandler(typoStyle, OH_Drawing_CreateFontCollection());
792f6603c60Sopenharmony_ci
793f6603c60Sopenharmony_ci    double fontSize = FIVTENVAL;
794f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontSize(txtStyle, fontSize);
795f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontWeight(txtStyle, FONT_WEIGHT_400);
796f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleBaseLine(txtStyle, TEXT_BASELINE_IDEOGRAPHIC);
797f6603c60Sopenharmony_ci
798f6603c60Sopenharmony_ci    const char *fontFamilies[] = {"Rooooboto"};
799f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontFamilies(txtStyle, ONEVAL, fontFamilies);
800f6603c60Sopenharmony_ci    const char *text = "OooopenHarmony";
801f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerAddText(handler, text);
802f6603c60Sopenharmony_ci
803f6603c60Sopenharmony_ci    OH_Drawing_Typography *typographyy = OH_Drawing_CreateTypography(handler);
804f6603c60Sopenharmony_ci    double maxWidth = EIGHUNVAL;
805f6603c60Sopenharmony_ci    OH_Drawing_TypographyLayout(typographyy, maxWidth);
806f6603c60Sopenharmony_ci
807f6603c60Sopenharmony_ci    napi_value result = nullptr;
808f6603c60Sopenharmony_ci    if (OH_Drawing_TypographyGetIdeographicBaseline(typographyy) != ZEROOVAL) {
809f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
810f6603c60Sopenharmony_ci    } else {
811f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
812f6603c60Sopenharmony_ci    }
813f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypography(typographyy);
814f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handler);
815f6603c60Sopenharmony_ci    return result;
816f6603c60Sopenharmony_ci}
817f6603c60Sopenharmony_ci
818f6603c60Sopenharmony_cistatic napi_value OHDrawingTypographyGetHeight(napi_env env, napi_callback_info info)
819f6603c60Sopenharmony_ci{
820f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
821f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
822f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handler =
823f6603c60Sopenharmony_ci        OH_Drawing_CreateTypographyHandler(typoStyle, OH_Drawing_CreateFontCollection());
824f6603c60Sopenharmony_ci
825f6603c60Sopenharmony_ci    const char *fontFamilies[] = {"Robooto"};
826f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontFamilies(txtStyle, ONEVAL, fontFamilies);
827f6603c60Sopenharmony_ci    const char *text = "OpenHarmoony";
828f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerAddText(handler, text);
829f6603c60Sopenharmony_ci
830f6603c60Sopenharmony_ci    OH_Drawing_Typography *ttypography = OH_Drawing_CreateTypography(handler);
831f6603c60Sopenharmony_ci    double maxWidth = SIXFIVEVAL;
832f6603c60Sopenharmony_ci    OH_Drawing_TypographyLayout(ttypography, maxWidth);
833f6603c60Sopenharmony_ci
834f6603c60Sopenharmony_ci    napi_value result = nullptr;
835f6603c60Sopenharmony_ci    if (OH_Drawing_TypographyGetHeight(ttypography) != ZEROOVAL) {
836f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
837f6603c60Sopenharmony_ci    } else {
838f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
839f6603c60Sopenharmony_ci    }
840f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypography(ttypography);
841f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handler);
842f6603c60Sopenharmony_ci    return result;
843f6603c60Sopenharmony_ci}
844f6603c60Sopenharmony_ci
845f6603c60Sopenharmony_cistatic napi_value OHDrawingTypographyGetHeightAbnormal(napi_env env, napi_callback_info info)
846f6603c60Sopenharmony_ci{
847f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
848f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
849f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handler =
850f6603c60Sopenharmony_ci        OH_Drawing_CreateTypographyHandler(typoStyle, OH_Drawing_CreateFontCollection());
851f6603c60Sopenharmony_ci
852f6603c60Sopenharmony_ci    const char *fontFamilies[] = {"Robootooo"};
853f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontFamilies(txtStyle, ONEVAL, fontFamilies);
854f6603c60Sopenharmony_ci    const char *text = "OpenHarmoooony";
855f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerAddText(handler, text);
856f6603c60Sopenharmony_ci
857f6603c60Sopenharmony_ci    OH_Drawing_Typography *ttypography = OH_Drawing_CreateTypography(handler);
858f6603c60Sopenharmony_ci
859f6603c60Sopenharmony_ci    napi_value result = nullptr;
860f6603c60Sopenharmony_ci    if (OH_Drawing_TypographyGetHeight(ttypography) != ZEROOVAL) {
861f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
862f6603c60Sopenharmony_ci    } else {
863f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
864f6603c60Sopenharmony_ci    }
865f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypography(ttypography);
866f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handler);
867f6603c60Sopenharmony_ci    return result;
868f6603c60Sopenharmony_ci}
869f6603c60Sopenharmony_ci
870f6603c60Sopenharmony_cistatic napi_value OHDrawingPenGetCapNormal(napi_env env, napi_callback_info info)
871f6603c60Sopenharmony_ci{
872f6603c60Sopenharmony_ci    OH_Drawing_Pen *penval = OH_Drawing_PenCreate();
873f6603c60Sopenharmony_ci    OH_Drawing_PenSetCap(penval, OH_Drawing_PenLineCapStyle::LINE_FLAT_CAP);
874f6603c60Sopenharmony_ci    napi_value result = nullptr;
875f6603c60Sopenharmony_ci    if (OH_Drawing_PenGetCap(penval) == OH_Drawing_PenLineCapStyle::LINE_FLAT_CAP) {
876f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
877f6603c60Sopenharmony_ci    } else {
878f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
879f6603c60Sopenharmony_ci    }
880f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(penval);
881f6603c60Sopenharmony_ci    return result;
882f6603c60Sopenharmony_ci}
883f6603c60Sopenharmony_ci
884f6603c60Sopenharmony_cistatic napi_value OHDrawingPenSetCapNormal(napi_env env, napi_callback_info info)
885f6603c60Sopenharmony_ci{
886f6603c60Sopenharmony_ci    OH_Drawing_Pen *penen = OH_Drawing_PenCreate();
887f6603c60Sopenharmony_ci    OH_Drawing_PenSetCap(penen, OH_Drawing_PenLineCapStyle::LINE_FLAT_CAP);
888f6603c60Sopenharmony_ci    napi_value result = nullptr;
889f6603c60Sopenharmony_ci    if (OH_Drawing_PenGetCap(penen) == OH_Drawing_PenLineCapStyle::LINE_FLAT_CAP) {
890f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
891f6603c60Sopenharmony_ci    } else {
892f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
893f6603c60Sopenharmony_ci    }
894f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(penen);
895f6603c60Sopenharmony_ci    return result;
896f6603c60Sopenharmony_ci}
897f6603c60Sopenharmony_ci
898f6603c60Sopenharmony_cistatic napi_value OHDrawingPenSetJoinNormal(napi_env env, napi_callback_info info)
899f6603c60Sopenharmony_ci{
900f6603c60Sopenharmony_ci    OH_Drawing_Pen *penval = OH_Drawing_PenCreate();
901f6603c60Sopenharmony_ci    OH_Drawing_PenSetJoin(penval, OH_Drawing_PenLineJoinStyle::LINE_ROUND_JOIN);
902f6603c60Sopenharmony_ci    napi_value result = nullptr;
903f6603c60Sopenharmony_ci    if (OH_Drawing_PenGetJoin(penval) == OH_Drawing_PenLineJoinStyle::LINE_ROUND_JOIN) {
904f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
905f6603c60Sopenharmony_ci    } else {
906f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
907f6603c60Sopenharmony_ci    }
908f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(penval);
909f6603c60Sopenharmony_ci    return result;
910f6603c60Sopenharmony_ci}
911f6603c60Sopenharmony_ci
912f6603c60Sopenharmony_cistatic napi_value OHDrawingPenGetJoinNormal(napi_env env, napi_callback_info info)
913f6603c60Sopenharmony_ci{
914f6603c60Sopenharmony_ci    OH_Drawing_Pen *penval = OH_Drawing_PenCreate();
915f6603c60Sopenharmony_ci    OH_Drawing_PenSetJoin(penval, OH_Drawing_PenLineJoinStyle::LINE_MITER_JOIN);
916f6603c60Sopenharmony_ci    napi_value result = nullptr;
917f6603c60Sopenharmony_ci    if (OH_Drawing_PenGetJoin(penval) == OH_Drawing_PenLineJoinStyle::LINE_MITER_JOIN) {
918f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
919f6603c60Sopenharmony_ci    } else {
920f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
921f6603c60Sopenharmony_ci    }
922f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(penval);
923f6603c60Sopenharmony_ci    return result;
924f6603c60Sopenharmony_ci}
925f6603c60Sopenharmony_ci
926f6603c60Sopenharmony_cistatic napi_value OHDrawingPenIsAntiAliasNormal(napi_env env, napi_callback_info info)
927f6603c60Sopenharmony_ci{
928f6603c60Sopenharmony_ci    napi_value result = nullptr;
929f6603c60Sopenharmony_ci    OH_Drawing_Pen *pen = OH_Drawing_PenCreate();
930f6603c60Sopenharmony_ci    OH_Drawing_PenSetAntiAlias(pen, true);
931f6603c60Sopenharmony_ci    if (OH_Drawing_PenIsAntiAlias(pen)) {
932f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
933f6603c60Sopenharmony_ci    } else {
934f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
935f6603c60Sopenharmony_ci    }
936f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(pen);
937f6603c60Sopenharmony_ci    return result;
938f6603c60Sopenharmony_ci}
939f6603c60Sopenharmony_ci
940f6603c60Sopenharmony_cistatic napi_value OHDrawingPenSetAntiAliasNormal(napi_env env, napi_callback_info info)
941f6603c60Sopenharmony_ci{
942f6603c60Sopenharmony_ci    napi_value result = nullptr;
943f6603c60Sopenharmony_ci    OH_Drawing_Pen *pen = OH_Drawing_PenCreate();
944f6603c60Sopenharmony_ci    OH_Drawing_PenSetAntiAlias(pen, false);
945f6603c60Sopenharmony_ci    if (OH_Drawing_PenIsAntiAlias(pen)) {
946f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
947f6603c60Sopenharmony_ci    } else {
948f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
949f6603c60Sopenharmony_ci    }
950f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(pen);
951f6603c60Sopenharmony_ci    return result;
952f6603c60Sopenharmony_ci}
953f6603c60Sopenharmony_ci
954f6603c60Sopenharmony_cistatic napi_value OHDrawingBitmapBuildNormal(napi_env env, napi_callback_info info)
955f6603c60Sopenharmony_ci{
956f6603c60Sopenharmony_ci    napi_value result = nullptr;
957f6603c60Sopenharmony_ci    OH_Drawing_Bitmap *bitmap = OH_Drawing_BitmapCreate();
958f6603c60Sopenharmony_ci    const unsigned int width = WIDTH;
959f6603c60Sopenharmony_ci    const unsigned int height = HEIGHT;
960f6603c60Sopenharmony_ci    OH_Drawing_BitmapFormat bitmapFormat{COLOR_FORMAT_RGBA_8888, ALPHA_FORMAT_UNPREMUL};
961f6603c60Sopenharmony_ci    OH_Drawing_BitmapBuild(bitmap, width, height, &bitmapFormat);
962f6603c60Sopenharmony_ci    if (width == OH_Drawing_BitmapGetWidth(bitmap)) {
963f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
964f6603c60Sopenharmony_ci    } else {
965f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
966f6603c60Sopenharmony_ci    }
967f6603c60Sopenharmony_ci    OH_Drawing_BitmapDestroy(bitmap);
968f6603c60Sopenharmony_ci    return result;
969f6603c60Sopenharmony_ci}
970f6603c60Sopenharmony_ci
971f6603c60Sopenharmony_cistatic napi_value OHDrawingBitmapGetWidthNormal(napi_env env, napi_callback_info info)
972f6603c60Sopenharmony_ci{
973f6603c60Sopenharmony_ci    napi_value result = nullptr;
974f6603c60Sopenharmony_ci    OH_Drawing_Bitmap *bitmap = OH_Drawing_BitmapCreate();
975f6603c60Sopenharmony_ci    const unsigned int width = WIDTH;
976f6603c60Sopenharmony_ci    const unsigned int height = HEIGHT;
977f6603c60Sopenharmony_ci    OH_Drawing_BitmapFormat bitmapFormat{COLOR_FORMAT_BGRA_8888, ALPHA_FORMAT_UNPREMUL};
978f6603c60Sopenharmony_ci    OH_Drawing_BitmapBuild(bitmap, width, height, &bitmapFormat);
979f6603c60Sopenharmony_ci    if (OH_Drawing_BitmapGetWidth(bitmap) == width) {
980f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
981f6603c60Sopenharmony_ci    } else {
982f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
983f6603c60Sopenharmony_ci    }
984f6603c60Sopenharmony_ci    OH_Drawing_BitmapDestroy(bitmap);
985f6603c60Sopenharmony_ci    return result;
986f6603c60Sopenharmony_ci}
987f6603c60Sopenharmony_ci
988f6603c60Sopenharmony_cistatic napi_value OHDrawingBitmapGetHeightNormal(napi_env env, napi_callback_info info)
989f6603c60Sopenharmony_ci{
990f6603c60Sopenharmony_ci    napi_value result = nullptr;
991f6603c60Sopenharmony_ci    OH_Drawing_Bitmap *bitmap = OH_Drawing_BitmapCreate();
992f6603c60Sopenharmony_ci    const unsigned int width = WIDTH;
993f6603c60Sopenharmony_ci    const unsigned int height = HEIGHT;
994f6603c60Sopenharmony_ci    OH_Drawing_BitmapFormat bitmapFormat{COLOR_FORMAT_BGRA_8888, ALPHA_FORMAT_UNPREMUL};
995f6603c60Sopenharmony_ci    OH_Drawing_BitmapBuild(bitmap, width, height, &bitmapFormat);
996f6603c60Sopenharmony_ci    if (OH_Drawing_BitmapGetHeight(bitmap) == height) {
997f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
998f6603c60Sopenharmony_ci    } else {
999f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1000f6603c60Sopenharmony_ci    }
1001f6603c60Sopenharmony_ci    OH_Drawing_BitmapDestroy(bitmap);
1002f6603c60Sopenharmony_ci    return result;
1003f6603c60Sopenharmony_ci}
1004f6603c60Sopenharmony_ci
1005f6603c60Sopenharmony_cistatic napi_value OHDrawingBitmapGetPixelsNormal(napi_env env, napi_callback_info info)
1006f6603c60Sopenharmony_ci{
1007f6603c60Sopenharmony_ci    napi_value result = nullptr;
1008f6603c60Sopenharmony_ci    OH_Drawing_Bitmap *bitmapp = OH_Drawing_BitmapCreate();
1009f6603c60Sopenharmony_ci    const unsigned int width = WIDTH;
1010f6603c60Sopenharmony_ci    const unsigned int height = HEIGHT;
1011f6603c60Sopenharmony_ci    OH_Drawing_BitmapFormat bitmapFormat{COLOR_FORMAT_BGRA_8888, ALPHA_FORMAT_UNPREMUL};
1012f6603c60Sopenharmony_ci    OH_Drawing_BitmapBuild(bitmapp, width, height, &bitmapFormat);
1013f6603c60Sopenharmony_ci    if (OH_Drawing_BitmapGetPixels(bitmapp) == nullptr) {
1014f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1015f6603c60Sopenharmony_ci    } else {
1016f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1017f6603c60Sopenharmony_ci    }
1018f6603c60Sopenharmony_ci    OH_Drawing_BitmapDestroy(bitmapp);
1019f6603c60Sopenharmony_ci    return result;
1020f6603c60Sopenharmony_ci}
1021f6603c60Sopenharmony_ci
1022f6603c60Sopenharmony_cistatic napi_value OHDrawingBrushIsAntiAliasNormal(napi_env env, napi_callback_info info)
1023f6603c60Sopenharmony_ci{
1024f6603c60Sopenharmony_ci    OH_Drawing_Brush *brush = OH_Drawing_BrushCreate();
1025f6603c60Sopenharmony_ci    OH_Drawing_BrushSetAntiAlias(brush, true);
1026f6603c60Sopenharmony_ci    napi_value result = nullptr;
1027f6603c60Sopenharmony_ci    if (OH_Drawing_BrushIsAntiAlias(brush) == true) {
1028f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1029f6603c60Sopenharmony_ci    } else {
1030f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1031f6603c60Sopenharmony_ci    }
1032f6603c60Sopenharmony_ci    OH_Drawing_BrushDestroy(brush);
1033f6603c60Sopenharmony_ci    return result;
1034f6603c60Sopenharmony_ci}
1035f6603c60Sopenharmony_ci
1036f6603c60Sopenharmony_cistatic napi_value OHDrawingBrushSetAntiAliasNormal(napi_env env, napi_callback_info info)
1037f6603c60Sopenharmony_ci{
1038f6603c60Sopenharmony_ci    OH_Drawing_Brush *brush = OH_Drawing_BrushCreate();
1039f6603c60Sopenharmony_ci    OH_Drawing_BrushSetAntiAlias(brush, false);
1040f6603c60Sopenharmony_ci    napi_value result = nullptr;
1041f6603c60Sopenharmony_ci    if (OH_Drawing_BrushIsAntiAlias(brush) == false) {
1042f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1043f6603c60Sopenharmony_ci    } else {
1044f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1045f6603c60Sopenharmony_ci    }
1046f6603c60Sopenharmony_ci    OH_Drawing_BrushDestroy(brush);
1047f6603c60Sopenharmony_ci    return result;
1048f6603c60Sopenharmony_ci}
1049f6603c60Sopenharmony_ci
1050f6603c60Sopenharmony_cistatic napi_value OHDrawingBrushGetColorNormal(napi_env env, napi_callback_info info)
1051f6603c60Sopenharmony_ci{
1052f6603c60Sopenharmony_ci    OH_Drawing_Brush *brush = OH_Drawing_BrushCreate();
1053f6603c60Sopenharmony_ci    OH_Drawing_BrushSetColor(brush, OH_Drawing_ColorSetArgb(0xFF, 0xFF, 0xFF, 0xFF));
1054f6603c60Sopenharmony_ci    napi_value result = nullptr;
1055f6603c60Sopenharmony_ci    if (OH_Drawing_BrushGetColor(brush) != 0xFFFFFFFF) {
1056f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1057f6603c60Sopenharmony_ci    } else {
1058f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1059f6603c60Sopenharmony_ci    }
1060f6603c60Sopenharmony_ci    OH_Drawing_BrushDestroy(brush);
1061f6603c60Sopenharmony_ci    return result;
1062f6603c60Sopenharmony_ci}
1063f6603c60Sopenharmony_ci
1064f6603c60Sopenharmony_cistatic napi_value OHDrawingBrushSetColorNormal(napi_env env, napi_callback_info info)
1065f6603c60Sopenharmony_ci{
1066f6603c60Sopenharmony_ci    OH_Drawing_Brush *brushh = OH_Drawing_BrushCreate();
1067f6603c60Sopenharmony_ci    OH_Drawing_BrushSetColor(brushh, OH_Drawing_ColorSetArgb(0xFF, 0xFF, 0xFF, 0xFF));
1068f6603c60Sopenharmony_ci    napi_value result = nullptr;
1069f6603c60Sopenharmony_ci    if (OH_Drawing_BrushGetColor(brushh) != 0xFFFFFFFF) {
1070f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1071f6603c60Sopenharmony_ci    } else {
1072f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1073f6603c60Sopenharmony_ci    }
1074f6603c60Sopenharmony_ci    OH_Drawing_BrushDestroy(brushh);
1075f6603c60Sopenharmony_ci    return result;
1076f6603c60Sopenharmony_ci}
1077f6603c60Sopenharmony_ci
1078f6603c60Sopenharmony_cistatic napi_value OHDrawingPenGetColorNormal(napi_env env, napi_callback_info info)
1079f6603c60Sopenharmony_ci{
1080f6603c60Sopenharmony_ci    napi_value result = nullptr;
1081f6603c60Sopenharmony_ci    OH_Drawing_Pen *peen = OH_Drawing_PenCreate();
1082f6603c60Sopenharmony_ci    OH_Drawing_PenSetColor(peen, OH_Drawing_ColorSetArgb(0xFF, 0xFF, 0xFF, 0xFF));
1083f6603c60Sopenharmony_ci    if (OH_Drawing_PenGetColor(peen) == 0xFFFFFFFF) {
1084f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1085f6603c60Sopenharmony_ci    } else {
1086f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1087f6603c60Sopenharmony_ci    }
1088f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(peen);
1089f6603c60Sopenharmony_ci    return result;
1090f6603c60Sopenharmony_ci}
1091f6603c60Sopenharmony_ci
1092f6603c60Sopenharmony_cistatic napi_value OHDrawingPenSetColorNormal(napi_env env, napi_callback_info info)
1093f6603c60Sopenharmony_ci{
1094f6603c60Sopenharmony_ci    napi_value result = nullptr;
1095f6603c60Sopenharmony_ci    OH_Drawing_Pen *ppen = OH_Drawing_PenCreate();
1096f6603c60Sopenharmony_ci    OH_Drawing_PenSetColor(ppen, OH_Drawing_ColorSetArgb(0xFF, 0xFF, 0xFF, 0xFF));
1097f6603c60Sopenharmony_ci    if (OH_Drawing_PenGetColor(ppen) == 0xFFFFFFFF) {
1098f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1099f6603c60Sopenharmony_ci    } else {
1100f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1101f6603c60Sopenharmony_ci    }
1102f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(ppen);
1103f6603c60Sopenharmony_ci    return result;
1104f6603c60Sopenharmony_ci}
1105f6603c60Sopenharmony_ci
1106f6603c60Sopenharmony_cistatic napi_value OHDrawingPenGetWidthNormal(napi_env env, napi_callback_info info)
1107f6603c60Sopenharmony_ci{
1108f6603c60Sopenharmony_ci    napi_value result = nullptr;
1109f6603c60Sopenharmony_ci    OH_Drawing_Pen *pen = OH_Drawing_PenCreate();
1110f6603c60Sopenharmony_ci    OH_Drawing_PenSetWidth(pen, MINUSTENVAL);
1111f6603c60Sopenharmony_ci    if (OH_Drawing_PenGetWidth(pen) == MINUSTENVAL) {
1112f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1113f6603c60Sopenharmony_ci    } else {
1114f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1115f6603c60Sopenharmony_ci    }
1116f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(pen);
1117f6603c60Sopenharmony_ci    return result;
1118f6603c60Sopenharmony_ci}
1119f6603c60Sopenharmony_ci
1120f6603c60Sopenharmony_cistatic napi_value OHDrawingPenSetWidthNormal(napi_env env, napi_callback_info info)
1121f6603c60Sopenharmony_ci{
1122f6603c60Sopenharmony_ci    napi_value result = nullptr;
1123f6603c60Sopenharmony_ci    OH_Drawing_Pen *pen = OH_Drawing_PenCreate();
1124f6603c60Sopenharmony_ci    OH_Drawing_PenSetWidth(pen, MINUSFIVEVAL);
1125f6603c60Sopenharmony_ci    if (OH_Drawing_PenGetWidth(pen) == MINUSFIVEVAL) {
1126f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1127f6603c60Sopenharmony_ci    } else {
1128f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1129f6603c60Sopenharmony_ci    }
1130f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(pen);
1131f6603c60Sopenharmony_ci    return result;
1132f6603c60Sopenharmony_ci}
1133f6603c60Sopenharmony_ci
1134f6603c60Sopenharmony_cistatic napi_value OHDrawingPenGetMiterLimitNormal(napi_env env, napi_callback_info info)
1135f6603c60Sopenharmony_ci{
1136f6603c60Sopenharmony_ci    napi_value result = nullptr;
1137f6603c60Sopenharmony_ci    OH_Drawing_Pen *pen = OH_Drawing_PenCreate();
1138f6603c60Sopenharmony_ci    OH_Drawing_PenSetMiterLimit(pen, MINUSTENVAL);
1139f6603c60Sopenharmony_ci    if (OH_Drawing_PenGetMiterLimit(pen) == MINUSTENVAL) {
1140f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1141f6603c60Sopenharmony_ci    } else {
1142f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1143f6603c60Sopenharmony_ci    }
1144f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(pen);
1145f6603c60Sopenharmony_ci    return result;
1146f6603c60Sopenharmony_ci}
1147f6603c60Sopenharmony_ci
1148f6603c60Sopenharmony_cistatic napi_value OHDrawingPenSetMiterLimitNormal(napi_env env, napi_callback_info info)
1149f6603c60Sopenharmony_ci{
1150f6603c60Sopenharmony_ci    napi_value result = nullptr;
1151f6603c60Sopenharmony_ci    OH_Drawing_Pen *penn = OH_Drawing_PenCreate();
1152f6603c60Sopenharmony_ci    OH_Drawing_PenSetMiterLimit(penn, MINUSFIVEVAL);
1153f6603c60Sopenharmony_ci    if (OH_Drawing_PenGetMiterLimit(penn) == MINUSFIVEVAL) {
1154f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1155f6603c60Sopenharmony_ci    } else {
1156f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1157f6603c60Sopenharmony_ci    }
1158f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(penn);
1159f6603c60Sopenharmony_ci    return result;
1160f6603c60Sopenharmony_ci}
1161f6603c60Sopenharmony_ci
1162f6603c60Sopenharmony_cistatic napi_value OHDrawingColorSetArgbNormal(napi_env env, napi_callback_info info)
1163f6603c60Sopenharmony_ci{
1164f6603c60Sopenharmony_ci    OH_Drawing_Brush *brushs = OH_Drawing_BrushCreate();
1165f6603c60Sopenharmony_ci    napi_value result = nullptr;
1166f6603c60Sopenharmony_ci    OH_Drawing_BrushSetColor(brushs, OH_Drawing_ColorSetArgb(0xFF, 0xFF, 0xFF, 0xFF));
1167f6603c60Sopenharmony_ci    if (OH_Drawing_BrushGetColor(brushs) == 0xFFFFFFFF) {
1168f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1169f6603c60Sopenharmony_ci    } else {
1170f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1171f6603c60Sopenharmony_ci    }
1172f6603c60Sopenharmony_ci    OH_Drawing_BrushDestroy(brushs);
1173f6603c60Sopenharmony_ci    return result;
1174f6603c60Sopenharmony_ci}
1175f6603c60Sopenharmony_ci
1176f6603c60Sopenharmony_cistatic napi_value OHDrawingTypographyLayoutNormal(napi_env env, napi_callback_info info)
1177f6603c60Sopenharmony_ci{
1178f6603c60Sopenharmony_ci    napi_value result = nullptr;
1179f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStylee = OH_Drawing_CreateTypographyStyle();
1180f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handler =
1181f6603c60Sopenharmony_ci        OH_Drawing_CreateTypographyHandler(typoStylee, OH_Drawing_CreateFontCollection());
1182f6603c60Sopenharmony_ci    OH_Drawing_Typography *typographyy = OH_Drawing_CreateTypography(handler);
1183f6603c60Sopenharmony_ci    double maxWidth = MINUSEIGHUNVAL;
1184f6603c60Sopenharmony_ci    OH_Drawing_TypographyLayout(typographyy, maxWidth);
1185f6603c60Sopenharmony_ci    if (maxWidth == OH_Drawing_TypographyGetMaxWidth(typographyy)) {
1186f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1187f6603c60Sopenharmony_ci    } else {
1188f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1189f6603c60Sopenharmony_ci    }
1190f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypography(typographyy);
1191f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handler);
1192f6603c60Sopenharmony_ci    return result;
1193f6603c60Sopenharmony_ci}
1194f6603c60Sopenharmony_ci
1195f6603c60Sopenharmony_cistatic napi_value OHDrawingTypographyGetMaxWidthNormal(napi_env env, napi_callback_info info)
1196f6603c60Sopenharmony_ci{
1197f6603c60Sopenharmony_ci    napi_value result = nullptr;
1198f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStylee = OH_Drawing_CreateTypographyStyle();
1199f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handler =
1200f6603c60Sopenharmony_ci        OH_Drawing_CreateTypographyHandler(typoStylee, OH_Drawing_CreateFontCollection());
1201f6603c60Sopenharmony_ci    OH_Drawing_Typography *typographyy = OH_Drawing_CreateTypography(handler);
1202f6603c60Sopenharmony_ci    double maxWidth = -700.0;
1203f6603c60Sopenharmony_ci    OH_Drawing_TypographyLayout(typographyy, maxWidth);
1204f6603c60Sopenharmony_ci    if (maxWidth == OH_Drawing_TypographyGetMaxWidth(typographyy)) {
1205f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1206f6603c60Sopenharmony_ci    } else {
1207f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1208f6603c60Sopenharmony_ci    }
1209f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypography(typographyy);
1210f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handler);
1211f6603c60Sopenharmony_ci    return result;
1212f6603c60Sopenharmony_ci}
1213f6603c60Sopenharmony_ci
1214f6603c60Sopenharmony_cistatic napi_value OHDrawingTypographyGetMinIntrinsicWidthNormal(napi_env env, napi_callback_info info)
1215f6603c60Sopenharmony_ci{
1216f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
1217f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1218f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handler =
1219f6603c60Sopenharmony_ci        OH_Drawing_CreateTypographyHandler(typoStyle, OH_Drawing_CreateFontCollection());
1220f6603c60Sopenharmony_ci
1221f6603c60Sopenharmony_ci    double fontSize = THRTENVAL;
1222f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontSize(txtStyle, fontSize);
1223f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontWeight(txtStyle, FONT_WEIGHT_400);
1224f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleBaseLine(txtStyle, TEXT_BASELINE_ALPHABETIC);
1225f6603c60Sopenharmony_ci
1226f6603c60Sopenharmony_ci    const char *fontFamilies[] = {"Roboooto"};
1227f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontFamilies(txtStyle, ONEVAL, fontFamilies);
1228f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerPushTextStyle(handler, txtStyle);
1229f6603c60Sopenharmony_ci
1230f6603c60Sopenharmony_ci    const char *text = "OpennnnHarmony\n";
1231f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerAddText(handler, text);
1232f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerPopTextStyle(handler);
1233f6603c60Sopenharmony_ci
1234f6603c60Sopenharmony_ci    OH_Drawing_Typography *typographyyy = OH_Drawing_CreateTypography(handler);
1235f6603c60Sopenharmony_ci    double maxWidth = MINUSEIGHUNVAL;
1236f6603c60Sopenharmony_ci    OH_Drawing_TypographyLayout(typographyyy, maxWidth);
1237f6603c60Sopenharmony_ci
1238f6603c60Sopenharmony_ci    napi_value result = nullptr;
1239f6603c60Sopenharmony_ci    double minIntrinsicWidth = OH_Drawing_TypographyGetMinIntrinsicWidth(typographyyy);
1240f6603c60Sopenharmony_ci    double maxIntrinsicWidth = OH_Drawing_TypographyGetMaxIntrinsicWidth(typographyyy);
1241f6603c60Sopenharmony_ci    if (minIntrinsicWidth <= maxIntrinsicWidth) {
1242f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1243f6603c60Sopenharmony_ci    } else {
1244f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1245f6603c60Sopenharmony_ci    }
1246f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypography(typographyyy);
1247f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handler);
1248f6603c60Sopenharmony_ci    return result;
1249f6603c60Sopenharmony_ci}
1250f6603c60Sopenharmony_ci
1251f6603c60Sopenharmony_cistatic napi_value OHDrawingTypographyGetMaxIntrinsicWidthNormal(napi_env env, napi_callback_info info)
1252f6603c60Sopenharmony_ci{
1253f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
1254f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1255f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handlerrr =
1256f6603c60Sopenharmony_ci        OH_Drawing_CreateTypographyHandler(typoStyle, OH_Drawing_CreateFontCollection());
1257f6603c60Sopenharmony_ci
1258f6603c60Sopenharmony_ci    double fontSize = THRTENVAL;
1259f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontSize(txtStyle, fontSize);
1260f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontWeight(txtStyle, FONT_WEIGHT_400);
1261f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleBaseLine(txtStyle, TEXT_BASELINE_ALPHABETIC);
1262f6603c60Sopenharmony_ci
1263f6603c60Sopenharmony_ci    const char *fontFamilies[] = {"Roboooooto"};
1264f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontFamilies(txtStyle, ONEVAL, fontFamilies);
1265f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerPushTextStyle(handlerrr, txtStyle);
1266f6603c60Sopenharmony_ci
1267f6603c60Sopenharmony_ci    const char *text = "OpennnnHarmoooony\n";
1268f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerAddText(handlerrr, text);
1269f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerPopTextStyle(handlerrr);
1270f6603c60Sopenharmony_ci
1271f6603c60Sopenharmony_ci    OH_Drawing_Typography *typography = OH_Drawing_CreateTypography(handlerrr);
1272f6603c60Sopenharmony_ci    double maxWidth = MINUSSENFIVEVAL;
1273f6603c60Sopenharmony_ci    OH_Drawing_TypographyLayout(typography, maxWidth);
1274f6603c60Sopenharmony_ci
1275f6603c60Sopenharmony_ci    napi_value result = nullptr;
1276f6603c60Sopenharmony_ci    double minIntrinsicWidth = OH_Drawing_TypographyGetMinIntrinsicWidth(typography);
1277f6603c60Sopenharmony_ci    double maxIntrinsicWidth = OH_Drawing_TypographyGetMaxIntrinsicWidth(typography);
1278f6603c60Sopenharmony_ci    if (minIntrinsicWidth <= maxIntrinsicWidth) {
1279f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1280f6603c60Sopenharmony_ci    } else {
1281f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1282f6603c60Sopenharmony_ci    }
1283f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypography(typography);
1284f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handlerrr);
1285f6603c60Sopenharmony_ci    return result;
1286f6603c60Sopenharmony_ci}
1287f6603c60Sopenharmony_ci
1288f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTypographyStyleAnormal(napi_env env, napi_callback_info info)
1289f6603c60Sopenharmony_ci{
1290f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
1291f6603c60Sopenharmony_ci    OH_Drawing_SetTypographyTextDirection(typoStyle, TEXT_DIRECTION_LTR);
1292f6603c60Sopenharmony_ci    OH_Drawing_SetTypographyTextAlign(typoStyle, TEXT_ALIGN_LEFT);
1293f6603c60Sopenharmony_ci    napi_value result = nullptr;
1294f6603c60Sopenharmony_ci    if (typoStyle != nullptr) {
1295f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1296f6603c60Sopenharmony_ci    } else {
1297f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1298f6603c60Sopenharmony_ci    }
1299f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyStyle(typoStyle);
1300f6603c60Sopenharmony_ci    return result;
1301f6603c60Sopenharmony_ci}
1302f6603c60Sopenharmony_ci
1303f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTypographyStyleBnormal(napi_env env, napi_callback_info info)
1304f6603c60Sopenharmony_ci{
1305f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
1306f6603c60Sopenharmony_ci    OH_Drawing_SetTypographyTextDirection(typoStyle, TEXT_DIRECTION_RTL);
1307f6603c60Sopenharmony_ci    OH_Drawing_SetTypographyTextAlign(typoStyle, TEXT_ALIGN_LEFT);
1308f6603c60Sopenharmony_ci    napi_value result = nullptr;
1309f6603c60Sopenharmony_ci    if (typoStyle != nullptr) {
1310f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1311f6603c60Sopenharmony_ci    } else {
1312f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1313f6603c60Sopenharmony_ci    }
1314f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyStyle(typoStyle);
1315f6603c60Sopenharmony_ci    return result;
1316f6603c60Sopenharmony_ci}
1317f6603c60Sopenharmony_ci
1318f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTypographyStyleCnormal(napi_env env, napi_callback_info info)
1319f6603c60Sopenharmony_ci{
1320f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
1321f6603c60Sopenharmony_ci    OH_Drawing_SetTypographyTextDirection(typoStyle, TEXT_DIRECTION_RTL);
1322f6603c60Sopenharmony_ci    OH_Drawing_SetTypographyTextAlign(typoStyle, TEXT_ALIGN_RIGHT);
1323f6603c60Sopenharmony_ci    napi_value result = nullptr;
1324f6603c60Sopenharmony_ci    if (typoStyle != nullptr) {
1325f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1326f6603c60Sopenharmony_ci    } else {
1327f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1328f6603c60Sopenharmony_ci    }
1329f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyStyle(typoStyle);
1330f6603c60Sopenharmony_ci    return result;
1331f6603c60Sopenharmony_ci}
1332f6603c60Sopenharmony_ci
1333f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTypographyStyleDnormal(napi_env env, napi_callback_info info)
1334f6603c60Sopenharmony_ci{
1335f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
1336f6603c60Sopenharmony_ci    OH_Drawing_SetTypographyTextDirection(typoStyle, TEXT_DIRECTION_RTL);
1337f6603c60Sopenharmony_ci    OH_Drawing_SetTypographyTextAlign(typoStyle, TEXT_ALIGN_CENTER);
1338f6603c60Sopenharmony_ci    napi_value result = nullptr;
1339f6603c60Sopenharmony_ci    if (typoStyle != nullptr) {
1340f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1341f6603c60Sopenharmony_ci    } else {
1342f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1343f6603c60Sopenharmony_ci    }
1344f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyStyle(typoStyle);
1345f6603c60Sopenharmony_ci    return result;
1346f6603c60Sopenharmony_ci}
1347f6603c60Sopenharmony_ci
1348f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTypographyStyleEnormal(napi_env env, napi_callback_info info)
1349f6603c60Sopenharmony_ci{
1350f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
1351f6603c60Sopenharmony_ci    OH_Drawing_SetTypographyTextDirection(typoStyle, TEXT_DIRECTION_LTR);
1352f6603c60Sopenharmony_ci    OH_Drawing_SetTypographyTextAlign(typoStyle, TEXT_ALIGN_CENTER);
1353f6603c60Sopenharmony_ci    napi_value result = nullptr;
1354f6603c60Sopenharmony_ci    if (typoStyle != nullptr) {
1355f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1356f6603c60Sopenharmony_ci    } else {
1357f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1358f6603c60Sopenharmony_ci    }
1359f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyStyle(typoStyle);
1360f6603c60Sopenharmony_ci    return result;
1361f6603c60Sopenharmony_ci}
1362f6603c60Sopenharmony_ci
1363f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTypographyStyleFnormal(napi_env env, napi_callback_info info)
1364f6603c60Sopenharmony_ci{
1365f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
1366f6603c60Sopenharmony_ci    OH_Drawing_SetTypographyTextMaxLines(typoStyle, ONEHUNVAL);
1367f6603c60Sopenharmony_ci    napi_value result = nullptr;
1368f6603c60Sopenharmony_ci    if (typoStyle != nullptr) {
1369f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1370f6603c60Sopenharmony_ci    } else {
1371f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1372f6603c60Sopenharmony_ci    }
1373f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyStyle(typoStyle);
1374f6603c60Sopenharmony_ci    return result;
1375f6603c60Sopenharmony_ci}
1376f6603c60Sopenharmony_ci
1377f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTextStyleAnormal(napi_env env, napi_callback_info info)
1378f6603c60Sopenharmony_ci{
1379f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1380f6603c60Sopenharmony_ci    uint32_t color = OH_Drawing_ColorSetArgb(0xFF, 0xFF, 0xFF, 0xFF);
1381f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleColor(txtStyle, color);
1382f6603c60Sopenharmony_ci    napi_value result = nullptr;
1383f6603c60Sopenharmony_ci    if (txtStyle != nullptr) {
1384f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1385f6603c60Sopenharmony_ci    } else {
1386f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1387f6603c60Sopenharmony_ci    }
1388f6603c60Sopenharmony_ci    OH_Drawing_DestroyTextStyle(txtStyle);
1389f6603c60Sopenharmony_ci    return result;
1390f6603c60Sopenharmony_ci}
1391f6603c60Sopenharmony_ci
1392f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTextStyleBnormal(napi_env env, napi_callback_info info)
1393f6603c60Sopenharmony_ci{
1394f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1395f6603c60Sopenharmony_ci    uint32_t color = OH_Drawing_ColorSetArgb(0xFF, 0x00, 0x00, 0x00);
1396f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleColor(txtStyle, color);
1397f6603c60Sopenharmony_ci    napi_value result = nullptr;
1398f6603c60Sopenharmony_ci    if (txtStyle != nullptr) {
1399f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1400f6603c60Sopenharmony_ci    } else {
1401f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1402f6603c60Sopenharmony_ci    }
1403f6603c60Sopenharmony_ci    OH_Drawing_DestroyTextStyle(txtStyle);
1404f6603c60Sopenharmony_ci    return result;
1405f6603c60Sopenharmony_ci}
1406f6603c60Sopenharmony_ci
1407f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTextStyleCnormal(napi_env env, napi_callback_info info)
1408f6603c60Sopenharmony_ci{
1409f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1410f6603c60Sopenharmony_ci    double fontSize = EIGTENVAL;
1411f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontSize(txtStyle, fontSize);
1412f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontWeight(txtStyle, FONT_WEIGHT_100);
1413f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleBaseLine(txtStyle, TEXT_BASELINE_ALPHABETIC);
1414f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontHeight(txtStyle, ONEVAL);
1415f6603c60Sopenharmony_ci    napi_value result = nullptr;
1416f6603c60Sopenharmony_ci    if (txtStyle != nullptr) {
1417f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1418f6603c60Sopenharmony_ci    } else {
1419f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1420f6603c60Sopenharmony_ci    }
1421f6603c60Sopenharmony_ci    OH_Drawing_DestroyTextStyle(txtStyle);
1422f6603c60Sopenharmony_ci    return result;
1423f6603c60Sopenharmony_ci}
1424f6603c60Sopenharmony_ci
1425f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTextStyleDnormal(napi_env env, napi_callback_info info)
1426f6603c60Sopenharmony_ci{
1427f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1428f6603c60Sopenharmony_ci    double fontSize = EIGTENVAL;
1429f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontSize(txtStyle, fontSize);
1430f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontWeight(txtStyle, FONT_WEIGHT_200);
1431f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleBaseLine(txtStyle, TEXT_BASELINE_ALPHABETIC);
1432f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontHeight(txtStyle, ONEVAL);
1433f6603c60Sopenharmony_ci    napi_value result = nullptr;
1434f6603c60Sopenharmony_ci    if (txtStyle != nullptr) {
1435f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1436f6603c60Sopenharmony_ci    } else {
1437f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1438f6603c60Sopenharmony_ci    }
1439f6603c60Sopenharmony_ci    OH_Drawing_DestroyTextStyle(txtStyle);
1440f6603c60Sopenharmony_ci    return result;
1441f6603c60Sopenharmony_ci}
1442f6603c60Sopenharmony_ci
1443f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTextStyleEnormal(napi_env env, napi_callback_info info)
1444f6603c60Sopenharmony_ci{
1445f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1446f6603c60Sopenharmony_ci    double fontSize = EIGTENVAL;
1447f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontSize(txtStyle, fontSize);
1448f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontWeight(txtStyle, FONT_WEIGHT_300);
1449f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleBaseLine(txtStyle, TEXT_BASELINE_ALPHABETIC);
1450f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontHeight(txtStyle, ONEVAL);
1451f6603c60Sopenharmony_ci    napi_value result = nullptr;
1452f6603c60Sopenharmony_ci    if (txtStyle != nullptr) {
1453f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1454f6603c60Sopenharmony_ci    } else {
1455f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1456f6603c60Sopenharmony_ci    }
1457f6603c60Sopenharmony_ci    OH_Drawing_DestroyTextStyle(txtStyle);
1458f6603c60Sopenharmony_ci    return result;
1459f6603c60Sopenharmony_ci}
1460f6603c60Sopenharmony_ci
1461f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTextStyleFnormal(napi_env env, napi_callback_info info)
1462f6603c60Sopenharmony_ci{
1463f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1464f6603c60Sopenharmony_ci    double fontSize = EIGTENVAL;
1465f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontSize(txtStyle, fontSize);
1466f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontWeight(txtStyle, FONT_WEIGHT_400);
1467f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleBaseLine(txtStyle, TEXT_BASELINE_ALPHABETIC);
1468f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontHeight(txtStyle, ONEVAL);
1469f6603c60Sopenharmony_ci    napi_value result = nullptr;
1470f6603c60Sopenharmony_ci    if (txtStyle != nullptr) {
1471f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1472f6603c60Sopenharmony_ci    } else {
1473f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1474f6603c60Sopenharmony_ci    }
1475f6603c60Sopenharmony_ci    OH_Drawing_DestroyTextStyle(txtStyle);
1476f6603c60Sopenharmony_ci    return result;
1477f6603c60Sopenharmony_ci}
1478f6603c60Sopenharmony_ci
1479f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTextStyleGnormal(napi_env env, napi_callback_info info)
1480f6603c60Sopenharmony_ci{
1481f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1482f6603c60Sopenharmony_ci    double fontSize = EIGTENVAL;
1483f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontSize(txtStyle, fontSize);
1484f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontWeight(txtStyle, FONT_WEIGHT_100);
1485f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleBaseLine(txtStyle, TEXT_BASELINE_IDEOGRAPHIC);
1486f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontHeight(txtStyle, ONEVAL);
1487f6603c60Sopenharmony_ci    napi_value result = nullptr;
1488f6603c60Sopenharmony_ci    if (txtStyle != nullptr) {
1489f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1490f6603c60Sopenharmony_ci    } else {
1491f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1492f6603c60Sopenharmony_ci    }
1493f6603c60Sopenharmony_ci    OH_Drawing_DestroyTextStyle(txtStyle);
1494f6603c60Sopenharmony_ci    return result;
1495f6603c60Sopenharmony_ci}
1496f6603c60Sopenharmony_ci
1497f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTextStyleHnormal(napi_env env, napi_callback_info info)
1498f6603c60Sopenharmony_ci{
1499f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1500f6603c60Sopenharmony_ci    double fontSize = EIGTENVAL;
1501f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontSize(txtStyle, fontSize);
1502f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontWeight(txtStyle, FONT_WEIGHT_200);
1503f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleBaseLine(txtStyle, TEXT_BASELINE_IDEOGRAPHIC);
1504f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontHeight(txtStyle, ONEVAL);
1505f6603c60Sopenharmony_ci    napi_value result = nullptr;
1506f6603c60Sopenharmony_ci    if (txtStyle != nullptr) {
1507f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1508f6603c60Sopenharmony_ci    } else {
1509f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1510f6603c60Sopenharmony_ci    }
1511f6603c60Sopenharmony_ci    OH_Drawing_DestroyTextStyle(txtStyle);
1512f6603c60Sopenharmony_ci    return result;
1513f6603c60Sopenharmony_ci}
1514f6603c60Sopenharmony_ci
1515f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTextStyleInormal(napi_env env, napi_callback_info info)
1516f6603c60Sopenharmony_ci{
1517f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1518f6603c60Sopenharmony_ci    double fontSize = EIGTENVAL;
1519f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontSize(txtStyle, fontSize);
1520f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontWeight(txtStyle, FONT_WEIGHT_300);
1521f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleBaseLine(txtStyle, TEXT_BASELINE_IDEOGRAPHIC);
1522f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontHeight(txtStyle, ONEVAL);
1523f6603c60Sopenharmony_ci    napi_value result = nullptr;
1524f6603c60Sopenharmony_ci    if (txtStyle != nullptr) {
1525f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1526f6603c60Sopenharmony_ci    } else {
1527f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1528f6603c60Sopenharmony_ci    }
1529f6603c60Sopenharmony_ci    OH_Drawing_DestroyTextStyle(txtStyle);
1530f6603c60Sopenharmony_ci    return result;
1531f6603c60Sopenharmony_ci}
1532f6603c60Sopenharmony_ci
1533f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTextStyleJnormal(napi_env env, napi_callback_info info)
1534f6603c60Sopenharmony_ci{
1535f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1536f6603c60Sopenharmony_ci    double fontSize = EIGTENVAL;
1537f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontSize(txtStyle, fontSize);
1538f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontWeight(txtStyle, FONT_WEIGHT_400);
1539f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleBaseLine(txtStyle, TEXT_BASELINE_IDEOGRAPHIC);
1540f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontHeight(txtStyle, ONEVAL);
1541f6603c60Sopenharmony_ci    napi_value result = nullptr;
1542f6603c60Sopenharmony_ci    if (txtStyle != nullptr) {
1543f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1544f6603c60Sopenharmony_ci    } else {
1545f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1546f6603c60Sopenharmony_ci    }
1547f6603c60Sopenharmony_ci    OH_Drawing_DestroyTextStyle(txtStyle);
1548f6603c60Sopenharmony_ci    return result;
1549f6603c60Sopenharmony_ci}
1550f6603c60Sopenharmony_ci
1551f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTextStyleKnormal(napi_env env, napi_callback_info info)
1552f6603c60Sopenharmony_ci{
1553f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1554f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleDecoration(txtStyle, TEXT_DECORATION_NONE);
1555f6603c60Sopenharmony_ci    uint32_t color = OH_Drawing_ColorSetArgb(0xFF, 0x00, 0x00, 0x00);
1556f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleDecorationColor(txtStyle, color);
1557f6603c60Sopenharmony_ci    napi_value result = nullptr;
1558f6603c60Sopenharmony_ci    if (txtStyle != nullptr) {
1559f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1560f6603c60Sopenharmony_ci    } else {
1561f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1562f6603c60Sopenharmony_ci    }
1563f6603c60Sopenharmony_ci    OH_Drawing_DestroyTextStyle(txtStyle);
1564f6603c60Sopenharmony_ci    return result;
1565f6603c60Sopenharmony_ci}
1566f6603c60Sopenharmony_ci
1567f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTextStyleLnormal(napi_env env, napi_callback_info info)
1568f6603c60Sopenharmony_ci{
1569f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1570f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleDecoration(txtStyle, TEXT_DECORATION_UNDERLINE);
1571f6603c60Sopenharmony_ci    uint32_t color = OH_Drawing_ColorSetArgb(0xFF, 0x00, 0x00, 0x00);
1572f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleDecorationColor(txtStyle, color);
1573f6603c60Sopenharmony_ci    napi_value result = nullptr;
1574f6603c60Sopenharmony_ci    if (txtStyle != nullptr) {
1575f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1576f6603c60Sopenharmony_ci    } else {
1577f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1578f6603c60Sopenharmony_ci    }
1579f6603c60Sopenharmony_ci    OH_Drawing_DestroyTextStyle(txtStyle);
1580f6603c60Sopenharmony_ci    return result;
1581f6603c60Sopenharmony_ci}
1582f6603c60Sopenharmony_ci
1583f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTextStyleMnormal(napi_env env, napi_callback_info info)
1584f6603c60Sopenharmony_ci{
1585f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1586f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleDecoration(txtStyle, TEXT_DECORATION_NONE);
1587f6603c60Sopenharmony_ci    uint32_t color = OH_Drawing_ColorSetArgb(0xFF, 0xFF, 0xFF, 0xFF);
1588f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleDecorationColor(txtStyle, color);
1589f6603c60Sopenharmony_ci    napi_value result = nullptr;
1590f6603c60Sopenharmony_ci    if (txtStyle != nullptr) {
1591f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1592f6603c60Sopenharmony_ci    } else {
1593f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1594f6603c60Sopenharmony_ci    }
1595f6603c60Sopenharmony_ci    OH_Drawing_DestroyTextStyle(txtStyle);
1596f6603c60Sopenharmony_ci    return result;
1597f6603c60Sopenharmony_ci}
1598f6603c60Sopenharmony_ci
1599f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTextStyleNnormal(napi_env env, napi_callback_info info)
1600f6603c60Sopenharmony_ci{
1601f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1602f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleDecoration(txtStyle, TEXT_DECORATION_UNDERLINE);
1603f6603c60Sopenharmony_ci    uint32_t color = OH_Drawing_ColorSetArgb(0xFF, 0xFF, 0xFF, 0xFF);
1604f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleDecorationColor(txtStyle, color);
1605f6603c60Sopenharmony_ci    napi_value result = nullptr;
1606f6603c60Sopenharmony_ci    if (txtStyle != nullptr) {
1607f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1608f6603c60Sopenharmony_ci    } else {
1609f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1610f6603c60Sopenharmony_ci    }
1611f6603c60Sopenharmony_ci    OH_Drawing_DestroyTextStyle(txtStyle);
1612f6603c60Sopenharmony_ci    return result;
1613f6603c60Sopenharmony_ci}
1614f6603c60Sopenharmony_ci
1615f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTextStyleOnormal(napi_env env, napi_callback_info info)
1616f6603c60Sopenharmony_ci{
1617f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1618f6603c60Sopenharmony_ci    const char *fontFamilies[] = {"Roboto"};
1619f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontFamilies(txtStyle, ONEVAL, fontFamilies);
1620f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontStyle(txtStyle, FONT_STYLE_NORMAL);
1621f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleLocale(txtStyle, "en");
1622f6603c60Sopenharmony_ci    napi_value result = nullptr;
1623f6603c60Sopenharmony_ci    if (txtStyle != nullptr) {
1624f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1625f6603c60Sopenharmony_ci    } else {
1626f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1627f6603c60Sopenharmony_ci    }
1628f6603c60Sopenharmony_ci    OH_Drawing_DestroyTextStyle(txtStyle);
1629f6603c60Sopenharmony_ci    return result;
1630f6603c60Sopenharmony_ci}
1631f6603c60Sopenharmony_ci
1632f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTextStylePnormal(napi_env env, napi_callback_info info)
1633f6603c60Sopenharmony_ci{
1634f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1635f6603c60Sopenharmony_ci    const char *fontFamilies[] = {"Roboto"};
1636f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontFamilies(txtStyle, ONEVAL, fontFamilies);
1637f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontStyle(txtStyle, FONT_STYLE_ITALIC);
1638f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleLocale(txtStyle, "en");
1639f6603c60Sopenharmony_ci    napi_value result = nullptr;
1640f6603c60Sopenharmony_ci    if (txtStyle != nullptr) {
1641f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1642f6603c60Sopenharmony_ci    } else {
1643f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1644f6603c60Sopenharmony_ci    }
1645f6603c60Sopenharmony_ci    OH_Drawing_DestroyTextStyle(txtStyle);
1646f6603c60Sopenharmony_ci    return result;
1647f6603c60Sopenharmony_ci}
1648f6603c60Sopenharmony_ci
1649f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTextStyleQnormal(napi_env env, napi_callback_info info)
1650f6603c60Sopenharmony_ci{
1651f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1652f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleDecoration(txtStyle, TEXT_DECORATION_OVERLINE);
1653f6603c60Sopenharmony_ci    uint32_t color = OH_Drawing_ColorSetArgb(0xFF, 0xFF, 0x00, 0x00);
1654f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleDecorationColor(txtStyle, color);
1655f6603c60Sopenharmony_ci    napi_value result = nullptr;
1656f6603c60Sopenharmony_ci    if (txtStyle != nullptr) {
1657f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1658f6603c60Sopenharmony_ci    } else {
1659f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1660f6603c60Sopenharmony_ci    }
1661f6603c60Sopenharmony_ci    OH_Drawing_DestroyTextStyle(txtStyle);
1662f6603c60Sopenharmony_ci    return result;
1663f6603c60Sopenharmony_ci}
1664f6603c60Sopenharmony_ci
1665f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTextStyleRnormal(napi_env env, napi_callback_info info)
1666f6603c60Sopenharmony_ci{
1667f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1668f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleDecoration(txtStyle, TEXT_DECORATION_OVERLINE);
1669f6603c60Sopenharmony_ci    uint32_t color = OH_Drawing_ColorSetArgb(0xFF, 0xFF, 0xFF, 0xFF);
1670f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleDecorationColor(txtStyle, color);
1671f6603c60Sopenharmony_ci    napi_value result = nullptr;
1672f6603c60Sopenharmony_ci    if (txtStyle != nullptr) {
1673f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1674f6603c60Sopenharmony_ci    } else {
1675f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1676f6603c60Sopenharmony_ci    }
1677f6603c60Sopenharmony_ci    OH_Drawing_DestroyTextStyle(txtStyle);
1678f6603c60Sopenharmony_ci    return result;
1679f6603c60Sopenharmony_ci}
1680f6603c60Sopenharmony_ci
1681f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTextStyleSnormal(napi_env env, napi_callback_info info)
1682f6603c60Sopenharmony_ci{
1683f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1684f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleDecoration(txtStyle, TEXT_DECORATION_LINE_THROUGH);
1685f6603c60Sopenharmony_ci    uint32_t color = OH_Drawing_ColorSetArgb(0xFF, 0xFF, 0x00, 0x00);
1686f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleDecorationColor(txtStyle, color);
1687f6603c60Sopenharmony_ci    napi_value result = nullptr;
1688f6603c60Sopenharmony_ci    if (txtStyle != nullptr) {
1689f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1690f6603c60Sopenharmony_ci    } else {
1691f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1692f6603c60Sopenharmony_ci    }
1693f6603c60Sopenharmony_ci    OH_Drawing_DestroyTextStyle(txtStyle);
1694f6603c60Sopenharmony_ci    return result;
1695f6603c60Sopenharmony_ci}
1696f6603c60Sopenharmony_ci
1697f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTextStyleTnormal(napi_env env, napi_callback_info info)
1698f6603c60Sopenharmony_ci{
1699f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1700f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleDecoration(txtStyle, TEXT_DECORATION_LINE_THROUGH);
1701f6603c60Sopenharmony_ci    uint32_t color = OH_Drawing_ColorSetArgb(0xFF, 0xFF, 0xFF, 0xFF);
1702f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleDecorationColor(txtStyle, color);
1703f6603c60Sopenharmony_ci    napi_value result = nullptr;
1704f6603c60Sopenharmony_ci    if (txtStyle != nullptr) {
1705f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1706f6603c60Sopenharmony_ci    } else {
1707f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1708f6603c60Sopenharmony_ci    }
1709f6603c60Sopenharmony_ci    OH_Drawing_DestroyTextStyle(txtStyle);
1710f6603c60Sopenharmony_ci    return result;
1711f6603c60Sopenharmony_ci}
1712f6603c60Sopenharmony_ci
1713f6603c60Sopenharmony_cistatic OH_Drawing_TypographyCreate *TypographyCreate()
1714f6603c60Sopenharmony_ci{
1715f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
1716f6603c60Sopenharmony_ci    OH_Drawing_FontCollection *fontCollection = OH_Drawing_CreateFontCollection();
1717f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handler = OH_Drawing_CreateTypographyHandler(typoStyle, fontCollection);
1718f6603c60Sopenharmony_ci    return handler;
1719f6603c60Sopenharmony_ci}
1720f6603c60Sopenharmony_ci
1721f6603c60Sopenharmony_cistatic double TypographyGetLongestLine(OH_Drawing_TypographyCreate *handler, int fontSize)
1722f6603c60Sopenharmony_ci{
1723f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1724f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontSize(txtStyle, fontSize);
1725f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerPushTextStyle(handler, txtStyle);
1726f6603c60Sopenharmony_ci    const char *text = "test/n";
1727f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerAddText(handler, text);
1728f6603c60Sopenharmony_ci    OH_Drawing_Typography *typography = OH_Drawing_CreateTypography(handler);
1729f6603c60Sopenharmony_ci    double maxWidth = 800;
1730f6603c60Sopenharmony_ci    OH_Drawing_TypographyLayout(typography, maxWidth);
1731f6603c60Sopenharmony_ci    double len = OH_Drawing_TypographyGetLongestLine(typography);
1732f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypography(typography);
1733f6603c60Sopenharmony_ci    return len;
1734f6603c60Sopenharmony_ci}
1735f6603c60Sopenharmony_ci
1736f6603c60Sopenharmony_cistatic double TypographyGetLongestLineWithIndent(OH_Drawing_TypographyCreate *handler, int fontSize)
1737f6603c60Sopenharmony_ci{
1738f6603c60Sopenharmony_ci    OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
1739f6603c60Sopenharmony_ci    OH_Drawing_SetTextStyleFontSize(txtStyle, fontSize);
1740f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerPushTextStyle(handler, txtStyle);
1741f6603c60Sopenharmony_ci    const char *text = "test/n";
1742f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerAddText(handler, text);
1743f6603c60Sopenharmony_ci    OH_Drawing_Typography *typography = OH_Drawing_CreateTypography(handler);
1744f6603c60Sopenharmony_ci    double maxWidth = 800;
1745f6603c60Sopenharmony_ci    OH_Drawing_TypographyLayout(typography, maxWidth);
1746f6603c60Sopenharmony_ci    double len = OH_Drawing_TypographyGetLongestLineWithIndent(typography);
1747f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypography(typography);
1748f6603c60Sopenharmony_ci    return len;
1749f6603c60Sopenharmony_ci}
1750f6603c60Sopenharmony_ci
1751f6603c60Sopenharmony_cistatic napi_value OHDrawingTypographyHandlerAddText(napi_env env, napi_callback_info info)
1752f6603c60Sopenharmony_ci{
1753f6603c60Sopenharmony_ci    napi_value result = nullptr;
1754f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handlerOne = TypographyCreate();
1755f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handlerTwo = TypographyCreate();
1756f6603c60Sopenharmony_ci    int fontSizeOne = 15;
1757f6603c60Sopenharmony_ci    int fontSizeTwo = 30;
1758f6603c60Sopenharmony_ci    double lenOne = TypographyGetLongestLine(handlerOne, fontSizeOne);
1759f6603c60Sopenharmony_ci    double lenTwo = TypographyGetLongestLine(handlerTwo, fontSizeTwo);
1760f6603c60Sopenharmony_ci    if (lenOne < lenTwo && lenOne != ZEROVAL && lenTwo != ZEROVAL) {
1761f6603c60Sopenharmony_ci        OH_Drawing_TypographyHandlerPopTextStyle(handlerOne);
1762f6603c60Sopenharmony_ci        OH_Drawing_TypographyHandlerPopTextStyle(handlerTwo);
1763f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1764f6603c60Sopenharmony_ci    } else {
1765f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1766f6603c60Sopenharmony_ci    }
1767f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handlerOne);
1768f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handlerTwo);
1769f6603c60Sopenharmony_ci    return result;
1770f6603c60Sopenharmony_ci}
1771f6603c60Sopenharmony_ci
1772f6603c60Sopenharmony_cistatic napi_value OHDrawingTypographyHandlerAddTextAanormal(napi_env env, napi_callback_info info)
1773f6603c60Sopenharmony_ci{
1774f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
1775f6603c60Sopenharmony_ci    OH_Drawing_FontCollection *fontCollection = OH_Drawing_CreateFontCollection();
1776f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handler = OH_Drawing_CreateTypographyHandler(typoStyle, fontCollection);
1777f6603c60Sopenharmony_ci    const char *text = "";
1778f6603c60Sopenharmony_ci    OH_Drawing_TypographyHandlerAddText(handler, text);
1779f6603c60Sopenharmony_ci    OH_Drawing_Typography *typography = OH_Drawing_CreateTypography(handler);
1780f6603c60Sopenharmony_ci    double maxWidth = 50;
1781f6603c60Sopenharmony_ci    OH_Drawing_TypographyLayout(typography, maxWidth);
1782f6603c60Sopenharmony_ci    napi_value result = nullptr;
1783f6603c60Sopenharmony_ci
1784f6603c60Sopenharmony_ci    double len = OH_Drawing_TypographyGetLongestLine(typography);
1785f6603c60Sopenharmony_ci    if (len == MINIMUMVALUE) {
1786f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1787f6603c60Sopenharmony_ci    } else {
1788f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1789f6603c60Sopenharmony_ci    }
1790f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypography(typography);
1791f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handler);
1792f6603c60Sopenharmony_ci    return result;
1793f6603c60Sopenharmony_ci}
1794f6603c60Sopenharmony_ci
1795f6603c60Sopenharmony_cistatic napi_value GetCanvasResult(napi_env env, OH_Drawing_Canvas *canvas)
1796f6603c60Sopenharmony_ci{
1797f6603c60Sopenharmony_ci    napi_value result = nullptr;
1798f6603c60Sopenharmony_ci    if (canvas == nullptr) {
1799f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1800f6603c60Sopenharmony_ci    } else {
1801f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1802f6603c60Sopenharmony_ci    }
1803f6603c60Sopenharmony_ci    OH_Drawing_CanvasDestroy(canvas);
1804f6603c60Sopenharmony_ci    return result;
1805f6603c60Sopenharmony_ci}
1806f6603c60Sopenharmony_ci
1807f6603c60Sopenharmony_cistatic napi_value OHDrawingCanvasCreateBitmap(napi_env env, napi_callback_info info)
1808f6603c60Sopenharmony_ci{
1809f6603c60Sopenharmony_ci    OH_Drawing_Canvas *canvas = OH_Drawing_CanvasCreate();
1810f6603c60Sopenharmony_ci    OH_Drawing_Bitmap *bitmap = OH_Drawing_BitmapCreate();
1811f6603c60Sopenharmony_ci    OH_Drawing_CanvasBind(canvas, bitmap);
1812f6603c60Sopenharmony_ci    OH_Drawing_BitmapDestroy(bitmap);
1813f6603c60Sopenharmony_ci    return GetCanvasResult(env, canvas);
1814f6603c60Sopenharmony_ci}
1815f6603c60Sopenharmony_ci
1816f6603c60Sopenharmony_cistatic napi_value OHDrawingCanvasCreatePen(napi_env env, napi_callback_info info)
1817f6603c60Sopenharmony_ci{
1818f6603c60Sopenharmony_ci    OH_Drawing_Canvas *canvas = OH_Drawing_CanvasCreate();
1819f6603c60Sopenharmony_ci    OH_Drawing_Pen *pen = OH_Drawing_PenCreate();
1820f6603c60Sopenharmony_ci    OH_Drawing_CanvasAttachPen(canvas, pen);
1821f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(pen);
1822f6603c60Sopenharmony_ci    return GetCanvasResult(env, canvas);
1823f6603c60Sopenharmony_ci}
1824f6603c60Sopenharmony_ci
1825f6603c60Sopenharmony_cistatic napi_value OHDrawingCanvasCreateBrush(napi_env env, napi_callback_info info)
1826f6603c60Sopenharmony_ci{
1827f6603c60Sopenharmony_ci    OH_Drawing_Canvas *canvas = OH_Drawing_CanvasCreate();
1828f6603c60Sopenharmony_ci    OH_Drawing_Brush *brush = OH_Drawing_BrushCreate();
1829f6603c60Sopenharmony_ci    OH_Drawing_CanvasAttachBrush(canvas, brush);
1830f6603c60Sopenharmony_ci    OH_Drawing_BrushDestroy(brush);
1831f6603c60Sopenharmony_ci    return GetCanvasResult(env, canvas);
1832f6603c60Sopenharmony_ci}
1833f6603c60Sopenharmony_ci
1834f6603c60Sopenharmony_cistatic napi_value OHDrawingCanvasCreateSave(napi_env env, napi_callback_info info)
1835f6603c60Sopenharmony_ci{
1836f6603c60Sopenharmony_ci    OH_Drawing_Canvas *canvas = OH_Drawing_CanvasCreate();
1837f6603c60Sopenharmony_ci    OH_Drawing_CanvasSave(canvas);
1838f6603c60Sopenharmony_ci    OH_Drawing_CanvasRestore(canvas);
1839f6603c60Sopenharmony_ci    return GetCanvasResult(env, canvas);
1840f6603c60Sopenharmony_ci}
1841f6603c60Sopenharmony_ci
1842f6603c60Sopenharmony_cistatic napi_value OHDrawingCanvasCreateDrawLine(napi_env env, napi_callback_info info)
1843f6603c60Sopenharmony_ci{
1844f6603c60Sopenharmony_ci    OH_Drawing_Canvas *canvas = OH_Drawing_CanvasCreate();
1845f6603c60Sopenharmony_ci    OH_Drawing_CanvasDrawLine(canvas, POSX_1, POSY_1, POSX_2, POSY_2);
1846f6603c60Sopenharmony_ci    return GetCanvasResult(env, canvas);
1847f6603c60Sopenharmony_ci}
1848f6603c60Sopenharmony_ci
1849f6603c60Sopenharmony_cistatic napi_value OHDrawingCanvasCreateDrawPath(napi_env env, napi_callback_info info)
1850f6603c60Sopenharmony_ci{
1851f6603c60Sopenharmony_ci    OH_Drawing_Canvas *canvas = OH_Drawing_CanvasCreate();
1852f6603c60Sopenharmony_ci    OH_Drawing_Path *path = OH_Drawing_PathCreate();
1853f6603c60Sopenharmony_ci    OH_Drawing_CanvasDrawPath(canvas, path);
1854f6603c60Sopenharmony_ci    OH_Drawing_PathDestroy(path);
1855f6603c60Sopenharmony_ci    return GetCanvasResult(env, canvas);
1856f6603c60Sopenharmony_ci}
1857f6603c60Sopenharmony_ci
1858f6603c60Sopenharmony_cistatic napi_value OHDrawingCanvasCreateClear(napi_env env, napi_callback_info info)
1859f6603c60Sopenharmony_ci{
1860f6603c60Sopenharmony_ci    OH_Drawing_Canvas *canvas = OH_Drawing_CanvasCreate();
1861f6603c60Sopenharmony_ci    OH_Drawing_CanvasClear(canvas, 0xffffffff);
1862f6603c60Sopenharmony_ci    return GetCanvasResult(env, canvas);
1863f6603c60Sopenharmony_ci}
1864f6603c60Sopenharmony_ci
1865f6603c60Sopenharmony_cistatic napi_value OHDrawingCanvasCreateDetachPen(napi_env env, napi_callback_info info)
1866f6603c60Sopenharmony_ci{
1867f6603c60Sopenharmony_ci    OH_Drawing_Canvas *canvas = OH_Drawing_CanvasCreate();
1868f6603c60Sopenharmony_ci    OH_Drawing_Pen *pen = OH_Drawing_PenCreate();
1869f6603c60Sopenharmony_ci    OH_Drawing_CanvasAttachPen(canvas, pen);
1870f6603c60Sopenharmony_ci    OH_Drawing_CanvasDetachPen(canvas);
1871f6603c60Sopenharmony_ci    OH_Drawing_PenDestroy(pen);
1872f6603c60Sopenharmony_ci    return GetCanvasResult(env, canvas);
1873f6603c60Sopenharmony_ci}
1874f6603c60Sopenharmony_ci
1875f6603c60Sopenharmony_cistatic napi_value OHDrawingCanvasCreateDetachBrush(napi_env env, napi_callback_info info)
1876f6603c60Sopenharmony_ci{
1877f6603c60Sopenharmony_ci    OH_Drawing_Canvas *canvas = OH_Drawing_CanvasCreate();
1878f6603c60Sopenharmony_ci    OH_Drawing_Brush *brush = OH_Drawing_BrushCreate();
1879f6603c60Sopenharmony_ci    OH_Drawing_CanvasAttachBrush(canvas, brush);
1880f6603c60Sopenharmony_ci    OH_Drawing_CanvasDetachBrush(canvas);
1881f6603c60Sopenharmony_ci    OH_Drawing_BrushDestroy(brush);
1882f6603c60Sopenharmony_ci    return GetCanvasResult(env, canvas);
1883f6603c60Sopenharmony_ci}
1884f6603c60Sopenharmony_ci
1885f6603c60Sopenharmony_cistatic napi_value GetPathResult(napi_env env, OH_Drawing_Path *path)
1886f6603c60Sopenharmony_ci{
1887f6603c60Sopenharmony_ci    napi_value result = nullptr;
1888f6603c60Sopenharmony_ci    if (path == nullptr) {
1889f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1890f6603c60Sopenharmony_ci    } else {
1891f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1892f6603c60Sopenharmony_ci    }
1893f6603c60Sopenharmony_ci    OH_Drawing_PathDestroy(path);
1894f6603c60Sopenharmony_ci    return result;
1895f6603c60Sopenharmony_ci}
1896f6603c60Sopenharmony_ci
1897f6603c60Sopenharmony_cistatic napi_value OHDrawingPathCreateMoveTo(napi_env env, napi_callback_info info)
1898f6603c60Sopenharmony_ci{
1899f6603c60Sopenharmony_ci    OH_Drawing_Path *path = OH_Drawing_PathCreate();
1900f6603c60Sopenharmony_ci    OH_Drawing_PathMoveTo(path, POSX_1, POSY_1);
1901f6603c60Sopenharmony_ci    return GetPathResult(env, path);
1902f6603c60Sopenharmony_ci}
1903f6603c60Sopenharmony_ci
1904f6603c60Sopenharmony_cistatic napi_value OHDrawingPathCreateLineTo(napi_env env, napi_callback_info info)
1905f6603c60Sopenharmony_ci{
1906f6603c60Sopenharmony_ci    OH_Drawing_Path *path = OH_Drawing_PathCreate();
1907f6603c60Sopenharmony_ci    OH_Drawing_PathLineTo(path, POSX_1, POSY_1);
1908f6603c60Sopenharmony_ci    return GetPathResult(env, path);
1909f6603c60Sopenharmony_ci}
1910f6603c60Sopenharmony_ci
1911f6603c60Sopenharmony_cistatic napi_value OHDrawingPathCreateArcTo(napi_env env, napi_callback_info info)
1912f6603c60Sopenharmony_ci{
1913f6603c60Sopenharmony_ci    OH_Drawing_Path *path = OH_Drawing_PathCreate();
1914f6603c60Sopenharmony_ci    OH_Drawing_PathArcTo(path, POSX_1, POSY_1, POSX_2, POSY_2, POSX_3, POSY_3);
1915f6603c60Sopenharmony_ci    return GetPathResult(env, path);
1916f6603c60Sopenharmony_ci}
1917f6603c60Sopenharmony_cistatic napi_value OHDrawingPathCreateQuadTo(napi_env env, napi_callback_info info)
1918f6603c60Sopenharmony_ci{
1919f6603c60Sopenharmony_ci    OH_Drawing_Path *path = OH_Drawing_PathCreate();
1920f6603c60Sopenharmony_ci    OH_Drawing_PathQuadTo(path, POSX_1, POSY_1, POSX_2, POSY_2);
1921f6603c60Sopenharmony_ci    return GetPathResult(env, path);
1922f6603c60Sopenharmony_ci}
1923f6603c60Sopenharmony_cistatic napi_value OHDrawingPathCreateCubicTo(napi_env env, napi_callback_info info)
1924f6603c60Sopenharmony_ci{
1925f6603c60Sopenharmony_ci    OH_Drawing_Path *path = OH_Drawing_PathCreate();
1926f6603c60Sopenharmony_ci    OH_Drawing_PathCubicTo(path, POSX_1, POSY_1, POSX_2, POSY_2, POSX_3, POSY_3);
1927f6603c60Sopenharmony_ci    return GetPathResult(env, path);
1928f6603c60Sopenharmony_ci}
1929f6603c60Sopenharmony_cistatic napi_value OHDrawingPathCreateClose(napi_env env, napi_callback_info info)
1930f6603c60Sopenharmony_ci{
1931f6603c60Sopenharmony_ci    OH_Drawing_Path *path = OH_Drawing_PathCreate();
1932f6603c60Sopenharmony_ci    OH_Drawing_PathClose(path);
1933f6603c60Sopenharmony_ci    return GetPathResult(env, path);
1934f6603c60Sopenharmony_ci}
1935f6603c60Sopenharmony_cistatic napi_value OHDrawingPathCreateReset(napi_env env, napi_callback_info info)
1936f6603c60Sopenharmony_ci{
1937f6603c60Sopenharmony_ci    OH_Drawing_Path *path = OH_Drawing_PathCreate();
1938f6603c60Sopenharmony_ci    OH_Drawing_PathReset(path);
1939f6603c60Sopenharmony_ci    return GetPathResult(env, path);
1940f6603c60Sopenharmony_ci}
1941f6603c60Sopenharmony_ci
1942f6603c60Sopenharmony_cistatic napi_value OHDrawingCreateTypographyPaint(napi_env env, napi_callback_info info)
1943f6603c60Sopenharmony_ci{
1944f6603c60Sopenharmony_ci    napi_value result = nullptr;
1945f6603c60Sopenharmony_ci    OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
1946f6603c60Sopenharmony_ci    OH_Drawing_FontCollection *fontCollection = OH_Drawing_CreateFontCollection();
1947f6603c60Sopenharmony_ci    OH_Drawing_TypographyCreate *handler = OH_Drawing_CreateTypographyHandler(typoStyle, fontCollection);
1948f6603c60Sopenharmony_ci    OH_Drawing_Typography *typographyStyle = OH_Drawing_CreateTypography(handler);
1949f6603c60Sopenharmony_ci    OH_Drawing_Canvas *canvas = OH_Drawing_CanvasCreate();
1950f6603c60Sopenharmony_ci    OH_Drawing_TypographyPaint(typographyStyle, canvas, POSX_1, POSY_1);
1951f6603c60Sopenharmony_ci    if (typoStyle == nullptr) {
1952f6603c60Sopenharmony_ci        napi_create_int32(env, FAIL, &result);
1953f6603c60Sopenharmony_ci    } else {
1954f6603c60Sopenharmony_ci        napi_create_int32(env, SUCCESS, &result);
1955f6603c60Sopenharmony_ci    }
1956f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyHandler(handler);
1957f6603c60Sopenharmony_ci    OH_Drawing_DestroyTypographyStyle(typoStyle);
1958f6603c60Sopenharmony_ci    OH_Drawing_DestroyFontCollection(fontCollection);
1959f6603c60Sopenharmony_ci    OH_Drawing_CanvasDestroy(canvas);
1960f6603c60Sopenharmony_ci    return result;
1961f6603c60Sopenharmony_ci}
1962f6603c60Sopenharmony_ci
1963f6603c60Sopenharmony_ciEXTERN_C_START
1964f6603c60Sopenharmony_cistatic napi_value Init(napi_env env, napi_value exports)
1965f6603c60Sopenharmony_ci{
1966f6603c60Sopenharmony_ci    napi_property_descriptor desc[] = {
1967f6603c60Sopenharmony_ci        {"oHDrawingBitmapCreate", nullptr, OHDrawingBitmapCreate, nullptr, nullptr, nullptr, napi_default, nullptr},
1968f6603c60Sopenharmony_ci        {"oHDrawingBitmapBuild", nullptr, OHDrawingBitmapBuild, nullptr, nullptr, nullptr, napi_default, nullptr},
1969f6603c60Sopenharmony_ci        {"oHDrawingBitmapGetWidth", nullptr, OHDrawingBitmapGetWidth, nullptr, nullptr, nullptr, napi_default, nullptr},
1970f6603c60Sopenharmony_ci        {"oHDrawingBitmapGetHeight", nullptr, OHDrawingBitmapGetHeight, nullptr, nullptr, nullptr, napi_default,
1971f6603c60Sopenharmony_ci         nullptr},
1972f6603c60Sopenharmony_ci        {"oHDrawingBitmapGetPixels", nullptr, OHDrawingBitmapGetPixels, nullptr, nullptr, nullptr, napi_default,
1973f6603c60Sopenharmony_ci         nullptr},
1974f6603c60Sopenharmony_ci
1975f6603c60Sopenharmony_ci        {"oHDrawingBrushCreate", nullptr, OHDrawingBrushCreate, nullptr, nullptr, nullptr, napi_default, nullptr},
1976f6603c60Sopenharmony_ci        {"oHDrawingBrushIsAntiAlias", nullptr, OHDrawingBrushIsAntiAlias, nullptr, nullptr, nullptr, napi_default,
1977f6603c60Sopenharmony_ci         nullptr},
1978f6603c60Sopenharmony_ci        {"oHDrawingBrushSetAntiAlias", nullptr, OHDrawingBrushSetAntiAlias, nullptr, nullptr, nullptr, napi_default,
1979f6603c60Sopenharmony_ci         nullptr},
1980f6603c60Sopenharmony_ci        {"oHDrawingBrushGetColor", nullptr, OHDrawingBrushGetColor, nullptr, nullptr, nullptr, napi_default, nullptr},
1981f6603c60Sopenharmony_ci        {"oHDrawingBrushSetColor", nullptr, OHDrawingBrushSetColor, nullptr, nullptr, nullptr, napi_default, nullptr},
1982f6603c60Sopenharmony_ci
1983f6603c60Sopenharmony_ci        {"oHDrawingCanvasCreate", nullptr, OHDrawingCanvasCreate, nullptr, nullptr, nullptr, napi_default, nullptr},
1984f6603c60Sopenharmony_ci        {"oHDrawingPathCreate", nullptr, OHDrawingPathCreate, nullptr, nullptr, nullptr, napi_default, nullptr},
1985f6603c60Sopenharmony_ci
1986f6603c60Sopenharmony_ci        {"oHDrawingPenCreate", nullptr, OHDrawingPenCreate, nullptr, nullptr, nullptr, napi_default, nullptr},
1987f6603c60Sopenharmony_ci        {"oHDrawingPenIsAntiAlias", nullptr, OHDrawingPenIsAntiAlias, nullptr, nullptr, nullptr, napi_default, nullptr},
1988f6603c60Sopenharmony_ci        {"oHDrawingPenSetAntiAlias", nullptr, OHDrawingPenSetAntiAlias, nullptr, nullptr, nullptr, napi_default,
1989f6603c60Sopenharmony_ci         nullptr},
1990f6603c60Sopenharmony_ci        {"oHDrawingPenGetColor", nullptr, OHDrawingPenGetColor, nullptr, nullptr, nullptr, napi_default, nullptr},
1991f6603c60Sopenharmony_ci        {"oHDrawingPenSetColor", nullptr, OHDrawingPenSetColor, nullptr, nullptr, nullptr, napi_default, nullptr},
1992f6603c60Sopenharmony_ci        {"oHDrawingPenGetWidth", nullptr, OHDrawingPenGetWidth, nullptr, nullptr, nullptr, napi_default, nullptr},
1993f6603c60Sopenharmony_ci        {"oHDrawingPenSetWidth", nullptr, OHDrawingPenSetWidth, nullptr, nullptr, nullptr, napi_default, nullptr},
1994f6603c60Sopenharmony_ci        {"oHDrawingPenGetMiterLimit", nullptr, OHDrawingPenGetMiterLimit, nullptr, nullptr, nullptr, napi_default,
1995f6603c60Sopenharmony_ci         nullptr},
1996f6603c60Sopenharmony_ci        {"oHDrawingPenSetMiterLimit", nullptr, OHDrawingPenSetMiterLimit, nullptr, nullptr, nullptr, napi_default,
1997f6603c60Sopenharmony_ci         nullptr},
1998f6603c60Sopenharmony_ci        {"oHDrawingPenGetCap", nullptr, OHDrawingPenGetCap, nullptr, nullptr, nullptr, napi_default, nullptr},
1999f6603c60Sopenharmony_ci        {"oHDrawingPenSetCap", nullptr, OHDrawingPenSetCap, nullptr, nullptr, nullptr, napi_default, nullptr},
2000f6603c60Sopenharmony_ci        {"oHDrawingPenGetJoin", nullptr, OHDrawingPenGetJoin, nullptr, nullptr, nullptr, napi_default, nullptr},
2001f6603c60Sopenharmony_ci        {"oHDrawingPenSetJoin", nullptr, OHDrawingPenSetJoin, nullptr, nullptr, nullptr, napi_default, nullptr},
2002f6603c60Sopenharmony_ci
2003f6603c60Sopenharmony_ci        {"oHDrawingColorSetArgb", nullptr, OHDrawingColorSetArgb, nullptr, nullptr, nullptr, napi_default, nullptr},
2004f6603c60Sopenharmony_ci
2005f6603c60Sopenharmony_ci        {"oHDrawingCreateFontCollection", nullptr, OHDrawingCreateFontCollection, nullptr, nullptr, nullptr,
2006f6603c60Sopenharmony_ci         napi_default, nullptr},
2007f6603c60Sopenharmony_ci        {"oHDrawingCreateTypographyStyle", nullptr, OHDrawingCreateTypographyStyle, nullptr, nullptr, nullptr,
2008f6603c60Sopenharmony_ci         napi_default, nullptr},
2009f6603c60Sopenharmony_ci
2010f6603c60Sopenharmony_ci        {"oHDrawingCreateTextStyle", nullptr, OHDrawingCreateTextStyle, nullptr, nullptr, nullptr, napi_default,
2011f6603c60Sopenharmony_ci         nullptr},
2012f6603c60Sopenharmony_ci        {"oHDrawingCreateTypographyHandler", nullptr, OHDrawingCreateTypographyHandler, nullptr, nullptr, nullptr,
2013f6603c60Sopenharmony_ci         napi_default, nullptr},
2014f6603c60Sopenharmony_ci        {"oHDrawingCreateTypography", nullptr, OHDrawingCreateTypography, nullptr, nullptr, nullptr, napi_default,
2015f6603c60Sopenharmony_ci         nullptr},
2016f6603c60Sopenharmony_ci        {"oHDrawingTypographyLayout", nullptr, OHDrawingTypographyLayout, nullptr, nullptr, nullptr, napi_default,
2017f6603c60Sopenharmony_ci         nullptr},
2018f6603c60Sopenharmony_ci        {"oHDrawingTypographyGetMaxWidth", nullptr, OHDrawingTypographyGetMaxWidth, nullptr, nullptr, nullptr,
2019f6603c60Sopenharmony_ci         napi_default, nullptr},
2020f6603c60Sopenharmony_ci
2021f6603c60Sopenharmony_ci        {"oHDrawingTypographyGetMinIntrinsicWidth", nullptr, OHDrawingTypographyGetMinIntrinsicWidth, nullptr, nullptr,
2022f6603c60Sopenharmony_ci         nullptr, napi_default, nullptr},
2023f6603c60Sopenharmony_ci        {"oHDrawingTypographyGetMaxIntrinsicWidth", nullptr, OHDrawingTypographyGetMaxIntrinsicWidth, nullptr, nullptr,
2024f6603c60Sopenharmony_ci         nullptr, napi_default, nullptr},
2025f6603c60Sopenharmony_ci
2026f6603c60Sopenharmony_ci        {"oHDrawingTypographyGetLongestLine", nullptr, OHDrawingTypographyGetLongestLine, nullptr, nullptr, nullptr,
2027f6603c60Sopenharmony_ci         napi_default, nullptr},
2028f6603c60Sopenharmony_ci        {"oHDrawingTypographyGetLongestLineAbnormal", nullptr, OHDrawingTypographyGetLongestLineAbnormal, nullptr,
2029f6603c60Sopenharmony_ci         nullptr, nullptr, napi_default, nullptr},
2030f6603c60Sopenharmony_ci        {"oHDrawingTypographyGetLongestLineWithIndent", nullptr, OHDrawingTypographyGetLongestLineWithIndent, nullptr,
2031f6603c60Sopenharmony_ci         nullptr, nullptr, napi_default, nullptr},
2032f6603c60Sopenharmony_ci
2033f6603c60Sopenharmony_ci        {"oHDrawingTypographyGetAlphabeticBaseline", nullptr, OHDrawingTypographyGetAlphabeticBaseline, nullptr,
2034f6603c60Sopenharmony_ci         nullptr, nullptr, napi_default, nullptr},
2035f6603c60Sopenharmony_ci        {"oHDrawingTypographyGetAlphabeticBaselineNormal", nullptr, OHDrawingTypographyGetAlphabeticBaselineNormal,
2036f6603c60Sopenharmony_ci         nullptr, nullptr, nullptr, napi_default, nullptr},
2037f6603c60Sopenharmony_ci
2038f6603c60Sopenharmony_ci        {"oHDrawingTypographyGetIdeographicBaseline", nullptr, OHDrawingTypographyGetIdeographicBaseline, nullptr,
2039f6603c60Sopenharmony_ci         nullptr, nullptr, napi_default, nullptr},
2040f6603c60Sopenharmony_ci        {"oHDrawingTypographyGetIdeographicBaselineNormal", nullptr, OHDrawingTypographyGetIdeographicBaselineNormal,
2041f6603c60Sopenharmony_ci         nullptr, nullptr, nullptr, napi_default, nullptr},
2042f6603c60Sopenharmony_ci
2043f6603c60Sopenharmony_ci        {"oHDrawingTypographyGetHeight", nullptr, OHDrawingTypographyGetHeight, nullptr, nullptr, nullptr, napi_default,
2044f6603c60Sopenharmony_ci         nullptr},
2045f6603c60Sopenharmony_ci        {"oHDrawingTypographyGetHeightAbnormal", nullptr, OHDrawingTypographyGetHeightAbnormal, nullptr, nullptr,
2046f6603c60Sopenharmony_ci         nullptr, napi_default, nullptr},
2047f6603c60Sopenharmony_ci
2048f6603c60Sopenharmony_ci        {"oHDrawingPenGetCapNormal", nullptr, OHDrawingPenGetCapNormal, nullptr, nullptr, nullptr, napi_default,
2049f6603c60Sopenharmony_ci         nullptr},
2050f6603c60Sopenharmony_ci        {"oHDrawingPenSetCapNormal", nullptr, OHDrawingPenSetCapNormal, nullptr, nullptr, nullptr, napi_default,
2051f6603c60Sopenharmony_ci         nullptr},
2052f6603c60Sopenharmony_ci        {"oHDrawingPenGetJoinNormal", nullptr, OHDrawingPenGetJoinNormal, nullptr, nullptr, nullptr, napi_default,
2053f6603c60Sopenharmony_ci         nullptr},
2054f6603c60Sopenharmony_ci        {"oHDrawingPenSetJoinNormal", nullptr, OHDrawingPenSetJoinNormal, nullptr, nullptr, nullptr, napi_default,
2055f6603c60Sopenharmony_ci         nullptr},
2056f6603c60Sopenharmony_ci
2057f6603c60Sopenharmony_ci        {"oHDrawingPenIsAntiAliasNormal", nullptr, OHDrawingPenIsAntiAliasNormal, nullptr, nullptr, nullptr,
2058f6603c60Sopenharmony_ci         napi_default, nullptr},
2059f6603c60Sopenharmony_ci        {"oHDrawingPenSetAntiAliasNormal", nullptr, OHDrawingPenSetAntiAliasNormal, nullptr, nullptr, nullptr,
2060f6603c60Sopenharmony_ci         napi_default, nullptr},
2061f6603c60Sopenharmony_ci
2062f6603c60Sopenharmony_ci        {"oHDrawingBitmapBuildNormal", nullptr, OHDrawingBitmapBuildNormal, nullptr, nullptr, nullptr, napi_default,
2063f6603c60Sopenharmony_ci         nullptr},
2064f6603c60Sopenharmony_ci        {"oHDrawingBitmapGetWidthNormal", nullptr, OHDrawingBitmapGetWidthNormal, nullptr, nullptr, nullptr,
2065f6603c60Sopenharmony_ci         napi_default, nullptr},
2066f6603c60Sopenharmony_ci        {"oHDrawingBitmapGetHeightNormal", nullptr, OHDrawingBitmapGetHeightNormal, nullptr, nullptr, nullptr,
2067f6603c60Sopenharmony_ci         napi_default, nullptr},
2068f6603c60Sopenharmony_ci        {"oHDrawingBitmapGetPixelsNormal", nullptr, OHDrawingBitmapGetPixelsNormal, nullptr, nullptr, nullptr,
2069f6603c60Sopenharmony_ci         napi_default, nullptr},
2070f6603c60Sopenharmony_ci
2071f6603c60Sopenharmony_ci        {"oHDrawingBrushIsAntiAliasNormal", nullptr, OHDrawingBrushIsAntiAliasNormal, nullptr, nullptr, nullptr,
2072f6603c60Sopenharmony_ci         napi_default, nullptr},
2073f6603c60Sopenharmony_ci        {"oHDrawingBrushSetAntiAliasNormal", nullptr, OHDrawingBrushSetAntiAliasNormal, nullptr, nullptr, nullptr,
2074f6603c60Sopenharmony_ci         napi_default, nullptr},
2075f6603c60Sopenharmony_ci
2076f6603c60Sopenharmony_ci        {"oHDrawingBrushGetColorNormal", nullptr, OHDrawingBrushGetColorNormal, nullptr, nullptr, nullptr, napi_default,
2077f6603c60Sopenharmony_ci         nullptr},
2078f6603c60Sopenharmony_ci        {"oHDrawingBrushSetColorNormal", nullptr, OHDrawingBrushSetColorNormal, nullptr, nullptr, nullptr, napi_default,
2079f6603c60Sopenharmony_ci         nullptr},
2080f6603c60Sopenharmony_ci        {"oHDrawingPenGetColorNormal", nullptr, OHDrawingPenGetColorNormal, nullptr, nullptr, nullptr, napi_default,
2081f6603c60Sopenharmony_ci         nullptr},
2082f6603c60Sopenharmony_ci        {"oHDrawingPenSetColorNormal", nullptr, OHDrawingPenSetColorNormal, nullptr, nullptr, nullptr, napi_default,
2083f6603c60Sopenharmony_ci         nullptr},
2084f6603c60Sopenharmony_ci        {"oHDrawingPenGetWidthNormal", nullptr, OHDrawingPenGetWidthNormal, nullptr, nullptr, nullptr, napi_default,
2085f6603c60Sopenharmony_ci         nullptr},
2086f6603c60Sopenharmony_ci        {"oHDrawingPenSetWidthNormal", nullptr, OHDrawingPenSetWidthNormal, nullptr, nullptr, nullptr, napi_default,
2087f6603c60Sopenharmony_ci         nullptr},
2088f6603c60Sopenharmony_ci        {"oHDrawingPenGetMiterLimitNormal", nullptr, OHDrawingPenGetMiterLimitNormal, nullptr, nullptr, nullptr,
2089f6603c60Sopenharmony_ci         napi_default, nullptr},
2090f6603c60Sopenharmony_ci        {"oHDrawingPenSetMiterLimitNormal", nullptr, OHDrawingPenSetMiterLimitNormal, nullptr, nullptr, nullptr,
2091f6603c60Sopenharmony_ci         napi_default, nullptr},
2092f6603c60Sopenharmony_ci        {"oHDrawingColorSetArgbNormal", nullptr, OHDrawingColorSetArgbNormal, nullptr, nullptr, nullptr, napi_default,
2093f6603c60Sopenharmony_ci         nullptr},
2094f6603c60Sopenharmony_ci        {"oHDrawingTypographyLayoutNormal", nullptr, OHDrawingTypographyLayoutNormal, nullptr, nullptr, nullptr,
2095f6603c60Sopenharmony_ci         napi_default, nullptr},
2096f6603c60Sopenharmony_ci        {"oHDrawingTypographyGetMaxWidthNormal", nullptr, OHDrawingTypographyGetMaxWidthNormal, nullptr, nullptr,
2097f6603c60Sopenharmony_ci         nullptr, napi_default, nullptr},
2098f6603c60Sopenharmony_ci        {"oHDrawingTypographyGetMinIntrinsicWidthNormal", nullptr, OHDrawingTypographyGetMinIntrinsicWidthNormal,
2099f6603c60Sopenharmony_ci         nullptr, nullptr, nullptr, napi_default, nullptr},
2100f6603c60Sopenharmony_ci        {"oHDrawingTypographyGetMaxIntrinsicWidthNormal", nullptr, OHDrawingTypographyGetMaxIntrinsicWidthNormal,
2101f6603c60Sopenharmony_ci         nullptr, nullptr, nullptr, napi_default, nullptr},
2102f6603c60Sopenharmony_ci
2103f6603c60Sopenharmony_ci        {"oHDrawingCreateTypographyStyleAnormal", nullptr, OHDrawingCreateTypographyStyleAnormal, nullptr, nullptr,
2104f6603c60Sopenharmony_ci         nullptr, napi_default, nullptr},
2105f6603c60Sopenharmony_ci        {"oHDrawingCreateTypographyStyleBnormal", nullptr, OHDrawingCreateTypographyStyleBnormal, nullptr, nullptr,
2106f6603c60Sopenharmony_ci         nullptr, napi_default, nullptr},
2107f6603c60Sopenharmony_ci        {"oHDrawingCreateTypographyStyleCnormal", nullptr, OHDrawingCreateTypographyStyleCnormal, nullptr, nullptr,
2108f6603c60Sopenharmony_ci         nullptr, napi_default, nullptr},
2109f6603c60Sopenharmony_ci        {"oHDrawingCreateTypographyStyleDnormal", nullptr, OHDrawingCreateTypographyStyleDnormal, nullptr, nullptr,
2110f6603c60Sopenharmony_ci         nullptr, napi_default, nullptr},
2111f6603c60Sopenharmony_ci        {"oHDrawingCreateTypographyStyleEnormal", nullptr, OHDrawingCreateTypographyStyleEnormal, nullptr, nullptr,
2112f6603c60Sopenharmony_ci         nullptr, napi_default, nullptr},
2113f6603c60Sopenharmony_ci        {"oHDrawingCreateTypographyStyleFnormal", nullptr, OHDrawingCreateTypographyStyleFnormal, nullptr, nullptr,
2114f6603c60Sopenharmony_ci         nullptr, napi_default, nullptr},
2115f6603c60Sopenharmony_ci
2116f6603c60Sopenharmony_ci        {"oHDrawingCreateTextStyleAnormal", nullptr, OHDrawingCreateTextStyleAnormal, nullptr, nullptr, nullptr,
2117f6603c60Sopenharmony_ci         napi_default, nullptr},
2118f6603c60Sopenharmony_ci        {"oHDrawingCreateTextStyleBnormal", nullptr, OHDrawingCreateTextStyleBnormal, nullptr, nullptr, nullptr,
2119f6603c60Sopenharmony_ci         napi_default, nullptr},
2120f6603c60Sopenharmony_ci        {"oHDrawingCreateTextStyleCnormal", nullptr, OHDrawingCreateTextStyleCnormal, nullptr, nullptr, nullptr,
2121f6603c60Sopenharmony_ci         napi_default, nullptr},
2122f6603c60Sopenharmony_ci        {"oHDrawingCreateTextStyleDnormal", nullptr, OHDrawingCreateTextStyleDnormal, nullptr, nullptr, nullptr,
2123f6603c60Sopenharmony_ci         napi_default, nullptr},
2124f6603c60Sopenharmony_ci        {"oHDrawingCreateTextStyleEnormal", nullptr, OHDrawingCreateTextStyleEnormal, nullptr, nullptr, nullptr,
2125f6603c60Sopenharmony_ci         napi_default, nullptr},
2126f6603c60Sopenharmony_ci        {"oHDrawingCreateTextStyleFnormal", nullptr, OHDrawingCreateTextStyleFnormal, nullptr, nullptr, nullptr,
2127f6603c60Sopenharmony_ci         napi_default, nullptr},
2128f6603c60Sopenharmony_ci        {"oHDrawingCreateTextStyleGnormal", nullptr, OHDrawingCreateTextStyleGnormal, nullptr, nullptr, nullptr,
2129f6603c60Sopenharmony_ci         napi_default, nullptr},
2130f6603c60Sopenharmony_ci        {"oHDrawingCreateTextStyleHnormal", nullptr, OHDrawingCreateTextStyleHnormal, nullptr, nullptr, nullptr,
2131f6603c60Sopenharmony_ci         napi_default, nullptr},
2132f6603c60Sopenharmony_ci        {"oHDrawingCreateTextStyleInormal", nullptr, OHDrawingCreateTextStyleInormal, nullptr, nullptr, nullptr,
2133f6603c60Sopenharmony_ci         napi_default, nullptr},
2134f6603c60Sopenharmony_ci        {"oHDrawingCreateTextStyleJnormal", nullptr, OHDrawingCreateTextStyleJnormal, nullptr, nullptr, nullptr,
2135f6603c60Sopenharmony_ci         napi_default, nullptr},
2136f6603c60Sopenharmony_ci        {"oHDrawingCreateTextStyleKnormal", nullptr, OHDrawingCreateTextStyleKnormal, nullptr, nullptr, nullptr,
2137f6603c60Sopenharmony_ci         napi_default, nullptr},
2138f6603c60Sopenharmony_ci        {"oHDrawingCreateTextStyleLnormal", nullptr, OHDrawingCreateTextStyleLnormal, nullptr, nullptr, nullptr,
2139f6603c60Sopenharmony_ci         napi_default, nullptr},
2140f6603c60Sopenharmony_ci        {"oHDrawingCreateTextStyleMnormal", nullptr, OHDrawingCreateTextStyleMnormal, nullptr, nullptr, nullptr,
2141f6603c60Sopenharmony_ci         napi_default, nullptr},
2142f6603c60Sopenharmony_ci        {"oHDrawingCreateTextStyleNnormal", nullptr, OHDrawingCreateTextStyleNnormal, nullptr, nullptr, nullptr,
2143f6603c60Sopenharmony_ci         napi_default, nullptr},
2144f6603c60Sopenharmony_ci        {"oHDrawingCreateTextStyleOnormal", nullptr, OHDrawingCreateTextStyleOnormal, nullptr, nullptr, nullptr,
2145f6603c60Sopenharmony_ci         napi_default, nullptr},
2146f6603c60Sopenharmony_ci        {"oHDrawingCreateTextStylePnormal", nullptr, OHDrawingCreateTextStylePnormal, nullptr, nullptr, nullptr,
2147f6603c60Sopenharmony_ci         napi_default, nullptr},
2148f6603c60Sopenharmony_ci        {"oHDrawingCreateTextStyleQnormal", nullptr, OHDrawingCreateTextStyleQnormal, nullptr, nullptr, nullptr,
2149f6603c60Sopenharmony_ci         napi_default, nullptr},
2150f6603c60Sopenharmony_ci        {"oHDrawingCreateTextStyleRnormal", nullptr, OHDrawingCreateTextStyleRnormal, nullptr, nullptr, nullptr,
2151f6603c60Sopenharmony_ci         napi_default, nullptr},
2152f6603c60Sopenharmony_ci        {"oHDrawingCreateTextStyleSnormal", nullptr, OHDrawingCreateTextStyleSnormal, nullptr, nullptr, nullptr,
2153f6603c60Sopenharmony_ci         napi_default, nullptr},
2154f6603c60Sopenharmony_ci        {"oHDrawingCreateTextStyleTnormal", nullptr, OHDrawingCreateTextStyleTnormal, nullptr, nullptr, nullptr,
2155f6603c60Sopenharmony_ci         napi_default, nullptr},
2156f6603c60Sopenharmony_ci
2157f6603c60Sopenharmony_ci        {"oHDrawingTypographyHandlerAddText", nullptr, OHDrawingTypographyHandlerAddText, nullptr, nullptr, nullptr,
2158f6603c60Sopenharmony_ci         napi_default, nullptr},
2159f6603c60Sopenharmony_ci        {"oHDrawingTypographyHandlerAddTextAanormal", nullptr, OHDrawingTypographyHandlerAddTextAanormal, nullptr,
2160f6603c60Sopenharmony_ci         nullptr, nullptr, napi_default, nullptr},
2161f6603c60Sopenharmony_ci        {"oHDrawingCanvasCreateBitmap", nullptr, OHDrawingCanvasCreateBitmap, nullptr, nullptr, nullptr, napi_default,
2162f6603c60Sopenharmony_ci         nullptr},
2163f6603c60Sopenharmony_ci        {"oHDrawingCanvasCreatePen", nullptr, OHDrawingCanvasCreatePen, nullptr, nullptr, nullptr, napi_default,
2164f6603c60Sopenharmony_ci         nullptr},
2165f6603c60Sopenharmony_ci        {"oHDrawingCanvasCreateBrush", nullptr, OHDrawingCanvasCreateBrush, nullptr, nullptr, nullptr, napi_default,
2166f6603c60Sopenharmony_ci         nullptr},
2167f6603c60Sopenharmony_ci        {"oHDrawingCanvasCreateSave", nullptr, OHDrawingCanvasCreateSave, nullptr, nullptr, nullptr, napi_default,
2168f6603c60Sopenharmony_ci         nullptr},
2169f6603c60Sopenharmony_ci        {"oHDrawingCanvasCreateDrawLine", nullptr, OHDrawingCanvasCreateDrawLine, nullptr, nullptr, nullptr,
2170f6603c60Sopenharmony_ci         napi_default, nullptr},
2171f6603c60Sopenharmony_ci        {"oHDrawingCanvasCreateDrawPath", nullptr, OHDrawingCanvasCreateDrawPath, nullptr, nullptr, nullptr,
2172f6603c60Sopenharmony_ci         napi_default, nullptr},
2173f6603c60Sopenharmony_ci        {"oHDrawingCanvasCreateClear", nullptr, OHDrawingCanvasCreateClear, nullptr, nullptr, nullptr, napi_default,
2174f6603c60Sopenharmony_ci         nullptr},
2175f6603c60Sopenharmony_ci        {"oHDrawingCanvasCreateDetachPen", nullptr, OHDrawingCanvasCreateDetachPen, nullptr, nullptr, nullptr,
2176f6603c60Sopenharmony_ci         napi_default, nullptr},
2177f6603c60Sopenharmony_ci        {"oHDrawingCanvasCreateDetachBrush", nullptr, OHDrawingCanvasCreateDetachBrush, nullptr, nullptr, nullptr,
2178f6603c60Sopenharmony_ci         napi_default, nullptr},
2179f6603c60Sopenharmony_ci        {"ohDrawingPathCreateMoveTo", nullptr, OHDrawingPathCreateMoveTo, nullptr, nullptr, nullptr, napi_default,
2180f6603c60Sopenharmony_ci         nullptr},
2181f6603c60Sopenharmony_ci        {"ohDrawingPathCreateLineTo", nullptr, OHDrawingPathCreateLineTo, nullptr, nullptr, nullptr, napi_default,
2182f6603c60Sopenharmony_ci         nullptr},
2183f6603c60Sopenharmony_ci        {"ohDrawingPathCreateArcTo", nullptr, OHDrawingPathCreateArcTo, nullptr, nullptr, nullptr, napi_default,
2184f6603c60Sopenharmony_ci         nullptr},
2185f6603c60Sopenharmony_ci        {"ohDrawingPathCreateQuadTo", nullptr, OHDrawingPathCreateQuadTo, nullptr, nullptr, nullptr, napi_default,
2186f6603c60Sopenharmony_ci         nullptr},
2187f6603c60Sopenharmony_ci        {"ohDrawingPathCreateCubicTo", nullptr, OHDrawingPathCreateCubicTo, nullptr, nullptr, nullptr, napi_default,
2188f6603c60Sopenharmony_ci         nullptr},
2189f6603c60Sopenharmony_ci        {"ohDrawingPathCreateClose", nullptr, OHDrawingPathCreateClose, nullptr, nullptr, nullptr, napi_default,
2190f6603c60Sopenharmony_ci         nullptr},
2191f6603c60Sopenharmony_ci        {"ohDrawingPathCreateReset", nullptr, OHDrawingPathCreateReset, nullptr, nullptr, nullptr, napi_default,
2192f6603c60Sopenharmony_ci         nullptr},
2193f6603c60Sopenharmony_ci        {"oHDrawingCreateTypographyPaint", nullptr, OHDrawingCreateTypographyPaint, nullptr, nullptr, nullptr,
2194f6603c60Sopenharmony_ci         napi_default, nullptr},
2195f6603c60Sopenharmony_ci    };
2196f6603c60Sopenharmony_ci    napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc);
2197f6603c60Sopenharmony_ci    return exports;
2198f6603c60Sopenharmony_ci}
2199f6603c60Sopenharmony_ci
2200f6603c60Sopenharmony_ciEXTERN_C_END
2201f6603c60Sopenharmony_ci
2202f6603c60Sopenharmony_cistatic napi_module demoModule = {
2203f6603c60Sopenharmony_ci    .nm_version = 1,
2204f6603c60Sopenharmony_ci    .nm_flags = 0,
2205f6603c60Sopenharmony_ci    .nm_filename = nullptr,
2206f6603c60Sopenharmony_ci    .nm_register_func = Init,
2207f6603c60Sopenharmony_ci    .nm_modname = "nativeDrawing",
2208f6603c60Sopenharmony_ci    .nm_priv = ((void *)0),
2209f6603c60Sopenharmony_ci    .reserved = {0},
2210f6603c60Sopenharmony_ci};
2211f6603c60Sopenharmony_ci
2212f6603c60Sopenharmony_ciextern "C" __attribute__((constructor)) void RegisterEntryModule(void) { napi_module_register(&demoModule); }
2213