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