1# Copyright (c) 2023-2024 Huawei Device Co., Ltd. 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/config/components/multimodalinput/cursor_config.gni") 15import("../../../device_status.gni") 16 17config("interaction_drag_public_config") { 18 include_dirs = [ "include" ] 19} 20 21ohos_shared_library("interaction_drag") { 22 sanitize = { 23 integer_overflow = true 24 ubsan = true 25 boundary_sanitize = true 26 cfi = true 27 cfi_cross_dso = true 28 debug = false 29 } 30 31 branch_protector_ret = "pac_ret" 32 33 include_dirs = [ 34 "include", 35 "${device_status_interfaces_path}/innerkits/interaction/include", 36 "${device_status_utils_path}/include", 37 "${device_status_service_path}/context/include", 38 "${device_status_service_path}/interaction/drag/include", 39 "${device_status_service_path}/native/include", 40 ] 41 42 sources = [ 43 "src/collaboration_service_status_change.cpp", 44 "src/display_change_event_listener.cpp", 45 "src/drag_data_manager.cpp", 46 "src/drag_drawing.cpp", 47 "src/drag_hisysevent.cpp", 48 "src/drag_manager.cpp", 49 "src/drag_smooth_processor.cpp", 50 "src/drag_vsync_station.cpp", 51 "src/event_hub.cpp", 52 "src/state_change_notify.cpp", 53 ] 54 55 defines = device_status_default_defines 56 57 public_configs = [ ":interaction_drag_public_config" ] 58 59 if (defined(use_rosen_drawing) && use_rosen_drawing) { 60 defines += [ "USE_ROSEN_DRAWING" ] 61 } 62 63 if (defined(input_ext_feature_magiccursor) && input_ext_feature_magiccursor) { 64 defines += [ "OHOS_BUILD_ENABLE_MAGICCURSOR" ] 65 } 66 67 deps = [ 68 "${device_status_root_path}/etc/drag_icon:device_status_drag_icon", 69 "${device_status_root_path}/intention/prototype:intention_prototype", 70 "${device_status_root_path}/utils/ipc:devicestatus_ipc", 71 "${device_status_utils_path}:devicestatus_util", 72 ] 73 74 external_deps = [ 75 "ability_base:want", 76 "cJSON:cjson", 77 "c_utils:utils", 78 "common_event_service:cesfwk_innerkits", 79 "device_info_manager:distributed_device_profile_common", 80 "device_info_manager:distributed_device_profile_sdk", 81 "device_manager:devicemanagersdk", 82 "dsoftbus:softbus_client", 83 "eventhandler:libeventhandler", 84 "graphic_2d:libcomposer", 85 "graphic_2d:librender_service_base", 86 "graphic_2d:librender_service_client", 87 "graphic_2d:window_animation", 88 "hilog:libhilog", 89 "hisysevent:libhisysevent", 90 "hitrace:hitrace_meter", 91 "image_framework:image_native", 92 "init:libbegetutil", 93 "input:libmmi-client", 94 "ipc:ipc_single", 95 "libxml2:libxml2", 96 "qos_manager:concurrent_task_client", 97 "qos_manager:qos", 98 "samgr:samgr_proxy", 99 "udmf:udmf_client", 100 "window_manager:libdm", 101 "window_manager:libwm_lite", 102 ] 103 104 subsystem_name = "${device_status_subsystem_name}" 105 part_name = "${device_status_part_name}" 106} 107