1// Copyright (C) 2021 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 QSCREEN_PLATFORM_H
5#define QSCREEN_PLATFORM_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is part of the native interface APIs. Usage of
12// this API may make your code source and binary incompatible
13// with future versions of Qt.
14//
15
16#include <QtGui/qtguiglobal.h>
17
18#include <QtCore/qnativeinterface.h>
19#include <QtGui/qguiapplication.h>
20
21#if defined(Q_OS_WIN32)
22#include <QtGui/qwindowdefs_win.h>
23#endif
24
25#if QT_CONFIG(wayland)
26struct wl_output;
27#endif
28
29QT_BEGIN_NAMESPACE
30
31namespace QNativeInterface {
32
33#if defined(Q_OS_WIN32) || defined(Q_QDOC)
34struct Q_GUI_EXPORT QWindowsScreen
35{
36 QT_DECLARE_NATIVE_INTERFACE(QWindowsScreen, 1, QScreen)
37 virtual HMONITOR handle() const = 0;
38};
39#endif
40
41#if QT_CONFIG(wayland) || defined(Q_QDOC)
42struct Q_GUI_EXPORT QWaylandScreen
43{
44 QT_DECLARE_NATIVE_INTERFACE(QWaylandScreen, 1, QScreen)
45 virtual wl_output *output() const = 0;
46};
47#endif
48
49#if defined(Q_OS_ANDROID) || defined(Q_QDOC)
50struct Q_GUI_EXPORT QAndroidScreen
51{
52 QT_DECLARE_NATIVE_INTERFACE(QAndroidScreen, 1, QScreen)
53 virtual int displayId() const = 0;
54};
55#endif
56
57} // namespace QNativeInterface
58
59QT_END_NAMESPACE
60
61#endif
62

source code of qtbase/src/gui/kernel/qscreen_platform.h