// Code generated by wlbgen; DO NOT EDIT. // Upstream protocol copyright and license: // Copyright © 2019 Josef Gajdusek // // Permission is hereby granted, free of charge, to any person obtaining a // copy of this software and associated documentation files (the "Software"), // to deal in the Software without restriction, including without limitation // the rights to use, copy, modify, merge, publish, distribute, sublicense, // and/or sell copies of the Software, and to permit persons to whom the // Software is furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice (including the next // paragraph) shall be included in all copies or substantial portions of the // Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. package wlrvirtualpointer import ( "fmt" wayland "github.com/bnema/go-wayland-bindings/server/wayland" "github.com/bnema/purego-libwayland/server" ) var ZwlrVirtualPointerV1Interface *server.Interface var ZwlrVirtualPointerManagerV1Interface *server.Interface func init() { ZwlrVirtualPointerV1Interface = &server.Interface{Name: "zwlr_virtual_pointer_v1", Version: 2} ZwlrVirtualPointerManagerV1Interface = &server.Interface{Name: "zwlr_virtual_pointer_manager_v1", Version: 2} ZwlrVirtualPointerV1Interface.Requests = []server.Message{ {Name: "motion", Signature: "uff", Types: []*server.Interface{nil, nil, nil}}, {Name: "motion_absolute", Signature: "uuuuu", Types: []*server.Interface{nil, nil, nil, nil, nil}}, {Name: "button", Signature: "uuu", Types: []*server.Interface{nil, nil, nil}}, {Name: "axis", Signature: "uuf", Types: []*server.Interface{nil, nil, nil}}, {Name: "frame", Signature: "", Types: []*server.Interface{}}, {Name: "axis_source", Signature: "u", Types: []*server.Interface{nil}}, {Name: "axis_stop", Signature: "uu", Types: []*server.Interface{nil, nil}}, {Name: "axis_discrete", Signature: "uufi", Types: []*server.Interface{nil, nil, nil, nil}}, {Name: "destroy", Signature: "", Types: []*server.Interface{}}, } ZwlrVirtualPointerV1Interface.Events = []server.Message{} ZwlrVirtualPointerManagerV1Interface.Requests = []server.Message{ {Name: "create_virtual_pointer", Signature: "?on", Types: []*server.Interface{wayland.SeatInterface, ZwlrVirtualPointerV1Interface}}, {Name: "destroy", Signature: "", Types: []*server.Interface{}}, {Name: "create_virtual_pointer_with_output", Signature: "2?o?on", Types: []*server.Interface{wayland.SeatInterface, wayland.OutputInterface, ZwlrVirtualPointerV1Interface}}, } ZwlrVirtualPointerManagerV1Interface.Events = []server.Message{} if err := server.NewInterfaces(ZwlrVirtualPointerV1Interface, ZwlrVirtualPointerManagerV1Interface); err != nil { panic(err) } } // ZwlrVirtualPointerV1 virtual pointer. type ZwlrVirtualPointerV1 struct{ *server.Resource } func WrapZwlrVirtualPointerV1(r *server.Resource) *ZwlrVirtualPointerV1 { if r == nil { return nil } return &ZwlrVirtualPointerV1{r} } const ZwlrVirtualPointerV1RequestMotion uint32 = 0 const ZwlrVirtualPointerV1RequestMotionAbsolute uint32 = 1 const ZwlrVirtualPointerV1RequestButton uint32 = 2 const ZwlrVirtualPointerV1RequestAxis uint32 = 3 const ZwlrVirtualPointerV1RequestFrame uint32 = 4 const ZwlrVirtualPointerV1RequestAxisSource uint32 = 5 const ZwlrVirtualPointerV1RequestAxisStop uint32 = 6 const ZwlrVirtualPointerV1RequestAxisDiscrete uint32 = 7 const ZwlrVirtualPointerV1RequestDestroy uint32 = 8 // ZwlrVirtualPointerV1Error . type ZwlrVirtualPointerV1Error uint32 const ( ZwlrVirtualPointerV1ErrorInvalidAxis ZwlrVirtualPointerV1Error = 0 ZwlrVirtualPointerV1ErrorInvalidAxisSource ZwlrVirtualPointerV1Error = 1 ) // ZwlrVirtualPointerV1Handler handles zwlr_virtual_pointer_v1 requests. type ZwlrVirtualPointerV1Handler interface { Motion(self *ZwlrVirtualPointerV1, time uint32, dx server.Fixed, dy server.Fixed) MotionAbsolute(self *ZwlrVirtualPointerV1, time uint32, x uint32, y uint32, xExtent uint32, yExtent uint32) Button(self *ZwlrVirtualPointerV1, time uint32, button uint32, state uint32) Axis(self *ZwlrVirtualPointerV1, time uint32, axis uint32, value server.Fixed) Frame(self *ZwlrVirtualPointerV1) AxisSource(self *ZwlrVirtualPointerV1, axisSource uint32) AxisStop(self *ZwlrVirtualPointerV1, time uint32, axis uint32) AxisDiscrete(self *ZwlrVirtualPointerV1, time uint32, axis uint32, value server.Fixed, discrete int32) Destroy(self *ZwlrVirtualPointerV1) } func NewZwlrVirtualPointerV1(c server.Client, version int32, id uint32, h ZwlrVirtualPointerV1Handler) (*ZwlrVirtualPointerV1, error) { if h == nil { return nil, fmt.Errorf("purego-libwayland: nil handler for zwlr_virtual_pointer_v1") } var self *ZwlrVirtualPointerV1 r, err := c.CreateResource(ZwlrVirtualPointerV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) { switch opcode { case 0: h.Motion(self, args[0].Uint(), args[1].Fixed(), args[2].Fixed()) case 1: h.MotionAbsolute(self, args[0].Uint(), args[1].Uint(), args[2].Uint(), args[3].Uint(), args[4].Uint()) case 2: h.Button(self, args[0].Uint(), args[1].Uint(), args[2].Uint()) case 3: h.Axis(self, args[0].Uint(), args[1].Uint(), args[2].Fixed()) case 4: h.Frame(self) case 5: h.AxisSource(self, args[0].Uint()) case 6: h.AxisStop(self, args[0].Uint(), args[1].Uint()) case 7: h.AxisDiscrete(self, args[0].Uint(), args[1].Uint(), args[2].Fixed(), args[3].Int()) case 8: h.Destroy(self) self.Destroy() } }) if err != nil { return nil, err } self = WrapZwlrVirtualPointerV1(r) r.Data = self return self, nil } func NewZwlrVirtualPointerV1Global(d *server.Display, version int32, bind server.BindFunc) error { return d.CreateGlobal(ZwlrVirtualPointerV1Interface, version, bind) } // ZwlrVirtualPointerManagerV1 virtual pointer manager. type ZwlrVirtualPointerManagerV1 struct{ *server.Resource } func WrapZwlrVirtualPointerManagerV1(r *server.Resource) *ZwlrVirtualPointerManagerV1 { if r == nil { return nil } return &ZwlrVirtualPointerManagerV1{r} } const ZwlrVirtualPointerManagerV1RequestCreateVirtualPointer uint32 = 0 const ZwlrVirtualPointerManagerV1RequestDestroy uint32 = 1 const ZwlrVirtualPointerManagerV1RequestCreateVirtualPointerWithOutput uint32 = 2 // ZwlrVirtualPointerManagerV1Handler handles zwlr_virtual_pointer_manager_v1 requests. type ZwlrVirtualPointerManagerV1Handler interface { CreateVirtualPointer(self *ZwlrVirtualPointerManagerV1, seat *wayland.Seat, id uint32) Destroy(self *ZwlrVirtualPointerManagerV1) CreateVirtualPointerWithOutput(self *ZwlrVirtualPointerManagerV1, seat *wayland.Seat, output *wayland.Output, id uint32) } func NewZwlrVirtualPointerManagerV1(c server.Client, version int32, id uint32, h ZwlrVirtualPointerManagerV1Handler) (*ZwlrVirtualPointerManagerV1, error) { if h == nil { return nil, fmt.Errorf("purego-libwayland: nil handler for zwlr_virtual_pointer_manager_v1") } var self *ZwlrVirtualPointerManagerV1 r, err := c.CreateResource(ZwlrVirtualPointerManagerV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) { switch opcode { case 0: h.CreateVirtualPointer(self, wayland.WrapSeat(args[0].Resource()), args[1].NewID()) case 1: h.Destroy(self) self.Destroy() case 2: h.CreateVirtualPointerWithOutput(self, wayland.WrapSeat(args[0].Resource()), wayland.WrapOutput(args[1].Resource()), args[2].NewID()) } }) if err != nil { return nil, err } self = WrapZwlrVirtualPointerManagerV1(r) r.Data = self return self, nil } func NewZwlrVirtualPointerManagerV1Global(d *server.Display, version int32, bind server.BindFunc) error { return d.CreateGlobal(ZwlrVirtualPointerManagerV1Interface, version, bind) } func resourceOf(v interface{ GetResource() *server.Resource }) *server.Resource { if v == nil { return nil } return v.GetResource() } func (self *ZwlrVirtualPointerV1) GetResource() *server.Resource { if self == nil { return nil } return self.Resource } func (self *ZwlrVirtualPointerManagerV1) GetResource() *server.Resource { if self == nil { return nil } return self.Resource }