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