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
qwaylandinputdevice_p.h
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// Copyright (C) 2024 Jie Liu <liujie01@kylinos.cn>
3
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4
// Qt-Security score:significant reason:default
5
6
#
ifndef
QWAYLANDINPUTDEVICE_H
7
#
define
QWAYLANDINPUTDEVICE_H
8
9
//
10
// W A R N I N G
11
// -------------
12
//
13
// This file is not part of the Qt API. It exists purely as an
14
// implementation detail. This header file may change from version to
15
// version without notice, or even be removed.
16
//
17
// We mean it.
18
//
19
20
#
include
<
QtWaylandClient
/
private
/
qtwaylandclientglobal_p
.
h
>
21
#
include
<
QtWaylandClient
/
private
/
qwaylandwindow_p
.
h
>
22
#
include
<
QtWaylandClient
/
private
/
qwaylandsurface_p
.
h
>
23
24
#
include
<
QSocketNotifier
>
25
#
include
<
QObject
>
26
#
include
<
QTimer
>
27
#
include
<
qpa
/
qplatformintegration
.
h
>
28
#
include
<
qpa
/
qplatformscreen
.
h
>
29
#
include
<
qpa
/
qwindowsysteminterface
.
h
>
30
31
#
include
<
QtWaylandClient
/
private
/
qwayland
-
wayland
.
h
>
32
#
include
<
QtWaylandClient
/
private
/
qwayland
-
pointer
-
gestures
-
unstable
-
v1
.
h
>
33
34
#
if
QT_CONFIG
(
xkbcommon
)
35
#
include
<
QtGui
/
private
/
qxkbcommon_p
.
h
>
36
#
endif
37
38
#
include
<
QtCore
/
QDebug
>
39
#
include
<
QtCore
/
QElapsedTimer
>
40
#
include
<
QtCore
/
QPointer
>
41
42
#
include
<
memory
>
43
44
#
if
QT_CONFIG
(
cursor
)
45
struct
wl_cursor_image;
46
#
endif
47
48
QT_BEGIN_NAMESPACE
49
50
namespace
QtWayland
{
51
class
zwp_primary_selection_device_v1;
52
}
//namespace QtWayland
53
54
namespace
QtWaylandClient
{
55
56
class
QWaylandDataDevice
;
57
class
QWaylandDisplay;
58
#
if
QT_CONFIG
(
clipboard
)
59
class
QWaylandDataControlDeviceV1
;
60
#
endif
61
#
if
QT_CONFIG
(
wayland_client_primary_selection
)
62
class
QWaylandPrimarySelectionDeviceV1
;
63
#
endif
64
#
if
QT_CONFIG
(
tabletevent
)
65
class
QWaylandTabletSeatV2
;
66
#
endif
67
class
QWaylandPointerGestures;
68
class
QWaylandPointerGestureSwipe;
69
class
QWaylandPointerGesturePinch;
70
class
QWaylandTextInputInterface
;
71
class
QWaylandTextInputMethod
;
72
#
if
QT_CONFIG
(
cursor
)
73
class
QWaylandCursorTheme
;
74
class
QWaylandCursorShape
;
75
template
<
typename
T
>
76
class
CursorSurface
;
77
#
endif
78
79
Q_DECLARE_LOGGING_CATEGORY
(
lcQpaWaylandInput
);
80
81
struct
QWaylandEventCompressionPrivate
82
{
83
QWaylandEventCompressionPrivate
();
84
85
bool
compressEvent
();
86
87
QElapsedTimer
timeElapsed
;
88
QTimer
delayTimer
;
89
};
90
91
class
Q_WAYLANDCLIENT_EXPORT
QWaylandInputDevice
92
:
public
QObject
93
,
public
QtWayland
::
wl_seat
94
{
95
Q_OBJECT
96
public
:
97
class
Keyboard
;
98
class
Pointer
;
99
class
Touch
;
100
101
QWaylandInputDevice
(
QWaylandDisplay
*
display
,
int
version
,
uint32_t
id
);
102
~
QWaylandInputDevice
()
override
;
103
104
uint32_t
id
()
const
{
return
mId
; }
105
uint32_t
capabilities
()
const
{
return
mCaps
; }
106
QString
seatname
()
const
{
return
mSeatName
; }
107
108
QWaylandDisplay
*
display
()
const
{
return
mQDisplay
; }
109
struct
::
wl_seat
*
wl_seat
() {
return
QtWayland
::
wl_seat
::
object
(); }
110
111
#
if
QT_CONFIG
(
cursor
)
112
void
setCursor
(
const
QCursor
*
cursor
,
const
QSharedPointer
<
QWaylandBuffer
> &
cachedBuffer
= {},
int
fallbackOutputScale
= 1);
113
#
endif
114
void
handleStartDrag
();
115
void
handleEndDrag
();
116
117
#
if
QT_CONFIG
(
wayland_datadevice
)
118
void
setDataDevice
(
QWaylandDataDevice
*
device
);
119
QWaylandDataDevice
*
dataDevice
()
const
;
120
#
endif
121
122
#
if
QT_CONFIG
(
clipboard
)
123
void
setDataControlDevice
(
QWaylandDataControlDeviceV1
*
dataControlDevice
);
124
QWaylandDataControlDeviceV1
*
dataControlDevice
()
const
;
125
#
endif
126
127
#
if
QT_CONFIG
(
wayland_client_primary_selection
)
128
void
setPrimarySelectionDevice
(
QWaylandPrimarySelectionDeviceV1
*
primarySelectionDevice
);
129
QWaylandPrimarySelectionDeviceV1
*
primarySelectionDevice
()
const
;
130
#
endif
131
132
#
if
QT_CONFIG
(
tabletevent
)
133
void
setTabletSeat
(
QWaylandTabletSeatV2
*
tabletSeat
);
134
QWaylandTabletSeatV2
*
tabletSeat
()
const
;
135
#
endif
136
137
void
setTextInput
(
QWaylandTextInputInterface
*
textInput
);
138
QWaylandTextInputInterface
*
textInput
()
const
;
139
140
void
setTextInputMethod
(
QWaylandTextInputMethod
*
textInputMethod
);
141
QWaylandTextInputMethod
*
textInputMethod
()
const
;
142
143
void
removeMouseButtonFromState
(
Qt
::
MouseButton
button
);
144
145
QWaylandWindow
*
pointerFocus
()
const
;
146
QWaylandWindow
*
keyboardFocus
()
const
;
147
QWaylandWindow
*
touchFocus
()
const
;
148
149
QList
<
int
>
possibleKeys
(
const
QKeyEvent
*
event
)
const
;
150
151
QPointF
pointerSurfacePosition
()
const
;
152
153
Qt
::
KeyboardModifiers
modifiers
()
const
;
154
155
uint32_t
serial
()
const
;
156
157
virtual
Keyboard
*
createKeyboard
(
QWaylandInputDevice
*
device
);
158
virtual
Pointer
*
createPointer
(
QWaylandInputDevice
*
device
);
159
virtual
Touch
*
createTouch
(
QWaylandInputDevice
*
device
);
160
161
Keyboard
*
keyboard
()
const
;
162
Pointer
*
pointer
()
const
;
163
QWaylandPointerGestureSwipe
*
pointerGestureSwipe
()
const
;
164
QWaylandPointerGesturePinch
*
pointerGesturePinch
()
const
;
165
Touch
*
touch
()
const
;
166
167
protected
:
168
QWaylandDisplay
*
mQDisplay
=
nullptr
;
169
struct
wl_display
*
mDisplay
=
nullptr
;
170
171
uint32_t
mId
= -1;
172
uint32_t
mCaps
= 0;
173
QString
mSeatName
;
174
175
#
if
QT_CONFIG
(
cursor
)
176
struct
CursorState
{
177
QSharedPointer
<
QWaylandBuffer
>
bitmapBuffer
;
// not used with shape cursors
178
int
bitmapScale
= 1;
179
Qt
::
CursorShape
shape
=
Qt
::
ArrowCursor
;
180
int
fallbackOutputScale
= 1;
181
QPoint
hotspot
;
182
QElapsedTimer
animationTimer
;
183
}
mCursor
;
184
#
endif
185
186
#
if
QT_CONFIG
(
wayland_datadevice
)
187
QWaylandDataDevice
*
mDataDevice
=
nullptr
;
188
#
endif
189
190
#
if
QT_CONFIG
(
clipboard
)
191
std
::
unique_ptr
<
QWaylandDataControlDeviceV1
>
mDataControlDevice
;
192
#
endif
193
194
#
if
QT_CONFIG
(
wayland_client_primary_selection
)
195
std
::
unique_ptr
<
QWaylandPrimarySelectionDeviceV1
>
mPrimarySelectionDevice
;
196
#
endif
197
198
std
::
unique_ptr
<
Keyboard
>
mKeyboard
;
199
std
::
unique_ptr
<
Pointer
>
mPointer
;
200
std
::
unique_ptr
<
QWaylandPointerGestureSwipe
>
mPointerGestureSwipe
;
201
std
::
unique_ptr
<
QWaylandPointerGesturePinch
>
mPointerGesturePinch
;
202
std
::
unique_ptr
<
Touch
>
mTouch
;
203
204
std
::
unique_ptr
<
QWaylandTextInputInterface
>
mTextInput
;
205
std
::
unique_ptr
<
QWaylandTextInputMethod
>
mTextInputMethod
;
206
#
if
QT_CONFIG
(
tabletevent
)
207
std
::
unique_ptr
<
QWaylandTabletSeatV2
>
mTabletSeat
;
208
#
endif
209
210
uint32_t
mTime
= 0;
211
uint32_t
mSerial
= 0;
212
213
void
seat_capabilities
(
uint32_t
caps
)
override
;
214
void
seat_name
(
const
QString
&
name
)
override
;
215
void
handleTouchPoint
(
int
id
,
QEventPoint
::
State
state
,
const
QPointF
&
surfacePosition
=
QPoint
());
216
217
QPointingDevice
*
mTouchDevice
=
nullptr
;
218
QPointingDevice
*
mTouchPadDevice
=
nullptr
;
219
220
friend
class
QWaylandTouchExtension
;
221
friend
class
QWaylandQtKeyExtension
;
222
friend
class
QWaylandPointerGestureSwipe
;
223
friend
class
QWaylandPointerGesturePinch
;
224
friend
class
QWaylandWindow
;
225
friend
class
QWaylandTabletToolV2
;
226
};
227
228
inline
uint32_t
QWaylandInputDevice
::
serial
()
const
229
{
230
return
mSerial
;
231
}
232
233
234
class
Q_WAYLANDCLIENT_EXPORT
QWaylandInputDevice
::
Keyboard
:
public
QObject
,
public
QtWayland
::
wl_keyboard
235
{
236
Q_OBJECT
237
238
public
:
239
Keyboard
(
QWaylandInputDevice
*
p
);
240
~
Keyboard
()
override
;
241
242
QWaylandSurface
*
focusSurface
()
const
;
243
244
void
keyboard_keymap
(
uint32_t
format
,
245
int32_t
fd
,
246
uint32_t
size
)
override
;
247
void
keyboard_enter
(
uint32_t
time
,
248
struct
wl_surface
*
surface
,
249
struct
wl_array
*
keys
)
override
;
250
void
keyboard_leave
(
uint32_t
time
,
251
struct
wl_surface
*
surface
)
override
;
252
void
keyboard_key
(
uint32_t
serial
,
uint32_t
time
,
253
uint32_t
key
,
uint32_t
state
)
override
;
254
void
keyboard_modifiers
(
uint32_t
serial
,
255
uint32_t
mods_depressed
,
256
uint32_t
mods_latched
,
257
uint32_t
mods_locked
,
258
uint32_t
group
)
override
;
259
void
keyboard_repeat_info
(
int32_t
rate
,
int32_t
delay
)
override
;
260
261
QWaylandInputDevice
*
mParent
=
nullptr
;
262
QPointer
<
QWaylandSurface
>
mFocus
;
263
264
uint32_t
mNativeModifiers
= 0;
265
266
struct
repeatKey
{
267
int
key
= 0;
268
uint32_t
code
= 0;
269
uint32_t
time
= 0 ;
270
QString
text
;
271
uint32_t
nativeVirtualKey
= 0;
272
}
mRepeatKey
;
273
274
QTimer
mRepeatTimer
;
275
int
mRepeatRate
= 25;
276
int
mRepeatDelay
= 400;
277
278
uint32_t
mKeymapFormat
=
WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1
;
279
280
Qt
::
KeyboardModifiers
modifiers
()
const
;
281
282
struct
::
wl_keyboard
*
wl_keyboard
() {
return
QtWayland
::
wl_keyboard
::
object
(); }
283
284
#
if
QT_CONFIG
(
xkbcommon
)
285
virtual
int
keysymToQtKey
(
xkb_keysym_t
keysym
,
Qt
::
KeyboardModifiers
modifiers
,
xkb_state
*
state
,
xkb_keycode_t
code
) {
286
return
QXkbCommon
::
keysymToQtKey
(
keysym
,
modifiers
,
state
,
code
);
287
}
288
#
endif
289
290
private
Q_SLOTS
:
291
void
handleFocusDestroyed
();
292
void
handleFocusLost
();
293
294
private
:
295
#
if
QT_CONFIG
(
xkbcommon
)
296
bool
createDefaultKeymap
();
297
#
endif
298
void
handleKey
(
ulong
timestamp
,
QEvent
::
Type
type
,
int
key
,
Qt
::
KeyboardModifiers
modifiers
,
299
quint32
nativeScanCode
,
quint32
nativeVirtualKey
,
quint32
nativeModifiers
,
300
const
QString
&
text
,
bool
autorepeat
=
false
,
ushort
count
= 1);
301
302
#
if
QT_CONFIG
(
xkbcommon
)
303
QXkbCommon
::
ScopedXKBKeymap
mXkbKeymap
;
304
QXkbCommon
::
ScopedXKBState
mXkbState
;
305
#
endif
306
friend
class
QWaylandInputDevice
;
307
};
308
309
class
Q_WAYLANDCLIENT_EXPORT
QWaylandInputDevice
::
Pointer
:
public
QObject
,
public
QtWayland
::
wl_pointer
310
{
311
Q_OBJECT
312
public
:
313
explicit
Pointer
(
QWaylandInputDevice
*
seat
);
314
~
Pointer
()
override
;
315
QWaylandSurface
*
focusSurface
()
const
;
316
#
if
QT_CONFIG
(
cursor
)
317
int
idealCursorScale
()
const
;
318
void
updateCursorTheme
();
319
void
updateCursor
();
320
void
cursorTimerCallback
();
321
void
cursorFrameCallback
();
322
CursorSurface
<
QWaylandInputDevice
::
Pointer
> *
getOrCreateCursorSurface
();
323
#
endif
324
QWaylandInputDevice
*
seat
()
const
{
return
mParent
; }
325
326
struct
::
wl_pointer
*
wl_pointer
() {
return
QtWayland
::
wl_pointer
::
object
(); }
327
328
protected
:
329
void
pointer_enter
(
uint32_t
serial
,
struct
wl_surface
*
surface
,
330
wl_fixed_t
sx
,
wl_fixed_t
sy
)
override
;
331
void
pointer_leave
(
uint32_t
time
,
struct
wl_surface
*
surface
)
override
;
332
void
pointer_motion
(
uint32_t
time
,
333
wl_fixed_t
sx
,
wl_fixed_t
sy
)
override
;
334
void
pointer_button
(
uint32_t
serial
,
uint32_t
time
,
335
uint32_t
button
,
uint32_t
state
)
override
;
336
void
pointer_axis
(
uint32_t
time
,
337
uint32_t
axis
,
338
wl_fixed_t
value
)
override
;
339
void
pointer_axis_source
(
uint32_t
source
)
override
;
340
void
pointer_axis_stop
(
uint32_t
time
,
uint32_t
axis
)
override
;
341
void
pointer_axis_discrete
(
uint32_t
axis
,
int32_t
value
)
override
;
342
void
pointer_frame
()
override
;
343
void
pointer_axis_value120
(
uint32_t
axis
,
int32_t
value120
)
override
;
344
void
pointer_axis_relative_direction
(
uint32_t
axis
,
uint32_t
direction
)
override
;
345
346
private
Q_SLOTS
:
347
void
handleFocusDestroyed
() {
invalidateFocus
(); }
348
349
private
:
350
void
invalidateFocus
();
351
352
public
:
353
void
releaseButtons
();
354
void
leavePointers
();
355
356
QWaylandInputDevice
*
mParent
=
nullptr
;
357
QPointer
<
QWaylandSurface
>
mFocus
;
358
uint32_t
mEnterSerial
= 0;
359
#
if
QT_CONFIG
(
cursor
)
360
struct
{
361
std
::
unique_ptr
<
QWaylandCursorShape
>
shape
;
362
QWaylandCursorTheme
*
theme
=
nullptr
;
363
int
themeBufferScale
= 0;
364
std
::
unique_ptr
<
CursorSurface
<
QWaylandInputDevice
::
Pointer
>>
surface
;
365
QTimer
frameTimer
;
366
bool
gotFrameCallback
=
false
;
367
bool
gotTimerCallback
=
false
;
368
}
mCursor
;
369
#
endif
370
QPointF
mSurfacePos
;
371
QPointF
mGlobalPos
;
372
Qt
::
MouseButtons
mButtons
=
Qt
::
NoButton
;
373
Qt
::
MouseButton
mLastButton
=
Qt
::
NoButton
;
374
375
struct
FrameData
{
376
std
::
unique_ptr
<
QWaylandPointerEvent
>
event
;
377
378
QPointF
delta
;
379
QPoint
delta120
;
380
axis_source
axisSource
=
axis_source_wheel
;
381
bool
verticalAxisInverted
=
false
;
382
bool
horizontalAxisInverted
=
false
;
383
384
void
resetScrollData
();
385
QPoint
pixelDeltaAndError
(
QPointF
*
accumulatedError
)
const
;
386
QPoint
angleDelta
()
const
;
387
Qt
::
MouseEventSource
wheelEventSource
()
const
;
388
}
mFrameData
;
389
390
bool
mScrollBeginSent
=
false
;
391
bool
mScrollEnd
=
false
;
392
QPointF
mScrollDeltaRemainder
;
393
QPointer
<
QWaylandSurface
>
mScrollTarget
;
394
395
QWaylandEventCompressionPrivate
mEventCompression
;
396
QPointer
<
QWaylandSurface
>
mPressedSurface
;
397
398
void
maybePointerFrame
();
399
400
void
setFrameEvent
(
QWaylandPointerEvent
*
event
);
401
void
flushScrollEvent
();
402
void
flushFrameEvent
();
403
private
:
//TODO: should other methods be private as well?
404
bool
isDefinitelyTerminated
(
axis_source
source
)
const
;
405
};
406
407
class
Q_WAYLANDCLIENT_EXPORT
QWaylandInputDevice
::
Touch
:
public
QtWayland
::
wl_touch
408
{
409
public
:
410
Touch
(
QWaylandInputDevice
*
p
);
411
~
Touch
()
override
;
412
413
void
touch_down
(
uint32_t
serial
,
414
uint32_t
time
,
415
struct
wl_surface
*
surface
,
416
int32_t
id
,
417
wl_fixed_t
x
,
418
wl_fixed_t
y
)
override
;
419
void
touch_up
(
uint32_t
serial
,
420
uint32_t
time
,
421
int32_t
id
)
override
;
422
void
touch_motion
(
uint32_t
time
,
423
int32_t
id
,
424
wl_fixed_t
x
,
425
wl_fixed_t
y
)
override
;
426
void
touch_frame
()
override
;
427
void
touch_cancel
()
override
;
428
429
bool
allTouchPointsReleased
();
430
void
releasePoints
();
431
432
struct
::
wl_touch
*
wl_touch
() {
return
QtWayland
::
wl_touch
::
object
(); }
433
434
QWaylandInputDevice
*
mParent
=
nullptr
;
435
QPointer
<
QWaylandSurface
>
mFocus
;
436
QList
<
QWindowSystemInterface
::
TouchPoint
>
mPendingTouchPoints
;
437
438
private
:
439
Q_DISABLE_COPY
(
Touch
)
440
};
441
442
class
QWaylandPointerEvent
443
{
444
Q_GADGET
445
public
:
446
inline
QWaylandPointerEvent
(
QEvent
::
Type
type
,
Qt
::
ScrollPhase
phase
,
QWaylandSurface
*
surface
,
447
ulong
timestamp
,
const
QPointF
&
localPos
,
const
QPointF
&
globalPos
,
448
Qt
::
MouseButtons
buttons
,
Qt
::
MouseButton
button
,
449
Qt
::
KeyboardModifiers
modifiers
)
450
:
type
(
type
)
451
,
phase
(
phase
)
452
,
timestamp
(
timestamp
)
453
,
local
(
localPos
)
454
,
global
(
globalPos
)
455
,
buttons
(
buttons
)
456
,
button
(
button
)
457
,
modifiers
(
modifiers
)
458
,
surface
(
surface
)
459
{}
460
inline
QWaylandPointerEvent
(
QEvent
::
Type
type
,
Qt
::
ScrollPhase
phase
,
QWaylandSurface
*
surface
,
461
ulong
timestamp
,
const
QPointF
&
local
,
const
QPointF
&
global
,
462
const
QPoint
&
pixelDelta
,
const
QPoint
&
angleDelta
,
463
Qt
::
MouseEventSource
source
,
464
Qt
::
KeyboardModifiers
modifiers
,
bool
inverted
)
465
:
type
(
type
)
466
,
phase
(
phase
)
467
,
timestamp
(
timestamp
)
468
,
local
(
local
)
469
,
global
(
global
)
470
,
modifiers
(
modifiers
)
471
,
pixelDelta
(
pixelDelta
)
472
,
angleDelta
(
angleDelta
)
473
,
source
(
source
)
474
,
surface
(
surface
)
475
,
inverted
(
inverted
)
476
{}
477
478
QEvent
::
Type
type
=
QEvent
::
None
;
479
Qt
::
ScrollPhase
phase
=
Qt
::
NoScrollPhase
;
480
ulong
timestamp
= 0;
481
QPointF
local
;
482
QPointF
global
;
483
Qt
::
MouseButtons
buttons
;
484
Qt
::
MouseButton
button
=
Qt
::
NoButton
;
// Button that caused the event (QMouseEvent::button)
485
Qt
::
KeyboardModifiers
modifiers
;
486
QPoint
pixelDelta
;
487
QPoint
angleDelta
;
488
Qt
::
MouseEventSource
source
=
Qt
::
MouseEventNotSynthesized
;
489
QPointer
<
QWaylandSurface
>
surface
;
490
bool
inverted
=
false
;
491
};
492
493
#
ifndef
QT_NO_GESTURES
494
class
QWaylandPointerGestureSwipeEvent
495
{
496
Q_GADGET
497
public
:
498
inline
QWaylandPointerGestureSwipeEvent
(
QWaylandSurface
*
surface
,
Qt
::
GestureState
state
,
499
ulong
timestamp
,
const
QPointF
&
local
,
500
const
QPointF
&
global
,
uint
fingers
,
const
QPointF
&
delta
)
501
:
surface
(
surface
)
502
,
state
(
state
)
503
,
timestamp
(
timestamp
)
504
,
local
(
local
)
505
,
global
(
global
)
506
,
fingers
(
fingers
)
507
,
delta
(
delta
)
508
{}
509
510
QPointer
<
QWaylandSurface
>
surface
;
511
Qt
::
GestureState
state
=
Qt
::
GestureState
::
NoGesture
;
512
ulong
timestamp
= 0;
513
QPointF
local
;
514
QPointF
global
;
515
uint
fingers
= 0;
516
QPointF
delta
;
517
};
518
519
class
QWaylandPointerGesturePinchEvent
520
{
521
Q_GADGET
522
public
:
523
inline
QWaylandPointerGesturePinchEvent
(
QWaylandSurface
*
surface
,
Qt
::
GestureState
state
,
524
ulong
timestamp
,
const
QPointF
&
local
,
525
const
QPointF
&
global
,
uint
fingers
,
const
QPointF
&
delta
,
526
qreal
scale_delta
,
qreal
rotation_delta
)
527
:
surface
(
surface
)
528
,
state
(
state
)
529
,
timestamp
(
timestamp
)
530
,
local
(
local
)
531
,
global
(
global
)
532
,
fingers
(
fingers
)
533
,
delta
(
delta
)
534
,
scale_delta
(
scale_delta
)
535
,
rotation_delta
(
rotation_delta
)
536
{}
537
538
QPointer
<
QWaylandSurface
>
surface
;
539
Qt
::
GestureState
state
=
Qt
::
GestureState
::
NoGesture
;
540
ulong
timestamp
= 0;
541
QPointF
local
;
542
QPointF
global
;
543
uint
fingers
= 0;
544
QPointF
delta
;
545
qreal
scale_delta
= 0;
546
qreal
rotation_delta
= 0;
547
};
548
#
endif
// #ifndef QT_NO_GESTURES
549
550
}
551
552
QT_END_NAMESPACE
553
554
#
endif
QtWaylandClient::QWaylandBradientDecorationPlugin
Definition
main.cpp:536
QtWaylandClient::QWaylandBradientDecoration
Definition
main.cpp:39
QtWaylandClient::QWaylandDataDevice
Definition
qwaylanddatadevice_p.h:51
QtWaylandClient::QWaylandInputDevice
Definition
qwaylandinputdevice_p.h:94
QtWaylandClient::QWaylandPointerEvent
Definition
qwaylandinputdevice_p.h:443
QtWaylandClient::QWaylandPointerEvent::timestamp
ulong timestamp
Definition
qwaylandinputdevice_p.h:480
QtWaylandClient::QWaylandPointerEvent::pixelDelta
QPoint pixelDelta
Definition
qwaylandinputdevice_p.h:486
QtWaylandClient::QWaylandPointerEvent::global
QPointF global
Definition
qwaylandinputdevice_p.h:482
QtWaylandClient::QWaylandPointerEvent::source
Qt::MouseEventSource source
Definition
qwaylandinputdevice_p.h:488
QtWaylandClient::QWaylandPointerEvent::modifiers
Qt::KeyboardModifiers modifiers
Definition
qwaylandinputdevice_p.h:485
QtWaylandClient::QWaylandPointerEvent::local
QPointF local
Definition
qwaylandinputdevice_p.h:481
QtWaylandClient::QWaylandPointerEvent::buttons
Qt::MouseButtons buttons
Definition
qwaylandinputdevice_p.h:483
QtWaylandClient::QWaylandPointerEvent::button
Qt::MouseButton button
Definition
qwaylandinputdevice_p.h:484
QtWaylandClient::QWaylandPointerEvent::angleDelta
QPoint angleDelta
Definition
qwaylandinputdevice_p.h:487
QtWaylandClient::QWaylandPointerEvent::phase
Qt::ScrollPhase phase
Definition
qwaylandinputdevice_p.h:479
QtWaylandClient::QWaylandPointerEvent::inverted
bool inverted
Definition
qwaylandinputdevice_p.h:490
QtWaylandClient::QWaylandPointerEvent::surface
QPointer< QWaylandSurface > surface
Definition
qwaylandinputdevice_p.h:489
QtWaylandClient::QWaylandPointerGesturePinchEvent
Definition
qwaylandinputdevice_p.h:520
QtWaylandClient::QWaylandPointerGesturePinchEvent::fingers
uint fingers
Definition
qwaylandinputdevice_p.h:543
QtWaylandClient::QWaylandPointerGesturePinchEvent::rotation_delta
qreal rotation_delta
Definition
qwaylandinputdevice_p.h:546
QtWaylandClient::QWaylandPointerGesturePinchEvent::global
QPointF global
Definition
qwaylandinputdevice_p.h:542
QtWaylandClient::QWaylandPointerGesturePinchEvent::local
QPointF local
Definition
qwaylandinputdevice_p.h:541
QtWaylandClient::QWaylandPointerGesturePinchEvent::scale_delta
qreal scale_delta
Definition
qwaylandinputdevice_p.h:545
QtWaylandClient::QWaylandPointerGesturePinchEvent::delta
QPointF delta
Definition
qwaylandinputdevice_p.h:544
QtWaylandClient::QWaylandPointerGesturePinchEvent::state
Qt::GestureState state
Definition
qwaylandinputdevice_p.h:539
QtWaylandClient::QWaylandPointerGesturePinchEvent::timestamp
ulong timestamp
Definition
qwaylandinputdevice_p.h:540
QtWaylandClient::QWaylandPointerGestureSwipeEvent
Definition
qwaylandinputdevice_p.h:495
QtWaylandClient::QWaylandPointerGestureSwipeEvent::state
Qt::GestureState state
Definition
qwaylandinputdevice_p.h:511
QtWaylandClient::QWaylandPointerGestureSwipeEvent::fingers
uint fingers
Definition
qwaylandinputdevice_p.h:515
QtWaylandClient::QWaylandPointerGestureSwipeEvent::timestamp
ulong timestamp
Definition
qwaylandinputdevice_p.h:512
QtWaylandClient::QWaylandPointerGestureSwipeEvent::local
QPointF local
Definition
qwaylandinputdevice_p.h:513
QtWaylandClient::QWaylandPointerGestureSwipeEvent::delta
QPointF delta
Definition
qwaylandinputdevice_p.h:516
QtWaylandClient::QWaylandPointerGestureSwipeEvent::global
QPointF global
Definition
qwaylandinputdevice_p.h:514
QtWaylandClient::QWaylandTextInputInterface
Definition
qwaylandtextinputinterface_p.h:30
QtWaylandClient::QWaylandTextInputMethod
Definition
qwaylandinputmethodcontext_p.h:35
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
QtWaylandClient
Definition
qwaylandclientextension.h:16
QtWaylandClient::Button
Button
Definition
main.cpp:31
QtWaylandClient::None
@ None
Definition
main.cpp:32
QtWaylandClient::Minimize
@ Minimize
Definition
main.cpp:35
QtWaylandClient::Maximize
@ Maximize
Definition
main.cpp:34
QtWaylandClient::Close
@ Close
Definition
main.cpp:33
QtWaylandClient::Q_DECLARE_LOGGING_CATEGORY
Q_DECLARE_LOGGING_CATEGORY(lcQpaWaylandInput)
QtWayland
Definition
qwaylanddisplay_p.h:54
BUTTON_SPACING
#define BUTTON_SPACING
Definition
main.cpp:26
BUTTONS_RIGHT_MARGIN
#define BUTTONS_RIGHT_MARGIN
Definition
main.cpp:28
BUTTON_WIDTH
#define BUTTON_WIDTH
Definition
main.cpp:27
QtWaylandClient::QWaylandEventCompressionPrivate
Definition
qwaylandinputdevice_p.h:82
QtWaylandClient::QWaylandEventCompressionPrivate::timeElapsed
QElapsedTimer timeElapsed
Definition
qwaylandinputdevice_p.h:87
QtWaylandClient::QWaylandEventCompressionPrivate::QWaylandEventCompressionPrivate
QWaylandEventCompressionPrivate()
Definition
qwaylandinputdevice.cpp:70
QtWaylandClient::QWaylandEventCompressionPrivate::delayTimer
QTimer delayTimer
Definition
qwaylandinputdevice_p.h:88
QtWaylandClient::QWaylandEventCompressionPrivate::compressEvent
bool compressEvent()
Definition
qwaylandinputdevice.cpp:76
qtbase
src
plugins
platforms
wayland
qwaylandinputdevice_p.h
Generated on
for Qt by
1.18.0