diff options
author | Andrew Gallant (Ocelot) <Andrew.Gallant@tufts.edu> | 2012-05-05 18:22:24 -0400 |
---|---|---|
committer | Andrew Gallant (Ocelot) <Andrew.Gallant@tufts.edu> | 2012-05-05 18:22:24 -0400 |
commit | 369ad0d33e51035a3e48436fc85f60130b201437 (patch) | |
tree | e3b4bec82f4e21cfc0e8cc3c696f56b58bb30869 /nexgb/xinerama.go | |
parent | b6715f376f5ea3efb58146c58924dcc7b1536181 (diff) | |
download | haven-369ad0d33e51035a3e48436fc85f60130b201437.tar.gz haven-369ad0d33e51035a3e48436fc85f60130b201437.tar.xz haven-369ad0d33e51035a3e48436fc85f60130b201437.zip |
extensions are working! extensions are working!
Diffstat (limited to 'nexgb/xinerama.go')
-rw-r--r-- | nexgb/xinerama.go | 629 |
1 files changed, 629 insertions, 0 deletions
diff --git a/nexgb/xinerama.go b/nexgb/xinerama.go new file mode 100644 index 0000000..c2e031c --- /dev/null +++ b/nexgb/xinerama.go @@ -0,0 +1,629 @@ +package xgb + +/* + This file was generated by xinerama.xml on May 5 2012 5:56:52pm 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" + +// 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' + +// Skipping definition for base type 'Id' + +// Skipping definition for base type 'Card8' + +// Skipping definition for base type 'Int16' + +// Skipping definition for base type 'Int32' + +// 'XineramaScreenInfo' struct definition +// Size: 8 +type XineramaScreenInfo struct { + XOrg int16 + YOrg int16 + Width uint16 + Height uint16 +} + +// Struct read XineramaScreenInfo +func ReadXineramaScreenInfo(buf []byte, v *XineramaScreenInfo) int { + b := 0 + + v.XOrg = int16(Get16(buf[b:])) + b += 2 + + v.YOrg = 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 XineramaScreenInfo +func ReadXineramaScreenInfoList(buf []byte, dest []XineramaScreenInfo) int { + b := 0 + for i := 0; i < len(dest); i++ { + dest[i] = XineramaScreenInfo{} + b += ReadXineramaScreenInfo(buf[b:], &dest[i]) + } + return pad(b) +} + +// Struct write XineramaScreenInfo +func (v XineramaScreenInfo) Bytes() []byte { + buf := make([]byte, 8) + b := 0 + + Put16(buf[b:], uint16(v.XOrg)) + b += 2 + + Put16(buf[b:], uint16(v.YOrg)) + b += 2 + + Put16(buf[b:], v.Width) + b += 2 + + Put16(buf[b:], v.Height) + b += 2 + + return buf +} + +// Write struct list XineramaScreenInfo +func XineramaScreenInfoListBytes(buf []byte, list []XineramaScreenInfo) int { + b := 0 + var structBytes []byte + for _, item := range list { + structBytes = item.Bytes() + copy(buf[b:], structBytes) + b += pad(len(structBytes)) + } + return b +} + +// Request XineramaQueryVersion +// size: 8 +type XineramaQueryVersionCookie struct { + *cookie +} + +func (c *Conn) XineramaQueryVersion(Major byte, Minor byte) XineramaQueryVersionCookie { + cookie := c.newCookie(true, true) + c.newRequest(c.xineramaQueryVersionRequest(Major, Minor), cookie) + return XineramaQueryVersionCookie{cookie} +} + +func (c *Conn) XineramaQueryVersionUnchecked(Major byte, Minor byte) XineramaQueryVersionCookie { + cookie := c.newCookie(false, true) + c.newRequest(c.xineramaQueryVersionRequest(Major, Minor), cookie) + return XineramaQueryVersionCookie{cookie} +} + +// Request reply for XineramaQueryVersion +// size: 12 +type XineramaQueryVersionReply struct { + Sequence uint16 + Length uint32 + // padding: 1 bytes + Major uint16 + Minor uint16 +} + +// Waits and reads reply data from request XineramaQueryVersion +func (cook XineramaQueryVersionCookie) Reply() (*XineramaQueryVersionReply, error) { + buf, err := cook.reply() + if err != nil { + return nil, err + } + if buf == nil { + return nil, nil + } + return xineramaQueryVersionReply(buf), nil +} + +// Read reply into structure from buffer for XineramaQueryVersion +func xineramaQueryVersionReply(buf []byte) *XineramaQueryVersionReply { + v := new(XineramaQueryVersionReply) + 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.Major = Get16(buf[b:]) + b += 2 + + v.Minor = Get16(buf[b:]) + b += 2 + + return v +} + +func (cook XineramaQueryVersionCookie) Check() error { + return cook.check() +} + +// Write request to wire for XineramaQueryVersion +func (c *Conn) xineramaQueryVersionRequest(Major byte, Minor byte) []byte { + size := 8 + b := 0 + buf := make([]byte, size) + + buf[b] = c.extensions["XINERAMA"] + b += 1 + + buf[b] = 0 // request opcode + b += 1 + + buf[b] = Major + b += 1 + + Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units + b += 2 + + buf[b] = Minor + b += 1 + + return buf +} + +// Request XineramaGetState +// size: 8 +type XineramaGetStateCookie struct { + *cookie +} + +func (c *Conn) XineramaGetState(Window Id) XineramaGetStateCookie { + cookie := c.newCookie(true, true) + c.newRequest(c.xineramaGetStateRequest(Window), cookie) + return XineramaGetStateCookie{cookie} +} + +func (c *Conn) XineramaGetStateUnchecked(Window Id) XineramaGetStateCookie { + cookie := c.newCookie(false, true) + c.newRequest(c.xineramaGetStateRequest(Window), cookie) + return XineramaGetStateCookie{cookie} +} + +// Request reply for XineramaGetState +// size: 12 +type XineramaGetStateReply struct { + Sequence uint16 + Length uint32 + State byte + Window Id +} + +// Waits and reads reply data from request XineramaGetState +func (cook XineramaGetStateCookie) Reply() (*XineramaGetStateReply, error) { + buf, err := cook.reply() + if err != nil { + return nil, err + } + if buf == nil { + return nil, nil + } + return xineramaGetStateReply(buf), nil +} + +// Read reply into structure from buffer for XineramaGetState +func xineramaGetStateReply(buf []byte) *XineramaGetStateReply { + v := new(XineramaGetStateReply) + b := 1 // skip reply determinant + + v.State = buf[b] + b += 1 + + v.Sequence = Get16(buf[b:]) + b += 2 + + v.Length = Get32(buf[b:]) // 4-byte units + b += 4 + + v.Window = Id(Get32(buf[b:])) + b += 4 + + return v +} + +func (cook XineramaGetStateCookie) Check() error { + return cook.check() +} + +// Write request to wire for XineramaGetState +func (c *Conn) xineramaGetStateRequest(Window Id) []byte { + size := 8 + b := 0 + buf := make([]byte, size) + + buf[b] = c.extensions["XINERAMA"] + b += 1 + + buf[b] = 1 // request opcode + b += 1 + + Put32(buf[b:], uint32(Window)) + b += 4 + + Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units + b += 2 + + return buf +} + +// Request XineramaGetScreenCount +// size: 8 +type XineramaGetScreenCountCookie struct { + *cookie +} + +func (c *Conn) XineramaGetScreenCount(Window Id) XineramaGetScreenCountCookie { + cookie := c.newCookie(true, true) + c.newRequest(c.xineramaGetScreenCountRequest(Window), cookie) + return XineramaGetScreenCountCookie{cookie} +} + +func (c *Conn) XineramaGetScreenCountUnchecked(Window Id) XineramaGetScreenCountCookie { + cookie := c.newCookie(false, true) + c.newRequest(c.xineramaGetScreenCountRequest(Window), cookie) + return XineramaGetScreenCountCookie{cookie} +} + +// Request reply for XineramaGetScreenCount +// size: 12 +type XineramaGetScreenCountReply struct { + Sequence uint16 + Length uint32 + ScreenCount byte + Window Id +} + +// Waits and reads reply data from request XineramaGetScreenCount +func (cook XineramaGetScreenCountCookie) Reply() (*XineramaGetScreenCountReply, error) { + buf, err := cook.reply() + if err != nil { + return nil, err + } + if buf == nil { + return nil, nil + } + return xineramaGetScreenCountReply(buf), nil +} + +// Read reply into structure from buffer for XineramaGetScreenCount +func xineramaGetScreenCountReply(buf []byte) *XineramaGetScreenCountReply { + v := new(XineramaGetScreenCountReply) + b := 1 // skip reply determinant + + v.ScreenCount = buf[b] + b += 1 + + v.Sequence = Get16(buf[b:]) + b += 2 + + v.Length = Get32(buf[b:]) // 4-byte units + b += 4 + + v.Window = Id(Get32(buf[b:])) + b += 4 + + return v +} + +func (cook XineramaGetScreenCountCookie) Check() error { + return cook.check() +} + +// Write request to wire for XineramaGetScreenCount +func (c *Conn) xineramaGetScreenCountRequest(Window Id) []byte { + size := 8 + b := 0 + buf := make([]byte, size) + + buf[b] = c.extensions["XINERAMA"] + b += 1 + + buf[b] = 2 // request opcode + b += 1 + + Put32(buf[b:], uint32(Window)) + b += 4 + + Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units + b += 2 + + return buf +} + +// Request XineramaGetScreenSize +// size: 12 +type XineramaGetScreenSizeCookie struct { + *cookie +} + +func (c *Conn) XineramaGetScreenSize(Window Id, Screen uint32) XineramaGetScreenSizeCookie { + cookie := c.newCookie(true, true) + c.newRequest(c.xineramaGetScreenSizeRequest(Window, Screen), cookie) + return XineramaGetScreenSizeCookie{cookie} +} + +func (c *Conn) XineramaGetScreenSizeUnchecked(Window Id, Screen uint32) XineramaGetScreenSizeCookie { + cookie := c.newCookie(false, true) + c.newRequest(c.xineramaGetScreenSizeRequest(Window, Screen), cookie) + return XineramaGetScreenSizeCookie{cookie} +} + +// Request reply for XineramaGetScreenSize +// size: 24 +type XineramaGetScreenSizeReply struct { + Sequence uint16 + Length uint32 + // padding: 1 bytes + Width uint32 + Height uint32 + Window Id + Screen uint32 +} + +// Waits and reads reply data from request XineramaGetScreenSize +func (cook XineramaGetScreenSizeCookie) Reply() (*XineramaGetScreenSizeReply, error) { + buf, err := cook.reply() + if err != nil { + return nil, err + } + if buf == nil { + return nil, nil + } + return xineramaGetScreenSizeReply(buf), nil +} + +// Read reply into structure from buffer for XineramaGetScreenSize +func xineramaGetScreenSizeReply(buf []byte) *XineramaGetScreenSizeReply { + v := new(XineramaGetScreenSizeReply) + 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.Width = Get32(buf[b:]) + b += 4 + + v.Height = Get32(buf[b:]) + b += 4 + + v.Window = Id(Get32(buf[b:])) + b += 4 + + v.Screen = Get32(buf[b:]) + b += 4 + + return v +} + +func (cook XineramaGetScreenSizeCookie) Check() error { + return cook.check() +} + +// Write request to wire for XineramaGetScreenSize +func (c *Conn) xineramaGetScreenSizeRequest(Window Id, Screen uint32) []byte { + size := 12 + b := 0 + buf := make([]byte, size) + + buf[b] = c.extensions["XINERAMA"] + b += 1 + + buf[b] = 3 // request opcode + b += 1 + + Put32(buf[b:], uint32(Window)) + b += 4 + + Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units + b += 2 + + Put32(buf[b:], Screen) + b += 4 + + return buf +} + +// Request XineramaIsActive +// size: 4 +type XineramaIsActiveCookie struct { + *cookie +} + +func (c *Conn) XineramaIsActive() XineramaIsActiveCookie { + cookie := c.newCookie(true, true) + c.newRequest(c.xineramaIsActiveRequest(), cookie) + return XineramaIsActiveCookie{cookie} +} + +func (c *Conn) XineramaIsActiveUnchecked() XineramaIsActiveCookie { + cookie := c.newCookie(false, true) + c.newRequest(c.xineramaIsActiveRequest(), cookie) + return XineramaIsActiveCookie{cookie} +} + +// Request reply for XineramaIsActive +// size: 12 +type XineramaIsActiveReply struct { + Sequence uint16 + Length uint32 + // padding: 1 bytes + State uint32 +} + +// Waits and reads reply data from request XineramaIsActive +func (cook XineramaIsActiveCookie) Reply() (*XineramaIsActiveReply, error) { + buf, err := cook.reply() + if err != nil { + return nil, err + } + if buf == nil { + return nil, nil + } + return xineramaIsActiveReply(buf), nil +} + +// Read reply into structure from buffer for XineramaIsActive +func xineramaIsActiveReply(buf []byte) *XineramaIsActiveReply { + v := new(XineramaIsActiveReply) + 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.State = Get32(buf[b:]) + b += 4 + + return v +} + +func (cook XineramaIsActiveCookie) Check() error { + return cook.check() +} + +// Write request to wire for XineramaIsActive +func (c *Conn) xineramaIsActiveRequest() []byte { + size := 4 + b := 0 + buf := make([]byte, size) + + buf[b] = c.extensions["XINERAMA"] + b += 1 + + buf[b] = 4 // request opcode + b += 1 + + Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units + b += 2 + + return buf +} + +// Request XineramaQueryScreens +// size: 4 +type XineramaQueryScreensCookie struct { + *cookie +} + +func (c *Conn) XineramaQueryScreens() XineramaQueryScreensCookie { + cookie := c.newCookie(true, true) + c.newRequest(c.xineramaQueryScreensRequest(), cookie) + return XineramaQueryScreensCookie{cookie} +} + +func (c *Conn) XineramaQueryScreensUnchecked() XineramaQueryScreensCookie { + cookie := c.newCookie(false, true) + c.newRequest(c.xineramaQueryScreensRequest(), cookie) + return XineramaQueryScreensCookie{cookie} +} + +// Request reply for XineramaQueryScreens +// size: (32 + pad((int(Number) * 8))) +type XineramaQueryScreensReply struct { + Sequence uint16 + Length uint32 + // padding: 1 bytes + Number uint32 + // padding: 20 bytes + ScreenInfo []XineramaScreenInfo // size: pad((int(Number) * 8)) +} + +// Waits and reads reply data from request XineramaQueryScreens +func (cook XineramaQueryScreensCookie) Reply() (*XineramaQueryScreensReply, error) { + buf, err := cook.reply() + if err != nil { + return nil, err + } + if buf == nil { + return nil, nil + } + return xineramaQueryScreensReply(buf), nil +} + +// Read reply into structure from buffer for XineramaQueryScreens +func xineramaQueryScreensReply(buf []byte) *XineramaQueryScreensReply { + v := new(XineramaQueryScreensReply) + 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.Number = Get32(buf[b:]) + b += 4 + + b += 20 // padding + + v.ScreenInfo = make([]XineramaScreenInfo, v.Number) + b += ReadXineramaScreenInfoList(buf[b:], v.ScreenInfo) + + return v +} + +func (cook XineramaQueryScreensCookie) Check() error { + return cook.check() +} + +// Write request to wire for XineramaQueryScreens +func (c *Conn) xineramaQueryScreensRequest() []byte { + size := 4 + b := 0 + buf := make([]byte, size) + + buf[b] = c.extensions["XINERAMA"] + b += 1 + + buf[b] = 5 // request opcode + b += 1 + + Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units + b += 2 + + return buf +} |