1# Copyright (c) 2022-2023 Huawei Device Co., Ltd.. All rights reserved. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//build/ohos.gni") 15import("//foundation/graphic/graphic_2d/ace_platforms.gni") 16import("//foundation/graphic/graphic_2d/graphic_config.gni") 17import("$graphic_2d_root/rosen/modules/2d_engine/rosen_text/config.gni") 18 19drawing_root = "$rosen_root/modules/2d_graphics" 20drawing_core_include_dir = "$rosen_root/modules/2d_graphics/include" 21drawing_core_src_dir = "$rosen_root/modules/2d_graphics/src/drawing" 22src_dir = "$rosen_root/modules/2d_graphics/src" 23platform_dir = "$rosen_root/modules/platform" 24 25config("2d_graphics_config") { 26 include_dirs = [ 27 "$drawing_core_include_dir", 28 "$src_dir", 29 "$drawing_core_src_dir", 30 "$drawing_core_src_dir/engine_adapter", 31 "$platform_dir/image_native", 32 "$rosen_root/modules/render_service_base/include", 33 "$rosen_root/modules/texgine/texgine_drawing/src", 34 ] 35} 36 37config("export_config") { 38 include_dirs = [ 39 "$drawing_core_include_dir", 40 "$src_dir", 41 "$drawing_core_src_dir", 42 "$drawing_core_src_dir/engine_adapter", 43 "$graphic_2d_root/utils/color_manager/export", 44 "$rosen_root/modules/render_service_base/include", 45 "$rosen_root/modules/texgine/texgine_drawing/src", 46 "$rosen_root/modules/2d_engine/rosen_text/export", 47 ] 48 49 if (rs_enable_gpu) { 50 defines = [ "RS_ENABLE_GPU" ] 51 } 52} 53 54if (enable_text_gine) { 55 defines = [ "USE_GRAPHIC_TEXT_GINE" ] 56} 57 58template("graphics2d_source_set") { 59 forward_variables_from(invoker, "*") 60 61 ohos_source_set(target_name) { 62 defines += invoker.defines 63 cflags_cc += invoker.cflags_cc 64 if (use_texgine) { 65 defines += [ "USE_TEXGINE" ] 66 } else if (use_skia_txt) { 67 defines += [ "USE_SKIA_TXT" ] 68 } 69 70 public_deps = [] 71 external_deps = [ "napi:ace_napi" ] 72 public_external_deps = [] 73 sources = [ 74 "$drawing_core_src_dir/draw/OpListHandle.cpp", 75 "$drawing_core_src_dir/draw/brush.cpp", 76 "$drawing_core_src_dir/draw/canvas.cpp", 77 "$drawing_core_src_dir/draw/color.cpp", 78 "$drawing_core_src_dir/draw/core_canvas.cpp", 79 "$drawing_core_src_dir/draw/paint.cpp", 80 "$drawing_core_src_dir/draw/path.cpp", 81 "$drawing_core_src_dir/draw/pen.cpp", 82 "$drawing_core_src_dir/draw/surface.cpp", 83 "$drawing_core_src_dir/effect/blender.cpp", 84 "$drawing_core_src_dir/effect/blur_draw_looper.cpp", 85 "$drawing_core_src_dir/effect/color_filter.cpp", 86 "$drawing_core_src_dir/effect/color_matrix.cpp", 87 "$drawing_core_src_dir/effect/color_space.cpp", 88 "$drawing_core_src_dir/effect/filter.cpp", 89 "$drawing_core_src_dir/effect/image_filter.cpp", 90 "$drawing_core_src_dir/effect/mask_filter.cpp", 91 "$drawing_core_src_dir/effect/path_effect.cpp", 92 "$drawing_core_src_dir/effect/runtime_blender_builder.cpp", 93 "$drawing_core_src_dir/effect/runtime_effect.cpp", 94 "$drawing_core_src_dir/effect/runtime_shader_builder.cpp", 95 "$drawing_core_src_dir/effect/shader_effect.cpp", 96 "$drawing_core_src_dir/engine_adapter/impl_factory.cpp", 97 "$drawing_core_src_dir/engine_adapter/skia_adapter/rs_skia_memory_tracer.cpp", 98 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_bitmap.cpp", 99 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_blender.cpp", 100 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_camera.cpp", 101 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_canvas.cpp", 102 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_canvas_autocache.cpp", 103 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_color_filter.cpp", 104 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_color_space.cpp", 105 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_data.cpp", 106 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_font.cpp", 107 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_font_mgr.cpp", 108 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_font_style_set.cpp", 109 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_graphics.cpp", 110 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_helper.cpp", 111 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_hm_symbol.cpp", 112 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_hm_symbol_config_ohos.cpp", 113 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_image.cpp", 114 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_image_filter.cpp", 115 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_impl_factory.cpp", 116 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_mask_filter.cpp", 117 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_matrix.cpp", 118 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_matrix44.cpp", 119 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_memory_stream.cpp", 120 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_paint.cpp", 121 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_path.cpp", 122 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_path_effect.cpp", 123 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_picture.cpp", 124 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_pixmap.cpp", 125 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_region.cpp", 126 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_runtime_blender_builder.cpp", 127 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_runtime_effect.cpp", 128 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_runtime_shader_builder.cpp", 129 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_shader_effect.cpp", 130 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_static_factory.cpp", 131 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_surface.cpp", 132 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_text_blob.cpp", 133 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_text_blob_builder.cpp", 134 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_texture_info.cpp", 135 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_trace_memory_dump.cpp", 136 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_typeface.cpp", 137 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_utils.cpp", 138 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_vertices.cpp", 139 "$drawing_core_src_dir/engine_adapter/static_factory.cpp", 140 "$drawing_core_src_dir/image/bitmap.cpp", 141 "$drawing_core_src_dir/image/image.cpp", 142 "$drawing_core_src_dir/image/picture.cpp", 143 "$drawing_core_src_dir/image/pixmap.cpp", 144 "$drawing_core_src_dir/image/trace_memory_dump.cpp", 145 "$drawing_core_src_dir/recording/cmd_list.cpp", 146 "$drawing_core_src_dir/recording/cmd_list_helper.cpp", 147 "$drawing_core_src_dir/recording/draw_cmd.cpp", 148 "$drawing_core_src_dir/recording/draw_cmd_list.cpp", 149 "$drawing_core_src_dir/recording/mask_cmd_list.cpp", 150 "$drawing_core_src_dir/recording/mem_allocator.cpp", 151 "$drawing_core_src_dir/recording/record_cmd.cpp", 152 "$drawing_core_src_dir/recording/recording_canvas.cpp", 153 "$drawing_core_src_dir/text/font.cpp", 154 "$drawing_core_src_dir/text/font_mgr.cpp", 155 "$drawing_core_src_dir/text/font_style_set.cpp", 156 "$drawing_core_src_dir/text/hm_symbol.cpp", 157 "$drawing_core_src_dir/text/hm_symbol_config_ohos.cpp", 158 "$drawing_core_src_dir/text/text.cpp", 159 "$drawing_core_src_dir/text/text_blob.cpp", 160 "$drawing_core_src_dir/text/text_blob_builder.cpp", 161 "$drawing_core_src_dir/text/typeface.cpp", 162 "$drawing_core_src_dir/utils/camera3d.cpp", 163 "$drawing_core_src_dir/utils/data.cpp", 164 "$drawing_core_src_dir/utils/matrix.cpp", 165 "$drawing_core_src_dir/utils/matrix44.cpp", 166 "$drawing_core_src_dir/utils/memory_stream.cpp", 167 "$drawing_core_src_dir/utils/object_mgr.cpp", 168 "$drawing_core_src_dir/utils/performanceCaculate.cpp", 169 "$drawing_core_src_dir/utils/region.cpp", 170 "$drawing_core_src_dir/utils/resource_holder.cpp", 171 "$drawing_core_src_dir/utils/round_rect.cpp", 172 "$drawing_core_src_dir/utils/string_util.cpp", 173 "$drawing_core_src_dir/utils/vertices.cpp", 174 ] 175 176 if (platform == "ohos" || platform == "ohos_ng") { 177 sanitize = { 178 boundary_sanitize = true 179 integer_overflow = true 180 ubsan = true 181 } 182 external_deps += [ "init:libbegetutil" ] 183 sources += [ "$drawing_core_src_dir/utils/system_properties.cpp" ] 184 if (defined( 185 graphic_2d_platform_configs.system_graphic_properties_sources)) { 186 sources += graphic_2d_platform_configs.system_graphic_properties_sources 187 } else { 188 sources += 189 [ "$drawing_core_src_dir/utils/system_graphic_properties.cpp" ] 190 } 191 } 192 if (is_emulator) { 193 defines += [ "ROSEN_EMULATOR" ] 194 } 195 196 include_dirs = [ 197 "$drawing_core_include_dir", 198 "$src_dir", 199 "$drawing_core_src_dir", 200 "$drawing_core_src_dir/engine_adapter", 201 "$rosen_root/modules/render_service_base/include", 202 "$rosen_root/modules/texgine/src", 203 "$rosen_root/modules/texgine/texgine_drawing/src", 204 "$rosen_root/../interfaces/kits/napi/graphic/drawing/common_napi", 205 ] 206 207 if (rs_enable_gpu) { 208 sources += [ 209 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_gpu_context.cpp", 210 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_task_executor.cpp", 211 "$drawing_core_src_dir/image/gpu_context.cpp", 212 ] 213 defines += [ "RS_ENABLE_GPU" ] 214 215 if (!is_emulator && !build_ohos_sdk && !is_arkui_x) { 216 external_deps += [ "qos_manager:qos" ] 217 defines += [ "SKIA_PRIO_SCHED_ENABLE" ] 218 } 219 220 if (!build_ohos_sdk && !is_arkui_x) { 221 defines += [ "RES_SCHED_ENABLE" ] 222 include_dirs += [ "$rosen_root/modules/frame_report/include" ] 223 if (rosen_is_ohos) { 224 sources += 225 [ "$rosen_root/modules/frame_report/src/rs_frame_report.cpp" ] 226 } else { 227 sources += [ 228 "$rosen_root/modules/frame_report/src/mingw/rs_frame_report.cpp", 229 ] 230 } 231 } 232 } 233 234 if (is_arkui_x) { 235 configs = [ "//third_party/jsoncpp:jsoncpp_public_config" ] 236 } else { 237 external_deps += [ "jsoncpp:jsoncpp" ] 238 } 239 240 defines += [ "USE_ACE_SKIA" ] 241 242 if (defined(graphic_2d_feature_enable_ddgr) && 243 graphic_2d_feature_enable_ddgr) { 244 defines += [ "ENABLE_DDGR_OPTIMIZE" ] 245 sources += ddgr_adapter_opt_set.drawing_ddgr_adapter_src_set 246 include_dirs += ddgr_adapter_opt_set.drawing_ddgr_adapter_include_set 247 public_deps += [ "$graphic_2d_ext_root/ddgr:libddgr" ] 248 } 249 250 if (enable_text_gine) { 251 defines += [ "USE_GRAPHIC_TEXT_GINE" ] 252 if (use_texgine) { 253 defines += [ "USE_TEXGINE" ] 254 } 255 include_dirs += [ 256 "$rosen_root/modules/2d_engine/rosen_text", 257 "$rosen_root/modules/2d_engine/rosen_text/adapter", 258 "$rosen_root/modules/2d_engine/rosen_text/export", 259 "$platform_dir/image_native", 260 ] 261 if (defined(use_new_skia) && use_new_skia) { 262 defines += [ "NEW_SKIA" ] 263 } 264 } else { 265 sources += [ 266 "$rosen_text_root/properties/font_collection_txt.cpp", 267 "$rosen_text_root/properties/placeholder_run.cpp", 268 "$rosen_text_root/properties/rosen_converter_txt.cpp", 269 "$rosen_text_root/properties/text_style.cpp", 270 "$rosen_text_root/properties/typography_create_txt.cpp", 271 "$rosen_text_root/properties/typography_style.cpp", 272 "$rosen_text_root/properties/typography_txt.cpp", 273 "$rosen_text_root/ui/font_collection.cpp", 274 "$rosen_text_root/ui/typography.cpp", 275 "$rosen_text_root/ui/typography_create.cpp", 276 ] 277 include_dirs += [ "$rosen_2d_engine_root" ] 278 } 279 if (graphic_2d_feature_enable_vulkan) { 280 defines += [ "RS_ENABLE_VK" ] 281 public_external_deps += [ "vulkan-headers:vulkan_headers" ] 282 } 283 if (platform == "ohos" || platform == "ohos_ng") { 284 external_deps += [ 285 "bounds_checking_function:libsec_static", 286 "hilog:libhilog", 287 "hitrace:hitrace_meter", 288 "skia:skia_canvaskit", 289 ] 290 291 defines += [ "USE_GRAPHIC_TEXT_GINE" ] 292 deps = [ "$graphic_2d_root/rosen/build/icu:rosen_libicu_$platform" ] 293 defines += [ 294 "SUPPORT_OHOS_PIXMAP", 295 "ROSEN_OHOS", 296 ] 297 298 if (!defined(use_new_skia) || !use_new_skia) { 299 include_dirs += [ "$flutter_root/engine/flutter/third_party/txt/src" ] 300 } 301 } else { 302 deps = [] 303 cflags = [ "-std=c++17" ] 304 305 deps += [ "$rosen_root/modules/platform:hilog" ] 306 307 if (is_arkui_x) { 308 deps += [ 309 "//third_party/bounds_checking_function:libsec_static", 310 "//third_party/skia:skia_$platform", 311 ] 312 } else { 313 external_deps += [ 314 "bounds_checking_function:libsec_static", 315 "skia:skia_canvaskit", 316 ] 317 } 318 319 deps += [ "$graphic_2d_root/utils:sandbox_utils" ] 320 defines += [ "MODULE_DRAWING" ] 321 if (is_arkui_x) { 322 defines += [ "CROSS_PLATFORM" ] 323 deps += [ "//foundation/graphic/graphic_2d/rosen/build/icu:rosen_libicu_$platform" ] 324 } 325 326 defines += [ "USE_GRAPHIC_TEXT_GINE" ] 327 } 328 if (enable_text_gine) { 329 deps += [ "$rosen_root/modules/2d_engine/rosen_text:rosen_text_inner" ] 330 defines += [ "USE_GRAPHIC_TEXT_GINE" ] 331 if (use_skia_txt) { 332 include_dirs += 333 [ "$graphic_2d_root/rosen/modules/2d_engine/rosen_text/skia_txt" ] 334 } 335 } 336 if (rosen_is_ohos) { 337 defines += gpu_defines 338 if (rs_enable_gpu) { 339 defines += [ 340 "GL_GLEXT_PROTOTYPES", 341 "EGL_EGLEXT_PROTOTYPES", 342 ] 343 } 344 public_deps += [ 345 "$graphic_2d_root/frameworks/opengl_wrapper:EGL", 346 "$graphic_2d_root/frameworks/opengl_wrapper:GLESv3", 347 ] 348 external_deps += [ "c_utils:utils" ] 349 public_external_deps += [ "graphic_surface:surface" ] 350 } 351 352 part_name = "graphic_2d" 353 subsystem_name = "graphic" 354 } 355} 356 357foreach(item, ace_platforms) { 358 graphics2d_source_set("2d_graphics_source_" + item.name) { 359 platform = item.name 360 defines = [] 361 362 if (defined(item.config)) { 363 config = item.config 364 } else { 365 config = { 366 } 367 } 368 369 if (defined(config.defines)) { 370 defines += config.defines 371 } 372 373 if (defined(config.cflags_cc)) { 374 cflags_cc = config.cflags_cc 375 } else { 376 cflags_cc = [] 377 } 378 } 379} 380 381if (!is_arkui_x) { 382 ## Build 2d_graphics.so 383 ohos_shared_library("2d_graphics") { 384 sanitize = { 385 cfi = true 386 cfi_cross_dso = true 387 cfi_no_nvcall = true 388 cfi_vcall_icall_only = true 389 debug = false 390 } 391 platform = current_os 392 if (platform == "mingw") { 393 platform = "windows" 394 } 395 if (!(host_os == "linux" && host_cpu == "arm64")) { 396 deps = [ ":2d_graphics_source_$platform" ] 397 } 398 399 external_deps = [ 400 "bounds_checking_function:libsec_static", 401 "hilog:libhilog", 402 ] 403 public_external_deps = [ "skia:skia_canvaskit" ] 404 public_configs = [ ":export_config" ] 405 406 if (platform == "ohos") { 407 version_script = "2d_graphics.versionscript" 408 } 409 410 part_name = "graphic_2d" 411 subsystem_name = "graphic" 412 } 413} else { 414 ohos_source_set("2d_graphics") { 415 platform = current_os 416 417 deps = [ ":2d_graphics_source_$platform" ] 418 419 if (is_arkui_x) { 420 include_dirs = [ "//third_party/bounds_checking_function/include" ] 421 deps += [ "//third_party/bounds_checking_function:libsec_static" ] 422 } else { 423 external_deps += [ "bounds_checking_function:libsec_static" ] 424 } 425 public_configs = [ ":export_config" ] 426 part_name = "graphic_2d" 427 subsystem_name = "graphic" 428 } 429} 430 431if (enable_text_gine) { 432 ohos_shared_library("2d_graphics_new") { 433 platform = current_os 434 if (platform == "mingw") { 435 platform = "windows" 436 } 437 deps = [ "$rosen_root/modules/texgine/texgine_drawing:libtexgine_drawing" ] 438 if (!(host_os == "linux" && host_cpu == "arm64")) { 439 deps += [ ":2d_graphics_source_$platform" ] 440 } 441 external_deps = [ "hilog:libhilog" ] 442 public_external_deps = [ "bounds_checking_function:libsec_static" ] 443 defines += [ "USE_GRAPHIC_TEXT_GINE" ] 444 public_configs = [ ":2d_graphics_config" ] 445 innerapi_tags = [ "platformsdk_indirect" ] 446 part_name = "graphic_2d" 447 subsystem_name = "graphic" 448 } 449} 450 451## Build 2d_graphics.so 452ohos_shared_library("2d_graphics_canvaskit0310") { 453 sanitize = { 454 cfi = true 455 cfi_cross_dso = true 456 cfi_no_nvcall = true 457 cfi_vcall_icall_only = true 458 debug = false 459 } 460 sources = [ 461 "$drawing_core_src_dir/draw/brush.cpp", 462 "$drawing_core_src_dir/draw/color.cpp", 463 "$drawing_core_src_dir/draw/core_canvas.cpp", 464 "$drawing_core_src_dir/draw/path.cpp", 465 "$drawing_core_src_dir/draw/pen.cpp", 466 "$drawing_core_src_dir/effect/blur_draw_looper.cpp", 467 "$drawing_core_src_dir/effect/color_filter.cpp", 468 "$drawing_core_src_dir/effect/color_space.cpp", 469 "$drawing_core_src_dir/effect/filter.cpp", 470 "$drawing_core_src_dir/effect/image_filter.cpp", 471 "$drawing_core_src_dir/effect/mask_filter.cpp", 472 "$drawing_core_src_dir/effect/path_effect.cpp", 473 "$drawing_core_src_dir/effect/runtime_effect.cpp", 474 "$drawing_core_src_dir/effect/runtime_shader_builder.cpp", 475 "$drawing_core_src_dir/effect/shader_effect.cpp", 476 "$drawing_core_src_dir/engine_adapter/impl_factory.cpp", 477 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_bitmap.cpp", 478 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_camera.cpp", 479 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_canvas.cpp", 480 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_color_filter.cpp", 481 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_color_space.cpp", 482 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_graphics.cpp", 483 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_helper.cpp", 484 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_image.cpp", 485 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_image_filter.cpp", 486 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_impl_factory.cpp", 487 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_mask_filter.cpp", 488 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_matrix.cpp", 489 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_paint.cpp", 490 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_path.cpp", 491 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_path_effect.cpp", 492 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_picture.cpp", 493 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_pixmap.cpp", 494 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_runtime_effect.cpp", 495 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_runtime_shader_builder.cpp", 496 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_shader_effect.cpp", 497 "$drawing_core_src_dir/image/bitmap.cpp", 498 "$drawing_core_src_dir/image/image.cpp", 499 "$drawing_core_src_dir/image/picture.cpp", 500 "$drawing_core_src_dir/image/pixmap.cpp", 501 "$drawing_core_src_dir/text/text.cpp", 502 "$drawing_core_src_dir/utils/camera3d.cpp", 503 "$drawing_core_src_dir/utils/matrix.cpp", 504 ] 505 506 if (enable_text_gine) { 507 defines += [ "USE_CANVASKIT0310_SKIA" ] 508 } else { 509 defines = [ "USE_CANVASKIT0310_SKIA" ] 510 } 511 512 include_dirs = [ 513 "$drawing_core_include_dir", 514 "$src_dir", 515 "$drawing_core_src_dir", 516 "$drawing_core_src_dir/engine_adapter", 517 ] 518 519 external_deps = [ 520 "hilog:libhilog", 521 "image_framework:image_native", 522 ] 523 524 if (!is_arkui_x) { 525 deps = [ 526 # "//third_party/skia_canvaskit0310:skia", 527 ] 528 external_deps += [ "graphic_surface:surface" ] 529 } 530 531 if (enable_text_gine) { 532 defines += [ "USE_GRAPHIC_TEXT_GINE" ] 533 } 534 535 part_name = "graphic_2d" 536 subsystem_name = "graphic" 537} 538 539group("2d_graphics_packages") { 540 deps = [ 541 "$drawing_root:2d_graphics", 542 "$drawing_root/drawing_ndk:native_drawing_ndk", 543 ] 544} 545