// Code generated by wlgen; DO NOT EDIT. package xdgforeign import ( "fmt" wayland "github.com/bnema/purego-libwayland/protocol/wayland" "github.com/bnema/purego-libwayland/server" "runtime" ) var ZxdgExporterV2Interface *server.Interface var ZxdgImporterV2Interface *server.Interface var ZxdgExportedV2Interface *server.Interface var ZxdgImportedV2Interface *server.Interface func init() { ZxdgExporterV2Interface = &server.Interface{Name: "zxdg_exporter_v2", Version: 1} ZxdgImporterV2Interface = &server.Interface{Name: "zxdg_importer_v2", Version: 1} ZxdgExportedV2Interface = &server.Interface{Name: "zxdg_exported_v2", Version: 1} ZxdgImportedV2Interface = &server.Interface{Name: "zxdg_imported_v2", Version: 1} ZxdgExporterV2Interface.Requests = []server.Message{ {Name: "destroy", Signature: "", Types: []*server.Interface{}}, {Name: "export_toplevel", Signature: "no", Types: []*server.Interface{ZxdgExportedV2Interface, wayland.SurfaceInterface}}, } ZxdgExporterV2Interface.Events = []server.Message{} ZxdgImporterV2Interface.Requests = []server.Message{ {Name: "destroy", Signature: "", Types: []*server.Interface{}}, {Name: "import_toplevel", Signature: "ns", Types: []*server.Interface{ZxdgImportedV2Interface, nil}}, } ZxdgImporterV2Interface.Events = []server.Message{} ZxdgExportedV2Interface.Requests = []server.Message{ {Name: "destroy", Signature: "", Types: []*server.Interface{}}, } ZxdgExportedV2Interface.Events = []server.Message{ {Name: "handle", Signature: "s", Types: []*server.Interface{nil}}, } ZxdgImportedV2Interface.Requests = []server.Message{ {Name: "destroy", Signature: "", Types: []*server.Interface{}}, {Name: "set_parent_of", Signature: "o", Types: []*server.Interface{wayland.SurfaceInterface}}, } ZxdgImportedV2Interface.Events = []server.Message{ {Name: "destroyed", Signature: "", Types: []*server.Interface{}}, } if err := server.NewInterfaces(ZxdgExporterV2Interface, ZxdgImporterV2Interface, ZxdgExportedV2Interface, ZxdgImportedV2Interface); err != nil { panic(err) } } // ZxdgExporterV2 interface for exporting surfaces. type ZxdgExporterV2 struct{ *server.Resource } func WrapZxdgExporterV2(r *server.Resource) *ZxdgExporterV2 { if r == nil { return nil } return &ZxdgExporterV2{r} } const ZxdgExporterV2RequestDestroy uint32 = 0 const ZxdgExporterV2RequestExportToplevel uint32 = 1 // ZxdgExporterV2Error error values. type ZxdgExporterV2Error uint32 const ( ZxdgExporterV2ErrorInvalidSurface ZxdgExporterV2Error = 0 ) // ZxdgExporterV2Handler handles zxdg_exporter_v2 requests. type ZxdgExporterV2Handler interface { Destroy(self *ZxdgExporterV2) ExportToplevel(self *ZxdgExporterV2, id uint32, surface *wayland.Surface) } func NewZxdgExporterV2(c server.Client, version int32, id uint32, h ZxdgExporterV2Handler) (*ZxdgExporterV2, error) { if h == nil { return nil, fmt.Errorf("purego-libwayland: nil handler for zxdg_exporter_v2") } var self *ZxdgExporterV2 r, err := c.CreateResource(ZxdgExporterV2Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) { switch opcode { case 0: h.Destroy(self) self.Destroy() case 1: h.ExportToplevel(self, args[0].NewID(), wayland.WrapSurface(args[1].Resource())) } }) if err != nil { return nil, err } self = WrapZxdgExporterV2(r) r.Data = self return self, nil } func NewZxdgExporterV2Global(d *server.Display, version int32, bind server.BindFunc) error { return d.CreateGlobal(ZxdgExporterV2Interface, version, bind) } // ZxdgImporterV2 interface for importing surfaces. type ZxdgImporterV2 struct{ *server.Resource } func WrapZxdgImporterV2(r *server.Resource) *ZxdgImporterV2 { if r == nil { return nil } return &ZxdgImporterV2{r} } const ZxdgImporterV2RequestDestroy uint32 = 0 const ZxdgImporterV2RequestImportToplevel uint32 = 1 // ZxdgImporterV2Handler handles zxdg_importer_v2 requests. type ZxdgImporterV2Handler interface { Destroy(self *ZxdgImporterV2) ImportToplevel(self *ZxdgImporterV2, id uint32, handle string) } func NewZxdgImporterV2(c server.Client, version int32, id uint32, h ZxdgImporterV2Handler) (*ZxdgImporterV2, error) { if h == nil { return nil, fmt.Errorf("purego-libwayland: nil handler for zxdg_importer_v2") } var self *ZxdgImporterV2 r, err := c.CreateResource(ZxdgImporterV2Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) { switch opcode { case 0: h.Destroy(self) self.Destroy() case 1: h.ImportToplevel(self, args[0].NewID(), args[1].String()) } }) if err != nil { return nil, err } self = WrapZxdgImporterV2(r) r.Data = self return self, nil } func NewZxdgImporterV2Global(d *server.Display, version int32, bind server.BindFunc) error { return d.CreateGlobal(ZxdgImporterV2Interface, version, bind) } // ZxdgExportedV2 an exported surface handle. type ZxdgExportedV2 struct{ *server.Resource } func WrapZxdgExportedV2(r *server.Resource) *ZxdgExportedV2 { if r == nil { return nil } return &ZxdgExportedV2{r} } const ZxdgExportedV2RequestDestroy uint32 = 0 const ZxdgExportedV2EventHandle uint32 = 0 // ZxdgExportedV2Handler handles zxdg_exported_v2 requests. type ZxdgExportedV2Handler interface { Destroy(self *ZxdgExportedV2) } func NewZxdgExportedV2(c server.Client, version int32, id uint32, h ZxdgExportedV2Handler) (*ZxdgExportedV2, error) { if h == nil { return nil, fmt.Errorf("purego-libwayland: nil handler for zxdg_exported_v2") } var self *ZxdgExportedV2 r, err := c.CreateResource(ZxdgExportedV2Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) { switch opcode { case 0: h.Destroy(self) self.Destroy() } }) if err != nil { return nil, err } self = WrapZxdgExportedV2(r) r.Data = self return self, nil } // SendHandle the exported surface handle. func (self *ZxdgExportedV2) SendHandle(handle string) { var p runtime.Pinner defer p.Unpin() self.PostEvent(ZxdgExportedV2EventHandle, server.String(&p, handle, false)) } func NewZxdgExportedV2Global(d *server.Display, version int32, bind server.BindFunc) error { return d.CreateGlobal(ZxdgExportedV2Interface, version, bind) } // ZxdgImportedV2 an imported surface handle. type ZxdgImportedV2 struct{ *server.Resource } func WrapZxdgImportedV2(r *server.Resource) *ZxdgImportedV2 { if r == nil { return nil } return &ZxdgImportedV2{r} } const ZxdgImportedV2RequestDestroy uint32 = 0 const ZxdgImportedV2RequestSetParentOf uint32 = 1 const ZxdgImportedV2EventDestroyed uint32 = 0 // ZxdgImportedV2Error error values. type ZxdgImportedV2Error uint32 const ( ZxdgImportedV2ErrorInvalidSurface ZxdgImportedV2Error = 0 ) // ZxdgImportedV2Handler handles zxdg_imported_v2 requests. type ZxdgImportedV2Handler interface { Destroy(self *ZxdgImportedV2) SetParentOf(self *ZxdgImportedV2, surface *wayland.Surface) } func NewZxdgImportedV2(c server.Client, version int32, id uint32, h ZxdgImportedV2Handler) (*ZxdgImportedV2, error) { if h == nil { return nil, fmt.Errorf("purego-libwayland: nil handler for zxdg_imported_v2") } var self *ZxdgImportedV2 r, err := c.CreateResource(ZxdgImportedV2Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) { switch opcode { case 0: h.Destroy(self) self.Destroy() case 1: h.SetParentOf(self, wayland.WrapSurface(args[0].Resource())) } }) if err != nil { return nil, err } self = WrapZxdgImportedV2(r) r.Data = self return self, nil } // SendDestroyed the imported surface handle has been destroyed. func (self *ZxdgImportedV2) SendDestroyed() { self.PostEvent(ZxdgImportedV2EventDestroyed) } func NewZxdgImportedV2Global(d *server.Display, version int32, bind server.BindFunc) error { return d.CreateGlobal(ZxdgImportedV2Interface, version, bind) } func resourceOf(v interface{ GetResource() *server.Resource }) *server.Resource { if v == nil { return nil } return v.GetResource() } func (self *ZxdgExporterV2) GetResource() *server.Resource { if self == nil { return nil } return self.Resource } func (self *ZxdgImporterV2) GetResource() *server.Resource { if self == nil { return nil } return self.Resource } func (self *ZxdgExportedV2) GetResource() *server.Resource { if self == nil { return nil } return self.Resource } func (self *ZxdgImportedV2) GetResource() *server.Resource { if self == nil { return nil } return self.Resource }