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 "//third_party/skia/include/core", 203 "//third_party/skia/src/core", 204 "$rosen_root/modules/texgine/src", 205 "$rosen_root/modules/texgine/texgine_drawing/src", 206 "$rosen_root/../interfaces/kits/napi/graphic/drawing/common_napi", 207 ] 208 209 if (rs_enable_gpu) { 210 sources += [ 211 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_gpu_context.cpp", 212 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_task_executor.cpp", 213 "$drawing_core_src_dir/image/gpu_context.cpp", 214 ] 215 defines += [ "RS_ENABLE_GPU" ] 216 217 if (!is_emulator && !build_ohos_sdk && !is_arkui_x) { 218 external_deps += [ "qos_manager:qos" ] 219 defines += [ "SKIA_PRIO_SCHED_ENABLE" ] 220 } 221 222 if (!build_ohos_sdk && !is_arkui_x) { 223 defines += [ "RES_SCHED_ENABLE" ] 224 include_dirs += [ "$rosen_root/modules/frame_report/include" ] 225 if (rosen_is_ohos) { 226 sources += 227 [ "$rosen_root/modules/frame_report/src/rs_frame_report.cpp" ] 228 } else { 229 sources += [ 230 "$rosen_root/modules/frame_report/src/mingw/rs_frame_report.cpp", 231 ] 232 } 233 } 234 } 235 236 if (is_arkui_x) { 237 configs = [ "//third_party/jsoncpp:jsoncpp_public_config" ] 238 } else { 239 external_deps += [ "jsoncpp:jsoncpp" ] 240 } 241 242 defines += [ "USE_ACE_SKIA" ] 243 244 if (defined(graphic_2d_feature_enable_ddgr) && 245 graphic_2d_feature_enable_ddgr) { 246 defines += [ "ENABLE_DDGR_OPTIMIZE" ] 247 sources += ddgr_adapter_opt_set.drawing_ddgr_adapter_src_set 248 include_dirs += ddgr_adapter_opt_set.drawing_ddgr_adapter_include_set 249 public_deps += [ "$graphic_2d_ext_root/ddgr:libddgr" ] 250 } 251 252 if (enable_text_gine) { 253 defines += [ "USE_GRAPHIC_TEXT_GINE" ] 254 if (use_texgine) { 255 defines += [ "USE_TEXGINE" ] 256 } 257 include_dirs += [ 258 "$rosen_root/modules/2d_engine/rosen_text", 259 "$rosen_root/modules/2d_engine/rosen_text/adapter", 260 "$rosen_root/modules/2d_engine/rosen_text/export", 261 "$platform_dir/image_native", 262 ] 263 if (defined(use_new_skia) && use_new_skia) { 264 defines += [ "NEW_SKIA" ] 265 } 266 } else { 267 sources += [ 268 "$rosen_text_root/properties/font_collection_txt.cpp", 269 "$rosen_text_root/properties/placeholder_run.cpp", 270 "$rosen_text_root/properties/rosen_converter_txt.cpp", 271 "$rosen_text_root/properties/text_style.cpp", 272 "$rosen_text_root/properties/typography_create_txt.cpp", 273 "$rosen_text_root/properties/typography_style.cpp", 274 "$rosen_text_root/properties/typography_txt.cpp", 275 "$rosen_text_root/ui/font_collection.cpp", 276 "$rosen_text_root/ui/typography.cpp", 277 "$rosen_text_root/ui/typography_create.cpp", 278 ] 279 include_dirs += [ "$rosen_2d_engine_root" ] 280 } 281 if (graphic_2d_feature_enable_vulkan) { 282 defines += [ "RS_ENABLE_VK" ] 283 public_external_deps += [ "vulkan-headers:vulkan_headers" ] 284 } 285 if (platform == "ohos" || platform == "ohos_ng") { 286 external_deps += [ 287 "bounds_checking_function:libsec_static", 288 "hilog:libhilog", 289 "hitrace:hitrace_meter", 290 "skia:skia_canvaskit", 291 ] 292 293 defines += [ "USE_GRAPHIC_TEXT_GINE" ] 294 deps = [ "$graphic_2d_root/rosen/build/icu:rosen_libicu_$platform" ] 295 defines += [ 296 "SUPPORT_OHOS_PIXMAP", 297 "ROSEN_OHOS", 298 ] 299 300 if (defined(use_new_skia) && use_new_skia) { 301 remove_configs = [ "//build/config/compiler:default_include_dirs" ] 302 include_dirs += [ 303 "//", 304 root_gen_dir, 305 ] 306 } else { 307 include_dirs += [ "$flutter_root/engine/flutter/third_party/txt/src" ] 308 } 309 } else { 310 deps = [] 311 cflags = [ "-std=c++17" ] 312 313 deps += [ "$rosen_root/modules/platform:hilog" ] 314 315 if (is_arkui_x) { 316 deps += [ 317 "//third_party/bounds_checking_function:libsec_static", 318 "//third_party/skia:skia_$platform", 319 ] 320 } else { 321 external_deps += [ 322 "bounds_checking_function:libsec_static", 323 "skia:skia_canvaskit", 324 ] 325 } 326 327 deps += [ "$graphic_2d_root/utils:sandbox_utils" ] 328 defines += [ "MODULE_DRAWING" ] 329 if (is_arkui_x) { 330 defines += [ "CROSS_PLATFORM" ] 331 deps += [ "//foundation/graphic/graphic_2d/rosen/build/icu:rosen_libicu_$platform" ] 332 } 333 334 defines += [ "USE_GRAPHIC_TEXT_GINE" ] 335 } 336 if (enable_text_gine) { 337 deps += [ "$rosen_root/modules/2d_engine/rosen_text:rosen_text_inner" ] 338 defines += [ "USE_GRAPHIC_TEXT_GINE" ] 339 if (use_skia_txt) { 340 include_dirs += 341 [ "$graphic_2d_root/rosen/modules/2d_engine/rosen_text/skia_txt" ] 342 } 343 } 344 if (rosen_is_ohos) { 345 defines += gpu_defines 346 if (rs_enable_gpu) { 347 defines += [ 348 "GL_GLEXT_PROTOTYPES", 349 "EGL_EGLEXT_PROTOTYPES", 350 ] 351 } 352 public_deps += [ 353 "$graphic_2d_root/frameworks/opengl_wrapper:EGL", 354 "$graphic_2d_root/frameworks/opengl_wrapper:GLESv3", 355 ] 356 external_deps += [ "c_utils:utils" ] 357 public_external_deps += [ "graphic_surface:surface" ] 358 } 359 360 part_name = "graphic_2d" 361 subsystem_name = "graphic" 362 } 363} 364 365foreach(item, ace_platforms) { 366 graphics2d_source_set("2d_graphics_source_" + item.name) { 367 platform = item.name 368 defines = [] 369 370 if (defined(item.config)) { 371 config = item.config 372 } else { 373 config = { 374 } 375 } 376 377 if (defined(config.defines)) { 378 defines += config.defines 379 } 380 381 if (defined(config.cflags_cc)) { 382 cflags_cc = config.cflags_cc 383 } else { 384 cflags_cc = [] 385 } 386 } 387} 388 389if (!is_arkui_x) { 390 ## Build 2d_graphics.so 391 ohos_shared_library("2d_graphics") { 392 sanitize = { 393 cfi = true 394 cfi_cross_dso = true 395 cfi_no_nvcall = true 396 cfi_vcall_icall_only = true 397 debug = false 398 } 399 platform = current_os 400 if (platform == "mingw") { 401 platform = "windows" 402 } 403 if (!(host_os == "linux" && host_cpu == "arm64")) { 404 deps = [ ":2d_graphics_source_$platform" ] 405 } 406 407 external_deps = [ 408 "bounds_checking_function:libsec_static", 409 "hilog:libhilog", 410 ] 411 412 public_configs = [ ":export_config" ] 413 414 if (platform == "ohos") { 415 version_script = "2d_graphics.versionscript" 416 } 417 418 part_name = "graphic_2d" 419 subsystem_name = "graphic" 420 } 421} else { 422 ohos_source_set("2d_graphics") { 423 platform = current_os 424 425 deps = [ ":2d_graphics_source_$platform" ] 426 427 if (is_arkui_x) { 428 include_dirs = [ "//third_party/bounds_checking_function/include" ] 429 deps += [ "//third_party/bounds_checking_function:libsec_static" ] 430 } else { 431 external_deps += [ "bounds_checking_function:libsec_static" ] 432 } 433 public_configs = [ ":export_config" ] 434 part_name = "graphic_2d" 435 subsystem_name = "graphic" 436 } 437} 438 439if (enable_text_gine) { 440 ohos_shared_library("2d_graphics_new") { 441 platform = current_os 442 if (platform == "mingw") { 443 platform = "windows" 444 } 445 deps = [ "$rosen_root/modules/texgine/texgine_drawing:libtexgine_drawing" ] 446 if (!(host_os == "linux" && host_cpu == "arm64")) { 447 deps += [ ":2d_graphics_source_$platform" ] 448 } 449 external_deps = [ "hilog:libhilog" ] 450 public_external_deps = [ "bounds_checking_function:libsec_static" ] 451 defines += [ "USE_GRAPHIC_TEXT_GINE" ] 452 public_configs = [ ":2d_graphics_config" ] 453 innerapi_tags = [ "platformsdk_indirect" ] 454 part_name = "graphic_2d" 455 subsystem_name = "graphic" 456 } 457} 458 459## Build 2d_graphics.so 460ohos_shared_library("2d_graphics_canvaskit0310") { 461 sanitize = { 462 cfi = true 463 cfi_cross_dso = true 464 cfi_no_nvcall = true 465 cfi_vcall_icall_only = true 466 debug = false 467 } 468 sources = [ 469 "$drawing_core_src_dir/draw/brush.cpp", 470 "$drawing_core_src_dir/draw/color.cpp", 471 "$drawing_core_src_dir/draw/core_canvas.cpp", 472 "$drawing_core_src_dir/draw/path.cpp", 473 "$drawing_core_src_dir/draw/pen.cpp", 474 "$drawing_core_src_dir/effect/blur_draw_looper.cpp", 475 "$drawing_core_src_dir/effect/color_filter.cpp", 476 "$drawing_core_src_dir/effect/color_space.cpp", 477 "$drawing_core_src_dir/effect/filter.cpp", 478 "$drawing_core_src_dir/effect/image_filter.cpp", 479 "$drawing_core_src_dir/effect/mask_filter.cpp", 480 "$drawing_core_src_dir/effect/path_effect.cpp", 481 "$drawing_core_src_dir/effect/runtime_effect.cpp", 482 "$drawing_core_src_dir/effect/runtime_shader_builder.cpp", 483 "$drawing_core_src_dir/effect/shader_effect.cpp", 484 "$drawing_core_src_dir/engine_adapter/impl_factory.cpp", 485 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_bitmap.cpp", 486 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_camera.cpp", 487 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_canvas.cpp", 488 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_color_filter.cpp", 489 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_color_space.cpp", 490 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_graphics.cpp", 491 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_helper.cpp", 492 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_image.cpp", 493 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_image_filter.cpp", 494 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_impl_factory.cpp", 495 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_mask_filter.cpp", 496 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_matrix.cpp", 497 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_paint.cpp", 498 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_path.cpp", 499 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_path_effect.cpp", 500 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_picture.cpp", 501 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_pixmap.cpp", 502 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_runtime_effect.cpp", 503 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_runtime_shader_builder.cpp", 504 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_shader_effect.cpp", 505 "$drawing_core_src_dir/image/bitmap.cpp", 506 "$drawing_core_src_dir/image/image.cpp", 507 "$drawing_core_src_dir/image/picture.cpp", 508 "$drawing_core_src_dir/image/pixmap.cpp", 509 "$drawing_core_src_dir/text/text.cpp", 510 "$drawing_core_src_dir/utils/camera3d.cpp", 511 "$drawing_core_src_dir/utils/matrix.cpp", 512 ] 513 514 if (enable_text_gine) { 515 defines += [ "USE_CANVASKIT0310_SKIA" ] 516 } else { 517 defines = [ "USE_CANVASKIT0310_SKIA" ] 518 } 519 520 include_dirs = [ 521 "$drawing_core_include_dir", 522 "$src_dir", 523 "$drawing_core_src_dir", 524 "$drawing_core_src_dir/engine_adapter", 525 ] 526 527 external_deps = [ 528 "hilog:libhilog", 529 "image_framework:image_native", 530 ] 531 532 if (!is_arkui_x) { 533 deps = [ 534 # "//third_party/skia_canvaskit0310:skia", 535 ] 536 external_deps += [ "graphic_surface:surface" ] 537 } 538 539 if (enable_text_gine) { 540 defines += [ "USE_GRAPHIC_TEXT_GINE" ] 541 } 542 543 part_name = "graphic_2d" 544 subsystem_name = "graphic" 545} 546 547group("2d_graphics_packages") { 548 deps = [ 549 "$drawing_root:2d_graphics", 550 "$drawing_root/drawing_ndk:native_drawing_ndk", 551 ] 552} 553