1// Code generated by xtgen; DO NOT EDIT.
2package composite
3
4import "bnema.dev/xturbo/xfixes"
5import "bnema.dev/xturbo/xproto"
6import "encoding/binary"
7import "bnema.dev/xturbo"
8
9func QueryVersion(b *xturbo.Buf, clientMajorVersion uint32, clientMinorVersion uint32) xturbo.Seq {
10 if b.Ext == nil {
11 b.Fail(xturbo.ErrExtMissing)
12 return 0
13 }
14 major := b.Ext.Major(xturbo.ExtComposite)
15 if major == 0 {
16 b.Fail(xturbo.ErrExtMissing)
17 return 0
18 }
19 p, seq := b.Request(major, 0, 8)
20 if p == nil {
21 return 0
22 }
23 binary.LittleEndian.PutUint32(p[0:], uint32(clientMajorVersion))
24 binary.LittleEndian.PutUint32(p[4:], uint32(clientMinorVersion))
25 return seq
26}
27
28func RedirectWindow(b *xturbo.Buf, window xproto.Window, update Redirect) xturbo.Seq {
29 if b.Ext == nil {
30 b.Fail(xturbo.ErrExtMissing)
31 return 0
32 }
33 major := b.Ext.Major(xturbo.ExtComposite)
34 if major == 0 {
35 b.Fail(xturbo.ErrExtMissing)
36 return 0
37 }
38 p, seq := b.Request(major, 1, 8)
39 if p == nil {
40 return 0
41 }
42 binary.LittleEndian.PutUint32(p[0:], uint32(window))
43 p[4:][0] = byte(update)
44 return seq
45}
46
47func RedirectSubwindows(b *xturbo.Buf, window xproto.Window, update Redirect) xturbo.Seq {
48 if b.Ext == nil {
49 b.Fail(xturbo.ErrExtMissing)
50 return 0
51 }
52 major := b.Ext.Major(xturbo.ExtComposite)
53 if major == 0 {
54 b.Fail(xturbo.ErrExtMissing)
55 return 0
56 }
57 p, seq := b.Request(major, 2, 8)
58 if p == nil {
59 return 0
60 }
61 binary.LittleEndian.PutUint32(p[0:], uint32(window))
62 p[4:][0] = byte(update)
63 return seq
64}
65
66func UnredirectWindow(b *xturbo.Buf, window xproto.Window, update Redirect) xturbo.Seq {
67 if b.Ext == nil {
68 b.Fail(xturbo.ErrExtMissing)
69 return 0
70 }
71 major := b.Ext.Major(xturbo.ExtComposite)
72 if major == 0 {
73 b.Fail(xturbo.ErrExtMissing)
74 return 0
75 }
76 p, seq := b.Request(major, 3, 8)
77 if p == nil {
78 return 0
79 }
80 binary.LittleEndian.PutUint32(p[0:], uint32(window))
81 p[4:][0] = byte(update)
82 return seq
83}
84
85func UnredirectSubwindows(b *xturbo.Buf, window xproto.Window, update Redirect) xturbo.Seq {
86 if b.Ext == nil {
87 b.Fail(xturbo.ErrExtMissing)
88 return 0
89 }
90 major := b.Ext.Major(xturbo.ExtComposite)
91 if major == 0 {
92 b.Fail(xturbo.ErrExtMissing)
93 return 0
94 }
95 p, seq := b.Request(major, 4, 8)
96 if p == nil {
97 return 0
98 }
99 binary.LittleEndian.PutUint32(p[0:], uint32(window))
100 p[4:][0] = byte(update)
101 return seq
102}
103
104func CreateRegionFromBorderClip(b *xturbo.Buf, region xfixes.Region, window xproto.Window) xturbo.Seq {
105 if b.Ext == nil {
106 b.Fail(xturbo.ErrExtMissing)
107 return 0
108 }
109 major := b.Ext.Major(xturbo.ExtComposite)
110 if major == 0 {
111 b.Fail(xturbo.ErrExtMissing)
112 return 0
113 }
114 p, seq := b.Request(major, 5, 8)
115 if p == nil {
116 return 0
117 }
118 binary.LittleEndian.PutUint32(p[0:], uint32(region))
119 binary.LittleEndian.PutUint32(p[4:], uint32(window))
120 return seq
121}
122
123func NameWindowPixmap(b *xturbo.Buf, window xproto.Window, pixmap xproto.Pixmap) xturbo.Seq {
124 if b.Ext == nil {
125 b.Fail(xturbo.ErrExtMissing)
126 return 0
127 }
128 major := b.Ext.Major(xturbo.ExtComposite)
129 if major == 0 {
130 b.Fail(xturbo.ErrExtMissing)
131 return 0
132 }
133 p, seq := b.Request(major, 6, 8)
134 if p == nil {
135 return 0
136 }
137 binary.LittleEndian.PutUint32(p[0:], uint32(window))
138 binary.LittleEndian.PutUint32(p[4:], uint32(pixmap))
139 return seq
140}
141
142func GetOverlayWindow(b *xturbo.Buf, window xproto.Window) xturbo.Seq {
143 if b.Ext == nil {
144 b.Fail(xturbo.ErrExtMissing)
145 return 0
146 }
147 major := b.Ext.Major(xturbo.ExtComposite)
148 if major == 0 {
149 b.Fail(xturbo.ErrExtMissing)
150 return 0
151 }
152 p, seq := b.Request(major, 7, 4)
153 if p == nil {
154 return 0
155 }
156 binary.LittleEndian.PutUint32(p[0:], uint32(window))
157 return seq
158}
159
160func ReleaseOverlayWindow(b *xturbo.Buf, window xproto.Window) xturbo.Seq {
161 if b.Ext == nil {
162 b.Fail(xturbo.ErrExtMissing)
163 return 0
164 }
165 major := b.Ext.Major(xturbo.ExtComposite)
166 if major == 0 {
167 b.Fail(xturbo.ErrExtMissing)
168 return 0
169 }
170 p, seq := b.Request(major, 8, 4)
171 if p == nil {
172 return 0
173 }
174 binary.LittleEndian.PutUint32(p[0:], uint32(window))
175 return seq
176}