Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qqtembeddedwindownode.h
Go to the documentation of this file.
1
// Copyright (C) 2025 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4
#
ifndef
QQTEMBEDDEDWINDOWNODE_H
5
#
define
QQTEMBEDDEDWINDOWNODE_H
6
7
#
include
<
QtCore
/
private
/
qohoscommon_p
.
h
>
8
#
include
<
QtCore
/
qglobal
.
h
>
9
#
include
<
optional
>
10
#
include
<
qarkui
/
qembeddedwindownode
.
h
>
11
#
include
<
QtCore
/
qpoint
.
h
>
12
13
QT_BEGIN_NAMESPACE
14
15
namespace
QArkUi
{
16
17
class
QXComponentCallbackReceiver
18
{
19
public
:
20
enum
class
SurfaceEventType
21
{
22
SurfaceCreated
,
23
SurfaceChanged
,
24
SurfaceDestroyed
,
25
};
26
27
enum
class
InputEventType
28
{
29
Mouse
,
30
Touch
,
31
Keyboard
,
32
};
33
34
virtual
void
onSurfaceEvent
(
SurfaceEventType
surfaceEventType, ::OHNativeWindow *nativeWindow) = 0;
35
virtual
void
onInputEvent
(
InputEventType
inputEventType, ::OHNativeWindow *nativeWindow) = 0;
36
virtual
void
onHoverEvent
(
bool
isHover) = 0;
37
virtual
~
QXComponentCallbackReceiver
();
38
};
39
40
class
QQtEmbeddedWindowNode
final
41
:
public
QEmbeddedWindowNode
42
,
private
QXComponentCallbackReceiver
43
{
44
public
:
45
struct
CreateInfo
46
{
47
QPointF
offset
;
48
QSizeF
size
;
49
std
::
int32_t
zIndex
=
minimumNodeZIndexValue
;
50
QXComponentId
xComponentId
;
51
::
ArkUI_XComponentType
xComponentType
= ::
ArkUI_XComponentType
::
ARKUI_XCOMPONENT_TYPE_SURFACE
;
52
bool
focusOnTouch
=
false
;
53
bool
focusable
=
false
;
54
std
::optional<
ParentDescriptor
>
optParent
;
55
SizePolicy
sizePolicy
=
SizePolicy
::
Points
;
56
::
ArkUI_RenderFit
renderFit
= ::
ARKUI_RENDER_FIT_TOP_LEFT
;
57
std
::
optional
<
QColor
>
backgroundColor
;
58
};
59
60
struct
NodeAreaInfo
61
{
62
QRect
screenGeometryPixels
;
63
QPoint
windowRelativeOffsetPixels
;
64
QPoint
parentRelativeOffsetPixels
;
65
QPoint
globalRelativeOffsetPixels
;
66
};
67
68
static
std
::shared_ptr<QQtEmbeddedWindowNode>
createOrFail
(
const
CreateInfo
&createInfo);
69
70
QXComponentRender
renderXComponent
()
const
;
71
::
OHNativeWindow
*
nativeWindowOrNull
()
const
;
72
void
setCallbackReceiver
(std::unique_ptr<QXComponentCallbackReceiver> callbackReceiver);
73
void
setAreaChangeReceiver
(QOhosConsumer<NodeAreaInfo> areaChangeReceiver);
74
void
setFocusedChangeReceiver
(QOhosConsumer<
bool
> focus);
75
void
setVisibilityChangeReceiver
(QOhosConsumer<
bool
> visibilityChangedReceiver);
76
void
setTouchInterceptReceiver
(QOhosConsumer<
const
::ArkUI_UIInputEvent *> touchInterceptReceiver);
77
QRect
nodeScreenGeometryPixels
()
const
;
78
QPoint
windowRelativeOffsetPixels
()
const
;
79
QPoint
parentRelativeOffsetPixels
()
const
;
80
QPoint
globalRelativeOffsetPixels
()
const
;
81
bool
hasNonQtManagedChildren
()
const
;
82
NodeAreaInfo
nodeAreaInfo
()
const
;
83
84
~
QQtEmbeddedWindowNode
()
override
;
85
86
private
:
87
QQtEmbeddedWindowNode(
88
std::unique_ptr<Node> stackNode,
89
std::unique_ptr<Node> xComponentNode,
90
std::unique_ptr<QtOhos::WindowIdStruct> windowId);
91
92
void
onSurfaceEvent
(
SurfaceEventType
surfaceEventType, ::OHNativeWindow *nativeWindow)
override
;
93
void
onInputEvent
(
InputEventType
inputEventType, ::OHNativeWindow *nativeWindow)
override
;
94
void
onHoverEvent
(
bool
isHover)
override
;
95
96
std
::shared_ptr<
void
> m_xComponentCallbackDispatcherToken;
97
std::unique_ptr<QXComponentCallbackReceiver> m_callbackReceiver;
98
::OHNativeWindow *m_nativeWindow =
nullptr
;
99
QOhosConsumer<NodeAreaInfo> m_optAreaChangedReceiver;
100
QOhosConsumer<
bool
> m_optFocusedChangedReceiver;
101
QOhosConsumer<
bool
> m_optVisibilityChangedReceiver;
102
QOhosConsumer<
const
::ArkUI_UIInputEvent *> m_optTouchInterceptReceiver;
103
};
104
105
}
106
107
QT_END_NAMESPACE
108
109
#
endif
QArkUi::QEmbeddedWindowNode::ParentDescriptor
Definition
qembeddedwindownode.h:46
QArkUi::QEmbeddedWindowNode
Definition
qembeddedwindownode.h:43
QArkUi::QEmbeddedWindowNode::SizePolicy
SizePolicy
Definition
qembeddedwindownode.h:76
QArkUi::QEmbeddedWindowNode::SizePolicy::Points
@ Points
Definition
qembeddedwindownode.h:77
QArkUi::QEmbeddedWindowNode::SizePolicy::PercentNormalized
@ PercentNormalized
Definition
qembeddedwindownode.h:78
QArkUi::QEmbeddedWindowNode::minimumNodeZIndexValue
static const std::int32_t minimumNodeZIndexValue
Definition
qembeddedwindownode.h:73
QArkUi::QQtEmbeddedWindowNode::setTouchInterceptReceiver
void setTouchInterceptReceiver(QOhosConsumer< const ::ArkUI_UIInputEvent * > touchInterceptReceiver)
Definition
qqtembeddedwindownode.cpp:381
QArkUi::QQtEmbeddedWindowNode::onHoverEvent
void onHoverEvent(bool isHover) override
Definition
qqtembeddedwindownode.cpp:317
QArkUi::QQtEmbeddedWindowNode::parentRelativeOffsetPixels
QPoint parentRelativeOffsetPixels() const
Definition
qqtembeddedwindownode.cpp:440
QArkUi::QQtEmbeddedWindowNode::globalRelativeOffsetPixels
QPoint globalRelativeOffsetPixels() const
Definition
qqtembeddedwindownode.cpp:449
QArkUi::QQtEmbeddedWindowNode::setFocusedChangeReceiver
void setFocusedChangeReceiver(QOhosConsumer< bool > focus)
Definition
qqtembeddedwindownode.cpp:347
QArkUi::QQtEmbeddedWindowNode::hasNonQtManagedChildren
bool hasNonQtManagedChildren() const
Definition
qqtembeddedwindownode.cpp:412
QArkUi::QQtEmbeddedWindowNode::~QQtEmbeddedWindowNode
~QQtEmbeddedWindowNode() override
QArkUi::QQtEmbeddedWindowNode::onSurfaceEvent
void onSurfaceEvent(SurfaceEventType surfaceEventType, ::OHNativeWindow *nativeWindow) override
Definition
qqtembeddedwindownode.cpp:290
QArkUi::QQtEmbeddedWindowNode::nodeAreaInfo
NodeAreaInfo nodeAreaInfo() const
Definition
qqtembeddedwindownode.cpp:421
QArkUi::QQtEmbeddedWindowNode::createOrFail
static std::shared_ptr< QQtEmbeddedWindowNode > createOrFail(const CreateInfo &createInfo)
Definition
qqtembeddedwindownode.cpp:200
QArkUi::QQtEmbeddedWindowNode::nodeScreenGeometryPixels
QRect nodeScreenGeometryPixels() const
Definition
qqtembeddedwindownode.cpp:395
QArkUi::QQtEmbeddedWindowNode::onInputEvent
void onInputEvent(InputEventType inputEventType, ::OHNativeWindow *nativeWindow) override
Definition
qqtembeddedwindownode.cpp:309
QArkUi::QQtEmbeddedWindowNode::nativeWindowOrNull
::OHNativeWindow * nativeWindowOrNull() const
QArkUi::QQtEmbeddedWindowNode::windowRelativeOffsetPixels
QPoint windowRelativeOffsetPixels() const
Definition
qqtembeddedwindownode.cpp:431
QArkUi::QQtEmbeddedWindowNode::setCallbackReceiver
void setCallbackReceiver(std::unique_ptr< QXComponentCallbackReceiver > callbackReceiver)
Definition
qqtembeddedwindownode.cpp:284
QArkUi::QQtEmbeddedWindowNode::renderXComponent
QXComponentRender renderXComponent() const
Definition
qqtembeddedwindownode.cpp:276
QArkUi::QQtEmbeddedWindowNode::setAreaChangeReceiver
void setAreaChangeReceiver(QOhosConsumer< NodeAreaInfo > areaChangeReceiver)
Definition
qqtembeddedwindownode.cpp:336
QArkUi::QQtEmbeddedWindowNode::setVisibilityChangeReceiver
void setVisibilityChangeReceiver(QOhosConsumer< bool > visibilityChangedReceiver)
Definition
qqtembeddedwindownode.cpp:364
QArkUi::QXComponentCallbackReceiver
Definition
qqtembeddedwindownode.h:18
QArkUi::QXComponentCallbackReceiver::onHoverEvent
virtual void onHoverEvent(bool isHover)=0
QArkUi::QXComponentCallbackReceiver::onSurfaceEvent
virtual void onSurfaceEvent(SurfaceEventType surfaceEventType, ::OHNativeWindow *nativeWindow)=0
QArkUi::QXComponentCallbackReceiver::SurfaceEventType
SurfaceEventType
Definition
qqtembeddedwindownode.h:21
QArkUi::QXComponentCallbackReceiver::SurfaceEventType::SurfaceCreated
@ SurfaceCreated
Definition
qqtembeddedwindownode.h:22
QArkUi::QXComponentCallbackReceiver::SurfaceEventType::SurfaceChanged
@ SurfaceChanged
Definition
qqtembeddedwindownode.h:23
QArkUi::QXComponentCallbackReceiver::SurfaceEventType::SurfaceDestroyed
@ SurfaceDestroyed
Definition
qqtembeddedwindownode.h:24
QArkUi::QXComponentCallbackReceiver::~QXComponentCallbackReceiver
virtual ~QXComponentCallbackReceiver()
QArkUi::QXComponentCallbackReceiver::InputEventType
InputEventType
Definition
qqtembeddedwindownode.h:28
QArkUi::QXComponentCallbackReceiver::InputEventType::Keyboard
@ Keyboard
Definition
qqtembeddedwindownode.h:31
QArkUi::QXComponentCallbackReceiver::InputEventType::Touch
@ Touch
Definition
qqtembeddedwindownode.h:30
QArkUi::QXComponentCallbackReceiver::InputEventType::Mouse
@ Mouse
Definition
qqtembeddedwindownode.h:29
QArkUi::QXComponentCallbackReceiver::onInputEvent
virtual void onInputEvent(InputEventType inputEventType, ::OHNativeWindow *nativeWindow)=0
QXComponentId
Definition
qxcomponent.h:47
QArkUi
Definition
displaymanager.cpp:17
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
QtOhos
Definition
qcore_ohos.cpp:59
QtOhos::isNativeNodeApiMouseEventsEnabled
bool isNativeNodeApiMouseEventsEnabled()
Definition
qohosjsmain.cpp:1804
QtOhos::isNativeNodeApiKeyEventsEnabled
bool isNativeNodeApiKeyEventsEnabled()
Definition
qohosjsmain.cpp:1799
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
QXComponentRender
QXComponent< QXComponentType::Render > QXComponentRender
Definition
qxcomponent.h:43
QArkUi::QQtEmbeddedWindowNode::CreateInfo
Definition
qqtembeddedwindownode.h:46
QArkUi::QQtEmbeddedWindowNode::CreateInfo::zIndex
std::int32_t zIndex
Definition
qqtembeddedwindownode.h:49
QArkUi::QQtEmbeddedWindowNode::CreateInfo::focusable
bool focusable
Definition
qqtembeddedwindownode.h:53
QArkUi::QQtEmbeddedWindowNode::CreateInfo::backgroundColor
std::optional< QColor > backgroundColor
Definition
qqtembeddedwindownode.h:57
QArkUi::QQtEmbeddedWindowNode::CreateInfo::xComponentId
QXComponentId xComponentId
Definition
qqtembeddedwindownode.h:50
QArkUi::QQtEmbeddedWindowNode::CreateInfo::sizePolicy
SizePolicy sizePolicy
Definition
qqtembeddedwindownode.h:55
QArkUi::QQtEmbeddedWindowNode::CreateInfo::renderFit
::ArkUI_RenderFit renderFit
Definition
qqtembeddedwindownode.h:56
QArkUi::QQtEmbeddedWindowNode::CreateInfo::size
QSizeF size
Definition
qqtembeddedwindownode.h:48
QArkUi::QQtEmbeddedWindowNode::CreateInfo::xComponentType
::ArkUI_XComponentType xComponentType
Definition
qqtembeddedwindownode.h:51
QArkUi::QQtEmbeddedWindowNode::CreateInfo::offset
QPointF offset
Definition
qqtembeddedwindownode.h:47
QArkUi::QQtEmbeddedWindowNode::CreateInfo::focusOnTouch
bool focusOnTouch
Definition
qqtembeddedwindownode.h:52
QArkUi::QQtEmbeddedWindowNode::CreateInfo::optParent
std::optional< ParentDescriptor > optParent
Definition
qqtembeddedwindownode.h:54
QArkUi::QQtEmbeddedWindowNode::NodeAreaInfo
Definition
qqtembeddedwindownode.h:61
QArkUi::QQtEmbeddedWindowNode::NodeAreaInfo::windowRelativeOffsetPixels
QPoint windowRelativeOffsetPixels
Definition
qqtembeddedwindownode.h:63
QArkUi::QQtEmbeddedWindowNode::NodeAreaInfo::screenGeometryPixels
QRect screenGeometryPixels
Definition
qqtembeddedwindownode.h:62
QArkUi::QQtEmbeddedWindowNode::NodeAreaInfo::globalRelativeOffsetPixels
QPoint globalRelativeOffsetPixels
Definition
qqtembeddedwindownode.h:65
QArkUi::QQtEmbeddedWindowNode::NodeAreaInfo::parentRelativeOffsetPixels
QPoint parentRelativeOffsetPixels
Definition
qqtembeddedwindownode.h:64
QtOhos::WindowIdStruct
Definition
qohosplatformwindowidstruct_hack_p.h:29
qtbase
src
plugins
platforms
ohos
qarkui
qqtembeddedwindownode.h
Generated on
for Qt by
1.18.0