Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pywlroots for
openSUSE:Factory checked in at 2022-12-12 17:40:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pywlroots (Old)
and /work/SRC/openSUSE:Factory/.python-pywlroots.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pywlroots"
Mon Dec 12 17:40:10 2022 rev:4 rq:1042355 version:0.15.24
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pywlroots/python-pywlroots.changes
2022-10-01 17:44:22.541803166 +0200
+++
/work/SRC/openSUSE:Factory/.python-pywlroots.new.1835/python-pywlroots.changes
2022-12-12 17:42:17.029990107 +0100
@@ -1,0 +2,19 @@
+Mon Dec 12 08:24:15 UTC 2022 - Michael Vetter <[email protected]>
+
+- Fix build: pick up a compatible verison of wlroots boo#1206305
+
+-------------------------------------------------------------------
+Sun Dec 11 09:58:29 UTC 2022 - Soc Virnyl Estela <[email protected]>
+
+- Update to version 0.15.24:
+ * Drag.icon can also return None if clients don't provide icons to render
+ * Drag.icon can also return None if clients don't provide icons to render
+ * Add handlers for wlr_pointer_gestures_v1
+
+-------------------------------------------------------------------
+Mon Nov 21 23:08:50 UTC 2022 - Soc Virnyl Estela <[email protected]>
+
+- Remove libwlroots10. Not needed since library is provided already
+ from wlroots-devel with pkg-config.
+
+-------------------------------------------------------------------
Old:
----
pywlroots-0.15.22.tar.gz
New:
----
pywlroots-0.15.24.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pywlroots.spec ++++++
--- /var/tmp/diff_new_pack.BEEznZ/_old 2022-12-12 17:42:17.505992784 +0100
+++ /var/tmp/diff_new_pack.BEEznZ/_new 2022-12-12 17:42:17.509992807 +0100
@@ -18,7 +18,7 @@
%bcond_without test
Name: python-pywlroots
-Version: 0.15.22
+Version: 0.15.24
Release: 0
Summary: Python binding to the wlroots library using cffi
License: NCSA
@@ -39,10 +39,10 @@
BuildRequires: %{pythons}
BuildRequires: fdupes
BuildRequires: libdrm >= 2.4.113
-BuildRequires: libwlroots10
BuildRequires: python-rpm-macros
BuildRequires: pkgconfig(glib-2.0)
-BuildRequires: pkgconfig(wlroots)
+BuildRequires: pkgconfig(wlroots) >= 0.15.0
+BuildConflicts: pkgconfig(wlroots) >= 0.16.0
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(xwayland)
Requires: python-pywayland
++++++ pywlroots-0.15.22.tar.gz -> pywlroots-0.15.24.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pywlroots-0.15.22/MANIFEST.in
new/pywlroots-0.15.24/MANIFEST.in
--- old/pywlroots-0.15.22/MANIFEST.in 2022-09-20 04:17:51.000000000 +0200
+++ new/pywlroots-0.15.24/MANIFEST.in 2022-10-29 04:59:37.000000000 +0200
@@ -4,3 +4,4 @@
include tiny/*.py
recursive-include tests *.py
recursive-include wlroots *.h
+recursive-include wlroots *.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pywlroots-0.15.22/PKG-INFO
new/pywlroots-0.15.24/PKG-INFO
--- old/pywlroots-0.15.22/PKG-INFO 2022-09-20 04:17:53.261108400 +0200
+++ new/pywlroots-0.15.24/PKG-INFO 2022-10-29 04:59:38.227203600 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: pywlroots
-Version: 0.15.22
+Version: 0.15.24
Summary: Python binding to the wlroots library using cffi
Home-page: https://github.com/flacjacket/pywlroots
Author: Sean Vig
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pywlroots-0.15.22/check_headers.py
new/pywlroots-0.15.24/check_headers.py
--- old/pywlroots-0.15.22/check_headers.py 2022-09-20 04:17:51.000000000
+0200
+++ new/pywlroots-0.15.24/check_headers.py 2022-10-29 04:59:37.000000000
+0200
@@ -49,7 +49,9 @@
expected_protocol_files = {
header_filename(protocol_xml) for protocol_xml in protocols
}
- protocol_files = {path.name for path in INCLUDE_PATH.iterdir()}
+ protocol_files = {
+ path.name for path in INCLUDE_PATH.iterdir() if path.name !=
"README.rst"
+ }
if expected_protocol_files != protocol_files:
unexpected_files = list(expected_protocol_files - protocol_files)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pywlroots-0.15.22/pywlroots.egg-info/PKG-INFO
new/pywlroots-0.15.24/pywlroots.egg-info/PKG-INFO
--- old/pywlroots-0.15.22/pywlroots.egg-info/PKG-INFO 2022-09-20
04:17:53.000000000 +0200
+++ new/pywlroots-0.15.24/pywlroots.egg-info/PKG-INFO 2022-10-29
04:59:38.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: pywlroots
-Version: 0.15.22
+Version: 0.15.24
Summary: Python binding to the wlroots library using cffi
Home-page: https://github.com/flacjacket/pywlroots
Author: Sean Vig
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pywlroots-0.15.22/pywlroots.egg-info/SOURCES.txt
new/pywlroots-0.15.24/pywlroots.egg-info/SOURCES.txt
--- old/pywlroots-0.15.22/pywlroots.egg-info/SOURCES.txt 2022-09-20
04:17:53.000000000 +0200
+++ new/pywlroots-0.15.24/pywlroots.egg-info/SOURCES.txt 2022-10-29
04:59:38.000000000 +0200
@@ -35,6 +35,7 @@
wlroots/renderer.py
wlroots/version.py
wlroots/xwayland.py
+wlroots/include/README.rst
wlroots/include/idle-inhibit-unstable-v1-protocol.h
wlroots/include/idle-protocol.h
wlroots/include/pointer-constraints-unstable-v1-protocol.h
@@ -70,6 +71,7 @@
wlroots/wlr_types/output_power_management_v1.py
wlroots/wlr_types/pointer.py
wlroots/wlr_types/pointer_constraints_v1.py
+wlroots/wlr_types/pointer_gestures_v1.py
wlroots/wlr_types/primary_selection_v1.py
wlroots/wlr_types/relative_pointer_manager_v1.py
wlroots/wlr_types/scene.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pywlroots-0.15.22/wlroots/ffi_build.py
new/pywlroots-0.15.24/wlroots/ffi_build.py
--- old/pywlroots-0.15.22/wlroots/ffi_build.py 2022-09-20 04:17:51.000000000
+0200
+++ new/pywlroots-0.15.24/wlroots/ffi_build.py 2022-10-29 04:59:37.000000000
+0200
@@ -1282,6 +1282,19 @@
bool cancelled;
...;
};
+
+struct wlr_event_pointer_hold_begin {
+ struct wlr_input_device *device;
+ uint32_t time_msec;
+ uint32_t fingers;
+ ...;
+};
+struct wlr_event_pointer_hold_end {
+ struct wlr_input_device *device;
+ uint32_t time_msec;
+ bool cancelled;
+ ...;
+};
"""
# types/wlr_pointer_constraints_v1.h
@@ -1360,6 +1373,75 @@
struct wlr_pointer_constraint_v1 *constraint);
"""
+# types/wlr_pointer_gestures_v1.h
+CDEF += """
+struct wlr_pointer_gestures_v1 {
+ struct wl_global *global;
+ struct wl_list swipes;
+ struct wl_list pinches;
+ struct wl_list holds;
+
+ struct wl_listener display_destroy;
+
+ struct {
+ struct wl_signal destroy;
+ } events;
+
+ void *data;
+ ...;
+};
+
+struct wlr_pointer_gestures_v1 *wlr_pointer_gestures_v1_create(
+ struct wl_display *display);
+
+void wlr_pointer_gestures_v1_send_swipe_begin(
+ struct wlr_pointer_gestures_v1 *gestures,
+ struct wlr_seat *seat,
+ uint32_t time_msec,
+ uint32_t fingers);
+void wlr_pointer_gestures_v1_send_swipe_update(
+ struct wlr_pointer_gestures_v1 *gestures,
+ struct wlr_seat *seat,
+ uint32_t time_msec,
+ double dx,
+ double dy);
+void wlr_pointer_gestures_v1_send_swipe_end(
+ struct wlr_pointer_gestures_v1 *gestures,
+ struct wlr_seat *seat,
+ uint32_t time_msec,
+ bool cancelled);
+
+void wlr_pointer_gestures_v1_send_pinch_begin(
+ struct wlr_pointer_gestures_v1 *gestures,
+ struct wlr_seat *seat,
+ uint32_t time_msec,
+ uint32_t fingers);
+void wlr_pointer_gestures_v1_send_pinch_update(
+ struct wlr_pointer_gestures_v1 *gestures,
+ struct wlr_seat *seat,
+ uint32_t time_msec,
+ double dx,
+ double dy,
+ double scale,
+ double rotation);
+void wlr_pointer_gestures_v1_send_pinch_end(
+ struct wlr_pointer_gestures_v1 *gestures,
+ struct wlr_seat *seat,
+ uint32_t time_msec,
+ bool cancelled);
+
+void wlr_pointer_gestures_v1_send_hold_begin(
+ struct wlr_pointer_gestures_v1 *gestures,
+ struct wlr_seat *seat,
+ uint32_t time_msec,
+ uint32_t fingers);
+void wlr_pointer_gestures_v1_send_hold_end(
+ struct wlr_pointer_gestures_v1 *gestures,
+ struct wlr_seat *seat,
+ uint32_t time_msec,
+ bool cancelled);
+"""
+
# types/wlr_primary_selection_v1.h
CDEF += """
struct wlr_primary_selection_v1_device_manager {
@@ -2431,6 +2513,7 @@
#include <wlr/types/wlr_output_management_v1.h>
#include <wlr/types/wlr_output_power_management_v1.h>
#include <wlr/types/wlr_pointer_constraints_v1.h>
+#include <wlr/types/wlr_pointer_gestures_v1.h>
#include <wlr/types/wlr_primary_selection.h>
#include <wlr/types/wlr_primary_selection_v1.h>
#include <wlr/types/wlr_relative_pointer_v1.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pywlroots-0.15.22/wlroots/include/README.rst
new/pywlroots-0.15.24/wlroots/include/README.rst
--- old/pywlroots-0.15.22/wlroots/include/README.rst 1970-01-01
01:00:00.000000000 +0100
+++ new/pywlroots-0.15.24/wlroots/include/README.rst 2022-10-29
04:59:37.000000000 +0200
@@ -0,0 +1,27 @@
+Included Headers
+----------------
+
+Generated Wayland protocol headers that are included with the pywlroots ffi
+build, and are shipped with the library for downstream libraries to be able to
+include these headers.
+
+Updating Headers
+----------------
+
+When protocol versions are updated or the wayland scanner generation changes,
+the included headers should be updated as well. The match between the latest
+protocol and the included files is run in the CI. When that starts to fail,
+run:
+```
+wayland-scanner server-header /usr/share/wayland-protocols/path/to/file.xml
wlroots/include/file.h
+```
+This can also be used to add new headers to pywlroots.
+
+Alternatively, if you download a copy of the upstream wlroots source code, you
+can run:
+```
+python check_headers.py --wlroots-dir /path/to/wlroots/source --generate
+```
+Which will regenerate all of theh current set of protocol headers. Leaving off
+the `--generate` option will instread run a check on the currently generated
+protocols.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pywlroots-0.15.22/wlroots/include/idle-inhibit-unstable-v1-protocol.h
new/pywlroots-0.15.24/wlroots/include/idle-inhibit-unstable-v1-protocol.h
--- old/pywlroots-0.15.22/wlroots/include/idle-inhibit-unstable-v1-protocol.h
2022-09-20 04:17:51.000000000 +0200
+++ new/pywlroots-0.15.24/wlroots/include/idle-inhibit-unstable-v1-protocol.h
2022-10-29 04:59:37.000000000 +0200
@@ -1,4 +1,4 @@
-/* Generated by wayland-scanner 1.20.0 */
+/* Generated by wayland-scanner 1.21.0 */
#ifndef IDLE_INHIBIT_UNSTABLE_V1_SERVER_PROTOCOL_H
#define IDLE_INHIBIT_UNSTABLE_V1_SERVER_PROTOCOL_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pywlroots-0.15.22/wlroots/include/idle-protocol.h
new/pywlroots-0.15.24/wlroots/include/idle-protocol.h
--- old/pywlroots-0.15.22/wlroots/include/idle-protocol.h 2022-09-20
04:17:51.000000000 +0200
+++ new/pywlroots-0.15.24/wlroots/include/idle-protocol.h 2022-10-29
04:59:37.000000000 +0200
@@ -1,4 +1,4 @@
-/* Generated by wayland-scanner 1.20.0 */
+/* Generated by wayland-scanner 1.21.0 */
#ifndef IDLE_SERVER_PROTOCOL_H
#define IDLE_SERVER_PROTOCOL_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pywlroots-0.15.22/wlroots/include/pointer-constraints-unstable-v1-protocol.h
new/pywlroots-0.15.24/wlroots/include/pointer-constraints-unstable-v1-protocol.h
---
old/pywlroots-0.15.22/wlroots/include/pointer-constraints-unstable-v1-protocol.h
2022-09-20 04:17:51.000000000 +0200
+++
new/pywlroots-0.15.24/wlroots/include/pointer-constraints-unstable-v1-protocol.h
2022-10-29 04:59:37.000000000 +0200
@@ -1,4 +1,4 @@
-/* Generated by wayland-scanner 1.20.0 */
+/* Generated by wayland-scanner 1.21.0 */
#ifndef POINTER_CONSTRAINTS_UNSTABLE_V1_SERVER_PROTOCOL_H
#define POINTER_CONSTRAINTS_UNSTABLE_V1_SERVER_PROTOCOL_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pywlroots-0.15.22/wlroots/include/wlr-layer-shell-unstable-v1-protocol.h
new/pywlroots-0.15.24/wlroots/include/wlr-layer-shell-unstable-v1-protocol.h
---
old/pywlroots-0.15.22/wlroots/include/wlr-layer-shell-unstable-v1-protocol.h
2022-09-20 04:17:51.000000000 +0200
+++
new/pywlroots-0.15.24/wlroots/include/wlr-layer-shell-unstable-v1-protocol.h
2022-10-29 04:59:37.000000000 +0200
@@ -1,4 +1,4 @@
-/* Generated by wayland-scanner 1.20.0 */
+/* Generated by wayland-scanner 1.21.0 */
#ifndef WLR_LAYER_SHELL_UNSTABLE_V1_SERVER_PROTOCOL_H
#define WLR_LAYER_SHELL_UNSTABLE_V1_SERVER_PROTOCOL_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pywlroots-0.15.22/wlroots/include/wlr-output-power-management-unstable-v1-protocol.h
new/pywlroots-0.15.24/wlroots/include/wlr-output-power-management-unstable-v1-protocol.h
---
old/pywlroots-0.15.22/wlroots/include/wlr-output-power-management-unstable-v1-protocol.h
2022-09-20 04:17:51.000000000 +0200
+++
new/pywlroots-0.15.24/wlroots/include/wlr-output-power-management-unstable-v1-protocol.h
2022-10-29 04:59:37.000000000 +0200
@@ -1,4 +1,4 @@
-/* Generated by wayland-scanner 1.20.0 */
+/* Generated by wayland-scanner 1.21.0 */
#ifndef WLR_OUTPUT_POWER_MANAGEMENT_UNSTABLE_V1_SERVER_PROTOCOL_H
#define WLR_OUTPUT_POWER_MANAGEMENT_UNSTABLE_V1_SERVER_PROTOCOL_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pywlroots-0.15.22/wlroots/include/xdg-shell-protocol.h
new/pywlroots-0.15.24/wlroots/include/xdg-shell-protocol.h
--- old/pywlroots-0.15.22/wlroots/include/xdg-shell-protocol.h 2022-09-20
04:17:51.000000000 +0200
+++ new/pywlroots-0.15.24/wlroots/include/xdg-shell-protocol.h 2022-10-29
04:59:37.000000000 +0200
@@ -856,6 +856,7 @@
XDG_SURFACE_ERROR_NOT_CONSTRUCTED = 1,
XDG_SURFACE_ERROR_ALREADY_CONSTRUCTED = 2,
XDG_SURFACE_ERROR_UNCONFIGURED_BUFFER = 3,
+ XDG_SURFACE_ERROR_INVALID_SERIAL = 4,
};
#endif /* XDG_SURFACE_ERROR_ENUM */
@@ -967,6 +968,18 @@
* committing, but only the last request sent before a commit
* indicates which configure event the client really is responding
* to.
+ *
+ * Sending an ack_configure request consumes the serial number sent
+ * with the request, as well as serial numbers sent by all
+ * configure events sent on this xdg_surface prior to the configure
+ * event referenced by the committed serial.
+ *
+ * It is an error to issue multiple ack_configure requests
+ * referencing a serial from the same configure event, or to issue
+ * an ack_configure request referencing a serial from a configure
+ * event issued before the event identified by the last
+ * ack_configure request for the same xdg_surface. Doing so will
+ * raise an invalid_serial error.
* @param serial the serial from the configure event
*/
void (*ack_configure)(struct wl_client *client,
@@ -1021,6 +1034,10 @@
* provided value is not a valid variant of the resize_edge enum
*/
XDG_TOPLEVEL_ERROR_INVALID_RESIZE_EDGE = 0,
+ /**
+ * invalid parent toplevel
+ */
+ XDG_TOPLEVEL_ERROR_INVALID_PARENT = 1,
};
#endif /* XDG_TOPLEVEL_ERROR_ENUM */
@@ -1210,6 +1227,10 @@
* has no parent, its children's parent is unset. If the
* now-unmapped surface becomes mapped again, its parent-child
* relationship is not restored.
+ *
+ * The parent toplevel must not be one of the child toplevel's
+ * descendants, and the parent must be different from the child
+ * toplevel, otherwise the invalid_parent protocol error is raised.
*/
void (*set_parent)(struct wl_client *client,
struct wl_resource *resource,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pywlroots-0.15.22/wlroots/version.py
new/pywlroots-0.15.24/wlroots/version.py
--- old/pywlroots-0.15.22/wlroots/version.py 2022-09-20 04:17:51.000000000
+0200
+++ new/pywlroots-0.15.24/wlroots/version.py 2022-10-29 04:59:37.000000000
+0200
@@ -1,3 +1,3 @@
# Copyright (c) Sean Vig 2021
-version = "0.15.22"
+version = "0.15.24"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pywlroots-0.15.22/wlroots/wlr_types/__init__.py
new/pywlroots-0.15.24/wlroots/wlr_types/__init__.py
--- old/pywlroots-0.15.22/wlroots/wlr_types/__init__.py 2022-09-20
04:17:51.000000000 +0200
+++ new/pywlroots-0.15.24/wlroots/wlr_types/__init__.py 2022-10-29
04:59:37.000000000 +0200
@@ -26,6 +26,7 @@
PointerConstraintsV1,
PointerConstraintV1,
)
+from .pointer_gestures_v1 import PointerGesturesV1 # noqa: F401
from .primary_selection_v1 import PrimarySelectionV1DeviceManager # noqa: F401
from .relative_pointer_manager_v1 import RelativePointerManagerV1 # noqa: F401
from .scene import Scene, SceneNode # noqa: F401
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pywlroots-0.15.22/wlroots/wlr_types/cursor.py
new/pywlroots-0.15.24/wlroots/wlr_types/cursor.py
--- old/pywlroots-0.15.22/wlroots/wlr_types/cursor.py 2022-09-20
04:17:51.000000000 +0200
+++ new/pywlroots-0.15.24/wlroots/wlr_types/cursor.py 2022-10-29
04:59:37.000000000 +0200
@@ -19,6 +19,8 @@
PointerEventSwipeBegin,
PointerEventSwipeEnd,
PointerEventSwipeUpdate,
+ PointerEventHoldBegin,
+ PointerEventHoldEnd,
)
from .surface import Surface
from .touch import (
@@ -89,6 +91,14 @@
ptr=ffi.addressof(self._ptr.events.pinch_end),
data_wrapper=PointerEventPinchEnd,
)
+ self.hold_begin = Signal(
+ ptr=ffi.addressof(self._ptr.events.hold_begin),
+ data_wrapper=PointerEventHoldBegin,
+ )
+ self.hold_end = Signal(
+ ptr=ffi.addressof(self._ptr.events.hold_end),
+ data_wrapper=PointerEventHoldEnd,
+ )
self.touch_up_event = Signal(
ptr=ffi.addressof(self._ptr.events.touch_up),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pywlroots-0.15.22/wlroots/wlr_types/data_device_manager.py
new/pywlroots-0.15.24/wlroots/wlr_types/data_device_manager.py
--- old/pywlroots-0.15.22/wlroots/wlr_types/data_device_manager.py
2022-09-20 04:17:51.000000000 +0200
+++ new/pywlroots-0.15.24/wlroots/wlr_types/data_device_manager.py
2022-10-29 04:59:37.000000000 +0200
@@ -37,8 +37,10 @@
self.destroy_event =
Signal(ptr=ffi.addressof(self._ptr.events.destroy))
@property
- def icon(self) -> "DragIcon":
+ def icon(self) -> "DragIcon | None":
icon_ptr = self._ptr.icon
+ if icon_ptr == ffi.NULL:
+ return None
_weakkeydict[icon_ptr] = self._ptr
return DragIcon(icon_ptr)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pywlroots-0.15.22/wlroots/wlr_types/pointer.py
new/pywlroots-0.15.24/wlroots/wlr_types/pointer.py
--- old/pywlroots-0.15.22/wlroots/wlr_types/pointer.py 2022-09-20
04:17:51.000000000 +0200
+++ new/pywlroots-0.15.24/wlroots/wlr_types/pointer.py 2022-10-29
04:59:37.000000000 +0200
@@ -151,32 +151,132 @@
ptr = ffi.cast("struct wlr_event_pointer_swipe_begin *", ptr)
self._ptr = ptr
+ @property
+ def time_msec(self) -> int:
+ return self._ptr.time_msec
+
+ @property
+ def fingers(self) -> int:
+ return self._ptr.fingers
+
class PointerEventSwipeUpdate(Ptr):
def __init__(self, ptr) -> None:
ptr = ffi.cast("struct wlr_event_pointer_swipe_update *", ptr)
self._ptr = ptr
+ @property
+ def time_msec(self) -> int:
+ return self._ptr.time_msec
+
+ @property
+ def fingers(self) -> int:
+ return self._ptr.fingers
+
+ @property
+ def dx(self) -> float:
+ return self._ptr.dx
+
+ @property
+ def dy(self) -> float:
+ return self._ptr.dy
+
class PointerEventSwipeEnd(Ptr):
def __init__(self, ptr) -> None:
ptr = ffi.cast("struct wlr_event_pointer_swipe_end *", ptr)
self._ptr = ptr
+ @property
+ def time_msec(self) -> int:
+ return self._ptr.time_msec
+
+ @property
+ def cancelled(self) -> bool:
+ return self._ptr.cancelled
+
class PointerEventPinchBegin(Ptr):
def __init__(self, ptr) -> None:
ptr = ffi.cast("struct wlr_event_pointer_pinch_begin *", ptr)
self._ptr = ptr
+ @property
+ def time_msec(self) -> int:
+ return self._ptr.time_msec
+
+ @property
+ def fingers(self) -> int:
+ return self._ptr.fingers
+
class PointerEventPinchUpdate(Ptr):
def __init__(self, ptr) -> None:
ptr = ffi.cast("struct wlr_event_pointer_pinch_update *", ptr)
self._ptr = ptr
+ @property
+ def time_msec(self) -> int:
+ return self._ptr.time_msec
+
+ @property
+ def fingers(self) -> int:
+ return self._ptr.fingers
+
+ @property
+ def dx(self) -> float:
+ return self._ptr.dx
+
+ @property
+ def dy(self) -> float:
+ return self._ptr.dy
+
+ @property
+ def scale(self) -> float:
+ return self._ptr.scale
+
+ @property
+ def rotation(self) -> float:
+ return self._ptr.rotation
+
class PointerEventPinchEnd(Ptr):
def __init__(self, ptr) -> None:
ptr = ffi.cast("struct wlr_event_pointer_pinch_end *", ptr)
self._ptr = ptr
+
+ @property
+ def time_msec(self) -> int:
+ return self._ptr.time_msec
+
+ @property
+ def cancelled(self) -> bool:
+ return self._ptr.cancelled
+
+
+class PointerEventHoldBegin(Ptr):
+ def __init__(self, ptr) -> None:
+ ptr = ffi.cast("struct wlr_event_pointer_hold_begin *", ptr)
+ self._ptr = ptr
+
+ @property
+ def time_msec(self) -> int:
+ return self._ptr.time_msec
+
+ @property
+ def fingers(self) -> int:
+ return self._ptr.fingers
+
+
+class PointerEventHoldEnd(Ptr):
+ def __init__(self, ptr) -> None:
+ ptr = ffi.cast("struct wlr_event_pointer_hold_end *", ptr)
+ self._ptr = ptr
+
+ @property
+ def time_msec(self) -> int:
+ return self._ptr.time_msec
+
+ @property
+ def cancelled(self) -> bool:
+ return self._ptr.cancelled
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pywlroots-0.15.22/wlroots/wlr_types/pointer_gestures_v1.py
new/pywlroots-0.15.24/wlroots/wlr_types/pointer_gestures_v1.py
--- old/pywlroots-0.15.22/wlroots/wlr_types/pointer_gestures_v1.py
1970-01-01 01:00:00.000000000 +0100
+++ new/pywlroots-0.15.24/wlroots/wlr_types/pointer_gestures_v1.py
2022-10-29 04:59:37.000000000 +0200
@@ -0,0 +1,104 @@
+# Copyright (c) Matt Colligan 2022
+
+from __future__ import annotations
+
+from typing import TYPE_CHECKING
+
+from pywayland.server import Signal
+
+from wlroots import ffi, lib, PtrHasData
+
+if TYPE_CHECKING:
+ from pywayland.server import Display
+
+ from .seat import Seat
+
+
+class PointerGesturesV1(PtrHasData):
+ def __init__(self, display: Display) -> None:
+ """Manager to relay pointer gestures to clients.
+
+ :param display:
+ The display to relay gestures for.
+ """
+ self._ptr = lib.wlr_pointer_gestures_v1_create(display._ptr)
+
+ self.destroy_event =
Signal(ptr=ffi.addressof(self._ptr.events.destroy))
+
+ def send_swipe_begin(self, seat: Seat, time_msec: int, fingers: int) ->
None:
+ lib.wlr_pointer_gestures_v1_send_swipe_begin(
+ self._ptr,
+ seat._ptr,
+ time_msec,
+ fingers,
+ )
+
+ def send_swipe_update(
+ self, seat: Seat, time_msec: int, dx: float, dy: float
+ ) -> None:
+ lib.wlr_pointer_gestures_v1_send_swipe_update(
+ self._ptr,
+ seat._ptr,
+ time_msec,
+ dx,
+ dy,
+ )
+
+ def send_swipe_end(self, seat: Seat, time_msec: int, cancelled: bool) ->
None:
+ lib.wlr_pointer_gestures_v1_send_swipe_end(
+ self._ptr,
+ seat._ptr,
+ time_msec,
+ cancelled,
+ )
+
+ def send_pinch_begin(self, seat: Seat, time_msec: int, fingers: int) ->
None:
+ lib.wlr_pointer_gestures_v1_send_pinch_begin(
+ self._ptr,
+ seat._ptr,
+ time_msec,
+ fingers,
+ )
+
+ def send_pinch_update(
+ self,
+ seat: Seat,
+ time_msec: int,
+ dx: float,
+ dy: float,
+ scale: float,
+ rotation: float,
+ ) -> None:
+ lib.wlr_pointer_gestures_v1_send_pinch_update(
+ self._ptr,
+ seat._ptr,
+ time_msec,
+ dx,
+ dy,
+ scale,
+ rotation,
+ )
+
+ def send_pinch_end(self, seat: Seat, time_msec: int, cancelled: bool) ->
None:
+ lib.wlr_pointer_gestures_v1_send_pinch_end(
+ self._ptr,
+ seat._ptr,
+ time_msec,
+ cancelled,
+ )
+
+ def send_hold_begin(self, seat: Seat, time_msec: int, fingers: int) ->
None:
+ lib.wlr_pointer_gestures_v1_send_hold_begin(
+ self._ptr,
+ seat._ptr,
+ time_msec,
+ fingers,
+ )
+
+ def send_hold_end(self, seat: Seat, time_msec: int, cancelled: bool) ->
None:
+ lib.wlr_pointer_gestures_v1_send_hold_end(
+ self._ptr,
+ seat._ptr,
+ time_msec,
+ cancelled,
+ )