1// Code generated by wlgen; DO NOT EDIT.
2package xdgforeign
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 ZxdgExporterV2Interface *server.Interface
12var ZxdgImporterV2Interface *server.Interface
13var ZxdgExportedV2Interface *server.Interface
14var ZxdgImportedV2Interface *server.Interface
15
16func init() {
17 ZxdgExporterV2Interface = &server.Interface{Name: "zxdg_exporter_v2", Version: 1}
18 ZxdgImporterV2Interface = &server.Interface{Name: "zxdg_importer_v2", Version: 1}
19 ZxdgExportedV2Interface = &server.Interface{Name: "zxdg_exported_v2", Version: 1}
20 ZxdgImportedV2Interface = &server.Interface{Name: "zxdg_imported_v2", Version: 1}
21 ZxdgExporterV2Interface.Requests = []server.Message{
22 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
23 {Name: "export_toplevel", Signature: "no", Types: []*server.Interface{ZxdgExportedV2Interface, wayland.SurfaceInterface}},
24 }
25 ZxdgExporterV2Interface.Events = []server.Message{}
26 ZxdgImporterV2Interface.Requests = []server.Message{
27 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
28 {Name: "import_toplevel", Signature: "ns", Types: []*server.Interface{ZxdgImportedV2Interface, nil}},
29 }
30 ZxdgImporterV2Interface.Events = []server.Message{}
31 ZxdgExportedV2Interface.Requests = []server.Message{
32 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
33 }
34 ZxdgExportedV2Interface.Events = []server.Message{
35 {Name: "handle", Signature: "s", Types: []*server.Interface{nil}},
36 }
37 ZxdgImportedV2Interface.Requests = []server.Message{
38 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
39 {Name: "set_parent_of", Signature: "o", Types: []*server.Interface{wayland.SurfaceInterface}},
40 }
41 ZxdgImportedV2Interface.Events = []server.Message{
42 {Name: "destroyed", Signature: "", Types: []*server.Interface{}},
43 }
44 if err := server.NewInterfaces(ZxdgExporterV2Interface, ZxdgImporterV2Interface, ZxdgExportedV2Interface, ZxdgImportedV2Interface); err != nil {
45 panic(err)
46 }
47}
48
49// ZxdgExporterV2 interface for exporting surfaces.
50type ZxdgExporterV2 struct{ *server.Resource }
51
52func WrapZxdgExporterV2(r *server.Resource) *ZxdgExporterV2 {
53 if r == nil {
54 return nil
55 }
56 return &ZxdgExporterV2{r}
57}
58
59const ZxdgExporterV2RequestDestroy uint32 = 0
60const ZxdgExporterV2RequestExportToplevel uint32 = 1
61
62// ZxdgExporterV2Error error values.
63type ZxdgExporterV2Error uint32
64
65const (
66 ZxdgExporterV2ErrorInvalidSurface ZxdgExporterV2Error = 0
67)
68
69// ZxdgExporterV2Handler handles zxdg_exporter_v2 requests.
70type ZxdgExporterV2Handler interface {
71 Destroy(self *ZxdgExporterV2)
72 ExportToplevel(self *ZxdgExporterV2, id uint32, surface *wayland.Surface)
73}
74
75func NewZxdgExporterV2(c server.Client, version int32, id uint32, h ZxdgExporterV2Handler) (*ZxdgExporterV2, error) {
76 if h == nil {
77 return nil, fmt.Errorf("purego-libwayland: nil handler for zxdg_exporter_v2")
78 }
79 var self *ZxdgExporterV2
80 r, err := c.CreateResource(ZxdgExporterV2Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
81 switch opcode {
82 case 0:
83 h.Destroy(self)
84 self.Destroy()
85 case 1:
86 h.ExportToplevel(self, args[0].NewID(), wayland.WrapSurface(args[1].Resource()))
87 }
88 })
89 if err != nil {
90 return nil, err
91 }
92 self = WrapZxdgExporterV2(r)
93 r.Data = self
94 return self, nil
95}
96func NewZxdgExporterV2Global(d *server.Display, version int32, bind server.BindFunc) error {
97 return d.CreateGlobal(ZxdgExporterV2Interface, version, bind)
98}
99
100// ZxdgImporterV2 interface for importing surfaces.
101type ZxdgImporterV2 struct{ *server.Resource }
102
103func WrapZxdgImporterV2(r *server.Resource) *ZxdgImporterV2 {
104 if r == nil {
105 return nil
106 }
107 return &ZxdgImporterV2{r}
108}
109
110const ZxdgImporterV2RequestDestroy uint32 = 0
111const ZxdgImporterV2RequestImportToplevel uint32 = 1
112
113// ZxdgImporterV2Handler handles zxdg_importer_v2 requests.
114type ZxdgImporterV2Handler interface {
115 Destroy(self *ZxdgImporterV2)
116 ImportToplevel(self *ZxdgImporterV2, id uint32, handle string)
117}
118
119func NewZxdgImporterV2(c server.Client, version int32, id uint32, h ZxdgImporterV2Handler) (*ZxdgImporterV2, error) {
120 if h == nil {
121 return nil, fmt.Errorf("purego-libwayland: nil handler for zxdg_importer_v2")
122 }
123 var self *ZxdgImporterV2
124 r, err := c.CreateResource(ZxdgImporterV2Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
125 switch opcode {
126 case 0:
127 h.Destroy(self)
128 self.Destroy()
129 case 1:
130 h.ImportToplevel(self, args[0].NewID(), args[1].String())
131 }
132 })
133 if err != nil {
134 return nil, err
135 }
136 self = WrapZxdgImporterV2(r)
137 r.Data = self
138 return self, nil
139}
140func NewZxdgImporterV2Global(d *server.Display, version int32, bind server.BindFunc) error {
141 return d.CreateGlobal(ZxdgImporterV2Interface, version, bind)
142}
143
144// ZxdgExportedV2 an exported surface handle.
145type ZxdgExportedV2 struct{ *server.Resource }
146
147func WrapZxdgExportedV2(r *server.Resource) *ZxdgExportedV2 {
148 if r == nil {
149 return nil
150 }
151 return &ZxdgExportedV2{r}
152}
153
154const ZxdgExportedV2RequestDestroy uint32 = 0
155const ZxdgExportedV2EventHandle uint32 = 0
156
157// ZxdgExportedV2Handler handles zxdg_exported_v2 requests.
158type ZxdgExportedV2Handler interface {
159 Destroy(self *ZxdgExportedV2)
160}
161
162func NewZxdgExportedV2(c server.Client, version int32, id uint32, h ZxdgExportedV2Handler) (*ZxdgExportedV2, error) {
163 if h == nil {
164 return nil, fmt.Errorf("purego-libwayland: nil handler for zxdg_exported_v2")
165 }
166 var self *ZxdgExportedV2
167 r, err := c.CreateResource(ZxdgExportedV2Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
168 switch opcode {
169 case 0:
170 h.Destroy(self)
171 self.Destroy()
172 }
173 })
174 if err != nil {
175 return nil, err
176 }
177 self = WrapZxdgExportedV2(r)
178 r.Data = self
179 return self, nil
180}
181
182// SendHandle the exported surface handle.
183func (self *ZxdgExportedV2) SendHandle(handle string) {
184 var p runtime.Pinner
185 defer p.Unpin()
186 self.PostEvent(ZxdgExportedV2EventHandle, server.String(&p, handle, false))
187}
188func NewZxdgExportedV2Global(d *server.Display, version int32, bind server.BindFunc) error {
189 return d.CreateGlobal(ZxdgExportedV2Interface, version, bind)
190}
191
192// ZxdgImportedV2 an imported surface handle.
193type ZxdgImportedV2 struct{ *server.Resource }
194
195func WrapZxdgImportedV2(r *server.Resource) *ZxdgImportedV2 {
196 if r == nil {
197 return nil
198 }
199 return &ZxdgImportedV2{r}
200}
201
202const ZxdgImportedV2RequestDestroy uint32 = 0
203const ZxdgImportedV2RequestSetParentOf uint32 = 1
204const ZxdgImportedV2EventDestroyed uint32 = 0
205
206// ZxdgImportedV2Error error values.
207type ZxdgImportedV2Error uint32
208
209const (
210 ZxdgImportedV2ErrorInvalidSurface ZxdgImportedV2Error = 0
211)
212
213// ZxdgImportedV2Handler handles zxdg_imported_v2 requests.
214type ZxdgImportedV2Handler interface {
215 Destroy(self *ZxdgImportedV2)
216 SetParentOf(self *ZxdgImportedV2, surface *wayland.Surface)
217}
218
219func NewZxdgImportedV2(c server.Client, version int32, id uint32, h ZxdgImportedV2Handler) (*ZxdgImportedV2, error) {
220 if h == nil {
221 return nil, fmt.Errorf("purego-libwayland: nil handler for zxdg_imported_v2")
222 }
223 var self *ZxdgImportedV2
224 r, err := c.CreateResource(ZxdgImportedV2Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
225 switch opcode {
226 case 0:
227 h.Destroy(self)
228 self.Destroy()
229 case 1:
230 h.SetParentOf(self, wayland.WrapSurface(args[0].Resource()))
231 }
232 })
233 if err != nil {
234 return nil, err
235 }
236 self = WrapZxdgImportedV2(r)
237 r.Data = self
238 return self, nil
239}
240
241// SendDestroyed the imported surface handle has been destroyed.
242func (self *ZxdgImportedV2) SendDestroyed() {
243 self.PostEvent(ZxdgImportedV2EventDestroyed)
244}
245func NewZxdgImportedV2Global(d *server.Display, version int32, bind server.BindFunc) error {
246 return d.CreateGlobal(ZxdgImportedV2Interface, version, bind)
247}
248func resourceOf(v interface{ GetResource() *server.Resource }) *server.Resource {
249 if v == nil {
250 return nil
251 }
252 return v.GetResource()
253}
254func (self *ZxdgExporterV2) GetResource() *server.Resource {
255 if self == nil {
256 return nil
257 }
258 return self.Resource
259}
260func (self *ZxdgImporterV2) GetResource() *server.Resource {
261 if self == nil {
262 return nil
263 }
264 return self.Resource
265}
266func (self *ZxdgExportedV2) GetResource() *server.Resource {
267 if self == nil {
268 return nil
269 }
270 return self.Resource
271}
272func (self *ZxdgImportedV2) GetResource() *server.Resource {
273 if self == nil {
274 return nil
275 }
276 return self.Resource
277}