Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qohosview.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 QOHOSVIEW_H
5#define QOHOSVIEW_H
6
7#include <QtCore/qflags.h>
8#include <QtCore/qglobal.h>
9#include <QtCore/qmimedata.h>
10#include <QtCore/qobject.h>
11#include <QtCore/qpoint.h>
12#include <QtCore/qsize.h>
13#include <QtCore/qstring.h>
14#include <QtGui/qimage.h>
15#include <QtGui/qwindow.h>
16#include <memory>
17#include <qohosdisplayinfo.h>
18#include <qohosforeignwindow.h>
19#include <qohosplatformintegration.h>
20#include <qohosplatformwindow.h>
21#include <qohosplugincore.h>
22#include <qohosruntimedevicetypeandmode.h>
23#include <qohossettings.h>
24#include <qohoswindowproperty.h>
25#include <render/qnativenode.h>
26#include <render/qohossurface.h>
27#include <render/qohoswindowproxy.h>
28#include <functional>
29#include <utility>
30#include <vector>
31
32QT_BEGIN_NAMESPACE
33
34enum class ViewGeometryPersistencePolicy
35{
36 Disabled,
37 Enabled,
38 FollowSystemSetting,
39 Ignore,
40};
41
42class QOhosView : public QObject
43{
45
46public:
54
60
65
71
78
80 {
81 bool maxButtonShown = true;
82 bool minButtonShown = true;
83 bool closeButtonShown = true;
84 bool operator==(const WindowMinMaxCloseButtonsState &other) const;
85 bool operator!=(const WindowMinMaxCloseButtonsState &other) const;
86 };
87
93
95 QOhosPlatformWindow *window, QOhosPropertiesProvider windowPropertiesProvider);
96
97 explicit QOhosView(
98 QWindow *ownerWindow, QSharedPointer<QNativeNode> nativeNode,
99 QOhosPropertiesProvider propertiesProvider);
100
101 void setSizeLimits(const QSize &minSize, const QSize &maxSize);
102 void setPosition(const QPoint &position);
103 void setPositionOnScreenImmediate(const QPoint &position, QOhosDisplayInfo::JsDisplayId jsDisplayId);
104 void setSize(const QSize &size);
105 void setOpacity(qreal opacity);
106 void setCursor(const QCursor &cursor);
107 void setTransparentBackground(bool transparent);
108 void setFocusable(bool focusable);
109 void setWindowTransparentForInput(bool transparentForInput);
110 void setModality(Qt::WindowModality modality);
111 void setTitle(const QString &title);
112 void raise();
113 void lower();
114 void setFullScreen();
115 void recover();
116 void minimize();
117 void maximize();
118 void setWindowMask(const QOhosWindowProxy::WindowMask &windowMask);
120 void setParentOrReparent(QOhosView &parentView);
122 WId viewWindowId() const;
123 void addForeignWindowChild(QOhosForeignWindow *foreignWindow);
127 void setWindowStaysOnTop(bool staysOnTop);
128 void setFramelessWindow(bool frameless);
130 void setNativeNodeVisibility(bool visible);
131 QPixmap makeSnapshot() const;
132 bool startMoving();
133 void startDrag(
134 const std::vector<QImage> &images, const QPointF &hotspot,
135 const QMimeData &mimeData, QOhosConsumer<Qt::DropAction> dropActionConsumer);
136 void restoreMainWindow();
138 Qt::WindowStates previousWindowState, Qt::WindowStates currentWindowState);
140 Qt::WindowFlags previousWindowFlags, Qt::WindowFlags currentWindowFlags);
141 void handlePaletteChange();
142 QArkUi::QQtEmbeddedWindowNode::NodeAreaInfo nodeAreaInfo() const;
143
144 void showImmediate();
145 void hide();
146 void requestActivate();
147 void forceGeometryUpdate();
148
149 QWindow *ownerWindow() const;
150 QOhosSurface *surfaceOrNull() const;
151
153 QMargins avoidAreaMargins(QOhosWindowProxy::AvoidAreaType type) const;
154 ViewType viewType() const;
156 const QOhosView *viewParentOrNull() const;
159
160 ~QOhosView();
161
164 void windowStatusChange(QOhosWindowProxy::WindowStatus windowStatus);
165 void windowVisibilityChange(bool visibility);
167 void avoidAreaChanged(QOhosWindowProxy::AvoidAreaType avoidAreaType, const QOhosWindowProxy::AvoidArea &avoidArea);
168 void windowRectChanged(QOhosWindowProxy::RectChangeOptions rectChangeOptions);
169 void windowRectChangedInGlobalDisplay(QOhosWindowProxy::RectChangeOptions rectChangeOptions);
170 void surfaceStatusChanged(const QOhosOptional<QSize> &optSurfaceSize);
173 void nodeAreaChanged(QArkUi::QQtEmbeddedWindowNode::NodeAreaInfo areaChangeEvt);
174
175private:
176 void applyPhoneWindowChrome();
177
178 static constexpr QOhosRuntimeDeviceTypeAndMode allModes =
182
183 template <typename T, QOhosRuntimeDeviceTypeAndMode supportedModes = allModes>
184 struct SystemUpdateDataProperty
185 {
186 QOhosOptional<T> optPendingUpdateRequest;
187 };
188
189 template<typename T>
190 using NoTabletSystemUpdateDataProperty = SystemUpdateDataProperty<T, QOhosRuntimeDeviceTypeAndMode::_2in1>;
191
192 template<typename T>
195
196 struct SystemUpdateData
197 {
198 WindowModeOnlySystemUpdateDataProperty<QSize> size;
199 WindowModeOnlySystemUpdateDataProperty<std::pair<QSize, QSize>> sizeLimits;
200 WindowModeOnlySystemUpdateDataProperty<std::pair<QPoint, QOhosOptional<QOhosDisplayInfo::JsDisplayId>>> position;
201 SystemUpdateDataProperty<bool> visibility;
202 NoTabletSystemUpdateDataProperty<bool> backgroundTransparent;
203 SystemUpdateDataProperty<QCursor> cursor;
204 NoTabletSystemUpdateDataProperty<bool> focusable;
205 SystemUpdateDataProperty<QColor> backgroundColor;
206 SystemUpdateDataProperty<int> brightness;
207 SystemUpdateDataProperty<int> contrast;
208 SystemUpdateDataProperty<int> saturation;
209 SystemUpdateDataProperty<bool> windowTransparentForInput;
210 WindowModeOnlySystemUpdateDataProperty<Qt::WindowModality> modality;
211 WindowModeOnlySystemUpdateDataProperty<QString> title;
212 WindowModeOnlySystemUpdateDataProperty<WindowMinMaxCloseButtonsState> windowMinMaxCloseButtonsState;
213 WindowModeOnlySystemUpdateDataProperty<bool> windowStaysOnTop;
214 WindowModeOnlySystemUpdateDataProperty<bool> frameless;
215 };
216
217 static constexpr auto makeSystemUpdateDataPropertyUpdateFuncPairsTuple()
218 {
219 return std::make_tuple(
220 std::make_pair(&SystemUpdateData::sizeLimits, &QOhosView::updateWindowSizeLimits),
221 std::make_pair(&SystemUpdateData::size, &QOhosView::updateWindowSize),
222 std::make_pair(&SystemUpdateData::position, &QOhosView::updateWindowPosition),
223 std::make_pair(&SystemUpdateData::backgroundTransparent, &QOhosView::updateWindowBackgroundTransparency),
224 std::make_pair(&SystemUpdateData::cursor, &QOhosView::updateWindowCursor),
225 std::make_pair(&SystemUpdateData::focusable, &QOhosView::updateWindowFocusable),
226 std::make_pair(&SystemUpdateData::backgroundColor, &QOhosView::updateWindowBackgroundColor),
227 std::make_pair(&SystemUpdateData::brightness, &QOhosView::updateWindowBrightness),
228 std::make_pair(&SystemUpdateData::contrast, &QOhosView::updateWindowContrast),
229 std::make_pair(&SystemUpdateData::saturation, &QOhosView::updateWindowSaturation),
230 std::make_pair(&SystemUpdateData::windowTransparentForInput, &QOhosView::updateWindowTransparentForInput),
231 std::make_pair(&SystemUpdateData::modality, &QOhosView::updateWindowModality),
232 std::make_pair(&SystemUpdateData::title, &QOhosView::updateWindowTitle),
233 std::make_pair(&SystemUpdateData::windowMinMaxCloseButtonsState, &QOhosView::updateWindowMinMaxCloseButtonsState),
234 std::make_pair(&SystemUpdateData::windowStaysOnTop, &QOhosView::updateWindowStaysOnTop),
235 std::make_pair(&SystemUpdateData::frameless, &QOhosView::updateWindowFrameless));
236 };
237
238 template <typename T, QOhosRuntimeDeviceTypeAndMode SupportedModes>
239 void setSystemUpdateProperty(SystemUpdateDataProperty<T, SupportedModes> SystemUpdateData::*property, const T &value);
240
241 void scheduleSystemUpdateIfNeeded();
242 void updateWindowSize(const QSize &size);
243 void updateWindowSizeLimits(const std::pair<QSize, QSize> &sizeLimits);
244 void updateWindowPosition(const std::pair<QPoint, QOhosOptional<QOhosDisplayInfo::JsDisplayId>> &position);
245 void updateWindowBackgroundTransparency(bool transparent);
246 void updateWindowCursor(const QCursor &cursor);
247 void updateWindowFocusable(bool focusable);
248 void updateWindowBackgroundColor(const QColor &color);
249 void updateWindowBrightness(int brightness);
250 void updateWindowContrast(int contast);
251 void updateWindowSaturation(int saturation);
252 void updateWindowTransparentForInput(bool transparentForInput);
253 void updateWindowModality(Qt::WindowModality modality);
254 void updateWindowTitle(const QString &title);
255 void updateWindowMinMaxCloseButtonsState(const WindowMinMaxCloseButtonsState &state);
256 void updateWindowStaysOnTop(bool staysOnTop);
257 void updateWindowFrameless(bool frameless);
258 void syncWindowStateImmediate(WindowStateSyncReason reason = WindowStateSyncReason::Normal);
259 void flushSystemPropertyUpdatesImmediate();
260 void setOrResetWindowProxy(std::shared_ptr<QOhosWindowProxy> windowProxy, QWindow *optLogicalParent);
261 const QOhosView *ancestorViewWithWindowOrNull() const;
262 void hideMainWindow();
263 void setWindowCornerRadius(double radius);
264 void setPrivacyMode(bool privacyModeEnabled);
265 void setBackgroundColor(const QColor &color);
266 void setBrightness(int brightness);
267 void setContrast(int contrast);
268 void setSaturation(int saturation);
269 void setWindowKeepScreenOn(bool keepScreenOn);
270 void setFixedSizeStateEnabled(bool fixedSizeStateEnabled);
271 void setWindowDragResizable(bool dragResizable);
272 void showWindow();
273 void sendAsyncSyntheticWindowActiveEvent();
274
275 std::shared_ptr<QOhosWindowProxy> tryCreateWindowProxyIfNeeded(ViewType viewType, QWindow *optLogicalParent);
276
277 bool isWindowTransparencyRequested() const;
278
279 QOhosPropertiesProvider m_windowPropertiesProvider;
280 QPointer<QWindow> m_ownerWindow;
281 std::shared_ptr<QOhosWindowProxy> m_ohosWindowProxy;
282 QSharedPointer<QNativeNode> m_nativeNode;
283 SystemUpdateData m_updateData;
284 bool m_updatePending;
285 std::function<QOhosWindowProxy::AvoidArea(QOhosWindowProxy::AvoidAreaType)> m_avoidAreasProvider;
286 bool m_requireHandheldDeviceSupport;
287 QtOhos::InternalWindowId m_ownerWindowId;
288 bool m_windowDestroyed = false;
289 QPointer<QWindow> m_optLogicalParent;
290 QOhosOptional<WindowHideMethod> m_lastMainWindowHideMethod;
291 ViewGeometryPersistencePolicy m_geometryPersistencePolicy = ViewGeometryPersistencePolicy::Ignore;
292 std::shared_ptr<void> m_windowPropertiesProviderCallbacksHandle;
293 std::function<void()> m_optPostSurfaceDrawTask;
294};
295
296template <typename T, QOhosRuntimeDeviceTypeAndMode SupportedModes>
297void QOhosView::setSystemUpdateProperty(SystemUpdateDataProperty<T, SupportedModes> SystemUpdateData::*propertyMemberPtr, const T &value)
298{
299 QFlags<QOhosRuntimeDeviceTypeAndMode> supportedModes(SupportedModes);
300
301 if (m_requireHandheldDeviceSupport
302 && !supportedModes.testFlag(QOhosRuntimeDeviceTypeAndMode::HandheldDeviceWindowPcMode)
303 && !supportedModes.testFlag(QOhosRuntimeDeviceTypeAndMode::HandheldDeviceFullScreen)) {
304 return;
305 }
306
307 bool windowModeOnly =
308 !supportedModes.testFlag(QOhosRuntimeDeviceTypeAndMode::HandheldDeviceFullScreen)
309 && (supportedModes.testFlag(QOhosRuntimeDeviceTypeAndMode::_2in1)
310 || supportedModes.testFlag(QOhosRuntimeDeviceTypeAndMode::HandheldDeviceWindowPcMode));
311
312 if (windowModeOnly && !QOhosPlatformIntegration::instance()->settings()->isWindowPcModeEnabled()
313 && viewType() == ViewType::MainWindow) {
314 return;
315 }
316
317 auto &property = m_updateData.*propertyMemberPtr;
318 if (property.optPendingUpdateRequest != value) {
319 property.optPendingUpdateRequest = value;
320 scheduleSystemUpdateIfNeeded();
321 }
322}
323
324QT_END_NAMESPACE
325
326#endif
static const QOhosPropertyDescriptor< bool > windowKeepScreenOnProperty
static const QOhosPropertyDescriptor< QColor > surfaceBackgroundColorProperty
void setWindowTitle(const QString &title) override
Reimplement to set the window title to title.
static void setWindowDragResizable(QObject *windowOrWidget, bool dragResizable)
QOhosPlatformScreen * platformScreen() const
static void setWindowOrWidgetNativeNodeRenderFitPolicyHint(QObject *windowOrWidget, NativeNodeRenderFitPolicy renderFitPolicy)
bool mainWindowTagValueOrFalse() const
Qt::WindowStates windowStates() const
static QOhosOptional< T > tryGetWindowOrWidgetProperty(QObject *windowOrWidget)
void setDisplayIdFromOhos(QOhosOptional< QOhosDisplayInfo::JsDisplayId > displayId)
bool setMouseGrabEnabled(bool grab) override
static void setWindowKeepScreenOn(QObject *windowOrWidget, bool keepScreenOn)
void setWindowStateFromOhos(Qt::WindowStates state)
static const QOhosPropertyDescriptor< int > windowBrightnessProperty
static const QOhosPropertyDescriptor< bool > mainWindowTagProperty
static const QOhosPropertyDescriptor< QWindow * > subWindowOfTagProperty
void setGeometry(const QRect &rect) override
This function is called by Qt whenever a window is moved or resized using the QWindow API.
bool setKeyboardGrabEnabled(bool grab) override
static const QOhosPropertyDescriptor< bool > windowPrivacyModeSettingProperty
bool windowEvent(QEvent *event) override
Reimplement this method to be able to do any platform specific event handling.
QtOhos::InternalWindowId m_windowId
static const QOhosPropertyDescriptor< double > windowCornerRadiusProperty
static bool isWindowBeingClosedOrDestroyed(QWindow *window)
static void setSurfaceBackgroundColor(QObject *windowOrWidget, const QColor &color)
static void setSaturation(QObject *windowOrWidget, int saturation)
static std::shared_ptr< void > setSurfaceConsumer(QWindow *targetWindow, QObject *surfaceConsumerContext, std::function< void(QOhosOptional< void * >)> surfaceConsumer)
QRect lastRequestedWindowFrameGeometry() const
QOhosOptional< QCursor > m_cursor
static const QOhosPropertyDescriptor< int > windowSaturationProperty
void setExposedFromOhos(bool exposed)
static const QOhosPropertyDescriptor< int > windowContrastProperty
static QOhosPlatformWindow * fromQWindow(QWindow *window)
QOhosPropertiesProvider propertiesProvider()
static const QOhosPropertyDescriptor< bool > floatWindowTagProperty
void setVisible(bool visible) override
Reimplemented in subclasses to show the surface if visible is true, and hide it if visible is false.
static void tagWindowOrWidgetAsFloatWindow(QObject *windowOrWidgetToTag, bool showAsFloatWindow)
static const QOhosPropertyDescriptor< bool > windowDragResizableProperty
static void tagWindowOrWidgetAsSubWindowOf(QObject *windowOrWidgetToTag, QWindow *targetMainWindow)
virtual void onWindowFlagsChanged(Qt::WindowFlags previousWindowFlags, Qt::WindowFlags currentWindowFlags)
static const QOhosPropertyDescriptor< NativeNodeRenderFitPolicy > nativeNodeRenderFitPolicyHintProperty
QtOhos::InternalWindowId internalWindowId() const
static void tagWindowOrWidgetAsMainWindow(QObject *windowOrWidgetToTag, bool forceMainWindow)
Qt::WindowFlags m_windowFlags
void propagateSizeHints() override
Reimplement to propagate the size hints of the QWindow.
static QOhosPlatformWindow * fromQWindowOrNull(QWindow *window)
virtual QOhosSurface * ownedSurfaceOrNull() const
static void setWindowCornerRadius(QObject *windowOrWidget, double radius)
static QWindow * getWindowOrWidgetAsSubWindowOfTagValue(QObject *windowOrWidget)
virtual void onWindowStateChanged(Qt::WindowStates oldWindowState, Qt::WindowStates currentWindowState)
void setParent(const QPlatformWindow *newParent) override
This function is called to enable native child window in QPA.
QOhosPlatformWindow(QWindow *window)
void setCursor(const QCursor &cursor)
static void setBrightness(QObject *windowOrWidget, int brightness)
bool shouldDisplayAsOhosWindow() const
std::unique_ptr< QMargins > m_optFrameMargins
void setWindowGeometryFromOhos(const QRect &nativeWindowDrawGeometry)
QMargins frameMargins() const override
void initialize() override
Called as part of QWindow::create(), after constructing the window.
QPlatformScreen * screen() const override
static void setContrast(QObject *windowOrWidget, int contrast)
void setWindowFlags(Qt::WindowFlags flags) override
Requests setting the window flags of this surface to flags.
bool floatWindowTagValueOrFalse() const
void setWindowState(Qt::WindowStates state) override
Requests setting the window state of this surface to type.
void notifyInputSystemsWindowActiveStatusChanged(bool active)
static const QOhosPropertyDescriptor< bool > windowFixedSizeStateProperty
bool isExposed() const final
Returns if this window is exposed in the windowing system.
void requestActivateWindow() override
Reimplement to let Qt be able to request activation/focus for a window.
Qt::WindowStates m_windowState
DecorationPreset decorationPreset() const
static void setWindowPrivacyMode(QObject *window, bool privacyModeEnabled)
QWindow * validSubWindowOfTagValueOrNull() const
Qt::WindowFlags windowFlags() const
static void setWindowOrWidgetProperty(QObject *windowOrWidget, T propertyValue)
bool shouldShowWindowWithoutActivating() const
virtual QOhosView * ownedViewOrNull() const
void setWindowMarginsFromOhos(const QMargins &margins)
static Qt::WindowFlags platformWindowFlagsForQWindow(QWindow *window)
QOhosPropertiesProvider(QOhosPropertiesStore &store)
QOhosOptional< T > tryGetProperty() const
std::shared_ptr< void > addPropertyWriteCallback(QOhosConsumer< T > propertyWriteCallback)
QOhosPropertiesStore(QObject *qObject)
std::shared_ptr< void > addPropertyWriteCallback(QOhosConsumer< T > propertyWriteCallback)
void notifyPropertyWrite(const QByteArray &propertyName)
QOhosOptional< T > tryGetProperty() const
void setExtraUsageBitsForNativeWindowBuffer(std::uint64_t usageSetBits)
void setNativeWindowSurface(::OHNativeWindow *nativeWindow, const QOhosOptional< QSize > &optSurfaceSize)
QOhosOptional< QSize > surfaceResolution() const
::OHNativeWindow * nativeWindow() const
static constexpr ::OH_NativeBuffer_Format bufferFormat
void paintOnNativeWindowSurface(std::function< std::vector<::Region::Rect >(QImage &, ::BufferHandle *)> paintFunc, std::function< void(::BufferHandle *)> onFlushSuccessFunc)
static QImage::Format mapNativeBufferFormatToQImageFormatOrFail(std::int32_t format)
static QOhosOptional< QSize > tryGetBufferGeometryForWindow(::OHNativeWindow *nativeWindow)
QOhosSurface(::OHNativeWindow *nativeWindow)
EGLSurface tryGetOrCreateEGLWindowSurface(EGLDisplay display, EGLConfig config, bool swappingBuffers)
void clearNativeWindowSurface()
void windowStatusChange(QOhosWindowProxy::WindowStatus windowStatus)
void setParentOrReparent(QOhosView &parentView)
void requestActivate()
void setCursor(const QCursor &cursor)
void handleWindowFlagsChange(Qt::WindowFlags previousWindowFlags, Qt::WindowFlags currentWindowFlags)
void addForeignWindowChild(QOhosForeignWindow *foreignWindow)
void handleWindowStateChange(Qt::WindowStates previousWindowState, Qt::WindowStates currentWindowState)
void restoreMainWindow()
void setFocusable(bool focusable)
QArkUi::QQtEmbeddedWindowNode::NodeAreaInfo nodeAreaInfo() const
QOhosSurface * surfaceOrNull() const
void windowVisibilityChange(bool visibility)
void setPositionOnScreenImmediate(const QPoint &position, QOhosDisplayInfo::JsDisplayId jsDisplayId)
void setTransparentBackground(bool transparent)
void setModality(Qt::WindowModality modality)
WId viewWindowId() const
bool isFullscreenImmersiveModeEnabled()
void setFramelessWindow(bool frameless)
QPixmap makeSnapshot() const
void setWindowShadowDisabled()
void setWindowTransparentForInput(bool transparentForInput)
void tryDetachFromEmbeddedParent()
ViewType viewType() const
QMargins avoidAreaMargins(QOhosWindowProxy::AvoidAreaType type) const
QWindow * ownerWindow() const
void handleSurfaceContentsUpdated()
void hide()
WindowStateSyncReason
Definition qohosview.h:89
void windowRectChanged(QOhosWindowProxy::RectChangeOptions rectChangeOptions)
QOhosOptional< QSize > surfaceResolution() const
void windowRectChangedInGlobalDisplay(QOhosWindowProxy::RectChangeOptions rectChangeOptions)
void forceGeometryUpdate()
void externalContentInteractionDetected()
void setWindowMinMaxCloseButtonState(const WindowMinMaxCloseButtonsState &state)
void setWindowMask(const QOhosWindowProxy::WindowMask &windowMask)
void setSizeLimits(const QSize &minSize, const QSize &maxSize)
void windowTouchOutside()
void nodeAreaChanged(QArkUi::QQtEmbeddedWindowNode::NodeAreaInfo areaChangeEvt)
void handlePaletteChange()
void lower()
void surfaceStatusChanged(const QOhosOptional< QSize > &optSurfaceSize)
void windowDisplayIdChanged(QOhosDisplayInfo::JsDisplayId)
static std::unique_ptr< QOhosView > createForWindow(QOhosPlatformWindow *window, QOhosPropertiesProvider windowPropertiesProvider)
void minimize()
void setOpacity(qreal opacity)
void setNativeNodeVisibility(bool visible)
void setWindowStaysOnTop(bool staysOnTop)
void setFullScreen()
void maximize()
ViewGeometry viewGeometry() const
void avoidAreaChanged(QOhosWindowProxy::AvoidAreaType avoidAreaType, const QOhosWindowProxy::AvoidArea &avoidArea)
void setSize(const QSize &size)
void recover()
bool startMoving()
void setPosition(const QPoint &position)
QOhosView(QWindow *ownerWindow, QSharedPointer< QNativeNode > nativeNode, QOhosPropertiesProvider propertiesProvider)
bool isSubWindowCoveringFullScreen() const
void showImmediate()
QRect nodeParentRelativeGeometryPixels() const
void setTitle(const QString &title)
void startDrag(const std::vector< QImage > &images, const QPointF &hotspot, const QMimeData &mimeData, QOhosConsumer< Qt::DropAction > dropActionConsumer)
const QOhosView * viewParentOrNull() const
QRect nodeScreenGeometryPixels() const
void raise()
QtOhos::enums::ohos::window::AvoidAreaType AvoidAreaType
bool sendEvent(WindowSystemEvent *event) override
Combined button and popup list for selecting options.
QOhosView * mapQWindowToViewOrNull(QWindow *window)
QOhosOptional< T > tryMapFromQVariant(QVariant variant)
std::shared_ptr< QWindowSystemEventHandler > makeApplicationStateTracker()
QT_END_NAMESPACE Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::kit::ShareKit::systemShare::SelectionMode))
std::nullopt_t makeEmptyQOhosOptional()
void setQOhosPropertyOnQObject(QObject *qObject, T propertyValue)
QOhosOptional< T > tryGetQOhosPropertyFromQObject(QObject *qObject)
bool disableWindowFocusableBeforeLoadContent
Definition qohosview.h:63
QOhosOptional< QOhosDisplayInfo::JsDisplayId > displayId
Definition qohosview.h:74
bool operator==(const WindowMinMaxCloseButtonsState &other) const
bool operator!=(const WindowMinMaxCloseButtonsState &other) const