wlroutputmanagement_generated.go RawHistoryFolder
1// Code generated by wlbgen; DO NOT EDIT.
2
3// Upstream protocol copyright and license:
4// Copyright © 2019 Purism SPC
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 wlroutputmanagement
28
29import (
30 "fmt"
31 "github.com/bnema/purego-libwayland/server"
32 "runtime"
33)
34
35var ZwlrOutputManagerV1Interface *server.Interface
36var ZwlrOutputHeadV1Interface *server.Interface
37var ZwlrOutputModeV1Interface *server.Interface
38var ZwlrOutputConfigurationV1Interface *server.Interface
39var ZwlrOutputConfigurationHeadV1Interface *server.Interface
40
41func init() {
42 ZwlrOutputManagerV1Interface = &server.Interface{Name: "zwlr_output_manager_v1", Version: 4}
43 ZwlrOutputHeadV1Interface = &server.Interface{Name: "zwlr_output_head_v1", Version: 4}
44 ZwlrOutputModeV1Interface = &server.Interface{Name: "zwlr_output_mode_v1", Version: 3}
45 ZwlrOutputConfigurationV1Interface = &server.Interface{Name: "zwlr_output_configuration_v1", Version: 4}
46 ZwlrOutputConfigurationHeadV1Interface = &server.Interface{Name: "zwlr_output_configuration_head_v1", Version: 4}
47 ZwlrOutputManagerV1Interface.Requests = []server.Message{
48 {Name: "create_configuration", Signature: "nu", Types: []*server.Interface{ZwlrOutputConfigurationV1Interface, nil}},
49 {Name: "stop", Signature: "", Types: []*server.Interface{}},
50 }
51 ZwlrOutputManagerV1Interface.Events = []server.Message{
52 {Name: "head", Signature: "n", Types: []*server.Interface{ZwlrOutputHeadV1Interface}},
53 {Name: "done", Signature: "u", Types: []*server.Interface{nil}},
54 {Name: "finished", Signature: "", Types: []*server.Interface{}},
55 }
56 ZwlrOutputHeadV1Interface.Requests = []server.Message{
57 {Name: "release", Signature: "3", Types: []*server.Interface{}},
58 }
59 ZwlrOutputHeadV1Interface.Events = []server.Message{
60 {Name: "name", Signature: "s", Types: []*server.Interface{nil}},
61 {Name: "description", Signature: "s", Types: []*server.Interface{nil}},
62 {Name: "physical_size", Signature: "ii", Types: []*server.Interface{nil, nil}},
63 {Name: "mode", Signature: "n", Types: []*server.Interface{ZwlrOutputModeV1Interface}},
64 {Name: "enabled", Signature: "i", Types: []*server.Interface{nil}},
65 {Name: "current_mode", Signature: "o", Types: []*server.Interface{ZwlrOutputModeV1Interface}},
66 {Name: "position", Signature: "ii", Types: []*server.Interface{nil, nil}},
67 {Name: "transform", Signature: "i", Types: []*server.Interface{nil}},
68 {Name: "scale", Signature: "f", Types: []*server.Interface{nil}},
69 {Name: "finished", Signature: "", Types: []*server.Interface{}},
70 {Name: "make", Signature: "2s", Types: []*server.Interface{nil}},
71 {Name: "model", Signature: "2s", Types: []*server.Interface{nil}},
72 {Name: "serial_number", Signature: "2s", Types: []*server.Interface{nil}},
73 {Name: "adaptive_sync", Signature: "4u", Types: []*server.Interface{nil}},
74 }
75 ZwlrOutputModeV1Interface.Requests = []server.Message{
76 {Name: "release", Signature: "3", Types: []*server.Interface{}},
77 }
78 ZwlrOutputModeV1Interface.Events = []server.Message{
79 {Name: "size", Signature: "ii", Types: []*server.Interface{nil, nil}},
80 {Name: "refresh", Signature: "i", Types: []*server.Interface{nil}},
81 {Name: "preferred", Signature: "", Types: []*server.Interface{}},
82 {Name: "finished", Signature: "", Types: []*server.Interface{}},
83 }
84 ZwlrOutputConfigurationV1Interface.Requests = []server.Message{
85 {Name: "enable_head", Signature: "no", Types: []*server.Interface{ZwlrOutputConfigurationHeadV1Interface, ZwlrOutputHeadV1Interface}},
86 {Name: "disable_head", Signature: "o", Types: []*server.Interface{ZwlrOutputHeadV1Interface}},
87 {Name: "apply", Signature: "", Types: []*server.Interface{}},
88 {Name: "test", Signature: "", Types: []*server.Interface{}},
89 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
90 }
91 ZwlrOutputConfigurationV1Interface.Events = []server.Message{
92 {Name: "succeeded", Signature: "", Types: []*server.Interface{}},
93 {Name: "failed", Signature: "", Types: []*server.Interface{}},
94 {Name: "cancelled", Signature: "", Types: []*server.Interface{}},
95 }
96 ZwlrOutputConfigurationHeadV1Interface.Requests = []server.Message{
97 {Name: "set_mode", Signature: "o", Types: []*server.Interface{ZwlrOutputModeV1Interface}},
98 {Name: "set_custom_mode", Signature: "iii", Types: []*server.Interface{nil, nil, nil}},
99 {Name: "set_position", Signature: "ii", Types: []*server.Interface{nil, nil}},
100 {Name: "set_transform", Signature: "i", Types: []*server.Interface{nil}},
101 {Name: "set_scale", Signature: "f", Types: []*server.Interface{nil}},
102 {Name: "set_adaptive_sync", Signature: "4u", Types: []*server.Interface{nil}},
103 }
104 ZwlrOutputConfigurationHeadV1Interface.Events = []server.Message{}
105 if err := server.NewInterfaces(ZwlrOutputManagerV1Interface, ZwlrOutputHeadV1Interface, ZwlrOutputModeV1Interface, ZwlrOutputConfigurationV1Interface, ZwlrOutputConfigurationHeadV1Interface); err != nil {
106 panic(err)
107 }
108}
109
110// ZwlrOutputManagerV1 output device configuration manager.
111type ZwlrOutputManagerV1 struct{ *server.Resource }
112
113func WrapZwlrOutputManagerV1(r *server.Resource) *ZwlrOutputManagerV1 {
114 if r == nil {
115 return nil
116 }
117 return &ZwlrOutputManagerV1{r}
118}
119
120const ZwlrOutputManagerV1RequestCreateConfiguration uint32 = 0
121const ZwlrOutputManagerV1RequestStop uint32 = 1
122const ZwlrOutputManagerV1EventHead uint32 = 0
123const ZwlrOutputManagerV1EventDone uint32 = 1
124const ZwlrOutputManagerV1EventFinished uint32 = 2
125
126// ZwlrOutputManagerV1Handler handles zwlr_output_manager_v1 requests.
127type ZwlrOutputManagerV1Handler interface {
128 CreateConfiguration(self *ZwlrOutputManagerV1, id uint32, serial uint32)
129 Stop(self *ZwlrOutputManagerV1)
130}
131
132func NewZwlrOutputManagerV1(c server.Client, version int32, id uint32, h ZwlrOutputManagerV1Handler) (*ZwlrOutputManagerV1, error) {
133 if h == nil {
134 return nil, fmt.Errorf("purego-libwayland: nil handler for zwlr_output_manager_v1")
135 }
136 var self *ZwlrOutputManagerV1
137 r, err := c.CreateResource(ZwlrOutputManagerV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
138 switch opcode {
139 case 0:
140 h.CreateConfiguration(self, args[0].NewID(), args[1].Uint())
141 case 1:
142 h.Stop(self)
143 }
144 })
145 if err != nil {
146 return nil, err
147 }
148 self = WrapZwlrOutputManagerV1(r)
149 r.Data = self
150 return self, nil
151}
152
153// SendHead introduce a new head.
154func (self *ZwlrOutputManagerV1) SendHead(head *ZwlrOutputHeadV1) {
155 self.PostEvent(ZwlrOutputManagerV1EventHead, server.NewID(resourceOf(head)))
156}
157
158// SendDone sent all information about current configuration.
159func (self *ZwlrOutputManagerV1) SendDone(serial uint32) {
160 self.PostEvent(ZwlrOutputManagerV1EventDone, server.Uint(serial))
161}
162
163// SendFinished the compositor has finished with the manager.
164func (self *ZwlrOutputManagerV1) SendFinished() {
165 self.PostEvent(ZwlrOutputManagerV1EventFinished)
166}
167func NewZwlrOutputManagerV1Global(d *server.Display, version int32, bind server.BindFunc) error {
168 return d.CreateGlobal(ZwlrOutputManagerV1Interface, version, bind)
169}
170
171// ZwlrOutputHeadV1 output device.
172type ZwlrOutputHeadV1 struct{ *server.Resource }
173
174func WrapZwlrOutputHeadV1(r *server.Resource) *ZwlrOutputHeadV1 {
175 if r == nil {
176 return nil
177 }
178 return &ZwlrOutputHeadV1{r}
179}
180
181const ZwlrOutputHeadV1RequestRelease uint32 = 0
182const ZwlrOutputHeadV1EventName uint32 = 0
183const ZwlrOutputHeadV1EventDescription uint32 = 1
184const ZwlrOutputHeadV1EventPhysicalSize uint32 = 2
185const ZwlrOutputHeadV1EventMode uint32 = 3
186const ZwlrOutputHeadV1EventEnabled uint32 = 4
187const ZwlrOutputHeadV1EventCurrentMode uint32 = 5
188const ZwlrOutputHeadV1EventPosition uint32 = 6
189const ZwlrOutputHeadV1EventTransform uint32 = 7
190const ZwlrOutputHeadV1EventScale uint32 = 8
191const ZwlrOutputHeadV1EventFinished uint32 = 9
192const ZwlrOutputHeadV1EventMake uint32 = 10
193const ZwlrOutputHeadV1EventModel uint32 = 11
194const ZwlrOutputHeadV1EventSerialNumber uint32 = 12
195const ZwlrOutputHeadV1EventAdaptiveSync uint32 = 13
196
197// ZwlrOutputHeadV1AdaptiveSyncState .
198type ZwlrOutputHeadV1AdaptiveSyncState uint32
199
200const (
201 ZwlrOutputHeadV1AdaptiveSyncStateDisabled ZwlrOutputHeadV1AdaptiveSyncState = 0
202 ZwlrOutputHeadV1AdaptiveSyncStateEnabled ZwlrOutputHeadV1AdaptiveSyncState = 1
203)
204
205// ZwlrOutputHeadV1Handler handles zwlr_output_head_v1 requests.
206type ZwlrOutputHeadV1Handler interface {
207 Release(self *ZwlrOutputHeadV1)
208}
209
210func NewZwlrOutputHeadV1(c server.Client, version int32, id uint32, h ZwlrOutputHeadV1Handler) (*ZwlrOutputHeadV1, error) {
211 if h == nil {
212 return nil, fmt.Errorf("purego-libwayland: nil handler for zwlr_output_head_v1")
213 }
214 var self *ZwlrOutputHeadV1
215 r, err := c.CreateResource(ZwlrOutputHeadV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
216 switch opcode {
217 case 0:
218 h.Release(self)
219 self.Destroy()
220 }
221 })
222 if err != nil {
223 return nil, err
224 }
225 self = WrapZwlrOutputHeadV1(r)
226 r.Data = self
227 return self, nil
228}
229
230// SendName head name.
231func (self *ZwlrOutputHeadV1) SendName(name string) {
232 var p runtime.Pinner
233 defer p.Unpin()
234 self.PostEvent(ZwlrOutputHeadV1EventName, server.String(&p, name, false))
235}
236
237// SendDescription head description.
238func (self *ZwlrOutputHeadV1) SendDescription(description string) {
239 var p runtime.Pinner
240 defer p.Unpin()
241 self.PostEvent(ZwlrOutputHeadV1EventDescription, server.String(&p, description, false))
242}
243
244// SendPhysicalSize head physical size.
245func (self *ZwlrOutputHeadV1) SendPhysicalSize(width int32, height int32) {
246 self.PostEvent(ZwlrOutputHeadV1EventPhysicalSize, server.Int(width), server.Int(height))
247}
248
249// SendMode introduce a mode.
250func (self *ZwlrOutputHeadV1) SendMode(mode *ZwlrOutputModeV1) {
251 self.PostEvent(ZwlrOutputHeadV1EventMode, server.NewID(resourceOf(mode)))
252}
253
254// SendEnabled head is enabled or disabled.
255func (self *ZwlrOutputHeadV1) SendEnabled(enabled int32) {
256 self.PostEvent(ZwlrOutputHeadV1EventEnabled, server.Int(enabled))
257}
258
259// SendCurrentMode current mode.
260func (self *ZwlrOutputHeadV1) SendCurrentMode(mode *ZwlrOutputModeV1) {
261 self.PostEvent(ZwlrOutputHeadV1EventCurrentMode, server.Object(resourceOf(mode)))
262}
263
264// SendPosition current position.
265func (self *ZwlrOutputHeadV1) SendPosition(x int32, y int32) {
266 self.PostEvent(ZwlrOutputHeadV1EventPosition, server.Int(x), server.Int(y))
267}
268
269// SendTransform current transformation.
270func (self *ZwlrOutputHeadV1) SendTransform(transform int32) {
271 self.PostEvent(ZwlrOutputHeadV1EventTransform, server.Int(transform))
272}
273
274// SendScale current scale.
275func (self *ZwlrOutputHeadV1) SendScale(scale server.Fixed) {
276 self.PostEvent(ZwlrOutputHeadV1EventScale, server.FixedArg(scale))
277}
278
279// SendFinished the head has disappeared.
280func (self *ZwlrOutputHeadV1) SendFinished() {
281 self.PostEvent(ZwlrOutputHeadV1EventFinished)
282}
283
284// SendMake head manufacturer (since version 2).
285func (self *ZwlrOutputHeadV1) SendMake(make string) {
286 var p runtime.Pinner
287 defer p.Unpin()
288 self.PostEvent(ZwlrOutputHeadV1EventMake, server.String(&p, make, false))
289}
290
291// SendModel head model (since version 2).
292func (self *ZwlrOutputHeadV1) SendModel(model string) {
293 var p runtime.Pinner
294 defer p.Unpin()
295 self.PostEvent(ZwlrOutputHeadV1EventModel, server.String(&p, model, false))
296}
297
298// SendSerialNumber head serial number (since version 2).
299func (self *ZwlrOutputHeadV1) SendSerialNumber(serialNumber string) {
300 var p runtime.Pinner
301 defer p.Unpin()
302 self.PostEvent(ZwlrOutputHeadV1EventSerialNumber, server.String(&p, serialNumber, false))
303}
304
305// SendAdaptiveSync current adaptive sync state (since version 4).
306func (self *ZwlrOutputHeadV1) SendAdaptiveSync(state uint32) {
307 self.PostEvent(ZwlrOutputHeadV1EventAdaptiveSync, server.Uint(state))
308}
309func NewZwlrOutputHeadV1Global(d *server.Display, version int32, bind server.BindFunc) error {
310 return d.CreateGlobal(ZwlrOutputHeadV1Interface, version, bind)
311}
312
313// ZwlrOutputModeV1 output mode.
314type ZwlrOutputModeV1 struct{ *server.Resource }
315
316func WrapZwlrOutputModeV1(r *server.Resource) *ZwlrOutputModeV1 {
317 if r == nil {
318 return nil
319 }
320 return &ZwlrOutputModeV1{r}
321}
322
323const ZwlrOutputModeV1RequestRelease uint32 = 0
324const ZwlrOutputModeV1EventSize uint32 = 0
325const ZwlrOutputModeV1EventRefresh uint32 = 1
326const ZwlrOutputModeV1EventPreferred uint32 = 2
327const ZwlrOutputModeV1EventFinished uint32 = 3
328
329// ZwlrOutputModeV1Handler handles zwlr_output_mode_v1 requests.
330type ZwlrOutputModeV1Handler interface {
331 Release(self *ZwlrOutputModeV1)
332}
333
334func NewZwlrOutputModeV1(c server.Client, version int32, id uint32, h ZwlrOutputModeV1Handler) (*ZwlrOutputModeV1, error) {
335 if h == nil {
336 return nil, fmt.Errorf("purego-libwayland: nil handler for zwlr_output_mode_v1")
337 }
338 var self *ZwlrOutputModeV1
339 r, err := c.CreateResource(ZwlrOutputModeV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
340 switch opcode {
341 case 0:
342 h.Release(self)
343 self.Destroy()
344 }
345 })
346 if err != nil {
347 return nil, err
348 }
349 self = WrapZwlrOutputModeV1(r)
350 r.Data = self
351 return self, nil
352}
353
354// SendSize mode size.
355func (self *ZwlrOutputModeV1) SendSize(width int32, height int32) {
356 self.PostEvent(ZwlrOutputModeV1EventSize, server.Int(width), server.Int(height))
357}
358
359// SendRefresh mode refresh rate.
360func (self *ZwlrOutputModeV1) SendRefresh(refresh int32) {
361 self.PostEvent(ZwlrOutputModeV1EventRefresh, server.Int(refresh))
362}
363
364// SendPreferred mode is preferred.
365func (self *ZwlrOutputModeV1) SendPreferred() {
366 self.PostEvent(ZwlrOutputModeV1EventPreferred)
367}
368
369// SendFinished the mode has disappeared.
370func (self *ZwlrOutputModeV1) SendFinished() {
371 self.PostEvent(ZwlrOutputModeV1EventFinished)
372}
373func NewZwlrOutputModeV1Global(d *server.Display, version int32, bind server.BindFunc) error {
374 return d.CreateGlobal(ZwlrOutputModeV1Interface, version, bind)
375}
376
377// ZwlrOutputConfigurationV1 output configuration.
378type ZwlrOutputConfigurationV1 struct{ *server.Resource }
379
380func WrapZwlrOutputConfigurationV1(r *server.Resource) *ZwlrOutputConfigurationV1 {
381 if r == nil {
382 return nil
383 }
384 return &ZwlrOutputConfigurationV1{r}
385}
386
387const ZwlrOutputConfigurationV1RequestEnableHead uint32 = 0
388const ZwlrOutputConfigurationV1RequestDisableHead uint32 = 1
389const ZwlrOutputConfigurationV1RequestApply uint32 = 2
390const ZwlrOutputConfigurationV1RequestTest uint32 = 3
391const ZwlrOutputConfigurationV1RequestDestroy uint32 = 4
392const ZwlrOutputConfigurationV1EventSucceeded uint32 = 0
393const ZwlrOutputConfigurationV1EventFailed uint32 = 1
394const ZwlrOutputConfigurationV1EventCancelled uint32 = 2
395
396// ZwlrOutputConfigurationV1Error .
397type ZwlrOutputConfigurationV1Error uint32
398
399const (
400 ZwlrOutputConfigurationV1ErrorAlreadyConfiguredHead ZwlrOutputConfigurationV1Error = 1
401 ZwlrOutputConfigurationV1ErrorUnconfiguredHead ZwlrOutputConfigurationV1Error = 2
402 ZwlrOutputConfigurationV1ErrorAlreadyUsed ZwlrOutputConfigurationV1Error = 3
403)
404
405// ZwlrOutputConfigurationV1Handler handles zwlr_output_configuration_v1 requests.
406type ZwlrOutputConfigurationV1Handler interface {
407 EnableHead(self *ZwlrOutputConfigurationV1, id uint32, head *ZwlrOutputHeadV1)
408 DisableHead(self *ZwlrOutputConfigurationV1, head *ZwlrOutputHeadV1)
409 Apply(self *ZwlrOutputConfigurationV1)
410 Test(self *ZwlrOutputConfigurationV1)
411 Destroy(self *ZwlrOutputConfigurationV1)
412}
413
414func NewZwlrOutputConfigurationV1(c server.Client, version int32, id uint32, h ZwlrOutputConfigurationV1Handler) (*ZwlrOutputConfigurationV1, error) {
415 if h == nil {
416 return nil, fmt.Errorf("purego-libwayland: nil handler for zwlr_output_configuration_v1")
417 }
418 var self *ZwlrOutputConfigurationV1
419 r, err := c.CreateResource(ZwlrOutputConfigurationV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
420 switch opcode {
421 case 0:
422 h.EnableHead(self, args[0].NewID(), WrapZwlrOutputHeadV1(args[1].Resource()))
423 case 1:
424 h.DisableHead(self, WrapZwlrOutputHeadV1(args[0].Resource()))
425 case 2:
426 h.Apply(self)
427 case 3:
428 h.Test(self)
429 case 4:
430 h.Destroy(self)
431 self.Destroy()
432 }
433 })
434 if err != nil {
435 return nil, err
436 }
437 self = WrapZwlrOutputConfigurationV1(r)
438 r.Data = self
439 return self, nil
440}
441
442// SendSucceeded configuration changes succeeded.
443func (self *ZwlrOutputConfigurationV1) SendSucceeded() {
444 self.PostEvent(ZwlrOutputConfigurationV1EventSucceeded)
445}
446
447// SendFailed configuration changes failed.
448func (self *ZwlrOutputConfigurationV1) SendFailed() {
449 self.PostEvent(ZwlrOutputConfigurationV1EventFailed)
450}
451
452// SendCancelled configuration has been cancelled.
453func (self *ZwlrOutputConfigurationV1) SendCancelled() {
454 self.PostEvent(ZwlrOutputConfigurationV1EventCancelled)
455}
456func NewZwlrOutputConfigurationV1Global(d *server.Display, version int32, bind server.BindFunc) error {
457 return d.CreateGlobal(ZwlrOutputConfigurationV1Interface, version, bind)
458}
459
460// ZwlrOutputConfigurationHeadV1 head configuration.
461type ZwlrOutputConfigurationHeadV1 struct{ *server.Resource }
462
463func WrapZwlrOutputConfigurationHeadV1(r *server.Resource) *ZwlrOutputConfigurationHeadV1 {
464 if r == nil {
465 return nil
466 }
467 return &ZwlrOutputConfigurationHeadV1{r}
468}
469
470const ZwlrOutputConfigurationHeadV1RequestSetMode uint32 = 0
471const ZwlrOutputConfigurationHeadV1RequestSetCustomMode uint32 = 1
472const ZwlrOutputConfigurationHeadV1RequestSetPosition uint32 = 2
473const ZwlrOutputConfigurationHeadV1RequestSetTransform uint32 = 3
474const ZwlrOutputConfigurationHeadV1RequestSetScale uint32 = 4
475const ZwlrOutputConfigurationHeadV1RequestSetAdaptiveSync uint32 = 5
476
477// ZwlrOutputConfigurationHeadV1Error .
478type ZwlrOutputConfigurationHeadV1Error uint32
479
480const (
481 ZwlrOutputConfigurationHeadV1ErrorAlreadySet ZwlrOutputConfigurationHeadV1Error = 1
482 ZwlrOutputConfigurationHeadV1ErrorInvalidMode ZwlrOutputConfigurationHeadV1Error = 2
483 ZwlrOutputConfigurationHeadV1ErrorInvalidCustomMode ZwlrOutputConfigurationHeadV1Error = 3
484 ZwlrOutputConfigurationHeadV1ErrorInvalidTransform ZwlrOutputConfigurationHeadV1Error = 4
485 ZwlrOutputConfigurationHeadV1ErrorInvalidScale ZwlrOutputConfigurationHeadV1Error = 5
486 ZwlrOutputConfigurationHeadV1ErrorInvalidAdaptiveSyncState ZwlrOutputConfigurationHeadV1Error = 6
487)
488
489// ZwlrOutputConfigurationHeadV1Handler handles zwlr_output_configuration_head_v1 requests.
490type ZwlrOutputConfigurationHeadV1Handler interface {
491 SetMode(self *ZwlrOutputConfigurationHeadV1, mode *ZwlrOutputModeV1)
492 SetCustomMode(self *ZwlrOutputConfigurationHeadV1, width int32, height int32, refresh int32)
493 SetPosition(self *ZwlrOutputConfigurationHeadV1, x int32, y int32)
494 SetTransform(self *ZwlrOutputConfigurationHeadV1, transform int32)
495 SetScale(self *ZwlrOutputConfigurationHeadV1, scale server.Fixed)
496 SetAdaptiveSync(self *ZwlrOutputConfigurationHeadV1, state uint32)
497}
498
499func NewZwlrOutputConfigurationHeadV1(c server.Client, version int32, id uint32, h ZwlrOutputConfigurationHeadV1Handler) (*ZwlrOutputConfigurationHeadV1, error) {
500 if h == nil {
501 return nil, fmt.Errorf("purego-libwayland: nil handler for zwlr_output_configuration_head_v1")
502 }
503 var self *ZwlrOutputConfigurationHeadV1
504 r, err := c.CreateResource(ZwlrOutputConfigurationHeadV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
505 switch opcode {
506 case 0:
507 h.SetMode(self, WrapZwlrOutputModeV1(args[0].Resource()))
508 case 1:
509 h.SetCustomMode(self, args[0].Int(), args[1].Int(), args[2].Int())
510 case 2:
511 h.SetPosition(self, args[0].Int(), args[1].Int())
512 case 3:
513 h.SetTransform(self, args[0].Int())
514 case 4:
515 h.SetScale(self, args[0].Fixed())
516 case 5:
517 h.SetAdaptiveSync(self, args[0].Uint())
518 }
519 })
520 if err != nil {
521 return nil, err
522 }
523 self = WrapZwlrOutputConfigurationHeadV1(r)
524 r.Data = self
525 return self, nil
526}
527func NewZwlrOutputConfigurationHeadV1Global(d *server.Display, version int32, bind server.BindFunc) error {
528 return d.CreateGlobal(ZwlrOutputConfigurationHeadV1Interface, version, bind)
529}
530func resourceOf(v interface{ GetResource() *server.Resource }) *server.Resource {
531 if v == nil {
532 return nil
533 }
534 return v.GetResource()
535}
536func (self *ZwlrOutputManagerV1) GetResource() *server.Resource {
537 if self == nil {
538 return nil
539 }
540 return self.Resource
541}
542func (self *ZwlrOutputHeadV1) GetResource() *server.Resource {
543 if self == nil {
544 return nil
545 }
546 return self.Resource
547}
548func (self *ZwlrOutputModeV1) GetResource() *server.Resource {
549 if self == nil {
550 return nil
551 }
552 return self.Resource
553}
554func (self *ZwlrOutputConfigurationV1) GetResource() *server.Resource {
555 if self == nil {
556 return nil
557 }
558 return self.Resource
559}
560func (self *ZwlrOutputConfigurationHeadV1) GetResource() *server.Resource {
561 if self == nil {
562 return nil
563 }
564 return self.Resource
565}