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/path_iterator.cpp", 82 "$drawing_core_src_dir/draw/pen.cpp", 83 "$drawing_core_src_dir/draw/surface.cpp", 84 "$drawing_core_src_dir/effect/blender.cpp", 85 "$drawing_core_src_dir/effect/blur_draw_looper.cpp", 86 "$drawing_core_src_dir/effect/color_filter.cpp", 87 "$drawing_core_src_dir/effect/color_matrix.cpp", 88 "$drawing_core_src_dir/effect/color_space.cpp", 89 "$drawing_core_src_dir/effect/filter.cpp", 90 "$drawing_core_src_dir/effect/image_filter.cpp", 91 "$drawing_core_src_dir/effect/mask_filter.cpp", 92 "$drawing_core_src_dir/effect/path_effect.cpp", 93 "$drawing_core_src_dir/effect/runtime_blender_builder.cpp", 94 "$drawing_core_src_dir/effect/runtime_effect.cpp", 95 "$drawing_core_src_dir/effect/runtime_shader_builder.cpp", 96 "$drawing_core_src_dir/effect/shader_effect.cpp", 97 "$drawing_core_src_dir/engine_adapter/impl_factory.cpp", 98 "$drawing_core_src_dir/engine_adapter/skia_adapter/rs_skia_memory_tracer.cpp", 99 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_bitmap.cpp", 100 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_blender.cpp", 101 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_camera.cpp", 102 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_canvas.cpp", 103 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_canvas_autocache.cpp", 104 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_color_filter.cpp", 105 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_color_space.cpp", 106 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_data.cpp", 107 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_document.cpp", 108 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_file_w_stream.cpp", 109 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_font.cpp", 110 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_font_mgr.cpp", 111 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_font_style_set.cpp", 112 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_graphics.cpp", 113 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_helper.cpp", 114 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_hm_symbol.cpp", 115 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_hm_symbol_config_ohos.cpp", 116 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_image.cpp", 117 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_image_filter.cpp", 118 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_impl_factory.cpp", 119 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_mask_filter.cpp", 120 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_matrix.cpp", 121 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_matrix44.cpp", 122 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_memory_stream.cpp", 123 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_paint.cpp", 124 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_path.cpp", 125 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_path_effect.cpp", 126 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_path_iterator.cpp", 127 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_picture.cpp", 128 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_picture_recorder.cpp", 129 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_pixmap.cpp", 130 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_region.cpp", 131 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_runtime_blender_builder.cpp", 132 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_runtime_effect.cpp", 133 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_runtime_shader_builder.cpp", 134 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_serial_procs.cpp", 135 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_shader_effect.cpp", 136 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_sharing_serial_context.cpp", 137 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_static_factory.cpp", 138 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_surface.cpp", 139 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_text_blob.cpp", 140 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_text_blob_builder.cpp", 141 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_texture_info.cpp", 142 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_trace_memory_dump.cpp", 143 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_typeface.cpp", 144 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_utils.cpp", 145 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_vertices.cpp", 146 "$drawing_core_src_dir/engine_adapter/static_factory.cpp", 147 "$drawing_core_src_dir/image/bitmap.cpp", 148 "$drawing_core_src_dir/image/image.cpp", 149 "$drawing_core_src_dir/image/picture.cpp", 150 "$drawing_core_src_dir/image/pixmap.cpp", 151 "$drawing_core_src_dir/image/trace_memory_dump.cpp", 152 "$drawing_core_src_dir/recording/cmd_list.cpp", 153 "$drawing_core_src_dir/recording/cmd_list_helper.cpp", 154 "$drawing_core_src_dir/recording/draw_cmd.cpp", 155 "$drawing_core_src_dir/recording/draw_cmd_list.cpp", 156 "$drawing_core_src_dir/recording/mask_cmd_list.cpp", 157 "$drawing_core_src_dir/recording/mem_allocator.cpp", 158 "$drawing_core_src_dir/recording/record_cmd.cpp", 159 "$drawing_core_src_dir/recording/recording_canvas.cpp", 160 "$drawing_core_src_dir/text/font.cpp", 161 "$drawing_core_src_dir/text/font_mgr.cpp", 162 "$drawing_core_src_dir/text/font_style_set.cpp", 163 "$drawing_core_src_dir/text/hm_symbol.cpp", 164 "$drawing_core_src_dir/text/hm_symbol_config_ohos.cpp", 165 "$drawing_core_src_dir/text/text.cpp", 166 "$drawing_core_src_dir/text/text_blob.cpp", 167 "$drawing_core_src_dir/text/text_blob_builder.cpp", 168 "$drawing_core_src_dir/text/typeface.cpp", 169 "$drawing_core_src_dir/utils/camera3d.cpp", 170 "$drawing_core_src_dir/utils/data.cpp", 171 "$drawing_core_src_dir/utils/document.cpp", 172 "$drawing_core_src_dir/utils/file_w_stream.cpp", 173 "$drawing_core_src_dir/utils/matrix.cpp", 174 "$drawing_core_src_dir/utils/matrix44.cpp", 175 "$drawing_core_src_dir/utils/memory_stream.cpp", 176 "$drawing_core_src_dir/utils/object_mgr.cpp", 177 "$drawing_core_src_dir/utils/perfmonitor_reporter.cpp", 178 "$drawing_core_src_dir/utils/performanceCaculate.cpp", 179 "$drawing_core_src_dir/utils/picture_recorder.cpp", 180 "$drawing_core_src_dir/utils/region.cpp", 181 "$drawing_core_src_dir/utils/resource_holder.cpp", 182 "$drawing_core_src_dir/utils/round_rect.cpp", 183 "$drawing_core_src_dir/utils/serial_procs.cpp", 184 "$drawing_core_src_dir/utils/sharing_serial_context.cpp", 185 "$drawing_core_src_dir/utils/string_util.cpp", 186 "$drawing_core_src_dir/utils/vertices.cpp", 187 ] 188 189 if (platform == "ohos" || platform == "ohos_ng") { 190 sanitize = { 191 boundary_sanitize = true 192 integer_overflow = true 193 ubsan = true 194 } 195 external_deps += [ "init:libbegetutil" ] 196 sources += [ "$drawing_core_src_dir/utils/system_properties.cpp" ] 197 if (defined( 198 graphic_2d_platform_configs.system_graphic_properties_sources)) { 199 sources += graphic_2d_platform_configs.system_graphic_properties_sources 200 } else { 201 sources += 202 [ "$drawing_core_src_dir/utils/system_graphic_properties.cpp" ] 203 } 204 } 205 if (is_emulator) { 206 defines += [ "ROSEN_EMULATOR" ] 207 } 208 209 include_dirs = [ 210 "$drawing_core_include_dir", 211 "$src_dir", 212 "$drawing_core_src_dir", 213 "$drawing_core_src_dir/engine_adapter", 214 "$rosen_root/modules/render_service_base/include", 215 "$rosen_root/modules/texgine/src", 216 "$rosen_root/modules/texgine/texgine_drawing/src", 217 "$rosen_root/../interfaces/kits/napi/graphic/drawing/common_napi", 218 ] 219 220 external_deps += [ "skia:skia_canvaskit" ] 221 222 if (defined(graphic_2d_feature_enable_sdf) && 223 graphic_2d_feature_enable_sdf) { 224 deps += [ "graphic_2d_ext:libsdf" ] 225 include_dirs += [ "$graphic_2d_ext_root/sdf/include" ] 226 defines += [ "RS_ENABLE_SDF" ] 227 } 228 229 if (rs_enable_gpu) { 230 sources += [ 231 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_gpu_context.cpp", 232 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_task_executor.cpp", 233 "$drawing_core_src_dir/image/gpu_context.cpp", 234 ] 235 defines += [ "RS_ENABLE_GPU" ] 236 237 if (!is_emulator && !build_ohos_sdk && !is_arkui_x) { 238 external_deps += [ "qos_manager:qos" ] 239 defines += [ "SKIA_PRIO_SCHED_ENABLE" ] 240 } 241 242 if (!build_ohos_sdk && !is_arkui_x) { 243 defines += [ "RES_SCHED_ENABLE" ] 244 include_dirs += [ "$rosen_root/modules/frame_report/include" ] 245 if (rosen_is_ohos) { 246 sources += 247 [ "$rosen_root/modules/frame_report/src/rs_frame_report.cpp" ] 248 } else { 249 sources += [ 250 "$rosen_root/modules/frame_report/src/mingw/rs_frame_report.cpp", 251 ] 252 } 253 } 254 } 255 256 if (is_arkui_x) { 257 configs = [ "//third_party/jsoncpp:jsoncpp_public_config" ] 258 } else { 259 external_deps += [ "jsoncpp:jsoncpp" ] 260 } 261 262 defines += [ "USE_ACE_SKIA" ] 263 264 if (defined(ddgr_ext_configs) && 265 (current_os == "linux" || current_os == "mingw") && 266 ddgr_ext_configs.ddgr_feature_cross_compile) { 267 public_deps += [ 268 "$graphic_2d_ext_root/ddgr:libddgr", 269 "$graphic_2d_ext_root/ddgr/tools/playbackengine:libplaybackengine", 270 ] 271 } 272 cflags = [] 273 if (defined(graphic_2d_ext_feature_enable_ddgr) && 274 graphic_2d_ext_feature_enable_ddgr) { 275 defines += [ "ENABLE_DDGR_OPTIMIZE" ] 276 sources += ddgr_adapter_opt_set.drawing_ddgr_adapter_src_set 277 include_dirs += ddgr_adapter_opt_set.drawing_ddgr_adapter_include_set 278 public_external_deps += [ "graphic_2d_ext:libddgr" ] 279 cflags += [ 280 "-fprofile-use=" + 281 rebase_path("${ddgr_feature_pgo_path}libddgr.profdata", 282 root_build_dir), 283 "-Wno-error=backend-plugin", 284 "-Wno-profile-instr-out-of-date", 285 "-Wno-profile-instr-unprofiled", 286 ] 287 } 288 289 if (enable_text_gine) { 290 defines += [ "USE_GRAPHIC_TEXT_GINE" ] 291 if (use_texgine) { 292 defines += [ "USE_TEXGINE" ] 293 } 294 include_dirs += [ 295 "$rosen_root/modules/2d_engine/rosen_text", 296 "$rosen_root/modules/2d_engine/rosen_text/adapter", 297 "$rosen_root/modules/2d_engine/rosen_text/export", 298 "$platform_dir/image_native", 299 ] 300 if (defined(use_new_skia) && use_new_skia) { 301 defines += [ "NEW_SKIA" ] 302 } 303 } else { 304 sources += [ 305 "$rosen_text_root/properties/font_collection_txt.cpp", 306 "$rosen_text_root/properties/placeholder_run.cpp", 307 "$rosen_text_root/properties/rosen_converter_txt.cpp", 308 "$rosen_text_root/properties/text_style.cpp", 309 "$rosen_text_root/properties/typography_create_txt.cpp", 310 "$rosen_text_root/properties/typography_style.cpp", 311 "$rosen_text_root/properties/typography_txt.cpp", 312 "$rosen_text_root/ui/font_collection.cpp", 313 "$rosen_text_root/ui/typography.cpp", 314 "$rosen_text_root/ui/typography_create.cpp", 315 ] 316 include_dirs += [ "$rosen_2d_engine_root" ] 317 } 318 if (graphic_2d_feature_enable_vulkan) { 319 defines += [ "RS_ENABLE_VK" ] 320 public_external_deps += [ "vulkan-headers:vulkan_headers" ] 321 } 322 if (platform == "ohos" || platform == "ohos_ng") { 323 external_deps += [ 324 "bounds_checking_function:libsec_static", 325 "hilog:libhilog", 326 "hitrace:hitrace_meter", 327 "icu:shared_icuuc", 328 "skia:skia_canvaskit", 329 ] 330 331 defines += [ "USE_GRAPHIC_TEXT_GINE" ] 332 deps = [] 333 defines += [ 334 "SUPPORT_OHOS_PIXMAP", 335 "ROSEN_OHOS", 336 ] 337 338 if (!defined(use_new_skia) || !use_new_skia) { 339 include_dirs += [ "$flutter_root/engine/flutter/third_party/txt/src" ] 340 } 341 } else { 342 deps = [] 343 cflags += [ "-std=c++17" ] 344 345 deps += [ "$rosen_root/modules/platform:hilog" ] 346 347 if (is_arkui_x) { 348 deps += [ 349 "//third_party/bounds_checking_function:libsec_static", 350 "//third_party/skia:skia_$platform", 351 ] 352 } else { 353 external_deps += [ 354 "bounds_checking_function:libsec_static", 355 "skia:skia_canvaskit", 356 ] 357 } 358 359 deps += [ "$graphic_2d_root/utils:sandbox_utils" ] 360 defines += [ "MODULE_DRAWING" ] 361 if (is_arkui_x) { 362 defines += [ "CROSS_PLATFORM" ] 363 deps += [ "//third_party/icu/icu4c:static_icuuc" ] 364 } 365 366 defines += [ "USE_GRAPHIC_TEXT_GINE" ] 367 } 368 if (enable_text_gine) { 369 deps += [ "$rosen_root/modules/2d_engine/rosen_text:rosen_text_inner" ] 370 defines += [ "USE_GRAPHIC_TEXT_GINE" ] 371 if (use_skia_txt) { 372 include_dirs += 373 [ "$graphic_2d_root/rosen/modules/2d_engine/rosen_text/skia_txt" ] 374 } 375 } 376 if (rosen_is_ohos) { 377 defines += gpu_defines 378 if (rs_enable_gpu) { 379 defines += [ 380 "GL_GLEXT_PROTOTYPES", 381 "EGL_EGLEXT_PROTOTYPES", 382 ] 383 } 384 public_deps += [ 385 "$graphic_2d_root/frameworks/opengl_wrapper:EGL", 386 "$graphic_2d_root/frameworks/opengl_wrapper:GLESv3", 387 ] 388 external_deps += [ "c_utils:utils" ] 389 public_external_deps += [ "graphic_surface:surface" ] 390 } 391 392 part_name = "graphic_2d" 393 subsystem_name = "graphic" 394 } 395} 396 397foreach(item, ace_platforms) { 398 graphics2d_source_set("2d_graphics_source_" + item.name) { 399 platform = item.name 400 defines = [] 401 402 if (defined(item.config)) { 403 config = item.config 404 } else { 405 config = { 406 } 407 } 408 409 if (defined(config.defines)) { 410 defines += config.defines 411 } 412 413 if (defined(config.cflags_cc)) { 414 cflags_cc = config.cflags_cc 415 } else { 416 cflags_cc = [] 417 } 418 } 419} 420 421if (!is_arkui_x) { 422 ## Build 2d_graphics.so 423 ohos_shared_library("2d_graphics") { 424 branch_protector_ret = "pac_ret" 425 sanitize = { 426 cfi = true 427 cfi_cross_dso = true 428 cfi_no_nvcall = true 429 cfi_vcall_icall_only = true 430 debug = false 431 } 432 platform = current_os 433 if (platform == "mingw") { 434 platform = "windows" 435 } 436 deps = [ ":2d_graphics_source_$platform" ] 437 438 external_deps = [ 439 "bounds_checking_function:libsec_static", 440 "hilog:libhilog", 441 ] 442 public_external_deps = [ "skia:skia_canvaskit" ] 443 public_configs = [ ":export_config" ] 444 445 if (platform == "ohos") { 446 version_script = "2d_graphics.versionscript" 447 } 448 449 part_name = "graphic_2d" 450 subsystem_name = "graphic" 451 } 452} else { 453 ohos_source_set("2d_graphics") { 454 platform = current_os 455 456 deps = [ ":2d_graphics_source_$platform" ] 457 458 if (is_arkui_x) { 459 include_dirs = [ "//third_party/bounds_checking_function/include" ] 460 deps += [ "//third_party/bounds_checking_function:libsec_static" ] 461 } else { 462 external_deps += [ "bounds_checking_function:libsec_static" ] 463 } 464 public_configs = [ ":export_config" ] 465 part_name = "graphic_2d" 466 subsystem_name = "graphic" 467 } 468} 469 470if (enable_text_gine) { 471 ohos_shared_library("2d_graphics_new") { 472 platform = current_os 473 if (platform == "mingw") { 474 platform = "windows" 475 } 476 deps = [ ":2d_graphics_source_$platform" ] 477 external_deps = [ "hilog:libhilog" ] 478 public_external_deps = [ "bounds_checking_function:libsec_static" ] 479 defines += [ "USE_GRAPHIC_TEXT_GINE" ] 480 public_configs = [ ":2d_graphics_config" ] 481 innerapi_tags = [ "platformsdk_indirect" ] 482 part_name = "graphic_2d" 483 subsystem_name = "graphic" 484 } 485} 486 487## Build 2d_graphics.so 488ohos_shared_library("2d_graphics_canvaskit0310") { 489 sanitize = { 490 cfi = true 491 cfi_cross_dso = true 492 cfi_no_nvcall = true 493 cfi_vcall_icall_only = true 494 debug = false 495 } 496 sources = [ 497 "$drawing_core_src_dir/draw/brush.cpp", 498 "$drawing_core_src_dir/draw/color.cpp", 499 "$drawing_core_src_dir/draw/core_canvas.cpp", 500 "$drawing_core_src_dir/draw/path.cpp", 501 "$drawing_core_src_dir/draw/path_iterator.cpp", 502 "$drawing_core_src_dir/draw/pen.cpp", 503 "$drawing_core_src_dir/effect/blur_draw_looper.cpp", 504 "$drawing_core_src_dir/effect/color_filter.cpp", 505 "$drawing_core_src_dir/effect/color_space.cpp", 506 "$drawing_core_src_dir/effect/filter.cpp", 507 "$drawing_core_src_dir/effect/image_filter.cpp", 508 "$drawing_core_src_dir/effect/mask_filter.cpp", 509 "$drawing_core_src_dir/effect/path_effect.cpp", 510 "$drawing_core_src_dir/effect/runtime_effect.cpp", 511 "$drawing_core_src_dir/effect/runtime_shader_builder.cpp", 512 "$drawing_core_src_dir/effect/shader_effect.cpp", 513 "$drawing_core_src_dir/engine_adapter/impl_factory.cpp", 514 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_bitmap.cpp", 515 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_camera.cpp", 516 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_canvas.cpp", 517 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_color_filter.cpp", 518 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_color_space.cpp", 519 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_document.cpp", 520 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_file_w_stream.cpp", 521 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_graphics.cpp", 522 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_helper.cpp", 523 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_image.cpp", 524 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_image_filter.cpp", 525 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_impl_factory.cpp", 526 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_mask_filter.cpp", 527 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_matrix.cpp", 528 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_paint.cpp", 529 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_path.cpp", 530 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_path_effect.cpp", 531 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_path_iterator.cpp", 532 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_picture.cpp", 533 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_picture_recorder.cpp", 534 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_pixmap.cpp", 535 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_runtime_effect.cpp", 536 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_runtime_shader_builder.cpp", 537 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_serial_procs.cpp", 538 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_shader_effect.cpp", 539 "$drawing_core_src_dir/engine_adapter/skia_adapter/skia_sharing_serial_context.cpp", 540 "$drawing_core_src_dir/image/bitmap.cpp", 541 "$drawing_core_src_dir/image/image.cpp", 542 "$drawing_core_src_dir/image/picture.cpp", 543 "$drawing_core_src_dir/image/pixmap.cpp", 544 "$drawing_core_src_dir/text/text.cpp", 545 "$drawing_core_src_dir/utils/camera3d.cpp", 546 "$drawing_core_src_dir/utils/document.cpp", 547 "$drawing_core_src_dir/utils/file_w_stream.cpp", 548 "$drawing_core_src_dir/utils/matrix.cpp", 549 "$drawing_core_src_dir/utils/picture_recorder.cpp", 550 "$drawing_core_src_dir/utils/serial_procs.cpp", 551 "$drawing_core_src_dir/utils/sharing_serial_context.cpp", 552 ] 553 554 if (enable_text_gine) { 555 defines += [ "USE_CANVASKIT0310_SKIA" ] 556 } else { 557 defines = [ "USE_CANVASKIT0310_SKIA" ] 558 } 559 560 include_dirs = [ 561 "$drawing_core_include_dir", 562 "$src_dir", 563 "$drawing_core_src_dir", 564 "$drawing_core_src_dir/engine_adapter", 565 ] 566 567 external_deps = [ 568 "hilog:libhilog", 569 "image_framework:image_native", 570 ] 571 572 external_deps += [ "skia:skia_canvaskit" ] 573 if (defined(graphic_2d_feature_enable_sdf) && graphic_2d_feature_enable_sdf) { 574 deps = [ "graphic_2d_ext:libsdf" ] 575 include_dirs += [ "$graphic_2d_ext_root/sdf/include" ] 576 defines += [ "RS_ENABLE_SDF" ] 577 } 578 579 if (!is_arkui_x) { 580 deps = [ 581 # "//third_party/skia_canvaskit0310:skia", 582 ] 583 external_deps += [ "graphic_surface:surface" ] 584 } 585 586 if (enable_text_gine) { 587 defines += [ "USE_GRAPHIC_TEXT_GINE" ] 588 } 589 590 part_name = "graphic_2d" 591 subsystem_name = "graphic" 592} 593 594group("2d_graphics_packages") { 595 deps = [ 596 "$drawing_root:2d_graphics", 597 "$drawing_root/drawing_ndk:native_drawing_ndk", 598 ] 599} 600