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