1// Code generated by wlgen; DO NOT EDIT.
2package pointergestures
3
4import (
5 "fmt"
6 wayland "github.com/bnema/purego-libwayland/protocol/wayland"
7 "github.com/bnema/purego-libwayland/server"
8)
9
10var ZwpPointerGesturesV1Interface *server.Interface
11var ZwpPointerGestureSwipeV1Interface *server.Interface
12var ZwpPointerGesturePinchV1Interface *server.Interface
13var ZwpPointerGestureHoldV1Interface *server.Interface
14
15func init() {
16 ZwpPointerGesturesV1Interface = &server.Interface{Name: "zwp_pointer_gestures_v1", Version: 3}
17 ZwpPointerGestureSwipeV1Interface = &server.Interface{Name: "zwp_pointer_gesture_swipe_v1", Version: 3}
18 ZwpPointerGesturePinchV1Interface = &server.Interface{Name: "zwp_pointer_gesture_pinch_v1", Version: 3}
19 ZwpPointerGestureHoldV1Interface = &server.Interface{Name: "zwp_pointer_gesture_hold_v1", Version: 3}
20 ZwpPointerGesturesV1Interface.Requests = []server.Message{
21 {Name: "get_swipe_gesture", Signature: "no", Types: []*server.Interface{ZwpPointerGestureSwipeV1Interface, wayland.PointerInterface}},
22 {Name: "get_pinch_gesture", Signature: "no", Types: []*server.Interface{ZwpPointerGesturePinchV1Interface, wayland.PointerInterface}},
23 {Name: "release", Signature: "2", Types: []*server.Interface{}},
24 {Name: "get_hold_gesture", Signature: "3no", Types: []*server.Interface{ZwpPointerGestureHoldV1Interface, wayland.PointerInterface}},
25 }
26 ZwpPointerGesturesV1Interface.Events = []server.Message{}
27 ZwpPointerGestureSwipeV1Interface.Requests = []server.Message{
28 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
29 }
30 ZwpPointerGestureSwipeV1Interface.Events = []server.Message{
31 {Name: "begin", Signature: "uuou", Types: []*server.Interface{nil, nil, wayland.SurfaceInterface, nil}},
32 {Name: "update", Signature: "uff", Types: []*server.Interface{nil, nil, nil}},
33 {Name: "end", Signature: "uui", Types: []*server.Interface{nil, nil, nil}},
34 }
35 ZwpPointerGesturePinchV1Interface.Requests = []server.Message{
36 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
37 }
38 ZwpPointerGesturePinchV1Interface.Events = []server.Message{
39 {Name: "begin", Signature: "uuou", Types: []*server.Interface{nil, nil, wayland.SurfaceInterface, nil}},
40 {Name: "update", Signature: "uffff", Types: []*server.Interface{nil, nil, nil, nil, nil}},
41 {Name: "end", Signature: "uui", Types: []*server.Interface{nil, nil, nil}},
42 }
43 ZwpPointerGestureHoldV1Interface.Requests = []server.Message{
44 {Name: "destroy", Signature: "3", Types: []*server.Interface{}},
45 }
46 ZwpPointerGestureHoldV1Interface.Events = []server.Message{
47 {Name: "begin", Signature: "3uuou", Types: []*server.Interface{nil, nil, wayland.SurfaceInterface, nil}},
48 {Name: "end", Signature: "3uui", Types: []*server.Interface{nil, nil, nil}},
49 }
50 if err := server.NewInterfaces(ZwpPointerGesturesV1Interface, ZwpPointerGestureSwipeV1Interface, ZwpPointerGesturePinchV1Interface, ZwpPointerGestureHoldV1Interface); err != nil {
51 panic(err)
52 }
53}
54
55// ZwpPointerGesturesV1 touchpad gestures.
56type ZwpPointerGesturesV1 struct{ *server.Resource }
57
58func WrapZwpPointerGesturesV1(r *server.Resource) *ZwpPointerGesturesV1 {
59 if r == nil {
60 return nil
61 }
62 return &ZwpPointerGesturesV1{r}
63}
64
65const ZwpPointerGesturesV1RequestGetSwipeGesture uint32 = 0
66const ZwpPointerGesturesV1RequestGetPinchGesture uint32 = 1
67const ZwpPointerGesturesV1RequestRelease uint32 = 2
68const ZwpPointerGesturesV1RequestGetHoldGesture uint32 = 3
69
70// ZwpPointerGesturesV1Handler handles zwp_pointer_gestures_v1 requests.
71type ZwpPointerGesturesV1Handler interface {
72 GetSwipeGesture(self *ZwpPointerGesturesV1, id uint32, pointer *wayland.Pointer)
73 GetPinchGesture(self *ZwpPointerGesturesV1, id uint32, pointer *wayland.Pointer)
74 Release(self *ZwpPointerGesturesV1)
75 GetHoldGesture(self *ZwpPointerGesturesV1, id uint32, pointer *wayland.Pointer)
76}
77
78func NewZwpPointerGesturesV1(c server.Client, version int32, id uint32, h ZwpPointerGesturesV1Handler) (*ZwpPointerGesturesV1, error) {
79 if h == nil {
80 return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_pointer_gestures_v1")
81 }
82 var self *ZwpPointerGesturesV1
83 r, err := c.CreateResource(ZwpPointerGesturesV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
84 switch opcode {
85 case 0:
86 h.GetSwipeGesture(self, args[0].NewID(), wayland.WrapPointer(args[1].Resource()))
87 case 1:
88 h.GetPinchGesture(self, args[0].NewID(), wayland.WrapPointer(args[1].Resource()))
89 case 2:
90 h.Release(self)
91 self.Destroy()
92 case 3:
93 h.GetHoldGesture(self, args[0].NewID(), wayland.WrapPointer(args[1].Resource()))
94 }
95 })
96 if err != nil {
97 return nil, err
98 }
99 self = WrapZwpPointerGesturesV1(r)
100 r.Data = self
101 return self, nil
102}
103func NewZwpPointerGesturesV1Global(d *server.Display, version int32, bind server.BindFunc) error {
104 return d.CreateGlobal(ZwpPointerGesturesV1Interface, version, bind)
105}
106
107// ZwpPointerGestureSwipeV1 a swipe gesture object.
108type ZwpPointerGestureSwipeV1 struct{ *server.Resource }
109
110func WrapZwpPointerGestureSwipeV1(r *server.Resource) *ZwpPointerGestureSwipeV1 {
111 if r == nil {
112 return nil
113 }
114 return &ZwpPointerGestureSwipeV1{r}
115}
116
117const ZwpPointerGestureSwipeV1RequestDestroy uint32 = 0
118const ZwpPointerGestureSwipeV1EventBegin uint32 = 0
119const ZwpPointerGestureSwipeV1EventUpdate uint32 = 1
120const ZwpPointerGestureSwipeV1EventEnd uint32 = 2
121
122// ZwpPointerGestureSwipeV1Handler handles zwp_pointer_gesture_swipe_v1 requests.
123type ZwpPointerGestureSwipeV1Handler interface {
124 Destroy(self *ZwpPointerGestureSwipeV1)
125}
126
127func NewZwpPointerGestureSwipeV1(c server.Client, version int32, id uint32, h ZwpPointerGestureSwipeV1Handler) (*ZwpPointerGestureSwipeV1, error) {
128 if h == nil {
129 return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_pointer_gesture_swipe_v1")
130 }
131 var self *ZwpPointerGestureSwipeV1
132 r, err := c.CreateResource(ZwpPointerGestureSwipeV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
133 switch opcode {
134 case 0:
135 h.Destroy(self)
136 self.Destroy()
137 }
138 })
139 if err != nil {
140 return nil, err
141 }
142 self = WrapZwpPointerGestureSwipeV1(r)
143 r.Data = self
144 return self, nil
145}
146
147// SendBegin multi-finger swipe begin.
148func (self *ZwpPointerGestureSwipeV1) SendBegin(serial uint32, time uint32, surface *wayland.Surface, fingers uint32) {
149 self.PostEvent(ZwpPointerGestureSwipeV1EventBegin, server.Uint(serial), server.Uint(time), server.Object(resourceOf(surface)), server.Uint(fingers))
150}
151
152// SendUpdate multi-finger swipe motion.
153func (self *ZwpPointerGestureSwipeV1) SendUpdate(time uint32, dx server.Fixed, dy server.Fixed) {
154 self.PostEvent(ZwpPointerGestureSwipeV1EventUpdate, server.Uint(time), server.FixedArg(dx), server.FixedArg(dy))
155}
156
157// SendEnd multi-finger swipe end.
158func (self *ZwpPointerGestureSwipeV1) SendEnd(serial uint32, time uint32, cancelled int32) {
159 self.PostEvent(ZwpPointerGestureSwipeV1EventEnd, server.Uint(serial), server.Uint(time), server.Int(cancelled))
160}
161func NewZwpPointerGestureSwipeV1Global(d *server.Display, version int32, bind server.BindFunc) error {
162 return d.CreateGlobal(ZwpPointerGestureSwipeV1Interface, version, bind)
163}
164
165// ZwpPointerGesturePinchV1 a pinch gesture object.
166type ZwpPointerGesturePinchV1 struct{ *server.Resource }
167
168func WrapZwpPointerGesturePinchV1(r *server.Resource) *ZwpPointerGesturePinchV1 {
169 if r == nil {
170 return nil
171 }
172 return &ZwpPointerGesturePinchV1{r}
173}
174
175const ZwpPointerGesturePinchV1RequestDestroy uint32 = 0
176const ZwpPointerGesturePinchV1EventBegin uint32 = 0
177const ZwpPointerGesturePinchV1EventUpdate uint32 = 1
178const ZwpPointerGesturePinchV1EventEnd uint32 = 2
179
180// ZwpPointerGesturePinchV1Handler handles zwp_pointer_gesture_pinch_v1 requests.
181type ZwpPointerGesturePinchV1Handler interface {
182 Destroy(self *ZwpPointerGesturePinchV1)
183}
184
185func NewZwpPointerGesturePinchV1(c server.Client, version int32, id uint32, h ZwpPointerGesturePinchV1Handler) (*ZwpPointerGesturePinchV1, error) {
186 if h == nil {
187 return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_pointer_gesture_pinch_v1")
188 }
189 var self *ZwpPointerGesturePinchV1
190 r, err := c.CreateResource(ZwpPointerGesturePinchV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
191 switch opcode {
192 case 0:
193 h.Destroy(self)
194 self.Destroy()
195 }
196 })
197 if err != nil {
198 return nil, err
199 }
200 self = WrapZwpPointerGesturePinchV1(r)
201 r.Data = self
202 return self, nil
203}
204
205// SendBegin multi-finger pinch begin.
206func (self *ZwpPointerGesturePinchV1) SendBegin(serial uint32, time uint32, surface *wayland.Surface, fingers uint32) {
207 self.PostEvent(ZwpPointerGesturePinchV1EventBegin, server.Uint(serial), server.Uint(time), server.Object(resourceOf(surface)), server.Uint(fingers))
208}
209
210// SendUpdate multi-finger pinch motion.
211func (self *ZwpPointerGesturePinchV1) SendUpdate(time uint32, dx server.Fixed, dy server.Fixed, scale server.Fixed, rotation server.Fixed) {
212 self.PostEvent(ZwpPointerGesturePinchV1EventUpdate, server.Uint(time), server.FixedArg(dx), server.FixedArg(dy), server.FixedArg(scale), server.FixedArg(rotation))
213}
214
215// SendEnd multi-finger pinch end.
216func (self *ZwpPointerGesturePinchV1) SendEnd(serial uint32, time uint32, cancelled int32) {
217 self.PostEvent(ZwpPointerGesturePinchV1EventEnd, server.Uint(serial), server.Uint(time), server.Int(cancelled))
218}
219func NewZwpPointerGesturePinchV1Global(d *server.Display, version int32, bind server.BindFunc) error {
220 return d.CreateGlobal(ZwpPointerGesturePinchV1Interface, version, bind)
221}
222
223// ZwpPointerGestureHoldV1 a hold gesture object.
224type ZwpPointerGestureHoldV1 struct{ *server.Resource }
225
226func WrapZwpPointerGestureHoldV1(r *server.Resource) *ZwpPointerGestureHoldV1 {
227 if r == nil {
228 return nil
229 }
230 return &ZwpPointerGestureHoldV1{r}
231}
232
233const ZwpPointerGestureHoldV1RequestDestroy uint32 = 0
234const ZwpPointerGestureHoldV1EventBegin uint32 = 0
235const ZwpPointerGestureHoldV1EventEnd uint32 = 1
236
237// ZwpPointerGestureHoldV1Handler handles zwp_pointer_gesture_hold_v1 requests.
238type ZwpPointerGestureHoldV1Handler interface {
239 Destroy(self *ZwpPointerGestureHoldV1)
240}
241
242func NewZwpPointerGestureHoldV1(c server.Client, version int32, id uint32, h ZwpPointerGestureHoldV1Handler) (*ZwpPointerGestureHoldV1, error) {
243 if h == nil {
244 return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_pointer_gesture_hold_v1")
245 }
246 var self *ZwpPointerGestureHoldV1
247 r, err := c.CreateResource(ZwpPointerGestureHoldV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
248 switch opcode {
249 case 0:
250 h.Destroy(self)
251 self.Destroy()
252 }
253 })
254 if err != nil {
255 return nil, err
256 }
257 self = WrapZwpPointerGestureHoldV1(r)
258 r.Data = self
259 return self, nil
260}
261
262// SendBegin multi-finger hold begin (since version 3).
263func (self *ZwpPointerGestureHoldV1) SendBegin(serial uint32, time uint32, surface *wayland.Surface, fingers uint32) {
264 self.PostEvent(ZwpPointerGestureHoldV1EventBegin, server.Uint(serial), server.Uint(time), server.Object(resourceOf(surface)), server.Uint(fingers))
265}
266
267// SendEnd multi-finger hold end (since version 3).
268func (self *ZwpPointerGestureHoldV1) SendEnd(serial uint32, time uint32, cancelled int32) {
269 self.PostEvent(ZwpPointerGestureHoldV1EventEnd, server.Uint(serial), server.Uint(time), server.Int(cancelled))
270}
271func NewZwpPointerGestureHoldV1Global(d *server.Display, version int32, bind server.BindFunc) error {
272 return d.CreateGlobal(ZwpPointerGestureHoldV1Interface, version, bind)
273}
274func resourceOf(v interface{ GetResource() *server.Resource }) *server.Resource {
275 if v == nil {
276 return nil
277 }
278 return v.GetResource()
279}
280func (self *ZwpPointerGesturesV1) GetResource() *server.Resource {
281 if self == nil {
282 return nil
283 }
284 return self.Resource
285}
286func (self *ZwpPointerGestureSwipeV1) GetResource() *server.Resource {
287 if self == nil {
288 return nil
289 }
290 return self.Resource
291}
292func (self *ZwpPointerGesturePinchV1) GetResource() *server.Resource {
293 if self == nil {
294 return nil
295 }
296 return self.Resource
297}
298func (self *ZwpPointerGestureHoldV1) GetResource() *server.Resource {
299 if self == nil {
300 return nil
301 }
302 return self.Resource
303}