33 QArkUi::callArkUiOrFailOnErrorResult(
34 Q_OHOS_NAMED_FUNC(::OH_ArkUI_DragAction_SetTouchPointX),
35 m_dragAction.get(), touchX);
36 QArkUi::callArkUiOrFailOnErrorResult(
37 Q_OHOS_NAMED_FUNC(::OH_ArkUI_DragAction_SetTouchPointY),
38 m_dragAction.get(), touchY);
43 m_pixelMaps = std::move(pixelMaps);
44 m_pixelMapsPointers.resize(m_pixelMaps.size() + 1);
46 for (std::size_t i = 0; i < m_pixelMaps.size(); ++i)
47 m_pixelMapsPointers[i] = m_pixelMaps[i].get();
48 m_pixelMapsPointers[m_pixelMaps.size()] =
nullptr;
50 QArkUi::callArkUiOrFailOnErrorResult(
51 Q_OHOS_NAMED_FUNC(::OH_ArkUI_DragAction_SetPixelMaps),
52 m_dragAction.get(), m_pixelMapsPointers.data(), m_pixelMaps.size());
65 std::function<
void(::ArkUI_DragAndDropInfo *)> statusListener)
69 auto sharedStatusListener = QtOhos::moveToSharedPtr(std::move(statusListener));
71 m_statusListenerRegistrationHandle = QtOhos::makeDestroyNotifier(
72 [sharedStatusListener, weakDragAction = QtOhos::makeWeakPtr(m_dragAction)]() {
73 auto dragAction = weakDragAction.lock();
76 Q_OHOS_NAMED_FUNC(::OH_ArkUI_DragAction_UnregisterStatusListener),
81 QArkUi::callArkUiOrFailOnErrorResult(
82 Q_OHOS_NAMED_FUNC(::OH_ArkUI_DragAction_RegisterStatusListener),
83 m_dragAction.get(), sharedStatusListener.get(),
84 [](::ArkUI_DragAndDropInfo *dragAndDropInfo,
void *statusListenerVoidPtr) {
85 auto *statusListener =
static_cast<std::function<
void(::ArkUI_DragAndDropInfo *)> *>(statusListenerVoidPtr);
86 (*statusListener)(dragAndDropInfo);