diff options
Diffstat (limited to 'nexgb/auto_randr.go')
| -rw-r--r-- | nexgb/auto_randr.go | 4038 | 
1 files changed, 0 insertions, 4038 deletions
| diff --git a/nexgb/auto_randr.go b/nexgb/auto_randr.go deleted file mode 100644 index d7e68bd..0000000 --- a/nexgb/auto_randr.go +++ /dev/null @@ -1,4038 +0,0 @@ -package xgb - -/* -	This file was generated by randr.xml on May 10 2012 12:39:33pm EDT. -	This file is automatically generated. Edit at your peril! -*/ - -// Imports are not necessary for XGB because everything is  -// in one package. They are still listed here for reference. -// import "xproto" -// import "render" - -// RandrInit must be called before using the RANDR extension. -func (c *Conn) RandrInit() error { -	reply, err := c.QueryExtension(5, "RANDR").Reply() -	switch { -	case err != nil: -		return err -	case !reply.Present: -		return errorf("No extension named RANDR could be found on on the server.") -	} - -	c.extLock.Lock() -	c.extensions["RANDR"] = reply.MajorOpcode -	for evNum, fun := range newExtEventFuncs["RANDR"] { -		newEventFuncs[int(reply.FirstEvent)+evNum] = fun -	} -	for errNum, fun := range newExtErrorFuncs["RANDR"] { -		newErrorFuncs[int(reply.FirstError)+errNum] = fun -	} -	c.extLock.Unlock() - -	return nil -} - -func init() { -	newExtEventFuncs["RANDR"] = make(map[int]newEventFun) -	newExtErrorFuncs["RANDR"] = make(map[int]newErrorFun) -} - -// Skipping definition for base type 'Card8' - -// Skipping definition for base type 'Int16' - -// Skipping definition for base type 'Int32' - -// Skipping definition for base type 'Void' - -// Skipping definition for base type 'Byte' - -// Skipping definition for base type 'Int8' - -// Skipping definition for base type 'Card16' - -// Skipping definition for base type 'Char' - -// Skipping definition for base type 'Card32' - -// Skipping definition for base type 'Double' - -// Skipping definition for base type 'Bool' - -// Skipping definition for base type 'Float' - -const ( -	RandrRotationRotate0   = 1 -	RandrRotationRotate90  = 2 -	RandrRotationRotate180 = 4 -	RandrRotationRotate270 = 8 -	RandrRotationReflectX  = 16 -	RandrRotationReflectY  = 32 -) - -const ( -	RandrSetConfigSuccess           = 0 -	RandrSetConfigInvalidConfigTime = 1 -	RandrSetConfigInvalidTime       = 2 -	RandrSetConfigFailed            = 3 -) - -const ( -	RandrNotifyMaskScreenChange   = 1 -	RandrNotifyMaskCrtcChange     = 2 -	RandrNotifyMaskOutputChange   = 4 -	RandrNotifyMaskOutputProperty = 8 -) - -const ( -	RandrModeFlagHsyncPositive  = 1 -	RandrModeFlagHsyncNegative  = 2 -	RandrModeFlagVsyncPositive  = 4 -	RandrModeFlagVsyncNegative  = 8 -	RandrModeFlagInterlace      = 16 -	RandrModeFlagDoubleScan     = 32 -	RandrModeFlagCsync          = 64 -	RandrModeFlagCsyncPositive  = 128 -	RandrModeFlagCsyncNegative  = 256 -	RandrModeFlagHskewPresent   = 512 -	RandrModeFlagBcast          = 1024 -	RandrModeFlagPixelMultiplex = 2048 -	RandrModeFlagDoubleClock    = 4096 -	RandrModeFlagHalveClock     = 8192 -) - -const ( -	RandrConnectionConnected    = 0 -	RandrConnectionDisconnected = 1 -	RandrConnectionUnknown      = 2 -) - -const ( -	RandrNotifyCrtcChange     = 0 -	RandrNotifyOutputChange   = 1 -	RandrNotifyOutputProperty = 2 -) - -type RandrMode uint32 - -func (c *Conn) NewRandrModeId() (RandrMode, error) { -	id, err := c.NewId() -	if err != nil { -		return 0, err -	} -	return RandrMode(id), nil -} - -type RandrCrtc uint32 - -func (c *Conn) NewRandrCrtcId() (RandrCrtc, error) { -	id, err := c.NewId() -	if err != nil { -		return 0, err -	} -	return RandrCrtc(id), nil -} - -type RandrOutput uint32 - -func (c *Conn) NewRandrOutputId() (RandrOutput, error) { -	id, err := c.NewId() -	if err != nil { -		return 0, err -	} -	return RandrOutput(id), nil -} - -// 'RandrScreenSize' struct definition -// Size: 8 -type RandrScreenSize struct { -	Width   uint16 -	Height  uint16 -	Mwidth  uint16 -	Mheight uint16 -} - -// Struct read RandrScreenSize -func ReadRandrScreenSize(buf []byte, v *RandrScreenSize) int { -	b := 0 - -	v.Width = Get16(buf[b:]) -	b += 2 - -	v.Height = Get16(buf[b:]) -	b += 2 - -	v.Mwidth = Get16(buf[b:]) -	b += 2 - -	v.Mheight = Get16(buf[b:]) -	b += 2 - -	return b -} - -// Struct list read RandrScreenSize -func ReadRandrScreenSizeList(buf []byte, dest []RandrScreenSize) int { -	b := 0 -	for i := 0; i < len(dest); i++ { -		dest[i] = RandrScreenSize{} -		b += ReadRandrScreenSize(buf[b:], &dest[i]) -	} -	return pad(b) -} - -// Struct write RandrScreenSize -func (v RandrScreenSize) Bytes() []byte { -	buf := make([]byte, 8) -	b := 0 - -	Put16(buf[b:], v.Width) -	b += 2 - -	Put16(buf[b:], v.Height) -	b += 2 - -	Put16(buf[b:], v.Mwidth) -	b += 2 - -	Put16(buf[b:], v.Mheight) -	b += 2 - -	return buf -} - -// Write struct list RandrScreenSize -func RandrScreenSizeListBytes(buf []byte, list []RandrScreenSize) int { -	b := 0 -	var structBytes []byte -	for _, item := range list { -		structBytes = item.Bytes() -		copy(buf[b:], structBytes) -		b += pad(len(structBytes)) -	} -	return b -} - -// 'RandrRefreshRates' struct definition -// Size: (2 + pad((int(NRates) * 2))) -type RandrRefreshRates struct { -	NRates uint16 -	Rates  []uint16 // size: pad((int(NRates) * 2)) -} - -// Struct read RandrRefreshRates -func ReadRandrRefreshRates(buf []byte, v *RandrRefreshRates) int { -	b := 0 - -	v.NRates = Get16(buf[b:]) -	b += 2 - -	v.Rates = make([]uint16, v.NRates) -	for i := 0; i < int(v.NRates); i++ { -		v.Rates[i] = Get16(buf[b:]) -		b += 2 -	} -	b = pad(b) - -	return b -} - -// Struct list read RandrRefreshRates -func ReadRandrRefreshRatesList(buf []byte, dest []RandrRefreshRates) int { -	b := 0 -	for i := 0; i < len(dest); i++ { -		dest[i] = RandrRefreshRates{} -		b += ReadRandrRefreshRates(buf[b:], &dest[i]) -	} -	return pad(b) -} - -// Struct write RandrRefreshRates -func (v RandrRefreshRates) Bytes() []byte { -	buf := make([]byte, (2 + pad((int(v.NRates) * 2)))) -	b := 0 - -	Put16(buf[b:], v.NRates) -	b += 2 - -	for i := 0; i < int(v.NRates); i++ { -		Put16(buf[b:], v.Rates[i]) -		b += 2 -	} -	b = pad(b) - -	return buf -} - -// Write struct list RandrRefreshRates -func RandrRefreshRatesListBytes(buf []byte, list []RandrRefreshRates) int { -	b := 0 -	var structBytes []byte -	for _, item := range list { -		structBytes = item.Bytes() -		copy(buf[b:], structBytes) -		b += pad(len(structBytes)) -	} -	return b -} - -// Struct list size RandrRefreshRates -func RandrRefreshRatesListSize(list []RandrRefreshRates) int { -	size := 0 -	for _, item := range list { -		size += (2 + pad((int(item.NRates) * 2))) -	} -	return size -} - -// 'RandrModeInfo' struct definition -// Size: 32 -type RandrModeInfo struct { -	Id         uint32 -	Width      uint16 -	Height     uint16 -	DotClock   uint32 -	HsyncStart uint16 -	HsyncEnd   uint16 -	Htotal     uint16 -	Hskew      uint16 -	VsyncStart uint16 -	VsyncEnd   uint16 -	Vtotal     uint16 -	NameLen    uint16 -	ModeFlags  uint32 -} - -// Struct read RandrModeInfo -func ReadRandrModeInfo(buf []byte, v *RandrModeInfo) int { -	b := 0 - -	v.Id = Get32(buf[b:]) -	b += 4 - -	v.Width = Get16(buf[b:]) -	b += 2 - -	v.Height = Get16(buf[b:]) -	b += 2 - -	v.DotClock = Get32(buf[b:]) -	b += 4 - -	v.HsyncStart = Get16(buf[b:]) -	b += 2 - -	v.HsyncEnd = Get16(buf[b:]) -	b += 2 - -	v.Htotal = Get16(buf[b:]) -	b += 2 - -	v.Hskew = Get16(buf[b:]) -	b += 2 - -	v.VsyncStart = Get16(buf[b:]) -	b += 2 - -	v.VsyncEnd = Get16(buf[b:]) -	b += 2 - -	v.Vtotal = Get16(buf[b:]) -	b += 2 - -	v.NameLen = Get16(buf[b:]) -	b += 2 - -	v.ModeFlags = Get32(buf[b:]) -	b += 4 - -	return b -} - -// Struct list read RandrModeInfo -func ReadRandrModeInfoList(buf []byte, dest []RandrModeInfo) int { -	b := 0 -	for i := 0; i < len(dest); i++ { -		dest[i] = RandrModeInfo{} -		b += ReadRandrModeInfo(buf[b:], &dest[i]) -	} -	return pad(b) -} - -// Struct write RandrModeInfo -func (v RandrModeInfo) Bytes() []byte { -	buf := make([]byte, 32) -	b := 0 - -	Put32(buf[b:], v.Id) -	b += 4 - -	Put16(buf[b:], v.Width) -	b += 2 - -	Put16(buf[b:], v.Height) -	b += 2 - -	Put32(buf[b:], v.DotClock) -	b += 4 - -	Put16(buf[b:], v.HsyncStart) -	b += 2 - -	Put16(buf[b:], v.HsyncEnd) -	b += 2 - -	Put16(buf[b:], v.Htotal) -	b += 2 - -	Put16(buf[b:], v.Hskew) -	b += 2 - -	Put16(buf[b:], v.VsyncStart) -	b += 2 - -	Put16(buf[b:], v.VsyncEnd) -	b += 2 - -	Put16(buf[b:], v.Vtotal) -	b += 2 - -	Put16(buf[b:], v.NameLen) -	b += 2 - -	Put32(buf[b:], v.ModeFlags) -	b += 4 - -	return buf -} - -// Write struct list RandrModeInfo -func RandrModeInfoListBytes(buf []byte, list []RandrModeInfo) int { -	b := 0 -	var structBytes []byte -	for _, item := range list { -		structBytes = item.Bytes() -		copy(buf[b:], structBytes) -		b += pad(len(structBytes)) -	} -	return b -} - -// 'RandrCrtcChange' struct definition -// Size: 28 -type RandrCrtcChange struct { -	Timestamp Timestamp -	Window    Window -	Crtc      RandrCrtc -	Mode      RandrMode -	Rotation  uint16 -	// padding: 2 bytes -	X      int16 -	Y      int16 -	Width  uint16 -	Height uint16 -} - -// Struct read RandrCrtcChange -func ReadRandrCrtcChange(buf []byte, v *RandrCrtcChange) int { -	b := 0 - -	v.Timestamp = Timestamp(Get32(buf[b:])) -	b += 4 - -	v.Window = Window(Get32(buf[b:])) -	b += 4 - -	v.Crtc = RandrCrtc(Get32(buf[b:])) -	b += 4 - -	v.Mode = RandrMode(Get32(buf[b:])) -	b += 4 - -	v.Rotation = Get16(buf[b:]) -	b += 2 - -	b += 2 // padding - -	v.X = int16(Get16(buf[b:])) -	b += 2 - -	v.Y = int16(Get16(buf[b:])) -	b += 2 - -	v.Width = Get16(buf[b:]) -	b += 2 - -	v.Height = Get16(buf[b:]) -	b += 2 - -	return b -} - -// Struct list read RandrCrtcChange -func ReadRandrCrtcChangeList(buf []byte, dest []RandrCrtcChange) int { -	b := 0 -	for i := 0; i < len(dest); i++ { -		dest[i] = RandrCrtcChange{} -		b += ReadRandrCrtcChange(buf[b:], &dest[i]) -	} -	return pad(b) -} - -// Struct write RandrCrtcChange -func (v RandrCrtcChange) Bytes() []byte { -	buf := make([]byte, 28) -	b := 0 - -	Put32(buf[b:], uint32(v.Timestamp)) -	b += 4 - -	Put32(buf[b:], uint32(v.Window)) -	b += 4 - -	Put32(buf[b:], uint32(v.Crtc)) -	b += 4 - -	Put32(buf[b:], uint32(v.Mode)) -	b += 4 - -	Put16(buf[b:], v.Rotation) -	b += 2 - -	b += 2 // padding - -	Put16(buf[b:], uint16(v.X)) -	b += 2 - -	Put16(buf[b:], uint16(v.Y)) -	b += 2 - -	Put16(buf[b:], v.Width) -	b += 2 - -	Put16(buf[b:], v.Height) -	b += 2 - -	return buf -} - -// Write struct list RandrCrtcChange -func RandrCrtcChangeListBytes(buf []byte, list []RandrCrtcChange) int { -	b := 0 -	var structBytes []byte -	for _, item := range list { -		structBytes = item.Bytes() -		copy(buf[b:], structBytes) -		b += pad(len(structBytes)) -	} -	return b -} - -// 'RandrOutputChange' struct definition -// Size: 28 -type RandrOutputChange struct { -	Timestamp       Timestamp -	ConfigTimestamp Timestamp -	Window          Window -	Output          RandrOutput -	Crtc            RandrCrtc -	Mode            RandrMode -	Rotation        uint16 -	Connection      byte -	SubpixelOrder   byte -} - -// Struct read RandrOutputChange -func ReadRandrOutputChange(buf []byte, v *RandrOutputChange) int { -	b := 0 - -	v.Timestamp = Timestamp(Get32(buf[b:])) -	b += 4 - -	v.ConfigTimestamp = Timestamp(Get32(buf[b:])) -	b += 4 - -	v.Window = Window(Get32(buf[b:])) -	b += 4 - -	v.Output = RandrOutput(Get32(buf[b:])) -	b += 4 - -	v.Crtc = RandrCrtc(Get32(buf[b:])) -	b += 4 - -	v.Mode = RandrMode(Get32(buf[b:])) -	b += 4 - -	v.Rotation = Get16(buf[b:]) -	b += 2 - -	v.Connection = buf[b] -	b += 1 - -	v.SubpixelOrder = buf[b] -	b += 1 - -	return b -} - -// Struct list read RandrOutputChange -func ReadRandrOutputChangeList(buf []byte, dest []RandrOutputChange) int { -	b := 0 -	for i := 0; i < len(dest); i++ { -		dest[i] = RandrOutputChange{} -		b += ReadRandrOutputChange(buf[b:], &dest[i]) -	} -	return pad(b) -} - -// Struct write RandrOutputChange -func (v RandrOutputChange) Bytes() []byte { -	buf := make([]byte, 28) -	b := 0 - -	Put32(buf[b:], uint32(v.Timestamp)) -	b += 4 - -	Put32(buf[b:], uint32(v.ConfigTimestamp)) -	b += 4 - -	Put32(buf[b:], uint32(v.Window)) -	b += 4 - -	Put32(buf[b:], uint32(v.Output)) -	b += 4 - -	Put32(buf[b:], uint32(v.Crtc)) -	b += 4 - -	Put32(buf[b:], uint32(v.Mode)) -	b += 4 - -	Put16(buf[b:], v.Rotation) -	b += 2 - -	buf[b] = v.Connection -	b += 1 - -	buf[b] = v.SubpixelOrder -	b += 1 - -	return buf -} - -// Write struct list RandrOutputChange -func RandrOutputChangeListBytes(buf []byte, list []RandrOutputChange) int { -	b := 0 -	var structBytes []byte -	for _, item := range list { -		structBytes = item.Bytes() -		copy(buf[b:], structBytes) -		b += pad(len(structBytes)) -	} -	return b -} - -// 'RandrOutputProperty' struct definition -// Size: 28 -type RandrOutputProperty struct { -	Window    Window -	Output    RandrOutput -	Atom      Atom -	Timestamp Timestamp -	Status    byte -	// padding: 11 bytes -} - -// Struct read RandrOutputProperty -func ReadRandrOutputProperty(buf []byte, v *RandrOutputProperty) int { -	b := 0 - -	v.Window = Window(Get32(buf[b:])) -	b += 4 - -	v.Output = RandrOutput(Get32(buf[b:])) -	b += 4 - -	v.Atom = Atom(Get32(buf[b:])) -	b += 4 - -	v.Timestamp = Timestamp(Get32(buf[b:])) -	b += 4 - -	v.Status = buf[b] -	b += 1 - -	b += 11 // padding - -	return b -} - -// Struct list read RandrOutputProperty -func ReadRandrOutputPropertyList(buf []byte, dest []RandrOutputProperty) int { -	b := 0 -	for i := 0; i < len(dest); i++ { -		dest[i] = RandrOutputProperty{} -		b += ReadRandrOutputProperty(buf[b:], &dest[i]) -	} -	return pad(b) -} - -// Struct write RandrOutputProperty -func (v RandrOutputProperty) Bytes() []byte { -	buf := make([]byte, 28) -	b := 0 - -	Put32(buf[b:], uint32(v.Window)) -	b += 4 - -	Put32(buf[b:], uint32(v.Output)) -	b += 4 - -	Put32(buf[b:], uint32(v.Atom)) -	b += 4 - -	Put32(buf[b:], uint32(v.Timestamp)) -	b += 4 - -	buf[b] = v.Status -	b += 1 - -	b += 11 // padding - -	return buf -} - -// Write struct list RandrOutputProperty -func RandrOutputPropertyListBytes(buf []byte, list []RandrOutputProperty) int { -	b := 0 -	var structBytes []byte -	for _, item := range list { -		structBytes = item.Bytes() -		copy(buf[b:], structBytes) -		b += pad(len(structBytes)) -	} -	return b -} - -// Union definition RandrNotifyDataUnion -// Note that to *create* a Union, you should *never* create -// this struct directly (unless you know what you're doing). -// Instead use one of the following constructors for 'RandrNotifyDataUnion': -//     NewRandrNotifyDataUnionCc(Cc RandrCrtcChange) RandrNotifyDataUnion -//     NewRandrNotifyDataUnionOc(Oc RandrOutputChange) RandrNotifyDataUnion -//     NewRandrNotifyDataUnionOp(Op RandrOutputProperty) RandrNotifyDataUnion -type RandrNotifyDataUnion struct { -	Cc RandrCrtcChange -	Oc RandrOutputChange -	Op RandrOutputProperty -} - -// Union constructor for RandrNotifyDataUnion for field Cc. -func NewRandrNotifyDataUnionCc(Cc RandrCrtcChange) RandrNotifyDataUnion { -	var b int -	buf := make([]byte, 28) - -	{ -		structBytes := Cc.Bytes() -		copy(buf[b:], structBytes) -		b += pad(len(structBytes)) -	} - -	// Create the Union type -	v := RandrNotifyDataUnion{} - -	// Now copy buf into all fields - -	b = 0 // always read the same bytes -	v.Cc = RandrCrtcChange{} -	b += ReadRandrCrtcChange(buf[b:], &v.Cc) - -	b = 0 // always read the same bytes -	v.Oc = RandrOutputChange{} -	b += ReadRandrOutputChange(buf[b:], &v.Oc) - -	b = 0 // always read the same bytes -	v.Op = RandrOutputProperty{} -	b += ReadRandrOutputProperty(buf[b:], &v.Op) - -	return v -} - -// Union constructor for RandrNotifyDataUnion for field Oc. -func NewRandrNotifyDataUnionOc(Oc RandrOutputChange) RandrNotifyDataUnion { -	var b int -	buf := make([]byte, 28) - -	{ -		structBytes := Oc.Bytes() -		copy(buf[b:], structBytes) -		b += pad(len(structBytes)) -	} - -	// Create the Union type -	v := RandrNotifyDataUnion{} - -	// Now copy buf into all fields - -	b = 0 // always read the same bytes -	v.Cc = RandrCrtcChange{} -	b += ReadRandrCrtcChange(buf[b:], &v.Cc) - -	b = 0 // always read the same bytes -	v.Oc = RandrOutputChange{} -	b += ReadRandrOutputChange(buf[b:], &v.Oc) - -	b = 0 // always read the same bytes -	v.Op = RandrOutputProperty{} -	b += ReadRandrOutputProperty(buf[b:], &v.Op) - -	return v -} - -// Union constructor for RandrNotifyDataUnion for field Op. -func NewRandrNotifyDataUnionOp(Op RandrOutputProperty) RandrNotifyDataUnion { -	var b int -	buf := make([]byte, 28) - -	{ -		structBytes := Op.Bytes() -		copy(buf[b:], structBytes) -		b += pad(len(structBytes)) -	} - -	// Create the Union type -	v := RandrNotifyDataUnion{} - -	// Now copy buf into all fields - -	b = 0 // always read the same bytes -	v.Cc = RandrCrtcChange{} -	b += ReadRandrCrtcChange(buf[b:], &v.Cc) - -	b = 0 // always read the same bytes -	v.Oc = RandrOutputChange{} -	b += ReadRandrOutputChange(buf[b:], &v.Oc) - -	b = 0 // always read the same bytes -	v.Op = RandrOutputProperty{} -	b += ReadRandrOutputProperty(buf[b:], &v.Op) - -	return v -} - -// Union read RandrNotifyDataUnion -func ReadRandrNotifyDataUnion(buf []byte, v *RandrNotifyDataUnion) int { -	var b int - -	b = 0 // re-read the same bytes -	v.Cc = RandrCrtcChange{} -	b += ReadRandrCrtcChange(buf[b:], &v.Cc) - -	b = 0 // re-read the same bytes -	v.Oc = RandrOutputChange{} -	b += ReadRandrOutputChange(buf[b:], &v.Oc) - -	b = 0 // re-read the same bytes -	v.Op = RandrOutputProperty{} -	b += ReadRandrOutputProperty(buf[b:], &v.Op) - -	return 28 -} - -// Union list read RandrNotifyDataUnion -func ReadRandrNotifyDataUnionList(buf []byte, dest []RandrNotifyDataUnion) int { -	b := 0 -	for i := 0; i < len(dest); i++ { -		dest[i] = RandrNotifyDataUnion{} -		b += ReadRandrNotifyDataUnion(buf[b:], &dest[i]) -	} -	return pad(b) -} - -// Union write RandrNotifyDataUnion -// Each field in a union must contain the same data. -// So simply pick the first field and write that to the wire. -func (v RandrNotifyDataUnion) Bytes() []byte { -	buf := make([]byte, 28) -	b := 0 - -	{ -		structBytes := v.Cc.Bytes() -		copy(buf[b:], structBytes) -		b += pad(len(structBytes)) -	} -	return buf -} - -// Union list write RandrNotifyDataUnion -func RandrNotifyDataUnionListBytes(buf []byte, list []RandrNotifyDataUnion) int { -	b := 0 -	var unionBytes []byte -	for _, item := range list { -		unionBytes = item.Bytes() -		copy(buf[b:], unionBytes) -		b += pad(len(unionBytes)) -	} -	return b -} - -// Event definition RandrScreenChangeNotify (0) -// Size: 32 - -const RandrScreenChangeNotify = 0 - -type RandrScreenChangeNotifyEvent struct { -	Sequence        uint16 -	Rotation        byte -	Timestamp       Timestamp -	ConfigTimestamp Timestamp -	Root            Window -	RequestWindow   Window -	SizeID          uint16 -	SubpixelOrder   uint16 -	Width           uint16 -	Height          uint16 -	Mwidth          uint16 -	Mheight         uint16 -} - -// Event read RandrScreenChangeNotify -func NewRandrScreenChangeNotifyEvent(buf []byte) Event { -	v := RandrScreenChangeNotifyEvent{} -	b := 1 // don't read event number - -	v.Rotation = buf[b] -	b += 1 - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	v.Timestamp = Timestamp(Get32(buf[b:])) -	b += 4 - -	v.ConfigTimestamp = Timestamp(Get32(buf[b:])) -	b += 4 - -	v.Root = Window(Get32(buf[b:])) -	b += 4 - -	v.RequestWindow = Window(Get32(buf[b:])) -	b += 4 - -	v.SizeID = Get16(buf[b:]) -	b += 2 - -	v.SubpixelOrder = Get16(buf[b:]) -	b += 2 - -	v.Width = Get16(buf[b:]) -	b += 2 - -	v.Height = Get16(buf[b:]) -	b += 2 - -	v.Mwidth = Get16(buf[b:]) -	b += 2 - -	v.Mheight = Get16(buf[b:]) -	b += 2 - -	return v -} - -// Event write RandrScreenChangeNotify -func (v RandrScreenChangeNotifyEvent) Bytes() []byte { -	buf := make([]byte, 32) -	b := 0 - -	// write event number -	buf[b] = 0 -	b += 1 - -	buf[b] = v.Rotation -	b += 1 - -	b += 2 // skip sequence number - -	Put32(buf[b:], uint32(v.Timestamp)) -	b += 4 - -	Put32(buf[b:], uint32(v.ConfigTimestamp)) -	b += 4 - -	Put32(buf[b:], uint32(v.Root)) -	b += 4 - -	Put32(buf[b:], uint32(v.RequestWindow)) -	b += 4 - -	Put16(buf[b:], v.SizeID) -	b += 2 - -	Put16(buf[b:], v.SubpixelOrder) -	b += 2 - -	Put16(buf[b:], v.Width) -	b += 2 - -	Put16(buf[b:], v.Height) -	b += 2 - -	Put16(buf[b:], v.Mwidth) -	b += 2 - -	Put16(buf[b:], v.Mheight) -	b += 2 - -	return buf -} - -func (v RandrScreenChangeNotifyEvent) ImplementsEvent() {} - -func (v RandrScreenChangeNotifyEvent) SequenceId() uint16 { -	return v.Sequence -} - -func (v RandrScreenChangeNotifyEvent) String() string { -	fieldVals := make([]string, 0, 11) -	fieldVals = append(fieldVals, sprintf("Sequence: %d", v.Sequence)) -	fieldVals = append(fieldVals, sprintf("Rotation: %d", v.Rotation)) -	fieldVals = append(fieldVals, sprintf("Timestamp: %d", v.Timestamp)) -	fieldVals = append(fieldVals, sprintf("ConfigTimestamp: %d", v.ConfigTimestamp)) -	fieldVals = append(fieldVals, sprintf("Root: %d", v.Root)) -	fieldVals = append(fieldVals, sprintf("RequestWindow: %d", v.RequestWindow)) -	fieldVals = append(fieldVals, sprintf("SizeID: %d", v.SizeID)) -	fieldVals = append(fieldVals, sprintf("SubpixelOrder: %d", v.SubpixelOrder)) -	fieldVals = append(fieldVals, sprintf("Width: %d", v.Width)) -	fieldVals = append(fieldVals, sprintf("Height: %d", v.Height)) -	fieldVals = append(fieldVals, sprintf("Mwidth: %d", v.Mwidth)) -	fieldVals = append(fieldVals, sprintf("Mheight: %d", v.Mheight)) -	return "RandrScreenChangeNotify {" + stringsJoin(fieldVals, ", ") + "}" -} - -func init() { -	newExtEventFuncs["RANDR"][0] = NewRandrScreenChangeNotifyEvent -} - -// Event definition RandrNotify (1) -// Size: 32 - -const RandrNotify = 1 - -type RandrNotifyEvent struct { -	Sequence uint16 -	SubCode  byte -	U        RandrNotifyDataUnion -} - -// Event read RandrNotify -func NewRandrNotifyEvent(buf []byte) Event { -	v := RandrNotifyEvent{} -	b := 1 // don't read event number - -	v.SubCode = buf[b] -	b += 1 - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	v.U = RandrNotifyDataUnion{} -	b += ReadRandrNotifyDataUnion(buf[b:], &v.U) - -	return v -} - -// Event write RandrNotify -func (v RandrNotifyEvent) Bytes() []byte { -	buf := make([]byte, 32) -	b := 0 - -	// write event number -	buf[b] = 1 -	b += 1 - -	buf[b] = v.SubCode -	b += 1 - -	b += 2 // skip sequence number - -	{ -		unionBytes := v.U.Bytes() -		copy(buf[b:], unionBytes) -		b += pad(len(unionBytes)) -	} - -	return buf -} - -func (v RandrNotifyEvent) ImplementsEvent() {} - -func (v RandrNotifyEvent) SequenceId() uint16 { -	return v.Sequence -} - -func (v RandrNotifyEvent) String() string { -	fieldVals := make([]string, 0, 2) -	fieldVals = append(fieldVals, sprintf("Sequence: %d", v.Sequence)) -	fieldVals = append(fieldVals, sprintf("SubCode: %d", v.SubCode)) -	return "RandrNotify {" + stringsJoin(fieldVals, ", ") + "}" -} - -func init() { -	newExtEventFuncs["RANDR"][1] = NewRandrNotifyEvent -} - -// Error definition RandrBadOutput (0) -// Size: 32 - -const BadRandrBadOutput = 0 - -type RandrBadOutputError struct { -	Sequence uint16 -	NiceName string -} - -// Error read RandrBadOutput -func NewRandrBadOutputError(buf []byte) Error { -	v := RandrBadOutputError{} -	v.NiceName = "RandrBadOutput" - -	b := 1 // skip error determinant -	b += 1 // don't read error number - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	return v -} - -func (err RandrBadOutputError) ImplementsError() {} - -func (err RandrBadOutputError) SequenceId() uint16 { -	return err.Sequence -} - -func (err RandrBadOutputError) BadId() uint32 { -	return 0 -} - -func (err RandrBadOutputError) Error() string { -	fieldVals := make([]string, 0, 0) -	fieldVals = append(fieldVals, "NiceName: "+err.NiceName) -	fieldVals = append(fieldVals, sprintf("Sequence: %d", err.Sequence)) -	return "BadRandrBadOutput {" + stringsJoin(fieldVals, ", ") + "}" -} - -func init() { -	newExtErrorFuncs["RANDR"][0] = NewRandrBadOutputError -} - -// Error definition RandrBadCrtc (1) -// Size: 32 - -const BadRandrBadCrtc = 1 - -type RandrBadCrtcError struct { -	Sequence uint16 -	NiceName string -} - -// Error read RandrBadCrtc -func NewRandrBadCrtcError(buf []byte) Error { -	v := RandrBadCrtcError{} -	v.NiceName = "RandrBadCrtc" - -	b := 1 // skip error determinant -	b += 1 // don't read error number - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	return v -} - -func (err RandrBadCrtcError) ImplementsError() {} - -func (err RandrBadCrtcError) SequenceId() uint16 { -	return err.Sequence -} - -func (err RandrBadCrtcError) BadId() uint32 { -	return 0 -} - -func (err RandrBadCrtcError) Error() string { -	fieldVals := make([]string, 0, 0) -	fieldVals = append(fieldVals, "NiceName: "+err.NiceName) -	fieldVals = append(fieldVals, sprintf("Sequence: %d", err.Sequence)) -	return "BadRandrBadCrtc {" + stringsJoin(fieldVals, ", ") + "}" -} - -func init() { -	newExtErrorFuncs["RANDR"][1] = NewRandrBadCrtcError -} - -// Error definition RandrBadMode (2) -// Size: 32 - -const BadRandrBadMode = 2 - -type RandrBadModeError struct { -	Sequence uint16 -	NiceName string -} - -// Error read RandrBadMode -func NewRandrBadModeError(buf []byte) Error { -	v := RandrBadModeError{} -	v.NiceName = "RandrBadMode" - -	b := 1 // skip error determinant -	b += 1 // don't read error number - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	return v -} - -func (err RandrBadModeError) ImplementsError() {} - -func (err RandrBadModeError) SequenceId() uint16 { -	return err.Sequence -} - -func (err RandrBadModeError) BadId() uint32 { -	return 0 -} - -func (err RandrBadModeError) Error() string { -	fieldVals := make([]string, 0, 0) -	fieldVals = append(fieldVals, "NiceName: "+err.NiceName) -	fieldVals = append(fieldVals, sprintf("Sequence: %d", err.Sequence)) -	return "BadRandrBadMode {" + stringsJoin(fieldVals, ", ") + "}" -} - -func init() { -	newExtErrorFuncs["RANDR"][2] = NewRandrBadModeError -} - -// Request RandrQueryVersion -// size: 12 -type RandrQueryVersionCookie struct { -	*cookie -} - -func (c *Conn) RandrQueryVersion(MajorVersion uint32, MinorVersion uint32) RandrQueryVersionCookie { -	cookie := c.newCookie(true, true) -	c.newRequest(c.randrQueryVersionRequest(MajorVersion, MinorVersion), cookie) -	return RandrQueryVersionCookie{cookie} -} - -func (c *Conn) RandrQueryVersionUnchecked(MajorVersion uint32, MinorVersion uint32) RandrQueryVersionCookie { -	cookie := c.newCookie(false, true) -	c.newRequest(c.randrQueryVersionRequest(MajorVersion, MinorVersion), cookie) -	return RandrQueryVersionCookie{cookie} -} - -// Request reply for RandrQueryVersion -// size: 32 -type RandrQueryVersionReply struct { -	Sequence uint16 -	Length   uint32 -	// padding: 1 bytes -	MajorVersion uint32 -	MinorVersion uint32 -	// padding: 16 bytes -} - -// Waits and reads reply data from request RandrQueryVersion -func (cook RandrQueryVersionCookie) Reply() (*RandrQueryVersionReply, error) { -	buf, err := cook.reply() -	if err != nil { -		return nil, err -	} -	if buf == nil { -		return nil, nil -	} -	return randrQueryVersionReply(buf), nil -} - -// Read reply into structure from buffer for RandrQueryVersion -func randrQueryVersionReply(buf []byte) *RandrQueryVersionReply { -	v := new(RandrQueryVersionReply) -	b := 1 // skip reply determinant - -	b += 1 // padding - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	v.Length = Get32(buf[b:]) // 4-byte units -	b += 4 - -	v.MajorVersion = Get32(buf[b:]) -	b += 4 - -	v.MinorVersion = Get32(buf[b:]) -	b += 4 - -	b += 16 // padding - -	return v -} - -func (cook RandrQueryVersionCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrQueryVersion -func (c *Conn) randrQueryVersionRequest(MajorVersion uint32, MinorVersion uint32) []byte { -	size := 12 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 0 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], MajorVersion) -	b += 4 - -	Put32(buf[b:], MinorVersion) -	b += 4 - -	return buf -} - -// Request RandrSetScreenConfig -// size: 24 -type RandrSetScreenConfigCookie struct { -	*cookie -} - -func (c *Conn) RandrSetScreenConfig(Window Window, Timestamp Timestamp, ConfigTimestamp Timestamp, SizeID uint16, Rotation uint16, Rate uint16) RandrSetScreenConfigCookie { -	cookie := c.newCookie(true, true) -	c.newRequest(c.randrSetScreenConfigRequest(Window, Timestamp, ConfigTimestamp, SizeID, Rotation, Rate), cookie) -	return RandrSetScreenConfigCookie{cookie} -} - -func (c *Conn) RandrSetScreenConfigUnchecked(Window Window, Timestamp Timestamp, ConfigTimestamp Timestamp, SizeID uint16, Rotation uint16, Rate uint16) RandrSetScreenConfigCookie { -	cookie := c.newCookie(false, true) -	c.newRequest(c.randrSetScreenConfigRequest(Window, Timestamp, ConfigTimestamp, SizeID, Rotation, Rate), cookie) -	return RandrSetScreenConfigCookie{cookie} -} - -// Request reply for RandrSetScreenConfig -// size: 32 -type RandrSetScreenConfigReply struct { -	Sequence        uint16 -	Length          uint32 -	Status          byte -	NewTimestamp    Timestamp -	ConfigTimestamp Timestamp -	Root            Window -	SubpixelOrder   uint16 -	// padding: 10 bytes -} - -// Waits and reads reply data from request RandrSetScreenConfig -func (cook RandrSetScreenConfigCookie) Reply() (*RandrSetScreenConfigReply, error) { -	buf, err := cook.reply() -	if err != nil { -		return nil, err -	} -	if buf == nil { -		return nil, nil -	} -	return randrSetScreenConfigReply(buf), nil -} - -// Read reply into structure from buffer for RandrSetScreenConfig -func randrSetScreenConfigReply(buf []byte) *RandrSetScreenConfigReply { -	v := new(RandrSetScreenConfigReply) -	b := 1 // skip reply determinant - -	v.Status = buf[b] -	b += 1 - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	v.Length = Get32(buf[b:]) // 4-byte units -	b += 4 - -	v.NewTimestamp = Timestamp(Get32(buf[b:])) -	b += 4 - -	v.ConfigTimestamp = Timestamp(Get32(buf[b:])) -	b += 4 - -	v.Root = Window(Get32(buf[b:])) -	b += 4 - -	v.SubpixelOrder = Get16(buf[b:]) -	b += 2 - -	b += 10 // padding - -	return v -} - -func (cook RandrSetScreenConfigCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrSetScreenConfig -func (c *Conn) randrSetScreenConfigRequest(Window Window, Timestamp Timestamp, ConfigTimestamp Timestamp, SizeID uint16, Rotation uint16, Rate uint16) []byte { -	size := 24 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 2 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Window)) -	b += 4 - -	Put32(buf[b:], uint32(Timestamp)) -	b += 4 - -	Put32(buf[b:], uint32(ConfigTimestamp)) -	b += 4 - -	Put16(buf[b:], SizeID) -	b += 2 - -	Put16(buf[b:], Rotation) -	b += 2 - -	Put16(buf[b:], Rate) -	b += 2 - -	b += 2 // padding - -	return buf -} - -// Request RandrSelectInput -// size: 12 -type RandrSelectInputCookie struct { -	*cookie -} - -// Write request to wire for RandrSelectInput -func (c *Conn) RandrSelectInput(Window Window, Enable uint16) RandrSelectInputCookie { -	cookie := c.newCookie(false, false) -	c.newRequest(c.randrSelectInputRequest(Window, Enable), cookie) -	return RandrSelectInputCookie{cookie} -} - -func (c *Conn) RandrSelectInputChecked(Window Window, Enable uint16) RandrSelectInputCookie { -	cookie := c.newCookie(true, false) -	c.newRequest(c.randrSelectInputRequest(Window, Enable), cookie) -	return RandrSelectInputCookie{cookie} -} - -func (cook RandrSelectInputCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrSelectInput -func (c *Conn) randrSelectInputRequest(Window Window, Enable uint16) []byte { -	size := 12 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 4 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Window)) -	b += 4 - -	Put16(buf[b:], Enable) -	b += 2 - -	b += 2 // padding - -	return buf -} - -// Request RandrGetScreenInfo -// size: 8 -type RandrGetScreenInfoCookie struct { -	*cookie -} - -func (c *Conn) RandrGetScreenInfo(Window Window) RandrGetScreenInfoCookie { -	cookie := c.newCookie(true, true) -	c.newRequest(c.randrGetScreenInfoRequest(Window), cookie) -	return RandrGetScreenInfoCookie{cookie} -} - -func (c *Conn) RandrGetScreenInfoUnchecked(Window Window) RandrGetScreenInfoCookie { -	cookie := c.newCookie(false, true) -	c.newRequest(c.randrGetScreenInfoRequest(Window), cookie) -	return RandrGetScreenInfoCookie{cookie} -} - -// Request reply for RandrGetScreenInfo -// size: ((32 + pad((int(NSizes) * 8))) + RandrRefreshRatesListSize(Rates)) -type RandrGetScreenInfoReply struct { -	Sequence        uint16 -	Length          uint32 -	Rotations       byte -	Root            Window -	Timestamp       Timestamp -	ConfigTimestamp Timestamp -	NSizes          uint16 -	SizeID          uint16 -	Rotation        uint16 -	Rate            uint16 -	NInfo           uint16 -	// padding: 2 bytes -	Sizes []RandrScreenSize   // size: pad((int(NSizes) * 8)) -	Rates []RandrRefreshRates // size: RandrRefreshRatesListSize(Rates) -} - -// Waits and reads reply data from request RandrGetScreenInfo -func (cook RandrGetScreenInfoCookie) Reply() (*RandrGetScreenInfoReply, error) { -	buf, err := cook.reply() -	if err != nil { -		return nil, err -	} -	if buf == nil { -		return nil, nil -	} -	return randrGetScreenInfoReply(buf), nil -} - -// Read reply into structure from buffer for RandrGetScreenInfo -func randrGetScreenInfoReply(buf []byte) *RandrGetScreenInfoReply { -	v := new(RandrGetScreenInfoReply) -	b := 1 // skip reply determinant - -	v.Rotations = buf[b] -	b += 1 - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	v.Length = Get32(buf[b:]) // 4-byte units -	b += 4 - -	v.Root = Window(Get32(buf[b:])) -	b += 4 - -	v.Timestamp = Timestamp(Get32(buf[b:])) -	b += 4 - -	v.ConfigTimestamp = Timestamp(Get32(buf[b:])) -	b += 4 - -	v.NSizes = Get16(buf[b:]) -	b += 2 - -	v.SizeID = Get16(buf[b:]) -	b += 2 - -	v.Rotation = Get16(buf[b:]) -	b += 2 - -	v.Rate = Get16(buf[b:]) -	b += 2 - -	v.NInfo = Get16(buf[b:]) -	b += 2 - -	b += 2 // padding - -	v.Sizes = make([]RandrScreenSize, v.NSizes) -	b += ReadRandrScreenSizeList(buf[b:], v.Sizes) - -	v.Rates = make([]RandrRefreshRates, (int(v.NInfo) - int(v.NSizes))) -	b += ReadRandrRefreshRatesList(buf[b:], v.Rates) - -	return v -} - -func (cook RandrGetScreenInfoCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrGetScreenInfo -func (c *Conn) randrGetScreenInfoRequest(Window Window) []byte { -	size := 8 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 5 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Window)) -	b += 4 - -	return buf -} - -// Request RandrGetScreenSizeRange -// size: 8 -type RandrGetScreenSizeRangeCookie struct { -	*cookie -} - -func (c *Conn) RandrGetScreenSizeRange(Window Window) RandrGetScreenSizeRangeCookie { -	cookie := c.newCookie(true, true) -	c.newRequest(c.randrGetScreenSizeRangeRequest(Window), cookie) -	return RandrGetScreenSizeRangeCookie{cookie} -} - -func (c *Conn) RandrGetScreenSizeRangeUnchecked(Window Window) RandrGetScreenSizeRangeCookie { -	cookie := c.newCookie(false, true) -	c.newRequest(c.randrGetScreenSizeRangeRequest(Window), cookie) -	return RandrGetScreenSizeRangeCookie{cookie} -} - -// Request reply for RandrGetScreenSizeRange -// size: 32 -type RandrGetScreenSizeRangeReply struct { -	Sequence uint16 -	Length   uint32 -	// padding: 1 bytes -	MinWidth  uint16 -	MinHeight uint16 -	MaxWidth  uint16 -	MaxHeight uint16 -	// padding: 16 bytes -} - -// Waits and reads reply data from request RandrGetScreenSizeRange -func (cook RandrGetScreenSizeRangeCookie) Reply() (*RandrGetScreenSizeRangeReply, error) { -	buf, err := cook.reply() -	if err != nil { -		return nil, err -	} -	if buf == nil { -		return nil, nil -	} -	return randrGetScreenSizeRangeReply(buf), nil -} - -// Read reply into structure from buffer for RandrGetScreenSizeRange -func randrGetScreenSizeRangeReply(buf []byte) *RandrGetScreenSizeRangeReply { -	v := new(RandrGetScreenSizeRangeReply) -	b := 1 // skip reply determinant - -	b += 1 // padding - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	v.Length = Get32(buf[b:]) // 4-byte units -	b += 4 - -	v.MinWidth = Get16(buf[b:]) -	b += 2 - -	v.MinHeight = Get16(buf[b:]) -	b += 2 - -	v.MaxWidth = Get16(buf[b:]) -	b += 2 - -	v.MaxHeight = Get16(buf[b:]) -	b += 2 - -	b += 16 // padding - -	return v -} - -func (cook RandrGetScreenSizeRangeCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrGetScreenSizeRange -func (c *Conn) randrGetScreenSizeRangeRequest(Window Window) []byte { -	size := 8 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 6 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Window)) -	b += 4 - -	return buf -} - -// Request RandrSetScreenSize -// size: 20 -type RandrSetScreenSizeCookie struct { -	*cookie -} - -// Write request to wire for RandrSetScreenSize -func (c *Conn) RandrSetScreenSize(Window Window, Width uint16, Height uint16, MmWidth uint32, MmHeight uint32) RandrSetScreenSizeCookie { -	cookie := c.newCookie(false, false) -	c.newRequest(c.randrSetScreenSizeRequest(Window, Width, Height, MmWidth, MmHeight), cookie) -	return RandrSetScreenSizeCookie{cookie} -} - -func (c *Conn) RandrSetScreenSizeChecked(Window Window, Width uint16, Height uint16, MmWidth uint32, MmHeight uint32) RandrSetScreenSizeCookie { -	cookie := c.newCookie(true, false) -	c.newRequest(c.randrSetScreenSizeRequest(Window, Width, Height, MmWidth, MmHeight), cookie) -	return RandrSetScreenSizeCookie{cookie} -} - -func (cook RandrSetScreenSizeCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrSetScreenSize -func (c *Conn) randrSetScreenSizeRequest(Window Window, Width uint16, Height uint16, MmWidth uint32, MmHeight uint32) []byte { -	size := 20 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 7 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Window)) -	b += 4 - -	Put16(buf[b:], Width) -	b += 2 - -	Put16(buf[b:], Height) -	b += 2 - -	Put32(buf[b:], MmWidth) -	b += 4 - -	Put32(buf[b:], MmHeight) -	b += 4 - -	return buf -} - -// Request RandrGetScreenResources -// size: 8 -type RandrGetScreenResourcesCookie struct { -	*cookie -} - -func (c *Conn) RandrGetScreenResources(Window Window) RandrGetScreenResourcesCookie { -	cookie := c.newCookie(true, true) -	c.newRequest(c.randrGetScreenResourcesRequest(Window), cookie) -	return RandrGetScreenResourcesCookie{cookie} -} - -func (c *Conn) RandrGetScreenResourcesUnchecked(Window Window) RandrGetScreenResourcesCookie { -	cookie := c.newCookie(false, true) -	c.newRequest(c.randrGetScreenResourcesRequest(Window), cookie) -	return RandrGetScreenResourcesCookie{cookie} -} - -// Request reply for RandrGetScreenResources -// size: ((((32 + pad((int(NumCrtcs) * 4))) + pad((int(NumOutputs) * 4))) + pad((int(NumModes) * 32))) + pad((int(NamesLen) * 1))) -type RandrGetScreenResourcesReply struct { -	Sequence uint16 -	Length   uint32 -	// padding: 1 bytes -	Timestamp       Timestamp -	ConfigTimestamp Timestamp -	NumCrtcs        uint16 -	NumOutputs      uint16 -	NumModes        uint16 -	NamesLen        uint16 -	// padding: 8 bytes -	Crtcs   []RandrCrtc     // size: pad((int(NumCrtcs) * 4)) -	Outputs []RandrOutput   // size: pad((int(NumOutputs) * 4)) -	Modes   []RandrModeInfo // size: pad((int(NumModes) * 32)) -	Names   []byte          // size: pad((int(NamesLen) * 1)) -} - -// Waits and reads reply data from request RandrGetScreenResources -func (cook RandrGetScreenResourcesCookie) Reply() (*RandrGetScreenResourcesReply, error) { -	buf, err := cook.reply() -	if err != nil { -		return nil, err -	} -	if buf == nil { -		return nil, nil -	} -	return randrGetScreenResourcesReply(buf), nil -} - -// Read reply into structure from buffer for RandrGetScreenResources -func randrGetScreenResourcesReply(buf []byte) *RandrGetScreenResourcesReply { -	v := new(RandrGetScreenResourcesReply) -	b := 1 // skip reply determinant - -	b += 1 // padding - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	v.Length = Get32(buf[b:]) // 4-byte units -	b += 4 - -	v.Timestamp = Timestamp(Get32(buf[b:])) -	b += 4 - -	v.ConfigTimestamp = Timestamp(Get32(buf[b:])) -	b += 4 - -	v.NumCrtcs = Get16(buf[b:]) -	b += 2 - -	v.NumOutputs = Get16(buf[b:]) -	b += 2 - -	v.NumModes = Get16(buf[b:]) -	b += 2 - -	v.NamesLen = Get16(buf[b:]) -	b += 2 - -	b += 8 // padding - -	v.Crtcs = make([]RandrCrtc, v.NumCrtcs) -	for i := 0; i < int(v.NumCrtcs); i++ { -		v.Crtcs[i] = RandrCrtc(Get32(buf[b:])) -		b += 4 -	} -	b = pad(b) - -	v.Outputs = make([]RandrOutput, v.NumOutputs) -	for i := 0; i < int(v.NumOutputs); i++ { -		v.Outputs[i] = RandrOutput(Get32(buf[b:])) -		b += 4 -	} -	b = pad(b) - -	v.Modes = make([]RandrModeInfo, v.NumModes) -	b += ReadRandrModeInfoList(buf[b:], v.Modes) - -	v.Names = make([]byte, v.NamesLen) -	copy(v.Names[:v.NamesLen], buf[b:]) -	b += pad(int(v.NamesLen)) - -	return v -} - -func (cook RandrGetScreenResourcesCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrGetScreenResources -func (c *Conn) randrGetScreenResourcesRequest(Window Window) []byte { -	size := 8 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 8 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Window)) -	b += 4 - -	return buf -} - -// Request RandrGetOutputInfo -// size: 12 -type RandrGetOutputInfoCookie struct { -	*cookie -} - -func (c *Conn) RandrGetOutputInfo(Output RandrOutput, ConfigTimestamp Timestamp) RandrGetOutputInfoCookie { -	cookie := c.newCookie(true, true) -	c.newRequest(c.randrGetOutputInfoRequest(Output, ConfigTimestamp), cookie) -	return RandrGetOutputInfoCookie{cookie} -} - -func (c *Conn) RandrGetOutputInfoUnchecked(Output RandrOutput, ConfigTimestamp Timestamp) RandrGetOutputInfoCookie { -	cookie := c.newCookie(false, true) -	c.newRequest(c.randrGetOutputInfoRequest(Output, ConfigTimestamp), cookie) -	return RandrGetOutputInfoCookie{cookie} -} - -// Request reply for RandrGetOutputInfo -// size: ((((36 + pad((int(NumCrtcs) * 4))) + pad((int(NumModes) * 4))) + pad((int(NumClones) * 4))) + pad((int(NameLen) * 1))) -type RandrGetOutputInfoReply struct { -	Sequence      uint16 -	Length        uint32 -	Status        byte -	Timestamp     Timestamp -	Crtc          RandrCrtc -	MmWidth       uint32 -	MmHeight      uint32 -	Connection    byte -	SubpixelOrder byte -	NumCrtcs      uint16 -	NumModes      uint16 -	NumPreferred  uint16 -	NumClones     uint16 -	NameLen       uint16 -	Crtcs         []RandrCrtc   // size: pad((int(NumCrtcs) * 4)) -	Modes         []RandrMode   // size: pad((int(NumModes) * 4)) -	Clones        []RandrOutput // size: pad((int(NumClones) * 4)) -	Name          []byte        // size: pad((int(NameLen) * 1)) -} - -// Waits and reads reply data from request RandrGetOutputInfo -func (cook RandrGetOutputInfoCookie) Reply() (*RandrGetOutputInfoReply, error) { -	buf, err := cook.reply() -	if err != nil { -		return nil, err -	} -	if buf == nil { -		return nil, nil -	} -	return randrGetOutputInfoReply(buf), nil -} - -// Read reply into structure from buffer for RandrGetOutputInfo -func randrGetOutputInfoReply(buf []byte) *RandrGetOutputInfoReply { -	v := new(RandrGetOutputInfoReply) -	b := 1 // skip reply determinant - -	v.Status = buf[b] -	b += 1 - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	v.Length = Get32(buf[b:]) // 4-byte units -	b += 4 - -	v.Timestamp = Timestamp(Get32(buf[b:])) -	b += 4 - -	v.Crtc = RandrCrtc(Get32(buf[b:])) -	b += 4 - -	v.MmWidth = Get32(buf[b:]) -	b += 4 - -	v.MmHeight = Get32(buf[b:]) -	b += 4 - -	v.Connection = buf[b] -	b += 1 - -	v.SubpixelOrder = buf[b] -	b += 1 - -	v.NumCrtcs = Get16(buf[b:]) -	b += 2 - -	v.NumModes = Get16(buf[b:]) -	b += 2 - -	v.NumPreferred = Get16(buf[b:]) -	b += 2 - -	v.NumClones = Get16(buf[b:]) -	b += 2 - -	v.NameLen = Get16(buf[b:]) -	b += 2 - -	v.Crtcs = make([]RandrCrtc, v.NumCrtcs) -	for i := 0; i < int(v.NumCrtcs); i++ { -		v.Crtcs[i] = RandrCrtc(Get32(buf[b:])) -		b += 4 -	} -	b = pad(b) - -	v.Modes = make([]RandrMode, v.NumModes) -	for i := 0; i < int(v.NumModes); i++ { -		v.Modes[i] = RandrMode(Get32(buf[b:])) -		b += 4 -	} -	b = pad(b) - -	v.Clones = make([]RandrOutput, v.NumClones) -	for i := 0; i < int(v.NumClones); i++ { -		v.Clones[i] = RandrOutput(Get32(buf[b:])) -		b += 4 -	} -	b = pad(b) - -	v.Name = make([]byte, v.NameLen) -	copy(v.Name[:v.NameLen], buf[b:]) -	b += pad(int(v.NameLen)) - -	return v -} - -func (cook RandrGetOutputInfoCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrGetOutputInfo -func (c *Conn) randrGetOutputInfoRequest(Output RandrOutput, ConfigTimestamp Timestamp) []byte { -	size := 12 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 9 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Output)) -	b += 4 - -	Put32(buf[b:], uint32(ConfigTimestamp)) -	b += 4 - -	return buf -} - -// Request RandrListOutputProperties -// size: 8 -type RandrListOutputPropertiesCookie struct { -	*cookie -} - -func (c *Conn) RandrListOutputProperties(Output RandrOutput) RandrListOutputPropertiesCookie { -	cookie := c.newCookie(true, true) -	c.newRequest(c.randrListOutputPropertiesRequest(Output), cookie) -	return RandrListOutputPropertiesCookie{cookie} -} - -func (c *Conn) RandrListOutputPropertiesUnchecked(Output RandrOutput) RandrListOutputPropertiesCookie { -	cookie := c.newCookie(false, true) -	c.newRequest(c.randrListOutputPropertiesRequest(Output), cookie) -	return RandrListOutputPropertiesCookie{cookie} -} - -// Request reply for RandrListOutputProperties -// size: (32 + pad((int(NumAtoms) * 4))) -type RandrListOutputPropertiesReply struct { -	Sequence uint16 -	Length   uint32 -	// padding: 1 bytes -	NumAtoms uint16 -	// padding: 22 bytes -	Atoms []Atom // size: pad((int(NumAtoms) * 4)) -} - -// Waits and reads reply data from request RandrListOutputProperties -func (cook RandrListOutputPropertiesCookie) Reply() (*RandrListOutputPropertiesReply, error) { -	buf, err := cook.reply() -	if err != nil { -		return nil, err -	} -	if buf == nil { -		return nil, nil -	} -	return randrListOutputPropertiesReply(buf), nil -} - -// Read reply into structure from buffer for RandrListOutputProperties -func randrListOutputPropertiesReply(buf []byte) *RandrListOutputPropertiesReply { -	v := new(RandrListOutputPropertiesReply) -	b := 1 // skip reply determinant - -	b += 1 // padding - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	v.Length = Get32(buf[b:]) // 4-byte units -	b += 4 - -	v.NumAtoms = Get16(buf[b:]) -	b += 2 - -	b += 22 // padding - -	v.Atoms = make([]Atom, v.NumAtoms) -	for i := 0; i < int(v.NumAtoms); i++ { -		v.Atoms[i] = Atom(Get32(buf[b:])) -		b += 4 -	} -	b = pad(b) - -	return v -} - -func (cook RandrListOutputPropertiesCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrListOutputProperties -func (c *Conn) randrListOutputPropertiesRequest(Output RandrOutput) []byte { -	size := 8 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 10 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Output)) -	b += 4 - -	return buf -} - -// Request RandrQueryOutputProperty -// size: 12 -type RandrQueryOutputPropertyCookie struct { -	*cookie -} - -func (c *Conn) RandrQueryOutputProperty(Output RandrOutput, Property Atom) RandrQueryOutputPropertyCookie { -	cookie := c.newCookie(true, true) -	c.newRequest(c.randrQueryOutputPropertyRequest(Output, Property), cookie) -	return RandrQueryOutputPropertyCookie{cookie} -} - -func (c *Conn) RandrQueryOutputPropertyUnchecked(Output RandrOutput, Property Atom) RandrQueryOutputPropertyCookie { -	cookie := c.newCookie(false, true) -	c.newRequest(c.randrQueryOutputPropertyRequest(Output, Property), cookie) -	return RandrQueryOutputPropertyCookie{cookie} -} - -// Request reply for RandrQueryOutputProperty -// size: (32 + pad((int(Length) * 4))) -type RandrQueryOutputPropertyReply struct { -	Sequence uint16 -	Length   uint32 -	// padding: 1 bytes -	Pending   bool -	Range     bool -	Immutable bool -	// padding: 21 bytes -	ValidValues []int32 // size: pad((int(Length) * 4)) -} - -// Waits and reads reply data from request RandrQueryOutputProperty -func (cook RandrQueryOutputPropertyCookie) Reply() (*RandrQueryOutputPropertyReply, error) { -	buf, err := cook.reply() -	if err != nil { -		return nil, err -	} -	if buf == nil { -		return nil, nil -	} -	return randrQueryOutputPropertyReply(buf), nil -} - -// Read reply into structure from buffer for RandrQueryOutputProperty -func randrQueryOutputPropertyReply(buf []byte) *RandrQueryOutputPropertyReply { -	v := new(RandrQueryOutputPropertyReply) -	b := 1 // skip reply determinant - -	b += 1 // padding - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	v.Length = Get32(buf[b:]) // 4-byte units -	b += 4 - -	if buf[b] == 1 { -		v.Pending = true -	} else { -		v.Pending = false -	} -	b += 1 - -	if buf[b] == 1 { -		v.Range = true -	} else { -		v.Range = false -	} -	b += 1 - -	if buf[b] == 1 { -		v.Immutable = true -	} else { -		v.Immutable = false -	} -	b += 1 - -	b += 21 // padding - -	v.ValidValues = make([]int32, v.Length) -	for i := 0; i < int(v.Length); i++ { -		v.ValidValues[i] = int32(Get32(buf[b:])) -		b += 4 -	} -	b = pad(b) - -	return v -} - -func (cook RandrQueryOutputPropertyCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrQueryOutputProperty -func (c *Conn) randrQueryOutputPropertyRequest(Output RandrOutput, Property Atom) []byte { -	size := 12 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 11 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Output)) -	b += 4 - -	Put32(buf[b:], uint32(Property)) -	b += 4 - -	return buf -} - -// Request RandrConfigureOutputProperty -// size: pad((16 + pad((len(Values) * 4)))) -type RandrConfigureOutputPropertyCookie struct { -	*cookie -} - -// Write request to wire for RandrConfigureOutputProperty -func (c *Conn) RandrConfigureOutputProperty(Output RandrOutput, Property Atom, Pending bool, Range bool, Values []int32) RandrConfigureOutputPropertyCookie { -	cookie := c.newCookie(false, false) -	c.newRequest(c.randrConfigureOutputPropertyRequest(Output, Property, Pending, Range, Values), cookie) -	return RandrConfigureOutputPropertyCookie{cookie} -} - -func (c *Conn) RandrConfigureOutputPropertyChecked(Output RandrOutput, Property Atom, Pending bool, Range bool, Values []int32) RandrConfigureOutputPropertyCookie { -	cookie := c.newCookie(true, false) -	c.newRequest(c.randrConfigureOutputPropertyRequest(Output, Property, Pending, Range, Values), cookie) -	return RandrConfigureOutputPropertyCookie{cookie} -} - -func (cook RandrConfigureOutputPropertyCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrConfigureOutputProperty -func (c *Conn) randrConfigureOutputPropertyRequest(Output RandrOutput, Property Atom, Pending bool, Range bool, Values []int32) []byte { -	size := pad((16 + pad((len(Values) * 4)))) -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 12 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Output)) -	b += 4 - -	Put32(buf[b:], uint32(Property)) -	b += 4 - -	if Pending { -		buf[b] = 1 -	} else { -		buf[b] = 0 -	} -	b += 1 - -	if Range { -		buf[b] = 1 -	} else { -		buf[b] = 0 -	} -	b += 1 - -	b += 2 // padding - -	for i := 0; i < int(len(Values)); i++ { -		Put32(buf[b:], uint32(Values[i])) -		b += 4 -	} -	b = pad(b) - -	return buf -} - -// Request RandrChangeOutputProperty -// size: pad((24 + pad((((int(NumUnits) * int(Format)) / 8) * 1)))) -type RandrChangeOutputPropertyCookie struct { -	*cookie -} - -// Write request to wire for RandrChangeOutputProperty -func (c *Conn) RandrChangeOutputProperty(Output RandrOutput, Property Atom, Type Atom, Format byte, Mode byte, NumUnits uint32, Data []byte) RandrChangeOutputPropertyCookie { -	cookie := c.newCookie(false, false) -	c.newRequest(c.randrChangeOutputPropertyRequest(Output, Property, Type, Format, Mode, NumUnits, Data), cookie) -	return RandrChangeOutputPropertyCookie{cookie} -} - -func (c *Conn) RandrChangeOutputPropertyChecked(Output RandrOutput, Property Atom, Type Atom, Format byte, Mode byte, NumUnits uint32, Data []byte) RandrChangeOutputPropertyCookie { -	cookie := c.newCookie(true, false) -	c.newRequest(c.randrChangeOutputPropertyRequest(Output, Property, Type, Format, Mode, NumUnits, Data), cookie) -	return RandrChangeOutputPropertyCookie{cookie} -} - -func (cook RandrChangeOutputPropertyCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrChangeOutputProperty -func (c *Conn) randrChangeOutputPropertyRequest(Output RandrOutput, Property Atom, Type Atom, Format byte, Mode byte, NumUnits uint32, Data []byte) []byte { -	size := pad((24 + pad((((int(NumUnits) * int(Format)) / 8) * 1)))) -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 13 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Output)) -	b += 4 - -	Put32(buf[b:], uint32(Property)) -	b += 4 - -	Put32(buf[b:], uint32(Type)) -	b += 4 - -	buf[b] = Format -	b += 1 - -	buf[b] = Mode -	b += 1 - -	b += 2 // padding - -	Put32(buf[b:], NumUnits) -	b += 4 - -	copy(buf[b:], Data[:((int(NumUnits)*int(Format))/8)]) -	b += pad(int(((int(NumUnits) * int(Format)) / 8))) - -	return buf -} - -// Request RandrDeleteOutputProperty -// size: 12 -type RandrDeleteOutputPropertyCookie struct { -	*cookie -} - -// Write request to wire for RandrDeleteOutputProperty -func (c *Conn) RandrDeleteOutputProperty(Output RandrOutput, Property Atom) RandrDeleteOutputPropertyCookie { -	cookie := c.newCookie(false, false) -	c.newRequest(c.randrDeleteOutputPropertyRequest(Output, Property), cookie) -	return RandrDeleteOutputPropertyCookie{cookie} -} - -func (c *Conn) RandrDeleteOutputPropertyChecked(Output RandrOutput, Property Atom) RandrDeleteOutputPropertyCookie { -	cookie := c.newCookie(true, false) -	c.newRequest(c.randrDeleteOutputPropertyRequest(Output, Property), cookie) -	return RandrDeleteOutputPropertyCookie{cookie} -} - -func (cook RandrDeleteOutputPropertyCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrDeleteOutputProperty -func (c *Conn) randrDeleteOutputPropertyRequest(Output RandrOutput, Property Atom) []byte { -	size := 12 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 14 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Output)) -	b += 4 - -	Put32(buf[b:], uint32(Property)) -	b += 4 - -	return buf -} - -// Request RandrGetOutputProperty -// size: 28 -type RandrGetOutputPropertyCookie struct { -	*cookie -} - -func (c *Conn) RandrGetOutputProperty(Output RandrOutput, Property Atom, Type Atom, LongOffset uint32, LongLength uint32, Delete bool, Pending bool) RandrGetOutputPropertyCookie { -	cookie := c.newCookie(true, true) -	c.newRequest(c.randrGetOutputPropertyRequest(Output, Property, Type, LongOffset, LongLength, Delete, Pending), cookie) -	return RandrGetOutputPropertyCookie{cookie} -} - -func (c *Conn) RandrGetOutputPropertyUnchecked(Output RandrOutput, Property Atom, Type Atom, LongOffset uint32, LongLength uint32, Delete bool, Pending bool) RandrGetOutputPropertyCookie { -	cookie := c.newCookie(false, true) -	c.newRequest(c.randrGetOutputPropertyRequest(Output, Property, Type, LongOffset, LongLength, Delete, Pending), cookie) -	return RandrGetOutputPropertyCookie{cookie} -} - -// Request reply for RandrGetOutputProperty -// size: (32 + pad(((int(NumItems) * (int(Format) / 8)) * 1))) -type RandrGetOutputPropertyReply struct { -	Sequence   uint16 -	Length     uint32 -	Format     byte -	Type       Atom -	BytesAfter uint32 -	NumItems   uint32 -	// padding: 12 bytes -	Data []byte // size: pad(((int(NumItems) * (int(Format) / 8)) * 1)) -} - -// Waits and reads reply data from request RandrGetOutputProperty -func (cook RandrGetOutputPropertyCookie) Reply() (*RandrGetOutputPropertyReply, error) { -	buf, err := cook.reply() -	if err != nil { -		return nil, err -	} -	if buf == nil { -		return nil, nil -	} -	return randrGetOutputPropertyReply(buf), nil -} - -// Read reply into structure from buffer for RandrGetOutputProperty -func randrGetOutputPropertyReply(buf []byte) *RandrGetOutputPropertyReply { -	v := new(RandrGetOutputPropertyReply) -	b := 1 // skip reply determinant - -	v.Format = buf[b] -	b += 1 - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	v.Length = Get32(buf[b:]) // 4-byte units -	b += 4 - -	v.Type = Atom(Get32(buf[b:])) -	b += 4 - -	v.BytesAfter = Get32(buf[b:]) -	b += 4 - -	v.NumItems = Get32(buf[b:]) -	b += 4 - -	b += 12 // padding - -	v.Data = make([]byte, (int(v.NumItems) * (int(v.Format) / 8))) -	copy(v.Data[:(int(v.NumItems)*(int(v.Format)/8))], buf[b:]) -	b += pad(int((int(v.NumItems) * (int(v.Format) / 8)))) - -	return v -} - -func (cook RandrGetOutputPropertyCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrGetOutputProperty -func (c *Conn) randrGetOutputPropertyRequest(Output RandrOutput, Property Atom, Type Atom, LongOffset uint32, LongLength uint32, Delete bool, Pending bool) []byte { -	size := 28 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 15 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Output)) -	b += 4 - -	Put32(buf[b:], uint32(Property)) -	b += 4 - -	Put32(buf[b:], uint32(Type)) -	b += 4 - -	Put32(buf[b:], LongOffset) -	b += 4 - -	Put32(buf[b:], LongLength) -	b += 4 - -	if Delete { -		buf[b] = 1 -	} else { -		buf[b] = 0 -	} -	b += 1 - -	if Pending { -		buf[b] = 1 -	} else { -		buf[b] = 0 -	} -	b += 1 - -	b += 2 // padding - -	return buf -} - -// Request RandrCreateMode -// size: pad((40 + pad((len(Name) * 1)))) -type RandrCreateModeCookie struct { -	*cookie -} - -func (c *Conn) RandrCreateMode(Window Window, ModeInfo RandrModeInfo, Name string) RandrCreateModeCookie { -	cookie := c.newCookie(true, true) -	c.newRequest(c.randrCreateModeRequest(Window, ModeInfo, Name), cookie) -	return RandrCreateModeCookie{cookie} -} - -func (c *Conn) RandrCreateModeUnchecked(Window Window, ModeInfo RandrModeInfo, Name string) RandrCreateModeCookie { -	cookie := c.newCookie(false, true) -	c.newRequest(c.randrCreateModeRequest(Window, ModeInfo, Name), cookie) -	return RandrCreateModeCookie{cookie} -} - -// Request reply for RandrCreateMode -// size: 32 -type RandrCreateModeReply struct { -	Sequence uint16 -	Length   uint32 -	// padding: 1 bytes -	Mode RandrMode -	// padding: 20 bytes -} - -// Waits and reads reply data from request RandrCreateMode -func (cook RandrCreateModeCookie) Reply() (*RandrCreateModeReply, error) { -	buf, err := cook.reply() -	if err != nil { -		return nil, err -	} -	if buf == nil { -		return nil, nil -	} -	return randrCreateModeReply(buf), nil -} - -// Read reply into structure from buffer for RandrCreateMode -func randrCreateModeReply(buf []byte) *RandrCreateModeReply { -	v := new(RandrCreateModeReply) -	b := 1 // skip reply determinant - -	b += 1 // padding - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	v.Length = Get32(buf[b:]) // 4-byte units -	b += 4 - -	v.Mode = RandrMode(Get32(buf[b:])) -	b += 4 - -	b += 20 // padding - -	return v -} - -func (cook RandrCreateModeCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrCreateMode -func (c *Conn) randrCreateModeRequest(Window Window, ModeInfo RandrModeInfo, Name string) []byte { -	size := pad((40 + pad((len(Name) * 1)))) -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 16 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Window)) -	b += 4 - -	{ -		structBytes := ModeInfo.Bytes() -		copy(buf[b:], structBytes) -		b += pad(len(structBytes)) -	} - -	copy(buf[b:], Name[:len(Name)]) -	b += pad(int(len(Name))) - -	return buf -} - -// Request RandrDestroyMode -// size: 8 -type RandrDestroyModeCookie struct { -	*cookie -} - -// Write request to wire for RandrDestroyMode -func (c *Conn) RandrDestroyMode(Mode RandrMode) RandrDestroyModeCookie { -	cookie := c.newCookie(false, false) -	c.newRequest(c.randrDestroyModeRequest(Mode), cookie) -	return RandrDestroyModeCookie{cookie} -} - -func (c *Conn) RandrDestroyModeChecked(Mode RandrMode) RandrDestroyModeCookie { -	cookie := c.newCookie(true, false) -	c.newRequest(c.randrDestroyModeRequest(Mode), cookie) -	return RandrDestroyModeCookie{cookie} -} - -func (cook RandrDestroyModeCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrDestroyMode -func (c *Conn) randrDestroyModeRequest(Mode RandrMode) []byte { -	size := 8 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 17 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Mode)) -	b += 4 - -	return buf -} - -// Request RandrAddOutputMode -// size: 12 -type RandrAddOutputModeCookie struct { -	*cookie -} - -// Write request to wire for RandrAddOutputMode -func (c *Conn) RandrAddOutputMode(Output RandrOutput, Mode RandrMode) RandrAddOutputModeCookie { -	cookie := c.newCookie(false, false) -	c.newRequest(c.randrAddOutputModeRequest(Output, Mode), cookie) -	return RandrAddOutputModeCookie{cookie} -} - -func (c *Conn) RandrAddOutputModeChecked(Output RandrOutput, Mode RandrMode) RandrAddOutputModeCookie { -	cookie := c.newCookie(true, false) -	c.newRequest(c.randrAddOutputModeRequest(Output, Mode), cookie) -	return RandrAddOutputModeCookie{cookie} -} - -func (cook RandrAddOutputModeCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrAddOutputMode -func (c *Conn) randrAddOutputModeRequest(Output RandrOutput, Mode RandrMode) []byte { -	size := 12 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 18 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Output)) -	b += 4 - -	Put32(buf[b:], uint32(Mode)) -	b += 4 - -	return buf -} - -// Request RandrDeleteOutputMode -// size: 12 -type RandrDeleteOutputModeCookie struct { -	*cookie -} - -// Write request to wire for RandrDeleteOutputMode -func (c *Conn) RandrDeleteOutputMode(Output RandrOutput, Mode RandrMode) RandrDeleteOutputModeCookie { -	cookie := c.newCookie(false, false) -	c.newRequest(c.randrDeleteOutputModeRequest(Output, Mode), cookie) -	return RandrDeleteOutputModeCookie{cookie} -} - -func (c *Conn) RandrDeleteOutputModeChecked(Output RandrOutput, Mode RandrMode) RandrDeleteOutputModeCookie { -	cookie := c.newCookie(true, false) -	c.newRequest(c.randrDeleteOutputModeRequest(Output, Mode), cookie) -	return RandrDeleteOutputModeCookie{cookie} -} - -func (cook RandrDeleteOutputModeCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrDeleteOutputMode -func (c *Conn) randrDeleteOutputModeRequest(Output RandrOutput, Mode RandrMode) []byte { -	size := 12 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 19 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Output)) -	b += 4 - -	Put32(buf[b:], uint32(Mode)) -	b += 4 - -	return buf -} - -// Request RandrGetCrtcInfo -// size: 12 -type RandrGetCrtcInfoCookie struct { -	*cookie -} - -func (c *Conn) RandrGetCrtcInfo(Crtc RandrCrtc, ConfigTimestamp Timestamp) RandrGetCrtcInfoCookie { -	cookie := c.newCookie(true, true) -	c.newRequest(c.randrGetCrtcInfoRequest(Crtc, ConfigTimestamp), cookie) -	return RandrGetCrtcInfoCookie{cookie} -} - -func (c *Conn) RandrGetCrtcInfoUnchecked(Crtc RandrCrtc, ConfigTimestamp Timestamp) RandrGetCrtcInfoCookie { -	cookie := c.newCookie(false, true) -	c.newRequest(c.randrGetCrtcInfoRequest(Crtc, ConfigTimestamp), cookie) -	return RandrGetCrtcInfoCookie{cookie} -} - -// Request reply for RandrGetCrtcInfo -// size: ((32 + pad((int(NumOutputs) * 4))) + pad((int(NumPossibleOutputs) * 4))) -type RandrGetCrtcInfoReply struct { -	Sequence           uint16 -	Length             uint32 -	Status             byte -	Timestamp          Timestamp -	X                  int16 -	Y                  int16 -	Width              uint16 -	Height             uint16 -	Mode               RandrMode -	Rotation           uint16 -	Rotations          uint16 -	NumOutputs         uint16 -	NumPossibleOutputs uint16 -	Outputs            []RandrOutput // size: pad((int(NumOutputs) * 4)) -	Possible           []RandrOutput // size: pad((int(NumPossibleOutputs) * 4)) -} - -// Waits and reads reply data from request RandrGetCrtcInfo -func (cook RandrGetCrtcInfoCookie) Reply() (*RandrGetCrtcInfoReply, error) { -	buf, err := cook.reply() -	if err != nil { -		return nil, err -	} -	if buf == nil { -		return nil, nil -	} -	return randrGetCrtcInfoReply(buf), nil -} - -// Read reply into structure from buffer for RandrGetCrtcInfo -func randrGetCrtcInfoReply(buf []byte) *RandrGetCrtcInfoReply { -	v := new(RandrGetCrtcInfoReply) -	b := 1 // skip reply determinant - -	v.Status = buf[b] -	b += 1 - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	v.Length = Get32(buf[b:]) // 4-byte units -	b += 4 - -	v.Timestamp = Timestamp(Get32(buf[b:])) -	b += 4 - -	v.X = int16(Get16(buf[b:])) -	b += 2 - -	v.Y = int16(Get16(buf[b:])) -	b += 2 - -	v.Width = Get16(buf[b:]) -	b += 2 - -	v.Height = Get16(buf[b:]) -	b += 2 - -	v.Mode = RandrMode(Get32(buf[b:])) -	b += 4 - -	v.Rotation = Get16(buf[b:]) -	b += 2 - -	v.Rotations = Get16(buf[b:]) -	b += 2 - -	v.NumOutputs = Get16(buf[b:]) -	b += 2 - -	v.NumPossibleOutputs = Get16(buf[b:]) -	b += 2 - -	v.Outputs = make([]RandrOutput, v.NumOutputs) -	for i := 0; i < int(v.NumOutputs); i++ { -		v.Outputs[i] = RandrOutput(Get32(buf[b:])) -		b += 4 -	} -	b = pad(b) - -	v.Possible = make([]RandrOutput, v.NumPossibleOutputs) -	for i := 0; i < int(v.NumPossibleOutputs); i++ { -		v.Possible[i] = RandrOutput(Get32(buf[b:])) -		b += 4 -	} -	b = pad(b) - -	return v -} - -func (cook RandrGetCrtcInfoCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrGetCrtcInfo -func (c *Conn) randrGetCrtcInfoRequest(Crtc RandrCrtc, ConfigTimestamp Timestamp) []byte { -	size := 12 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 20 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Crtc)) -	b += 4 - -	Put32(buf[b:], uint32(ConfigTimestamp)) -	b += 4 - -	return buf -} - -// Request RandrSetCrtcConfig -// size: pad((28 + pad((len(Outputs) * 4)))) -type RandrSetCrtcConfigCookie struct { -	*cookie -} - -func (c *Conn) RandrSetCrtcConfig(Crtc RandrCrtc, Timestamp Timestamp, ConfigTimestamp Timestamp, X int16, Y int16, Mode RandrMode, Rotation uint16, Outputs []RandrOutput) RandrSetCrtcConfigCookie { -	cookie := c.newCookie(true, true) -	c.newRequest(c.randrSetCrtcConfigRequest(Crtc, Timestamp, ConfigTimestamp, X, Y, Mode, Rotation, Outputs), cookie) -	return RandrSetCrtcConfigCookie{cookie} -} - -func (c *Conn) RandrSetCrtcConfigUnchecked(Crtc RandrCrtc, Timestamp Timestamp, ConfigTimestamp Timestamp, X int16, Y int16, Mode RandrMode, Rotation uint16, Outputs []RandrOutput) RandrSetCrtcConfigCookie { -	cookie := c.newCookie(false, true) -	c.newRequest(c.randrSetCrtcConfigRequest(Crtc, Timestamp, ConfigTimestamp, X, Y, Mode, Rotation, Outputs), cookie) -	return RandrSetCrtcConfigCookie{cookie} -} - -// Request reply for RandrSetCrtcConfig -// size: 32 -type RandrSetCrtcConfigReply struct { -	Sequence  uint16 -	Length    uint32 -	Status    byte -	Timestamp Timestamp -	// padding: 20 bytes -} - -// Waits and reads reply data from request RandrSetCrtcConfig -func (cook RandrSetCrtcConfigCookie) Reply() (*RandrSetCrtcConfigReply, error) { -	buf, err := cook.reply() -	if err != nil { -		return nil, err -	} -	if buf == nil { -		return nil, nil -	} -	return randrSetCrtcConfigReply(buf), nil -} - -// Read reply into structure from buffer for RandrSetCrtcConfig -func randrSetCrtcConfigReply(buf []byte) *RandrSetCrtcConfigReply { -	v := new(RandrSetCrtcConfigReply) -	b := 1 // skip reply determinant - -	v.Status = buf[b] -	b += 1 - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	v.Length = Get32(buf[b:]) // 4-byte units -	b += 4 - -	v.Timestamp = Timestamp(Get32(buf[b:])) -	b += 4 - -	b += 20 // padding - -	return v -} - -func (cook RandrSetCrtcConfigCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrSetCrtcConfig -func (c *Conn) randrSetCrtcConfigRequest(Crtc RandrCrtc, Timestamp Timestamp, ConfigTimestamp Timestamp, X int16, Y int16, Mode RandrMode, Rotation uint16, Outputs []RandrOutput) []byte { -	size := pad((28 + pad((len(Outputs) * 4)))) -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 21 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Crtc)) -	b += 4 - -	Put32(buf[b:], uint32(Timestamp)) -	b += 4 - -	Put32(buf[b:], uint32(ConfigTimestamp)) -	b += 4 - -	Put16(buf[b:], uint16(X)) -	b += 2 - -	Put16(buf[b:], uint16(Y)) -	b += 2 - -	Put32(buf[b:], uint32(Mode)) -	b += 4 - -	Put16(buf[b:], Rotation) -	b += 2 - -	b += 2 // padding - -	for i := 0; i < int(len(Outputs)); i++ { -		Put32(buf[b:], uint32(Outputs[i])) -		b += 4 -	} -	b = pad(b) - -	return buf -} - -// Request RandrGetCrtcGammaSize -// size: 8 -type RandrGetCrtcGammaSizeCookie struct { -	*cookie -} - -func (c *Conn) RandrGetCrtcGammaSize(Crtc RandrCrtc) RandrGetCrtcGammaSizeCookie { -	cookie := c.newCookie(true, true) -	c.newRequest(c.randrGetCrtcGammaSizeRequest(Crtc), cookie) -	return RandrGetCrtcGammaSizeCookie{cookie} -} - -func (c *Conn) RandrGetCrtcGammaSizeUnchecked(Crtc RandrCrtc) RandrGetCrtcGammaSizeCookie { -	cookie := c.newCookie(false, true) -	c.newRequest(c.randrGetCrtcGammaSizeRequest(Crtc), cookie) -	return RandrGetCrtcGammaSizeCookie{cookie} -} - -// Request reply for RandrGetCrtcGammaSize -// size: 32 -type RandrGetCrtcGammaSizeReply struct { -	Sequence uint16 -	Length   uint32 -	// padding: 1 bytes -	Size uint16 -	// padding: 22 bytes -} - -// Waits and reads reply data from request RandrGetCrtcGammaSize -func (cook RandrGetCrtcGammaSizeCookie) Reply() (*RandrGetCrtcGammaSizeReply, error) { -	buf, err := cook.reply() -	if err != nil { -		return nil, err -	} -	if buf == nil { -		return nil, nil -	} -	return randrGetCrtcGammaSizeReply(buf), nil -} - -// Read reply into structure from buffer for RandrGetCrtcGammaSize -func randrGetCrtcGammaSizeReply(buf []byte) *RandrGetCrtcGammaSizeReply { -	v := new(RandrGetCrtcGammaSizeReply) -	b := 1 // skip reply determinant - -	b += 1 // padding - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	v.Length = Get32(buf[b:]) // 4-byte units -	b += 4 - -	v.Size = Get16(buf[b:]) -	b += 2 - -	b += 22 // padding - -	return v -} - -func (cook RandrGetCrtcGammaSizeCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrGetCrtcGammaSize -func (c *Conn) randrGetCrtcGammaSizeRequest(Crtc RandrCrtc) []byte { -	size := 8 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 22 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Crtc)) -	b += 4 - -	return buf -} - -// Request RandrGetCrtcGamma -// size: 8 -type RandrGetCrtcGammaCookie struct { -	*cookie -} - -func (c *Conn) RandrGetCrtcGamma(Crtc RandrCrtc) RandrGetCrtcGammaCookie { -	cookie := c.newCookie(true, true) -	c.newRequest(c.randrGetCrtcGammaRequest(Crtc), cookie) -	return RandrGetCrtcGammaCookie{cookie} -} - -func (c *Conn) RandrGetCrtcGammaUnchecked(Crtc RandrCrtc) RandrGetCrtcGammaCookie { -	cookie := c.newCookie(false, true) -	c.newRequest(c.randrGetCrtcGammaRequest(Crtc), cookie) -	return RandrGetCrtcGammaCookie{cookie} -} - -// Request reply for RandrGetCrtcGamma -// size: (((32 + pad((int(Size) * 2))) + pad((int(Size) * 2))) + pad((int(Size) * 2))) -type RandrGetCrtcGammaReply struct { -	Sequence uint16 -	Length   uint32 -	// padding: 1 bytes -	Size uint16 -	// padding: 22 bytes -	Red   []uint16 // size: pad((int(Size) * 2)) -	Green []uint16 // size: pad((int(Size) * 2)) -	Blue  []uint16 // size: pad((int(Size) * 2)) -} - -// Waits and reads reply data from request RandrGetCrtcGamma -func (cook RandrGetCrtcGammaCookie) Reply() (*RandrGetCrtcGammaReply, error) { -	buf, err := cook.reply() -	if err != nil { -		return nil, err -	} -	if buf == nil { -		return nil, nil -	} -	return randrGetCrtcGammaReply(buf), nil -} - -// Read reply into structure from buffer for RandrGetCrtcGamma -func randrGetCrtcGammaReply(buf []byte) *RandrGetCrtcGammaReply { -	v := new(RandrGetCrtcGammaReply) -	b := 1 // skip reply determinant - -	b += 1 // padding - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	v.Length = Get32(buf[b:]) // 4-byte units -	b += 4 - -	v.Size = Get16(buf[b:]) -	b += 2 - -	b += 22 // padding - -	v.Red = make([]uint16, v.Size) -	for i := 0; i < int(v.Size); i++ { -		v.Red[i] = Get16(buf[b:]) -		b += 2 -	} -	b = pad(b) - -	v.Green = make([]uint16, v.Size) -	for i := 0; i < int(v.Size); i++ { -		v.Green[i] = Get16(buf[b:]) -		b += 2 -	} -	b = pad(b) - -	v.Blue = make([]uint16, v.Size) -	for i := 0; i < int(v.Size); i++ { -		v.Blue[i] = Get16(buf[b:]) -		b += 2 -	} -	b = pad(b) - -	return v -} - -func (cook RandrGetCrtcGammaCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrGetCrtcGamma -func (c *Conn) randrGetCrtcGammaRequest(Crtc RandrCrtc) []byte { -	size := 8 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 23 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Crtc)) -	b += 4 - -	return buf -} - -// Request RandrSetCrtcGamma -// size: pad((((12 + pad((int(Size) * 2))) + pad((int(Size) * 2))) + pad((int(Size) * 2)))) -type RandrSetCrtcGammaCookie struct { -	*cookie -} - -// Write request to wire for RandrSetCrtcGamma -func (c *Conn) RandrSetCrtcGamma(Crtc RandrCrtc, Size uint16, Red []uint16, Green []uint16, Blue []uint16) RandrSetCrtcGammaCookie { -	cookie := c.newCookie(false, false) -	c.newRequest(c.randrSetCrtcGammaRequest(Crtc, Size, Red, Green, Blue), cookie) -	return RandrSetCrtcGammaCookie{cookie} -} - -func (c *Conn) RandrSetCrtcGammaChecked(Crtc RandrCrtc, Size uint16, Red []uint16, Green []uint16, Blue []uint16) RandrSetCrtcGammaCookie { -	cookie := c.newCookie(true, false) -	c.newRequest(c.randrSetCrtcGammaRequest(Crtc, Size, Red, Green, Blue), cookie) -	return RandrSetCrtcGammaCookie{cookie} -} - -func (cook RandrSetCrtcGammaCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrSetCrtcGamma -func (c *Conn) randrSetCrtcGammaRequest(Crtc RandrCrtc, Size uint16, Red []uint16, Green []uint16, Blue []uint16) []byte { -	size := pad((((12 + pad((int(Size) * 2))) + pad((int(Size) * 2))) + pad((int(Size) * 2)))) -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 24 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Crtc)) -	b += 4 - -	Put16(buf[b:], Size) -	b += 2 - -	b += 2 // padding - -	for i := 0; i < int(Size); i++ { -		Put16(buf[b:], Red[i]) -		b += 2 -	} -	b = pad(b) - -	for i := 0; i < int(Size); i++ { -		Put16(buf[b:], Green[i]) -		b += 2 -	} -	b = pad(b) - -	for i := 0; i < int(Size); i++ { -		Put16(buf[b:], Blue[i]) -		b += 2 -	} -	b = pad(b) - -	return buf -} - -// Request RandrGetScreenResourcesCurrent -// size: 8 -type RandrGetScreenResourcesCurrentCookie struct { -	*cookie -} - -func (c *Conn) RandrGetScreenResourcesCurrent(Window Window) RandrGetScreenResourcesCurrentCookie { -	cookie := c.newCookie(true, true) -	c.newRequest(c.randrGetScreenResourcesCurrentRequest(Window), cookie) -	return RandrGetScreenResourcesCurrentCookie{cookie} -} - -func (c *Conn) RandrGetScreenResourcesCurrentUnchecked(Window Window) RandrGetScreenResourcesCurrentCookie { -	cookie := c.newCookie(false, true) -	c.newRequest(c.randrGetScreenResourcesCurrentRequest(Window), cookie) -	return RandrGetScreenResourcesCurrentCookie{cookie} -} - -// Request reply for RandrGetScreenResourcesCurrent -// size: ((((32 + pad((int(NumCrtcs) * 4))) + pad((int(NumOutputs) * 4))) + pad((int(NumModes) * 32))) + pad((int(NamesLen) * 1))) -type RandrGetScreenResourcesCurrentReply struct { -	Sequence uint16 -	Length   uint32 -	// padding: 1 bytes -	Timestamp       Timestamp -	ConfigTimestamp Timestamp -	NumCrtcs        uint16 -	NumOutputs      uint16 -	NumModes        uint16 -	NamesLen        uint16 -	// padding: 8 bytes -	Crtcs   []RandrCrtc     // size: pad((int(NumCrtcs) * 4)) -	Outputs []RandrOutput   // size: pad((int(NumOutputs) * 4)) -	Modes   []RandrModeInfo // size: pad((int(NumModes) * 32)) -	Names   []byte          // size: pad((int(NamesLen) * 1)) -} - -// Waits and reads reply data from request RandrGetScreenResourcesCurrent -func (cook RandrGetScreenResourcesCurrentCookie) Reply() (*RandrGetScreenResourcesCurrentReply, error) { -	buf, err := cook.reply() -	if err != nil { -		return nil, err -	} -	if buf == nil { -		return nil, nil -	} -	return randrGetScreenResourcesCurrentReply(buf), nil -} - -// Read reply into structure from buffer for RandrGetScreenResourcesCurrent -func randrGetScreenResourcesCurrentReply(buf []byte) *RandrGetScreenResourcesCurrentReply { -	v := new(RandrGetScreenResourcesCurrentReply) -	b := 1 // skip reply determinant - -	b += 1 // padding - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	v.Length = Get32(buf[b:]) // 4-byte units -	b += 4 - -	v.Timestamp = Timestamp(Get32(buf[b:])) -	b += 4 - -	v.ConfigTimestamp = Timestamp(Get32(buf[b:])) -	b += 4 - -	v.NumCrtcs = Get16(buf[b:]) -	b += 2 - -	v.NumOutputs = Get16(buf[b:]) -	b += 2 - -	v.NumModes = Get16(buf[b:]) -	b += 2 - -	v.NamesLen = Get16(buf[b:]) -	b += 2 - -	b += 8 // padding - -	v.Crtcs = make([]RandrCrtc, v.NumCrtcs) -	for i := 0; i < int(v.NumCrtcs); i++ { -		v.Crtcs[i] = RandrCrtc(Get32(buf[b:])) -		b += 4 -	} -	b = pad(b) - -	v.Outputs = make([]RandrOutput, v.NumOutputs) -	for i := 0; i < int(v.NumOutputs); i++ { -		v.Outputs[i] = RandrOutput(Get32(buf[b:])) -		b += 4 -	} -	b = pad(b) - -	v.Modes = make([]RandrModeInfo, v.NumModes) -	b += ReadRandrModeInfoList(buf[b:], v.Modes) - -	v.Names = make([]byte, v.NamesLen) -	copy(v.Names[:v.NamesLen], buf[b:]) -	b += pad(int(v.NamesLen)) - -	return v -} - -func (cook RandrGetScreenResourcesCurrentCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrGetScreenResourcesCurrent -func (c *Conn) randrGetScreenResourcesCurrentRequest(Window Window) []byte { -	size := 8 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 25 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Window)) -	b += 4 - -	return buf -} - -// Request RandrSetCrtcTransform -// size: pad(((48 + pad((int(FilterLen) * 1))) + pad((len(FilterParams) * 4)))) -type RandrSetCrtcTransformCookie struct { -	*cookie -} - -// Write request to wire for RandrSetCrtcTransform -func (c *Conn) RandrSetCrtcTransform(Crtc RandrCrtc, Transform RenderTransform, FilterLen uint16, FilterName string, FilterParams []RenderFixed) RandrSetCrtcTransformCookie { -	cookie := c.newCookie(false, false) -	c.newRequest(c.randrSetCrtcTransformRequest(Crtc, Transform, FilterLen, FilterName, FilterParams), cookie) -	return RandrSetCrtcTransformCookie{cookie} -} - -func (c *Conn) RandrSetCrtcTransformChecked(Crtc RandrCrtc, Transform RenderTransform, FilterLen uint16, FilterName string, FilterParams []RenderFixed) RandrSetCrtcTransformCookie { -	cookie := c.newCookie(true, false) -	c.newRequest(c.randrSetCrtcTransformRequest(Crtc, Transform, FilterLen, FilterName, FilterParams), cookie) -	return RandrSetCrtcTransformCookie{cookie} -} - -func (cook RandrSetCrtcTransformCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrSetCrtcTransform -func (c *Conn) randrSetCrtcTransformRequest(Crtc RandrCrtc, Transform RenderTransform, FilterLen uint16, FilterName string, FilterParams []RenderFixed) []byte { -	size := pad(((48 + pad((int(FilterLen) * 1))) + pad((len(FilterParams) * 4)))) -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 26 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Crtc)) -	b += 4 - -	{ -		structBytes := Transform.Bytes() -		copy(buf[b:], structBytes) -		b += pad(len(structBytes)) -	} - -	Put16(buf[b:], FilterLen) -	b += 2 - -	b += 2 // padding - -	copy(buf[b:], FilterName[:FilterLen]) -	b += pad(int(FilterLen)) - -	for i := 0; i < int(len(FilterParams)); i++ { -		Put32(buf[b:], uint32(FilterParams[i])) -		b += 4 -	} -	b = pad(b) - -	return buf -} - -// Request RandrGetCrtcTransform -// size: 8 -type RandrGetCrtcTransformCookie struct { -	*cookie -} - -func (c *Conn) RandrGetCrtcTransform(Crtc RandrCrtc) RandrGetCrtcTransformCookie { -	cookie := c.newCookie(true, true) -	c.newRequest(c.randrGetCrtcTransformRequest(Crtc), cookie) -	return RandrGetCrtcTransformCookie{cookie} -} - -func (c *Conn) RandrGetCrtcTransformUnchecked(Crtc RandrCrtc) RandrGetCrtcTransformCookie { -	cookie := c.newCookie(false, true) -	c.newRequest(c.randrGetCrtcTransformRequest(Crtc), cookie) -	return RandrGetCrtcTransformCookie{cookie} -} - -// Request reply for RandrGetCrtcTransform -// size: ((((96 + pad((int(PendingLen) * 1))) + pad((int(PendingNparams) * 4))) + pad((int(CurrentLen) * 1))) + pad((int(CurrentNparams) * 4))) -type RandrGetCrtcTransformReply struct { -	Sequence uint16 -	Length   uint32 -	// padding: 1 bytes -	PendingTransform RenderTransform -	HasTransforms    bool -	// padding: 3 bytes -	CurrentTransform RenderTransform -	// padding: 4 bytes -	PendingLen        uint16 -	PendingNparams    uint16 -	CurrentLen        uint16 -	CurrentNparams    uint16 -	PendingFilterName string        // size: pad((int(PendingLen) * 1)) -	PendingParams     []RenderFixed // size: pad((int(PendingNparams) * 4)) -	CurrentFilterName string        // size: pad((int(CurrentLen) * 1)) -	CurrentParams     []RenderFixed // size: pad((int(CurrentNparams) * 4)) -} - -// Waits and reads reply data from request RandrGetCrtcTransform -func (cook RandrGetCrtcTransformCookie) Reply() (*RandrGetCrtcTransformReply, error) { -	buf, err := cook.reply() -	if err != nil { -		return nil, err -	} -	if buf == nil { -		return nil, nil -	} -	return randrGetCrtcTransformReply(buf), nil -} - -// Read reply into structure from buffer for RandrGetCrtcTransform -func randrGetCrtcTransformReply(buf []byte) *RandrGetCrtcTransformReply { -	v := new(RandrGetCrtcTransformReply) -	b := 1 // skip reply determinant - -	b += 1 // padding - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	v.Length = Get32(buf[b:]) // 4-byte units -	b += 4 - -	v.PendingTransform = RenderTransform{} -	b += ReadRenderTransform(buf[b:], &v.PendingTransform) - -	if buf[b] == 1 { -		v.HasTransforms = true -	} else { -		v.HasTransforms = false -	} -	b += 1 - -	b += 3 // padding - -	v.CurrentTransform = RenderTransform{} -	b += ReadRenderTransform(buf[b:], &v.CurrentTransform) - -	b += 4 // padding - -	v.PendingLen = Get16(buf[b:]) -	b += 2 - -	v.PendingNparams = Get16(buf[b:]) -	b += 2 - -	v.CurrentLen = Get16(buf[b:]) -	b += 2 - -	v.CurrentNparams = Get16(buf[b:]) -	b += 2 - -	{ -		byteString := make([]byte, v.PendingLen) -		copy(byteString[:v.PendingLen], buf[b:]) -		v.PendingFilterName = string(byteString) -		b += pad(int(v.PendingLen)) -	} - -	v.PendingParams = make([]RenderFixed, v.PendingNparams) -	for i := 0; i < int(v.PendingNparams); i++ { -		v.PendingParams[i] = RenderFixed(Get32(buf[b:])) -		b += 4 -	} -	b = pad(b) - -	{ -		byteString := make([]byte, v.CurrentLen) -		copy(byteString[:v.CurrentLen], buf[b:]) -		v.CurrentFilterName = string(byteString) -		b += pad(int(v.CurrentLen)) -	} - -	v.CurrentParams = make([]RenderFixed, v.CurrentNparams) -	for i := 0; i < int(v.CurrentNparams); i++ { -		v.CurrentParams[i] = RenderFixed(Get32(buf[b:])) -		b += 4 -	} -	b = pad(b) - -	return v -} - -func (cook RandrGetCrtcTransformCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrGetCrtcTransform -func (c *Conn) randrGetCrtcTransformRequest(Crtc RandrCrtc) []byte { -	size := 8 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 27 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Crtc)) -	b += 4 - -	return buf -} - -// Request RandrGetPanning -// size: 8 -type RandrGetPanningCookie struct { -	*cookie -} - -func (c *Conn) RandrGetPanning(Crtc RandrCrtc) RandrGetPanningCookie { -	cookie := c.newCookie(true, true) -	c.newRequest(c.randrGetPanningRequest(Crtc), cookie) -	return RandrGetPanningCookie{cookie} -} - -func (c *Conn) RandrGetPanningUnchecked(Crtc RandrCrtc) RandrGetPanningCookie { -	cookie := c.newCookie(false, true) -	c.newRequest(c.randrGetPanningRequest(Crtc), cookie) -	return RandrGetPanningCookie{cookie} -} - -// Request reply for RandrGetPanning -// size: 36 -type RandrGetPanningReply struct { -	Sequence     uint16 -	Length       uint32 -	Status       byte -	Timestamp    Timestamp -	Left         uint16 -	Top          uint16 -	Width        uint16 -	Height       uint16 -	TrackLeft    uint16 -	TrackTop     uint16 -	TrackWidth   uint16 -	TrackHeight  uint16 -	BorderLeft   int16 -	BorderTop    int16 -	BorderRight  int16 -	BorderBottom int16 -} - -// Waits and reads reply data from request RandrGetPanning -func (cook RandrGetPanningCookie) Reply() (*RandrGetPanningReply, error) { -	buf, err := cook.reply() -	if err != nil { -		return nil, err -	} -	if buf == nil { -		return nil, nil -	} -	return randrGetPanningReply(buf), nil -} - -// Read reply into structure from buffer for RandrGetPanning -func randrGetPanningReply(buf []byte) *RandrGetPanningReply { -	v := new(RandrGetPanningReply) -	b := 1 // skip reply determinant - -	v.Status = buf[b] -	b += 1 - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	v.Length = Get32(buf[b:]) // 4-byte units -	b += 4 - -	v.Timestamp = Timestamp(Get32(buf[b:])) -	b += 4 - -	v.Left = Get16(buf[b:]) -	b += 2 - -	v.Top = Get16(buf[b:]) -	b += 2 - -	v.Width = Get16(buf[b:]) -	b += 2 - -	v.Height = Get16(buf[b:]) -	b += 2 - -	v.TrackLeft = Get16(buf[b:]) -	b += 2 - -	v.TrackTop = Get16(buf[b:]) -	b += 2 - -	v.TrackWidth = Get16(buf[b:]) -	b += 2 - -	v.TrackHeight = Get16(buf[b:]) -	b += 2 - -	v.BorderLeft = int16(Get16(buf[b:])) -	b += 2 - -	v.BorderTop = int16(Get16(buf[b:])) -	b += 2 - -	v.BorderRight = int16(Get16(buf[b:])) -	b += 2 - -	v.BorderBottom = int16(Get16(buf[b:])) -	b += 2 - -	return v -} - -func (cook RandrGetPanningCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrGetPanning -func (c *Conn) randrGetPanningRequest(Crtc RandrCrtc) []byte { -	size := 8 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 28 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Crtc)) -	b += 4 - -	return buf -} - -// Request RandrSetPanning -// size: 36 -type RandrSetPanningCookie struct { -	*cookie -} - -func (c *Conn) RandrSetPanning(Crtc RandrCrtc, Timestamp Timestamp, Left uint16, Top uint16, Width uint16, Height uint16, TrackLeft uint16, TrackTop uint16, TrackWidth uint16, TrackHeight uint16, BorderLeft int16, BorderTop int16, BorderRight int16, BorderBottom int16) RandrSetPanningCookie { -	cookie := c.newCookie(true, true) -	c.newRequest(c.randrSetPanningRequest(Crtc, Timestamp, Left, Top, Width, Height, TrackLeft, TrackTop, TrackWidth, TrackHeight, BorderLeft, BorderTop, BorderRight, BorderBottom), cookie) -	return RandrSetPanningCookie{cookie} -} - -func (c *Conn) RandrSetPanningUnchecked(Crtc RandrCrtc, Timestamp Timestamp, Left uint16, Top uint16, Width uint16, Height uint16, TrackLeft uint16, TrackTop uint16, TrackWidth uint16, TrackHeight uint16, BorderLeft int16, BorderTop int16, BorderRight int16, BorderBottom int16) RandrSetPanningCookie { -	cookie := c.newCookie(false, true) -	c.newRequest(c.randrSetPanningRequest(Crtc, Timestamp, Left, Top, Width, Height, TrackLeft, TrackTop, TrackWidth, TrackHeight, BorderLeft, BorderTop, BorderRight, BorderBottom), cookie) -	return RandrSetPanningCookie{cookie} -} - -// Request reply for RandrSetPanning -// size: 12 -type RandrSetPanningReply struct { -	Sequence  uint16 -	Length    uint32 -	Status    byte -	Timestamp Timestamp -} - -// Waits and reads reply data from request RandrSetPanning -func (cook RandrSetPanningCookie) Reply() (*RandrSetPanningReply, error) { -	buf, err := cook.reply() -	if err != nil { -		return nil, err -	} -	if buf == nil { -		return nil, nil -	} -	return randrSetPanningReply(buf), nil -} - -// Read reply into structure from buffer for RandrSetPanning -func randrSetPanningReply(buf []byte) *RandrSetPanningReply { -	v := new(RandrSetPanningReply) -	b := 1 // skip reply determinant - -	v.Status = buf[b] -	b += 1 - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	v.Length = Get32(buf[b:]) // 4-byte units -	b += 4 - -	v.Timestamp = Timestamp(Get32(buf[b:])) -	b += 4 - -	return v -} - -func (cook RandrSetPanningCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrSetPanning -func (c *Conn) randrSetPanningRequest(Crtc RandrCrtc, Timestamp Timestamp, Left uint16, Top uint16, Width uint16, Height uint16, TrackLeft uint16, TrackTop uint16, TrackWidth uint16, TrackHeight uint16, BorderLeft int16, BorderTop int16, BorderRight int16, BorderBottom int16) []byte { -	size := 36 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 29 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Crtc)) -	b += 4 - -	Put32(buf[b:], uint32(Timestamp)) -	b += 4 - -	Put16(buf[b:], Left) -	b += 2 - -	Put16(buf[b:], Top) -	b += 2 - -	Put16(buf[b:], Width) -	b += 2 - -	Put16(buf[b:], Height) -	b += 2 - -	Put16(buf[b:], TrackLeft) -	b += 2 - -	Put16(buf[b:], TrackTop) -	b += 2 - -	Put16(buf[b:], TrackWidth) -	b += 2 - -	Put16(buf[b:], TrackHeight) -	b += 2 - -	Put16(buf[b:], uint16(BorderLeft)) -	b += 2 - -	Put16(buf[b:], uint16(BorderTop)) -	b += 2 - -	Put16(buf[b:], uint16(BorderRight)) -	b += 2 - -	Put16(buf[b:], uint16(BorderBottom)) -	b += 2 - -	return buf -} - -// Request RandrSetOutputPrimary -// size: 12 -type RandrSetOutputPrimaryCookie struct { -	*cookie -} - -// Write request to wire for RandrSetOutputPrimary -func (c *Conn) RandrSetOutputPrimary(Window Window, Output RandrOutput) RandrSetOutputPrimaryCookie { -	cookie := c.newCookie(false, false) -	c.newRequest(c.randrSetOutputPrimaryRequest(Window, Output), cookie) -	return RandrSetOutputPrimaryCookie{cookie} -} - -func (c *Conn) RandrSetOutputPrimaryChecked(Window Window, Output RandrOutput) RandrSetOutputPrimaryCookie { -	cookie := c.newCookie(true, false) -	c.newRequest(c.randrSetOutputPrimaryRequest(Window, Output), cookie) -	return RandrSetOutputPrimaryCookie{cookie} -} - -func (cook RandrSetOutputPrimaryCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrSetOutputPrimary -func (c *Conn) randrSetOutputPrimaryRequest(Window Window, Output RandrOutput) []byte { -	size := 12 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 30 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Window)) -	b += 4 - -	Put32(buf[b:], uint32(Output)) -	b += 4 - -	return buf -} - -// Request RandrGetOutputPrimary -// size: 8 -type RandrGetOutputPrimaryCookie struct { -	*cookie -} - -func (c *Conn) RandrGetOutputPrimary(Window Window) RandrGetOutputPrimaryCookie { -	cookie := c.newCookie(true, true) -	c.newRequest(c.randrGetOutputPrimaryRequest(Window), cookie) -	return RandrGetOutputPrimaryCookie{cookie} -} - -func (c *Conn) RandrGetOutputPrimaryUnchecked(Window Window) RandrGetOutputPrimaryCookie { -	cookie := c.newCookie(false, true) -	c.newRequest(c.randrGetOutputPrimaryRequest(Window), cookie) -	return RandrGetOutputPrimaryCookie{cookie} -} - -// Request reply for RandrGetOutputPrimary -// size: 12 -type RandrGetOutputPrimaryReply struct { -	Sequence uint16 -	Length   uint32 -	// padding: 1 bytes -	Output RandrOutput -} - -// Waits and reads reply data from request RandrGetOutputPrimary -func (cook RandrGetOutputPrimaryCookie) Reply() (*RandrGetOutputPrimaryReply, error) { -	buf, err := cook.reply() -	if err != nil { -		return nil, err -	} -	if buf == nil { -		return nil, nil -	} -	return randrGetOutputPrimaryReply(buf), nil -} - -// Read reply into structure from buffer for RandrGetOutputPrimary -func randrGetOutputPrimaryReply(buf []byte) *RandrGetOutputPrimaryReply { -	v := new(RandrGetOutputPrimaryReply) -	b := 1 // skip reply determinant - -	b += 1 // padding - -	v.Sequence = Get16(buf[b:]) -	b += 2 - -	v.Length = Get32(buf[b:]) // 4-byte units -	b += 4 - -	v.Output = RandrOutput(Get32(buf[b:])) -	b += 4 - -	return v -} - -func (cook RandrGetOutputPrimaryCookie) Check() error { -	return cook.check() -} - -// Write request to wire for RandrGetOutputPrimary -func (c *Conn) randrGetOutputPrimaryRequest(Window Window) []byte { -	size := 8 -	b := 0 -	buf := make([]byte, size) - -	buf[b] = c.extensions["RANDR"] -	b += 1 - -	buf[b] = 31 // request opcode -	b += 1 - -	Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units -	b += 2 - -	Put32(buf[b:], uint32(Window)) -	b += 4 - -	return buf -} | 
