Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Plasma
KWayland Server
Commits
6cdb8101
Commit
6cdb8101
authored
Nov 03, 2020
by
Vlad Zahorodnii
Browse files
Port pointer-gestures-v1 interface to the new design
parent
c69afd76
Changes
13
Hide whitespace changes
Inline
Side-by-side
autotests/client/test_wayland_seat.cpp
View file @
6cdb8101
...
...
@@ -30,7 +30,7 @@
#include
"../../src/server/display.h"
#include
"../../src/server/keyboard_interface.h"
#include
"../../src/server/pointer_interface.h"
#include
"../../src/server/pointergestures_interface.h"
#include
"../../src/server/pointergestures_
v1_
interface.h"
#include
"../../src/server/relativepointer_v1_interface.h"
#include
"../../src/server/seat_interface.h"
#include
"../../src/server/subcompositor_interface.h"
...
...
@@ -84,7 +84,7 @@ private:
KWaylandServer
::
SeatInterface
*
m_seatInterface
;
KWaylandServer
::
SubCompositorInterface
*
m_subCompositorInterface
;
KWaylandServer
::
RelativePointerManagerV1Interface
*
m_relativePointerManagerV1Interface
;
KWaylandServer
::
PointerGesturesInterface
*
m_pointerGesturesInterface
;
KWaylandServer
::
PointerGestures
V1
Interface
*
m_pointerGestures
V1
Interface
;
KWayland
::
Client
::
ConnectionThread
*
m_connection
;
KWayland
::
Client
::
Compositor
*
m_compositor
;
KWayland
::
Client
::
Seat
*
m_seat
;
...
...
@@ -105,7 +105,7 @@ TestWaylandSeat::TestWaylandSeat(QObject *parent)
,
m_seatInterface
(
nullptr
)
,
m_subCompositorInterface
(
nullptr
)
,
m_relativePointerManagerV1Interface
(
nullptr
)
,
m_pointerGesturesInterface
(
nullptr
)
,
m_pointerGestures
V1
Interface
(
nullptr
)
,
m_connection
(
nullptr
)
,
m_compositor
(
nullptr
)
,
m_seat
(
nullptr
)
...
...
@@ -133,10 +133,7 @@ void TestWaylandSeat::init()
QVERIFY
(
m_subCompositorInterface
);
m_relativePointerManagerV1Interface
=
m_display
->
createRelativePointerManagerV1
(
m_display
);
m_pointerGesturesInterface
=
m_display
->
createPointerGestures
(
PointerGesturesInterfaceVersion
::
UnstableV1
,
m_display
);
QVERIFY
(
m_pointerGesturesInterface
);
m_pointerGesturesInterface
->
create
();
QVERIFY
(
m_pointerGesturesInterface
->
isValid
());
m_pointerGesturesV1Interface
=
m_display
->
createPointerGesturesV1
(
m_display
);
// setup connection
m_connection
=
new
KWayland
::
Client
::
ConnectionThread
;
...
...
@@ -251,8 +248,8 @@ void TestWaylandSeat::cleanup()
delete
m_relativePointerManagerV1Interface
;
m_relativePointerManagerV1Interface
=
nullptr
;
delete
m_pointerGesturesInterface
;
m_pointerGesturesInterface
=
nullptr
;
delete
m_pointerGestures
V1
Interface
;
m_pointerGestures
V1
Interface
=
nullptr
;
delete
m_display
;
m_display
=
nullptr
;
...
...
@@ -1737,7 +1734,7 @@ void TestWaylandSeat::testDestroy()
m_seatInterface
=
nullptr
;
m_subCompositorInterface
=
nullptr
;
m_relativePointerManagerV1Interface
=
nullptr
;
m_pointerGesturesInterface
=
nullptr
;
m_pointerGestures
V1
Interface
=
nullptr
;
QVERIFY
(
connectionDiedSpy
.
wait
());
// now the seat should be destroyed;
...
...
src/server/CMakeLists.txt
View file @
6cdb8101
...
...
@@ -39,8 +39,7 @@ set(SERVER_LIB_SRCS
pointer_interface.cpp
pointerconstraints_interface.cpp
pointerconstraints_interface_v1.cpp
pointergestures_interface.cpp
pointergestures_interface_v1.cpp
pointergestures_v1_interface.cpp
primaryselectiondevice_v1_interface.cpp
primaryselectiondevicemanager_v1_interface.cpp
primaryselectionoffer_v1_interface.cpp
...
...
@@ -171,7 +170,7 @@ ecm_add_qtwayland_server_protocol(SERVER_LIB_SRCS
BASENAME text-input-unstable-v3
)
ecm_add_wayland_server_protocol
(
SERVER_LIB_SRCS
ecm_add_
qt
wayland_server_protocol
(
SERVER_LIB_SRCS
PROTOCOL
${
WaylandProtocols_DATADIR
}
/unstable/pointer-gestures/pointer-gestures-unstable-v1.xml
BASENAME pointer-gestures-unstable-v1
)
...
...
@@ -411,7 +410,7 @@ set(SERVER_LIB_HEADERS
plasmawindowmanagement_interface.h
pointer_interface.h
pointerconstraints_interface.h
pointergestures_interface.h
pointergestures_
v1_
interface.h
primaryselectiondevicemanager_v1_interface.h
region_interface.h
relativepointer_v1_interface.h
...
...
src/server/display.cpp
View file @
6cdb8101
...
...
@@ -29,7 +29,7 @@
#include
"plasmavirtualdesktop_interface.h"
#include
"plasmawindowmanagement_interface.h"
#include
"pointerconstraints_interface_p.h"
#include
"pointergestures_interface
_p
.h"
#include
"pointergestures_
v1_
interface.h"
#include
"primaryselectiondevicemanager_v1_interface.h"
#include
"relativepointer_v1_interface.h"
#include
"seat_interface.h"
...
...
@@ -373,14 +373,9 @@ RelativePointerManagerV1Interface *Display::createRelativePointerManagerV1(QObje
return
r
;
}
PointerGesturesInterface
*
Display
::
createPointerGestures
(
const
PointerGesturesInterfaceVersion
&
version
,
QObject
*
parent
)
PointerGestures
V1
Interface
*
Display
::
createPointerGestures
V1
(
QObject
*
parent
)
{
PointerGesturesInterface
*
p
=
nullptr
;
switch
(
version
)
{
case
PointerGesturesInterfaceVersion
::
UnstableV1
:
p
=
new
PointerGesturesUnstableV1Interface
(
this
,
parent
);
break
;
}
PointerGesturesV1Interface
*
p
=
new
PointerGesturesV1Interface
(
this
,
parent
);
connect
(
this
,
&
Display
::
aboutToTerminate
,
p
,
[
p
]
{
delete
p
;
});
return
p
;
}
...
...
src/server/display.h
View file @
6cdb8101
...
...
@@ -58,8 +58,7 @@ class TextInputManagerV2Interface;
class
TextInputManagerV3Interface
;
class
XdgShellInterface
;
class
RelativePointerManagerV1Interface
;
enum
class
PointerGesturesInterfaceVersion
;
class
PointerGesturesInterface
;
class
PointerGesturesV1Interface
;
enum
class
PointerConstraintsInterfaceVersion
;
class
PointerConstraintsInterface
;
class
XdgForeignV2Interface
;
...
...
@@ -221,12 +220,12 @@ public:
RelativePointerManagerV1Interface
*
createRelativePointerManagerV1
(
QObject
*
parent
=
nullptr
);
/**
* Creates the PointerGesturesInterface
in interface @p version
* Creates the PointerGestures
V1
Interface
*
* @returns The created manager object
* @since 5.29
**/
PointerGesturesInterface
*
createPointerGestures
(
const
PointerGesturesInterfaceVersion
&
version
,
QObject
*
parent
=
nullptr
);
PointerGestures
V1
Interface
*
createPointerGestures
V1
(
QObject
*
parent
=
nullptr
);
/**
* Creates the PointerConstraintsInterface in interface @p version
...
...
src/server/pointer_interface.cpp
View file @
6cdb8101
...
...
@@ -6,7 +6,7 @@
#include
"pointer_interface.h"
#include
"pointer_interface_p.h"
#include
"pointerconstraints_interface.h"
#include
"pointergestures_interface_p.h"
#include
"pointergestures_
v1_
interface_p.h"
#include
"resource_p.h"
#include
"relativepointer_v1_interface_p.h"
#include
"seat_interface.h"
...
...
@@ -76,24 +76,28 @@ void PointerInterface::Private::unregisterRelativePointerV1(RelativePointerV1Int
relativePointersV1
.
removeOne
(
relativePointer
);
}
void
PointerInterface
::
Private
::
registerSwipeGesture
(
PointerSwipeGestureInterface
*
gesture
)
void
PointerInterface
::
Private
::
registerSwipeGesture
V1
(
PointerSwipeGesture
V1
Interface
*
gesture
)
{
swipeGestures
<<
gesture
;
QObject
::
connect
(
gesture
,
&
QObject
::
destroyed
,
q
,
[
this
,
gesture
]
{
swipeGestures
.
removeOne
(
gesture
);
}
);
Q_ASSERT
(
!
swipeGesturesV1
.
contains
(
gesture
));
swipeGesturesV1
.
append
(
gesture
);
}
void
PointerInterface
::
Private
::
register
Pinch
Gesture
(
Pointer
Pinch
GestureInterface
*
gesture
)
void
PointerInterface
::
Private
::
un
register
Swipe
Gesture
V1
(
Pointer
Swipe
Gesture
V1
Interface
*
gesture
)
{
pinchGestures
<<
gesture
;
QObject
::
connect
(
gesture
,
&
QObject
::
destroyed
,
q
,
[
this
,
gesture
]
{
pinchGestures
.
removeOne
(
gesture
);
}
);
Q_ASSERT
(
swipeGesturesV1
.
contains
(
gesture
));
swipeGesturesV1
.
removeOne
(
gesture
);
}
void
PointerInterface
::
Private
::
registerPinchGestureV1
(
PointerPinchGestureV1Interface
*
gesture
)
{
Q_ASSERT
(
!
pinchGesturesV1
.
contains
(
gesture
));
pinchGesturesV1
.
append
(
gesture
);
}
void
PointerInterface
::
Private
::
unregisterPinchGestureV1
(
PointerPinchGestureV1Interface
*
gesture
)
{
Q_ASSERT
(
pinchGesturesV1
.
contains
(
gesture
));
pinchGesturesV1
.
removeOne
(
gesture
);
}
namespace
{
...
...
@@ -118,81 +122,69 @@ void PointerInterface::Private::sendEnter(SurfaceInterface *surface, const QPoin
void
PointerInterface
::
Private
::
startSwipeGesture
(
quint32
serial
,
quint32
fingerCount
)
{
if
(
swipeGestures
.
isEmpty
()
)
{
if
(
!
focusedSurface
)
{
return
;
}
for
(
auto
it
=
swipeGestures
.
constBegin
(),
end
=
swipeGestures
.
constEnd
();
it
!=
end
;
it
++
)
{
(
*
it
)
->
start
(
serial
,
fingerCount
);
for
(
PointerSwipeGestureV1Interface
*
gesture
:
qAsConst
(
swipeGesturesV1
)
)
{
gesture
->
send_begin
(
serial
,
seat
->
timestamp
(),
focusedSurface
->
resource
()
,
fingerCount
);
}
}
void
PointerInterface
::
Private
::
updateSwipeGesture
(
const
QSizeF
&
delta
)
{
if
(
swipeGestures
.
isEmpty
())
{
return
;
}
for
(
auto
it
=
swipeGestures
.
constBegin
(),
end
=
swipeGestures
.
constEnd
();
it
!=
end
;
it
++
)
{
(
*
it
)
->
update
(
delta
);
for
(
PointerSwipeGestureV1Interface
*
gesture
:
qAsConst
(
swipeGesturesV1
))
{
gesture
->
send_update
(
seat
->
timestamp
(),
wl_fixed_from_double
(
delta
.
width
()),
wl_fixed_from_double
(
delta
.
height
()));
}
}
void
PointerInterface
::
Private
::
endSwipeGesture
(
quint32
serial
)
{
if
(
swipeGestures
.
isEmpty
())
{
return
;
}
for
(
auto
it
=
swipeGestures
.
constBegin
(),
end
=
swipeGestures
.
constEnd
();
it
!=
end
;
it
++
)
{
(
*
it
)
->
end
(
serial
);
for
(
PointerSwipeGestureV1Interface
*
gesture
:
qAsConst
(
swipeGesturesV1
))
{
gesture
->
send_end
(
serial
,
seat
->
timestamp
(),
false
);
}
}
void
PointerInterface
::
Private
::
cancelSwipeGesture
(
quint32
serial
)
{
if
(
swipeGestures
.
isEmpty
())
{
return
;
}
for
(
auto
it
=
swipeGestures
.
constBegin
(),
end
=
swipeGestures
.
constEnd
();
it
!=
end
;
it
++
)
{
(
*
it
)
->
cancel
(
serial
);
for
(
PointerSwipeGestureV1Interface
*
gesture
:
qAsConst
(
swipeGesturesV1
))
{
gesture
->
send_end
(
serial
,
seat
->
timestamp
(),
true
);
}
}
void
PointerInterface
::
Private
::
startPinchGesture
(
quint32
serial
,
quint32
fingerCount
)
{
if
(
pinchGestures
.
isEmpty
()
)
{
if
(
!
focusedSurface
)
{
return
;
}
for
(
auto
it
=
pinchGestures
.
constBegin
(),
end
=
pinchGestures
.
constEnd
();
it
!=
end
;
it
++
)
{
(
*
it
)
->
start
(
serial
,
fingerCount
);
for
(
PointerPinchGestureV1Interface
*
gesture
:
qAsConst
(
pinchGesturesV1
)
)
{
gesture
->
send_begin
(
serial
,
seat
->
timestamp
(),
focusedSurface
->
resource
()
,
fingerCount
);
}
}
void
PointerInterface
::
Private
::
updatePinchGesture
(
const
QSizeF
&
delta
,
qreal
scale
,
qreal
rotation
)
{
if
(
pinchGestures
.
isEmpty
())
{
return
;
}
for
(
auto
it
=
pinchGestures
.
constBegin
(),
end
=
pinchGestures
.
constEnd
();
it
!=
end
;
it
++
)
{
(
*
it
)
->
update
(
delta
,
scale
,
rotation
);
for
(
PointerPinchGestureV1Interface
*
gesture
:
qAsConst
(
pinchGesturesV1
))
{
gesture
->
send_update
(
seat
->
timestamp
(),
wl_fixed_from_double
(
delta
.
width
()),
wl_fixed_from_double
(
delta
.
height
()),
wl_fixed_from_double
(
scale
),
wl_fixed_from_double
(
rotation
));
}
}
void
PointerInterface
::
Private
::
endPinchGesture
(
quint32
serial
)
{
if
(
pinchGestures
.
isEmpty
())
{
return
;
}
for
(
auto
it
=
pinchGestures
.
constBegin
(),
end
=
pinchGestures
.
constEnd
();
it
!=
end
;
it
++
)
{
(
*
it
)
->
end
(
serial
);
for
(
PointerPinchGestureV1Interface
*
gesture
:
qAsConst
(
pinchGesturesV1
))
{
gesture
->
send_end
(
serial
,
seat
->
timestamp
(),
false
);
}
}
void
PointerInterface
::
Private
::
cancelPinchGesture
(
quint32
serial
)
{
if
(
pinchGestures
.
isEmpty
())
{
return
;
}
for
(
auto
it
=
pinchGestures
.
constBegin
(),
end
=
pinchGestures
.
constEnd
();
it
!=
end
;
it
++
)
{
(
*
it
)
->
cancel
(
serial
);
for
(
PointerPinchGestureV1Interface
*
gesture
:
qAsConst
(
pinchGesturesV1
))
{
gesture
->
send_end
(
serial
,
seat
->
timestamp
(),
true
);
}
}
...
...
src/server/pointer_interface.h
View file @
6cdb8101
...
...
@@ -14,7 +14,6 @@ namespace KWaylandServer
{
class
Cursor
;
class
PointerGesturesUnstableV1Interface
;
class
SeatInterface
;
class
SurfaceInterface
;
...
...
@@ -63,7 +62,8 @@ private:
void
relativeMotion
(
const
QSizeF
&
delta
,
const
QSizeF
&
deltaNonAccelerated
,
quint64
microseconds
);
friend
class
SeatInterface
;
friend
class
RelativePointerV1Interface
;
friend
class
PointerGesturesUnstableV1Interface
;
friend
class
PointerPinchGestureV1Interface
;
friend
class
PointerSwipeGestureV1Interface
;
explicit
PointerInterface
(
SeatInterface
*
parent
,
wl_resource
*
parentResource
);
class
Private
;
Private
*
d_func
()
const
;
...
...
src/server/pointer_interface_p.h
View file @
6cdb8101
...
...
@@ -13,8 +13,8 @@
namespace
KWaylandServer
{
class
PointerPinchGestureInterface
;
class
PointerSwipeGestureInterface
;
class
PointerPinchGesture
V1
Interface
;
class
PointerSwipeGesture
V1
Interface
;
class
RelativePointerV1Interface
;
class
PointerInterface
::
Private
:
public
Resource
::
Private
...
...
@@ -28,18 +28,20 @@ public:
QMetaObject
::
Connection
destroyConnection
;
Cursor
*
cursor
=
nullptr
;
QVector
<
RelativePointerV1Interface
*>
relativePointersV1
;
QVector
<
PointerSwipeGestureInterface
*>
swipeGestures
;
QVector
<
PointerPinchGestureInterface
*>
pinchGestures
;
QVector
<
PointerSwipeGesture
V1
Interface
*>
swipeGestures
V1
;
QVector
<
PointerPinchGesture
V1
Interface
*>
pinchGestures
V1
;
void
sendLeave
(
SurfaceInterface
*
surface
,
quint32
serial
);
void
sendEnter
(
SurfaceInterface
*
surface
,
const
QPointF
&
parentSurfacePosition
,
quint32
serial
);
void
sendFrame
();
void
registerRelativePointerV1
(
RelativePointerV1Interface
*
relativePointer
);
void
registerSwipeGesture
(
PointerSwipeGestureInterface
*
gesture
);
void
registerPinchGesture
(
PointerPinchGestureInterface
*
gesture
);
void
registerSwipeGesture
V1
(
PointerSwipeGesture
V1
Interface
*
gesture
);
void
registerPinchGesture
V1
(
PointerPinchGesture
V1
Interface
*
gesture
);
void
unregisterRelativePointerV1
(
RelativePointerV1Interface
*
relativePointer
);
void
unregisterSwipeGestureV1
(
PointerSwipeGestureV1Interface
*
gesture
);
void
unregisterPinchGestureV1
(
PointerPinchGestureV1Interface
*
gesture
);
void
startSwipeGesture
(
quint32
serial
,
quint32
fingerCount
);
void
updateSwipeGesture
(
const
QSizeF
&
delta
);
...
...
src/server/pointergestures_interface.cpp
deleted
100644 → 0
View file @
c69afd76
/*
SPDX-FileCopyrightText: 2016 Martin Gräßlin <mgraesslin@kde.org>
SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
*/
#include
"pointergestures_interface_p.h"
namespace
KWaylandServer
{
PointerGesturesInterface
::
Private
::
Private
(
PointerGesturesInterfaceVersion
interfaceVersion
,
PointerGesturesInterface
*
q
,
Display
*
d
,
const
wl_interface
*
interface
,
quint32
version
)
:
Global
::
Private
(
d
,
interface
,
version
)
,
interfaceVersion
(
interfaceVersion
)
,
q
(
q
)
{
}
PointerGesturesInterface
::
PointerGesturesInterface
(
Private
*
d
,
QObject
*
parent
)
:
Global
(
d
,
parent
)
{
}
PointerGesturesInterface
::~
PointerGesturesInterface
()
=
default
;
PointerGesturesInterfaceVersion
PointerGesturesInterface
::
interfaceVersion
()
const
{
Q_D
();
return
d
->
interfaceVersion
;
}
PointerGesturesInterface
::
Private
*
PointerGesturesInterface
::
d_func
()
const
{
return
reinterpret_cast
<
Private
*>
(
d
.
data
());
}
PointerSwipeGestureInterface
::
Private
::
Private
(
PointerSwipeGestureInterface
*
q
,
Global
*
c
,
wl_resource
*
parentResource
,
const
wl_interface
*
interface
,
const
void
*
implementation
,
PointerInterface
*
pointer
)
:
Resource
::
Private
(
q
,
c
,
parentResource
,
interface
,
implementation
)
,
pointer
(
pointer
)
{
}
PointerSwipeGestureInterface
::
Private
::~
Private
()
{
if
(
resource
)
{
wl_resource_destroy
(
resource
);
resource
=
nullptr
;
}
}
PointerSwipeGestureInterface
::
PointerSwipeGestureInterface
(
Private
*
p
,
QObject
*
parent
)
:
Resource
(
p
,
parent
)
{
}
PointerSwipeGestureInterface
::~
PointerSwipeGestureInterface
()
=
default
;
PointerSwipeGestureInterface
::
Private
*
PointerSwipeGestureInterface
::
d_func
()
const
{
return
reinterpret_cast
<
Private
*>
(
d
.
data
());
}
PointerPinchGestureInterface
::
Private
::
Private
(
PointerPinchGestureInterface
*
q
,
Global
*
c
,
wl_resource
*
parentResource
,
const
wl_interface
*
interface
,
const
void
*
implementation
,
PointerInterface
*
pointer
)
:
Resource
::
Private
(
q
,
c
,
parentResource
,
interface
,
implementation
)
,
pointer
(
pointer
)
{
}
PointerPinchGestureInterface
::
Private
::~
Private
()
{
if
(
resource
)
{
wl_resource_destroy
(
resource
);
resource
=
nullptr
;
}
}
PointerPinchGestureInterface
::
PointerPinchGestureInterface
(
Private
*
p
,
QObject
*
parent
)
:
Resource
(
p
,
parent
)
{
}
PointerPinchGestureInterface
::~
PointerPinchGestureInterface
()
=
default
;
PointerPinchGestureInterface
::
Private
*
PointerPinchGestureInterface
::
d_func
()
const
{
return
reinterpret_cast
<
Private
*>
(
d
.
data
());
}
}
src/server/pointergestures_interface_p.h
deleted
100644 → 0
View file @
c69afd76
/*
SPDX-FileCopyrightText: 2016 Martin Gräßlin <mgraesslin@kde.org>
SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
*/
#ifndef KWAYLAND_SERVER_POINTERGESTURES_INTERFACE_P_H
#define KWAYLAND_SERVER_POINTERGESTURES_INTERFACE_P_H
#include
"pointergestures_interface.h"
#include
"resource_p.h"
#include
"global_p.h"
namespace
KWaylandServer
{
class
PointerInterface
;
class
PointerGesturesInterface
::
Private
:
public
Global
::
Private
{
public:
PointerGesturesInterfaceVersion
interfaceVersion
;
protected:
Private
(
PointerGesturesInterfaceVersion
interfaceVersion
,
PointerGesturesInterface
*
q
,
Display
*
d
,
const
wl_interface
*
interface
,
quint32
version
);
PointerGesturesInterface
*
q
;
};
class
PointerGesturesUnstableV1Interface
:
public
PointerGesturesInterface
{
Q_OBJECT
public:
explicit
PointerGesturesUnstableV1Interface
(
Display
*
display
,
QObject
*
parent
=
nullptr
);
virtual
~
PointerGesturesUnstableV1Interface
();
private:
class
Private
;
};
class
PointerSwipeGestureInterface
:
public
Resource
{
Q_OBJECT
public:
virtual
~
PointerSwipeGestureInterface
();
virtual
void
start
(
quint32
serial
,
quint32
fingerCount
)
=
0
;
virtual
void
update
(
const
QSizeF
&
delta
)
=
0
;
virtual
void
end
(
quint32
serial
)
=
0
;
virtual
void
cancel
(
quint32
serial
)
=
0
;
protected:
class
Private
;
explicit
PointerSwipeGestureInterface
(
Private
*
p
,
QObject
*
parent
=
nullptr
);
private:
Private
*
d_func
()
const
;
};
class
PointerSwipeGestureInterface
::
Private
:
public
Resource
::
Private
{
public:
~
Private
();
PointerInterface
*
pointer
;
protected:
Private
(
PointerSwipeGestureInterface
*
q
,
Global
*
c
,
wl_resource
*
parentResource
,
const
wl_interface
*
interface
,
const
void
*
implementation
,
PointerInterface
*
pointer
);
private:
PointerSwipeGestureInterface
*
q_func
()
{
return
reinterpret_cast
<
PointerSwipeGestureInterface
*>
(
q
);
}
};
class
PointerPinchGestureInterface
:
public
Resource
{
Q_OBJECT
public:
virtual
~
PointerPinchGestureInterface
();
virtual
void
start
(
quint32
serial
,
quint32
fingerCount
)
=
0
;
virtual
void
update
(
const
QSizeF
&
delta
,
qreal
scale
,
qreal
rotation
)
=
0
;
virtual
void
end
(
quint32
serial
)
=
0
;
virtual
void
cancel
(
quint32
serial
)
=
0
;
protected:
class
Private
;
explicit
PointerPinchGestureInterface
(
Private
*
p
,
QObject
*
parent
=
nullptr
);
private:
Private
*
d_func
()
const
;
};
class
PointerPinchGestureInterface
::
Private
:
public
Resource
::
Private
{
public:
~
Private
();
PointerInterface
*
pointer
;
protected:
Private
(
PointerPinchGestureInterface
*
q
,
Global
*
c
,
wl_resource
*
parentResource
,
const
wl_interface
*
interface
,
const
void
*
implementation
,
PointerInterface
*
pointer
);
private:
PointerPinchGestureInterface
*
q_func
()
{
return
reinterpret_cast
<
PointerPinchGestureInterface
*>
(
q
);
}
};
class
PointerSwipeGestureUnstableV1Interface
:
public
PointerSwipeGestureInterface
{
Q_OBJECT
public:
explicit
PointerSwipeGestureUnstableV1Interface
(
PointerGesturesUnstableV1Interface
*
parent
,
wl_resource
*
parentResource
,
PointerInterface
*
pointer
);
virtual
~
PointerSwipeGestureUnstableV1Interface
();
void
start
(
quint32
serial
,
quint32
fingerCount
)
override
;
void
update
(
const
QSizeF
&
delta
)
override
;
void
end
(
quint32
serial
)
override
;
void
cancel
(
quint32
serial
)
override
;
private:
friend
class
PointerGesturesUnstableV1Interface
;
class
Private
;
Private
*
d_func
()
const
;
};
class
PointerPinchGestureUnstableV1Interface
:
public
PointerPinchGestureInterface
{
Q_OBJECT
public:
explicit
PointerPinchGestureUnstableV1Interface
(
PointerGesturesUnstableV1Interface
*
parent
,
wl_resource
*
parentResource
,
PointerInterface
*
pointer
);
virtual
~
PointerPinchGestureUnstableV1Interface
();
void
start
(
quint32
serial
,
quint32
fingerCount
)
override
;
void
update
(
const
QSizeF
&
delta
,
qreal
scale
,
qreal
rotation
)
override
;
void
end
(
quint32
serial
)
override
;
void
cancel
(
quint32
serial
)
override
;
private:
friend
class
PointerGesturesUnstableV1Interface
;
class
Private
;
Private
*
d_func
()
const
;
};
}
#endif
src/server/pointergestures_interface_v1.cpp
deleted
100644 → 0
View file @
c69afd76
/*
SPDX-FileCopyrightText: 2016 Martin Gräßlin <mgraesslin@kde.org>
SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
*/
#include
"pointergestures_interface_p.h"
#include
"display.h"
#include
"pointer_interface_p.h"
#include
"resource_p.h"
#include
"seat_interface.h"
#include
"surface_interface.h"
#include
<wayland-pointer-gestures-unstable-v1-server-protocol.h>
namespace
KWaylandServer
{