// Code generated by xtgen; DO NOT EDIT. package render import "bnema.dev/xturbo/xproto" import "encoding/binary" type Glyph uint32 type Glyphset uint32 type Picture uint32 type Pictformat uint32 type Fixed int32 type Directformat struct { RedShift uint16 RedMask uint16 GreenShift uint16 GreenMask uint16 BlueShift uint16 BlueMask uint16 AlphaShift uint16 AlphaMask uint16 } const DirectformatSize = 16 func (v Directformat) Put(p []byte) { clear(p[:16]) binary.LittleEndian.PutUint16(p[0:], uint16(v.RedShift)) binary.LittleEndian.PutUint16(p[2:], uint16(v.RedMask)) binary.LittleEndian.PutUint16(p[4:], uint16(v.GreenShift)) binary.LittleEndian.PutUint16(p[6:], uint16(v.GreenMask)) binary.LittleEndian.PutUint16(p[8:], uint16(v.BlueShift)) binary.LittleEndian.PutUint16(p[10:], uint16(v.BlueMask)) binary.LittleEndian.PutUint16(p[12:], uint16(v.AlphaShift)) binary.LittleEndian.PutUint16(p[14:], uint16(v.AlphaMask)) } func GetDirectformat(p []byte) (v Directformat) { _ = p[15] v.RedShift = uint16(binary.LittleEndian.Uint16(p[0:])) v.RedMask = uint16(binary.LittleEndian.Uint16(p[2:])) v.GreenShift = uint16(binary.LittleEndian.Uint16(p[4:])) v.GreenMask = uint16(binary.LittleEndian.Uint16(p[6:])) v.BlueShift = uint16(binary.LittleEndian.Uint16(p[8:])) v.BlueMask = uint16(binary.LittleEndian.Uint16(p[10:])) v.AlphaShift = uint16(binary.LittleEndian.Uint16(p[12:])) v.AlphaMask = uint16(binary.LittleEndian.Uint16(p[14:])) return } type Pictforminfo struct { Id Pictformat Type PictType Depth uint8 Direct Directformat Colormap xproto.Colormap } const PictforminfoSize = 28 func (v Pictforminfo) Put(p []byte) { clear(p[:28]) binary.LittleEndian.PutUint32(p[0:], uint32(v.Id)) p[4:][0] = byte(v.Type) p[5:][0] = byte(v.Depth) v.Direct.Put(p[8:]) binary.LittleEndian.PutUint32(p[24:], uint32(v.Colormap)) } func GetPictforminfo(p []byte) (v Pictforminfo) { _ = p[27] v.Id = Pictformat(binary.LittleEndian.Uint32(p[0:])) v.Type = PictType(p[4:][0]) v.Depth = uint8(p[5:][0]) v.Direct = GetDirectformat(p[8:]) v.Colormap = xproto.Colormap(binary.LittleEndian.Uint32(p[24:])) return } type Pictvisual struct { Visual xproto.Visualid Format Pictformat } const PictvisualSize = 8 func (v Pictvisual) Put(p []byte) { clear(p[:8]) binary.LittleEndian.PutUint32(p[0:], uint32(v.Visual)) binary.LittleEndian.PutUint32(p[4:], uint32(v.Format)) } func GetPictvisual(p []byte) (v Pictvisual) { _ = p[7] v.Visual = xproto.Visualid(binary.LittleEndian.Uint32(p[0:])) v.Format = Pictformat(binary.LittleEndian.Uint32(p[4:])) return } type Pictdepth struct { Depth uint8 NumVisuals uint16 Visuals []Pictvisual } const PictdepthSize = 8 func (v Pictdepth) Size() int { off := 0 off += 1 off += 1 off += 2 off += 4 off += len(v.Visuals) * 8 return off } func (v Pictdepth) Put(p []byte) { off := 0 p[off:][0] = byte(v.Depth) off += 1 clear(p[off : off+1]) off += 1 binary.LittleEndian.PutUint16(p[off:], uint16(v.NumVisuals)) off += 2 clear(p[off : off+4]) off += 4 for i := range v.Visuals { v.Visuals[i].Put(p[off+i*8:]) } off += len(v.Visuals) * 8 } type Pictscreen struct { NumDepths uint32 Fallback Pictformat Depths []Pictdepth } const PictscreenSize = 8 func (v Pictscreen) Size() int { off := 0 off += 4 off += 4 for i := range v.Depths { off += v.Depths[i].Size() } return off } func (v Pictscreen) Put(p []byte) { off := 0 binary.LittleEndian.PutUint32(p[off:], uint32(v.NumDepths)) off += 4 binary.LittleEndian.PutUint32(p[off:], uint32(v.Fallback)) off += 4 for i := range v.Depths { v.Depths[i].Put(p[off:]) off += v.Depths[i].Size() } } type Indexvalue struct { Pixel uint32 Red uint16 Green uint16 Blue uint16 Alpha uint16 } const IndexvalueSize = 12 func (v Indexvalue) Put(p []byte) { clear(p[:12]) binary.LittleEndian.PutUint32(p[0:], uint32(v.Pixel)) binary.LittleEndian.PutUint16(p[4:], uint16(v.Red)) binary.LittleEndian.PutUint16(p[6:], uint16(v.Green)) binary.LittleEndian.PutUint16(p[8:], uint16(v.Blue)) binary.LittleEndian.PutUint16(p[10:], uint16(v.Alpha)) } func GetIndexvalue(p []byte) (v Indexvalue) { _ = p[11] v.Pixel = uint32(binary.LittleEndian.Uint32(p[0:])) v.Red = uint16(binary.LittleEndian.Uint16(p[4:])) v.Green = uint16(binary.LittleEndian.Uint16(p[6:])) v.Blue = uint16(binary.LittleEndian.Uint16(p[8:])) v.Alpha = uint16(binary.LittleEndian.Uint16(p[10:])) return } type Color struct { Red uint16 Green uint16 Blue uint16 Alpha uint16 } const ColorSize = 8 func (v Color) Put(p []byte) { clear(p[:8]) binary.LittleEndian.PutUint16(p[0:], uint16(v.Red)) binary.LittleEndian.PutUint16(p[2:], uint16(v.Green)) binary.LittleEndian.PutUint16(p[4:], uint16(v.Blue)) binary.LittleEndian.PutUint16(p[6:], uint16(v.Alpha)) } func GetColor(p []byte) (v Color) { _ = p[7] v.Red = uint16(binary.LittleEndian.Uint16(p[0:])) v.Green = uint16(binary.LittleEndian.Uint16(p[2:])) v.Blue = uint16(binary.LittleEndian.Uint16(p[4:])) v.Alpha = uint16(binary.LittleEndian.Uint16(p[6:])) return } type Pointfix struct { X Fixed Y Fixed } const PointfixSize = 8 func (v Pointfix) Put(p []byte) { clear(p[:8]) binary.LittleEndian.PutUint32(p[0:], uint32(v.X)) binary.LittleEndian.PutUint32(p[4:], uint32(v.Y)) } func GetPointfix(p []byte) (v Pointfix) { _ = p[7] v.X = Fixed(binary.LittleEndian.Uint32(p[0:])) v.Y = Fixed(binary.LittleEndian.Uint32(p[4:])) return } type Linefix struct { P1 Pointfix P2 Pointfix } const LinefixSize = 16 func (v Linefix) Put(p []byte) { clear(p[:16]); v.P1.Put(p[0:]); v.P2.Put(p[8:]) } func GetLinefix(p []byte) (v Linefix) { _ = p[15] v.P1 = GetPointfix(p[0:]) v.P2 = GetPointfix(p[8:]) return } type Triangle struct { P1 Pointfix P2 Pointfix P3 Pointfix } const TriangleSize = 24 func (v Triangle) Put(p []byte) { clear(p[:24]); v.P1.Put(p[0:]); v.P2.Put(p[8:]); v.P3.Put(p[16:]) } func GetTriangle(p []byte) (v Triangle) { _ = p[23] v.P1 = GetPointfix(p[0:]) v.P2 = GetPointfix(p[8:]) v.P3 = GetPointfix(p[16:]) return } type Trapezoid struct { Top Fixed Bottom Fixed Left Linefix Right Linefix } const TrapezoidSize = 40 func (v Trapezoid) Put(p []byte) { clear(p[:40]) binary.LittleEndian.PutUint32(p[0:], uint32(v.Top)) binary.LittleEndian.PutUint32(p[4:], uint32(v.Bottom)) v.Left.Put(p[8:]) v.Right.Put(p[24:]) } func GetTrapezoid(p []byte) (v Trapezoid) { _ = p[39] v.Top = Fixed(binary.LittleEndian.Uint32(p[0:])) v.Bottom = Fixed(binary.LittleEndian.Uint32(p[4:])) v.Left = GetLinefix(p[8:]) v.Right = GetLinefix(p[24:]) return } type Glyphinfo struct { Width uint16 Height uint16 X int16 Y int16 XOff int16 YOff int16 } const GlyphinfoSize = 12 func (v Glyphinfo) Put(p []byte) { clear(p[:12]) binary.LittleEndian.PutUint16(p[0:], uint16(v.Width)) binary.LittleEndian.PutUint16(p[2:], uint16(v.Height)) binary.LittleEndian.PutUint16(p[4:], uint16(v.X)) binary.LittleEndian.PutUint16(p[6:], uint16(v.Y)) binary.LittleEndian.PutUint16(p[8:], uint16(v.XOff)) binary.LittleEndian.PutUint16(p[10:], uint16(v.YOff)) } func GetGlyphinfo(p []byte) (v Glyphinfo) { _ = p[11] v.Width = uint16(binary.LittleEndian.Uint16(p[0:])) v.Height = uint16(binary.LittleEndian.Uint16(p[2:])) v.X = int16(binary.LittleEndian.Uint16(p[4:])) v.Y = int16(binary.LittleEndian.Uint16(p[6:])) v.XOff = int16(binary.LittleEndian.Uint16(p[8:])) v.YOff = int16(binary.LittleEndian.Uint16(p[10:])) return } type Transform struct { Matrix11 Fixed Matrix12 Fixed Matrix13 Fixed Matrix21 Fixed Matrix22 Fixed Matrix23 Fixed Matrix31 Fixed Matrix32 Fixed Matrix33 Fixed } const TransformSize = 36 func (v Transform) Put(p []byte) { clear(p[:36]) binary.LittleEndian.PutUint32(p[0:], uint32(v.Matrix11)) binary.LittleEndian.PutUint32(p[4:], uint32(v.Matrix12)) binary.LittleEndian.PutUint32(p[8:], uint32(v.Matrix13)) binary.LittleEndian.PutUint32(p[12:], uint32(v.Matrix21)) binary.LittleEndian.PutUint32(p[16:], uint32(v.Matrix22)) binary.LittleEndian.PutUint32(p[20:], uint32(v.Matrix23)) binary.LittleEndian.PutUint32(p[24:], uint32(v.Matrix31)) binary.LittleEndian.PutUint32(p[28:], uint32(v.Matrix32)) binary.LittleEndian.PutUint32(p[32:], uint32(v.Matrix33)) } func GetTransform(p []byte) (v Transform) { _ = p[35] v.Matrix11 = Fixed(binary.LittleEndian.Uint32(p[0:])) v.Matrix12 = Fixed(binary.LittleEndian.Uint32(p[4:])) v.Matrix13 = Fixed(binary.LittleEndian.Uint32(p[8:])) v.Matrix21 = Fixed(binary.LittleEndian.Uint32(p[12:])) v.Matrix22 = Fixed(binary.LittleEndian.Uint32(p[16:])) v.Matrix23 = Fixed(binary.LittleEndian.Uint32(p[20:])) v.Matrix31 = Fixed(binary.LittleEndian.Uint32(p[24:])) v.Matrix32 = Fixed(binary.LittleEndian.Uint32(p[28:])) v.Matrix33 = Fixed(binary.LittleEndian.Uint32(p[32:])) return } type Animcursorelt struct { Cursor xproto.Cursor Delay uint32 } const AnimcursoreltSize = 8 func (v Animcursorelt) Put(p []byte) { clear(p[:8]) binary.LittleEndian.PutUint32(p[0:], uint32(v.Cursor)) binary.LittleEndian.PutUint32(p[4:], uint32(v.Delay)) } func GetAnimcursorelt(p []byte) (v Animcursorelt) { _ = p[7] v.Cursor = xproto.Cursor(binary.LittleEndian.Uint32(p[0:])) v.Delay = uint32(binary.LittleEndian.Uint32(p[4:])) return } type Spanfix struct { L Fixed R Fixed Y Fixed } const SpanfixSize = 12 func (v Spanfix) Put(p []byte) { clear(p[:12]) binary.LittleEndian.PutUint32(p[0:], uint32(v.L)) binary.LittleEndian.PutUint32(p[4:], uint32(v.R)) binary.LittleEndian.PutUint32(p[8:], uint32(v.Y)) } func GetSpanfix(p []byte) (v Spanfix) { _ = p[11] v.L = Fixed(binary.LittleEndian.Uint32(p[0:])) v.R = Fixed(binary.LittleEndian.Uint32(p[4:])) v.Y = Fixed(binary.LittleEndian.Uint32(p[8:])) return } type Trap struct { Top Spanfix Bot Spanfix } const TrapSize = 24 func (v Trap) Put(p []byte) { clear(p[:24]); v.Top.Put(p[0:]); v.Bot.Put(p[12:]) } func GetTrap(p []byte) (v Trap) { _ = p[23] v.Top = GetSpanfix(p[0:]) v.Bot = GetSpanfix(p[12:]) return } type PictType uint8 const PictTypeIndexed PictType = 0 const PictTypeDirect PictType = 1 const PictureNone Picture = 0 type PictOp uint8 const PictOpClear PictOp = 0 const PictOpSrc PictOp = 1 const PictOpDst PictOp = 2 const PictOpOver PictOp = 3 const PictOpOverReverse PictOp = 4 const PictOpIn PictOp = 5 const PictOpInReverse PictOp = 6 const PictOpOut PictOp = 7 const PictOpOutReverse PictOp = 8 const PictOpAtop PictOp = 9 const PictOpAtopReverse PictOp = 10 const PictOpXor PictOp = 11 const PictOpAdd PictOp = 12 const PictOpSaturate PictOp = 13 const PictOpDisjointClear PictOp = 16 const PictOpDisjointSrc PictOp = 17 const PictOpDisjointDst PictOp = 18 const PictOpDisjointOver PictOp = 19 const PictOpDisjointOverReverse PictOp = 20 const PictOpDisjointIn PictOp = 21 const PictOpDisjointInReverse PictOp = 22 const PictOpDisjointOut PictOp = 23 const PictOpDisjointOutReverse PictOp = 24 const PictOpDisjointAtop PictOp = 25 const PictOpDisjointAtopReverse PictOp = 26 const PictOpDisjointXor PictOp = 27 const PictOpConjointClear PictOp = 32 const PictOpConjointSrc PictOp = 33 const PictOpConjointDst PictOp = 34 const PictOpConjointOver PictOp = 35 const PictOpConjointOverReverse PictOp = 36 const PictOpConjointIn PictOp = 37 const PictOpConjointInReverse PictOp = 38 const PictOpConjointOut PictOp = 39 const PictOpConjointOutReverse PictOp = 40 const PictOpConjointAtop PictOp = 41 const PictOpConjointAtopReverse PictOp = 42 const PictOpConjointXor PictOp = 43 const PictOpMultiply PictOp = 48 const PictOpScreen PictOp = 49 const PictOpOverlay PictOp = 50 const PictOpDarken PictOp = 51 const PictOpLighten PictOp = 52 const PictOpColorDodge PictOp = 53 const PictOpColorBurn PictOp = 54 const PictOpHardLight PictOp = 55 const PictOpSoftLight PictOp = 56 const PictOpDifference PictOp = 57 const PictOpExclusion PictOp = 58 const PictOpHSLHue PictOp = 59 const PictOpHSLSaturation PictOp = 60 const PictOpHSLColor PictOp = 61 const PictOpHSLLuminosity PictOp = 62 type PolyEdge uint32 const PolyEdgeSharp PolyEdge = 0 const PolyEdgeSmooth PolyEdge = 1 type PolyMode uint32 const PolyModePrecise PolyMode = 0 const PolyModeImprecise PolyMode = 1 type Cp uint32 const CpRepeat Cp = 1 const CpAlphaMap Cp = 2 const CpAlphaXOrigin Cp = 4 const CpAlphaYOrigin Cp = 8 const CpClipXOrigin Cp = 16 const CpClipYOrigin Cp = 32 const CpClipMask Cp = 64 const CpGraphicsExposure Cp = 128 const CpSubwindowMode Cp = 256 const CpPolyEdge Cp = 512 const CpPolyMode Cp = 1024 const CpDither Cp = 2048 const CpComponentAlpha Cp = 4096 type SubPixel uint32 const SubPixelUnknown SubPixel = 0 const SubPixelHorizontalRGB SubPixel = 1 const SubPixelHorizontalBGR SubPixel = 2 const SubPixelVerticalRGB SubPixel = 3 const SubPixelVerticalBGR SubPixel = 4 const SubPixelNone SubPixel = 5 type Repeat uint32 const RepeatNone Repeat = 0 const RepeatNormal Repeat = 1 const RepeatPad Repeat = 2 const RepeatReflect Repeat = 3