arkui_sys/drag_and_drop/drag_and_drop_ffi.rs
1// automatically generated by rust-bindgen 0.71.1
2
3#![allow(non_upper_case_globals)]
4#![allow(non_camel_case_types)]
5#![allow(non_snake_case)]
6use crate::native_type::*;
7pub use ohos_sys_opaque_types::OH_PixelmapNative;
8
9#[cfg(feature = "api-12")]
10#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11impl ArkUI_DragResult {
12 /// The drag and drop operation succeeded.
13 pub const ARKUI_DRAG_RESULT_SUCCESSFUL: ArkUI_DragResult = ArkUI_DragResult(0);
14}
15#[cfg(feature = "api-12")]
16#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
17impl ArkUI_DragResult {
18 /// The drag and drop operation failed.
19 pub const ARKUI_DRAG_RESULT_FAILED: ArkUI_DragResult = ArkUI_DragResult(1);
20}
21#[cfg(feature = "api-12")]
22#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
23impl ArkUI_DragResult {
24 /// The drag and drop operation was canceled.
25 pub const ARKUI_DRAG_RESULT_CANCELED: ArkUI_DragResult = ArkUI_DragResult(2);
26}
27#[repr(transparent)]
28/// Defines an enum for drag results, which are set by the data receiver and transferred by the system to the
29/// drag source so that the drag source is aware of the data processing result of the receiver.
30///
31///
32/// Available since API-level: 12
33#[cfg(feature = "api-12")]
34#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
35#[derive(Clone, Hash, PartialEq, Eq)]
36pub struct ArkUI_DragResult(pub ::core::ffi::c_uint);
37#[cfg(feature = "api-12")]
38#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
39impl ArkUI_DropOperation {
40 /// Copy.
41 pub const ARKUI_DROP_OPERATION_COPY: ArkUI_DropOperation = ArkUI_DropOperation(0);
42}
43#[cfg(feature = "api-12")]
44#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
45impl ArkUI_DropOperation {
46 /// Cut.
47 pub const ARKUI_DROP_OPERATION_MOVE: ArkUI_DropOperation = ArkUI_DropOperation(1);
48}
49#[repr(transparent)]
50/// Defines an enum for data processing modes used when data is dropped, which affects the display of the badge.
51///
52///
53/// Available since API-level: 12
54#[cfg(feature = "api-12")]
55#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
56#[derive(Clone, Hash, PartialEq, Eq)]
57pub struct ArkUI_DropOperation(pub ::core::ffi::c_uint);
58#[cfg(feature = "api-12")]
59#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
60impl ArkUI_PreDragStatus {
61 /// Unknown.
62 pub const ARKUI_PRE_DRAG_STATUS_UNKNOWN: ArkUI_PreDragStatus = ArkUI_PreDragStatus(-1);
63}
64#[cfg(feature = "api-12")]
65#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
66impl ArkUI_PreDragStatus {
67 /// A drag gesture is being detected.
68 pub const ARKUI_PRE_DRAG_STATUS_ACTION_DETECTING: ArkUI_PreDragStatus = ArkUI_PreDragStatus(0);
69}
70#[cfg(feature = "api-12")]
71#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
72impl ArkUI_PreDragStatus {
73 /// The component is ready to be dragged.
74 pub const ARKUI_PRE_DRAG_STATUS_READY_TO_TRIGGER_DRAG: ArkUI_PreDragStatus =
75 ArkUI_PreDragStatus(1);
76}
77#[cfg(feature = "api-12")]
78#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
79impl ArkUI_PreDragStatus {
80 /// A lift animation is started.
81 pub const ARKUI_PRE_DRAG_STATUS_PREVIEW_LIFT_STARTED: ArkUI_PreDragStatus =
82 ArkUI_PreDragStatus(2);
83}
84#[cfg(feature = "api-12")]
85#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
86impl ArkUI_PreDragStatus {
87 /// A lift animation is finished.
88 pub const ARKUI_PRE_DRAG_STATUS_PREVIEW_LIFT_FINISHED: ArkUI_PreDragStatus =
89 ArkUI_PreDragStatus(3);
90}
91#[cfg(feature = "api-12")]
92#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
93impl ArkUI_PreDragStatus {
94 /// A drop animation is started.
95 pub const ARKUI_PRE_DRAG_STATUS_PREVIEW_LANDING_STARTED: ArkUI_PreDragStatus =
96 ArkUI_PreDragStatus(4);
97}
98#[cfg(feature = "api-12")]
99#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
100impl ArkUI_PreDragStatus {
101 /// A drop animation is finished.
102 pub const ARKUI_PRE_DRAG_STATUS_PREVIEW_LANDING_FINISHED: ArkUI_PreDragStatus =
103 ArkUI_PreDragStatus(5);
104}
105#[cfg(feature = "api-12")]
106#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
107impl ArkUI_PreDragStatus {
108 /// A drop animation is terminated.
109 pub const ARKUI_PRE_DRAG_STATUS_CANCELED_BEFORE_DRAG: ArkUI_PreDragStatus =
110 ArkUI_PreDragStatus(6);
111}
112#[repr(transparent)]
113/// Defines an enum for interaction states prior to a drop and drop operation.
114///
115///
116/// Available since API-level: 12
117#[cfg(feature = "api-12")]
118#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
119#[derive(Clone, Hash, PartialEq, Eq)]
120pub struct ArkUI_PreDragStatus(pub ::core::ffi::c_int);
121#[cfg(feature = "api-12")]
122#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
123impl ArkUI_DragPreviewScaleMode {
124 /// The system automatically changes the position of the dragged point based on the scenario and
125 /// scales the drag preview based on set rules.
126 pub const ARKUI_DRAG_PREVIEW_SCALE_AUTO: ArkUI_DragPreviewScaleMode =
127 ArkUI_DragPreviewScaleMode(0);
128}
129#[cfg(feature = "api-12")]
130#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
131impl ArkUI_DragPreviewScaleMode {
132 /// The system does not scale the drag preview.
133 pub const ARKUI_DRAG_PREVIEW_SCALE_DISABLED: ArkUI_DragPreviewScaleMode =
134 ArkUI_DragPreviewScaleMode(1);
135}
136#[repr(transparent)]
137/// Defines an enum for drag preview scale modes.
138///
139///
140/// Available since API-level: 12
141#[cfg(feature = "api-12")]
142#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
143#[derive(Clone, Hash, PartialEq, Eq)]
144pub struct ArkUI_DragPreviewScaleMode(pub ::core::ffi::c_uint);
145#[cfg(feature = "api-12")]
146#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
147impl ArkUI_DragStatus {
148 /// Unknown.
149 pub const ARKUI_DRAG_STATUS_UNKNOWN: ArkUI_DragStatus = ArkUI_DragStatus(-1);
150}
151#[cfg(feature = "api-12")]
152#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
153impl ArkUI_DragStatus {
154 /// Started.
155 pub const ARKUI_DRAG_STATUS_STARTED: ArkUI_DragStatus = ArkUI_DragStatus(0);
156}
157#[cfg(feature = "api-12")]
158#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
159impl ArkUI_DragStatus {
160 /// Ended.
161 pub const ARKUI_DRAG_STATUS_ENDED: ArkUI_DragStatus = ArkUI_DragStatus(1);
162}
163#[repr(transparent)]
164/// Defines an enum for drag states.
165///
166///
167/// Available since API-level: 12
168#[cfg(feature = "api-12")]
169#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
170#[derive(Clone, Hash, PartialEq, Eq)]
171pub struct ArkUI_DragStatus(pub ::core::ffi::c_int);
172#[repr(C)]
173pub struct ArkUI_NodeEvent {
174 _unused: [u8; 0],
175}
176#[repr(C)]
177pub struct ArkUI_DragEvent {
178 _unused: [u8; 0],
179}
180#[repr(C)]
181pub struct ArkUI_DragPreviewOption {
182 _unused: [u8; 0],
183}
184#[repr(C)]
185pub struct ArkUI_DragAction {
186 _unused: [u8; 0],
187}
188#[repr(C)]
189pub struct ArkUI_DragAndDropInfo {
190 _unused: [u8; 0],
191}
192extern "C" {
193 /// Obtains a <b>ArkUI_DragEvent</b> object from the specified <b>ArkUI_NodeEvent</b> object.
194 ///
195 /// # Arguments
196 ///
197 /// * `nodeEvent` - Indicates the pointer to an <b>ArkUI_NodeEvent</b> object.
198 ///
199 /// # Returns
200 ///
201 /// * Returns the pointer to an <b>ArkUI_DragEvent</b> object.
202 /// Returns <b>null</b> if the parameter passed in is invalid or is not a drag-related event.
203 ///
204 /// Available since API-level: 12
205 #[cfg(feature = "api-12")]
206 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
207 pub fn OH_ArkUI_NodeEvent_GetDragEvent(nodeEvent: *mut ArkUI_NodeEvent)
208 -> *mut ArkUI_DragEvent;
209 /// Obtains the interaction state prior to a drop and drop operation.
210 ///
211 /// # Arguments
212 ///
213 /// * `nodeEvent` - Indicates the pointer to an <b>ArkUI_NodeEvent</b> object.
214 ///
215 /// # Returns
216 ///
217 /// * Returns the interaction state prior to the drop and drop operation.
218 ///
219 /// Available since API-level: 12
220 #[cfg(feature = "api-12")]
221 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
222 pub fn OH_ArkUI_NodeEvent_GetPreDragStatus(
223 nodeEvent: *mut ArkUI_NodeEvent,
224 ) -> ArkUI_PreDragStatus;
225 /// Sets whether to disable the default drop animation.
226 /// The default drop animation is enabled by default and can be disabled to apply a custom drop animation.
227 ///
228 /// # Arguments
229 ///
230 /// * `event` - Indicates the pointer to an <b>ArkUI_DragEvent</b> object.
231 ///
232 /// * `disable` - Indicates whether to disable the default drop animation.
233 /// The value <b>true</b> means to disable the default drop animation, and <b>false</b> means the opposite.
234 ///
235 /// # Returns
236 ///
237 /// * Returns the result code.
238 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
239 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
240 ///
241 /// Available since API-level: 12
242 #[cfg(feature = "api-12")]
243 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
244 pub fn OH_ArkUI_DragEvent_DisableDefaultDropAnimation(
245 event: *mut ArkUI_DragEvent,
246 disable: bool,
247 ) -> i32;
248 /// Sets the data processing mode.
249 ///
250 /// # Arguments
251 ///
252 /// * `event` - Indicates the pointer to an <b>ArkUI_DragEvent</b> object.
253 ///
254 /// * `dropOperation` - Indicates the data processing mode.
255 ///
256 /// # Returns
257 ///
258 /// * Returns the result code.
259 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
260 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
261 ///
262 /// Available since API-level: 12
263 #[cfg(feature = "api-12")]
264 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
265 pub fn OH_ArkUI_DragEvent_SetSuggestedDropOperation(
266 event: *mut ArkUI_DragEvent,
267 dropOperation: ArkUI_DropOperation,
268 ) -> i32;
269 /// Sets the result for a drag event.
270 ///
271 /// # Arguments
272 ///
273 /// * `event` - Indicates the pointer to an <b>ArkUI_DragEvent</b> object.
274 ///
275 /// * `result` - Indicates the drag result.
276 ///
277 /// # Returns
278 ///
279 /// * Returns the result code.
280 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
281 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
282 ///
283 /// Available since API-level: 12
284 #[cfg(feature = "api-12")]
285 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
286 pub fn OH_ArkUI_DragEvent_SetDragResult(
287 event: *mut ArkUI_DragEvent,
288 result: ArkUI_DragResult,
289 ) -> i32;
290 /// Obtains the number of drag data types from a drag event.
291 ///
292 /// # Arguments
293 ///
294 /// * `event` - Indicates the pointer to an <b>ArkUI_DragEvent</b> object.
295 ///
296 /// * `count` - Indicates the number of drag data types returned.
297 ///
298 /// # Returns
299 ///
300 /// * Returns the result code.
301 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
302 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
303 ///
304 /// Available since API-level: 12
305 #[cfg(feature = "api-12")]
306 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
307 pub fn OH_ArkUI_DragEvent_GetDataTypeCount(event: *mut ArkUI_DragEvent, count: *mut i32)
308 -> i32;
309 /// Obtains the list of drag data types from a drag event.
310 ///
311 /// # Arguments
312 ///
313 /// * `event` - Indicates the pointer to an <b>ArkUI_DragEvent</b> object.
314 ///
315 /// * `eventTypeArray` - Indicates the list of the drag data types. You need to create a string array first.
316 ///
317 /// * `length` - Indicates the total length of the list array. It must be greater than or equal to the number obtained
318 /// by using [`OH_ArkUI_DragEvent_GetDataTypeCount`].
319 ///
320 /// * `maxStrLen` - Indicates the max string length of drag data types.
321 ///
322 /// # Returns
323 ///
324 /// * Returns the result code.
325 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
326 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
327 /// Returns [`ARKUI_ERROR_CODE_BUFFER_SIZE_ERROR`] if the giving buffer is not enough for string copy.
328 ///
329 /// Available since API-level: 12
330 #[cfg(feature = "api-12")]
331 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
332 pub fn OH_ArkUI_DragEvent_GetDataTypes(
333 event: *mut ArkUI_DragEvent,
334 eventTypeArray: *mut *mut ::core::ffi::c_char,
335 length: i32,
336 maxStrLen: i32,
337 ) -> i32;
338 /// Obtains the drag result from a drag event.
339 ///
340 /// # Arguments
341 ///
342 /// * `event` - Indicates the pointer to an <b>ArkUI_DragEvent</b> object.
343 ///
344 /// * `result` - Indicates the drag result returned.
345 ///
346 /// # Returns
347 ///
348 /// * Returns the result code.
349 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
350 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
351 ///
352 /// Available since API-level: 12
353 #[cfg(feature = "api-12")]
354 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
355 pub fn OH_ArkUI_DragEvent_GetDragResult(
356 event: *mut ArkUI_DragEvent,
357 result: *mut ArkUI_DragResult,
358 ) -> i32;
359 /// Obtains the drop operation from a drag event.
360 ///
361 /// # Arguments
362 ///
363 /// * `event` - Indicates the pointer to an <b>ArkUI_DragEvent</b> object.
364 ///
365 /// * `operation` - Indicates the drop operation which the data receiver set.
366 ///
367 /// # Returns
368 ///
369 /// * Returns the result code.
370 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
371 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
372 /// Possible causes: 1. The given parameters are null or the given event is not a valid DragEvent.
373 ///
374 /// Available since API-level: 12
375 #[cfg(feature = "api-12")]
376 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
377 pub fn OH_ArkUI_DragEvent_GetDropOperation(
378 event: *mut ArkUI_DragEvent,
379 operation: *mut ArkUI_DropOperation,
380 ) -> i32;
381 /// Obtains the X coordinate of the touch point for a drag preview from a drag event.
382 ///
383 /// # Arguments
384 ///
385 /// * `event` - Indicates the pointer to an <b>ArkUI_DragEvent</b> object.
386 ///
387 /// # Returns
388 ///
389 /// * Returns the X coordinate of the touch point, in px.
390 /// Returns the default value <b>0</b> if the input parameter is invalid.
391 ///
392 /// Available since API-level: 12
393 #[cfg(feature = "api-12")]
394 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
395 pub fn OH_ArkUI_DragEvent_GetPreviewTouchPointX(event: *mut ArkUI_DragEvent) -> f32;
396 /// Obtains the Y coordinate of the touch point for a drag preview from a drag event.
397 ///
398 /// # Arguments
399 ///
400 /// * `event` - Indicates the pointer to an <b>ArkUI_DragEvent</b> object.
401 ///
402 /// # Returns
403 ///
404 /// * Returns the Y coordinate of the touch point, in px.
405 /// Returns the default value <b>0</b> if the input parameter is invalid.
406 ///
407 /// Available since API-level: 12
408 #[cfg(feature = "api-12")]
409 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
410 pub fn OH_ArkUI_DragEvent_GetPreviewTouchPointY(event: *mut ArkUI_DragEvent) -> f32;
411 /// Obtains the width of a drag preview from a drag event.
412 ///
413 /// # Arguments
414 ///
415 /// * `event` - Indicates the pointer to an <b>ArkUI_DragEvent</b> object.
416 ///
417 /// # Returns
418 ///
419 /// * Returns the width of the drag preview, in px.
420 /// Returns the default value <b>0</b> if the input parameter is invalid.
421 ///
422 /// Available since API-level: 12
423 #[cfg(feature = "api-12")]
424 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
425 pub fn OH_ArkUI_DragEvent_GetPreviewRectWidth(event: *mut ArkUI_DragEvent) -> f32;
426 /// Obtains the height of a drag preview from a drag event.
427 ///
428 /// # Arguments
429 ///
430 /// * `event` - Indicates the pointer to an <b>ArkUI_DragEvent</b> object.
431 ///
432 /// # Returns
433 ///
434 /// * Returns the height of the drag preview, in px.
435 /// Returns the default value <b>0</b> if the input parameter is invalid.
436 ///
437 /// Available since API-level: 12
438 #[cfg(feature = "api-12")]
439 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
440 pub fn OH_ArkUI_DragEvent_GetPreviewRectHeight(event: *mut ArkUI_DragEvent) -> f32;
441 /// Obtains the X coordinate of the touch point relative to the window from a drag event.
442 ///
443 /// # Arguments
444 ///
445 /// * `event` - Indicates the pointer to an <b>ArkUI_DragEvent</b> object.
446 ///
447 /// # Returns
448 ///
449 /// * Returns the X coordinate of the touch point relative to the window, in px.
450 /// Returns the default value <b>0</b> if the input parameter is invalid.
451 ///
452 /// Available since API-level: 12
453 #[cfg(feature = "api-12")]
454 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
455 pub fn OH_ArkUI_DragEvent_GetTouchPointXToWindow(event: *mut ArkUI_DragEvent) -> f32;
456 /// Obtains the Y coordinate of the touch point relative to the window from a drag event.
457 ///
458 /// # Arguments
459 ///
460 /// * `event` - Indicates the pointer to an <b>ArkUI_DragEvent</b> object.
461 ///
462 /// # Returns
463 ///
464 /// * Returns the Y coordinate of the touch point relative to the window, in px.
465 /// Returns the default value <b>0</b> if the input parameter is invalid.
466 ///
467 /// Available since API-level: 12
468 #[cfg(feature = "api-12")]
469 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
470 pub fn OH_ArkUI_DragEvent_GetTouchPointYToWindow(event: *mut ArkUI_DragEvent) -> f32;
471 /// Obtains the X coordinate of the touch point relative to the current display from a drag event.
472 ///
473 /// # Arguments
474 ///
475 /// * `event` - Indicates the pointer to an <b>ArkUI_DragEvent</b> object.
476 ///
477 /// # Returns
478 ///
479 /// * Returns the X coordinate of the touch point relative to the current display, in px.
480 /// Returns the default value <b>0</b> if the input parameter is invalid.
481 ///
482 /// Available since API-level: 12
483 #[cfg(feature = "api-12")]
484 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
485 pub fn OH_ArkUI_DragEvent_GetTouchPointXToDisplay(event: *mut ArkUI_DragEvent) -> f32;
486 /// Obtains the Y coordinate of the touch point relative to the current display from a drag event.
487 ///
488 /// # Arguments
489 ///
490 /// * `event` - Indicates the pointer to an <b>ArkUI_DragEvent</b> object.
491 ///
492 /// # Returns
493 ///
494 /// * Returns the Y coordinate of the touch point relative to the current display, in px.
495 /// Returns the default value <b>0</b> if the input parameter is invalid.
496 ///
497 /// Available since API-level: 12
498 #[cfg(feature = "api-12")]
499 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
500 pub fn OH_ArkUI_DragEvent_GetTouchPointYToDisplay(event: *mut ArkUI_DragEvent) -> f32;
501 /// Obtains the dragging velocity along the x-axis.
502 ///
503 /// # Arguments
504 ///
505 /// * `event` - Indicates the pointer to an <b>ArkUI_DragEvent</b> object.
506 ///
507 /// # Returns
508 ///
509 /// * Returns the dragging velocity along the x-axis, in px.
510 /// Returns the default value <b>0</b> if the input parameter is invalid.
511 ///
512 /// Available since API-level: 12
513 #[cfg(feature = "api-12")]
514 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
515 pub fn OH_ArkUI_DragEvent_GetVelocityX(event: *mut ArkUI_DragEvent) -> f32;
516 /// Obtains the dragging velocity along the y-axis.
517 ///
518 /// # Arguments
519 ///
520 /// * `event` - Indicates the pointer to an <b>ArkUI_DragEvent</b> object.
521 ///
522 /// # Returns
523 ///
524 /// * Returns the dragging velocity along the y-axis, in px.
525 /// Returns the default value <b>0</b> if the input parameter is invalid.
526 ///
527 /// Available since API-level: 12
528 #[cfg(feature = "api-12")]
529 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
530 pub fn OH_ArkUI_DragEvent_GetVelocityY(event: *mut ArkUI_DragEvent) -> f32;
531 /// Obtains the dragging velocity along the main axis.
532 ///
533 /// # Arguments
534 ///
535 /// * `event` - Indicates the pointer to an <b>ArkUI_DragEvent</b> object.
536 ///
537 /// # Returns
538 ///
539 /// * Returns the dragging velocity along the main axis, in px.
540 /// Returns the default value <b>0</b> if the input parameter is invalid.
541 ///
542 /// Available since API-level: 12
543 #[cfg(feature = "api-12")]
544 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
545 pub fn OH_ArkUI_DragEvent_GetVelocity(event: *mut ArkUI_DragEvent) -> f32;
546 /// Obtains the pressed status of modifier keys from a drag event.
547 ///
548 /// # Arguments
549 ///
550 /// * `event` - Indicates the pointer to an <b>ArkUI_DragEvent</b> object.
551 ///
552 /// * `keys` - Indicates the returned combination of modifier keys that are currently pressed.
553 /// The application can determine the pressed modifier keys through bitwise operations.
554 ///
555 /// # Returns
556 ///
557 /// * Returns the result code.
558 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
559 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
560 ///
561 /// Available since API-level: 12
562 #[cfg(feature = "api-12")]
563 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
564 pub fn OH_ArkUI_DragEvent_GetModifierKeyStates(
565 event: *mut ArkUI_DragEvent,
566 keys: *mut u64,
567 ) -> i32;
568 /// Sets whether to enable strict reporting on drag events.
569 /// This feature is disabled by default, and you are advised to enable it.
570 /// If this feature is disabled, the parent component is not notified when an item in it is dragged over its child
571 /// component. If this feature is enabled, the component is notified of the dragged item's leaving, and the chil
572 /// component to which the dragged item is dropped is notified of the item's entering. This configuration is
573 /// related to a specific UI instance. You can pass in a specific component node on the current UI instance
574 /// for association.
575 ///
576 /// # Arguments
577 ///
578 /// * `node` - Indicates the pointer to a component node.
579 ///
580 /// * `enabled` - Indicates whether to enable strict reporting on drag events.
581 ///
582 /// # Returns
583 ///
584 /// * Returns the result code.
585 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
586 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
587 ///
588 /// Available since API-level: 12
589 #[cfg(feature = "api-12")]
590 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
591 pub fn OH_ArkUI_SetDragEventStrictReportWithNode(node: ArkUI_NodeHandle, enabled: bool) -> i32;
592 /// Sets whether to enable strict reporting on drag events.
593 /// This feature is disabled by default, and you are advised to enable it.
594 /// If this feature is disabled, the parent component is not notified when an item in it is dragged over its child
595 /// component. If this feature is enabled, the component is notified of the dragged item's leaving, and the child
596 /// component to which the dragged item is dropped is notified of the item's entering. This configuration is
597 /// related to a specific UI instance. You can pass in a specific UI instance for association.
598 ///
599 /// # Arguments
600 ///
601 /// * `uiContext` - Indicates the pointer to a UI instance.
602 ///
603 /// * `enabled` - Indicates whether to enable strict reporting on drag events.
604 ///
605 /// # Returns
606 ///
607 /// * Returns the result code.
608 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
609 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
610 ///
611 /// Available since API-level: 12
612 #[cfg(feature = "api-12")]
613 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
614 pub fn OH_ArkUI_SetDragEventStrictReportWithContext(
615 uiContext: ArkUI_ContextHandle,
616 enabled: bool,
617 ) -> i32;
618 /// Sets the types of data that can be dropped to the specified component. This API resets the settings configured
619 /// through [`OH_ArkUI_DisallowNodeAnyDropDataTypes`] and [`OH_ArkUI_AllowNodeAllDropDataTypes`].
620 ///
621 /// # Arguments
622 ///
623 /// * `node` - Indicates the pointer to a component node.
624 ///
625 /// * `typesArray` - Indicates the array of types of data that can be dropped.
626 ///
627 /// * `count` - Indicates length of an array.
628 ///
629 /// # Returns
630 ///
631 /// * Returns the result code.
632 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
633 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
634 ///
635 /// Available since API-level: 12
636 #[cfg(feature = "api-12")]
637 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
638 pub fn OH_ArkUI_SetNodeAllowedDropDataTypes(
639 node: ArkUI_NodeHandle,
640 typesArray: *mut *const ::core::ffi::c_char,
641 count: i32,
642 ) -> i32;
643 /// Configures the specified component to disallow any data types. This API resets the settings configured through
644 /// [`OH_ArkUI_SetNodeAllowedDropDataTypes`].
645 ///
646 /// # Arguments
647 ///
648 /// * `node` - Indicates the pointer to a component node.
649 ///
650 /// # Returns
651 ///
652 /// * Returns the result code.
653 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
654 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
655 ///
656 /// Available since API-level: 12
657 #[cfg(feature = "api-12")]
658 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
659 pub fn OH_ArkUI_DisallowNodeAnyDropDataTypes(node: ArkUI_NodeHandle) -> i32;
660 /// Configures the specified component to allow any data types. This API resets the settings configured through
661 /// [`OH_ArkUI_SetNodeAllowedDropDataTypes`].
662 ///
663 /// # Arguments
664 ///
665 /// * `node` - Indicates the pointer to a component node.
666 ///
667 /// # Returns
668 ///
669 /// * Returns the result code.
670 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
671 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
672 ///
673 /// Available since API-level: 12
674 #[cfg(feature = "api-12")]
675 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
676 pub fn OH_ArkUI_AllowNodeAllDropDataTypes(node: ArkUI_NodeHandle) -> i32;
677 /// Sets whether the specified component is draggable.
678 ///
679 /// # Arguments
680 ///
681 /// * `node` - Indicates the pointer to a component node.
682 ///
683 /// * `bool` - Indicates whether the component is draggable.
684 ///
685 /// # Returns
686 ///
687 /// * Returns the result code.
688 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
689 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
690 ///
691 /// Available since API-level: 12
692 #[cfg(feature = "api-12")]
693 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
694 pub fn OH_ArkUI_SetNodeDraggable(node: ArkUI_NodeHandle, enabled: bool) -> i32;
695 /// Sets a custom drag preview for the specified component.
696 ///
697 /// # Arguments
698 ///
699 /// * `node` - Indicates the pointer to a component node.
700 ///
701 /// * `preview` - Indicates the custom drag preview, which is a pixel map.
702 ///
703 /// # Returns
704 ///
705 /// * Returns the result code.
706 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
707 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
708 ///
709 /// Available since API-level: 12
710 #[cfg(feature = "api-12")]
711 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
712 pub fn OH_ArkUI_SetNodeDragPreview(
713 node: ArkUI_NodeHandle,
714 preview: *mut OH_PixelmapNative,
715 ) -> i32;
716 /// Creates an <b>ArkUI_DragPreviewOption</b> object.
717 ///
718 ///
719 /// # Returns
720 ///
721 /// * Returns the created <b>ArkUI_DragPreviewOption</b> object.
722 ///
723 /// Available since API-level: 12
724 #[cfg(feature = "api-12")]
725 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
726 pub fn OH_ArkUI_CreateDragPreviewOption() -> *mut ArkUI_DragPreviewOption;
727 /// Disposes of a <b>ArkUI_DragPreviewOption</b> object.
728 ///
729 /// # Arguments
730 ///
731 /// * `option` - Indicates the pointer to an <b>ArkUI_DragPreviewOption</b> object.
732 ///
733 /// Available since API-level: 12
734 #[cfg(feature = "api-12")]
735 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
736 pub fn OH_ArkUI_DragPreviewOption_Dispose(option: *mut ArkUI_DragPreviewOption);
737 /// Sets the scale mode for an <b>ArkUI_DragPreviewOption</b> object.
738 ///
739 /// # Arguments
740 ///
741 /// * `option` - Indicates the pointer to an <b>ArkUI_DragPreviewOption</b> object.
742 ///
743 /// * `scaleMode` - Indicates the scale mode.
744 ///
745 /// # Returns
746 ///
747 /// * Returns the result code.
748 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
749 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
750 ///
751 /// Available since API-level: 12
752 #[cfg(feature = "api-12")]
753 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
754 pub fn OH_ArkUI_DragPreviewOption_SetScaleMode(
755 option: *mut ArkUI_DragPreviewOption,
756 scaleMode: ArkUI_DragPreviewScaleMode,
757 ) -> i32;
758 /// Sets whether to enable the shadow effect for an <b>ArkUI_DragPreviewOption</b> object.
759 /// The shadow effect is enabled by default.
760 ///
761 /// # Arguments
762 ///
763 /// * `option` - Indicates the pointer to an <b>ArkUI_DragPreviewOption</b> object.
764 ///
765 /// * `enabled` - Indicates whether to enable the shadow effect.
766 ///
767 /// # Returns
768 ///
769 /// * Returns the result code.
770 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
771 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
772 ///
773 /// Available since API-level: 12
774 #[cfg(feature = "api-12")]
775 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
776 pub fn OH_ArkUI_DragPreviewOption_SetDefaultShadowEnabled(
777 option: *mut ArkUI_DragPreviewOption,
778 enabled: bool,
779 ) -> i32;
780 /// Sets whether to enable the rounded corner effect for an <b>ArkUI_DragPreviewOption</b> object.
781 /// The rounded corner effect is enabled by default.
782 ///
783 /// # Arguments
784 ///
785 /// * `option` - Indicates the pointer to an <b>ArkUI_DragPreviewOption</b> object.
786 ///
787 /// * `enabled` - Indicates whether to enable the rounded corner effect.
788 ///
789 /// # Returns
790 ///
791 /// * Returns the result code.
792 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
793 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
794 ///
795 /// Available since API-level: 12
796 #[cfg(feature = "api-12")]
797 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
798 pub fn OH_ArkUI_DragPreviewOption_SetDefaultRadiusEnabled(
799 option: *mut ArkUI_DragPreviewOption,
800 enabled: bool,
801 ) -> i32;
802 /// Sets whether to enable the badge for an <b>ArkUI_DragPreviewOption</b> object.
803 /// If this feature is enabled, a badge that contains the number of dragged items is displayed.
804 ///
805 /// # Arguments
806 ///
807 /// * `option` - Indicates the pointer to an <b>ArkUI_DragPreviewOption</b> object.
808 ///
809 /// * `enabled` - Indicates whether to enable badge.
810 ///
811 /// # Returns
812 ///
813 /// * Returns the result code.
814 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
815 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
816 ///
817 /// Available since API-level: 12
818 #[cfg(feature = "api-12")]
819 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
820 pub fn OH_ArkUI_DragPreviewOption_SetNumberBadgeEnabled(
821 option: *mut ArkUI_DragPreviewOption,
822 enabled: bool,
823 ) -> i32;
824 /// Sets the count on the badge.
825 /// The settings will overwrite the value in the <b>SetDragPreviewNumberBadgeEnabled</b> API.
826 ///
827 /// # Arguments
828 ///
829 /// * `option` - Indicates the pointer to an <b>ArkUI_DragPreviewOption</b> object.
830 ///
831 /// * `forcedNumber` - Indicates the count on the badge.
832 ///
833 /// # Returns
834 ///
835 /// * Returns the result code.
836 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
837 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
838 ///
839 /// Available since API-level: 12
840 #[cfg(feature = "api-12")]
841 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
842 pub fn OH_ArkUI_DragPreviewOption_SetBadgeNumber(
843 option: *mut ArkUI_DragPreviewOption,
844 forcedNumber: u32,
845 ) -> i32;
846 /// Sets whether to enable the default animation on a click or touch, it's not used in drag action.
847 ///
848 /// # Arguments
849 ///
850 /// * `option` - Indicates the pointer to an <b>ArkUI_DragPreviewOption</b> object.
851 ///
852 /// * `enabled` - Indicates whether to enable the default animation on a click or touch.
853 ///
854 /// # Returns
855 ///
856 /// * Returns the result code.
857 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
858 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
859 ///
860 /// Available since API-level: 12
861 #[cfg(feature = "api-12")]
862 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
863 pub fn OH_ArkUI_DragPreviewOption_SetDefaultAnimationBeforeLiftingEnabled(
864 option: *mut ArkUI_DragPreviewOption,
865 enabled: bool,
866 ) -> i32;
867 /// Sets an <b>ArkUI_DragPreviewOption</b> object for the specified component.
868 ///
869 /// # Arguments
870 ///
871 /// * `node` - Indicates the pointer to a component node.
872 ///
873 /// * `option` - Indicates the pointer to an <b>ArkUI_DragPreviewOption</b> object.
874 ///
875 /// # Returns
876 ///
877 /// * Returns the result code.
878 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
879 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
880 ///
881 /// Available since API-level: 12
882 #[cfg(feature = "api-12")]
883 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
884 pub fn OH_ArkUI_SetNodeDragPreviewOption(
885 node: ArkUI_NodeHandle,
886 option: *mut ArkUI_DragPreviewOption,
887 ) -> i32;
888 /// Creates a drag action object for a UI instance based on the specified component node of the current
889 /// UI instance.
890 ///
891 /// # Arguments
892 ///
893 /// * `node` - Indicates the pointer to a component node.
894 ///
895 /// # Returns
896 ///
897 /// * Returns the pointer to the created drag action object; returns null if the operation fails.
898 ///
899 /// Available since API-level: 12
900 #[cfg(feature = "api-12")]
901 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
902 pub fn OH_ArkUI_CreateDragActionWithNode(node: ArkUI_NodeHandle) -> *mut ArkUI_DragAction;
903 /// Creates a drag action object for the specified UI instance.
904 ///
905 /// # Arguments
906 ///
907 /// * `uiContext` - Indicates the pointer to a UI instance.
908 ///
909 /// # Returns
910 ///
911 /// * Returns the pointer to the created drag action object; returns null if the operation fails.
912 ///
913 /// Available since API-level: 12
914 #[cfg(feature = "api-12")]
915 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
916 pub fn OH_ArkUI_CreateDragActionWithContext(
917 uiContext: ArkUI_ContextHandle,
918 ) -> *mut ArkUI_DragAction;
919 /// Disposes of a drag action object.
920 ///
921 /// # Arguments
922 ///
923 /// * `dragAction` - Indicates the pointer to the target drag action object.
924 ///
925 /// Available since API-level: 12
926 #[cfg(feature = "api-12")]
927 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
928 pub fn OH_ArkUI_DragAction_Dispose(dragAction: *mut ArkUI_DragAction);
929 /// Sets the pointer ID. If only one finger is operating on the screen, the pointer ID is 0.
930 /// In general cases, you can set the pointer ID to 0.
931 ///
932 /// # Arguments
933 ///
934 /// * `dragAction` - Indicates the pointer to the target drag action object.
935 ///
936 /// * `pointer` - Indicates the pointer ID. The value ranges from 0 to 9.
937 ///
938 /// # Returns
939 ///
940 /// * Returns the result code.
941 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
942 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
943 ///
944 /// Available since API-level: 12
945 #[cfg(feature = "api-12")]
946 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
947 pub fn OH_ArkUI_DragAction_SetPointerId(dragAction: *mut ArkUI_DragAction, pointer: i32)
948 -> i32;
949 /// Sets the drag previews for a drag action.
950 ///
951 /// # Arguments
952 ///
953 /// * `dragAction` - Indicates the pointer to the target drag action object.
954 ///
955 /// * `pixelmapArray` - Indicates the array of the drag previews to set, which must be pixel maps.
956 ///
957 /// * `size` - Indicates the size of the drag preview array.
958 ///
959 /// # Returns
960 ///
961 /// * Returns the result code.
962 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
963 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
964 ///
965 /// Available since API-level: 12
966 #[cfg(feature = "api-12")]
967 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
968 pub fn OH_ArkUI_DragAction_SetPixelMaps(
969 dragAction: *mut ArkUI_DragAction,
970 pixelmapArray: *mut *mut OH_PixelmapNative,
971 size: i32,
972 ) -> i32;
973 /// Sets the touch point relative to the upper left corner of the first drag preview (pixel map).
974 ///
975 /// # Arguments
976 ///
977 /// * `dragAction` - Indicates the pointer to the target drag action object.
978 ///
979 /// * `x` - Indicates the X coordinate of the touch point.
980 ///
981 /// # Returns
982 ///
983 /// * Returns the result code.
984 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
985 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
986 ///
987 /// Available since API-level: 12
988 #[cfg(feature = "api-12")]
989 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
990 pub fn OH_ArkUI_DragAction_SetTouchPointX(dragAction: *mut ArkUI_DragAction, x: f32) -> i32;
991 /// Sets the touch point relative to the upper left corner of the first drag preview (pixel map).
992 ///
993 /// # Arguments
994 ///
995 /// * `dragAction` - Indicates the pointer to the target drag action object.
996 ///
997 /// * `y` - Indicates the Y coordinate of the touch point.
998 ///
999 /// # Returns
1000 ///
1001 /// * Returns the result code.
1002 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1003 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1004 ///
1005 /// Available since API-level: 12
1006 #[cfg(feature = "api-12")]
1007 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1008 pub fn OH_ArkUI_DragAction_SetTouchPointY(dragAction: *mut ArkUI_DragAction, y: f32) -> i32;
1009 /// Sets an <b>ArkUI_DragPreviewOption</b> object for the specified drag action object.
1010 ///
1011 /// # Arguments
1012 ///
1013 /// * `dragAction` - Indicates the pointer to the target drag action object.
1014 ///
1015 /// * `option` - Indicates the pointer to an <b>ArkUI_DragPreviewOption</b> object.
1016 ///
1017 /// # Returns
1018 ///
1019 /// * Returns the result code.
1020 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1021 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1022 ///
1023 /// Available since API-level: 12
1024 #[cfg(feature = "api-12")]
1025 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1026 pub fn OH_ArkUI_DragAction_SetDragPreviewOption(
1027 dragAction: *mut ArkUI_DragAction,
1028 option: *mut ArkUI_DragPreviewOption,
1029 ) -> i32;
1030 /// Registers a drag status listener.
1031 /// This listener can be used to check whether the data is successfully received and processed.
1032 ///
1033 /// # Arguments
1034 ///
1035 /// * `dragAction` - Indicates the pointer to the target drag action object.
1036 ///
1037 /// * `userData` - Indicates the custom user data.
1038 ///
1039 /// * `listener` - Indicates the listener to register. When the callback is invoked, the system returns a pointer to the drag status
1040 /// object. The pointer is destroyed after the callback is complete and the application should not hold it anymore.
1041 ///
1042 /// # Returns
1043 ///
1044 /// * Returns the result code.
1045 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1046 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1047 ///
1048 /// Available since API-level: 12
1049 #[cfg(feature = "api-12")]
1050 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1051 pub fn OH_ArkUI_DragAction_RegisterStatusListener(
1052 dragAction: *mut ArkUI_DragAction,
1053 userData: *mut ::core::ffi::c_void,
1054 listener: ::core::option::Option<
1055 unsafe extern "C" fn(
1056 dragAndDropInfo: *mut ArkUI_DragAndDropInfo,
1057 userData: *mut ::core::ffi::c_void,
1058 ),
1059 >,
1060 ) -> i32;
1061 /// Unregisters a drag status listener.
1062 ///
1063 /// # Arguments
1064 ///
1065 /// * `dragAction` - Indicates the pointer to the target drag action object.
1066 ///
1067 /// Available since API-level: 12
1068 #[cfg(feature = "api-12")]
1069 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1070 pub fn OH_ArkUI_DragAction_UnregisterStatusListener(dragAction: *mut ArkUI_DragAction);
1071 /// Obtains the drag status of a drag action.
1072 ///
1073 /// # Arguments
1074 ///
1075 /// * `dragAndDropInfo` - Indicates the drag and drop information returned by the drag status listener.
1076 ///
1077 /// # Returns
1078 ///
1079 /// * Returns an <b>ArkUI_DragStatus</b> object; returns <b>ArkUI_DRAG_STATUS_UNKNOWN</b> if an error occurs.
1080 ///
1081 /// Available since API-level: 12
1082 #[cfg(feature = "api-12")]
1083 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1084 pub fn OH_ArkUI_DragAndDropInfo_GetDragStatus(
1085 dragAndDropInfo: *mut ArkUI_DragAndDropInfo,
1086 ) -> ArkUI_DragStatus;
1087 /// Obtains a drag event based on the specified drag and drop information.
1088 /// The drag event can then be used to obtain the drag result and the drag behavior, please note
1089 /// other info is not included in such a drag event.
1090 ///
1091 /// # Arguments
1092 ///
1093 /// * `dragAndDropInfo` - Indicates the drag and drop information returned by the drag status listener.
1094 ///
1095 /// # Returns
1096 ///
1097 /// * Returns an <b>ArkUI_DragEvent</b> object; returns null if an error occurs.
1098 ///
1099 /// Available since API-level: 12
1100 #[cfg(feature = "api-12")]
1101 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1102 pub fn OH_ArkUI_DragAndDropInfo_GetDragEvent(
1103 dragAndDropInfo: *mut ArkUI_DragAndDropInfo,
1104 ) -> *mut ArkUI_DragEvent;
1105 /// Initiates a drag action through the specified drag action object.
1106 ///
1107 /// # Arguments
1108 ///
1109 /// * `dragAction` - Indicates a drag action object.
1110 ///
1111 /// # Returns
1112 ///
1113 /// * Returns the result code.
1114 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1115 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1116 ///
1117 /// Available since API-level: 12
1118 #[cfg(feature = "api-12")]
1119 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1120 pub fn OH_ArkUI_StartDrag(dragAction: *mut ArkUI_DragAction) -> i32;
1121}