aboutsummaryrefslogtreecommitdiff
path: root/nexgb/auto_randr.go
diff options
context:
space:
mode:
Diffstat (limited to 'nexgb/auto_randr.go')
-rw-r--r--nexgb/auto_randr.go4038
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
-}