1// Code generated by wlgen; DO NOT EDIT.
2package wlrvirtualpointer
3
4import (
5 "fmt"
6 wayland "github.com/bnema/purego-libwayland/protocol/wayland"
7 "github.com/bnema/purego-libwayland/server"
8)
9
10var ZwlrVirtualPointerV1Interface *server.Interface
11var ZwlrVirtualPointerManagerV1Interface *server.Interface
12
13func init() {
14 ZwlrVirtualPointerV1Interface = &server.Interface{Name: "zwlr_virtual_pointer_v1", Version: 2}
15 ZwlrVirtualPointerManagerV1Interface = &server.Interface{Name: "zwlr_virtual_pointer_manager_v1", Version: 2}
16 ZwlrVirtualPointerV1Interface.Requests = []server.Message{
17 {Name: "motion", Signature: "uff", Types: []*server.Interface{nil, nil, nil}},
18 {Name: "motion_absolute", Signature: "uuuuu", Types: []*server.Interface{nil, nil, nil, nil, nil}},
19 {Name: "button", Signature: "uuu", Types: []*server.Interface{nil, nil, nil}},
20 {Name: "axis", Signature: "uuf", Types: []*server.Interface{nil, nil, nil}},
21 {Name: "frame", Signature: "", Types: []*server.Interface{}},
22 {Name: "axis_source", Signature: "u", Types: []*server.Interface{nil}},
23 {Name: "axis_stop", Signature: "uu", Types: []*server.Interface{nil, nil}},
24 {Name: "axis_discrete", Signature: "uufi", Types: []*server.Interface{nil, nil, nil, nil}},
25 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
26 }
27 ZwlrVirtualPointerV1Interface.Events = []server.Message{}
28 ZwlrVirtualPointerManagerV1Interface.Requests = []server.Message{
29 {Name: "create_virtual_pointer", Signature: "?on", Types: []*server.Interface{wayland.SeatInterface, ZwlrVirtualPointerV1Interface}},
30 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
31 {Name: "create_virtual_pointer_with_output", Signature: "2?o?on", Types: []*server.Interface{wayland.SeatInterface, wayland.OutputInterface, ZwlrVirtualPointerV1Interface}},
32 }
33 ZwlrVirtualPointerManagerV1Interface.Events = []server.Message{}
34 if err := server.NewInterfaces(ZwlrVirtualPointerV1Interface, ZwlrVirtualPointerManagerV1Interface); err != nil {
35 panic(err)
36 }
37}
38
39// ZwlrVirtualPointerV1 virtual pointer.
40type ZwlrVirtualPointerV1 struct{ *server.Resource }
41
42func WrapZwlrVirtualPointerV1(r *server.Resource) *ZwlrVirtualPointerV1 {
43 if r == nil {
44 return nil
45 }
46 return &ZwlrVirtualPointerV1{r}
47}
48
49const ZwlrVirtualPointerV1RequestMotion uint32 = 0
50const ZwlrVirtualPointerV1RequestMotionAbsolute uint32 = 1
51const ZwlrVirtualPointerV1RequestButton uint32 = 2
52const ZwlrVirtualPointerV1RequestAxis uint32 = 3
53const ZwlrVirtualPointerV1RequestFrame uint32 = 4
54const ZwlrVirtualPointerV1RequestAxisSource uint32 = 5
55const ZwlrVirtualPointerV1RequestAxisStop uint32 = 6
56const ZwlrVirtualPointerV1RequestAxisDiscrete uint32 = 7
57const ZwlrVirtualPointerV1RequestDestroy uint32 = 8
58
59// ZwlrVirtualPointerV1Error .
60type ZwlrVirtualPointerV1Error uint32
61
62const (
63 ZwlrVirtualPointerV1ErrorInvalidAxis ZwlrVirtualPointerV1Error = 0
64 ZwlrVirtualPointerV1ErrorInvalidAxisSource ZwlrVirtualPointerV1Error = 1
65)
66
67// ZwlrVirtualPointerV1Handler handles zwlr_virtual_pointer_v1 requests.
68type ZwlrVirtualPointerV1Handler interface {
69 Motion(self *ZwlrVirtualPointerV1, time uint32, dx server.Fixed, dy server.Fixed)
70 MotionAbsolute(self *ZwlrVirtualPointerV1, time uint32, x uint32, y uint32, xExtent uint32, yExtent uint32)
71 Button(self *ZwlrVirtualPointerV1, time uint32, button uint32, state uint32)
72 Axis(self *ZwlrVirtualPointerV1, time uint32, axis uint32, value server.Fixed)
73 Frame(self *ZwlrVirtualPointerV1)
74 AxisSource(self *ZwlrVirtualPointerV1, axisSource uint32)
75 AxisStop(self *ZwlrVirtualPointerV1, time uint32, axis uint32)
76 AxisDiscrete(self *ZwlrVirtualPointerV1, time uint32, axis uint32, value server.Fixed, discrete int32)
77 Destroy(self *ZwlrVirtualPointerV1)
78}
79
80func NewZwlrVirtualPointerV1(c server.Client, version int32, id uint32, h ZwlrVirtualPointerV1Handler) (*ZwlrVirtualPointerV1, error) {
81 if h == nil {
82 return nil, fmt.Errorf("purego-libwayland: nil handler for zwlr_virtual_pointer_v1")
83 }
84 var self *ZwlrVirtualPointerV1
85 r, err := c.CreateResource(ZwlrVirtualPointerV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
86 switch opcode {
87 case 0:
88 h.Motion(self, args[0].Uint(), args[1].Fixed(), args[2].Fixed())
89 case 1:
90 h.MotionAbsolute(self, args[0].Uint(), args[1].Uint(), args[2].Uint(), args[3].Uint(), args[4].Uint())
91 case 2:
92 h.Button(self, args[0].Uint(), args[1].Uint(), args[2].Uint())
93 case 3:
94 h.Axis(self, args[0].Uint(), args[1].Uint(), args[2].Fixed())
95 case 4:
96 h.Frame(self)
97 case 5:
98 h.AxisSource(self, args[0].Uint())
99 case 6:
100 h.AxisStop(self, args[0].Uint(), args[1].Uint())
101 case 7:
102 h.AxisDiscrete(self, args[0].Uint(), args[1].Uint(), args[2].Fixed(), args[3].Int())
103 case 8:
104 h.Destroy(self)
105 self.Destroy()
106 }
107 })
108 if err != nil {
109 return nil, err
110 }
111 self = WrapZwlrVirtualPointerV1(r)
112 r.Data = self
113 return self, nil
114}
115func NewZwlrVirtualPointerV1Global(d *server.Display, version int32, bind server.BindFunc) error {
116 return d.CreateGlobal(ZwlrVirtualPointerV1Interface, version, bind)
117}
118
119// ZwlrVirtualPointerManagerV1 virtual pointer manager.
120type ZwlrVirtualPointerManagerV1 struct{ *server.Resource }
121
122func WrapZwlrVirtualPointerManagerV1(r *server.Resource) *ZwlrVirtualPointerManagerV1 {
123 if r == nil {
124 return nil
125 }
126 return &ZwlrVirtualPointerManagerV1{r}
127}
128
129const ZwlrVirtualPointerManagerV1RequestCreateVirtualPointer uint32 = 0
130const ZwlrVirtualPointerManagerV1RequestDestroy uint32 = 1
131const ZwlrVirtualPointerManagerV1RequestCreateVirtualPointerWithOutput uint32 = 2
132
133// ZwlrVirtualPointerManagerV1Handler handles zwlr_virtual_pointer_manager_v1 requests.
134type ZwlrVirtualPointerManagerV1Handler interface {
135 CreateVirtualPointer(self *ZwlrVirtualPointerManagerV1, seat *wayland.Seat, id uint32)
136 Destroy(self *ZwlrVirtualPointerManagerV1)
137 CreateVirtualPointerWithOutput(self *ZwlrVirtualPointerManagerV1, seat *wayland.Seat, output *wayland.Output, id uint32)
138}
139
140func NewZwlrVirtualPointerManagerV1(c server.Client, version int32, id uint32, h ZwlrVirtualPointerManagerV1Handler) (*ZwlrVirtualPointerManagerV1, error) {
141 if h == nil {
142 return nil, fmt.Errorf("purego-libwayland: nil handler for zwlr_virtual_pointer_manager_v1")
143 }
144 var self *ZwlrVirtualPointerManagerV1
145 r, err := c.CreateResource(ZwlrVirtualPointerManagerV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
146 switch opcode {
147 case 0:
148 h.CreateVirtualPointer(self, wayland.WrapSeat(args[0].Resource()), args[1].NewID())
149 case 1:
150 h.Destroy(self)
151 self.Destroy()
152 case 2:
153 h.CreateVirtualPointerWithOutput(self, wayland.WrapSeat(args[0].Resource()), wayland.WrapOutput(args[1].Resource()), args[2].NewID())
154 }
155 })
156 if err != nil {
157 return nil, err
158 }
159 self = WrapZwlrVirtualPointerManagerV1(r)
160 r.Data = self
161 return self, nil
162}
163func NewZwlrVirtualPointerManagerV1Global(d *server.Display, version int32, bind server.BindFunc) error {
164 return d.CreateGlobal(ZwlrVirtualPointerManagerV1Interface, version, bind)
165}
166func resourceOf(v interface{ GetResource() *server.Resource }) *server.Resource {
167 if v == nil {
168 return nil
169 }
170 return v.GetResource()
171}
172func (self *ZwlrVirtualPointerV1) GetResource() *server.Resource {
173 if self == nil {
174 return nil
175 }
176 return self.Resource
177}
178func (self *ZwlrVirtualPointerManagerV1) GetResource() *server.Resource {
179 if self == nil {
180 return nil
181 }
182 return self.Resource
183}