alien-everywhere/shimming/alienkeyboardservice/protocols/pointer_gestures_unstable_v1/zwp_pointer_gesture_hold_v1.py

141 lines
4.6 KiB
Python

# This file has been autogenerated by the pywayland scanner
# Copyright 2015 Sean Vig
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from __future__ import annotations
from pywayland.protocol_core import (
Argument,
ArgumentType,
Global,
Interface,
Proxy,
Resource,
)
from ..wayland import WlSurface
class ZwpPointerGestureHoldV1(Interface):
"""A hold gesture object
A hold gesture object notifies a client about a single- or multi-finger
hold gesture detected on an indirect input device such as a touchpad. The
gesture is usually initiated by one or more fingers being held down without
significant movement. The precise conditions of when such a gesture is
detected are implementation-dependent.
In particular, this gesture may be used to cancel kinetic scrolling.
A hold gesture consists of two stages: begin and end. Unlike pinch and
swipe there is no update stage. There cannot be multiple simultaneous hold,
pinch or swipe gestures on a same pointer/seat, how compositors prevent
these situations is implementation-dependent.
A gesture may be cancelled by the compositor or the hardware. Clients
should not consider performing permanent or irreversible actions until the
end of a gesture has been received.
"""
name = "zwp_pointer_gesture_hold_v1"
version = 3
class ZwpPointerGestureHoldV1Proxy(Proxy[ZwpPointerGestureHoldV1]):
interface = ZwpPointerGestureHoldV1
@ZwpPointerGestureHoldV1.request(version=3)
def destroy(self) -> None:
"""Destroy the hold gesture object
"""
self._marshal(0)
self._destroy()
class ZwpPointerGestureHoldV1Resource(Resource):
interface = ZwpPointerGestureHoldV1
@ZwpPointerGestureHoldV1.event(
Argument(ArgumentType.Uint),
Argument(ArgumentType.Uint),
Argument(ArgumentType.Object, interface=WlSurface),
Argument(ArgumentType.Uint),
version=3,
)
def begin(self, serial: int, time: int, surface: WlSurface, fingers: int) -> None:
"""Multi-finger hold begin
This event is sent when a hold gesture is detected on the device.
:param serial:
:type serial:
`ArgumentType.Uint`
:param time:
timestamp with millisecond granularity
:type time:
`ArgumentType.Uint`
:param surface:
:type surface:
:class:`~pywayland.protocol.wayland.WlSurface`
:param fingers:
number of fingers
:type fingers:
`ArgumentType.Uint`
"""
self._post_event(0, serial, time, surface, fingers)
@ZwpPointerGestureHoldV1.event(
Argument(ArgumentType.Uint),
Argument(ArgumentType.Uint),
Argument(ArgumentType.Int),
version=3,
)
def end(self, serial: int, time: int, cancelled: int) -> None:
"""Multi-finger hold end
This event is sent when a hold gesture ceases to be valid. This may
happen when the holding fingers are lifted or the gesture is cancelled,
for example if the fingers move past an implementation-defined
threshold, the finger count changes or the hold gesture changes into a
different type of gesture.
When a gesture is cancelled, the client may need to undo state changes
caused by this gesture. What causes a gesture to be cancelled is
implementation-dependent.
:param serial:
:type serial:
`ArgumentType.Uint`
:param time:
timestamp with millisecond granularity
:type time:
`ArgumentType.Uint`
:param cancelled:
1 if the gesture was cancelled, 0 otherwise
:type cancelled:
`ArgumentType.Int`
"""
self._post_event(1, serial, time, cancelled)
class ZwpPointerGestureHoldV1Global(Global):
interface = ZwpPointerGestureHoldV1
ZwpPointerGestureHoldV1._gen_c()
ZwpPointerGestureHoldV1.proxy_class = ZwpPointerGestureHoldV1Proxy
ZwpPointerGestureHoldV1.resource_class = ZwpPointerGestureHoldV1Resource
ZwpPointerGestureHoldV1.global_class = ZwpPointerGestureHoldV1Global