已合并
翻译结束:update docs #132606
dido_123创建于 3月5日
翻译结束:update docs #132606
已合并
共 13 个文件变更+264-112
| @@ -32,7 +32,7 @@ During Bluetooth service development, two types of address are defined. | |||
| 32 | 32 | ||
| 33 | - Bluetooth device address type defined by the Bluetooth subsystem. The actual MAC address of a Bluetooth device belongs to user private information. During device discovery, the Bluetooth subsystem assigns a virtual MAC address to each Bluetooth device and saves the mapping between the virtual MAC address and the actual MAC address. | 33 | - Bluetooth device address type defined by the Bluetooth subsystem. The actual MAC address of a Bluetooth device belongs to user private information. During device discovery, the Bluetooth subsystem assigns a virtual MAC address to each Bluetooth device and saves the mapping between the virtual MAC address and the actual MAC address. |
| 34 | 34 | ||
| 35 | -- Bluetooth device address type defined by the Bluetooth protocol. The Bluetooth device address type defined by the Bluetooth protocol are classified into two subtypes: public address and random address. Traditional Bluetooth devices use public addresses, while Bluetooth Low Energy (BLE) devices can use public addresses or random addresses. Random addresses include static random addresses and private random addresses. Private random addresses are further classified into non-resolvable private addresses and resolvable private addresses. The following table describes each address type. | 35 | +- Bluetooth device address type defined by the Bluetooth protocol. The Bluetooth device address type defined by the Bluetooth protocol are classified into two subtypes: public address and random address. Classic Bluetooth devices use public addresses, while Bluetooth Low Energy (BLE) devices can use public addresses or random addresses. Random addresses include static random addresses and private random addresses. Private random addresses are further classified into non-resolvable private addresses and resolvable private addresses. The following table describes each address type. |
| 36 | 36 | ||
| 37 | | Type | Description | | 37 | | Type | Description | |
| 38 | | ------------------ | ------ | | 38 | | ------------------ | ------ | |
| @@ -34,7 +34,7 @@ Provides a collection of native-side Node type APIs provided by ArkUI. APIs rela | |||
| 34 | | Name| Description| | 34 | | Name| Description| |
| 35 | | -- | -- | | 35 | | -- | -- | |
| 36 | | [ArkUI_NodeHandle (\*createNode)(ArkUI_NodeType type)](#createnode) | Creates a component based on [ArkUI_NodeType](capi-native-node-h.md#arkui_nodetype) and returns the pointer to the component object.| | 36 | | [ArkUI_NodeHandle (\*createNode)(ArkUI_NodeType type)](#createnode) | Creates a component based on [ArkUI_NodeType](capi-native-node-h.md#arkui_nodetype) and returns the pointer to the component object.| |
| 37 | -| [void (\*disposeNode)(ArkUI_NodeHandle node)](#disposenode) | Disposes the component to which the specified pointer points.| | 37 | +| [void (\*disposeNode)(ArkUI_NodeHandle node)](#disposenode) | Disposes of the component to which the specified pointer points.| |
| 38 | | [int32_t (\*addChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child)](#addchild) | Attaches a component to a parent node.| | 38 | | [int32_t (\*addChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child)](#addchild) | Attaches a component to a parent node.| |
| 39 | | [int32_t (\*removeChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child)](#removechild) | Removes a component from its parent node.| | 39 | | [int32_t (\*removeChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child)](#removechild) | Removes a component from its parent node.| |
| 40 | | [int32_t (\*insertChildAfter)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, ArkUI_NodeHandle sibling)](#insertchildafter) | Attaches a component to a parent node, with the position after the **sibling** node.| | 40 | | [int32_t (\*insertChildAfter)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, ArkUI_NodeHandle sibling)](#insertchildafter) | Attaches a component to a parent node, with the position after the **sibling** node.| |
| @@ -47,7 +47,7 @@ Provides a collection of native-side Node type APIs provided by ArkUI. APIs rela | |||
| 47 | | [void (\*unregisterNodeEvent)(ArkUI_NodeHandle node, ArkUI_NodeEventType eventType)](#unregisternodeevent) | Unregisters an event for the specified node.| | 47 | | [void (\*unregisterNodeEvent)(ArkUI_NodeHandle node, ArkUI_NodeEventType eventType)](#unregisternodeevent) | Unregisters an event for the specified node.| |
| 48 | | [void (\*registerNodeEventReceiver)(void (\*eventReceiver)(ArkUI_NodeEvent* event))](#registernodeeventreceiver) | Registers a unified entry point for event callbacks. The ArkUI framework collects component events generated during processing and returns them through the registered **eventReceiver** API.<br> Repeated calls will override the previously registered API. Avoid directly saving pointers to **ArkUI_NodeEvent** objects, as the data will be destroyed after the callback is complete.<br> To bind with a component instance, you can use the **addNodeEventReceiver** function.<br>| | 48 | | [void (\*registerNodeEventReceiver)(void (\*eventReceiver)(ArkUI_NodeEvent* event))](#registernodeeventreceiver) | Registers a unified entry point for event callbacks. The ArkUI framework collects component events generated during processing and returns them through the registered **eventReceiver** API.<br> Repeated calls will override the previously registered API. Avoid directly saving pointers to **ArkUI_NodeEvent** objects, as the data will be destroyed after the callback is complete.<br> To bind with a component instance, you can use the **addNodeEventReceiver** function.<br>| |
| 49 | | [void (\*unregisterNodeEventReceiver)()](#unregisternodeeventreceiver) | Unregisters the unified entry point for event callbacks.| | 49 | | [void (\*unregisterNodeEventReceiver)()](#unregisternodeeventreceiver) | Unregisters the unified entry point for event callbacks.| |
| 50 | -| [void (\*markDirty)(ArkUI_NodeHandle node, ArkUI_NodeDirtyFlag dirtyFlag)](#markdirty) | Forces a node to be marked for re-measurement, layout, or drawing. Regarding updates to system attributes, the ArkUI framework automatically marks dirty areas and re-executes measurement, layout, or drawing; you do not need to call this API actively.| | 50 | +| [void (\*markDirty)(ArkUI_NodeHandle node, ArkUI_NodeDirtyFlag dirtyFlag)](#markdirty) | Forcibly marks the current node for re-measurement, re-layout, or re-drawing. Regarding updates to system attributes, the ArkUI framework automatically marks nodes and re-executes measurement, layout, or drawing; you do not need to call this API actively.| |
| 51 | | [uint32_t (\*getTotalChildCount)(ArkUI_NodeHandle node)](#gettotalchildcount) | Obtains the number of child nodes.| | 51 | | [uint32_t (\*getTotalChildCount)(ArkUI_NodeHandle node)](#gettotalchildcount) | Obtains the number of child nodes.| |
| 52 | | [ArkUI_NodeHandle (\*getChildAt)(ArkUI_NodeHandle node, int32_t position)](#getchildat) | Obtains a child node.| | 52 | | [ArkUI_NodeHandle (\*getChildAt)(ArkUI_NodeHandle node, int32_t position)](#getchildat) | Obtains a child node.| |
| 53 | | [ArkUI_NodeHandle (\*getFirstChild)(ArkUI_NodeHandle node)](#getfirstchild) | Obtains the first child node.| | 53 | | [ArkUI_NodeHandle (\*getFirstChild)(ArkUI_NodeHandle node)](#getfirstchild) | Obtains the first child node.| |
| @@ -63,7 +63,7 @@ Provides a collection of native-side Node type APIs provided by ArkUI. APIs rela | |||
| 63 | | [ArkUI_IntSize (\*getMeasuredSize)(ArkUI_NodeHandle node)](#getmeasuredsize) | Obtains the width and height of a component after measurement.| | 63 | | [ArkUI_IntSize (\*getMeasuredSize)(ArkUI_NodeHandle node)](#getmeasuredsize) | Obtains the width and height of a component after measurement.| |
| 64 | | [ArkUI_IntOffset (\*getLayoutPosition)(ArkUI_NodeHandle node)](#getlayoutposition) | Obtains the position of a component after the layout is complete.| | 64 | | [ArkUI_IntOffset (\*getLayoutPosition)(ArkUI_NodeHandle node)](#getlayoutposition) | Obtains the position of a component after the layout is complete.| |
| 65 | | [int32_t (\*measureNode)(ArkUI_NodeHandle node, ArkUI_LayoutConstraint* Constraint)](#measurenode) | Measures a node. You can use the **getMeasuredSize** API to obtain the size after the measurement.| | 65 | | [int32_t (\*measureNode)(ArkUI_NodeHandle node, ArkUI_LayoutConstraint* Constraint)](#measurenode) | Measures a node. You can use the **getMeasuredSize** API to obtain the size after the measurement.| |
| 66 | -| [int32_t (\*layoutNode)(ArkUI_NodeHandle node, int32_t positionX, int32_t positionY)](#layoutnode) | Lays outs a component and specifies the expected position of the component relative to its parent component.| | 66 | +| [int32_t (\*layoutNode)(ArkUI_NodeHandle node, int32_t positionX, int32_t positionY)](#layoutnode) | Lays outs a node and specifies the expected position of the node relative to its parent node.| |
| 67 | | [int32_t (\*addNodeEventReceiver)(ArkUI_NodeHandle node, void (\*eventReceiver)(ArkUI_NodeEvent* event))](#addnodeeventreceiver) | Adds a component event callback function to a component to receive component events generated by it. Unlike the global registration function **registerNodeEventReceiver**, this API allows multiple event receivers to be added to the same component.<br> The callback added by this function is triggered before the global callback registered by **registerNodeEventReceiver**.<br> Avoid directly saving pointers to **ArkUI_NodeEvent** objects, as the data will be destroyed after the callback is complete.<br>| | 67 | | [int32_t (\*addNodeEventReceiver)(ArkUI_NodeHandle node, void (\*eventReceiver)(ArkUI_NodeEvent* event))](#addnodeeventreceiver) | Adds a component event callback function to a component to receive component events generated by it. Unlike the global registration function **registerNodeEventReceiver**, this API allows multiple event receivers to be added to the same component.<br> The callback added by this function is triggered before the global callback registered by **registerNodeEventReceiver**.<br> Avoid directly saving pointers to **ArkUI_NodeEvent** objects, as the data will be destroyed after the callback is complete.<br>| |
| 68 | | [int32_t (\*removeNodeEventReceiver)(ArkUI_NodeHandle node, void (\*eventReceiver)(ArkUI_NodeEvent* event))](#removenodeeventreceiver) | Removes a registered component event callback function from a component.| | 68 | | [int32_t (\*removeNodeEventReceiver)(ArkUI_NodeHandle node, void (\*eventReceiver)(ArkUI_NodeEvent* event))](#removenodeeventreceiver) | Removes a registered component event callback function from a component.| |
| 69 | | [int32_t (\*addNodeCustomEventReceiver)(ArkUI_NodeHandle node, void (\*eventReceiver)(ArkUI_NodeCustomEvent* event))](#addnodecustomeventreceiver) | Adds a custom event callback function to a component to receive custom events (such as layout and drawing events) generated by it. Unlike the global registration function **registerNodeCustomEventReceiver**, this API allows multiple event receivers to be added to the same component.<br> The callback added by this function is triggered before the global callback registered by **registerNodeCustomEventReceiver**.<br> Do not directly save the **ArkUI_NodeCustomEvent** object pointer. The data will be destroyed after the callback is complete.<br>| | 69 | | [int32_t (\*addNodeCustomEventReceiver)(ArkUI_NodeHandle node, void (\*eventReceiver)(ArkUI_NodeCustomEvent* event))](#addnodecustomeventreceiver) | Adds a custom event callback function to a component to receive custom events (such as layout and drawing events) generated by it. Unlike the global registration function **registerNodeCustomEventReceiver**, this API allows multiple event receivers to be added to the same component.<br> The callback added by this function is triggered before the global callback registered by **registerNodeCustomEventReceiver**.<br> Do not directly save the **ArkUI_NodeCustomEvent** object pointer. The data will be destroyed after the callback is complete.<br>| |
| @@ -87,6 +87,8 @@ ArkUI_NodeHandle (*createNode)(ArkUI_NodeType type) | |||
| 87 | 87 | ||
| 88 | Creates a component based on [ArkUI_NodeType](capi-native-node-h.md#arkui_nodetype) and returns the pointer to the component object. | 88 | Creates a component based on [ArkUI_NodeType](capi-native-node-h.md#arkui_nodetype) and returns the pointer to the component object. |
| 89 | 89 | ||
| 90 | +**Since**: 12 | ||
| 91 | + | ||
| 90 | **Parameters** | 92 | **Parameters** |
| 91 | 93 | ||
| 92 | | Name | Description| | 94 | | Name | Description| |
| @@ -107,7 +109,9 @@ void (*disposeNode)(ArkUI_NodeHandle node) | |||
| 107 | 109 | ||
| 108 | **Description** | 110 | **Description** |
| 109 | 111 | ||
| 110 | -Disposes the component to which the specified pointer points. When calling this API on a non-main thread, special attention must be paid to the lifecycle of the component object to be destroyed. Improper lifecycle management may cause the application to crash; therefore, it is not recommended to call this API on non-main threads. | 112 | +Disposes of the component to which the specified pointer points. When calling this API on a non-main thread, special attention must be paid to the lifecycle of the component object to be destroyed. Improper lifecycle management may cause the application to crash; therefore, it is not recommended to call this API on non-main threads. |
| 113 | + | ||
| 114 | +**Since**: 12 | ||
| 111 | 115 | ||
| 112 | **Parameters** | 116 | **Parameters** |
| 113 | 117 | ||
| @@ -124,7 +128,9 @@ int32_t (*addChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child) | |||
| 124 | **Description** | 128 | **Description** |
| 125 | 129 | ||
| 126 | 130 | ||
| 127 | -Attaches a component to a parent node. | 131 | +Attaches a component to a parent node. This API is used for node operations, and you are advised to call this API in the main thread. |
| 132 | + | ||
| 133 | +**Since**: 12 | ||
| 128 | 134 | ||
| 129 | **Parameters** | 135 | **Parameters** |
| 130 | 136 | ||
| @@ -137,7 +143,7 @@ Attaches a component to a parent node. | |||
| 137 | 143 | ||
| 138 | | Type| Description | | 144 | | Type| Description | |
| 139 | | -- |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 145 | | -- |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |
| 140 | -| int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.<br> Returns [ARKUI_ERROR_CODE_NOT_SUPPORTED_FOR_ARKTS_NODE](capi-native-type-h.md#arkui_errorcode) if the following unsupported operations are performed on BuilderNode generated nodes: setting or resetting attributes, setting events, or adding or modifying child nodes.<br> Returns [ARKUI_ERROR_CODE_NODE_IS_ADOPTED](capi-native-type-h.md#arkui_errorcode) if a child node has been accepted. This specification is supported since API version 22.| | 146 | +| int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.<br> Returns [ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE](capi-native-type-h.md#arkui_errorcode) if the operation is not supported for the node created in ArkTS.<br> Returns [ARKUI_ERROR_CODE_NODE_IS_ADOPTED](capi-native-type-h.md#arkui_errorcode) if the node has been adopted as an affiliated node. This specification is supported since API version 22.| |
| 141 | 147 | ||
| 142 | ### removeChild() | 148 | ### removeChild() |
| 143 | 149 | ||
| @@ -148,7 +154,9 @@ int32_t (*removeChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child) | |||
| 148 | **Description** | 154 | **Description** |
| 149 | 155 | ||
| 150 | 156 | ||
| 151 | -Removes a component from its parent node. | 157 | +Removes a component from its parent node. This API is used for node operations, and you are advised to call this API in the main thread. |
| 158 | + | ||
| 159 | +**Since**: 12 | ||
| 152 | 160 | ||
| 153 | **Parameters** | 161 | **Parameters** |
| 154 | 162 | ||
| @@ -161,7 +169,7 @@ Removes a component from its parent node. | |||
| 161 | 169 | ||
| 162 | | Type| Description| | 170 | | Type| Description| |
| 163 | | -- | -- | | 171 | | -- | -- | |
| 164 | -| int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.<br> Returns [ARKUI_ERROR_CODE_NOT_SUPPORTED_FOR_ARKTS_NODE](capi-native-type-h.md#arkui_errorcode) if the following unsupported operations are performed on BuilderNode generated nodes: setting or resetting attributes, setting events, or adding or modifying child nodes.<br> Returns **ERROR_CODE_NATIVE_IMPL_NODE_ADAPTER_EXIST** if the NodeAdapter already exists.| | 172 | +| int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.<br> Returns [ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE](capi-native-type-h.md#arkui_errorcode) if the operation is not supported for the node created in ArkTS.<br> Returns [ERROR_CODE_NATIVE_IMPL_NODE_ADAPTER_EXIST](capi-native-type-h.md#arkui_errorcode) if [NodeAdapter](capi-arkui-nativemodule-arkui-nodeadapter8h.md) already exists.| |
| 165 | 173 | ||
| 166 | ### insertChildAfter() | 174 | ### insertChildAfter() |
| 167 | 175 | ||
| @@ -172,7 +180,9 @@ int32_t (*insertChildAfter)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, Ark | |||
| 172 | **Description** | 180 | **Description** |
| 173 | 181 | ||
| 174 | 182 | ||
| 175 | -Attaches a component to a parent node, with the position after the **sibling** node. | 183 | +Attaches a component to a parent node, with the position after the **sibling** node. This API is used for node operations, and you are advised to call this API in the main thread. |
| 184 | + | ||
| 185 | +**Since**: 12 | ||
| 176 | 186 | ||
| 177 | **Parameters** | 187 | **Parameters** |
| 178 | 188 | ||
| @@ -186,7 +196,7 @@ Attaches a component to a parent node, with the position after the **sibling** n | |||
| 186 | 196 | ||
| 187 | | Type| Description| | 197 | | Type| Description| |
| 188 | | -- | -- | | 198 | | -- | -- | |
| 189 | -| int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.<br> Returns [ARKUI_ERROR_CODE_NOT_SUPPORTED_FOR_ARKTS_NODE](capi-native-type-h.md#arkui_errorcode) if the following unsupported operations are performed on BuilderNode generated nodes: setting or resetting attributes, setting events, or adding or modifying child nodes.<br> Returns [ARKUI_ERROR_CODE_NODE_IS_ADOPTED](capi-native-type-h.md#arkui_errorcode) if a child node has been accepted. This specification is supported since API version 22.| | 199 | +| int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.<br> Returns [ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE](capi-native-type-h.md#arkui_errorcode) if the operation is not supported for the node created in ArkTS.<br> Returns [ARKUI_ERROR_CODE_NODE_IS_ADOPTED](capi-native-type-h.md#arkui_errorcode) if the node has been adopted as an affiliated node. This specification is supported since API version 22.| |
| 190 | 200 | ||
| 191 | ### insertChildBefore() | 201 | ### insertChildBefore() |
| 192 | 202 | ||
| @@ -197,7 +207,9 @@ int32_t (*insertChildBefore)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, Ar | |||
| 197 | **Description** | 207 | **Description** |
| 198 | 208 | ||
| 199 | 209 | ||
| 200 | -Attaches a component to a parent node, with the position before the **sibling** node. | 210 | +Attaches a component to a parent node, with the position before the **sibling** node. This API is used for node operations, and you are advised to call this API in the main thread. |
| 211 | + | ||
| 212 | +**Since**: 12 | ||
| 201 | 213 | ||
| 202 | **Parameters** | 214 | **Parameters** |
| 203 | 215 | ||
| @@ -211,7 +223,7 @@ Attaches a component to a parent node, with the position before the **sibling** | |||
| 211 | 223 | ||
| 212 | | Type| Description| | 224 | | Type| Description| |
| 213 | | -- | -- | | 225 | | -- | -- | |
| 214 | -| int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.<br> Returns [ARKUI_ERROR_CODE_NOT_SUPPORTED_FOR_ARKTS_NODE](capi-native-type-h.md#arkui_errorcode) if the following unsupported operations are performed on BuilderNode generated nodes: setting or resetting attributes, setting events, or adding or modifying child nodes.<br> Returns **ERROR_CODE_NATIVE_IMPL_NODE_ADAPTER_EXIST** if the NodeAdapter already exists.<br> Returns [ARKUI_ERROR_CODE_NODE_IS_ADOPTED](capi-native-type-h.md#arkui_errorcode) if a child node has been accepted. This specification is supported since API version 22.| | 226 | +| int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.<br> Returns [ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE](capi-native-type-h.md#arkui_errorcode) if the operation is not supported for the node created in ArkTS.<br> Returns [ARKUI_ERROR_CODE_NODE_IS_ADOPTED](capi-native-type-h.md#arkui_errorcode) if the node has been adopted as an affiliated node. This specification is supported since API version 22.| |
| 215 | 227 | ||
| 216 | ### insertChildAt() | 228 | ### insertChildAt() |
| 217 | 229 | ||
| @@ -222,7 +234,9 @@ int32_t (*insertChildAt)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, int32_ | |||
| 222 | **Description** | 234 | **Description** |
| 223 | 235 | ||
| 224 | 236 | ||
| 225 | -Attaches a component to a parent node, with the position specified by **position**. | 237 | +Attaches a component to a parent node, with the position specified by **position**. This API is used for node operations, and you are advised to call this API in the main thread. |
| 238 | + | ||
| 239 | +**Since**: 12 | ||
| 226 | 240 | ||
| 227 | **Parameters** | 241 | **Parameters** |
| 228 | 242 | ||
| @@ -230,13 +244,13 @@ Attaches a component to a parent node, with the position specified by **position | |||
| 230 | | -- | -- | | 244 | | -- | -- | |
| 231 | | [ArkUI_NodeHandle](capi-arkui-nativemodule-arkui-node8h.md) parent | Pointer to the parent node.| | 245 | | [ArkUI_NodeHandle](capi-arkui-nativemodule-arkui-node8h.md) parent | Pointer to the parent node.| |
| 232 | | [ArkUI_NodeHandle](capi-arkui-nativemodule-arkui-node8h.md) child | Pointer to the child node.| | 246 | | [ArkUI_NodeHandle](capi-arkui-nativemodule-arkui-node8h.md) child | Pointer to the child node.| |
| 233 | -| int32_t position | Position to which the target child node is to be inserted. If the value is a negative number or invalid, the node is inserted at the end of the parent node.| | 247 | +| int32_t position | Inserting position. The value range is [-2147483648, 2147483647]. If the value is a negative number or invalid, the component is inserted at the end of the parent node.| |
| 234 | 248 | ||
| 235 | **Return value** | 249 | **Return value** |
| 236 | 250 | ||
| 237 | | Type| Description| | 251 | | Type| Description| |
| 238 | | -- | -- | | 252 | | -- | -- | |
| 239 | -| int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.<br> Returns [ARKUI_ERROR_CODE_NOT_SUPPORTED_FOR_ARKTS_NODE](capi-native-type-h.md#arkui_errorcode) if the following unsupported operations are performed on BuilderNode generated nodes: setting or resetting attributes, setting events, or adding or modifying child nodes.<br> Returns **ERROR_CODE_NATIVE_IMPL_NODE_ADAPTER_EXIST** if the NodeAdapter already exists.<br> Returns [ARKUI_ERROR_CODE_NODE_IS_ADOPTED](capi-native-type-h.md#arkui_errorcode) if a child node has been accepted. This specification is supported since API version 22.| | 253 | +| int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.<br> Returns [ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE](capi-native-type-h.md#arkui_errorcode) if the operation is not supported for the node created in ArkTS.<br> Returns [ARKUI_ERROR_CODE_NODE_IS_ADOPTED](capi-native-type-h.md#arkui_errorcode) if the node has been adopted as an affiliated node. This specification is supported since API version 22.| |
| 240 | 254 | ||
| 241 | ### setAttribute() | 255 | ### setAttribute() |
| 242 | 256 | ||
| @@ -247,7 +261,9 @@ int32_t (*setAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute | |||
| 247 | **Description** | 261 | **Description** |
| 248 | 262 | ||
| 249 | 263 | ||
| 250 | -Sets an attribute. | 264 | +Sets attributes. You are advised to call this API in the main thread. |
| 265 | + | ||
| 266 | +**Since**: 12 | ||
| 251 | 267 | ||
| 252 | **Parameters** | 268 | **Parameters** |
| 253 | 269 | ||
| @@ -261,7 +277,7 @@ Sets an attribute. | |||
| 261 | 277 | ||
| 262 | | Type| Description| | 278 | | Type| Description| |
| 263 | | -- | -- | | 279 | | -- | -- | |
| 264 | -| int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.<br> Returns [ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED](capi-native-type-h.md#arkui_errorcode) if the dynamic implementation library of the native API is not found.<br> Returns [ARKUI_ERROR_CODE_NOT_SUPPORTED_FOR_ARKTS_NODE](capi-native-type-h.md#arkui_errorcode) if the following unsupported operations are performed on BuilderNode generated nodes: setting or resetting attributes, setting events, or adding or modifying child nodes.<br> Returns **ERROR_CODE_NATIVE_IMPL_NODE_ADAPTER_EXIST** if the NodeAdapter already exists.| | 280 | +| int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.<br> Returns [ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED](capi-native-type-h.md#arkui_errorcode) if the attribute is not supported.<br> Returns [ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE](capi-native-type-h.md#arkui_errorcode) if the operation is not supported for the node created in ArkTS.<br> Returns [ERROR_CODE_NATIVE_IMPL_NODE_ADAPTER_EXIST](capi-native-type-h.md#arkui_errorcode) if **NodeAdapter** already exists.| |
| 265 | 281 | ||
| 266 | ### getAttribute() | 282 | ### getAttribute() |
| 267 | 283 | ||
| @@ -274,6 +290,8 @@ const ArkUI_AttributeItem* (*getAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttr | |||
| 274 | 290 | ||
| 275 | Obtains attributes. The pointer returned by this API is an internal buffer pointer of the ArkUI framework. As such, you do not need to call **delete** to free the memory. However, the pointer must be used before this API is called next time. Otherwise, the pointer may be overwritten by other values. | 291 | Obtains attributes. The pointer returned by this API is an internal buffer pointer of the ArkUI framework. As such, you do not need to call **delete** to free the memory. However, the pointer must be used before this API is called next time. Otherwise, the pointer may be overwritten by other values. |
| 276 | 292 | ||
| 293 | +**Since**: 12 | ||
| 294 | + | ||
| 277 | **Parameters** | 295 | **Parameters** |
| 278 | 296 | ||
| 279 | | Name | Description| | 297 | | Name | Description| |
| @@ -285,7 +303,7 @@ Obtains attributes. The pointer returned by this API is an internal buffer point | |||
| 285 | 303 | ||
| 286 | | Type| Description| | 304 | | Type| Description| |
| 287 | | -- | -- | | 305 | | -- | -- | |
| 288 | -| const ArkUI_AttributeItem* | Attribute value. If the operation fails, a null pointer is returned.| | 306 | +| const [ArkUI_AttributeItem](capi-arkui-nativemodule-arkui-attributeitem.md)* | Attribute value. If the operation fails, a null pointer is returned.| |
| 289 | 307 | ||
| 290 | ### resetAttribute() | 308 | ### resetAttribute() |
| 291 | 309 | ||
| @@ -296,7 +314,9 @@ int32_t (*resetAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribu | |||
| 296 | **Description** | 314 | **Description** |
| 297 | 315 | ||
| 298 | 316 | ||
| 299 | -Resets an attribute. | 317 | +Resets attributes. You are advised to call this API in the main thread. |
| 318 | + | ||
| 319 | +**Since**: 12 | ||
| 300 | 320 | ||
| 301 | **Parameters** | 321 | **Parameters** |
| 302 | 322 | ||
| @@ -309,7 +329,7 @@ Resets an attribute. | |||
| 309 | 329 | ||
| 310 | | Type| Description| | 330 | | Type| Description| |
| 311 | | -- | -- | | 331 | | -- | -- | |
| 312 | -| int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.<br> Returns [ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED](capi-native-type-h.md#arkui_errorcode) if the dynamic implementation library of the native API is not found.<br> Returns [ARKUI_ERROR_CODE_NOT_SUPPORTED_FOR_ARKTS_NODE](capi-native-type-h.md#arkui_errorcode) if the following unsupported operations are performed on BuilderNode generated nodes: setting or resetting attributes, setting events, or adding or modifying child nodes.| | 332 | +| int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.<br> Returns [ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED](capi-native-type-h.md#arkui_errorcode) if the attribute is not supported.<br> Returns [ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE](capi-native-type-h.md#arkui_errorcode) if the operation is not supported for the node created in ArkTS.| |
| 313 | 333 | ||
| 314 | ### registerNodeEvent() | 334 | ### registerNodeEvent() |
| 315 | 335 | ||
| @@ -322,6 +342,8 @@ int32_t (*registerNodeEvent)(ArkUI_NodeHandle node, ArkUI_NodeEventType eventTyp | |||
| 322 | 342 | ||
| 323 | Registers an event for the specified node. | 343 | Registers an event for the specified node. |
| 324 | 344 | ||
| 345 | +**Since**: 12 | ||
| 346 | + | ||
| 325 | **Parameters** | 347 | **Parameters** |
| 326 | 348 | ||
| 327 | | Name | Description | | 349 | | Name | Description | |
| @@ -335,7 +357,7 @@ Registers an event for the specified node. | |||
| 335 | 357 | ||
| 336 | | Type| Description| | 358 | | Type| Description| |
| 337 | | -- | -- | | 359 | | -- | -- | |
| 338 | -| int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.<br> Returns [ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED](capi-native-type-h.md#arkui_errorcode) if the dynamic implementation library of the native API is not found.<br> Returns [ARKUI_ERROR_CODE_NOT_SUPPORTED_FOR_ARKTS_NODE](capi-native-type-h.md#arkui_errorcode) if the following unsupported operations are performed on BuilderNode generated nodes: setting or resetting attributes, setting events, or adding or modifying child nodes.| | 360 | +| int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.<br> Returns [ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED](capi-native-type-h.md#arkui_errorcode) if the event is not supported.<br> Returns [ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE](capi-native-type-h.md#arkui_errorcode) if the operation is not supported for the node created in ArkTS.| |
| 339 | 361 | ||
| 340 | ### unregisterNodeEvent() | 362 | ### unregisterNodeEvent() |
| 341 | 363 | ||
| @@ -348,6 +370,8 @@ void (*unregisterNodeEvent)(ArkUI_NodeHandle node, ArkUI_NodeEventType eventType | |||
| 348 | 370 | ||
| 349 | Unregisters an event for the specified node. | 371 | Unregisters an event for the specified node. |
| 350 | 372 | ||
| 373 | +**Since**: 12 | ||
| 374 | + | ||
| 351 | **Parameters** | 375 | **Parameters** |
| 352 | 376 | ||
| 353 | | Name | Description | | 377 | | Name | Description | |
| @@ -364,11 +388,15 @@ void (*registerNodeEventReceiver)(void (*eventReceiver)(ArkUI_NodeEvent* event)) | |||
| 364 | **Description** | 388 | **Description** |
| 365 | 389 | ||
| 366 | 390 | ||
| 367 | -Registers a unified entry point for event callbacks. The ArkUI framework collects component events generated during processing and returns them through the registered **eventReceiver** API.<br> Repeated calls will override the previously registered API. Avoid directly saving pointers to **ArkUI_NodeEvent** objects, as the data will be destroyed after the callback is complete.<br> To bind with a component instance, you can use the **addNodeEventReceiver** function.<br> | 391 | +Registers a unified entry point for event callbacks. The ArkUI framework collects component events generated during processing and returns them through the registered **eventReceiver** API.<br> Repeated calls will override the previously registered API. Do not directly save the pointer to the [ArkUI_NodeEvent](capi-arkui-nativemodule-arkui-nodeevent.md) object. The data will be destroyed after the callback is complete.<br> To bind with a component instance, you can use the [addNodeEventReceiver](#addnodeeventreceiver) API.<br> |
| 392 | + | ||
| 393 | +**Since**: 12 | ||
| 394 | + | ||
| 395 | +**Parameters** | ||
| 368 | 396 | ||
| 369 | | Name| Description| | 397 | | Name| Description| |
| 370 | |-----|----| | 398 | |-----|----| |
| 371 | -| eventReceiver | Unified entry point for event callbacks to register. | | 399 | +| void (*eventReceiver)([ArkUI_NodeEvent](capi-arkui-nativemodule-arkui-nodeevent.md)\* event) | Unified entry point for event callbacks to register. | |
| 372 | 400 | ||
| 373 | ### unregisterNodeEventReceiver() | 401 | ### unregisterNodeEventReceiver() |
| 374 | 402 | ||
| @@ -381,6 +409,8 @@ void (*unregisterNodeEventReceiver)() | |||
| 381 | 409 | ||
| 382 | Unregisters the unified entry point for event callbacks. | 410 | Unregisters the unified entry point for event callbacks. |
| 383 | 411 | ||
| 412 | +**Since**: 12 | ||
| 413 | + | ||
| 384 | ### markDirty() | 414 | ### markDirty() |
| 385 | 415 | ||
| 386 | ```c | 416 | ```c |
| @@ -390,14 +420,16 @@ void (*markDirty)(ArkUI_NodeHandle node, ArkUI_NodeDirtyFlag dirtyFlag) | |||
| 390 | **Description** | 420 | **Description** |
| 391 | 421 | ||
| 392 | 422 | ||
| 393 | -Forces a node to be marked for re-measurement, layout, or drawing. Regarding updates to system attributes, the ArkUI framework automatically marks dirty areas and re-executes measurement, layout, or drawing; you do not need to call this API actively. | 423 | +Forcibly marks the current node for re-measurement, re-layout, or re-drawing. Regarding updates to system attributes, the ArkUI framework automatically marks nodes and re-executes measurement, layout, or drawing; you do not need to call this API actively. |
| 424 | + | ||
| 425 | +**Since**: 12 | ||
| 394 | 426 | ||
| 395 | **Parameters** | 427 | **Parameters** |
| 396 | 428 | ||
| 397 | | Name | Description | | 429 | | Name | Description | |
| 398 | |----------------------------------------------------------------------------|--------------| | 430 | |----------------------------------------------------------------------------|--------------| |
| 399 | -| [ArkUI_NodeHandle](capi-arkui-nativemodule-arkui-node8h.md) node | Node for which you want to mark as dirty area.| | 431 | +| [ArkUI_NodeHandle](capi-arkui-nativemodule-arkui-node8h.md) node | Node object that needs to be marked for re-measurement, re-layout, or re-drawing.| |
| 400 | -| [ArkUI_NodeDirtyFlag](capi-native-node-h.md#arkui_nodedirtyflag) dirtyFlag | Dirty area type. | | 432 | +| [ArkUI_NodeDirtyFlag](capi-native-node-h.md#arkui_nodedirtyflag) dirtyFlag | Type for re-measurement, re-layout, or re-drawing. | |
| 401 | 433 | ||
| 402 | ### getTotalChildCount() | 434 | ### getTotalChildCount() |
| 403 | 435 | ||
| @@ -410,6 +442,8 @@ uint32_t (*getTotalChildCount)(ArkUI_NodeHandle node) | |||
| 410 | 442 | ||
| 411 | Obtains the number of child nodes. | 443 | Obtains the number of child nodes. |
| 412 | 444 | ||
| 445 | +**Since**: 12 | ||
| 446 | + | ||
| 413 | **Parameters** | 447 | **Parameters** |
| 414 | 448 | ||
| 415 | | Name| Description| | 449 | | Name| Description| |
| @@ -433,6 +467,8 @@ ArkUI_NodeHandle (*getChildAt)(ArkUI_NodeHandle node, int32_t position) | |||
| 433 | 467 | ||
| 434 | Obtains a child node. | 468 | Obtains a child node. |
| 435 | 469 | ||
| 470 | +**Since**: 12 | ||
| 471 | + | ||
| 436 | **Parameters** | 472 | **Parameters** |
| 437 | 473 | ||
| 438 | | Name| Description| | 474 | | Name| Description| |
| @@ -457,6 +493,8 @@ ArkUI_NodeHandle (*getFirstChild)(ArkUI_NodeHandle node) | |||
| 457 | 493 | ||
| 458 | Obtains the first child node. | 494 | Obtains the first child node. |
| 459 | 495 | ||
| 496 | +**Since**: 12 | ||
| 497 | + | ||
| 460 | **Parameters** | 498 | **Parameters** |
| 461 | 499 | ||
| 462 | | Name| Description| | 500 | | Name| Description| |
| @@ -480,6 +518,8 @@ ArkUI_NodeHandle (*getLastChild)(ArkUI_NodeHandle node) | |||
| 480 | 518 | ||
| 481 | Obtains the last child node. | 519 | Obtains the last child node. |
| 482 | 520 | ||
| 521 | +**Since**: 12 | ||
| 522 | + | ||
| 483 | **Parameters** | 523 | **Parameters** |
| 484 | 524 | ||
| 485 | | Name| Description| | 525 | | Name| Description| |
| @@ -503,6 +543,8 @@ ArkUI_NodeHandle (*getPreviousSibling)(ArkUI_NodeHandle node) | |||
| 503 | 543 | ||
| 504 | Obtains the previous sibling node. | 544 | Obtains the previous sibling node. |
| 505 | 545 | ||
| 546 | +**Since**: 12 | ||
| 547 | + | ||
| 506 | **Parameters** | 548 | **Parameters** |
| 507 | 549 | ||
| 508 | | Name| Description| | 550 | | Name| Description| |
| @@ -526,6 +568,8 @@ ArkUI_NodeHandle (*getNextSibling)(ArkUI_NodeHandle node) | |||
| 526 | 568 | ||
| 527 | Obtains the next sibling node. | 569 | Obtains the next sibling node. |
| 528 | 570 | ||
| 571 | +**Since**: 12 | ||
| 572 | + | ||
| 529 | **Parameters** | 573 | **Parameters** |
| 530 | 574 | ||
| 531 | | Name| Description| | 575 | | Name| Description| |
| @@ -547,7 +591,9 @@ int32_t (*registerNodeCustomEvent)(ArkUI_NodeHandle node, ArkUI_NodeCustomEventT | |||
| 547 | **Description** | 591 | **Description** |
| 548 | 592 | ||
| 549 | 593 | ||
| 550 | -Registers a custom event for a node. When the event is triggered, the value is returned through the entry point function registered by **registerNodeCustomEventReceiver**. | 594 | +Registers a custom event for a node. Triggered events are returned through the custom event entry point function registered using **registerNodeCustomEventReceiver**. |
| 595 | + | ||
| 596 | +**Since**: 12 | ||
| 551 | 597 | ||
| 552 | **Parameters** | 598 | **Parameters** |
| 553 | 599 | ||
| @@ -562,7 +608,7 @@ Registers a custom event for a node. When the event is triggered, the value is r | |||
| 562 | 608 | ||
| 563 | | Type| Description| | 609 | | Type| Description| |
| 564 | | -- | -- | | 610 | | -- | -- | |
| 565 | -| int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.<br> Returns [ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED](capi-native-type-h.md#arkui_errorcode) if the dynamic implementation library of the native API is not found.| | 611 | +| int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.<br> Returns [ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED](capi-native-type-h.md#arkui_errorcode) if the event is not supported.| |
| 566 | 612 | ||
| 567 | ### unregisterNodeCustomEvent() | 613 | ### unregisterNodeCustomEvent() |
| 568 | 614 | ||
| @@ -575,6 +621,8 @@ void (*unregisterNodeCustomEvent)(ArkUI_NodeHandle node, ArkUI_NodeCustomEventTy | |||
| 575 | 621 | ||
| 576 | Unregisters a custom event for a node. | 622 | Unregisters a custom event for a node. |
| 577 | 623 | ||
| 624 | +**Since**: 12 | ||
| 625 | + | ||
| 578 | **Parameters** | 626 | **Parameters** |
| 579 | 627 | ||
| 580 | | Name | Description | | 628 | | Name | Description | |
| @@ -591,11 +639,15 @@ void (*registerNodeCustomEventReceiver)(void (*eventReceiver)(ArkUI_NodeCustomEv | |||
| 591 | **Description** | 639 | **Description** |
| 592 | 640 | ||
| 593 | 641 | ||
| 594 | -Registers a unified entry point for custom node event callbacks. The ArkUI framework collects custom component events generated during processing and returns them through the custom event entry point function registered using **registerNodeCustomEventReceiver**.<br> Repeated calls will override the previously registered API.<br> Do not directly save the **ArkUI_NodeCustomEvent** object pointer. The data will be destroyed after the callback is complete.<br> To bind with a component instance, you can use the **addNodeCustomEventReceiver** function.<br> | 642 | +Registers a unified entry point for custom node event callbacks. The ArkUI framework collects custom component events generated during processing and returns them through the custom event entry point function registered using **registerNodeCustomEventReceiver**.<br> Repeated calls will override the previously registered API.<br> Do not directly save the pointer to the [ArkUI_NodeCustomEvent](capi-arkui-nativemodule-arkui-nodecustomevent.md) object. The data will be destroyed after the callback is complete.<br> To bind with a component instance, you can use the **addNodeCustomEventReceiver** function.<br> |
| 643 | + | ||
| 644 | +**Since**: 12 | ||
| 645 | + | ||
| 646 | +**Parameters** | ||
| 595 | 647 | ||
| 596 | | Name| Description| | 648 | | Name| Description| |
| 597 | |-----|----| | 649 | |-----|----| |
| 598 | -| eventReceiver | Unified entry point for event callbacks to register. | | 650 | +| void (*eventReceiver)([ArkUI_NodeCustomEvent](capi-arkui-nativemodule-arkui-nodecustomevent.md)\* event) | Unified entry point for event callbacks to register. | |
| 599 | 651 | ||
| 600 | ### unregisterNodeCustomEventReceiver() | 652 | ### unregisterNodeCustomEventReceiver() |
| 601 | 653 | ||
| @@ -608,6 +660,8 @@ void (*unregisterNodeCustomEventReceiver)() | |||
| 608 | 660 | ||
| 609 | Unregisters the unified entry point function for custom node event callbacks. | 661 | Unregisters the unified entry point function for custom node event callbacks. |
| 610 | 662 | ||
| 663 | +**Since**: 12 | ||
| 664 | + | ||
| 611 | ### setMeasuredSize() | 665 | ### setMeasuredSize() |
| 612 | 666 | ||
| 613 | ```c | 667 | ```c |
| @@ -619,6 +673,8 @@ int32_t (*setMeasuredSize)(ArkUI_NodeHandle node, int32_t width, int32_t height) | |||
| 619 | 673 | ||
| 620 | Sets the width and height for a component after the measurement in the measurement callback function. | 674 | Sets the width and height for a component after the measurement in the measurement callback function. |
| 621 | 675 | ||
| 676 | +**Since**: 12 | ||
| 677 | + | ||
| 622 | **Parameters** | 678 | **Parameters** |
| 623 | 679 | ||
| 624 | | Name| Description| | 680 | | Name| Description| |
| @@ -642,7 +698,9 @@ int32_t (*setLayoutPosition)(ArkUI_NodeHandle node, int32_t positionX, int32_t p | |||
| 642 | **Description** | 698 | **Description** |
| 643 | 699 | ||
| 644 | 700 | ||
| 645 | -Sets the position of a component in the layout callback function. The priority of this API is lower than that of **NODE_POSITION**. | 701 | +Sets the position of a component in the layout callback function. This API has a lower priority than [NODE_POSITION](capi-native-type-h.md#enums). |
| 702 | + | ||
| 703 | +**Since**: 12 | ||
| 646 | 704 | ||
| 647 | **Parameters** | 705 | **Parameters** |
| 648 | 706 | ||
| @@ -669,6 +727,8 @@ ArkUI_IntSize (*getMeasuredSize)(ArkUI_NodeHandle node) | |||
| 669 | 727 | ||
| 670 | Obtains the width and height of a component after measurement. | 728 | Obtains the width and height of a component after measurement. |
| 671 | 729 | ||
| 730 | +**Since**: 12 | ||
| 731 | + | ||
| 672 | **Parameters** | 732 | **Parameters** |
| 673 | 733 | ||
| 674 | | Name| Description| | 734 | | Name| Description| |
| @@ -692,6 +752,8 @@ ArkUI_IntOffset (*getLayoutPosition)(ArkUI_NodeHandle node) | |||
| 692 | 752 | ||
| 693 | Obtains the position of a component after the layout is complete. | 753 | Obtains the position of a component after the layout is complete. |
| 694 | 754 | ||
| 755 | +**Since**: 12 | ||
| 756 | + | ||
| 695 | **Parameters** | 757 | **Parameters** |
| 696 | 758 | ||
| 697 | | Name| Description| | 759 | | Name| Description| |
| @@ -715,6 +777,8 @@ int32_t (*measureNode)(ArkUI_NodeHandle node, ArkUI_LayoutConstraint* Constraint | |||
| 715 | 777 | ||
| 716 | Measures a node. You can use the **getMeasuredSize** API to obtain the size after the measurement. | 778 | Measures a node. You can use the **getMeasuredSize** API to obtain the size after the measurement. |
| 717 | 779 | ||
| 780 | +**Since**: 12 | ||
| 781 | + | ||
| 718 | **Parameters** | 782 | **Parameters** |
| 719 | 783 | ||
| 720 | | Name | Description| | 784 | | Name | Description| |
| @@ -737,7 +801,9 @@ int32_t (*layoutNode)(ArkUI_NodeHandle node, int32_t positionX, int32_t position | |||
| 737 | **Description** | 801 | **Description** |
| 738 | 802 | ||
| 739 | 803 | ||
| 740 | -Lays outs a component and specifies the expected position of the component relative to its parent component. | 804 | +Lays outs a node and specifies the expected position of the node relative to its parent node. |
| 805 | + | ||
| 806 | +**Since**: 12 | ||
| 741 | 807 | ||
| 742 | **Parameters** | 808 | **Parameters** |
| 743 | 809 | ||
| @@ -762,14 +828,16 @@ int32_t (*addNodeEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(Ark | |||
| 762 | **Description** | 828 | **Description** |
| 763 | 829 | ||
| 764 | 830 | ||
| 765 | -Adds a component event callback function to a component to receive component events generated by it. Unlike the global registration function **registerNodeEventReceiver**, this API allows multiple event receivers to be added to the same component.<br> The callback added by this function is triggered before the global callback registered by **registerNodeEventReceiver**.<br> Avoid directly saving pointers to **ArkUI_NodeEvent** objects, as the data will be destroyed after the callback is complete.<br> | 831 | +Adds a component event callback function to a component to receive component events generated by it. Unlike the global registration function **registerNodeEventReceiver**, this API allows multiple event receivers to be added to the same component.<br> The callback added by this function is triggered before the global callback registered by **registerNodeEventReceiver**.<br> Do not directly save the pointer to the [ArkUI_NodeEvent](capi-arkui-nativemodule-arkui-nodeevent.md) object. The data will be destroyed after the callback is complete.<br> |
| 832 | + | ||
| 833 | +**Since**: 12 | ||
| 766 | 834 | ||
| 767 | **Parameters** | 835 | **Parameters** |
| 768 | 836 | ||
| 769 | | Name | Description| | 837 | | Name | Description| |
| 770 | |------------------------------------------------------------------| -- | | 838 | |------------------------------------------------------------------| -- | |
| 771 | | [ArkUI_NodeHandle](capi-arkui-nativemodule-arkui-node8h.md) node | Component for which you want to add the event callback function.| | 839 | | [ArkUI_NodeHandle](capi-arkui-nativemodule-arkui-node8h.md) node | Component for which you want to add the event callback function.| |
| 772 | -| eventReceiver | Event callback for the component.| | 840 | +| void (*eventReceiver)([ArkUI_NodeEvent](capi-arkui-nativemodule-arkui-nodeevent.md)\* event) | Event callback for the component.| |
| 773 | 841 | ||
| 774 | **Return value** | 842 | **Return value** |
| 775 | 843 | ||
| @@ -788,12 +856,14 @@ int32_t (*removeNodeEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)( | |||
| 788 | 856 | ||
| 789 | Removes a registered component event callback function from a component. | 857 | Removes a registered component event callback function from a component. |
| 790 | 858 | ||
| 859 | +**Since**: 12 | ||
| 860 | + | ||
| 791 | **Parameters** | 861 | **Parameters** |
| 792 | 862 | ||
| 793 | | Name | Description| | 863 | | Name | Description| |
| 794 | |------------------------------------------------------------------| -- | | 864 | |------------------------------------------------------------------| -- | |
| 795 | | [ArkUI_NodeHandle](capi-arkui-nativemodule-arkui-node8h.md) node | Component for which you want to remove the event callback function.| | 865 | | [ArkUI_NodeHandle](capi-arkui-nativemodule-arkui-node8h.md) node | Component for which you want to remove the event callback function.| |
| 796 | -| eventReceiver | Component event callback function to remove.| | 866 | +| void (*eventReceiver)([ArkUI_NodeEvent](capi-arkui-nativemodule-arkui-nodeevent.md)* event) | Component event callback function to remove.| |
| 797 | 867 | ||
| 798 | **Return value** | 868 | **Return value** |
| 799 | 869 | ||
| @@ -810,14 +880,16 @@ int32_t (*addNodeCustomEventReceiver)(ArkUI_NodeHandle node, void (*eventReceive | |||
| 810 | **Description** | 880 | **Description** |
| 811 | 881 | ||
| 812 | 882 | ||
| 813 | -Adds a custom event callback function to a component to receive custom events (such as layout and drawing events) generated by it. Unlike the global registration function **registerNodeCustomEventReceiver**, this API allows multiple event receivers to be added to the same component.<br> The callback added by this function is triggered before the global callback registered by **registerNodeCustomEventReceiver**.<br> Do not directly save the **ArkUI_NodeCustomEvent** object pointer. The data will be destroyed after the callback is complete.<br> | 883 | +Adds a custom event callback function to a component to receive custom events (such as layout and drawing events) generated by it. Unlike the global registration function **registerNodeCustomEventReceiver**, this API allows multiple event receivers to be added to the same component.<br> The callback added by this function is triggered before the global callback registered by **registerNodeCustomEventReceiver**.<br> Do not directly save the pointer to the [ArkUI_NodeCustomEvent](capi-arkui-nativemodule-arkui-nodecustomevent.md) object. The data will be destroyed after the callback is complete.<br> |
| 884 | + | ||
| 885 | +**Since**: 12 | ||
| 814 | 886 | ||
| 815 | **Parameters** | 887 | **Parameters** |
| 816 | 888 | ||
| 817 | | Name | Description| | 889 | | Name | Description| |
| 818 | |------------------------------------------------------------------| -- | | 890 | |------------------------------------------------------------------| -- | |
| 819 | | [ArkUI_NodeHandle](capi-arkui-nativemodule-arkui-node8h.md) node | Component for which you want to add the custom event callback function.| | 891 | | [ArkUI_NodeHandle](capi-arkui-nativemodule-arkui-node8h.md) node | Component for which you want to add the custom event callback function.| |
| 820 | -| eventReceiver | Custom event callback for the component.| | 892 | +| void (*eventReceiver)([ArkUI_NodeCustomEvent](capi-arkui-nativemodule-arkui-nodecustomevent.md)\* event) | Custom event callback for the component.| |
| 821 | 893 | ||
| 822 | **Return value** | 894 | **Return value** |
| 823 | 895 | ||
| @@ -836,12 +908,14 @@ int32_t (*removeNodeCustomEventReceiver)(ArkUI_NodeHandle node, void (*eventRece | |||
| 836 | 908 | ||
| 837 | Removes a registered custom event callback function from a component. | 909 | Removes a registered custom event callback function from a component. |
| 838 | 910 | ||
| 911 | +**Since**: 12 | ||
| 912 | + | ||
| 839 | **Parameters** | 913 | **Parameters** |
| 840 | 914 | ||
| 841 | | Name | Description| | 915 | | Name | Description| |
| 842 | |------------------------------------------------------------------| -- | | 916 | |------------------------------------------------------------------| -- | |
| 843 | | [ArkUI_NodeHandle](capi-arkui-nativemodule-arkui-node8h.md) node | Component for which you want to remove the custom event callback function.| | 917 | | [ArkUI_NodeHandle](capi-arkui-nativemodule-arkui-node8h.md) node | Component for which you want to remove the custom event callback function.| |
| 844 | -| eventReceiver | Custom event callback function to remove.| | 918 | +| void (*eventReceiver)([ArkUI_NodeCustomEvent](capi-arkui-nativemodule-arkui-nodecustomevent.md)\* event) | Custom event callback function to remove.| |
| 845 | 919 | ||
| 846 | **Return value** | 920 | **Return value** |
| 847 | 921 | ||
| @@ -860,6 +934,8 @@ int32_t (*setUserData)(ArkUI_NodeHandle node, void* userData) | |||
| 860 | 934 | ||
| 861 | Saves custom data on a component. | 935 | Saves custom data on a component. |
| 862 | 936 | ||
| 937 | +**Since**: 12 | ||
| 938 | + | ||
| 863 | **Parameters** | 939 | **Parameters** |
| 864 | 940 | ||
| 865 | | Name| Description| | 941 | | Name| Description| |
| @@ -884,6 +960,8 @@ void* (*getUserData)(ArkUI_NodeHandle node) | |||
| 884 | 960 | ||
| 885 | Obtains the custom data stored on a component. | 961 | Obtains the custom data stored on a component. |
| 886 | 962 | ||
| 963 | +**Since**: 12 | ||
| 964 | + | ||
| 887 | **Parameters** | 965 | **Parameters** |
| 888 | 966 | ||
| 889 | | Name| Description| | 967 | | Name| Description| |
| @@ -907,6 +985,8 @@ int32_t (*setLengthMetricUnit)(ArkUI_NodeHandle node, ArkUI_LengthMetricUnit uni | |||
| 907 | 985 | ||
| 908 | Sets the unit of measurement for a component. | 986 | Sets the unit of measurement for a component. |
| 909 | 987 | ||
| 988 | +**Since**: 12 | ||
| 989 | + | ||
| 910 | **Parameters** | 990 | **Parameters** |
| 911 | 991 | ||
| 912 | | Name | Description| | 992 | | Name | Description| |
| @@ -931,6 +1011,8 @@ ArkUI_NodeHandle (*getParent)(ArkUI_NodeHandle node) | |||
| 931 | 1011 | ||
| 932 | Obtains the parent node. | 1012 | Obtains the parent node. |
| 933 | 1013 | ||
| 1014 | +**Since**: 12 | ||
| 1015 | + | ||
| 934 | **Parameters** | 1016 | **Parameters** |
| 935 | 1017 | ||
| 936 | | Name| Description| | 1018 | | Name| Description| |
| @@ -40,6 +40,7 @@ Declares the APIs of **NativeDrawableDescriptor**. | |||
| 40 | | Name | typedef Keyword | Description | | 40 | | Name | typedef Keyword | Description | |
| 41 | |---------------------------------------------------------------------|---------------------------------|-----------------------------------| | 41 | |---------------------------------------------------------------------|---------------------------------|-----------------------------------| |
| 42 | | [DrawableDescriptor_AnimationStatus](#drawabledescriptor_animationstatus) | DrawableDescriptor_AnimationStatus | Enumerates the playback states of DrawableDescriptor animations. | | 42 | | [DrawableDescriptor_AnimationStatus](#drawabledescriptor_animationstatus) | DrawableDescriptor_AnimationStatus | Enumerates the playback states of DrawableDescriptor animations. | |
| 43 | +| [DrawableDescriptor_AnimationStopMode](#drawabledescriptor_animationstopmode) | DrawableDescriptor_AnimationStopMode | Enumerates the stop modes of [DrawableDescriptor](capi-arkui-nativemodule-arkui-drawabledescriptor.md) animations.<br>**Since**: 24| | ||
| 43 | 44 | ||
| 44 | ### Functions | 45 | ### Functions |
| 45 | 46 | ||
| @@ -60,6 +61,8 @@ Declares the APIs of **NativeDrawableDescriptor**. | |||
| 60 | | [int32_t OH_ArkUI_DrawableDescriptor_GetAnimationFrameDurations(ArkUI_DrawableDescriptor* drawableDescriptor, uint32_t* durations, size_t* size)](#oh_arkui_drawabledescriptor_getanimationframedurations) | Obtains the duration of each frame in a DrawableDescriptor animation.| | 61 | | [int32_t OH_ArkUI_DrawableDescriptor_GetAnimationFrameDurations(ArkUI_DrawableDescriptor* drawableDescriptor, uint32_t* durations, size_t* size)](#oh_arkui_drawabledescriptor_getanimationframedurations) | Obtains the duration of each frame in a DrawableDescriptor animation.| |
| 61 | | [int32_t OH_ArkUI_DrawableDescriptor_SetAnimationAutoPlay(ArkUI_DrawableDescriptor* drawableDescriptor, uint32_t autoPlay)](#oh_arkui_drawabledescriptor_setanimationautoplay) | Specifies whether to enable autoplay for a DrawableDescriptor animation.| | 62 | | [int32_t OH_ArkUI_DrawableDescriptor_SetAnimationAutoPlay(ArkUI_DrawableDescriptor* drawableDescriptor, uint32_t autoPlay)](#oh_arkui_drawabledescriptor_setanimationautoplay) | Specifies whether to enable autoplay for a DrawableDescriptor animation.| |
| 62 | | [int32_t OH_ArkUI_DrawableDescriptor_GetAnimationAutoPlay(ArkUI_DrawableDescriptor* drawableDescriptor, uint32_t* autoPlay)](#oh_arkui_drawabledescriptor_getanimationautoplay) | Checks whether autoplay is enabled for a DrawableDescriptor animation.| | 63 | | [int32_t OH_ArkUI_DrawableDescriptor_GetAnimationAutoPlay(ArkUI_DrawableDescriptor* drawableDescriptor, uint32_t* autoPlay)](#oh_arkui_drawabledescriptor_getanimationautoplay) | Checks whether autoplay is enabled for a DrawableDescriptor animation.| |
| 64 | +| [int32_t OH_ArkUI_DrawableDescriptor_SetAnimationStopMode(ArkUI_DrawableDescriptor* drawableDescriptor, DrawableDescriptor_AnimationStopMode mode)](#oh_arkui_drawabledescriptor_setanimationstopmode) | Sets the stop mode for an animation.| | ||
| 65 | +| [int32_t OH_ArkUI_DrawableDescriptor_GetAnimationStopMode(ArkUI_DrawableDescriptor* drawableDescriptor, DrawableDescriptor_AnimationStopMode* mode)](#oh_arkui_drawabledescriptor_getanimationstopmode) | Obtains the stop mode of an animation.| | ||
| 63 | | [int32_t OH_ArkUI_DrawableDescriptor_CreateAnimationController(ArkUI_DrawableDescriptor* drawableDescriptor, ArkUI_NodeHandle node, ArkUI_DrawableDescriptor_AnimationController\*\* controller)](#oh_arkui_drawabledescriptor_createanimationcontroller) | Creates an animation controller for the DrawableDescriptor.| | 66 | | [int32_t OH_ArkUI_DrawableDescriptor_CreateAnimationController(ArkUI_DrawableDescriptor* drawableDescriptor, ArkUI_NodeHandle node, ArkUI_DrawableDescriptor_AnimationController\*\* controller)](#oh_arkui_drawabledescriptor_createanimationcontroller) | Creates an animation controller for the DrawableDescriptor.| |
| 64 | | [void OH_ArkUI_DrawableDescriptor_DisposeAnimationController( ArkUI_DrawableDescriptor_AnimationController* controller)](#oh_arkui_drawabledescriptor_disposeanimationcontroller) | Disposes of the DrawableDescriptor animation controller.| | 67 | | [void OH_ArkUI_DrawableDescriptor_DisposeAnimationController( ArkUI_DrawableDescriptor_AnimationController* controller)](#oh_arkui_drawabledescriptor_disposeanimationcontroller) | Disposes of the DrawableDescriptor animation controller.| |
| 65 | | [int32_t OH_ArkUI_DrawableDescriptor_StartAnimation(ArkUI_DrawableDescriptor_AnimationController* controller)](#oh_arkui_drawabledescriptor_startanimation) | Starts the DrawableDescriptor animation from the first frame.| | 68 | | [int32_t OH_ArkUI_DrawableDescriptor_StartAnimation(ArkUI_DrawableDescriptor_AnimationController* controller)](#oh_arkui_drawabledescriptor_startanimation) | Starts the DrawableDescriptor animation from the first frame.| |
| @@ -90,6 +93,23 @@ Enumerates the playback states of DrawableDescriptor animations. | |||
| 90 | | DRAWABLE_DESCRIPTOR_ANIMATION_STATUS_PAUSED = 2 | The animation is paused.| | 93 | | DRAWABLE_DESCRIPTOR_ANIMATION_STATUS_PAUSED = 2 | The animation is paused.| |
| 91 | | DRAWABLE_DESCRIPTOR_ANIMATION_STATUS_STOPPED = 3 | The animation is stopped.| | 94 | | DRAWABLE_DESCRIPTOR_ANIMATION_STATUS_STOPPED = 3 | The animation is stopped.| |
| 92 | 95 | ||
| 96 | +### DrawableDescriptor_AnimationStopMode | ||
| 97 | + | ||
| 98 | +```c | ||
| 99 | +enum DrawableDescriptor_AnimationStopMode | ||
| 100 | +``` | ||
| 101 | + | ||
| 102 | +**Description** | ||
| 103 | + | ||
| 104 | +Enumerates the stop modes of [DrawableDescriptor](capi-arkui-nativemodule-arkui-drawabledescriptor.md) animations. | ||
| 105 | + | ||
| 106 | +**Since**: 24 | ||
| 107 | + | ||
| 108 | +| Value| Description| | ||
| 109 | +| -- | -- | | ||
| 110 | +| DRAWABLE_DESCRIPTOR_ANIMATION_FIRST_FRAME = 0 | The animation returns to the first frame when it stops.| | ||
| 111 | +| DRAWABLE_DESCRIPTOR_ANIMATION_LAST_FRAME = 1 | The animation stays at the last frame when it stops.| | ||
| 112 | + | ||
| 93 | ## Function Description | 113 | ## Function Description |
| 94 | 114 | ||
| 95 | ### OH_ArkUI_DrawableDescriptor_CreateFromPixelMap() | 115 | ### OH_ArkUI_DrawableDescriptor_CreateFromPixelMap() |
| @@ -101,7 +121,7 @@ ArkUI_DrawableDescriptor* OH_ArkUI_DrawableDescriptor_CreateFromPixelMap(OH_Pixe | |||
| 101 | **Description** | 121 | **Description** |
| 102 | 122 | ||
| 103 | 123 | ||
| 104 | -Creates a **DrawableDescriptor** object using [PixelMap](../apis-image-kit/arkts-apis-image-PixelMap.md). | 124 | +Creates a **DrawableDescriptor** object from a **PixelMap** object. |
| 105 | 125 | ||
| 106 | **Since**: 12 | 126 | **Since**: 12 |
| 107 | 127 | ||
| @@ -110,7 +130,7 @@ Creates a **DrawableDescriptor** object using [PixelMap](../apis-image-kit/arkts | |||
| 110 | 130 | ||
| 111 | | Name| Description| | 131 | | Name| Description| |
| 112 | | -- | -- | | 132 | | -- | -- | |
| 113 | -| [OH_PixelmapNativeHandle](capi-arkui-nativemodule-oh-pixelmapnative8h.md) pixelMap | Pointer to a **PixelMap** object.| | 133 | +| [OH_PixelmapNativeHandle](capi-arkui-nativemodule-oh-pixelmapnative8h.md) pixelMap | Pointer to the [OH_PixelmapNative](./capi-struct.md) object.| |
| 114 | 134 | ||
| 115 | **Return value** | 135 | **Return value** |
| 116 | 136 | ||
| @@ -189,7 +209,7 @@ Obtains the pointer to a **PixelMap** object. | |||
| 189 | 209 | ||
| 190 | | Type| Description| | 210 | | Type| Description| |
| 191 | | -- | -- | | 211 | | -- | -- | |
| 192 | -| [OH_PixelmapNativeHandle](capi-arkui-nativemodule-oh-pixelmapnative8h.md) | Pointer to a **PixelMap** object.| | 212 | +| [OH_PixelmapNativeHandle](capi-arkui-nativemodule-oh-pixelmapnative8h.md) | Pointer to the [OH_PixelmapNative](./capi-struct.md) object.| |
| 193 | 213 | ||
| 194 | ### OH_ArkUI_DrawableDescriptor_GetAnimatedPixelMapArray() | 214 | ### OH_ArkUI_DrawableDescriptor_GetAnimatedPixelMapArray() |
| 195 | 215 | ||
| @@ -262,7 +282,7 @@ Sets the total playback duration for an array of **PixelMap** objects. | |||
| 262 | | Name| Description| | 282 | | Name| Description| |
| 263 | | -- | -- | | 283 | | -- | -- | |
| 264 | | [ArkUI_DrawableDescriptor](capi-arkui-nativemodule-arkui-drawabledescriptor.md)* drawableDescriptor | Pointer to a **DrawableDescriptor** object.| | 284 | | [ArkUI_DrawableDescriptor](capi-arkui-nativemodule-arkui-drawabledescriptor.md)* drawableDescriptor | Pointer to a **DrawableDescriptor** object.| |
| 265 | -| int32_t duration | Total playback duration, in milliseconds.| | 285 | +| int32_t duration | Total playback duration, in ms. Value range: [0, +∞). If a negative value is passed in, **0** is used.| |
| 266 | 286 | ||
| 267 | ### OH_ArkUI_DrawableDescriptor_GetAnimationDuration() | 287 | ### OH_ArkUI_DrawableDescriptor_GetAnimationDuration() |
| 268 | 288 | ||
| @@ -288,7 +308,7 @@ Obtains the total playback duration for an array of **PixelMap** objects. | |||
| 288 | 308 | ||
| 289 | | Type| Description| | 309 | | Type| Description| |
| 290 | | -- | -- | | 310 | | -- | -- | |
| 291 | -| int32_t | Total playback duration, in milliseconds.| | 311 | +| int32_t | Total playback duration, in ms.| |
| 292 | 312 | ||
| 293 | ### OH_ArkUI_DrawableDescriptor_SetAnimationIteration() | 313 | ### OH_ArkUI_DrawableDescriptor_SetAnimationIteration() |
| 294 | 314 | ||
| @@ -309,7 +329,7 @@ Sets the number of times that an array of **PixelMap** objects is played. | |||
| 309 | | Name| Description| | 329 | | Name| Description| |
| 310 | | -- | -- | | 330 | | -- | -- | |
| 311 | | [ArkUI_DrawableDescriptor](capi-arkui-nativemodule-arkui-drawabledescriptor.md)* drawableDescriptor | Pointer to a **DrawableDescriptor** object.| | 331 | | [ArkUI_DrawableDescriptor](capi-arkui-nativemodule-arkui-drawabledescriptor.md)* drawableDescriptor | Pointer to a **DrawableDescriptor** object.| |
| 312 | -| int32_t iteration | Number of playback times.| | 332 | +| int32_t iteration | Number of playback times. Value range: [0, +∞). The value **0** indicates infinite playback. If a negative value is passed in, **0** is used.| |
| 313 | 333 | ||
| 314 | ### OH_ArkUI_DrawableDescriptor_GetAnimationIteration() | 334 | ### OH_ArkUI_DrawableDescriptor_GetAnimationIteration() |
| 315 | 335 | ||
| @@ -354,7 +374,7 @@ Sets the duration for each frame in a DrawableDescriptor animation. | |||
| 354 | | Name| Description| | 374 | | Name| Description| |
| 355 | | -- | -- | | 375 | | -- | -- | |
| 356 | | [ArkUI_DrawableDescriptor](capi-arkui-nativemodule-arkui-drawabledescriptor.md)* drawableDescriptor | Pointer to a **DrawableDescriptor** object.| | 376 | | [ArkUI_DrawableDescriptor](capi-arkui-nativemodule-arkui-drawabledescriptor.md)* drawableDescriptor | Pointer to a **DrawableDescriptor** object.| |
| 357 | -| uint32_t* durations | Duration for each frame in the DrawableDescriptor animation, in milliseconds.<br>If this parameter is not set, the playback follows the total duration. The setting of this parameter takes precedence over that of **duration**. If both [duration](js-apis-animator.md#duration18) and **frameDurations** are set, **duration** does not take effect.<br>The array size must match the number of frames in the PixelMap image array.<br>Valid range for each frame's playback duration: [0, +∞).| | 377 | +| uint32_t* durations | Array of the playback durations for each frame in the animation, in ms.<br>If this parameter is not set, the playback follows the total duration. This parameter takes precedence over [OH_ArkUI_DrawableDescriptor_SetAnimationDuration](#oh_arkui_drawabledescriptor_setanimationduration). That is, if both **OH_ArkUI_DrawableDescriptor_SetAnimationDuration** and **OH_ArkUI_DrawableDescriptor_SetAnimationFrameDurations** are set, **OH_ArkUI_DrawableDescriptor_SetAnimationDuration** does not take effect.<br>The array size must match the number of frames in the PixelMap image array.<br>Valid range for each frame's playback duration: [0, +∞). Default value: evenly distributed total duration.| |
| 358 | | size_t size | Array size.| | 378 | | size_t size | Array size.| |
| 359 | 379 | ||
| 360 | **Return value** | 380 | **Return value** |
| @@ -380,7 +400,7 @@ Obtains the duration of each frame in a DrawableDescriptor animation. | |||
| 380 | | Name| Description| | 400 | | Name| Description| |
| 381 | | -- | -- | | 401 | | -- | -- | |
| 382 | | [ArkUI_DrawableDescriptor](capi-arkui-nativemodule-arkui-drawabledescriptor.md)* drawableDescriptor | Pointer to a **DrawableDescriptor** object.| | 402 | | [ArkUI_DrawableDescriptor](capi-arkui-nativemodule-arkui-drawabledescriptor.md)* drawableDescriptor | Pointer to a **DrawableDescriptor** object.| |
| 383 | -| uint32_t* durations | Array of the playback durations for each frame in the animation, in milliseconds.| | 403 | +| uint32_t* durations | Array of the playback durations for each frame in the animation, in ms.| |
| 384 | | size_t* size | Array size.| | 404 | | size_t* size | Array size.| |
| 385 | 405 | ||
| 386 | **Return value** | 406 | **Return value** |
| @@ -440,6 +460,56 @@ Checks whether autoplay is enabled for a DrawableDescriptor animation. | |||
| 440 | | -- | -- | | 460 | | -- | -- | |
| 441 | | int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.| | 461 | | int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.| |
| 442 | 462 | ||
| 463 | +### OH_ArkUI_DrawableDescriptor_SetAnimationStopMode() | ||
| 464 | + | ||
| 465 | +```c | ||
| 466 | +int32_t OH_ArkUI_DrawableDescriptor_SetAnimationStopMode(ArkUI_DrawableDescriptor* drawableDescriptor, DrawableDescriptor_AnimationStopMode mode) | ||
| 467 | +``` | ||
| 468 | + | ||
| 469 | +**Description** | ||
| 470 | + | ||
| 471 | +Sets the stop mode for an animation. | ||
| 472 | + | ||
| 473 | +**Since**: 24 | ||
| 474 | + | ||
| 475 | +**Parameters** | ||
| 476 | + | ||
| 477 | +| Name| Description| | ||
| 478 | +| -- | -- | | ||
| 479 | +| [ArkUI_DrawableDescriptor](capi-arkui-nativemodule-arkui-drawabledescriptor.md)* drawableDescriptor | Pointer to the [DrawableDescriptor](capi-arkui-nativemodule-arkui-drawabledescriptor.md) object.| | ||
| 480 | +| [DrawableDescriptor_AnimationStopMode](#drawabledescriptor_animationstopmode) mode | Stop mode of an animation.<br>The value is an enumerated value of [DrawableDescriptor_AnimationStopMode](#drawabledescriptor_animationstopmode). The default value is [DRAWABLE_DESCRIPTOR_ANIMATION_FIRST_FRAME](#drawabledescriptor_animationstopmode).| | ||
| 481 | + | ||
| 482 | +**Return value** | ||
| 483 | + | ||
| 484 | +| Type| Description| | ||
| 485 | +| -- | -- | | ||
| 486 | +| int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.| | ||
| 487 | + | ||
| 488 | +### OH_ArkUI_DrawableDescriptor_GetAnimationStopMode() | ||
| 489 | + | ||
| 490 | +```c | ||
| 491 | +int32_t OH_ArkUI_DrawableDescriptor_GetAnimationStopMode(ArkUI_DrawableDescriptor* drawableDescriptor, DrawableDescriptor_AnimationStopMode* mode) | ||
| 492 | +``` | ||
| 493 | + | ||
| 494 | +**Description** | ||
| 495 | + | ||
| 496 | +Obtains the stop mode of an animation. | ||
| 497 | + | ||
| 498 | +**Since**: 24 | ||
| 499 | + | ||
| 500 | +**Parameters** | ||
| 501 | + | ||
| 502 | +| Name| Description| | ||
| 503 | +| -- | -- | | ||
| 504 | +| [ArkUI_DrawableDescriptor](capi-arkui-nativemodule-arkui-drawabledescriptor.md)* drawableDescriptor | Pointer to the [DrawableDescriptor](capi-arkui-nativemodule-arkui-drawabledescriptor.md) object.| | ||
| 505 | +| [DrawableDescriptor_AnimationStopMode](#drawabledescriptor_animationstopmode)* mode | Stop mode of an animation.<br>For details about the values, see [DrawableDescriptor_AnimationStopMode](#drawabledescriptor_animationstopmode).| | ||
| 506 | + | ||
| 507 | +**Return value** | ||
| 508 | + | ||
| 509 | +| Type| Description| | ||
| 510 | +| -- | -- | | ||
| 511 | +| int32_t | Result code.<br> Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) if the operation is successful.<br> Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) if a parameter error occurs.| | ||
| 512 | + | ||
| 443 | ### OH_ArkUI_DrawableDescriptor_CreateAnimationController() | 513 | ### OH_ArkUI_DrawableDescriptor_CreateAnimationController() |
| 444 | 514 | ||
| 445 | ```c | 515 | ```c |
| @@ -103,7 +103,7 @@ Enumerates the actions for triggering closure of the dialog box. | |||
| 103 | 103 | ||
| 104 | | Value| Description| | 104 | | Value| Description| |
| 105 | | -- | -- | | 105 | | -- | -- | |
| 106 | -| DIALOG_DISMISS_BACK_PRESS = 0 | Touching the system-defined Back button or pressing the Esc key.| | 106 | +| DIALOG_DISMISS_BACK_PRESS = 0 | Touching the Back button, swiping left or right on the screen, or pressing the Esc key.| |
| 107 | | DIALOG_DISMISS_TOUCH_OUTSIDE = 1 | Touching the mask.| | 107 | | DIALOG_DISMISS_TOUCH_OUTSIDE = 1 | Touching the mask.| |
| 108 | | DIALOG_DISMISS_CLOSE_BUTTON = 2 | Touching the Close button.| | 108 | | DIALOG_DISMISS_CLOSE_BUTTON = 2 | Touching the Close button.| |
| 109 | | DIALOG_DISMISS_SLIDE_DOWN = 3 | Sliding down.| | 109 | | DIALOG_DISMISS_SLIDE_DOWN = 3 | Sliding down.| |
| @@ -265,7 +265,7 @@ Obtains the dismissal reason from a dialog box dismiss event object. | |||
| 265 | 265 | ||
| 266 | | Type| Description| | 266 | | Type| Description| |
| 267 | | -- | -- | | 267 | | -- | -- | |
| 268 | -| int32_t | Dismissal reason, or **-1** if an exception occurs.<br> [DIALOG_DISMISS_BACK_PRESS](capi-native-dialog-h.md#arkui_dismissreason): touching the back button, swiping left or right on the screen, or pressing the Esc key.<br> [DIALOG_DISMISS_TOUCH_OUTSIDE](capi-native-dialog-h.md#arkui_dismissreason): touching the mask.<br> [DIALOG_DISMISS_CLOSE_BUTTON](capi-native-dialog-h.md#arkui_dismissreason): touching the close button.<br> [DIALOG_DISMISS_SLIDE_DOWN](capi-native-dialog-h.md#arkui_dismissreason): swiping down.| | 268 | +| int32_t | Dismissal reason, or **-1** if an exception occurs.<br> [DIALOG_DISMISS_BACK_PRESS](capi-native-dialog-h.md#arkui_dismissreason): touching the Back button, swiping left or right on the screen, or pressing the Esc key.<br> [DIALOG_DISMISS_TOUCH_OUTSIDE](capi-native-dialog-h.md#arkui_dismissreason): touching the mask.<br> [DIALOG_DISMISS_CLOSE_BUTTON](capi-native-dialog-h.md#arkui_dismissreason): touching the close button.<br> [DIALOG_DISMISS_SLIDE_DOWN](capi-native-dialog-h.md#arkui_dismissreason): swiping down.| |
| 269 | 269 | ||
| 270 | ### OH_ArkUI_CustomDialog_OpenDialog() | 270 | ### OH_ArkUI_CustomDialog_OpenDialog() |
| 271 | 271 | ||
| @@ -286,7 +286,7 @@ Displays a custom dialog box. | |||
| 286 | | Name | Description| | 286 | | Name | Description| |
| 287 | |----------------------------------------| -- | | 287 | |----------------------------------------| -- | |
| 288 | | [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Dialog box parameters.| | 288 | | [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Dialog box parameters.| |
| 289 | -| callback | Callback invoked when the dialog box is displayed. The parameter is the dialog box ID.| | 289 | +| void (*callback)(int32_t dialogId) | Callback invoked when the dialog box is displayed. The parameter is the dialog box ID.| |
| 290 | 290 | ||
| 291 | **Returns** | 291 | **Returns** |
| 292 | 292 | ||
| @@ -313,7 +313,7 @@ Updates a custom dialog box. | |||
| 313 | | Name| Description| | 313 | | Name| Description| |
| 314 | | -- | -- | | 314 | | -- | -- | |
| 315 | | [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Dialog box parameters.| | 315 | | [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Dialog box parameters.| |
| 316 | -| callback | Callback invoked when the dialog box is updated. The parameter is the dialog box ID.| | 316 | +| void (*callback)(int32_t dialogId) | Callback invoked when the dialog box is updated. The parameter is the dialog box ID.| |
| 317 | 317 | ||
| 318 | **Returns** | 318 | **Returns** |
| 319 | 319 | ||
| @@ -356,7 +356,7 @@ ArkUI_CustomDialogOptions* OH_ArkUI_CustomDialog_CreateOptions(ArkUI_NodeHandle | |||
| 356 | **Description** | 356 | **Description** |
| 357 | 357 | ||
| 358 | 358 | ||
| 359 | -Creates options for a custom dialog. | 359 | +Creates custom dialog box options. |
| 360 | 360 | ||
| 361 | **Since**: 19 | 361 | **Since**: 19 |
| 362 | 362 | ||
| @@ -371,7 +371,7 @@ Creates options for a custom dialog. | |||
| 371 | 371 | ||
| 372 | | Type | Description| | 372 | | Type | Description| |
| 373 | |--------------------------------| -- | | 373 | |--------------------------------| -- | |
| 374 | -| [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* | Pointer to the custom dialog box options.| | 374 | +| [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* | Pointer to the custom dialog box configuration.| |
| 375 | 375 | ||
| 376 | ### OH_ArkUI_CustomDialog_DisposeOptions() | 376 | ### OH_ArkUI_CustomDialog_DisposeOptions() |
| 377 | 377 | ||
| @@ -382,7 +382,7 @@ void OH_ArkUI_CustomDialog_DisposeOptions(ArkUI_CustomDialogOptions* options) | |||
| 382 | **Description** | 382 | **Description** |
| 383 | 383 | ||
| 384 | 384 | ||
| 385 | -Destroys custom dialog box options. | 385 | +Disposes of the custom dialog box options. |
| 386 | 386 | ||
| 387 | **Since**: 19 | 387 | **Since**: 19 |
| 388 | 388 | ||
| @@ -391,7 +391,7 @@ Destroys custom dialog box options. | |||
| 391 | 391 | ||
| 392 | | Name| Description| | 392 | | Name| Description| |
| 393 | | -- | -- | | 393 | | -- | -- | |
| 394 | -| [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Pointer to the custom dialog box options.| | 394 | +| [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Pointer to the custom dialog box configuration.| |
| 395 | 395 | ||
| 396 | ### OH_ArkUI_CustomDialog_SetLevelMode() | 396 | ### OH_ArkUI_CustomDialog_SetLevelMode() |
| 397 | 397 | ||
| @@ -869,7 +869,7 @@ Sets whether to display the dialog box in a subwindow. | |||
| 869 | | Name| Description| | 869 | | Name| Description| |
| 870 | | -- | -- | | 870 | | -- | -- | |
| 871 | | [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Dialog box parameters.| | 871 | | [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Dialog box parameters.| |
| 872 | -| bool showInSubwindow | Whether to show the dialog box in a subwindow when the dialog box needs to be displayed outside the main window. The default value is **false**, meaning the dialog box is displayed within the application, not in a separate subwindow. The value **true** means that dialog box can be displayed outside the main window.| | 872 | +| bool showInSubwindow | Whether to show the dialog box in a subwindow when the dialog box needs to be displayed outside the main window. If the value is **true**, the dialog box can be displayed in an independent subwindow outside the main window. If the value is **false**, the dialog box is displayed within the application, not in an independent subwindow.<br>Default value: **false**.| |
| 873 | 873 | ||
| 874 | **Returns** | 874 | **Returns** |
| 875 | 875 | ||
| @@ -1006,7 +1006,7 @@ Registers a callback for the dismissal event of a custom dialog box. | |||
| 1006 | | -- | -- | | 1006 | | -- | -- | |
| 1007 | | [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Dialog box parameters.| | 1007 | | [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Dialog box parameters.| |
| 1008 | | void* userData | Pointer to user data.| | 1008 | | void* userData | Pointer to user data.| |
| 1009 | -| callback | Callback for the dismissal event of the custom dialog box.<br> - **event**: input parameter of the callback, which captures the reason for dismissal.| | 1009 | +| void (\*callback)(ArkUI_DialogDismissEvent\* event) | Callback for the dismissal event of the custom dialog box.<br> - **event**: input parameter of the callback, which captures the reason for dismissal.| |
| 1010 | 1010 | ||
| 1011 | **Returns** | 1011 | **Returns** |
| 1012 | 1012 | ||
| @@ -1034,7 +1034,7 @@ Registers a callback to be invoked when the specified custom dialog box is about | |||
| 1034 | | -- | -- | | 1034 | | -- | -- | |
| 1035 | | [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Dialog box parameters.| | 1035 | | [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Dialog box parameters.| |
| 1036 | | void* userData | Pointer to user data.| | 1036 | | void* userData | Pointer to user data.| |
| 1037 | -| callback | Event callback before the dialog box appearance animation.| | 1037 | +| void (\*callback)(void\* userData) | Event callback before the dialog box appearance animation.| |
| 1038 | 1038 | ||
| 1039 | **Returns** | 1039 | **Returns** |
| 1040 | 1040 | ||
| @@ -1062,7 +1062,7 @@ Registers a callback to be invoked when the specified custom dialog box appears. | |||
| 1062 | | -- | -- | | 1062 | | -- | -- | |
| 1063 | | [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Dialog box parameters.| | 1063 | | [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Dialog box parameters.| |
| 1064 | | void* userData | Pointer to user data.| | 1064 | | void* userData | Pointer to user data.| |
| 1065 | -| callback | Event callback after the dialog box appears.| | 1065 | +| void (\*callback)(void\* userData) | Event callback after the dialog box appears.| |
| 1066 | 1066 | ||
| 1067 | **Returns** | 1067 | **Returns** |
| 1068 | 1068 | ||
| @@ -1090,7 +1090,7 @@ Registers a callback to be invoked when the specified custom dialog box is about | |||
| 1090 | | -- | -- | | 1090 | | -- | -- | |
| 1091 | | [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Dialog box parameters.| | 1091 | | [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Dialog box parameters.| |
| 1092 | | void* userData | Pointer to user data.| | 1092 | | void* userData | Pointer to user data.| |
| 1093 | -| callback | Event callback before the dialog box disappearance animation.| | 1093 | +| void (\*callback)(void\* userData) | Event callback before the dialog box disappearance animation.| |
| 1094 | 1094 | ||
| 1095 | **Returns** | 1095 | **Returns** |
| 1096 | 1096 | ||
| @@ -1118,7 +1118,7 @@ Registers a callback to be invoked when the specified custom dialog box disappea | |||
| 1118 | | -- | -- | | 1118 | | -- | -- | |
| 1119 | | [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Dialog box parameters.| | 1119 | | [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Dialog box parameters.| |
| 1120 | | void* userData | Pointer to user data.| | 1120 | | void* userData | Pointer to user data.| |
| 1121 | -| callback | Event callback when the dialog box disappears.| | 1121 | +| void (\*callback)(void\* userData) | Event callback when the dialog box disappears.| |
| 1122 | 1122 | ||
| 1123 | **Returns** | 1123 | **Returns** |
| 1124 | 1124 | ||
| @@ -1172,7 +1172,7 @@ Sets the background blur effect for a dialog box. | |||
| 1172 | | Name| Description| | 1172 | | Name| Description| |
| 1173 | | -- | -- | | 1173 | | -- | -- | |
| 1174 | | [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Dialog box parameters.| | 1174 | | [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Dialog box parameters.| |
| 1175 | -| [const ArkUI_AttributeItem](capi-arkui-nativemodule-arkui-attributeitem.md)* backgroundBlurStyleOptions | Background blur effect for the dialog box. The format of the [ArkUI_AttributeItem](capi-arkui-nativemodule-arkui-attributeitem.md) parameter is as follows:<br> .value[0].i32: color mode, specified by an enumerated value of [ArkUI_ColorMode](capi-native-type-h.md#arkui_colormode).<br> .value[1]?.i32: adaptive color mode, specified by an enumerated value of [ArkUI_AdaptiveColor](capi-native-type-h.md#arkui_adaptivecolor).<br> .value[2]? .f32: blur degree. The value range is [0.0, 1.0].<br> .value[3]?.u32: brightness of black in the grayscale blur. The value range is [0, 127].<br> .value[4]?.u32: degree of darkening the white color in the grayscale blur. The value range is [0, 127].<br> .value[5]?.i32: blur activation policy, specified by an enumeration value of [ArkUI_BlurStyleActivePolicy](capi-native-type-h.md#arkui_blurstyleactivepolicy).<br> .value[6]?.u32: background color, in 0xARGB format, of the components within the window after the window loses focus (in which case, the blur effect on the components within the window is removed).| | 1175 | +| [const ArkUI_AttributeItem](capi-arkui-nativemodule-arkui-attributeitem.md)* backgroundBlurStyleOptions | Background blur effect for the dialog box. The format of the [ArkUI_AttributeItem](capi-arkui-nativemodule-arkui-attributeitem.md) parameter is as follows:<br> .value[0].i32: color mode, specified by an enumerated value of [ArkUI_ColorMode](capi-native-type-h.md#arkui_colormode).<br> .value[1]?.i32: adaptive color mode, specified by an enumerated value of [ArkUI_AdaptiveColor](capi-native-type-h.md#arkui_adaptivecolor).<br> .value[2]?.f32: blur degree. The value range is [0.0, 1.0]. If the value is out of the valid range, the boundary value is used.<br> .value[3]?.u32: brightness of black in the grayscale blur. The value range is [0, 127]. If the value is out of the valid range, **0** is used.<br> .value[4]?.u32: darkening degree of white in the grayscale blur. The value range is [0, 127]. If the value is out of the valid range, **0** is used.<br> .value[5]?.i32: blur activation policy, specified by an enumerated value of [ArkUI_BlurStyleActivePolicy](capi-native-type-h.md#arkui_blurstyleactivepolicy).<br> .value[6]?.u32: background color, in 0xARGB format, of the components within the window after the window loses focus (in which case, the blur effect on the components within the window is removed).| |
| 1176 | 1176 | ||
| 1177 | **Returns** | 1177 | **Returns** |
| 1178 | 1178 | ||
| @@ -1199,7 +1199,7 @@ Sets the background effect parameters for a dialog box. | |||
| 1199 | | Name| Description| | 1199 | | Name| Description| |
| 1200 | | -- | -- | | 1200 | | -- | -- | |
| 1201 | | [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Dialog box parameters.| | 1201 | | [ArkUI_CustomDialogOptions](capi-arkui-nativemodule-arkui-customdialogoptions.md)* options | Dialog box parameters.| |
| 1202 | -| [const ArkUI_AttributeItem](capi-arkui-nativemodule-arkui-attributeitem.md)* backgroundEffect | Background effect of the dialog box. The format of the [ArkUI_AttributeItem](capi-arkui-nativemodule-arkui-attributeitem.md) parameter is as follows:<br> .value[0].f32: blur radius, in vp.<br> .value[1]?.f32: saturation.<br> .value[2]?.f32: brightness.<br> .value[3]?.u32: color, in 0xARGB format.<br> .value[4]?.i32: adaptive color mode, specified by an enumerated value of [ArkUI_AdaptiveColor](capi-native-type-h.md#arkui_adaptivecolor).<br> .value[5]?.u32: brightness of black in the grayscale blur. The value range is [0, 127].<br> .value[6]?.u32: degree of darkening the white color in the grayscale blur. The value range is [0, 127].<br> .value[7]?.i32: blur activation policy, specified by an enumeration value of [ArkUI_BlurStyleActivePolicy](capi-native-type-h.md#arkui_blurstyleactivepolicy).<br> .value[8]?.u32: background color, in 0xARGB format, of the components within the window after the window loses focus (in which case, the blur effect on the components within the window is removed).| | 1202 | +| [const ArkUI_AttributeItem](capi-arkui-nativemodule-arkui-attributeitem.md)* backgroundEffect | Background effect of the dialog box. The format of the [ArkUI_AttributeItem](capi-arkui-nativemodule-arkui-attributeitem.md) parameter is as follows:<br> .value[0].f32: blur radius, in vp.<br> .value[1]?.f32: saturation.<br> .value[2]?.f32: brightness.<br> .value[3]?.u32: color, in 0xARGB format.<br> .value[4]?.i32: adaptive color mode, specified by an enumerated value of [ArkUI_AdaptiveColor](capi-native-type-h.md#arkui_adaptivecolor).<br> .value[5]?.u32: brightness of black in the grayscale blur. The value range is [0, 127]. If the value is out of the valid range, **0** is used.<br> .value[6]?.u32: darkening degree of white in the grayscale blur. The value range is [0, 127]. If the value is out of the valid range, **0** is used.<br> .value[7]?.i32: blur activation policy, specified by an enumerated value of [ArkUI_BlurStyleActivePolicy](capi-native-type-h.md#arkui_blurstyleactivepolicy).<br> .value[8]?.u32: background color, in 0xARGB format, of the components within the window after the window loses focus (in which case, the blur effect on the components within the window is removed).| |
| 1203 | 1203 | ||
| 1204 | **Returns** | 1204 | **Returns** |
| 1205 | 1205 | ||
| @@ -142,10 +142,10 @@ Enumerates accessibility action types. | |||
| 142 | | ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_COPY = 0x00000400 | Copies the current text selection. | | 142 | | ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_COPY = 0x00000400 | Copies the current text selection. | |
| 143 | | ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_PASTE = 0x00000800 | Pastes content to the text component. | | 143 | | ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_PASTE = 0x00000800 | Pastes content to the text component. | |
| 144 | | ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_CUT = 0x00001000 | Cuts the current text selection to the pasteboard. | | 144 | | ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_CUT = 0x00001000 | Cuts the current text selection to the pasteboard. | |
| 145 | -| ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SELECT_TEXT = 0x00002000 | Selects a range of text within an editable area in a text component. Used together with **ArkUI_AccessibilityActionArguments** to configure **selectTextStart**, **selectTextEnd**, and **selectTextInForWard**. | | 145 | +| ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SELECT_TEXT = 0x00002000 | Selects a range of text within an editable area in a text component. Selects a range of text within an editable area by using **ArkUI_AccessibilityActionArguments** and setting **selectTextBegin** (indicates the start position of the selection), **selectTextEnd** (indicates the end position of the selection), and **selectTextInForWard** (**true** indicates to select text forward, and **false** indicates to select text backward). | |
| 146 | | ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SET_TEXT = 0x00004000 | Sets the text content of the text component. | | 146 | | ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SET_TEXT = 0x00004000 | Sets the text content of the text component. | |
| 147 | -| ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SET_CURSOR_POSITION = 0x00100000 | Sets the text cursor position. Used together with **ArkUI_AccessibilityActionArguments** to configure **offset**.| | 147 | +| ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SET_CURSOR_POSITION = 0x00100000 | Sets the cursor position where the text can be entered for the text component. This API is used together with **ArkUI_AccessibilityActionArguments**.| |
| 148 | -| ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_NEXT_HTML_ITEM = 0x02000000 | Moves focus to the next focusable component. Note: "HTML" indicates the web-like navigation capability, not actual web elements. This API requires implementation of **findNextFocusAccessibilityNode**.<br>**Since**: 15| | 148 | +| ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_NEXT_HTML_ITEM = 0x02000000 | Moves focus to the next focusable component. Note: "HTML" indicates the web-like navigation capability, not actual web elements. This attribute is available only when the [findNextFocusAccessibilityNode](./capi-arkui-accessibility-arkui-accessibilityprovidercallbacks.md#findnextfocusaccessibilitynode) capability is implemented.<br>**Since**: 15| |
| 149 | | ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_PREVIOUS_HTML_ITEM = 0x04000000 | Moves focus to the previous focusable component. Note: "HTML" indicates the web-like navigation capability, not actual web elements. This API requires implementation of **findNextFocusAccessibilityNode**.<br>**Since**: 15 | | 149 | | ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_PREVIOUS_HTML_ITEM = 0x04000000 | Moves focus to the previous focusable component. Note: "HTML" indicates the web-like navigation capability, not actual web elements. This API requires implementation of **findNextFocusAccessibilityNode**.<br>**Since**: 15 | |
| 150 | 150 | ||
| 151 | ### ArkUI_AccessibilityEventType | 151 | ### ArkUI_AccessibilityEventType |
| @@ -40,7 +40,7 @@ Declares the APIs for accessing Native XComponent features. | |||
| 40 | | [OH_NativeXComponent_ExtraMouseEventInfo](capi-oh-nativexcomponent-native-xcomponent-oh-nativexcomponent-extramouseeventinfo.md) | OH_NativeXComponent_ExtraMouseEventInfo | Provides an encapsulated instance of extended mouse event information.| | 40 | | [OH_NativeXComponent_ExtraMouseEventInfo](capi-oh-nativexcomponent-native-xcomponent-oh-nativexcomponent-extramouseeventinfo.md) | OH_NativeXComponent_ExtraMouseEventInfo | Provides an encapsulated instance of extended mouse event information.| |
| 41 | | [OH_ArkUI_SurfaceHolder](capi-oh-nativexcomponent-native-xcomponent-oh-arkui-surfaceholder.md) | OH_ArkUI_SurfaceHolder | Provides an encapsulated **OH_ArkUI_SurfaceHolder** instance.| | 41 | | [OH_ArkUI_SurfaceHolder](capi-oh-nativexcomponent-native-xcomponent-oh-arkui-surfaceholder.md) | OH_ArkUI_SurfaceHolder | Provides an encapsulated **OH_ArkUI_SurfaceHolder** instance.| |
| 42 | | [OH_ArkUI_SurfaceCallback](capi-oh-nativexcomponent-native-xcomponent-oh-arkui-surfacecallback.md) | OH_ArkUI_SurfaceCallback | Defines surface lifecycle callback functions.| | 42 | | [OH_ArkUI_SurfaceCallback](capi-oh-nativexcomponent-native-xcomponent-oh-arkui-surfacecallback.md) | OH_ArkUI_SurfaceCallback | Defines surface lifecycle callback functions.| |
| 43 | -| [OHNativeWindow](capi-oh-nativexcomponent-native-xcomponent-nativewindow.md) | OHNativeWindow | Provides an encapsulated **NativeWindow** instance.| | 43 | +| [NativeWindow](capi-oh-nativexcomponent-native-xcomponent-nativewindow.md) | OHNativeWindow | Provides an encapsulated **NativeWindow** instance.| |
| 44 | | [ArkUI_XComponentSurfaceConfig](capi-oh-nativexcomponent-native-xcomponent-arkui-xcomponentsurfaceconfig.md) | ArkUI_XComponentSurfaceConfig | Defines the surface configuration for the **XComponent**, which specifies whether the **XComponent**'s surface should be treated as opaque during rendering.| | 44 | | [ArkUI_XComponentSurfaceConfig](capi-oh-nativexcomponent-native-xcomponent-arkui-xcomponentsurfaceconfig.md) | ArkUI_XComponentSurfaceConfig | Defines the surface configuration for the **XComponent**, which specifies whether the **XComponent**'s surface should be treated as opaque during rendering.| |
| 45 | 45 | ||
| 46 | ### Enums | 46 | ### Enums |
| @@ -373,8 +373,8 @@ Obtains the size of the surface held by the ArkUI XComponent. | |||
| 373 | | -- | -- | | 373 | | -- | -- | |
| 374 | | [OH_NativeXComponent](capi-oh-nativexcomponent-native-xcomponent-oh-nativexcomponent.md)* component | Pointer to an [OH_NativeXComponent](capi-oh-nativexcomponent-native-xcomponent-oh-nativexcomponent.md) instance.| | 374 | | [OH_NativeXComponent](capi-oh-nativexcomponent-native-xcomponent-oh-nativexcomponent.md)* component | Pointer to an [OH_NativeXComponent](capi-oh-nativexcomponent-native-xcomponent-oh-nativexcomponent.md) instance.| |
| 375 | | const void* window | Handle to the **NativeWindow** instance.| | 375 | | const void* window | Handle to the **NativeWindow** instance.| |
| 376 | -| uint64_t* width | Pointer to the width of the current surface.| | 376 | +| uint64_t* width | Pointer to the width of the current surface. Unit: vp.| |
| 377 | -| uint64_t* height | Pointer to the height of the current surface.| | 377 | +| uint64_t* height | Pointer to the height of the current surface. Unit: vp.| |
| 378 | 378 | ||
| 379 | **Returns** | 379 | **Returns** |
| 380 | 380 | ||
| @@ -402,8 +402,8 @@ Obtains the offset of the surface held by the XComponent relative to the upper l | |||
| 402 | | -- | -- | | 402 | | -- | -- | |
| 403 | | [OH_NativeXComponent](capi-oh-nativexcomponent-native-xcomponent-oh-nativexcomponent.md)* component | Pointer to an [OH_NativeXComponent](capi-oh-nativexcomponent-native-xcomponent-oh-nativexcomponent.md) instance.| | 403 | | [OH_NativeXComponent](capi-oh-nativexcomponent-native-xcomponent-oh-nativexcomponent.md)* component | Pointer to an [OH_NativeXComponent](capi-oh-nativexcomponent-native-xcomponent-oh-nativexcomponent.md) instance.| |
| 404 | | const void* window | Handle to the **NativeWindow** instance.| | 404 | | const void* window | Handle to the **NativeWindow** instance.| |
| 405 | -| double* x | Pointer to the x-coordinate of the current surface relative to the upper left corner of the **XComponent**'s parent component.| | 405 | +| double* x | Pointer to the x-coordinate of the current surface relative to the upper left corner of the **XComponent**'s parent component. Unit: vp.| |
| 406 | -| double* y | Pointer to the y-coordinate of the current surface relative to the upper left corner of the **XComponent**'s parent component.| | 406 | +| double* y | Pointer to the y-coordinate of the current surface relative to the upper left corner of the **XComponent**'s parent component. Unit: vp.| |
| 407 | 407 | ||
| 408 | **Returns** | 408 | **Returns** |
| 409 | 409 | ||
| @@ -1248,7 +1248,6 @@ Attaches the UI component created through the native API of ArkUI to this **OH_N | |||
| 1248 | 1248 | ||
| 1249 | **Substitute**: [OH_ArkUI_NodeContent_AddNode](capi-native-node-h.md#oh_arkui_nodecontent_addnode) | 1249 | **Substitute**: [OH_ArkUI_NodeContent_AddNode](capi-native-node-h.md#oh_arkui_nodecontent_addnode) |
| 1250 | 1250 | ||
| 1251 | - | ||
| 1252 | **Parameters** | 1251 | **Parameters** |
| 1253 | 1252 | ||
| 1254 | | Name| Description| | 1253 | | Name| Description| |
| @@ -1279,7 +1278,6 @@ Detaches the native component of ArkUI from this **OH_NativeXComponent** instanc | |||
| 1279 | 1278 | ||
| 1280 | **Substitute**: [OH_ArkUI_NodeContent_RemoveNode](capi-native-node-h.md#oh_arkui_nodecontent_removenode) | 1279 | **Substitute**: [OH_ArkUI_NodeContent_RemoveNode](capi-native-node-h.md#oh_arkui_nodecontent_removenode) |
| 1281 | 1280 | ||
| 1282 | - | ||
| 1283 | **Parameters** | 1281 | **Parameters** |
| 1284 | 1282 | ||
| 1285 | | Name| Description| | 1283 | | Name| Description| |
| @@ -1438,7 +1436,7 @@ int32_t OH_NativeXComponent_GetTouchEventSourceType(OH_NativeXComponent* compone | |||
| 1438 | **Description** | 1436 | **Description** |
| 1439 | 1437 | ||
| 1440 | 1438 | ||
| 1441 | -Obtains the touch event source type of an **OH_NativeXComponent** instance. | 1439 | +Obtains the touch event source type of an ArkUI XComponent instance. |
| 1442 | 1440 | ||
| 1443 | **Since**: 12 | 1441 | **Since**: 12 |
| 1444 | 1442 | ||
| @@ -1769,7 +1767,7 @@ Sets the size change callback event in the surface lifecycle callbacks. | |||
| 1769 | | Name| Description| | 1767 | | Name| Description| |
| 1770 | | -- | -- | | 1768 | | -- | -- | |
| 1771 | | [OH_ArkUI_SurfaceCallback](capi-oh-nativexcomponent-native-xcomponent-oh-arkui-surfacecallback.md)* callback | Pointer to the surface lifecycle callback.| | 1769 | | [OH_ArkUI_SurfaceCallback](capi-oh-nativexcomponent-native-xcomponent-oh-arkui-surfacecallback.md)* callback | Pointer to the surface lifecycle callback.| |
| 1772 | -| void (\*onSurfaceChanged)(OH_ArkUI_SurfaceHolder* surfaceHolder, uint64_t width, uint64_t height) | Callback event triggered when the surface size changes. - **surfaceHolder**: pointer to the target [OH_ArkUI_SurfaceHolder](capi-oh-nativexcomponent-native-xcomponent-oh-arkui-surfaceholder.md) instance. - **width**: new width of the surface after the size change. - **height**: new height of the surface after the size change.| | 1770 | +| void (\*onSurfaceChanged)(OH_ArkUI_SurfaceHolder* surfaceHolder, uint64_t width, uint64_t height) | Callback event triggered when the surface size changes. - **surfaceHolder**: pointer to the target [OH_ArkUI_SurfaceHolder](capi-oh-nativexcomponent-native-xcomponent-oh-arkui-surfaceholder.md) instance. - **width**: new width of the surface after the size change. Unit: vp. - **height**: new height of the surface after the size change. Unit: vp.| |
| 1773 | 1771 | ||
| 1774 | ### OH_ArkUI_SurfaceCallback_SetSurfaceDestroyedEvent() | 1772 | ### OH_ArkUI_SurfaceCallback_SetSurfaceDestroyedEvent() |
| 1775 | 1773 | ||
| @@ -1870,7 +1868,7 @@ Obtains the **NativeWindow** instance associated with an [OH_ArkUI_SurfaceHolder | |||
| 1870 | 1868 | ||
| 1871 | | Type | Description| | 1869 | | Type | Description| |
| 1872 | |---------------------| -- | | 1870 | |---------------------| -- | |
| 1873 | -| [OHNativeWindow](capi-oh-nativexcomponent-native-xcomponent-nativewindow.md)* | **NativeWindow** instance associated with the [OH_ArkUI_SurfaceHolder](capi-oh-nativexcomponent-native-xcomponent-oh-arkui-surfaceholder.md) instance.| | 1871 | +| [NativeWindow](capi-oh-nativexcomponent-native-xcomponent-nativewindow.md)* | **NativeWindow** instance associated with the [OH_ArkUI_SurfaceHolder](capi-oh-nativexcomponent-native-xcomponent-oh-arkui-surfaceholder.md) instance.| |
| 1874 | 1872 | ||
| 1875 | ### OH_ArkUI_XComponent_SetAutoInitialize() | 1873 | ### OH_ArkUI_XComponent_SetAutoInitialize() |
| 1876 | 1874 | ||
| @@ -8,7 +8,7 @@ | |||
| 8 | 8 | ||
| 9 | ## Overview | 9 | ## Overview |
| 10 | 10 | ||
| 11 | -Declares the functions used to convert FrameNodes on the ArkTS side into NodeHandles. | 11 | +Provides the APIs used to convert [FrameNode](js-apis-arkui-frameNode.md) on the ArkTS side to [NodeHandle](capi-arkui-nativemodule-arkui-node8h.md). |
| 12 | 12 | ||
| 13 | **File to include**: <arkui/native_node_napi.h> | 13 | **File to include**: <arkui/native_node_napi.h> |
| 14 | 14 | ||
| @@ -90,7 +90,7 @@ int32_t OH_ArkUI_GetContextFromNapiValue(napi_env env, napi_value value, ArkUI_C | |||
| 90 | **Description** | 90 | **Description** |
| 91 | 91 | ||
| 92 | 92 | ||
| 93 | -Obtains a **UIContext** object on the ArkTS side and maps it to an **ArkUI_ContextHandle** object on the native side. | 93 | +Obtains a [UIContext](arkts-apis-uicontext-uicontext.md) object on the ArkTS side and maps it to **ArkUI_ContextHandle** on the native side. |
| 94 | 94 | ||
| 95 | **Since**: 12 | 95 | **Since**: 12 |
| 96 | 96 | ||
| @@ -156,7 +156,7 @@ Maps the [DrawableDescriptor](arkui-ts/ts-basic-components-image.md#drawabledesc | |||
| 156 | | Name| Description| | 156 | | Name| Description| |
| 157 | | -- | -- | | 157 | | -- | -- | |
| 158 | | napi_env env | Pointer to the Node-API environment.| | 158 | | napi_env env | Pointer to the Node-API environment.| |
| 159 | -| napi_value value | **DrawableDescriptor** object created on the ArkTS side.| | 159 | +| napi_value value | [DrawableDescriptor](arkui-ts/ts-basic-components-image.md#drawabledescriptor10) object created on the ArkTS side.| |
| 160 | | [ArkUI_DrawableDescriptor](capi-arkui-nativemodule-arkui-drawabledescriptor.md)** drawableDescriptor | Double pointer used to receive the **ArkUI_DrawableDescriptor** object.| | 160 | | [ArkUI_DrawableDescriptor](capi-arkui-nativemodule-arkui-drawabledescriptor.md)** drawableDescriptor | Double pointer used to receive the **ArkUI_DrawableDescriptor** object.| |
| 161 | 161 | ||
| 162 | **Return value** | 162 | **Return value** |
| @@ -174,7 +174,7 @@ int32_t OH_ArkUI_GetDrawableDescriptorFromResourceNapiValue(napi_env env, napi_v | |||
| 174 | **Description** | 174 | **Description** |
| 175 | 175 | ||
| 176 | 176 | ||
| 177 | -Maps the [$r](js-apis-arkui-resource.md) resource object created on the ArkTS side to the [ArkUI_DrawableDescriptor](capi-arkui-nativemodule-arkui-drawabledescriptor.md) object on the native side. | 177 | +Converts the resource object obtained by **$r()** on the ArkTS side to the [ArkUI_DrawableDescriptor](capi-arkui-nativemodule-arkui-drawabledescriptor.md) object that can be used on the native side. |
| 178 | 178 | ||
| 179 | **Since**: 12 | 179 | **Since**: 12 |
| 180 | 180 | ||
| @@ -287,7 +287,7 @@ ArkUI_ErrorCode OH_ArkUI_GetNavDestinationNameByIndex(ArkUI_NodeHandle node, int | |||
| 287 | **Description** | 287 | **Description** |
| 288 | 288 | ||
| 289 | 289 | ||
| 290 | -Obtains the name of the page in the navigation stack where the specified node is located based on the given index. The index starts from 0, which indicates the bottom of the stack. | 290 | +Obtains the name of the page in the navigation stack where the specified node is located based on the given index. The index starts from 0, which indicates the bottom of the stack. |
| 291 | 291 | ||
| 292 | **Since**: 12 | 292 | **Since**: 12 |
| 293 | 293 | ||
| @@ -18,11 +18,11 @@ The **Animator** module provides APIs for applying animation effects, including | |||
| 18 | > | 18 | > |
| 19 | > - The functionality of this module depends on UI context. This means that the APIs of this module cannot be used where [the UI context is ambiguous](../../ui/arkts-global-interface.md#ambiguous-ui-context). For details, see [UIContext](arkts-apis-uicontext-uicontext.md). | 19 | > - The functionality of this module depends on UI context. This means that the APIs of this module cannot be used where [the UI context is ambiguous](../../ui/arkts-global-interface.md#ambiguous-ui-context). For details, see [UIContext](arkts-apis-uicontext-uicontext.md). |
| 20 | > | 20 | > |
| 21 | -> - Custom components typically retain the [AnimatorResult](#animatorresult) returned by [createAnimator](arkts-apis-uicontext-uicontext.md#createanimator) to prevent animation object destruction during execution. This object holds references to the custom component via callbacks. Release the animation object in [aboutToDisappear](../apis-arkui/arkui-ts/ts-custom-component-lifecycle.md#abouttodisappear) to avoid circular reference memory leaks. For implementation examples, see [ArkTS-based Declarative Development Paradigm](#arkts-based-declarative-development-paradigm). | 21 | +> - A custom component usually holds an [AnimatorResult](#animatorresult) object returned by the [createAnimator](arkts-apis-uicontext-uicontext.md#createanimator) API to ensure that the animation object is not destructed during the animation. The object captures the custom component object through a callback. Therefore, the animation object needs to be released in the [aboutToDisappear](../apis-arkui/arkui-ts/ts-custom-component-lifecycle.md#abouttodisappear) lifecycle when the custom component is destroyed to avoid memory leakage caused by cyclic dependency. For the example details, see [ArkTS-based Declarative Development Paradigm](#arkts-based-declarative-development-paradigm). |
| 22 | > | 22 | > |
| 23 | -> - Both Animator destruction and explicit [cancel](#cancel) or [finish](#finish) calls trigger an additional [onFrame](#properties) callback with the animation's endpoint value. Therefore, if [cancel](#cancel) or [finish](#finish) is called during animation execution, there will be an immediate jump to the endpoint in one frame. For smooth mid-point termination, first clear the **onFrame** callback before calling [finish](#finish). | 23 | +> - When the object of **Animator** is destructed or proactively call [cancel](#cancel) or [finish](#finish), an additional [onFrame](#properties) API will be triggered. The return value is the end point value of the animation. Therefore, if [cancel](#cancel) or [finish](#finish) is called during the animation, the property value will jump to the end point value within a frame. To pause the animation, set **onFrame** to an empty function and then call [finish](#finish). |
| 24 | > | 24 | > |
| 25 | -> - For an **Animator** animation with infinite iterations, even when the global animation speed is set to 0 (animations disabled) in Developer options, the loop animation will still continue to execute. | 25 | +> - For an animation in an infinite loop, the animation will continue to be played even if the global animation speed is set to 0 (disabled) in the developer options. |
| 26 | 26 | ||
| 27 | ## Modules to Import | 27 | ## Modules to Import |
| 28 | 28 | ||
| @@ -1010,7 +1010,7 @@ struct AnimatorTest { | |||
| 1010 | Column() | 1010 | Column() |
| 1011 | .width(this.columnWidth) | 1011 | .width(this.columnWidth) |
| 1012 | .height(this.columnHeight) | 1012 | .height(this.columnHeight) |
| 1013 | - .backgroundColor(Color.Red) | 1013 | + .backgroundColor(Color.Blue) |
| 1014 | } | 1014 | } |
| 1015 | .width('100%') | 1015 | .width('100%') |
| 1016 | .height(300) | 1016 | .height(300) |
| @@ -1120,6 +1120,8 @@ struct AnimatorTest { | |||
| 1120 | } | 1120 | } |
| 1121 | ``` | 1121 | ``` |
| 1122 | 1122 | ||
| 1123 | + | ||
| 1124 | + | ||
| 1123 | ### Example: Implementing a Translation Animation with Simple Parameters | 1125 | ### Example: Implementing a Translation Animation with Simple Parameters |
| 1124 | 1126 | ||
| 1125 | ```ts | 1127 | ```ts |
| @@ -3076,8 +3076,8 @@ class MyNodeController extends NodeController { | |||
| 3076 | 3076 | ||
| 3077 | let mouseEvent = event as MouseEvent; | 3077 | let mouseEvent = event as MouseEvent; |
| 3078 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { | 3078 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { |
| 3079 | - mouseEvent.x = uiContext.vp2px(offsetX + mouseEvent.x); | 3079 | + mouseEvent.windowX = uiContext.vp2px(offsetX + mouseEvent.x); |
| 3080 | - mouseEvent.y = uiContext.vp2px(offsetY + mouseEvent.y); | 3080 | + mouseEvent.windowY = uiContext.vp2px(offsetY + mouseEvent.y); |
| 3081 | } | 3081 | } |
| 3082 | // Post the mouse event to the FrameNode created by BuilderNode. result indicates whether the post is successful. | 3082 | // Post the mouse event to the FrameNode created by BuilderNode. result indicates whether the post is successful. |
| 3083 | let result = this.rootNode.postInputEvent(event); | 3083 | let result = this.rootNode.postInputEvent(event); |
| @@ -3097,15 +3097,15 @@ class MyNodeController extends NodeController { | |||
| 3097 | let changedTouchLen = touchEvent.changedTouches.length; | 3097 | let changedTouchLen = touchEvent.changedTouches.length; |
| 3098 | for (let i = 0; i < changedTouchLen; i++) { | 3098 | for (let i = 0; i < changedTouchLen; i++) { |
| 3099 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { | 3099 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { |
| 3100 | - touchEvent.changedTouches[i].x = uiContext.vp2px(offsetX + touchEvent.changedTouches[i].x); | 3100 | + touchEvent.changedTouches[i].windowX = uiContext.vp2px(offsetX + touchEvent.changedTouches[i].x); |
| 3101 | - touchEvent.changedTouches[i].y = uiContext.vp2px(offsetY + touchEvent.changedTouches[i].y); | 3101 | + touchEvent.changedTouches[i].windowY = uiContext.vp2px(offsetY + touchEvent.changedTouches[i].y); |
| 3102 | } | 3102 | } |
| 3103 | } | 3103 | } |
| 3104 | let touchesLen = touchEvent.touches.length; | 3104 | let touchesLen = touchEvent.touches.length; |
| 3105 | for (let i = 0; i < touchesLen; i++) { | 3105 | for (let i = 0; i < touchesLen; i++) { |
| 3106 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { | 3106 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { |
| 3107 | - touchEvent.touches[i].x = uiContext.vp2px(offsetX + touchEvent.touches[i].x); | 3107 | + touchEvent.touches[i].windowX = uiContext.vp2px(offsetX + touchEvent.touches[i].x); |
| 3108 | - touchEvent.touches[i].y = uiContext.vp2px(offsetY + touchEvent.touches[i].y); | 3108 | + touchEvent.touches[i].windowY = uiContext.vp2px(offsetY + touchEvent.touches[i].y); |
| 3109 | } | 3109 | } |
| 3110 | } | 3110 | } |
| 3111 | // Post the touch event to the FrameNode created by BuilderNode. result indicates whether the post is successful. | 3111 | // Post the touch event to the FrameNode created by BuilderNode. result indicates whether the post is successful. |
| @@ -3211,15 +3211,15 @@ class MyNodeController extends NodeController { | |||
| 3211 | let changedTouchLen = touchEvent.changedTouches.length; | 3211 | let changedTouchLen = touchEvent.changedTouches.length; |
| 3212 | for (let i = 0; i < changedTouchLen; i++) { | 3212 | for (let i = 0; i < changedTouchLen; i++) { |
| 3213 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { | 3213 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { |
| 3214 | - touchEvent.changedTouches[i].x = uiContext.vp2px(offsetX + touchEvent.changedTouches[i].x); | 3214 | + touchEvent.changedTouches[i].windowX = uiContext.vp2px(offsetX + touchEvent.changedTouches[i].x); |
| 3215 | - touchEvent.changedTouches[i].y = uiContext.vp2px(offsetY + touchEvent.changedTouches[i].y); | 3215 | + touchEvent.changedTouches[i].windowY = uiContext.vp2px(offsetY + touchEvent.changedTouches[i].y); |
| 3216 | } | 3216 | } |
| 3217 | } | 3217 | } |
| 3218 | let touchesLen = touchEvent.touches.length; | 3218 | let touchesLen = touchEvent.touches.length; |
| 3219 | for (let i = 0; i < touchesLen; i++) { | 3219 | for (let i = 0; i < touchesLen; i++) { |
| 3220 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { | 3220 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { |
| 3221 | - touchEvent.touches[i].x = uiContext.vp2px(offsetX + touchEvent.touches[i].x); | 3221 | + touchEvent.touches[i].windowX = uiContext.vp2px(offsetX + touchEvent.touches[i].x); |
| 3222 | - touchEvent.touches[i].y = uiContext.vp2px(offsetY + touchEvent.touches[i].y); | 3222 | + touchEvent.touches[i].windowY = uiContext.vp2px(offsetY + touchEvent.touches[i].y); |
| 3223 | } | 3223 | } |
| 3224 | } | 3224 | } |
| 3225 | } | 3225 | } |
| @@ -3317,8 +3317,8 @@ class MyNodeController extends NodeController { | |||
| 3317 | 3317 | ||
| 3318 | let axisEvent = event as AxisEvent; | 3318 | let axisEvent = event as AxisEvent; |
| 3319 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { | 3319 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { |
| 3320 | - axisEvent.x = uiContext.vp2px(offsetX + axisEvent.x); | 3320 | + axisEvent.windowX = uiContext.vp2px(offsetX + axisEvent.x); |
| 3321 | - axisEvent.y = uiContext.vp2px(offsetY + axisEvent.y); | 3321 | + axisEvent.windowY = uiContext.vp2px(offsetY + axisEvent.y); |
| 3322 | } | 3322 | } |
| 3323 | // Post the axis event to the FrameNode created by BuilderNode. result indicates whether the post is successful. | 3323 | // Post the axis event to the FrameNode created by BuilderNode. result indicates whether the post is successful. |
| 3324 | let result = this.rootNode.postInputEvent(event); | 3324 | let result = this.rootNode.postInputEvent(event); |
| @@ -4524,8 +4524,8 @@ class MyNodeController extends NodeController { | |||
| 4524 | let mouseEvent = event as MouseEvent; | 4524 | let mouseEvent = event as MouseEvent; |
| 4525 | // Coordinate conversion: Convert the event coordinates to the node coordinates. | 4525 | // Coordinate conversion: Convert the event coordinates to the node coordinates. |
| 4526 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { | 4526 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { |
| 4527 | - mouseEvent.x = uiContext.vp2px(offsetX + mouseEvent.x); | 4527 | + mouseEvent.windowX = uiContext.vp2px(offsetX + mouseEvent.x); |
| 4528 | - mouseEvent.y = uiContext.vp2px(offsetY + mouseEvent.y); | 4528 | + mouseEvent.windowY = uiContext.vp2px(offsetY + mouseEvent.y); |
| 4529 | } | 4529 | } |
| 4530 | // Call postInputEvent to post the converted event to the ReactiveBuilderNode. | 4530 | // Call postInputEvent to post the converted event to the ReactiveBuilderNode. |
| 4531 | let result = this.rootNode.postInputEvent(event); | 4531 | let result = this.rootNode.postInputEvent(event); |
| @@ -4547,16 +4547,16 @@ class MyNodeController extends NodeController { | |||
| 4547 | let changedTouchLen = touchEvent.changedTouches.length; | 4547 | let changedTouchLen = touchEvent.changedTouches.length; |
| 4548 | for (let i = 0; i < changedTouchLen; i++) { | 4548 | for (let i = 0; i < changedTouchLen; i++) { |
| 4549 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { | 4549 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { |
| 4550 | - touchEvent.changedTouches[i].x = uiContext.vp2px(offsetX + touchEvent.changedTouches[i].x); | 4550 | + touchEvent.changedTouches[i].windowX = uiContext.vp2px(offsetX + touchEvent.changedTouches[i].x); |
| 4551 | - touchEvent.changedTouches[i].y = uiContext.vp2px(offsetY + touchEvent.changedTouches[i].y); | 4551 | + touchEvent.changedTouches[i].windowY = uiContext.vp2px(offsetY + touchEvent.changedTouches[i].y); |
| 4552 | } | 4552 | } |
| 4553 | } | 4553 | } |
| 4554 | // Convert the coordinates of all touch points in the touches array. | 4554 | // Convert the coordinates of all touch points in the touches array. |
| 4555 | let touchesLen = touchEvent.touches.length; | 4555 | let touchesLen = touchEvent.touches.length; |
| 4556 | for (let i = 0; i < touchesLen; i++) { | 4556 | for (let i = 0; i < touchesLen; i++) { |
| 4557 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { | 4557 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { |
| 4558 | - touchEvent.touches[i].x = uiContext.vp2px(offsetX + touchEvent.touches[i].x); | 4558 | + touchEvent.touches[i].windowX = uiContext.vp2px(offsetX + touchEvent.touches[i].x); |
| 4559 | - touchEvent.touches[i].y = uiContext.vp2px(offsetY + touchEvent.touches[i].y); | 4559 | + touchEvent.touches[i].windowY = uiContext.vp2px(offsetY + touchEvent.touches[i].y); |
| 4560 | } | 4560 | } |
| 4561 | } | 4561 | } |
| 4562 | // Call postInputEvent to post the converted event to the ReactiveBuilderNode. | 4562 | // Call postInputEvent to post the converted event to the ReactiveBuilderNode. |
| @@ -4661,16 +4661,16 @@ class MyNodeController extends NodeController { | |||
| 4661 | let changedTouchLen = touchEvent.changedTouches.length; | 4661 | let changedTouchLen = touchEvent.changedTouches.length; |
| 4662 | for (let i = 0; i < changedTouchLen; i++) { | 4662 | for (let i = 0; i < changedTouchLen; i++) { |
| 4663 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { | 4663 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { |
| 4664 | - touchEvent.changedTouches[i].x = uiContext.vp2px(offsetX + touchEvent.changedTouches[i].x); | 4664 | + touchEvent.changedTouches[i].windowX = uiContext.vp2px(offsetX + touchEvent.changedTouches[i].x); |
| 4665 | - touchEvent.changedTouches[i].y = uiContext.vp2px(offsetY + touchEvent.changedTouches[i].y); | 4665 | + touchEvent.changedTouches[i].windowY = uiContext.vp2px(offsetY + touchEvent.changedTouches[i].y); |
| 4666 | } | 4666 | } |
| 4667 | } | 4667 | } |
| 4668 | // Convert the coordinates of all touch points in the touches array. | 4668 | // Convert the coordinates of all touch points in the touches array. |
| 4669 | let touchesLen = touchEvent.touches.length; | 4669 | let touchesLen = touchEvent.touches.length; |
| 4670 | for (let i = 0; i < touchesLen; i++) { | 4670 | for (let i = 0; i < touchesLen; i++) { |
| 4671 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { | 4671 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { |
| 4672 | - touchEvent.touches[i].x = uiContext.vp2px(offsetX + touchEvent.touches[i].x); | 4672 | + touchEvent.touches[i].windowX = uiContext.vp2px(offsetX + touchEvent.touches[i].x); |
| 4673 | - touchEvent.touches[i].y = uiContext.vp2px(offsetY + touchEvent.touches[i].y); | 4673 | + touchEvent.touches[i].windowY = uiContext.vp2px(offsetY + touchEvent.touches[i].y); |
| 4674 | } | 4674 | } |
| 4675 | } | 4675 | } |
| 4676 | } | 4676 | } |
| @@ -4768,8 +4768,8 @@ class MyNodeController extends NodeController { | |||
| 4768 | 4768 | ||
| 4769 | let axisEvent = event as AxisEvent; | 4769 | let axisEvent = event as AxisEvent; |
| 4770 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { | 4770 | if (offsetX != null && offsetY != null && offsetX != undefined && offsetY != undefined) { |
| 4771 | - axisEvent.x = uiContext.vp2px(offsetX + axisEvent.x); | 4771 | + axisEvent.windowX = uiContext.vp2px(offsetX + axisEvent.x); |
| 4772 | - axisEvent.y = uiContext.vp2px(offsetY + axisEvent.y); | 4772 | + axisEvent.windowY = uiContext.vp2px(offsetY + axisEvent.y); |
| 4773 | } | 4773 | } |
| 4774 | // Call postInputEvent to post the converted event to the ReactiveBuilderNode. | 4774 | // Call postInputEvent to post the converted event to the ReactiveBuilderNode. |
| 4775 | let result = this.rootNode.postInputEvent(event); | 4775 | let result = this.rootNode.postInputEvent(event); |
| @@ -381,7 +381,7 @@ Sets the screen to independent display mode. This API uses a promise to return t | |||
| 381 | 381 | ||
| 382 | | Type | Description | | 382 | | Type | Description | |
| 383 | | ------------------- | ------------------------- | | 383 | | ------------------- | ------------------------- | |
| 384 | -| Promise<Array<number>> | Promise used to returns the independent screen IDs, where each ID is an integer greater than 0.| | 384 | +| Promise<Array<number>> | Promise used to return the independent screen IDs, where each ID is an integer greater than 0.| |
| 385 | 385 | ||
| 386 | **Error codes** | 386 | **Error codes** |
| 387 | 387 | ||
| @@ -138,7 +138,7 @@ For details about the error codes, see [Universal Error Codes](../errorcode-univ | |||
| 138 | | ID| Error Message| | 138 | | ID| Error Message| |
| 139 | | ------- | -------------------------- | | 139 | | ------- | -------------------------- | |
| 140 | | 201 | Permission verification failed. The application does not have the permission required to call the API.| | 140 | | 201 | Permission verification failed. The application does not have the permission required to call the API.| |
| 141 | -| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types.| | 141 | +| 401 | Parameter error. Possible causes: 1.Incorrect parameter types. 2.Parameter verification failed.| |
| 142 | | 801 | Capability not supported on this device.| | 142 | | 801 | Capability not supported on this device.| |
| 143 | | 1400003 | This display manager service works abnormally.| | 143 | | 1400003 | This display manager service works abnormally.| |
| 144 | 144 | ||
| @@ -173,7 +173,7 @@ Provides entity information perceived, including content, links, images, and oth | |||
| 173 | | Name| Type | Read-Only| Optional| Description | | 173 | | Name| Type | Read-Only| Optional| Description | |
| 174 | | ---- | ------ | ---- | ---- | ---------------------------------------- | | 174 | | ---- | ------ | ---- | ---- | ---------------------------------------- | |
| 175 | | entityName | string | No | No | Name of the perceived entity, which is fixed.| | 175 | | entityName | string | No | No | Name of the perceived entity, which is fixed.| |
| 176 | -| entityInfo | Record<string, Object> | No | No | Entity information perceived , including content, links, images, and other types of entities.| | 176 | +| entityInfo | Record<string, Object> | No | No | Entity information perceived, including content, links, images, and other types of entities.| |
| 177 | 177 | ||
| 178 | 178 | ||
| 179 | ## OnscreenAwarenessInfo<sup>23+</sup> | 179 | ## OnscreenAwarenessInfo<sup>23+</sup> |