main 5004296

linuxexplicitsynchronization_generated.go RawHistoryFolder

1// Code generated by wlbgen; DO NOT EDIT.
2
3// Upstream protocol copyright and license:
4// Copyright 2016 The Chromium Authors.
5// Copyright 2017 Intel Corporation
6// Copyright 2018 Collabora, Ltd
7//
8// Permission is hereby granted, free of charge, to any person obtaining a
9// copy of this software and associated documentation files (the "Software"),
10// to deal in the Software without restriction, including without limitation
11// the rights to use, copy, modify, merge, publish, distribute, sublicense,
12// and/or sell copies of the Software, and to permit persons to whom the
13// Software is furnished to do so, subject to the following conditions:
14//
15// The above copyright notice and this permission notice (including the next
16// paragraph) shall be included in all copies or substantial portions of the
17// Software.
18//
19// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
22// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25// DEALINGS IN THE SOFTWARE.
26
27package linuxexplicitsynchronization
28
29import (
30	"fmt"
31	wayland "github.com/bnema/go-wayland-bindings/server/wayland"
32	"github.com/bnema/purego-libwayland/server"
33)
34
35var ZwpLinuxExplicitSynchronizationV1Interface *server.Interface
36var ZwpLinuxSurfaceSynchronizationV1Interface *server.Interface
37var ZwpLinuxBufferReleaseV1Interface *server.Interface
38
39func init() {
40	ZwpLinuxExplicitSynchronizationV1Interface = &server.Interface{Name: "zwp_linux_explicit_synchronization_v1", Version: 2}
41	ZwpLinuxSurfaceSynchronizationV1Interface = &server.Interface{Name: "zwp_linux_surface_synchronization_v1", Version: 2}
42	ZwpLinuxBufferReleaseV1Interface = &server.Interface{Name: "zwp_linux_buffer_release_v1", Version: 1}
43	ZwpLinuxExplicitSynchronizationV1Interface.Requests = []server.Message{
44		{Name: "destroy", Signature: "", Types: []*server.Interface{}},
45		{Name: "get_synchronization", Signature: "no", Types: []*server.Interface{ZwpLinuxSurfaceSynchronizationV1Interface, wayland.SurfaceInterface}},
46	}
47	ZwpLinuxExplicitSynchronizationV1Interface.Events = []server.Message{}
48	ZwpLinuxSurfaceSynchronizationV1Interface.Requests = []server.Message{
49		{Name: "destroy", Signature: "", Types: []*server.Interface{}},
50		{Name: "set_acquire_fence", Signature: "h", Types: []*server.Interface{nil}},
51		{Name: "get_release", Signature: "n", Types: []*server.Interface{ZwpLinuxBufferReleaseV1Interface}},
52	}
53	ZwpLinuxSurfaceSynchronizationV1Interface.Events = []server.Message{}
54	ZwpLinuxBufferReleaseV1Interface.Requests = []server.Message{}
55	ZwpLinuxBufferReleaseV1Interface.Events = []server.Message{
56		{Name: "fenced_release", Signature: "h", Types: []*server.Interface{nil}},
57		{Name: "immediate_release", Signature: "", Types: []*server.Interface{}},
58	}
59	if err := server.NewInterfaces(ZwpLinuxExplicitSynchronizationV1Interface, ZwpLinuxSurfaceSynchronizationV1Interface, ZwpLinuxBufferReleaseV1Interface); err != nil {
60		panic(err)
61	}
62}
63
64// ZwpLinuxExplicitSynchronizationV1 protocol for providing explicit synchronization.
65type ZwpLinuxExplicitSynchronizationV1 struct{ *server.Resource }
66
67func WrapZwpLinuxExplicitSynchronizationV1(r *server.Resource) *ZwpLinuxExplicitSynchronizationV1 {
68	if r == nil {
69		return nil
70	}
71	return &ZwpLinuxExplicitSynchronizationV1{r}
72}
73
74const ZwpLinuxExplicitSynchronizationV1RequestDestroy uint32 = 0
75const ZwpLinuxExplicitSynchronizationV1RequestGetSynchronization uint32 = 1
76
77// ZwpLinuxExplicitSynchronizationV1Error .
78type ZwpLinuxExplicitSynchronizationV1Error uint32
79
80const (
81	ZwpLinuxExplicitSynchronizationV1ErrorSynchronizationExists ZwpLinuxExplicitSynchronizationV1Error = 0
82)
83
84// ZwpLinuxExplicitSynchronizationV1Handler handles zwp_linux_explicit_synchronization_v1 requests.
85type ZwpLinuxExplicitSynchronizationV1Handler interface {
86	Destroy(self *ZwpLinuxExplicitSynchronizationV1)
87	GetSynchronization(self *ZwpLinuxExplicitSynchronizationV1, id uint32, surface *wayland.Surface)
88}
89
90func NewZwpLinuxExplicitSynchronizationV1(c server.Client, version int32, id uint32, h ZwpLinuxExplicitSynchronizationV1Handler) (*ZwpLinuxExplicitSynchronizationV1, error) {
91	if h == nil {
92		return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_linux_explicit_synchronization_v1")
93	}
94	var self *ZwpLinuxExplicitSynchronizationV1
95	r, err := c.CreateResource(ZwpLinuxExplicitSynchronizationV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
96		switch opcode {
97		case 0:
98			h.Destroy(self)
99			self.Destroy()
100		case 1:
101			h.GetSynchronization(self, args[0].NewID(), wayland.WrapSurface(args[1].Resource()))
102		}
103	})
104	if err != nil {
105		return nil, err
106	}
107	self = WrapZwpLinuxExplicitSynchronizationV1(r)
108	r.Data = self
109	return self, nil
110}
111func NewZwpLinuxExplicitSynchronizationV1Global(d *server.Display, version int32, bind server.BindFunc) error {
112	return d.CreateGlobal(ZwpLinuxExplicitSynchronizationV1Interface, version, bind)
113}
114
115// ZwpLinuxSurfaceSynchronizationV1 per-surface explicit synchronization support.
116type ZwpLinuxSurfaceSynchronizationV1 struct{ *server.Resource }
117
118func WrapZwpLinuxSurfaceSynchronizationV1(r *server.Resource) *ZwpLinuxSurfaceSynchronizationV1 {
119	if r == nil {
120		return nil
121	}
122	return &ZwpLinuxSurfaceSynchronizationV1{r}
123}
124
125const ZwpLinuxSurfaceSynchronizationV1RequestDestroy uint32 = 0
126const ZwpLinuxSurfaceSynchronizationV1RequestSetAcquireFence uint32 = 1
127const ZwpLinuxSurfaceSynchronizationV1RequestGetRelease uint32 = 2
128
129// ZwpLinuxSurfaceSynchronizationV1Error .
130type ZwpLinuxSurfaceSynchronizationV1Error uint32
131
132const (
133	ZwpLinuxSurfaceSynchronizationV1ErrorInvalidFence      ZwpLinuxSurfaceSynchronizationV1Error = 0
134	ZwpLinuxSurfaceSynchronizationV1ErrorDuplicateFence    ZwpLinuxSurfaceSynchronizationV1Error = 1
135	ZwpLinuxSurfaceSynchronizationV1ErrorDuplicateRelease  ZwpLinuxSurfaceSynchronizationV1Error = 2
136	ZwpLinuxSurfaceSynchronizationV1ErrorNoSurface         ZwpLinuxSurfaceSynchronizationV1Error = 3
137	ZwpLinuxSurfaceSynchronizationV1ErrorUnsupportedBuffer ZwpLinuxSurfaceSynchronizationV1Error = 4
138	ZwpLinuxSurfaceSynchronizationV1ErrorNoBuffer          ZwpLinuxSurfaceSynchronizationV1Error = 5
139)
140
141// ZwpLinuxSurfaceSynchronizationV1Handler handles zwp_linux_surface_synchronization_v1 requests.
142type ZwpLinuxSurfaceSynchronizationV1Handler interface {
143	Destroy(self *ZwpLinuxSurfaceSynchronizationV1)
144	SetAcquireFence(self *ZwpLinuxSurfaceSynchronizationV1, fd int)
145	GetRelease(self *ZwpLinuxSurfaceSynchronizationV1, release uint32)
146}
147
148func NewZwpLinuxSurfaceSynchronizationV1(c server.Client, version int32, id uint32, h ZwpLinuxSurfaceSynchronizationV1Handler) (*ZwpLinuxSurfaceSynchronizationV1, error) {
149	if h == nil {
150		return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_linux_surface_synchronization_v1")
151	}
152	var self *ZwpLinuxSurfaceSynchronizationV1
153	r, err := c.CreateResource(ZwpLinuxSurfaceSynchronizationV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
154		switch opcode {
155		case 0:
156			h.Destroy(self)
157			self.Destroy()
158		case 1:
159			h.SetAcquireFence(self, args[0].Fd())
160		case 2:
161			h.GetRelease(self, args[0].NewID())
162		}
163	})
164	if err != nil {
165		return nil, err
166	}
167	self = WrapZwpLinuxSurfaceSynchronizationV1(r)
168	r.Data = self
169	return self, nil
170}
171func NewZwpLinuxSurfaceSynchronizationV1Global(d *server.Display, version int32, bind server.BindFunc) error {
172	return d.CreateGlobal(ZwpLinuxSurfaceSynchronizationV1Interface, version, bind)
173}
174
175// ZwpLinuxBufferReleaseV1 buffer release explicit synchronization.
176type ZwpLinuxBufferReleaseV1 struct{ *server.Resource }
177
178func WrapZwpLinuxBufferReleaseV1(r *server.Resource) *ZwpLinuxBufferReleaseV1 {
179	if r == nil {
180		return nil
181	}
182	return &ZwpLinuxBufferReleaseV1{r}
183}
184
185const ZwpLinuxBufferReleaseV1EventFencedRelease uint32 = 0
186const ZwpLinuxBufferReleaseV1EventImmediateRelease uint32 = 1
187
188// ZwpLinuxBufferReleaseV1Handler handles zwp_linux_buffer_release_v1 requests.
189type ZwpLinuxBufferReleaseV1Handler interface {
190}
191
192func NewZwpLinuxBufferReleaseV1(c server.Client, version int32, id uint32, h ZwpLinuxBufferReleaseV1Handler) (*ZwpLinuxBufferReleaseV1, error) {
193	var self *ZwpLinuxBufferReleaseV1
194	r, err := c.CreateResource(ZwpLinuxBufferReleaseV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
195		switch opcode {
196		}
197	})
198	if err != nil {
199		return nil, err
200	}
201	self = WrapZwpLinuxBufferReleaseV1(r)
202	r.Data = self
203	return self, nil
204}
205
206// SendFencedRelease release buffer with fence.
207func (self *ZwpLinuxBufferReleaseV1) SendFencedRelease(fence int) {
208	self.PostEvent(ZwpLinuxBufferReleaseV1EventFencedRelease, server.Fd(fence))
209}
210
211// SendImmediateRelease release buffer immediately.
212func (self *ZwpLinuxBufferReleaseV1) SendImmediateRelease() {
213	self.PostEvent(ZwpLinuxBufferReleaseV1EventImmediateRelease)
214}
215func NewZwpLinuxBufferReleaseV1Global(d *server.Display, version int32, bind server.BindFunc) error {
216	return d.CreateGlobal(ZwpLinuxBufferReleaseV1Interface, version, bind)
217}
218func resourceOf(v interface{ GetResource() *server.Resource }) *server.Resource {
219	if v == nil {
220		return nil
221	}
222	return v.GetResource()
223}
224func (self *ZwpLinuxExplicitSynchronizationV1) GetResource() *server.Resource {
225	if self == nil {
226		return nil
227	}
228	return self.Resource
229}
230func (self *ZwpLinuxSurfaceSynchronizationV1) GetResource() *server.Resource {
231	if self == nil {
232		return nil
233	}
234	return self.Resource
235}
236func (self *ZwpLinuxBufferReleaseV1) GetResource() *server.Resource {
237	if self == nil {
238		return nil
239	}
240	return self.Resource
241}

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 1

Tags 1

↑↓ moveenter openesc close