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
qwaylandwlshellsurface_p.h
Go to the documentation of this file.
1
// Copyright (C) 2016 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
// Qt-Security score:significant reason:default
4
5
#
ifndef
QWAYLANDWLSHELLSURFACE_H
6
#
define
QWAYLANDWLSHELLSURFACE_H
7
8
//
9
// W A R N I N G
10
// -------------
11
//
12
// This file is not part of the Qt API. It exists purely as an
13
// implementation detail. This header file may change from version to
14
// version without notice, or even be removed.
15
//
16
// We mean it.
17
//
18
19
#
include
<
QtCore
/
QSize
>
20
21
#
include
<
QtWaylandClient
/
qtwaylandclientglobal
.
h
>
22
#
include
<
QtWaylandClient
/
private
/
qwayland
-
wayland
.
h
>
23
#
include
<
QtWaylandClient
/
private
/
qwaylandshellsurface_p
.
h
>
24
25
QT_BEGIN_NAMESPACE
26
27
class
QWindow;
28
29
namespace
QtWaylandClient
{
30
31
class
QWaylandWindow;
32
class
QWaylandInputDevice;
33
class
QWaylandExtendedSurface;
34
35
class
Q_WAYLANDCLIENT_EXPORT
QWaylandWlShellSurface
:
public
QWaylandShellSurface
36
,
public
QtWayland
::
wl_shell_surface
37
{
38
Q_OBJECT
39
public
:
40
QWaylandWlShellSurface
(
struct
::
wl_shell_surface
*
shell_surface
,
QWaylandWindow
*
window
);
41
~
QWaylandWlShellSurface
()
override
;
42
43
using
QtWayland
::
wl_shell_surface
::
resize
;
44
bool
resize
(
QWaylandInputDevice
*
inputDevice
,
Qt
::
Edges
edges
)
override
;
45
46
using
QtWayland
::
wl_shell_surface
::
move
;
47
bool
move
(
QWaylandInputDevice
*
inputDevice
)
override
;
48
49
void
setTitle
(
const
QString
&
title
)
override
;
50
void
setAppId
(
const
QString
&
appId
)
override
;
51
52
void
applyConfigure
()
override
;
53
bool
wantsDecorations
()
const
override
;
54
55
std
::
any
surfaceRole
()
const
override
{
return
object
(); };
56
57
protected
:
58
void
requestWindowStates
(
Qt
::
WindowStates
states
)
override
;
59
60
private
:
61
static
enum
resize
convertToResizeEdges
(
Qt
::
Edges
edges
);
62
void
setTopLevel
();
63
void
updateTransientParent
(
QWindow
*
parent
);
64
void
setPopup
(
QWaylandWindow
*
parent
,
QWaylandInputDevice
*
device
,
uint
serial
);
65
66
QWaylandWindow
*
m_window
=
nullptr
;
67
struct
{
68
Qt
::
WindowStates
states
=
Qt
::
WindowNoState
;
69
QSize
size
;
70
enum
resize
edges
=
resize_none
;
71
}
m_applied
,
m_pending
;
72
QSize
m_normalSize
;
73
// There's really no need to have pending and applied state on wl-shell, but we do it just to
74
// keep the different shell implementations more similar.
75
QWaylandExtendedSurface
*
m_extendedWindow
=
nullptr
;
76
77
void
shell_surface_ping
(
uint32_t
serial
)
override
;
78
void
shell_surface_configure
(
uint32_t
edges
,
79
int32_t
width
,
80
int32_t
height
)
override
;
81
void
shell_surface_popup_done
()
override
;
82
83
friend
class
QWaylandWindow
;
84
};
85
86
}
// namespace QtWaylandClient
87
88
QT_END_NAMESPACE
89
90
#
endif
// QWAYLANDSHELLSURFACE_H
QtWaylandClient::QWaylandWlShellSurface
Definition
qwaylandwlshellsurface_p.h:37
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qrandomaccessasyncfile_darwin.mm:17
QtWaylandClient
Definition
qwaylandclientextension.h:16
qtbase
src
plugins
platforms
wayland
plugins
shellintegration
wl-shell
qwaylandwlshellsurface_p.h
Generated on
for Qt by
1.16.1