Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qwaylandpointergestures_p.h
Go to the documentation of this file.
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 QWAYLANDPOINTERGESTURES_P_H
5#define QWAYLANDPOINTERGESTURES_P_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 <QtWaylandClient/private/qwayland-pointer-gestures-unstable-v1.h>
19
20#include <QtWaylandClient/private/qtwaylandclientglobal_p.h>
21
22#include <QtCore/QObject>
23#include <QtCore/QPointer>
24
26
27namespace QtWaylandClient {
28
29class QWaylandDisplay;
30class QWaylandWindow;
31class QWaylandInputDevice;
32class QWaylandPointerGestureSwipe;
33class QWaylandPointerGesturePinch;
34
35class Q_WAYLANDCLIENT_EXPORT QWaylandPointerGestures : public QtWayland::zwp_pointer_gestures_v1
36{
37public:
40
41 QWaylandPointerGestureSwipe *createPointerGestureSwipe(QWaylandInputDevice *device);
42 QWaylandPointerGesturePinch *createPointerGesturePinch(QWaylandInputDevice *device);
43};
44
45class Q_WAYLANDCLIENT_EXPORT QWaylandPointerGestureSwipe :
46 public QtWayland::zwp_pointer_gesture_swipe_v1
47{
48public:
51
52 void zwp_pointer_gesture_swipe_v1_begin(uint32_t serial,
53 uint32_t time,
54 struct ::wl_surface *surface,
55 uint32_t fingers) override;
56
57 void zwp_pointer_gesture_swipe_v1_update(uint32_t time,
58 wl_fixed_t dx,
59 wl_fixed_t dy) override;
60
61 void zwp_pointer_gesture_swipe_v1_end(uint32_t serial,
62 uint32_t time,
63 int32_t cancelled) override;
64
65 struct ::zwp_pointer_gesture_swipe_v1 *zwp_pointer_gesture_swipe_v1()
66 {
67 return QtWayland::zwp_pointer_gesture_swipe_v1::object();
68 }
69
70 QWaylandInputDevice *mParent = nullptr;
71 QPointer<QWaylandWindow> mFocus;
72 uint mFingers = 0;
73};
74
75class Q_WAYLANDCLIENT_EXPORT QWaylandPointerGesturePinch :
76 public QtWayland::zwp_pointer_gesture_pinch_v1
77{
78public:
81
82 void zwp_pointer_gesture_pinch_v1_begin(uint32_t serial,
83 uint32_t time,
84 struct ::wl_surface *surface,
85 uint32_t fingers) override;
86
87 void zwp_pointer_gesture_pinch_v1_update(uint32_t time,
88 wl_fixed_t dx,
89 wl_fixed_t dy,
90 wl_fixed_t scale,
91 wl_fixed_t rotation) override;
92
93 void zwp_pointer_gesture_pinch_v1_end(uint32_t serial,
94 uint32_t time,
95 int32_t cancelled) override;
96
97 struct ::zwp_pointer_gesture_pinch_v1 *zwp_pointer_gesture_pinch_v1()
98 {
99 return QtWayland::zwp_pointer_gesture_pinch_v1::object();
100 }
101
102 QWaylandInputDevice *mParent = nullptr;
103 QPointer<QWaylandWindow> mFocus;
104 uint mFingers = 0;
105
106 // We need to convert between absolute scale provided by wayland/libinput and zoom deltas
107 // that Qt expects. This stores the scale of the last pinch event or 1.0 if there was none.
108 qreal mLastScale = 1;
109};
110
111} // namespace QtWaylandClient
112
114
115#endif // QWAYLANDPOINTERGESTURES_P_H
bool cancelled
Definition btgcdtimer.mm:27
IOBluetoothDevice * device
struct::zwp_pointer_gesture_pinch_v1 * zwp_pointer_gesture_pinch_v1()
struct::zwp_pointer_gesture_swipe_v1 * zwp_pointer_gesture_swipe_v1()
struct wl_display * display
Definition linuxdmabuf.h:41
Combined button and popup list for selecting options.
GLfloat GLfloat p
[1]
GLenum GLenum GLenum GLenum GLenum scale
unsigned int uint
Definition qtypes.h:34
double qreal
Definition qtypes.h:187