1// Code generated by wlbgen; DO NOT EDIT.
2
3// Upstream protocol copyright and license:
4// Copyright © 2015, 2021 Red Hat Inc.
5//
6// Permission to use, copy, modify, distribute, and sell this
7// software and its documentation for any purpose is hereby granted
8// without fee, provided that the above copyright notice appear in
9// all copies and that both that copyright notice and this permission
10// notice appear in supporting documentation, and that the name of
11// the copyright holders not be used in advertising or publicity
12// pertaining to distribution of the software without specific,
13// written prior permission. The copyright holders make no
14// representations about the suitability of this software for any
15// purpose. It is provided "as is" without express or implied
16// warranty.
17//
18// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
19// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
20// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
21// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
22// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
23// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
24// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
25// THIS SOFTWARE.
26
27package pointergestures
28
29import (
30 "fmt"
31 wayland "github.com/bnema/go-wayland-bindings/server/wayland"
32 "github.com/bnema/purego-libwayland/server"
33)
34
35var ZwpPointerGesturesV1Interface *server.Interface
36var ZwpPointerGestureSwipeV1Interface *server.Interface
37var ZwpPointerGesturePinchV1Interface *server.Interface
38var ZwpPointerGestureHoldV1Interface *server.Interface
39
40func init() {
41 ZwpPointerGesturesV1Interface = &server.Interface{Name: "zwp_pointer_gestures_v1", Version: 3}
42 ZwpPointerGestureSwipeV1Interface = &server.Interface{Name: "zwp_pointer_gesture_swipe_v1", Version: 3}
43 ZwpPointerGesturePinchV1Interface = &server.Interface{Name: "zwp_pointer_gesture_pinch_v1", Version: 3}
44 ZwpPointerGestureHoldV1Interface = &server.Interface{Name: "zwp_pointer_gesture_hold_v1", Version: 3}
45 ZwpPointerGesturesV1Interface.Requests = []server.Message{
46 {Name: "get_swipe_gesture", Signature: "no", Types: []*server.Interface{ZwpPointerGestureSwipeV1Interface, wayland.PointerInterface}},
47 {Name: "get_pinch_gesture", Signature: "no", Types: []*server.Interface{ZwpPointerGesturePinchV1Interface, wayland.PointerInterface}},
48 {Name: "release", Signature: "2", Types: []*server.Interface{}},
49 {Name: "get_hold_gesture", Signature: "3no", Types: []*server.Interface{ZwpPointerGestureHoldV1Interface, wayland.PointerInterface}},
50 }
51 ZwpPointerGesturesV1Interface.Events = []server.Message{}
52 ZwpPointerGestureSwipeV1Interface.Requests = []server.Message{
53 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
54 }
55 ZwpPointerGestureSwipeV1Interface.Events = []server.Message{
56 {Name: "begin", Signature: "uuou", Types: []*server.Interface{nil, nil, wayland.SurfaceInterface, nil}},
57 {Name: "update", Signature: "uff", Types: []*server.Interface{nil, nil, nil}},
58 {Name: "end", Signature: "uui", Types: []*server.Interface{nil, nil, nil}},
59 }
60 ZwpPointerGesturePinchV1Interface.Requests = []server.Message{
61 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
62 }
63 ZwpPointerGesturePinchV1Interface.Events = []server.Message{
64 {Name: "begin", Signature: "uuou", Types: []*server.Interface{nil, nil, wayland.SurfaceInterface, nil}},
65 {Name: "update", Signature: "uffff", Types: []*server.Interface{nil, nil, nil, nil, nil}},
66 {Name: "end", Signature: "uui", Types: []*server.Interface{nil, nil, nil}},
67 }
68 ZwpPointerGestureHoldV1Interface.Requests = []server.Message{
69 {Name: "destroy", Signature: "3", Types: []*server.Interface{}},
70 }
71 ZwpPointerGestureHoldV1Interface.Events = []server.Message{
72 {Name: "begin", Signature: "3uuou", Types: []*server.Interface{nil, nil, wayland.SurfaceInterface, nil}},
73 {Name: "end", Signature: "3uui", Types: []*server.Interface{nil, nil, nil}},
74 }
75 if err := server.NewInterfaces(ZwpPointerGesturesV1Interface, ZwpPointerGestureSwipeV1Interface, ZwpPointerGesturePinchV1Interface, ZwpPointerGestureHoldV1Interface); err != nil {
76 panic(err)
77 }
78}
79
80// ZwpPointerGesturesV1 touchpad gestures.
81type ZwpPointerGesturesV1 struct{ *server.Resource }
82
83func WrapZwpPointerGesturesV1(r *server.Resource) *ZwpPointerGesturesV1 {
84 if r == nil {
85 return nil
86 }
87 return &ZwpPointerGesturesV1{r}
88}
89
90const ZwpPointerGesturesV1RequestGetSwipeGesture uint32 = 0
91const ZwpPointerGesturesV1RequestGetPinchGesture uint32 = 1
92const ZwpPointerGesturesV1RequestRelease uint32 = 2
93const ZwpPointerGesturesV1RequestGetHoldGesture uint32 = 3
94
95// ZwpPointerGesturesV1Handler handles zwp_pointer_gestures_v1 requests.
96type ZwpPointerGesturesV1Handler interface {
97 GetSwipeGesture(self *ZwpPointerGesturesV1, id uint32, pointer *wayland.Pointer)
98 GetPinchGesture(self *ZwpPointerGesturesV1, id uint32, pointer *wayland.Pointer)
99 Release(self *ZwpPointerGesturesV1)
100 GetHoldGesture(self *ZwpPointerGesturesV1, id uint32, pointer *wayland.Pointer)
101}
102
103func NewZwpPointerGesturesV1(c server.Client, version int32, id uint32, h ZwpPointerGesturesV1Handler) (*ZwpPointerGesturesV1, error) {
104 if h == nil {
105 return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_pointer_gestures_v1")
106 }
107 var self *ZwpPointerGesturesV1
108 r, err := c.CreateResource(ZwpPointerGesturesV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
109 switch opcode {
110 case 0:
111 h.GetSwipeGesture(self, args[0].NewID(), wayland.WrapPointer(args[1].Resource()))
112 case 1:
113 h.GetPinchGesture(self, args[0].NewID(), wayland.WrapPointer(args[1].Resource()))
114 case 2:
115 h.Release(self)
116 self.Destroy()
117 case 3:
118 h.GetHoldGesture(self, args[0].NewID(), wayland.WrapPointer(args[1].Resource()))
119 }
120 })
121 if err != nil {
122 return nil, err
123 }
124 self = WrapZwpPointerGesturesV1(r)
125 r.Data = self
126 return self, nil
127}
128func NewZwpPointerGesturesV1Global(d *server.Display, version int32, bind server.BindFunc) error {
129 return d.CreateGlobal(ZwpPointerGesturesV1Interface, version, bind)
130}
131
132// ZwpPointerGestureSwipeV1 a swipe gesture object.
133type ZwpPointerGestureSwipeV1 struct{ *server.Resource }
134
135func WrapZwpPointerGestureSwipeV1(r *server.Resource) *ZwpPointerGestureSwipeV1 {
136 if r == nil {
137 return nil
138 }
139 return &ZwpPointerGestureSwipeV1{r}
140}
141
142const ZwpPointerGestureSwipeV1RequestDestroy uint32 = 0
143const ZwpPointerGestureSwipeV1EventBegin uint32 = 0
144const ZwpPointerGestureSwipeV1EventUpdate uint32 = 1
145const ZwpPointerGestureSwipeV1EventEnd uint32 = 2
146
147// ZwpPointerGestureSwipeV1Handler handles zwp_pointer_gesture_swipe_v1 requests.
148type ZwpPointerGestureSwipeV1Handler interface {
149 Destroy(self *ZwpPointerGestureSwipeV1)
150}
151
152func NewZwpPointerGestureSwipeV1(c server.Client, version int32, id uint32, h ZwpPointerGestureSwipeV1Handler) (*ZwpPointerGestureSwipeV1, error) {
153 if h == nil {
154 return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_pointer_gesture_swipe_v1")
155 }
156 var self *ZwpPointerGestureSwipeV1
157 r, err := c.CreateResource(ZwpPointerGestureSwipeV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
158 switch opcode {
159 case 0:
160 h.Destroy(self)
161 self.Destroy()
162 }
163 })
164 if err != nil {
165 return nil, err
166 }
167 self = WrapZwpPointerGestureSwipeV1(r)
168 r.Data = self
169 return self, nil
170}
171
172// SendBegin multi-finger swipe begin.
173func (self *ZwpPointerGestureSwipeV1) SendBegin(serial uint32, time uint32, surface *wayland.Surface, fingers uint32) {
174 self.PostEvent(ZwpPointerGestureSwipeV1EventBegin, server.Uint(serial), server.Uint(time), server.Object(resourceOf(surface)), server.Uint(fingers))
175}
176
177// SendUpdate multi-finger swipe motion.
178func (self *ZwpPointerGestureSwipeV1) SendUpdate(time uint32, dx server.Fixed, dy server.Fixed) {
179 self.PostEvent(ZwpPointerGestureSwipeV1EventUpdate, server.Uint(time), server.FixedArg(dx), server.FixedArg(dy))
180}
181
182// SendEnd multi-finger swipe end.
183func (self *ZwpPointerGestureSwipeV1) SendEnd(serial uint32, time uint32, cancelled int32) {
184 self.PostEvent(ZwpPointerGestureSwipeV1EventEnd, server.Uint(serial), server.Uint(time), server.Int(cancelled))
185}
186func NewZwpPointerGestureSwipeV1Global(d *server.Display, version int32, bind server.BindFunc) error {
187 return d.CreateGlobal(ZwpPointerGestureSwipeV1Interface, version, bind)
188}
189
190// ZwpPointerGesturePinchV1 a pinch gesture object.
191type ZwpPointerGesturePinchV1 struct{ *server.Resource }
192
193func WrapZwpPointerGesturePinchV1(r *server.Resource) *ZwpPointerGesturePinchV1 {
194 if r == nil {
195 return nil
196 }
197 return &ZwpPointerGesturePinchV1{r}
198}
199
200const ZwpPointerGesturePinchV1RequestDestroy uint32 = 0
201const ZwpPointerGesturePinchV1EventBegin uint32 = 0
202const ZwpPointerGesturePinchV1EventUpdate uint32 = 1
203const ZwpPointerGesturePinchV1EventEnd uint32 = 2
204
205// ZwpPointerGesturePinchV1Handler handles zwp_pointer_gesture_pinch_v1 requests.
206type ZwpPointerGesturePinchV1Handler interface {
207 Destroy(self *ZwpPointerGesturePinchV1)
208}
209
210func NewZwpPointerGesturePinchV1(c server.Client, version int32, id uint32, h ZwpPointerGesturePinchV1Handler) (*ZwpPointerGesturePinchV1, error) {
211 if h == nil {
212 return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_pointer_gesture_pinch_v1")
213 }
214 var self *ZwpPointerGesturePinchV1
215 r, err := c.CreateResource(ZwpPointerGesturePinchV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
216 switch opcode {
217 case 0:
218 h.Destroy(self)
219 self.Destroy()
220 }
221 })
222 if err != nil {
223 return nil, err
224 }
225 self = WrapZwpPointerGesturePinchV1(r)
226 r.Data = self
227 return self, nil
228}
229
230// SendBegin multi-finger pinch begin.
231func (self *ZwpPointerGesturePinchV1) SendBegin(serial uint32, time uint32, surface *wayland.Surface, fingers uint32) {
232 self.PostEvent(ZwpPointerGesturePinchV1EventBegin, server.Uint(serial), server.Uint(time), server.Object(resourceOf(surface)), server.Uint(fingers))
233}
234
235// SendUpdate multi-finger pinch motion.
236func (self *ZwpPointerGesturePinchV1) SendUpdate(time uint32, dx server.Fixed, dy server.Fixed, scale server.Fixed, rotation server.Fixed) {
237 self.PostEvent(ZwpPointerGesturePinchV1EventUpdate, server.Uint(time), server.FixedArg(dx), server.FixedArg(dy), server.FixedArg(scale), server.FixedArg(rotation))
238}
239
240// SendEnd multi-finger pinch end.
241func (self *ZwpPointerGesturePinchV1) SendEnd(serial uint32, time uint32, cancelled int32) {
242 self.PostEvent(ZwpPointerGesturePinchV1EventEnd, server.Uint(serial), server.Uint(time), server.Int(cancelled))
243}
244func NewZwpPointerGesturePinchV1Global(d *server.Display, version int32, bind server.BindFunc) error {
245 return d.CreateGlobal(ZwpPointerGesturePinchV1Interface, version, bind)
246}
247
248// ZwpPointerGestureHoldV1 a hold gesture object.
249type ZwpPointerGestureHoldV1 struct{ *server.Resource }
250
251func WrapZwpPointerGestureHoldV1(r *server.Resource) *ZwpPointerGestureHoldV1 {
252 if r == nil {
253 return nil
254 }
255 return &ZwpPointerGestureHoldV1{r}
256}
257
258const ZwpPointerGestureHoldV1RequestDestroy uint32 = 0
259const ZwpPointerGestureHoldV1EventBegin uint32 = 0
260const ZwpPointerGestureHoldV1EventEnd uint32 = 1
261
262// ZwpPointerGestureHoldV1Handler handles zwp_pointer_gesture_hold_v1 requests.
263type ZwpPointerGestureHoldV1Handler interface {
264 Destroy(self *ZwpPointerGestureHoldV1)
265}
266
267func NewZwpPointerGestureHoldV1(c server.Client, version int32, id uint32, h ZwpPointerGestureHoldV1Handler) (*ZwpPointerGestureHoldV1, error) {
268 if h == nil {
269 return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_pointer_gesture_hold_v1")
270 }
271 var self *ZwpPointerGestureHoldV1
272 r, err := c.CreateResource(ZwpPointerGestureHoldV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
273 switch opcode {
274 case 0:
275 h.Destroy(self)
276 self.Destroy()
277 }
278 })
279 if err != nil {
280 return nil, err
281 }
282 self = WrapZwpPointerGestureHoldV1(r)
283 r.Data = self
284 return self, nil
285}
286
287// SendBegin multi-finger hold begin (since version 3).
288func (self *ZwpPointerGestureHoldV1) SendBegin(serial uint32, time uint32, surface *wayland.Surface, fingers uint32) {
289 self.PostEvent(ZwpPointerGestureHoldV1EventBegin, server.Uint(serial), server.Uint(time), server.Object(resourceOf(surface)), server.Uint(fingers))
290}
291
292// SendEnd multi-finger hold end (since version 3).
293func (self *ZwpPointerGestureHoldV1) SendEnd(serial uint32, time uint32, cancelled int32) {
294 self.PostEvent(ZwpPointerGestureHoldV1EventEnd, server.Uint(serial), server.Uint(time), server.Int(cancelled))
295}
296func NewZwpPointerGestureHoldV1Global(d *server.Display, version int32, bind server.BindFunc) error {
297 return d.CreateGlobal(ZwpPointerGestureHoldV1Interface, version, bind)
298}
299func resourceOf(v interface{ GetResource() *server.Resource }) *server.Resource {
300 if v == nil {
301 return nil
302 }
303 return v.GetResource()
304}
305func (self *ZwpPointerGesturesV1) GetResource() *server.Resource {
306 if self == nil {
307 return nil
308 }
309 return self.Resource
310}
311func (self *ZwpPointerGestureSwipeV1) GetResource() *server.Resource {
312 if self == nil {
313 return nil
314 }
315 return self.Resource
316}
317func (self *ZwpPointerGesturePinchV1) GetResource() *server.Resource {
318 if self == nil {
319 return nil
320 }
321 return self.Resource
322}
323func (self *ZwpPointerGestureHoldV1) GetResource() *server.Resource {
324 if self == nil {
325 return nil
326 }
327 return self.Resource
328}