v0.5.0 089fa12

fifo-v1_generated.go RawHistoryFolder

1// Code generated by wlturbo-scanner. DO NOT EDIT.
2// Protocol: fifo_v1
3// Source: fifo-v1.xml
4
5// Upstream protocol copyright and license:
6// Copyright © 2023 Valve Corporation
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 fifo
28
29import (
30	cross_wl_surface "github.com/bnema/wlturbo/protocol/core"
31	"github.com/bnema/wlturbo/wl"
32)
33
34// ERROR_ALREADY_EXISTS is the error already_exists value.
35const ERROR_ALREADY_EXISTS = 0
36
37// ERROR_SURFACE_DESTROYED is the error surface_destroyed value.
38const ERROR_SURFACE_DESTROYED = 0
39
40// WpFifoManagerInterface is the protocol interface name.
41const WpFifoManagerInterface = "wp_fifo_manager_v1"
42
43// WpFifoManager is the generated binding for wp_fifo_manager_v1 version 1.
44type WpFifoManager struct {
45	wl.BaseProxy
46}
47
48// NewWpFifoManager returns an unbound WpFifoManager.
49func NewWpFifoManager(ctx *wl.Context) *WpFifoManager {
50	obj := &WpFifoManager{}
51	obj.SetContext(ctx)
52	ctx.Register(obj)
53	return obj
54}
55
56// Informs the server that the client will no longer be using this protocol object. Existing objects created by this object are not affected.
57func (o *WpFifoManager) Destroy() error {
58	if err := o.Context().RequestArgs(wl.Request{Proxy: o, Opcode: 0, Name: "wp_fifo_manager_v1.destroy", Destructor: true}); err != nil {
59		return err
60	}
61	return nil
62}
63
64// Establish a fifo object for a surface that may be used to add display refresh constraints to content updates. Only one such object may exist for a surface and attempting to create more than one will result in an already_exists protocol error. If a surface is acted on by multiple software components, general best practice is that only the component performing wl_surface.attach operations should use this protocol.
65func (o *WpFifoManager) GetFifo(surface *cross_wl_surface.Surface) (*WpFifo, error) {
66	var arg1 wl.Object
67	if surface != nil {
68		arg1 = surface
69	}
70	child := &WpFifo{}
71	child.SetContext(o.Context())
72	if err := o.Context().RequestArgs(wl.Request{Proxy: o, Opcode: 1, Name: "wp_fifo_manager_v1.get_fifo", Child: child}, wl.ArgObject(child), wl.ArgObject(arg1)); err != nil {
73		return nil, err
74	}
75	return child, nil
76}
77
78// EventSignature returns the declared event argument types in wire order.
79func (o *WpFifoManager) EventSignature(opcode uint16) (string, bool) {
80	switch opcode {
81	default:
82		return "", false
83	}
84}
85
86// Dispatch decodes one event on wp_fifo_manager_v1 and calls the registered handlers.
87func (o *WpFifoManager) Dispatch(event *wl.Event) {
88	switch event.Opcode {
89	default:
90	}
91}
92
93// WpFifoInterface is the protocol interface name.
94const WpFifoInterface = "wp_fifo_v1"
95
96// WpFifo is the generated binding for wp_fifo_v1 version 1.
97type WpFifo struct {
98	wl.BaseProxy
99}
100
101// NewWpFifo returns an unbound WpFifo.
102func NewWpFifo(ctx *wl.Context) *WpFifo {
103	obj := &WpFifo{}
104	obj.SetContext(ctx)
105	ctx.Register(obj)
106	return obj
107}
108
109// When the content update containing the "set_barrier" is applied, it sets a "fifo_barrier" condition on the surface associated with the fifo object. The condition is cleared immediately after the following latching deadline for non-tearing presentation. The compositor may clear the condition early if it must do so to ensure client forward progress assumptions. To wait for this condition to clear, use the "wait_barrier" request. "set_barrier" is double-buffered state, see wl_surface.commit. Requesting set_barrier after the fifo object's surface is destroyed will generate a "surface_destroyed" error.
110func (o *WpFifo) SetBarrier() error {
111	if err := o.Context().RequestArgs(wl.Request{Proxy: o, Opcode: 0, Name: "wp_fifo_v1.set_barrier"}); err != nil {
112		return err
113	}
114	return nil
115}
116
117// Indicate that this content update is not ready while a "fifo_barrier" condition is present on the surface. This means that when the content update containing "set_barrier" was made active at a latching deadline, it will be active for at least one refresh cycle. A content update which is allowed to tear might become active after a latching deadline if no content update became active at the deadline. The constraint must be ignored if the surface is a subsurface in synchronized mode. If the surface is not being updated by the compositor (off-screen, occluded) the compositor may ignore the constraint. Clients must use an additional mechanism such as frame callbacks or timestamps to ensure throttling occurs under all conditions. "wait_barrier" is double-buffered state, see wl_surface.commit. Requesting "wait_barrier" after the fifo object's surface is destroyed will generate a "surface_destroyed" error.
118func (o *WpFifo) WaitBarrier() error {
119	if err := o.Context().RequestArgs(wl.Request{Proxy: o, Opcode: 1, Name: "wp_fifo_v1.wait_barrier"}); err != nil {
120		return err
121	}
122	return nil
123}
124
125// Informs the server that the client will no longer be using this protocol object. Surface state changes previously made by this protocol are unaffected by this object's destruction.
126func (o *WpFifo) Destroy() error {
127	if err := o.Context().RequestArgs(wl.Request{Proxy: o, Opcode: 2, Name: "wp_fifo_v1.destroy", Destructor: true}); err != nil {
128		return err
129	}
130	return nil
131}
132
133// EventSignature returns the declared event argument types in wire order.
134func (o *WpFifo) EventSignature(opcode uint16) (string, bool) {
135	switch opcode {
136	default:
137		return "", false
138	}
139}
140
141// Dispatch decodes one event on wp_fifo_v1 and calls the registered handlers.
142func (o *WpFifo) Dispatch(event *wl.Event) {
143	switch event.Opcode {
144	default:
145	}
146}

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 8

↑↓ moveenter openesc close