1// Code generated by wlgen; DO NOT EDIT.
2package virtualkeyboard
3
4import (
5 "fmt"
6 wayland "github.com/bnema/purego-libwayland/protocol/wayland"
7 "github.com/bnema/purego-libwayland/server"
8)
9
10var ZwpVirtualKeyboardV1Interface *server.Interface
11var ZwpVirtualKeyboardManagerV1Interface *server.Interface
12
13func init() {
14 ZwpVirtualKeyboardV1Interface = &server.Interface{Name: "zwp_virtual_keyboard_v1", Version: 1}
15 ZwpVirtualKeyboardManagerV1Interface = &server.Interface{Name: "zwp_virtual_keyboard_manager_v1", Version: 1}
16 ZwpVirtualKeyboardV1Interface.Requests = []server.Message{
17 {Name: "keymap", Signature: "uhu", Types: []*server.Interface{nil, nil, nil}},
18 {Name: "key", Signature: "uuu", Types: []*server.Interface{nil, nil, nil}},
19 {Name: "modifiers", Signature: "uuuu", Types: []*server.Interface{nil, nil, nil, nil}},
20 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
21 }
22 ZwpVirtualKeyboardV1Interface.Events = []server.Message{}
23 ZwpVirtualKeyboardManagerV1Interface.Requests = []server.Message{
24 {Name: "create_virtual_keyboard", Signature: "on", Types: []*server.Interface{wayland.SeatInterface, ZwpVirtualKeyboardV1Interface}},
25 }
26 ZwpVirtualKeyboardManagerV1Interface.Events = []server.Message{}
27 if err := server.NewInterfaces(ZwpVirtualKeyboardV1Interface, ZwpVirtualKeyboardManagerV1Interface); err != nil {
28 panic(err)
29 }
30}
31
32// ZwpVirtualKeyboardV1 virtual keyboard.
33type ZwpVirtualKeyboardV1 struct{ *server.Resource }
34
35func WrapZwpVirtualKeyboardV1(r *server.Resource) *ZwpVirtualKeyboardV1 {
36 if r == nil {
37 return nil
38 }
39 return &ZwpVirtualKeyboardV1{r}
40}
41
42const ZwpVirtualKeyboardV1RequestKeymap uint32 = 0
43const ZwpVirtualKeyboardV1RequestKey uint32 = 1
44const ZwpVirtualKeyboardV1RequestModifiers uint32 = 2
45const ZwpVirtualKeyboardV1RequestDestroy uint32 = 3
46
47// ZwpVirtualKeyboardV1Error .
48type ZwpVirtualKeyboardV1Error uint32
49
50const (
51 ZwpVirtualKeyboardV1ErrorNoKeymap ZwpVirtualKeyboardV1Error = 0
52)
53
54// ZwpVirtualKeyboardV1Handler handles zwp_virtual_keyboard_v1 requests.
55type ZwpVirtualKeyboardV1Handler interface {
56 Keymap(self *ZwpVirtualKeyboardV1, format uint32, fd int, size uint32)
57 Key(self *ZwpVirtualKeyboardV1, time uint32, key uint32, state uint32)
58 Modifiers(self *ZwpVirtualKeyboardV1, modsDepressed uint32, modsLatched uint32, modsLocked uint32, group uint32)
59 Destroy(self *ZwpVirtualKeyboardV1)
60}
61
62func NewZwpVirtualKeyboardV1(c server.Client, version int32, id uint32, h ZwpVirtualKeyboardV1Handler) (*ZwpVirtualKeyboardV1, error) {
63 if h == nil {
64 return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_virtual_keyboard_v1")
65 }
66 var self *ZwpVirtualKeyboardV1
67 r, err := c.CreateResource(ZwpVirtualKeyboardV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
68 switch opcode {
69 case 0:
70 h.Keymap(self, args[0].Uint(), args[1].Fd(), args[2].Uint())
71 case 1:
72 h.Key(self, args[0].Uint(), args[1].Uint(), args[2].Uint())
73 case 2:
74 h.Modifiers(self, args[0].Uint(), args[1].Uint(), args[2].Uint(), args[3].Uint())
75 case 3:
76 h.Destroy(self)
77 self.Destroy()
78 }
79 })
80 if err != nil {
81 return nil, err
82 }
83 self = WrapZwpVirtualKeyboardV1(r)
84 r.Data = self
85 return self, nil
86}
87func NewZwpVirtualKeyboardV1Global(d *server.Display, version int32, bind server.BindFunc) error {
88 return d.CreateGlobal(ZwpVirtualKeyboardV1Interface, version, bind)
89}
90
91// ZwpVirtualKeyboardManagerV1 virtual keyboard manager.
92type ZwpVirtualKeyboardManagerV1 struct{ *server.Resource }
93
94func WrapZwpVirtualKeyboardManagerV1(r *server.Resource) *ZwpVirtualKeyboardManagerV1 {
95 if r == nil {
96 return nil
97 }
98 return &ZwpVirtualKeyboardManagerV1{r}
99}
100
101const ZwpVirtualKeyboardManagerV1RequestCreateVirtualKeyboard uint32 = 0
102
103// ZwpVirtualKeyboardManagerV1Error .
104type ZwpVirtualKeyboardManagerV1Error uint32
105
106const (
107 ZwpVirtualKeyboardManagerV1ErrorUnauthorized ZwpVirtualKeyboardManagerV1Error = 0
108)
109
110// ZwpVirtualKeyboardManagerV1Handler handles zwp_virtual_keyboard_manager_v1 requests.
111type ZwpVirtualKeyboardManagerV1Handler interface {
112 CreateVirtualKeyboard(self *ZwpVirtualKeyboardManagerV1, seat *wayland.Seat, id uint32)
113}
114
115func NewZwpVirtualKeyboardManagerV1(c server.Client, version int32, id uint32, h ZwpVirtualKeyboardManagerV1Handler) (*ZwpVirtualKeyboardManagerV1, error) {
116 if h == nil {
117 return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_virtual_keyboard_manager_v1")
118 }
119 var self *ZwpVirtualKeyboardManagerV1
120 r, err := c.CreateResource(ZwpVirtualKeyboardManagerV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
121 switch opcode {
122 case 0:
123 h.CreateVirtualKeyboard(self, wayland.WrapSeat(args[0].Resource()), args[1].NewID())
124 }
125 })
126 if err != nil {
127 return nil, err
128 }
129 self = WrapZwpVirtualKeyboardManagerV1(r)
130 r.Data = self
131 return self, nil
132}
133func NewZwpVirtualKeyboardManagerV1Global(d *server.Display, version int32, bind server.BindFunc) error {
134 return d.CreateGlobal(ZwpVirtualKeyboardManagerV1Interface, version, bind)
135}
136func resourceOf(v interface{ GetResource() *server.Resource }) *server.Resource {
137 if v == nil {
138 return nil
139 }
140 return v.GetResource()
141}
142func (self *ZwpVirtualKeyboardV1) GetResource() *server.Resource {
143 if self == nil {
144 return nil
145 }
146 return self.Resource
147}
148func (self *ZwpVirtualKeyboardManagerV1) GetResource() *server.Resource {
149 if self == nil {
150 return nil
151 }
152 return self.Resource
153}