wlrforeigntoplevelmanagement_generated.go RawHistoryFolder
1// Code generated by wlbgen; DO NOT EDIT.
2
3// Upstream protocol copyright and license:
4// Copyright © 2018 Ilia Bozhinov
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 wlrforeigntoplevelmanagement
28
29import (
30 "fmt"
31 wayland "github.com/bnema/go-wayland-bindings/server/wayland"
32 "github.com/bnema/purego-libwayland/server"
33 "runtime"
34)
35
36var ZwlrForeignToplevelManagerV1Interface *server.Interface
37var ZwlrForeignToplevelHandleV1Interface *server.Interface
38
39func init() {
40 ZwlrForeignToplevelManagerV1Interface = &server.Interface{Name: "zwlr_foreign_toplevel_manager_v1", Version: 3}
41 ZwlrForeignToplevelHandleV1Interface = &server.Interface{Name: "zwlr_foreign_toplevel_handle_v1", Version: 3}
42 ZwlrForeignToplevelManagerV1Interface.Requests = []server.Message{
43 {Name: "stop", Signature: "", Types: []*server.Interface{}},
44 }
45 ZwlrForeignToplevelManagerV1Interface.Events = []server.Message{
46 {Name: "toplevel", Signature: "n", Types: []*server.Interface{ZwlrForeignToplevelHandleV1Interface}},
47 {Name: "finished", Signature: "", Types: []*server.Interface{}},
48 }
49 ZwlrForeignToplevelHandleV1Interface.Requests = []server.Message{
50 {Name: "set_maximized", Signature: "", Types: []*server.Interface{}},
51 {Name: "unset_maximized", Signature: "", Types: []*server.Interface{}},
52 {Name: "set_minimized", Signature: "", Types: []*server.Interface{}},
53 {Name: "unset_minimized", Signature: "", Types: []*server.Interface{}},
54 {Name: "activate", Signature: "o", Types: []*server.Interface{wayland.SeatInterface}},
55 {Name: "close", Signature: "", Types: []*server.Interface{}},
56 {Name: "set_rectangle", Signature: "oiiii", Types: []*server.Interface{wayland.SurfaceInterface, nil, nil, nil, nil}},
57 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
58 {Name: "set_fullscreen", Signature: "2?o", Types: []*server.Interface{wayland.OutputInterface}},
59 {Name: "unset_fullscreen", Signature: "2", Types: []*server.Interface{}},
60 }
61 ZwlrForeignToplevelHandleV1Interface.Events = []server.Message{
62 {Name: "title", Signature: "s", Types: []*server.Interface{nil}},
63 {Name: "app_id", Signature: "s", Types: []*server.Interface{nil}},
64 {Name: "output_enter", Signature: "o", Types: []*server.Interface{wayland.OutputInterface}},
65 {Name: "output_leave", Signature: "o", Types: []*server.Interface{wayland.OutputInterface}},
66 {Name: "state", Signature: "a", Types: []*server.Interface{nil}},
67 {Name: "done", Signature: "", Types: []*server.Interface{}},
68 {Name: "closed", Signature: "", Types: []*server.Interface{}},
69 {Name: "parent", Signature: "3?o", Types: []*server.Interface{ZwlrForeignToplevelHandleV1Interface}},
70 }
71 if err := server.NewInterfaces(ZwlrForeignToplevelManagerV1Interface, ZwlrForeignToplevelHandleV1Interface); err != nil {
72 panic(err)
73 }
74}
75
76// ZwlrForeignToplevelManagerV1 list and control opened apps.
77type ZwlrForeignToplevelManagerV1 struct{ *server.Resource }
78
79func WrapZwlrForeignToplevelManagerV1(r *server.Resource) *ZwlrForeignToplevelManagerV1 {
80 if r == nil {
81 return nil
82 }
83 return &ZwlrForeignToplevelManagerV1{r}
84}
85
86const ZwlrForeignToplevelManagerV1RequestStop uint32 = 0
87const ZwlrForeignToplevelManagerV1EventToplevel uint32 = 0
88const ZwlrForeignToplevelManagerV1EventFinished uint32 = 1
89
90// ZwlrForeignToplevelManagerV1Handler handles zwlr_foreign_toplevel_manager_v1 requests.
91type ZwlrForeignToplevelManagerV1Handler interface {
92 Stop(self *ZwlrForeignToplevelManagerV1)
93}
94
95func NewZwlrForeignToplevelManagerV1(c server.Client, version int32, id uint32, h ZwlrForeignToplevelManagerV1Handler) (*ZwlrForeignToplevelManagerV1, error) {
96 if h == nil {
97 return nil, fmt.Errorf("purego-libwayland: nil handler for zwlr_foreign_toplevel_manager_v1")
98 }
99 var self *ZwlrForeignToplevelManagerV1
100 r, err := c.CreateResource(ZwlrForeignToplevelManagerV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
101 switch opcode {
102 case 0:
103 h.Stop(self)
104 }
105 })
106 if err != nil {
107 return nil, err
108 }
109 self = WrapZwlrForeignToplevelManagerV1(r)
110 r.Data = self
111 return self, nil
112}
113
114// SendToplevel a toplevel has been created.
115func (self *ZwlrForeignToplevelManagerV1) SendToplevel(toplevel *ZwlrForeignToplevelHandleV1) {
116 self.PostEvent(ZwlrForeignToplevelManagerV1EventToplevel, server.NewID(resourceOf(toplevel)))
117}
118
119// SendFinished the compositor has finished with the toplevel manager.
120func (self *ZwlrForeignToplevelManagerV1) SendFinished() {
121 self.PostEvent(ZwlrForeignToplevelManagerV1EventFinished)
122}
123func NewZwlrForeignToplevelManagerV1Global(d *server.Display, version int32, bind server.BindFunc) error {
124 return d.CreateGlobal(ZwlrForeignToplevelManagerV1Interface, version, bind)
125}
126
127// ZwlrForeignToplevelHandleV1 an opened toplevel.
128type ZwlrForeignToplevelHandleV1 struct{ *server.Resource }
129
130func WrapZwlrForeignToplevelHandleV1(r *server.Resource) *ZwlrForeignToplevelHandleV1 {
131 if r == nil {
132 return nil
133 }
134 return &ZwlrForeignToplevelHandleV1{r}
135}
136
137const ZwlrForeignToplevelHandleV1RequestSetMaximized uint32 = 0
138const ZwlrForeignToplevelHandleV1RequestUnsetMaximized uint32 = 1
139const ZwlrForeignToplevelHandleV1RequestSetMinimized uint32 = 2
140const ZwlrForeignToplevelHandleV1RequestUnsetMinimized uint32 = 3
141const ZwlrForeignToplevelHandleV1RequestActivate uint32 = 4
142const ZwlrForeignToplevelHandleV1RequestClose uint32 = 5
143const ZwlrForeignToplevelHandleV1RequestSetRectangle uint32 = 6
144const ZwlrForeignToplevelHandleV1RequestDestroy uint32 = 7
145const ZwlrForeignToplevelHandleV1RequestSetFullscreen uint32 = 8
146const ZwlrForeignToplevelHandleV1RequestUnsetFullscreen uint32 = 9
147const ZwlrForeignToplevelHandleV1EventTitle uint32 = 0
148const ZwlrForeignToplevelHandleV1EventAppId uint32 = 1
149const ZwlrForeignToplevelHandleV1EventOutputEnter uint32 = 2
150const ZwlrForeignToplevelHandleV1EventOutputLeave uint32 = 3
151const ZwlrForeignToplevelHandleV1EventState uint32 = 4
152const ZwlrForeignToplevelHandleV1EventDone uint32 = 5
153const ZwlrForeignToplevelHandleV1EventClosed uint32 = 6
154const ZwlrForeignToplevelHandleV1EventParent uint32 = 7
155
156// ZwlrForeignToplevelHandleV1State types of states on the toplevel.
157type ZwlrForeignToplevelHandleV1State uint32
158
159const (
160 ZwlrForeignToplevelHandleV1StateMaximized ZwlrForeignToplevelHandleV1State = 0
161 ZwlrForeignToplevelHandleV1StateMinimized ZwlrForeignToplevelHandleV1State = 1
162 ZwlrForeignToplevelHandleV1StateActivated ZwlrForeignToplevelHandleV1State = 2
163 ZwlrForeignToplevelHandleV1StateFullscreen ZwlrForeignToplevelHandleV1State = 3
164)
165
166// ZwlrForeignToplevelHandleV1Error .
167type ZwlrForeignToplevelHandleV1Error uint32
168
169const (
170 ZwlrForeignToplevelHandleV1ErrorInvalidRectangle ZwlrForeignToplevelHandleV1Error = 0
171)
172
173// ZwlrForeignToplevelHandleV1Handler handles zwlr_foreign_toplevel_handle_v1 requests.
174type ZwlrForeignToplevelHandleV1Handler interface {
175 SetMaximized(self *ZwlrForeignToplevelHandleV1)
176 UnsetMaximized(self *ZwlrForeignToplevelHandleV1)
177 SetMinimized(self *ZwlrForeignToplevelHandleV1)
178 UnsetMinimized(self *ZwlrForeignToplevelHandleV1)
179 Activate(self *ZwlrForeignToplevelHandleV1, seat *wayland.Seat)
180 Close(self *ZwlrForeignToplevelHandleV1)
181 SetRectangle(self *ZwlrForeignToplevelHandleV1, surface *wayland.Surface, x int32, y int32, width int32, height int32)
182 Destroy(self *ZwlrForeignToplevelHandleV1)
183 SetFullscreen(self *ZwlrForeignToplevelHandleV1, output *wayland.Output)
184 UnsetFullscreen(self *ZwlrForeignToplevelHandleV1)
185}
186
187func NewZwlrForeignToplevelHandleV1(c server.Client, version int32, id uint32, h ZwlrForeignToplevelHandleV1Handler) (*ZwlrForeignToplevelHandleV1, error) {
188 if h == nil {
189 return nil, fmt.Errorf("purego-libwayland: nil handler for zwlr_foreign_toplevel_handle_v1")
190 }
191 var self *ZwlrForeignToplevelHandleV1
192 r, err := c.CreateResource(ZwlrForeignToplevelHandleV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
193 switch opcode {
194 case 0:
195 h.SetMaximized(self)
196 case 1:
197 h.UnsetMaximized(self)
198 case 2:
199 h.SetMinimized(self)
200 case 3:
201 h.UnsetMinimized(self)
202 case 4:
203 h.Activate(self, wayland.WrapSeat(args[0].Resource()))
204 case 5:
205 h.Close(self)
206 case 6:
207 h.SetRectangle(self, wayland.WrapSurface(args[0].Resource()), args[1].Int(), args[2].Int(), args[3].Int(), args[4].Int())
208 case 7:
209 h.Destroy(self)
210 self.Destroy()
211 case 8:
212 h.SetFullscreen(self, wayland.WrapOutput(args[0].Resource()))
213 case 9:
214 h.UnsetFullscreen(self)
215 }
216 })
217 if err != nil {
218 return nil, err
219 }
220 self = WrapZwlrForeignToplevelHandleV1(r)
221 r.Data = self
222 return self, nil
223}
224
225// SendTitle title change.
226func (self *ZwlrForeignToplevelHandleV1) SendTitle(title string) {
227 var p runtime.Pinner
228 defer p.Unpin()
229 self.PostEvent(ZwlrForeignToplevelHandleV1EventTitle, server.String(&p, title, false))
230}
231
232// SendAppId app-id change.
233func (self *ZwlrForeignToplevelHandleV1) SendAppId(appId string) {
234 var p runtime.Pinner
235 defer p.Unpin()
236 self.PostEvent(ZwlrForeignToplevelHandleV1EventAppId, server.String(&p, appId, false))
237}
238
239// SendOutputEnter toplevel entered an output.
240func (self *ZwlrForeignToplevelHandleV1) SendOutputEnter(output *wayland.Output) {
241 self.PostEvent(ZwlrForeignToplevelHandleV1EventOutputEnter, server.Object(resourceOf(output)))
242}
243
244// SendOutputLeave toplevel left an output.
245func (self *ZwlrForeignToplevelHandleV1) SendOutputLeave(output *wayland.Output) {
246 self.PostEvent(ZwlrForeignToplevelHandleV1EventOutputLeave, server.Object(resourceOf(output)))
247}
248
249// SendState the toplevel state changed.
250func (self *ZwlrForeignToplevelHandleV1) SendState(state []byte) {
251 var p runtime.Pinner
252 defer p.Unpin()
253 self.PostEvent(ZwlrForeignToplevelHandleV1EventState, server.Array(&p, state))
254}
255
256// SendDone all information about the toplevel has been sent.
257func (self *ZwlrForeignToplevelHandleV1) SendDone() {
258 self.PostEvent(ZwlrForeignToplevelHandleV1EventDone)
259}
260
261// SendClosed this toplevel has been destroyed.
262func (self *ZwlrForeignToplevelHandleV1) SendClosed() {
263 self.PostEvent(ZwlrForeignToplevelHandleV1EventClosed)
264}
265
266// SendParent parent change (since version 3).
267func (self *ZwlrForeignToplevelHandleV1) SendParent(parent *ZwlrForeignToplevelHandleV1) {
268 self.PostEvent(ZwlrForeignToplevelHandleV1EventParent, server.Object(resourceOf(parent)))
269}
270func NewZwlrForeignToplevelHandleV1Global(d *server.Display, version int32, bind server.BindFunc) error {
271 return d.CreateGlobal(ZwlrForeignToplevelHandleV1Interface, version, bind)
272}
273func resourceOf(v interface{ GetResource() *server.Resource }) *server.Resource {
274 if v == nil {
275 return nil
276 }
277 return v.GetResource()
278}
279func (self *ZwlrForeignToplevelManagerV1) GetResource() *server.Resource {
280 if self == nil {
281 return nil
282 }
283 return self.Resource
284}
285func (self *ZwlrForeignToplevelHandleV1) GetResource() *server.Resource {
286 if self == nil {
287 return nil
288 }
289 return self.Resource
290}