1// Code generated by wlgen; DO NOT EDIT.
2package tabletv2
3
4import (
5 "fmt"
6 wayland "github.com/bnema/purego-libwayland/protocol/wayland"
7 "github.com/bnema/purego-libwayland/server"
8 "runtime"
9)
10
11var ZwpTabletManagerV2Interface *server.Interface
12var ZwpTabletSeatV2Interface *server.Interface
13var ZwpTabletToolV2Interface *server.Interface
14var ZwpTabletV2Interface *server.Interface
15var ZwpTabletPadRingV2Interface *server.Interface
16var ZwpTabletPadStripV2Interface *server.Interface
17var ZwpTabletPadGroupV2Interface *server.Interface
18var ZwpTabletPadV2Interface *server.Interface
19var ZwpTabletPadDialV2Interface *server.Interface
20
21func init() {
22 ZwpTabletManagerV2Interface = &server.Interface{Name: "zwp_tablet_manager_v2", Version: 2}
23 ZwpTabletSeatV2Interface = &server.Interface{Name: "zwp_tablet_seat_v2", Version: 2}
24 ZwpTabletToolV2Interface = &server.Interface{Name: "zwp_tablet_tool_v2", Version: 2}
25 ZwpTabletV2Interface = &server.Interface{Name: "zwp_tablet_v2", Version: 2}
26 ZwpTabletPadRingV2Interface = &server.Interface{Name: "zwp_tablet_pad_ring_v2", Version: 2}
27 ZwpTabletPadStripV2Interface = &server.Interface{Name: "zwp_tablet_pad_strip_v2", Version: 2}
28 ZwpTabletPadGroupV2Interface = &server.Interface{Name: "zwp_tablet_pad_group_v2", Version: 2}
29 ZwpTabletPadV2Interface = &server.Interface{Name: "zwp_tablet_pad_v2", Version: 2}
30 ZwpTabletPadDialV2Interface = &server.Interface{Name: "zwp_tablet_pad_dial_v2", Version: 2}
31 ZwpTabletManagerV2Interface.Requests = []server.Message{
32 {Name: "get_tablet_seat", Signature: "no", Types: []*server.Interface{ZwpTabletSeatV2Interface, wayland.SeatInterface}},
33 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
34 }
35 ZwpTabletManagerV2Interface.Events = []server.Message{}
36 ZwpTabletSeatV2Interface.Requests = []server.Message{
37 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
38 }
39 ZwpTabletSeatV2Interface.Events = []server.Message{
40 {Name: "tablet_added", Signature: "n", Types: []*server.Interface{ZwpTabletV2Interface}},
41 {Name: "tool_added", Signature: "n", Types: []*server.Interface{ZwpTabletToolV2Interface}},
42 {Name: "pad_added", Signature: "n", Types: []*server.Interface{ZwpTabletPadV2Interface}},
43 }
44 ZwpTabletToolV2Interface.Requests = []server.Message{
45 {Name: "set_cursor", Signature: "u?oii", Types: []*server.Interface{nil, wayland.SurfaceInterface, nil, nil}},
46 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
47 }
48 ZwpTabletToolV2Interface.Events = []server.Message{
49 {Name: "type", Signature: "u", Types: []*server.Interface{nil}},
50 {Name: "hardware_serial", Signature: "uu", Types: []*server.Interface{nil, nil}},
51 {Name: "hardware_id_wacom", Signature: "uu", Types: []*server.Interface{nil, nil}},
52 {Name: "capability", Signature: "u", Types: []*server.Interface{nil}},
53 {Name: "done", Signature: "", Types: []*server.Interface{}},
54 {Name: "removed", Signature: "", Types: []*server.Interface{}},
55 {Name: "proximity_in", Signature: "uoo", Types: []*server.Interface{nil, ZwpTabletV2Interface, wayland.SurfaceInterface}},
56 {Name: "proximity_out", Signature: "", Types: []*server.Interface{}},
57 {Name: "down", Signature: "u", Types: []*server.Interface{nil}},
58 {Name: "up", Signature: "", Types: []*server.Interface{}},
59 {Name: "motion", Signature: "ff", Types: []*server.Interface{nil, nil}},
60 {Name: "pressure", Signature: "u", Types: []*server.Interface{nil}},
61 {Name: "distance", Signature: "u", Types: []*server.Interface{nil}},
62 {Name: "tilt", Signature: "ff", Types: []*server.Interface{nil, nil}},
63 {Name: "rotation", Signature: "f", Types: []*server.Interface{nil}},
64 {Name: "slider", Signature: "i", Types: []*server.Interface{nil}},
65 {Name: "wheel", Signature: "fi", Types: []*server.Interface{nil, nil}},
66 {Name: "button", Signature: "uuu", Types: []*server.Interface{nil, nil, nil}},
67 {Name: "frame", Signature: "u", Types: []*server.Interface{nil}},
68 }
69 ZwpTabletV2Interface.Requests = []server.Message{
70 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
71 }
72 ZwpTabletV2Interface.Events = []server.Message{
73 {Name: "name", Signature: "s", Types: []*server.Interface{nil}},
74 {Name: "id", Signature: "uu", Types: []*server.Interface{nil, nil}},
75 {Name: "path", Signature: "s", Types: []*server.Interface{nil}},
76 {Name: "done", Signature: "", Types: []*server.Interface{}},
77 {Name: "removed", Signature: "", Types: []*server.Interface{}},
78 {Name: "bustype", Signature: "2u", Types: []*server.Interface{nil}},
79 }
80 ZwpTabletPadRingV2Interface.Requests = []server.Message{
81 {Name: "set_feedback", Signature: "su", Types: []*server.Interface{nil, nil}},
82 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
83 }
84 ZwpTabletPadRingV2Interface.Events = []server.Message{
85 {Name: "source", Signature: "u", Types: []*server.Interface{nil}},
86 {Name: "angle", Signature: "f", Types: []*server.Interface{nil}},
87 {Name: "stop", Signature: "", Types: []*server.Interface{}},
88 {Name: "frame", Signature: "u", Types: []*server.Interface{nil}},
89 }
90 ZwpTabletPadStripV2Interface.Requests = []server.Message{
91 {Name: "set_feedback", Signature: "su", Types: []*server.Interface{nil, nil}},
92 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
93 }
94 ZwpTabletPadStripV2Interface.Events = []server.Message{
95 {Name: "source", Signature: "u", Types: []*server.Interface{nil}},
96 {Name: "position", Signature: "u", Types: []*server.Interface{nil}},
97 {Name: "stop", Signature: "", Types: []*server.Interface{}},
98 {Name: "frame", Signature: "u", Types: []*server.Interface{nil}},
99 }
100 ZwpTabletPadGroupV2Interface.Requests = []server.Message{
101 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
102 }
103 ZwpTabletPadGroupV2Interface.Events = []server.Message{
104 {Name: "buttons", Signature: "a", Types: []*server.Interface{nil}},
105 {Name: "ring", Signature: "n", Types: []*server.Interface{ZwpTabletPadRingV2Interface}},
106 {Name: "strip", Signature: "n", Types: []*server.Interface{ZwpTabletPadStripV2Interface}},
107 {Name: "modes", Signature: "u", Types: []*server.Interface{nil}},
108 {Name: "done", Signature: "", Types: []*server.Interface{}},
109 {Name: "mode_switch", Signature: "uuu", Types: []*server.Interface{nil, nil, nil}},
110 {Name: "dial", Signature: "2n", Types: []*server.Interface{ZwpTabletPadDialV2Interface}},
111 }
112 ZwpTabletPadV2Interface.Requests = []server.Message{
113 {Name: "set_feedback", Signature: "usu", Types: []*server.Interface{nil, nil, nil}},
114 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
115 }
116 ZwpTabletPadV2Interface.Events = []server.Message{
117 {Name: "group", Signature: "n", Types: []*server.Interface{ZwpTabletPadGroupV2Interface}},
118 {Name: "path", Signature: "s", Types: []*server.Interface{nil}},
119 {Name: "buttons", Signature: "u", Types: []*server.Interface{nil}},
120 {Name: "done", Signature: "", Types: []*server.Interface{}},
121 {Name: "button", Signature: "uuu", Types: []*server.Interface{nil, nil, nil}},
122 {Name: "enter", Signature: "uoo", Types: []*server.Interface{nil, ZwpTabletV2Interface, wayland.SurfaceInterface}},
123 {Name: "leave", Signature: "uo", Types: []*server.Interface{nil, wayland.SurfaceInterface}},
124 {Name: "removed", Signature: "", Types: []*server.Interface{}},
125 }
126 ZwpTabletPadDialV2Interface.Requests = []server.Message{
127 {Name: "set_feedback", Signature: "su", Types: []*server.Interface{nil, nil}},
128 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
129 }
130 ZwpTabletPadDialV2Interface.Events = []server.Message{
131 {Name: "delta", Signature: "i", Types: []*server.Interface{nil}},
132 {Name: "frame", Signature: "u", Types: []*server.Interface{nil}},
133 }
134 if err := server.NewInterfaces(ZwpTabletManagerV2Interface, ZwpTabletSeatV2Interface, ZwpTabletToolV2Interface, ZwpTabletV2Interface, ZwpTabletPadRingV2Interface, ZwpTabletPadStripV2Interface, ZwpTabletPadGroupV2Interface, ZwpTabletPadV2Interface, ZwpTabletPadDialV2Interface); err != nil {
135 panic(err)
136 }
137}
138
139// ZwpTabletManagerV2 controller object for graphic tablet devices.
140type ZwpTabletManagerV2 struct{ *server.Resource }
141
142func WrapZwpTabletManagerV2(r *server.Resource) *ZwpTabletManagerV2 {
143 if r == nil {
144 return nil
145 }
146 return &ZwpTabletManagerV2{r}
147}
148
149const ZwpTabletManagerV2RequestGetTabletSeat uint32 = 0
150const ZwpTabletManagerV2RequestDestroy uint32 = 1
151
152// ZwpTabletManagerV2Handler handles zwp_tablet_manager_v2 requests.
153type ZwpTabletManagerV2Handler interface {
154 GetTabletSeat(self *ZwpTabletManagerV2, tabletSeat uint32, seat *wayland.Seat)
155 Destroy(self *ZwpTabletManagerV2)
156}
157
158func NewZwpTabletManagerV2(c server.Client, version int32, id uint32, h ZwpTabletManagerV2Handler) (*ZwpTabletManagerV2, error) {
159 if h == nil {
160 return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_tablet_manager_v2")
161 }
162 var self *ZwpTabletManagerV2
163 r, err := c.CreateResource(ZwpTabletManagerV2Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
164 switch opcode {
165 case 0:
166 h.GetTabletSeat(self, args[0].NewID(), wayland.WrapSeat(args[1].Resource()))
167 case 1:
168 h.Destroy(self)
169 self.Destroy()
170 }
171 })
172 if err != nil {
173 return nil, err
174 }
175 self = WrapZwpTabletManagerV2(r)
176 r.Data = self
177 return self, nil
178}
179func NewZwpTabletManagerV2Global(d *server.Display, version int32, bind server.BindFunc) error {
180 return d.CreateGlobal(ZwpTabletManagerV2Interface, version, bind)
181}
182
183// ZwpTabletSeatV2 controller object for graphic tablet devices of a seat.
184type ZwpTabletSeatV2 struct{ *server.Resource }
185
186func WrapZwpTabletSeatV2(r *server.Resource) *ZwpTabletSeatV2 {
187 if r == nil {
188 return nil
189 }
190 return &ZwpTabletSeatV2{r}
191}
192
193const ZwpTabletSeatV2RequestDestroy uint32 = 0
194const ZwpTabletSeatV2EventTabletAdded uint32 = 0
195const ZwpTabletSeatV2EventToolAdded uint32 = 1
196const ZwpTabletSeatV2EventPadAdded uint32 = 2
197
198// ZwpTabletSeatV2Handler handles zwp_tablet_seat_v2 requests.
199type ZwpTabletSeatV2Handler interface {
200 Destroy(self *ZwpTabletSeatV2)
201}
202
203func NewZwpTabletSeatV2(c server.Client, version int32, id uint32, h ZwpTabletSeatV2Handler) (*ZwpTabletSeatV2, error) {
204 if h == nil {
205 return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_tablet_seat_v2")
206 }
207 var self *ZwpTabletSeatV2
208 r, err := c.CreateResource(ZwpTabletSeatV2Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
209 switch opcode {
210 case 0:
211 h.Destroy(self)
212 self.Destroy()
213 }
214 })
215 if err != nil {
216 return nil, err
217 }
218 self = WrapZwpTabletSeatV2(r)
219 r.Data = self
220 return self, nil
221}
222
223// SendTabletAdded new device notification.
224func (self *ZwpTabletSeatV2) SendTabletAdded(id *ZwpTabletV2) {
225 self.PostEvent(ZwpTabletSeatV2EventTabletAdded, server.NewID(resourceOf(id)))
226}
227
228// SendToolAdded a new tool has been used with a tablet.
229func (self *ZwpTabletSeatV2) SendToolAdded(id *ZwpTabletToolV2) {
230 self.PostEvent(ZwpTabletSeatV2EventToolAdded, server.NewID(resourceOf(id)))
231}
232
233// SendPadAdded new pad notification.
234func (self *ZwpTabletSeatV2) SendPadAdded(id *ZwpTabletPadV2) {
235 self.PostEvent(ZwpTabletSeatV2EventPadAdded, server.NewID(resourceOf(id)))
236}
237func NewZwpTabletSeatV2Global(d *server.Display, version int32, bind server.BindFunc) error {
238 return d.CreateGlobal(ZwpTabletSeatV2Interface, version, bind)
239}
240
241// ZwpTabletToolV2 a physical tablet tool.
242type ZwpTabletToolV2 struct{ *server.Resource }
243
244func WrapZwpTabletToolV2(r *server.Resource) *ZwpTabletToolV2 {
245 if r == nil {
246 return nil
247 }
248 return &ZwpTabletToolV2{r}
249}
250
251const ZwpTabletToolV2RequestSetCursor uint32 = 0
252const ZwpTabletToolV2RequestDestroy uint32 = 1
253const ZwpTabletToolV2EventType uint32 = 0
254const ZwpTabletToolV2EventHardwareSerial uint32 = 1
255const ZwpTabletToolV2EventHardwareIdWacom uint32 = 2
256const ZwpTabletToolV2EventCapability uint32 = 3
257const ZwpTabletToolV2EventDone uint32 = 4
258const ZwpTabletToolV2EventRemoved uint32 = 5
259const ZwpTabletToolV2EventProximityIn uint32 = 6
260const ZwpTabletToolV2EventProximityOut uint32 = 7
261const ZwpTabletToolV2EventDown uint32 = 8
262const ZwpTabletToolV2EventUp uint32 = 9
263const ZwpTabletToolV2EventMotion uint32 = 10
264const ZwpTabletToolV2EventPressure uint32 = 11
265const ZwpTabletToolV2EventDistance uint32 = 12
266const ZwpTabletToolV2EventTilt uint32 = 13
267const ZwpTabletToolV2EventRotation uint32 = 14
268const ZwpTabletToolV2EventSlider uint32 = 15
269const ZwpTabletToolV2EventWheel uint32 = 16
270const ZwpTabletToolV2EventButton uint32 = 17
271const ZwpTabletToolV2EventFrame uint32 = 18
272
273// ZwpTabletToolV2Type a physical tool type.
274type ZwpTabletToolV2Type uint32
275
276const (
277 ZwpTabletToolV2TypePen ZwpTabletToolV2Type = 0x140
278 ZwpTabletToolV2TypeEraser ZwpTabletToolV2Type = 0x141
279 ZwpTabletToolV2TypeBrush ZwpTabletToolV2Type = 0x142
280 ZwpTabletToolV2TypePencil ZwpTabletToolV2Type = 0x143
281 ZwpTabletToolV2TypeAirbrush ZwpTabletToolV2Type = 0x144
282 ZwpTabletToolV2TypeFinger ZwpTabletToolV2Type = 0x145
283 ZwpTabletToolV2TypeMouse ZwpTabletToolV2Type = 0x146
284 ZwpTabletToolV2TypeLens ZwpTabletToolV2Type = 0x147
285)
286
287// ZwpTabletToolV2Capability capability flags for a tool.
288type ZwpTabletToolV2Capability uint32
289
290const (
291 ZwpTabletToolV2CapabilityTilt ZwpTabletToolV2Capability = 1
292 ZwpTabletToolV2CapabilityPressure ZwpTabletToolV2Capability = 2
293 ZwpTabletToolV2CapabilityDistance ZwpTabletToolV2Capability = 3
294 ZwpTabletToolV2CapabilityRotation ZwpTabletToolV2Capability = 4
295 ZwpTabletToolV2CapabilitySlider ZwpTabletToolV2Capability = 5
296 ZwpTabletToolV2CapabilityWheel ZwpTabletToolV2Capability = 6
297)
298
299// ZwpTabletToolV2ButtonState physical button state.
300type ZwpTabletToolV2ButtonState uint32
301
302const (
303 ZwpTabletToolV2ButtonStateReleased ZwpTabletToolV2ButtonState = 0
304 ZwpTabletToolV2ButtonStatePressed ZwpTabletToolV2ButtonState = 1
305)
306
307// ZwpTabletToolV2Error .
308type ZwpTabletToolV2Error uint32
309
310const (
311 ZwpTabletToolV2ErrorRole ZwpTabletToolV2Error = 0
312)
313
314// ZwpTabletToolV2Handler handles zwp_tablet_tool_v2 requests.
315type ZwpTabletToolV2Handler interface {
316 SetCursor(self *ZwpTabletToolV2, serial uint32, surface *wayland.Surface, hotspotX int32, hotspotY int32)
317 Destroy(self *ZwpTabletToolV2)
318}
319
320func NewZwpTabletToolV2(c server.Client, version int32, id uint32, h ZwpTabletToolV2Handler) (*ZwpTabletToolV2, error) {
321 if h == nil {
322 return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_tablet_tool_v2")
323 }
324 var self *ZwpTabletToolV2
325 r, err := c.CreateResource(ZwpTabletToolV2Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
326 switch opcode {
327 case 0:
328 h.SetCursor(self, args[0].Uint(), wayland.WrapSurface(args[1].Resource()), args[2].Int(), args[3].Int())
329 case 1:
330 h.Destroy(self)
331 self.Destroy()
332 }
333 })
334 if err != nil {
335 return nil, err
336 }
337 self = WrapZwpTabletToolV2(r)
338 r.Data = self
339 return self, nil
340}
341
342// SendType tool type.
343func (self *ZwpTabletToolV2) SendType(toolType uint32) {
344 self.PostEvent(ZwpTabletToolV2EventType, server.Uint(toolType))
345}
346
347// SendHardwareSerial unique hardware serial number of the tool.
348func (self *ZwpTabletToolV2) SendHardwareSerial(hardwareSerialHi uint32, hardwareSerialLo uint32) {
349 self.PostEvent(ZwpTabletToolV2EventHardwareSerial, server.Uint(hardwareSerialHi), server.Uint(hardwareSerialLo))
350}
351
352// SendHardwareIdWacom hardware id notification in Wacom's format.
353func (self *ZwpTabletToolV2) SendHardwareIdWacom(hardwareIdHi uint32, hardwareIdLo uint32) {
354 self.PostEvent(ZwpTabletToolV2EventHardwareIdWacom, server.Uint(hardwareIdHi), server.Uint(hardwareIdLo))
355}
356
357// SendCapability tool capability notification.
358func (self *ZwpTabletToolV2) SendCapability(capability uint32) {
359 self.PostEvent(ZwpTabletToolV2EventCapability, server.Uint(capability))
360}
361
362// SendDone tool description events sequence complete.
363func (self *ZwpTabletToolV2) SendDone() {
364 self.PostEvent(ZwpTabletToolV2EventDone)
365}
366
367// SendRemoved tool removed.
368func (self *ZwpTabletToolV2) SendRemoved() {
369 self.PostEvent(ZwpTabletToolV2EventRemoved)
370}
371
372// SendProximityIn proximity in event.
373func (self *ZwpTabletToolV2) SendProximityIn(serial uint32, tablet *ZwpTabletV2, surface *wayland.Surface) {
374 self.PostEvent(ZwpTabletToolV2EventProximityIn, server.Uint(serial), server.Object(resourceOf(tablet)), server.Object(resourceOf(surface)))
375}
376
377// SendProximityOut proximity out event.
378func (self *ZwpTabletToolV2) SendProximityOut() {
379 self.PostEvent(ZwpTabletToolV2EventProximityOut)
380}
381
382// SendDown tablet tool is making contact.
383func (self *ZwpTabletToolV2) SendDown(serial uint32) {
384 self.PostEvent(ZwpTabletToolV2EventDown, server.Uint(serial))
385}
386
387// SendUp tablet tool is no longer making contact.
388func (self *ZwpTabletToolV2) SendUp() {
389 self.PostEvent(ZwpTabletToolV2EventUp)
390}
391
392// SendMotion motion event.
393func (self *ZwpTabletToolV2) SendMotion(x server.Fixed, y server.Fixed) {
394 self.PostEvent(ZwpTabletToolV2EventMotion, server.FixedArg(x), server.FixedArg(y))
395}
396
397// SendPressure pressure change event.
398func (self *ZwpTabletToolV2) SendPressure(pressure uint32) {
399 self.PostEvent(ZwpTabletToolV2EventPressure, server.Uint(pressure))
400}
401
402// SendDistance distance change event.
403func (self *ZwpTabletToolV2) SendDistance(distance uint32) {
404 self.PostEvent(ZwpTabletToolV2EventDistance, server.Uint(distance))
405}
406
407// SendTilt tilt change event.
408func (self *ZwpTabletToolV2) SendTilt(tiltX server.Fixed, tiltY server.Fixed) {
409 self.PostEvent(ZwpTabletToolV2EventTilt, server.FixedArg(tiltX), server.FixedArg(tiltY))
410}
411
412// SendRotation z-rotation change event.
413func (self *ZwpTabletToolV2) SendRotation(degrees server.Fixed) {
414 self.PostEvent(ZwpTabletToolV2EventRotation, server.FixedArg(degrees))
415}
416
417// SendSlider Slider position change event.
418func (self *ZwpTabletToolV2) SendSlider(position int32) {
419 self.PostEvent(ZwpTabletToolV2EventSlider, server.Int(position))
420}
421
422// SendWheel Wheel delta event.
423func (self *ZwpTabletToolV2) SendWheel(degrees server.Fixed, clicks int32) {
424 self.PostEvent(ZwpTabletToolV2EventWheel, server.FixedArg(degrees), server.Int(clicks))
425}
426
427// SendButton button event.
428func (self *ZwpTabletToolV2) SendButton(serial uint32, button uint32, state uint32) {
429 self.PostEvent(ZwpTabletToolV2EventButton, server.Uint(serial), server.Uint(button), server.Uint(state))
430}
431
432// SendFrame frame event.
433func (self *ZwpTabletToolV2) SendFrame(time uint32) {
434 self.PostEvent(ZwpTabletToolV2EventFrame, server.Uint(time))
435}
436func NewZwpTabletToolV2Global(d *server.Display, version int32, bind server.BindFunc) error {
437 return d.CreateGlobal(ZwpTabletToolV2Interface, version, bind)
438}
439
440// ZwpTabletV2 graphics tablet device.
441type ZwpTabletV2 struct{ *server.Resource }
442
443func WrapZwpTabletV2(r *server.Resource) *ZwpTabletV2 {
444 if r == nil {
445 return nil
446 }
447 return &ZwpTabletV2{r}
448}
449
450const ZwpTabletV2RequestDestroy uint32 = 0
451const ZwpTabletV2EventName uint32 = 0
452const ZwpTabletV2EventId uint32 = 1
453const ZwpTabletV2EventPath uint32 = 2
454const ZwpTabletV2EventDone uint32 = 3
455const ZwpTabletV2EventRemoved uint32 = 4
456const ZwpTabletV2EventBustype uint32 = 5
457
458// ZwpTabletV2Bustype bus type .
459type ZwpTabletV2Bustype uint32
460
461const (
462 ZwpTabletV2BustypeUsb ZwpTabletV2Bustype = 3
463 ZwpTabletV2BustypeBluetooth ZwpTabletV2Bustype = 5
464 ZwpTabletV2BustypeVirtual ZwpTabletV2Bustype = 6
465 ZwpTabletV2BustypeSerial ZwpTabletV2Bustype = 17
466 ZwpTabletV2BustypeI2c ZwpTabletV2Bustype = 24
467)
468
469// ZwpTabletV2Handler handles zwp_tablet_v2 requests.
470type ZwpTabletV2Handler interface {
471 Destroy(self *ZwpTabletV2)
472}
473
474func NewZwpTabletV2(c server.Client, version int32, id uint32, h ZwpTabletV2Handler) (*ZwpTabletV2, error) {
475 if h == nil {
476 return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_tablet_v2")
477 }
478 var self *ZwpTabletV2
479 r, err := c.CreateResource(ZwpTabletV2Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
480 switch opcode {
481 case 0:
482 h.Destroy(self)
483 self.Destroy()
484 }
485 })
486 if err != nil {
487 return nil, err
488 }
489 self = WrapZwpTabletV2(r)
490 r.Data = self
491 return self, nil
492}
493
494// SendName tablet device name.
495func (self *ZwpTabletV2) SendName(name string) {
496 var p runtime.Pinner
497 defer p.Unpin()
498 self.PostEvent(ZwpTabletV2EventName, server.String(&p, name, false))
499}
500
501// SendId tablet device vendor/product id.
502func (self *ZwpTabletV2) SendId(vid uint32, pid uint32) {
503 self.PostEvent(ZwpTabletV2EventId, server.Uint(vid), server.Uint(pid))
504}
505
506// SendPath path to the device.
507func (self *ZwpTabletV2) SendPath(path string) {
508 var p runtime.Pinner
509 defer p.Unpin()
510 self.PostEvent(ZwpTabletV2EventPath, server.String(&p, path, false))
511}
512
513// SendDone tablet description events sequence complete.
514func (self *ZwpTabletV2) SendDone() {
515 self.PostEvent(ZwpTabletV2EventDone)
516}
517
518// SendRemoved tablet removed event.
519func (self *ZwpTabletV2) SendRemoved() {
520 self.PostEvent(ZwpTabletV2EventRemoved)
521}
522
523// SendBustype tablet device bus type (since version 2).
524func (self *ZwpTabletV2) SendBustype(bustype uint32) {
525 self.PostEvent(ZwpTabletV2EventBustype, server.Uint(bustype))
526}
527func NewZwpTabletV2Global(d *server.Display, version int32, bind server.BindFunc) error {
528 return d.CreateGlobal(ZwpTabletV2Interface, version, bind)
529}
530
531// ZwpTabletPadRingV2 pad ring.
532type ZwpTabletPadRingV2 struct{ *server.Resource }
533
534func WrapZwpTabletPadRingV2(r *server.Resource) *ZwpTabletPadRingV2 {
535 if r == nil {
536 return nil
537 }
538 return &ZwpTabletPadRingV2{r}
539}
540
541const ZwpTabletPadRingV2RequestSetFeedback uint32 = 0
542const ZwpTabletPadRingV2RequestDestroy uint32 = 1
543const ZwpTabletPadRingV2EventSource uint32 = 0
544const ZwpTabletPadRingV2EventAngle uint32 = 1
545const ZwpTabletPadRingV2EventStop uint32 = 2
546const ZwpTabletPadRingV2EventFrame uint32 = 3
547
548// ZwpTabletPadRingV2Source ring axis source.
549type ZwpTabletPadRingV2Source uint32
550
551const (
552 ZwpTabletPadRingV2SourceFinger ZwpTabletPadRingV2Source = 1
553)
554
555// ZwpTabletPadRingV2Handler handles zwp_tablet_pad_ring_v2 requests.
556type ZwpTabletPadRingV2Handler interface {
557 SetFeedback(self *ZwpTabletPadRingV2, description string, serial uint32)
558 Destroy(self *ZwpTabletPadRingV2)
559}
560
561func NewZwpTabletPadRingV2(c server.Client, version int32, id uint32, h ZwpTabletPadRingV2Handler) (*ZwpTabletPadRingV2, error) {
562 if h == nil {
563 return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_tablet_pad_ring_v2")
564 }
565 var self *ZwpTabletPadRingV2
566 r, err := c.CreateResource(ZwpTabletPadRingV2Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
567 switch opcode {
568 case 0:
569 h.SetFeedback(self, args[0].String(), args[1].Uint())
570 case 1:
571 h.Destroy(self)
572 self.Destroy()
573 }
574 })
575 if err != nil {
576 return nil, err
577 }
578 self = WrapZwpTabletPadRingV2(r)
579 r.Data = self
580 return self, nil
581}
582
583// SendSource ring event source.
584func (self *ZwpTabletPadRingV2) SendSource(source uint32) {
585 self.PostEvent(ZwpTabletPadRingV2EventSource, server.Uint(source))
586}
587
588// SendAngle angle changed.
589func (self *ZwpTabletPadRingV2) SendAngle(degrees server.Fixed) {
590 self.PostEvent(ZwpTabletPadRingV2EventAngle, server.FixedArg(degrees))
591}
592
593// SendStop interaction stopped.
594func (self *ZwpTabletPadRingV2) SendStop() {
595 self.PostEvent(ZwpTabletPadRingV2EventStop)
596}
597
598// SendFrame end of a ring event sequence.
599func (self *ZwpTabletPadRingV2) SendFrame(time uint32) {
600 self.PostEvent(ZwpTabletPadRingV2EventFrame, server.Uint(time))
601}
602func NewZwpTabletPadRingV2Global(d *server.Display, version int32, bind server.BindFunc) error {
603 return d.CreateGlobal(ZwpTabletPadRingV2Interface, version, bind)
604}
605
606// ZwpTabletPadStripV2 pad strip.
607type ZwpTabletPadStripV2 struct{ *server.Resource }
608
609func WrapZwpTabletPadStripV2(r *server.Resource) *ZwpTabletPadStripV2 {
610 if r == nil {
611 return nil
612 }
613 return &ZwpTabletPadStripV2{r}
614}
615
616const ZwpTabletPadStripV2RequestSetFeedback uint32 = 0
617const ZwpTabletPadStripV2RequestDestroy uint32 = 1
618const ZwpTabletPadStripV2EventSource uint32 = 0
619const ZwpTabletPadStripV2EventPosition uint32 = 1
620const ZwpTabletPadStripV2EventStop uint32 = 2
621const ZwpTabletPadStripV2EventFrame uint32 = 3
622
623// ZwpTabletPadStripV2Source strip axis source.
624type ZwpTabletPadStripV2Source uint32
625
626const (
627 ZwpTabletPadStripV2SourceFinger ZwpTabletPadStripV2Source = 1
628)
629
630// ZwpTabletPadStripV2Handler handles zwp_tablet_pad_strip_v2 requests.
631type ZwpTabletPadStripV2Handler interface {
632 SetFeedback(self *ZwpTabletPadStripV2, description string, serial uint32)
633 Destroy(self *ZwpTabletPadStripV2)
634}
635
636func NewZwpTabletPadStripV2(c server.Client, version int32, id uint32, h ZwpTabletPadStripV2Handler) (*ZwpTabletPadStripV2, error) {
637 if h == nil {
638 return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_tablet_pad_strip_v2")
639 }
640 var self *ZwpTabletPadStripV2
641 r, err := c.CreateResource(ZwpTabletPadStripV2Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
642 switch opcode {
643 case 0:
644 h.SetFeedback(self, args[0].String(), args[1].Uint())
645 case 1:
646 h.Destroy(self)
647 self.Destroy()
648 }
649 })
650 if err != nil {
651 return nil, err
652 }
653 self = WrapZwpTabletPadStripV2(r)
654 r.Data = self
655 return self, nil
656}
657
658// SendSource strip event source.
659func (self *ZwpTabletPadStripV2) SendSource(source uint32) {
660 self.PostEvent(ZwpTabletPadStripV2EventSource, server.Uint(source))
661}
662
663// SendPosition position changed.
664func (self *ZwpTabletPadStripV2) SendPosition(position uint32) {
665 self.PostEvent(ZwpTabletPadStripV2EventPosition, server.Uint(position))
666}
667
668// SendStop interaction stopped.
669func (self *ZwpTabletPadStripV2) SendStop() {
670 self.PostEvent(ZwpTabletPadStripV2EventStop)
671}
672
673// SendFrame end of a strip event sequence.
674func (self *ZwpTabletPadStripV2) SendFrame(time uint32) {
675 self.PostEvent(ZwpTabletPadStripV2EventFrame, server.Uint(time))
676}
677func NewZwpTabletPadStripV2Global(d *server.Display, version int32, bind server.BindFunc) error {
678 return d.CreateGlobal(ZwpTabletPadStripV2Interface, version, bind)
679}
680
681// ZwpTabletPadGroupV2 a set of buttons, rings and strips.
682type ZwpTabletPadGroupV2 struct{ *server.Resource }
683
684func WrapZwpTabletPadGroupV2(r *server.Resource) *ZwpTabletPadGroupV2 {
685 if r == nil {
686 return nil
687 }
688 return &ZwpTabletPadGroupV2{r}
689}
690
691const ZwpTabletPadGroupV2RequestDestroy uint32 = 0
692const ZwpTabletPadGroupV2EventButtons uint32 = 0
693const ZwpTabletPadGroupV2EventRing uint32 = 1
694const ZwpTabletPadGroupV2EventStrip uint32 = 2
695const ZwpTabletPadGroupV2EventModes uint32 = 3
696const ZwpTabletPadGroupV2EventDone uint32 = 4
697const ZwpTabletPadGroupV2EventModeSwitch uint32 = 5
698const ZwpTabletPadGroupV2EventDial uint32 = 6
699
700// ZwpTabletPadGroupV2Handler handles zwp_tablet_pad_group_v2 requests.
701type ZwpTabletPadGroupV2Handler interface {
702 Destroy(self *ZwpTabletPadGroupV2)
703}
704
705func NewZwpTabletPadGroupV2(c server.Client, version int32, id uint32, h ZwpTabletPadGroupV2Handler) (*ZwpTabletPadGroupV2, error) {
706 if h == nil {
707 return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_tablet_pad_group_v2")
708 }
709 var self *ZwpTabletPadGroupV2
710 r, err := c.CreateResource(ZwpTabletPadGroupV2Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
711 switch opcode {
712 case 0:
713 h.Destroy(self)
714 self.Destroy()
715 }
716 })
717 if err != nil {
718 return nil, err
719 }
720 self = WrapZwpTabletPadGroupV2(r)
721 r.Data = self
722 return self, nil
723}
724
725// SendButtons buttons announced.
726func (self *ZwpTabletPadGroupV2) SendButtons(buttons []byte) {
727 var p runtime.Pinner
728 defer p.Unpin()
729 self.PostEvent(ZwpTabletPadGroupV2EventButtons, server.Array(&p, buttons))
730}
731
732// SendRing ring announced.
733func (self *ZwpTabletPadGroupV2) SendRing(ring *ZwpTabletPadRingV2) {
734 self.PostEvent(ZwpTabletPadGroupV2EventRing, server.NewID(resourceOf(ring)))
735}
736
737// SendStrip strip announced.
738func (self *ZwpTabletPadGroupV2) SendStrip(strip *ZwpTabletPadStripV2) {
739 self.PostEvent(ZwpTabletPadGroupV2EventStrip, server.NewID(resourceOf(strip)))
740}
741
742// SendModes mode-switch ability announced.
743func (self *ZwpTabletPadGroupV2) SendModes(modes uint32) {
744 self.PostEvent(ZwpTabletPadGroupV2EventModes, server.Uint(modes))
745}
746
747// SendDone tablet group description events sequence complete.
748func (self *ZwpTabletPadGroupV2) SendDone() {
749 self.PostEvent(ZwpTabletPadGroupV2EventDone)
750}
751
752// SendModeSwitch mode switch event.
753func (self *ZwpTabletPadGroupV2) SendModeSwitch(time uint32, serial uint32, mode uint32) {
754 self.PostEvent(ZwpTabletPadGroupV2EventModeSwitch, server.Uint(time), server.Uint(serial), server.Uint(mode))
755}
756
757// SendDial dial announced (since version 2).
758func (self *ZwpTabletPadGroupV2) SendDial(dial *ZwpTabletPadDialV2) {
759 self.PostEvent(ZwpTabletPadGroupV2EventDial, server.NewID(resourceOf(dial)))
760}
761func NewZwpTabletPadGroupV2Global(d *server.Display, version int32, bind server.BindFunc) error {
762 return d.CreateGlobal(ZwpTabletPadGroupV2Interface, version, bind)
763}
764
765// ZwpTabletPadV2 a set of buttons, rings, strips and dials.
766type ZwpTabletPadV2 struct{ *server.Resource }
767
768func WrapZwpTabletPadV2(r *server.Resource) *ZwpTabletPadV2 {
769 if r == nil {
770 return nil
771 }
772 return &ZwpTabletPadV2{r}
773}
774
775const ZwpTabletPadV2RequestSetFeedback uint32 = 0
776const ZwpTabletPadV2RequestDestroy uint32 = 1
777const ZwpTabletPadV2EventGroup uint32 = 0
778const ZwpTabletPadV2EventPath uint32 = 1
779const ZwpTabletPadV2EventButtons uint32 = 2
780const ZwpTabletPadV2EventDone uint32 = 3
781const ZwpTabletPadV2EventButton uint32 = 4
782const ZwpTabletPadV2EventEnter uint32 = 5
783const ZwpTabletPadV2EventLeave uint32 = 6
784const ZwpTabletPadV2EventRemoved uint32 = 7
785
786// ZwpTabletPadV2ButtonState physical button state.
787type ZwpTabletPadV2ButtonState uint32
788
789const (
790 ZwpTabletPadV2ButtonStateReleased ZwpTabletPadV2ButtonState = 0
791 ZwpTabletPadV2ButtonStatePressed ZwpTabletPadV2ButtonState = 1
792)
793
794// ZwpTabletPadV2Handler handles zwp_tablet_pad_v2 requests.
795type ZwpTabletPadV2Handler interface {
796 SetFeedback(self *ZwpTabletPadV2, button uint32, description string, serial uint32)
797 Destroy(self *ZwpTabletPadV2)
798}
799
800func NewZwpTabletPadV2(c server.Client, version int32, id uint32, h ZwpTabletPadV2Handler) (*ZwpTabletPadV2, error) {
801 if h == nil {
802 return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_tablet_pad_v2")
803 }
804 var self *ZwpTabletPadV2
805 r, err := c.CreateResource(ZwpTabletPadV2Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
806 switch opcode {
807 case 0:
808 h.SetFeedback(self, args[0].Uint(), args[1].String(), args[2].Uint())
809 case 1:
810 h.Destroy(self)
811 self.Destroy()
812 }
813 })
814 if err != nil {
815 return nil, err
816 }
817 self = WrapZwpTabletPadV2(r)
818 r.Data = self
819 return self, nil
820}
821
822// SendGroup group announced.
823func (self *ZwpTabletPadV2) SendGroup(padGroup *ZwpTabletPadGroupV2) {
824 self.PostEvent(ZwpTabletPadV2EventGroup, server.NewID(resourceOf(padGroup)))
825}
826
827// SendPath path to the device.
828func (self *ZwpTabletPadV2) SendPath(path string) {
829 var p runtime.Pinner
830 defer p.Unpin()
831 self.PostEvent(ZwpTabletPadV2EventPath, server.String(&p, path, false))
832}
833
834// SendButtons buttons announced.
835func (self *ZwpTabletPadV2) SendButtons(buttons uint32) {
836 self.PostEvent(ZwpTabletPadV2EventButtons, server.Uint(buttons))
837}
838
839// SendDone pad description event sequence complete.
840func (self *ZwpTabletPadV2) SendDone() {
841 self.PostEvent(ZwpTabletPadV2EventDone)
842}
843
844// SendButton physical button state.
845func (self *ZwpTabletPadV2) SendButton(time uint32, button uint32, state uint32) {
846 self.PostEvent(ZwpTabletPadV2EventButton, server.Uint(time), server.Uint(button), server.Uint(state))
847}
848
849// SendEnter enter event.
850func (self *ZwpTabletPadV2) SendEnter(serial uint32, tablet *ZwpTabletV2, surface *wayland.Surface) {
851 self.PostEvent(ZwpTabletPadV2EventEnter, server.Uint(serial), server.Object(resourceOf(tablet)), server.Object(resourceOf(surface)))
852}
853
854// SendLeave leave event.
855func (self *ZwpTabletPadV2) SendLeave(serial uint32, surface *wayland.Surface) {
856 self.PostEvent(ZwpTabletPadV2EventLeave, server.Uint(serial), server.Object(resourceOf(surface)))
857}
858
859// SendRemoved pad removed event.
860func (self *ZwpTabletPadV2) SendRemoved() {
861 self.PostEvent(ZwpTabletPadV2EventRemoved)
862}
863func NewZwpTabletPadV2Global(d *server.Display, version int32, bind server.BindFunc) error {
864 return d.CreateGlobal(ZwpTabletPadV2Interface, version, bind)
865}
866
867// ZwpTabletPadDialV2 pad dial.
868type ZwpTabletPadDialV2 struct{ *server.Resource }
869
870func WrapZwpTabletPadDialV2(r *server.Resource) *ZwpTabletPadDialV2 {
871 if r == nil {
872 return nil
873 }
874 return &ZwpTabletPadDialV2{r}
875}
876
877const ZwpTabletPadDialV2RequestSetFeedback uint32 = 0
878const ZwpTabletPadDialV2RequestDestroy uint32 = 1
879const ZwpTabletPadDialV2EventDelta uint32 = 0
880const ZwpTabletPadDialV2EventFrame uint32 = 1
881
882// ZwpTabletPadDialV2Handler handles zwp_tablet_pad_dial_v2 requests.
883type ZwpTabletPadDialV2Handler interface {
884 SetFeedback(self *ZwpTabletPadDialV2, description string, serial uint32)
885 Destroy(self *ZwpTabletPadDialV2)
886}
887
888func NewZwpTabletPadDialV2(c server.Client, version int32, id uint32, h ZwpTabletPadDialV2Handler) (*ZwpTabletPadDialV2, error) {
889 if h == nil {
890 return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_tablet_pad_dial_v2")
891 }
892 var self *ZwpTabletPadDialV2
893 r, err := c.CreateResource(ZwpTabletPadDialV2Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
894 switch opcode {
895 case 0:
896 h.SetFeedback(self, args[0].String(), args[1].Uint())
897 case 1:
898 h.Destroy(self)
899 self.Destroy()
900 }
901 })
902 if err != nil {
903 return nil, err
904 }
905 self = WrapZwpTabletPadDialV2(r)
906 r.Data = self
907 return self, nil
908}
909
910// SendDelta delta movement.
911func (self *ZwpTabletPadDialV2) SendDelta(value120 int32) {
912 self.PostEvent(ZwpTabletPadDialV2EventDelta, server.Int(value120))
913}
914
915// SendFrame end of a dial event sequence.
916func (self *ZwpTabletPadDialV2) SendFrame(time uint32) {
917 self.PostEvent(ZwpTabletPadDialV2EventFrame, server.Uint(time))
918}
919func NewZwpTabletPadDialV2Global(d *server.Display, version int32, bind server.BindFunc) error {
920 return d.CreateGlobal(ZwpTabletPadDialV2Interface, version, bind)
921}
922func resourceOf(v interface{ GetResource() *server.Resource }) *server.Resource {
923 if v == nil {
924 return nil
925 }
926 return v.GetResource()
927}
928func (self *ZwpTabletManagerV2) GetResource() *server.Resource {
929 if self == nil {
930 return nil
931 }
932 return self.Resource
933}
934func (self *ZwpTabletSeatV2) GetResource() *server.Resource {
935 if self == nil {
936 return nil
937 }
938 return self.Resource
939}
940func (self *ZwpTabletToolV2) GetResource() *server.Resource {
941 if self == nil {
942 return nil
943 }
944 return self.Resource
945}
946func (self *ZwpTabletV2) GetResource() *server.Resource {
947 if self == nil {
948 return nil
949 }
950 return self.Resource
951}
952func (self *ZwpTabletPadRingV2) GetResource() *server.Resource {
953 if self == nil {
954 return nil
955 }
956 return self.Resource
957}
958func (self *ZwpTabletPadStripV2) GetResource() *server.Resource {
959 if self == nil {
960 return nil
961 }
962 return self.Resource
963}
964func (self *ZwpTabletPadGroupV2) GetResource() *server.Resource {
965 if self == nil {
966 return nil
967 }
968 return self.Resource
969}
970func (self *ZwpTabletPadV2) GetResource() *server.Resource {
971 if self == nil {
972 return nil
973 }
974 return self.Resource
975}
976func (self *ZwpTabletPadDialV2) GetResource() *server.Resource {
977 if self == nil {
978 return nil
979 }
980 return self.Resource
981}