# This file has been autogenerated by the pywayland scanner # Copyright 2014 © Stephen "Lyude" Chandler Paul # Copyright 2015-2016 © Red Hat, Inc. # # Permission is hereby granted, free of charge, to any person # obtaining a copy of this software and associated documentation files # (the "Software"), to deal in the Software without restriction, # including without limitation the rights to use, copy, modify, merge, # publish, distribute, sublicense, and/or sell copies of the Software, # and to permit persons to whom the Software is furnished to do so, # subject to the following conditions: # # The above copyright notice and this permission notice (including the # next paragraph) shall be included in all copies or substantial # portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. from __future__ import annotations from pywayland.protocol_core import ( Argument, ArgumentType, Global, Interface, Proxy, Resource, ) class ZwpTabletV1(Interface): """Graphics tablet device The wp_tablet interface represents one graphics tablet device. The tablet interface itself does not generate events; all events are generated by wp_tablet_tool objects when in proximity above a tablet. A tablet has a number of static characteristics, e.g. device name and pid/vid. These capabilities are sent in an event sequence after the wp_tablet_seat.tablet_added event. This initial event sequence is terminated by a wp_tablet.done event. """ name = "zwp_tablet_v1" version = 1 class ZwpTabletV1Proxy(Proxy[ZwpTabletV1]): interface = ZwpTabletV1 @ZwpTabletV1.request() def destroy(self) -> None: """Destroy the tablet object This destroys the client's resource for this tablet object. """ self._marshal(0) self._destroy() class ZwpTabletV1Resource(Resource): interface = ZwpTabletV1 @ZwpTabletV1.event( Argument(ArgumentType.String), ) def name(self, name: str) -> None: """Tablet device name This event is sent in the initial burst of events before the wp_tablet.done event. :param name: the device name :type name: `ArgumentType.String` """ self._post_event(0, name) @ZwpTabletV1.event( Argument(ArgumentType.Uint), Argument(ArgumentType.Uint), ) def id(self, vid: int, pid: int) -> None: """Tablet device usb vendor/product id This event is sent in the initial burst of events before the wp_tablet.done event. :param vid: USB vendor id :type vid: `ArgumentType.Uint` :param pid: USB product id :type pid: `ArgumentType.Uint` """ self._post_event(1, vid, pid) @ZwpTabletV1.event( Argument(ArgumentType.String), ) def path(self, path: str) -> None: """Path to the device A system-specific device path that indicates which device is behind this wp_tablet. This information may be used to gather additional information about the device, e.g. through libwacom. A device may have more than one device path. If so, multiple wp_tablet.path events are sent. A device may be emulated and not have a device path, and in that case this event will not be sent. The format of the path is unspecified, it may be a device node, a sysfs path, or some other identifier. It is up to the client to identify the string provided. This event is sent in the initial burst of events before the wp_tablet.done event. :param path: path to local device :type path: `ArgumentType.String` """ self._post_event(2, path) @ZwpTabletV1.event() def done(self) -> None: """Tablet description events sequence complete This event is sent immediately to signal the end of the initial burst of descriptive events. A client may consider the static description of the tablet to be complete and finalize initialization of the tablet. """ self._post_event(3) @ZwpTabletV1.event() def removed(self) -> None: """Tablet removed event Sent when the tablet has been removed from the system. When a tablet is removed, some tools may be removed. When this event is received, the client must wp_tablet.destroy the object. """ self._post_event(4) class ZwpTabletV1Global(Global): interface = ZwpTabletV1 ZwpTabletV1._gen_c() ZwpTabletV1.proxy_class = ZwpTabletV1Proxy ZwpTabletV1.resource_class = ZwpTabletV1Resource ZwpTabletV1.global_class = ZwpTabletV1Global