haven/nexgb/xproto/xproto.go

14348 lines
308 KiB
Go

package xproto
/*
This file was generated by xproto.xml on May 10 2012 4:20:28pm EDT.
This file is automatically generated. Edit at your peril!
*/
import (
"github.com/BurntSushi/xgb"
)
// Setup parses the setup bytes retrieved when
// connecting into a SetupInfo struct.
func Setup(c *xgb.Conn) *SetupInfo {
setup := new(SetupInfo)
SetupInfoRead(c.SetupBytes, setup)
return setup
}
// DefaultScreen gets the default screen info from SetupInfo.
func (s *SetupInfo) DefaultScreen(c *xgb.Conn) *ScreenInfo {
return &s.Roots[c.DefaultScreen]
}
// 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 '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'
const (
VisualClassStaticGray = 0
VisualClassGrayScale = 1
VisualClassStaticColor = 2
VisualClassPseudoColor = 3
VisualClassTrueColor = 4
VisualClassDirectColor = 5
)
const (
EventMaskNoEvent = 0
EventMaskKeyPress = 1
EventMaskKeyRelease = 2
EventMaskButtonPress = 4
EventMaskButtonRelease = 8
EventMaskEnterWindow = 16
EventMaskLeaveWindow = 32
EventMaskPointerMotion = 64
EventMaskPointerMotionHint = 128
EventMaskButton1Motion = 256
EventMaskButton2Motion = 512
EventMaskButton3Motion = 1024
EventMaskButton4Motion = 2048
EventMaskButton5Motion = 4096
EventMaskButtonMotion = 8192
EventMaskKeymapState = 16384
EventMaskExposure = 32768
EventMaskVisibilityChange = 65536
EventMaskStructureNotify = 131072
EventMaskResizeRedirect = 262144
EventMaskSubstructureNotify = 524288
EventMaskSubstructureRedirect = 1048576
EventMaskFocusChange = 2097152
EventMaskPropertyChange = 4194304
EventMaskColorMapChange = 8388608
EventMaskOwnerGrabButton = 16777216
)
const (
BackingStoreNotUseful = 0
BackingStoreWhenMapped = 1
BackingStoreAlways = 2
)
const (
ImageOrderLSBFirst = 0
ImageOrderMSBFirst = 1
)
const (
ModMaskShift = 1
ModMaskLock = 2
ModMaskControl = 4
ModMask1 = 8
ModMask2 = 16
ModMask3 = 32
ModMask4 = 64
ModMask5 = 128
ModMaskAny = 32768
)
const (
KeyButMaskShift = 1
KeyButMaskLock = 2
KeyButMaskControl = 4
KeyButMaskMod1 = 8
KeyButMaskMod2 = 16
KeyButMaskMod3 = 32
KeyButMaskMod4 = 64
KeyButMaskMod5 = 128
KeyButMaskButton1 = 256
KeyButMaskButton2 = 512
KeyButMaskButton3 = 1024
KeyButMaskButton4 = 2048
KeyButMaskButton5 = 4096
)
const (
WindowNone = 0
)
const (
ButtonMask1 = 256
ButtonMask2 = 512
ButtonMask3 = 1024
ButtonMask4 = 2048
ButtonMask5 = 4096
ButtonMaskAny = 32768
)
const (
MotionNormal = 0
MotionHint = 1
)
const (
NotifyDetailAncestor = 0
NotifyDetailVirtual = 1
NotifyDetailInferior = 2
NotifyDetailNonlinear = 3
NotifyDetailNonlinearVirtual = 4
NotifyDetailPointer = 5
NotifyDetailPointerRoot = 6
NotifyDetailNone = 7
)
const (
NotifyModeNormal = 0
NotifyModeGrab = 1
NotifyModeUngrab = 2
NotifyModeWhileGrabbed = 3
)
const (
VisibilityUnobscured = 0
VisibilityPartiallyObscured = 1
VisibilityFullyObscured = 2
)
const (
PlaceOnTop = 0
PlaceOnBottom = 1
)
const (
PropertyNewValue = 0
PropertyDelete = 1
)
const (
TimeCurrentTime = 0
)
const (
AtomNone = 0
AtomAny = 0
AtomPrimary = 1
AtomSecondary = 2
AtomArc = 3
AtomAtom = 4
AtomBitmap = 5
AtomCardinal = 6
AtomColormap = 7
AtomCursor = 8
AtomCutBuffer0 = 9
AtomCutBuffer1 = 10
AtomCutBuffer2 = 11
AtomCutBuffer3 = 12
AtomCutBuffer4 = 13
AtomCutBuffer5 = 14
AtomCutBuffer6 = 15
AtomCutBuffer7 = 16
AtomDrawable = 17
AtomFont = 18
AtomInteger = 19
AtomPixmap = 20
AtomPoint = 21
AtomRectangle = 22
AtomResourceManager = 23
AtomRgbColorMap = 24
AtomRgbBestMap = 25
AtomRgbBlueMap = 26
AtomRgbDefaultMap = 27
AtomRgbGrayMap = 28
AtomRgbGreenMap = 29
AtomRgbRedMap = 30
AtomString = 31
AtomVisualid = 32
AtomWindow = 33
AtomWmCommand = 34
AtomWmHints = 35
AtomWmClientMachine = 36
AtomWmIconName = 37
AtomWmIconSize = 38
AtomWmName = 39
AtomWmNormalHints = 40
AtomWmSizeHints = 41
AtomWmZoomHints = 42
AtomMinSpace = 43
AtomNormSpace = 44
AtomMaxSpace = 45
AtomEndSpace = 46
AtomSuperscriptX = 47
AtomSuperscriptY = 48
AtomSubscriptX = 49
AtomSubscriptY = 50
AtomUnderlinePosition = 51
AtomUnderlineThickness = 52
AtomStrikeoutAscent = 53
AtomStrikeoutDescent = 54
AtomItalicAngle = 55
AtomXHeight = 56
AtomQuadWidth = 57
AtomWeight = 58
AtomPointSize = 59
AtomResolution = 60
AtomCopyright = 61
AtomNotice = 62
AtomFontName = 63
AtomFamilyName = 64
AtomFullName = 65
AtomCapHeight = 66
AtomWmClass = 67
AtomWmTransientFor = 68
)
const (
ColormapStateUninstalled = 0
ColormapStateInstalled = 1
)
const (
ColormapNone = 0
)
const (
MappingModifier = 0
MappingKeyboard = 1
MappingPointer = 2
)
const (
WindowClassCopyFromParent = 0
WindowClassInputOutput = 1
WindowClassInputOnly = 2
)
const (
CwBackPixmap = 1
CwBackPixel = 2
CwBorderPixmap = 4
CwBorderPixel = 8
CwBitGravity = 16
CwWinGravity = 32
CwBackingStore = 64
CwBackingPlanes = 128
CwBackingPixel = 256
CwOverrideRedirect = 512
CwSaveUnder = 1024
CwEventMask = 2048
CwDontPropagate = 4096
CwColormap = 8192
CwCursor = 16384
)
const (
BackPixmapNone = 0
BackPixmapParentRelative = 1
)
const (
GravityBitForget = 0
GravityWinUnmap = 0
GravityNorthWest = 1
GravityNorth = 2
GravityNorthEast = 3
GravityWest = 4
GravityCenter = 5
GravityEast = 6
GravitySouthWest = 7
GravitySouth = 8
GravitySouthEast = 9
GravityStatic = 10
)
const (
MapStateUnmapped = 0
MapStateUnviewable = 1
MapStateViewable = 2
)
const (
SetModeInsert = 0
SetModeDelete = 1
)
const (
ConfigWindowX = 1
ConfigWindowY = 2
ConfigWindowWidth = 4
ConfigWindowHeight = 8
ConfigWindowBorderWidth = 16
ConfigWindowSibling = 32
ConfigWindowStackMode = 64
)
const (
StackModeAbove = 0
StackModeBelow = 1
StackModeTopIf = 2
StackModeBottomIf = 3
StackModeOpposite = 4
)
const (
CirculateRaiseLowest = 0
CirculateLowerHighest = 1
)
const (
PropModeReplace = 0
PropModePrepend = 1
PropModeAppend = 2
)
const (
GetPropertyTypeAny = 0
)
const (
SendEventDestPointerWindow = 0
SendEventDestItemFocus = 1
)
const (
GrabModeSync = 0
GrabModeAsync = 1
)
const (
GrabStatusSuccess = 0
GrabStatusAlreadyGrabbed = 1
GrabStatusInvalidTime = 2
GrabStatusNotViewable = 3
GrabStatusFrozen = 4
)
const (
CursorNone = 0
)
const (
ButtonIndexAny = 0
ButtonIndex1 = 1
ButtonIndex2 = 2
ButtonIndex3 = 3
ButtonIndex4 = 4
ButtonIndex5 = 5
)
const (
GrabAny = 0
)
const (
AllowAsyncPointer = 0
AllowSyncPointer = 1
AllowReplayPointer = 2
AllowAsyncKeyboard = 3
AllowSyncKeyboard = 4
AllowReplayKeyboard = 5
AllowAsyncBoth = 6
AllowSyncBoth = 7
)
const (
InputFocusNone = 0
InputFocusPointerRoot = 1
InputFocusParent = 2
InputFocusFollowKeyboard = 3
)
const (
FontDrawLeftToRight = 0
FontDrawRightToLeft = 1
)
const (
GcFunction = 1
GcPlaneMask = 2
GcForeground = 4
GcBackground = 8
GcLineWidth = 16
GcLineStyle = 32
GcCapStyle = 64
GcJoinStyle = 128
GcFillStyle = 256
GcFillRule = 512
GcTile = 1024
GcStipple = 2048
GcTileStippleOriginX = 4096
GcTileStippleOriginY = 8192
GcFont = 16384
GcSubwindowMode = 32768
GcGraphicsExposures = 65536
GcClipOriginX = 131072
GcClipOriginY = 262144
GcClipMask = 524288
GcDashOffset = 1048576
GcDashList = 2097152
GcArcMode = 4194304
)
const (
GxClear = 0
GxAnd = 1
GxAndReverse = 2
GxCopy = 3
GxAndInverted = 4
GxNoop = 5
GxXor = 6
GxOr = 7
GxNor = 8
GxEquiv = 9
GxInvert = 10
GxOrReverse = 11
GxCopyInverted = 12
GxOrInverted = 13
GxNand = 14
GxSet = 15
)
const (
LineStyleSolid = 0
LineStyleOnOffDash = 1
LineStyleDoubleDash = 2
)
const (
CapStyleNotLast = 0
CapStyleButt = 1
CapStyleRound = 2
CapStyleProjecting = 3
)
const (
JoinStyleMiter = 0
JoinStyleRound = 1
JoinStyleBevel = 2
)
const (
FillStyleSolid = 0
FillStyleTiled = 1
FillStyleStippled = 2
FillStyleOpaqueStippled = 3
)
const (
FillRuleEvenOdd = 0
FillRuleWinding = 1
)
const (
SubwindowModeClipByChildren = 0
SubwindowModeIncludeInferiors = 1
)
const (
ArcModeChord = 0
ArcModePieSlice = 1
)
const (
ClipOrderingUnsorted = 0
ClipOrderingYSorted = 1
ClipOrderingYXSorted = 2
ClipOrderingYXBanded = 3
)
const (
CoordModeOrigin = 0
CoordModePrevious = 1
)
const (
PolyShapeComplex = 0
PolyShapeNonconvex = 1
PolyShapeConvex = 2
)
const (
ImageFormatXYBitmap = 0
ImageFormatXYPixmap = 1
ImageFormatZPixmap = 2
)
const (
ColormapAllocNone = 0
ColormapAllocAll = 1
)
const (
ColorFlagRed = 1
ColorFlagGreen = 2
ColorFlagBlue = 4
)
const (
PixmapNone = 0
)
const (
FontNone = 0
)
const (
QueryShapeOfLargestCursor = 0
QueryShapeOfFastestTile = 1
QueryShapeOfFastestStipple = 2
)
const (
KbKeyClickPercent = 1
KbBellPercent = 2
KbBellPitch = 4
KbBellDuration = 8
KbLed = 16
KbLedMode = 32
KbKey = 64
KbAutoRepeatMode = 128
)
const (
LedModeOff = 0
LedModeOn = 1
)
const (
AutoRepeatModeOff = 0
AutoRepeatModeOn = 1
AutoRepeatModeDefault = 2
)
const (
BlankingNotPreferred = 0
BlankingPreferred = 1
BlankingDefault = 2
)
const (
ExposuresNotAllowed = 0
ExposuresAllowed = 1
ExposuresDefault = 2
)
const (
HostModeInsert = 0
HostModeDelete = 1
)
const (
FamilyInternet = 0
FamilyDECnet = 1
FamilyChaos = 2
FamilyServerInterpreted = 5
FamilyInternet6 = 6
)
const (
AccessControlDisable = 0
AccessControlEnable = 1
)
const (
CloseDownDestroyAll = 0
CloseDownRetainPermanent = 1
CloseDownRetainTemporary = 2
)
const (
KillAllTemporary = 0
)
const (
ScreenSaverReset = 0
ScreenSaverActive = 1
)
const (
MappingStatusSuccess = 0
MappingStatusBusy = 1
MappingStatusFailure = 2
)
const (
MapIndexShift = 0
MapIndexLock = 1
MapIndexControl = 2
MapIndex1 = 3
MapIndex2 = 4
MapIndex3 = 5
MapIndex4 = 6
MapIndex5 = 7
)
type Window uint32
func NewWindowId(c *xgb.Conn) (Window, error) {
id, err := c.NewId()
if err != nil {
return 0, err
}
return Window(id), nil
}
type Pixmap uint32
func NewPixmapId(c *xgb.Conn) (Pixmap, error) {
id, err := c.NewId()
if err != nil {
return 0, err
}
return Pixmap(id), nil
}
type Cursor uint32
func NewCursorId(c *xgb.Conn) (Cursor, error) {
id, err := c.NewId()
if err != nil {
return 0, err
}
return Cursor(id), nil
}
type Font uint32
func NewFontId(c *xgb.Conn) (Font, error) {
id, err := c.NewId()
if err != nil {
return 0, err
}
return Font(id), nil
}
type Gcontext uint32
func NewGcontextId(c *xgb.Conn) (Gcontext, error) {
id, err := c.NewId()
if err != nil {
return 0, err
}
return Gcontext(id), nil
}
type Colormap uint32
func NewColormapId(c *xgb.Conn) (Colormap, error) {
id, err := c.NewId()
if err != nil {
return 0, err
}
return Colormap(id), nil
}
type Atom uint32
func NewAtomId(c *xgb.Conn) (Atom, error) {
id, err := c.NewId()
if err != nil {
return 0, err
}
return Atom(id), nil
}
type Drawable uint32
func NewDrawableId(c *xgb.Conn) (Drawable, error) {
id, err := c.NewId()
if err != nil {
return 0, err
}
return Drawable(id), nil
}
type Fontable uint32
func NewFontableId(c *xgb.Conn) (Fontable, error) {
id, err := c.NewId()
if err != nil {
return 0, err
}
return Fontable(id), nil
}
type Visualid uint32
type Timestamp uint32
type Keysym uint32
type Keycode byte
type Button byte
// 'Char2b' struct definition
// Size: 2
type Char2b struct {
Byte1 byte
Byte2 byte
}
// Struct read Char2b
func Char2bRead(buf []byte, v *Char2b) int {
b := 0
v.Byte1 = buf[b]
b += 1
v.Byte2 = buf[b]
b += 1
return b
}
// Struct list read Char2b
func Char2bReadList(buf []byte, dest []Char2b) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = Char2b{}
b += Char2bRead(buf[b:], &dest[i])
}
return xgb.Pad(b)
}
// Struct write Char2b
func (v Char2b) Bytes() []byte {
buf := make([]byte, 2)
b := 0
buf[b] = v.Byte1
b += 1
buf[b] = v.Byte2
b += 1
return buf
}
// Write struct list Char2b
func Char2bListBytes(buf []byte, list []Char2b) int {
b := 0
var structBytes []byte
for _, item := range list {
structBytes = item.Bytes()
copy(buf[b:], structBytes)
b += xgb.Pad(len(structBytes))
}
return b
}
// 'Point' struct definition
// Size: 4
type Point struct {
X int16
Y int16
}
// Struct read Point
func PointRead(buf []byte, v *Point) int {
b := 0
v.X = int16(xgb.Get16(buf[b:]))
b += 2
v.Y = int16(xgb.Get16(buf[b:]))
b += 2
return b
}
// Struct list read Point
func PointReadList(buf []byte, dest []Point) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = Point{}
b += PointRead(buf[b:], &dest[i])
}
return xgb.Pad(b)
}
// Struct write Point
func (v Point) Bytes() []byte {
buf := make([]byte, 4)
b := 0
xgb.Put16(buf[b:], uint16(v.X))
b += 2
xgb.Put16(buf[b:], uint16(v.Y))
b += 2
return buf
}
// Write struct list Point
func PointListBytes(buf []byte, list []Point) int {
b := 0
var structBytes []byte
for _, item := range list {
structBytes = item.Bytes()
copy(buf[b:], structBytes)
b += xgb.Pad(len(structBytes))
}
return b
}
// 'Rectangle' struct definition
// Size: 8
type Rectangle struct {
X int16
Y int16
Width uint16
Height uint16
}
// Struct read Rectangle
func RectangleRead(buf []byte, v *Rectangle) int {
b := 0
v.X = int16(xgb.Get16(buf[b:]))
b += 2
v.Y = int16(xgb.Get16(buf[b:]))
b += 2
v.Width = xgb.Get16(buf[b:])
b += 2
v.Height = xgb.Get16(buf[b:])
b += 2
return b
}
// Struct list read Rectangle
func RectangleReadList(buf []byte, dest []Rectangle) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = Rectangle{}
b += RectangleRead(buf[b:], &dest[i])
}
return xgb.Pad(b)
}
// Struct write Rectangle
func (v Rectangle) Bytes() []byte {
buf := make([]byte, 8)
b := 0
xgb.Put16(buf[b:], uint16(v.X))
b += 2
xgb.Put16(buf[b:], uint16(v.Y))
b += 2
xgb.Put16(buf[b:], v.Width)
b += 2
xgb.Put16(buf[b:], v.Height)
b += 2
return buf
}
// Write struct list Rectangle
func RectangleListBytes(buf []byte, list []Rectangle) int {
b := 0
var structBytes []byte
for _, item := range list {
structBytes = item.Bytes()
copy(buf[b:], structBytes)
b += xgb.Pad(len(structBytes))
}
return b
}
// 'Arc' struct definition
// Size: 12
type Arc struct {
X int16
Y int16
Width uint16
Height uint16
Angle1 int16
Angle2 int16
}
// Struct read Arc
func ArcRead(buf []byte, v *Arc) int {
b := 0
v.X = int16(xgb.Get16(buf[b:]))
b += 2
v.Y = int16(xgb.Get16(buf[b:]))
b += 2
v.Width = xgb.Get16(buf[b:])
b += 2
v.Height = xgb.Get16(buf[b:])
b += 2
v.Angle1 = int16(xgb.Get16(buf[b:]))
b += 2
v.Angle2 = int16(xgb.Get16(buf[b:]))
b += 2
return b
}
// Struct list read Arc
func ArcReadList(buf []byte, dest []Arc) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = Arc{}
b += ArcRead(buf[b:], &dest[i])
}
return xgb.Pad(b)
}
// Struct write Arc
func (v Arc) Bytes() []byte {
buf := make([]byte, 12)
b := 0
xgb.Put16(buf[b:], uint16(v.X))
b += 2
xgb.Put16(buf[b:], uint16(v.Y))
b += 2
xgb.Put16(buf[b:], v.Width)
b += 2
xgb.Put16(buf[b:], v.Height)
b += 2
xgb.Put16(buf[b:], uint16(v.Angle1))
b += 2
xgb.Put16(buf[b:], uint16(v.Angle2))
b += 2
return buf
}
// Write struct list Arc
func ArcListBytes(buf []byte, list []Arc) int {
b := 0
var structBytes []byte
for _, item := range list {
structBytes = item.Bytes()
copy(buf[b:], structBytes)
b += xgb.Pad(len(structBytes))
}
return b
}
// 'Format' struct definition
// Size: 8
type Format struct {
Depth byte
BitsPerPixel byte
ScanlinePad byte
// padding: 5 bytes
}
// Struct read Format
func FormatRead(buf []byte, v *Format) int {
b := 0
v.Depth = buf[b]
b += 1
v.BitsPerPixel = buf[b]
b += 1
v.ScanlinePad = buf[b]
b += 1
b += 5 // padding
return b
}
// Struct list read Format
func FormatReadList(buf []byte, dest []Format) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = Format{}
b += FormatRead(buf[b:], &dest[i])
}
return xgb.Pad(b)
}
// Struct write Format
func (v Format) Bytes() []byte {
buf := make([]byte, 8)
b := 0
buf[b] = v.Depth
b += 1
buf[b] = v.BitsPerPixel
b += 1
buf[b] = v.ScanlinePad
b += 1
b += 5 // padding
return buf
}
// Write struct list Format
func FormatListBytes(buf []byte, list []Format) int {
b := 0
var structBytes []byte
for _, item := range list {
structBytes = item.Bytes()
copy(buf[b:], structBytes)
b += xgb.Pad(len(structBytes))
}
return b
}
// 'VisualInfo' struct definition
// Size: 24
type VisualInfo struct {
VisualId Visualid
Class byte
BitsPerRgbValue byte
ColormapEntries uint16
RedMask uint32
GreenMask uint32
BlueMask uint32
// padding: 4 bytes
}
// Struct read VisualInfo
func VisualInfoRead(buf []byte, v *VisualInfo) int {
b := 0
v.VisualId = Visualid(xgb.Get32(buf[b:]))
b += 4
v.Class = buf[b]
b += 1
v.BitsPerRgbValue = buf[b]
b += 1
v.ColormapEntries = xgb.Get16(buf[b:])
b += 2
v.RedMask = xgb.Get32(buf[b:])
b += 4
v.GreenMask = xgb.Get32(buf[b:])
b += 4
v.BlueMask = xgb.Get32(buf[b:])
b += 4
b += 4 // padding
return b
}
// Struct list read VisualInfo
func VisualInfoReadList(buf []byte, dest []VisualInfo) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = VisualInfo{}
b += VisualInfoRead(buf[b:], &dest[i])
}
return xgb.Pad(b)
}
// Struct write VisualInfo
func (v VisualInfo) Bytes() []byte {
buf := make([]byte, 24)
b := 0
xgb.Put32(buf[b:], uint32(v.VisualId))
b += 4
buf[b] = v.Class
b += 1
buf[b] = v.BitsPerRgbValue
b += 1
xgb.Put16(buf[b:], v.ColormapEntries)
b += 2
xgb.Put32(buf[b:], v.RedMask)
b += 4
xgb.Put32(buf[b:], v.GreenMask)
b += 4
xgb.Put32(buf[b:], v.BlueMask)
b += 4
b += 4 // padding
return buf
}
// Write struct list VisualInfo
func VisualInfoListBytes(buf []byte, list []VisualInfo) int {
b := 0
var structBytes []byte
for _, item := range list {
structBytes = item.Bytes()
copy(buf[b:], structBytes)
b += xgb.Pad(len(structBytes))
}
return b
}
// 'DepthInfo' struct definition
// Size: (8 + xgb.Pad((int(VisualsLen) * 24)))
type DepthInfo struct {
Depth byte
// padding: 1 bytes
VisualsLen uint16
// padding: 4 bytes
Visuals []VisualInfo // size: xgb.Pad((int(VisualsLen) * 24))
}
// Struct read DepthInfo
func DepthInfoRead(buf []byte, v *DepthInfo) int {
b := 0
v.Depth = buf[b]
b += 1
b += 1 // padding
v.VisualsLen = xgb.Get16(buf[b:])
b += 2
b += 4 // padding
v.Visuals = make([]VisualInfo, v.VisualsLen)
b += VisualInfoReadList(buf[b:], v.Visuals)
return b
}
// Struct list read DepthInfo
func DepthInfoReadList(buf []byte, dest []DepthInfo) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = DepthInfo{}
b += DepthInfoRead(buf[b:], &dest[i])
}
return xgb.Pad(b)
}
// Struct write DepthInfo
func (v DepthInfo) Bytes() []byte {
buf := make([]byte, (8 + xgb.Pad((int(v.VisualsLen) * 24))))
b := 0
buf[b] = v.Depth
b += 1
b += 1 // padding
xgb.Put16(buf[b:], v.VisualsLen)
b += 2
b += 4 // padding
b += VisualInfoListBytes(buf[b:], v.Visuals)
return buf
}
// Write struct list DepthInfo
func DepthInfoListBytes(buf []byte, list []DepthInfo) int {
b := 0
var structBytes []byte
for _, item := range list {
structBytes = item.Bytes()
copy(buf[b:], structBytes)
b += xgb.Pad(len(structBytes))
}
return b
}
// Struct list size DepthInfo
func DepthInfoListSize(list []DepthInfo) int {
size := 0
for _, item := range list {
size += (8 + xgb.Pad((int(item.VisualsLen) * 24)))
}
return size
}
// 'ScreenInfo' struct definition
// Size: (40 + DepthInfoListSize(AllowedDepths))
type ScreenInfo struct {
Root Window
DefaultColormap Colormap
WhitePixel uint32
BlackPixel uint32
CurrentInputMasks uint32
WidthInPixels uint16
HeightInPixels uint16
WidthInMillimeters uint16
HeightInMillimeters uint16
MinInstalledMaps uint16
MaxInstalledMaps uint16
RootVisual Visualid
BackingStores byte
SaveUnders bool
RootDepth byte
AllowedDepthsLen byte
AllowedDepths []DepthInfo // size: DepthInfoListSize(AllowedDepths)
}
// Struct read ScreenInfo
func ScreenInfoRead(buf []byte, v *ScreenInfo) int {
b := 0
v.Root = Window(xgb.Get32(buf[b:]))
b += 4
v.DefaultColormap = Colormap(xgb.Get32(buf[b:]))
b += 4
v.WhitePixel = xgb.Get32(buf[b:])
b += 4
v.BlackPixel = xgb.Get32(buf[b:])
b += 4
v.CurrentInputMasks = xgb.Get32(buf[b:])
b += 4
v.WidthInPixels = xgb.Get16(buf[b:])
b += 2
v.HeightInPixels = xgb.Get16(buf[b:])
b += 2
v.WidthInMillimeters = xgb.Get16(buf[b:])
b += 2
v.HeightInMillimeters = xgb.Get16(buf[b:])
b += 2
v.MinInstalledMaps = xgb.Get16(buf[b:])
b += 2
v.MaxInstalledMaps = xgb.Get16(buf[b:])
b += 2
v.RootVisual = Visualid(xgb.Get32(buf[b:]))
b += 4
v.BackingStores = buf[b]
b += 1
if buf[b] == 1 {
v.SaveUnders = true
} else {
v.SaveUnders = false
}
b += 1
v.RootDepth = buf[b]
b += 1
v.AllowedDepthsLen = buf[b]
b += 1
v.AllowedDepths = make([]DepthInfo, v.AllowedDepthsLen)
b += DepthInfoReadList(buf[b:], v.AllowedDepths)
return b
}
// Struct list read ScreenInfo
func ScreenInfoReadList(buf []byte, dest []ScreenInfo) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = ScreenInfo{}
b += ScreenInfoRead(buf[b:], &dest[i])
}
return xgb.Pad(b)
}
// Struct write ScreenInfo
func (v ScreenInfo) Bytes() []byte {
buf := make([]byte, (40 + DepthInfoListSize(v.AllowedDepths)))
b := 0
xgb.Put32(buf[b:], uint32(v.Root))
b += 4
xgb.Put32(buf[b:], uint32(v.DefaultColormap))
b += 4
xgb.Put32(buf[b:], v.WhitePixel)
b += 4
xgb.Put32(buf[b:], v.BlackPixel)
b += 4
xgb.Put32(buf[b:], v.CurrentInputMasks)
b += 4
xgb.Put16(buf[b:], v.WidthInPixels)
b += 2
xgb.Put16(buf[b:], v.HeightInPixels)
b += 2
xgb.Put16(buf[b:], v.WidthInMillimeters)
b += 2
xgb.Put16(buf[b:], v.HeightInMillimeters)
b += 2
xgb.Put16(buf[b:], v.MinInstalledMaps)
b += 2
xgb.Put16(buf[b:], v.MaxInstalledMaps)
b += 2
xgb.Put32(buf[b:], uint32(v.RootVisual))
b += 4
buf[b] = v.BackingStores
b += 1
if v.SaveUnders {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
buf[b] = v.RootDepth
b += 1
buf[b] = v.AllowedDepthsLen
b += 1
b += DepthInfoListBytes(buf[b:], v.AllowedDepths)
return buf
}
// Write struct list ScreenInfo
func ScreenInfoListBytes(buf []byte, list []ScreenInfo) int {
b := 0
var structBytes []byte
for _, item := range list {
structBytes = item.Bytes()
copy(buf[b:], structBytes)
b += xgb.Pad(len(structBytes))
}
return b
}
// Struct list size ScreenInfo
func ScreenInfoListSize(list []ScreenInfo) int {
size := 0
for _, item := range list {
size += (40 + DepthInfoListSize(item.AllowedDepths))
}
return size
}
// 'SetupRequest' struct definition
// Size: ((12 + xgb.Pad((int(AuthorizationProtocolNameLen) * 1))) + xgb.Pad((int(AuthorizationProtocolDataLen) * 1)))
type SetupRequest struct {
ByteOrder byte
// padding: 1 bytes
ProtocolMajorVersion uint16
ProtocolMinorVersion uint16
AuthorizationProtocolNameLen uint16
AuthorizationProtocolDataLen uint16
// padding: 2 bytes
AuthorizationProtocolName string // size: xgb.Pad((int(AuthorizationProtocolNameLen) * 1))
AuthorizationProtocolData string // size: xgb.Pad((int(AuthorizationProtocolDataLen) * 1))
}
// Struct read SetupRequest
func SetupRequestRead(buf []byte, v *SetupRequest) int {
b := 0
v.ByteOrder = buf[b]
b += 1
b += 1 // padding
v.ProtocolMajorVersion = xgb.Get16(buf[b:])
b += 2
v.ProtocolMinorVersion = xgb.Get16(buf[b:])
b += 2
v.AuthorizationProtocolNameLen = xgb.Get16(buf[b:])
b += 2
v.AuthorizationProtocolDataLen = xgb.Get16(buf[b:])
b += 2
b += 2 // padding
{
byteString := make([]byte, v.AuthorizationProtocolNameLen)
copy(byteString[:v.AuthorizationProtocolNameLen], buf[b:])
v.AuthorizationProtocolName = string(byteString)
b += xgb.Pad(int(v.AuthorizationProtocolNameLen))
}
{
byteString := make([]byte, v.AuthorizationProtocolDataLen)
copy(byteString[:v.AuthorizationProtocolDataLen], buf[b:])
v.AuthorizationProtocolData = string(byteString)
b += xgb.Pad(int(v.AuthorizationProtocolDataLen))
}
return b
}
// Struct list read SetupRequest
func SetupRequestReadList(buf []byte, dest []SetupRequest) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = SetupRequest{}
b += SetupRequestRead(buf[b:], &dest[i])
}
return xgb.Pad(b)
}
// Struct write SetupRequest
func (v SetupRequest) Bytes() []byte {
buf := make([]byte, ((12 + xgb.Pad((int(v.AuthorizationProtocolNameLen) * 1))) + xgb.Pad((int(v.AuthorizationProtocolDataLen) * 1))))
b := 0
buf[b] = v.ByteOrder
b += 1
b += 1 // padding
xgb.Put16(buf[b:], v.ProtocolMajorVersion)
b += 2
xgb.Put16(buf[b:], v.ProtocolMinorVersion)
b += 2
xgb.Put16(buf[b:], v.AuthorizationProtocolNameLen)
b += 2
xgb.Put16(buf[b:], v.AuthorizationProtocolDataLen)
b += 2
b += 2 // padding
copy(buf[b:], v.AuthorizationProtocolName[:v.AuthorizationProtocolNameLen])
b += xgb.Pad(int(v.AuthorizationProtocolNameLen))
copy(buf[b:], v.AuthorizationProtocolData[:v.AuthorizationProtocolDataLen])
b += xgb.Pad(int(v.AuthorizationProtocolDataLen))
return buf
}
// Write struct list SetupRequest
func SetupRequestListBytes(buf []byte, list []SetupRequest) int {
b := 0
var structBytes []byte
for _, item := range list {
structBytes = item.Bytes()
copy(buf[b:], structBytes)
b += xgb.Pad(len(structBytes))
}
return b
}
// Struct list size SetupRequest
func SetupRequestListSize(list []SetupRequest) int {
size := 0
for _, item := range list {
size += ((12 + xgb.Pad((int(item.AuthorizationProtocolNameLen) * 1))) + xgb.Pad((int(item.AuthorizationProtocolDataLen) * 1)))
}
return size
}
// 'SetupFailed' struct definition
// Size: (8 + xgb.Pad((int(ReasonLen) * 1)))
type SetupFailed struct {
Status byte
ReasonLen byte
ProtocolMajorVersion uint16
ProtocolMinorVersion uint16
Length uint16
Reason string // size: xgb.Pad((int(ReasonLen) * 1))
}
// Struct read SetupFailed
func SetupFailedRead(buf []byte, v *SetupFailed) int {
b := 0
v.Status = buf[b]
b += 1
v.ReasonLen = buf[b]
b += 1
v.ProtocolMajorVersion = xgb.Get16(buf[b:])
b += 2
v.ProtocolMinorVersion = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get16(buf[b:])
b += 2
{
byteString := make([]byte, v.ReasonLen)
copy(byteString[:v.ReasonLen], buf[b:])
v.Reason = string(byteString)
b += xgb.Pad(int(v.ReasonLen))
}
return b
}
// Struct list read SetupFailed
func SetupFailedReadList(buf []byte, dest []SetupFailed) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = SetupFailed{}
b += SetupFailedRead(buf[b:], &dest[i])
}
return xgb.Pad(b)
}
// Struct write SetupFailed
func (v SetupFailed) Bytes() []byte {
buf := make([]byte, (8 + xgb.Pad((int(v.ReasonLen) * 1))))
b := 0
buf[b] = v.Status
b += 1
buf[b] = v.ReasonLen
b += 1
xgb.Put16(buf[b:], v.ProtocolMajorVersion)
b += 2
xgb.Put16(buf[b:], v.ProtocolMinorVersion)
b += 2
xgb.Put16(buf[b:], v.Length)
b += 2
copy(buf[b:], v.Reason[:v.ReasonLen])
b += xgb.Pad(int(v.ReasonLen))
return buf
}
// Write struct list SetupFailed
func SetupFailedListBytes(buf []byte, list []SetupFailed) int {
b := 0
var structBytes []byte
for _, item := range list {
structBytes = item.Bytes()
copy(buf[b:], structBytes)
b += xgb.Pad(len(structBytes))
}
return b
}
// Struct list size SetupFailed
func SetupFailedListSize(list []SetupFailed) int {
size := 0
for _, item := range list {
size += (8 + xgb.Pad((int(item.ReasonLen) * 1)))
}
return size
}
// 'SetupAuthenticate' struct definition
// Size: (8 + xgb.Pad(((int(Length) * 4) * 1)))
type SetupAuthenticate struct {
Status byte
// padding: 5 bytes
Length uint16
Reason string // size: xgb.Pad(((int(Length) * 4) * 1))
}
// Struct read SetupAuthenticate
func SetupAuthenticateRead(buf []byte, v *SetupAuthenticate) int {
b := 0
v.Status = buf[b]
b += 1
b += 5 // padding
v.Length = xgb.Get16(buf[b:])
b += 2
{
byteString := make([]byte, (int(v.Length) * 4))
copy(byteString[:(int(v.Length)*4)], buf[b:])
v.Reason = string(byteString)
b += xgb.Pad(int((int(v.Length) * 4)))
}
return b
}
// Struct list read SetupAuthenticate
func SetupAuthenticateReadList(buf []byte, dest []SetupAuthenticate) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = SetupAuthenticate{}
b += SetupAuthenticateRead(buf[b:], &dest[i])
}
return xgb.Pad(b)
}
// Struct write SetupAuthenticate
func (v SetupAuthenticate) Bytes() []byte {
buf := make([]byte, (8 + xgb.Pad(((int(v.Length) * 4) * 1))))
b := 0
buf[b] = v.Status
b += 1
b += 5 // padding
xgb.Put16(buf[b:], v.Length)
b += 2
copy(buf[b:], v.Reason[:(int(v.Length)*4)])
b += xgb.Pad(int((int(v.Length) * 4)))
return buf
}
// Write struct list SetupAuthenticate
func SetupAuthenticateListBytes(buf []byte, list []SetupAuthenticate) int {
b := 0
var structBytes []byte
for _, item := range list {
structBytes = item.Bytes()
copy(buf[b:], structBytes)
b += xgb.Pad(len(structBytes))
}
return b
}
// Struct list size SetupAuthenticate
func SetupAuthenticateListSize(list []SetupAuthenticate) int {
size := 0
for _, item := range list {
size += (8 + xgb.Pad(((int(item.Length) * 4) * 1)))
}
return size
}
// 'SetupInfo' struct definition
// Size: (((40 + xgb.Pad((int(VendorLen) * 1))) + xgb.Pad((int(PixmapFormatsLen) * 8))) + ScreenInfoListSize(Roots))
type SetupInfo struct {
Status byte
// padding: 1 bytes
ProtocolMajorVersion uint16
ProtocolMinorVersion uint16
Length uint16
ReleaseNumber uint32
ResourceIdBase uint32
ResourceIdMask uint32
MotionBufferSize uint32
VendorLen uint16
MaximumRequestLength uint16
RootsLen byte
PixmapFormatsLen byte
ImageByteOrder byte
BitmapFormatBitOrder byte
BitmapFormatScanlineUnit byte
BitmapFormatScanlinePad byte
MinKeycode Keycode
MaxKeycode Keycode
// padding: 4 bytes
Vendor string // size: xgb.Pad((int(VendorLen) * 1))
PixmapFormats []Format // size: xgb.Pad((int(PixmapFormatsLen) * 8))
Roots []ScreenInfo // size: ScreenInfoListSize(Roots)
}
// Struct read SetupInfo
func SetupInfoRead(buf []byte, v *SetupInfo) int {
b := 0
v.Status = buf[b]
b += 1
b += 1 // padding
v.ProtocolMajorVersion = xgb.Get16(buf[b:])
b += 2
v.ProtocolMinorVersion = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get16(buf[b:])
b += 2
v.ReleaseNumber = xgb.Get32(buf[b:])
b += 4
v.ResourceIdBase = xgb.Get32(buf[b:])
b += 4
v.ResourceIdMask = xgb.Get32(buf[b:])
b += 4
v.MotionBufferSize = xgb.Get32(buf[b:])
b += 4
v.VendorLen = xgb.Get16(buf[b:])
b += 2
v.MaximumRequestLength = xgb.Get16(buf[b:])
b += 2
v.RootsLen = buf[b]
b += 1
v.PixmapFormatsLen = buf[b]
b += 1
v.ImageByteOrder = buf[b]
b += 1
v.BitmapFormatBitOrder = buf[b]
b += 1
v.BitmapFormatScanlineUnit = buf[b]
b += 1
v.BitmapFormatScanlinePad = buf[b]
b += 1
v.MinKeycode = Keycode(buf[b])
b += 1
v.MaxKeycode = Keycode(buf[b])
b += 1
b += 4 // padding
{
byteString := make([]byte, v.VendorLen)
copy(byteString[:v.VendorLen], buf[b:])
v.Vendor = string(byteString)
b += xgb.Pad(int(v.VendorLen))
}
v.PixmapFormats = make([]Format, v.PixmapFormatsLen)
b += FormatReadList(buf[b:], v.PixmapFormats)
v.Roots = make([]ScreenInfo, v.RootsLen)
b += ScreenInfoReadList(buf[b:], v.Roots)
return b
}
// Struct list read SetupInfo
func SetupInfoReadList(buf []byte, dest []SetupInfo) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = SetupInfo{}
b += SetupInfoRead(buf[b:], &dest[i])
}
return xgb.Pad(b)
}
// Struct write SetupInfo
func (v SetupInfo) Bytes() []byte {
buf := make([]byte, (((40 + xgb.Pad((int(v.VendorLen) * 1))) + xgb.Pad((int(v.PixmapFormatsLen) * 8))) + ScreenInfoListSize(v.Roots)))
b := 0
buf[b] = v.Status
b += 1
b += 1 // padding
xgb.Put16(buf[b:], v.ProtocolMajorVersion)
b += 2
xgb.Put16(buf[b:], v.ProtocolMinorVersion)
b += 2
xgb.Put16(buf[b:], v.Length)
b += 2
xgb.Put32(buf[b:], v.ReleaseNumber)
b += 4
xgb.Put32(buf[b:], v.ResourceIdBase)
b += 4
xgb.Put32(buf[b:], v.ResourceIdMask)
b += 4
xgb.Put32(buf[b:], v.MotionBufferSize)
b += 4
xgb.Put16(buf[b:], v.VendorLen)
b += 2
xgb.Put16(buf[b:], v.MaximumRequestLength)
b += 2
buf[b] = v.RootsLen
b += 1
buf[b] = v.PixmapFormatsLen
b += 1
buf[b] = v.ImageByteOrder
b += 1
buf[b] = v.BitmapFormatBitOrder
b += 1
buf[b] = v.BitmapFormatScanlineUnit
b += 1
buf[b] = v.BitmapFormatScanlinePad
b += 1
buf[b] = byte(v.MinKeycode)
b += 1
buf[b] = byte(v.MaxKeycode)
b += 1
b += 4 // padding
copy(buf[b:], v.Vendor[:v.VendorLen])
b += xgb.Pad(int(v.VendorLen))
b += FormatListBytes(buf[b:], v.PixmapFormats)
b += ScreenInfoListBytes(buf[b:], v.Roots)
return buf
}
// Write struct list SetupInfo
func SetupInfoListBytes(buf []byte, list []SetupInfo) int {
b := 0
var structBytes []byte
for _, item := range list {
structBytes = item.Bytes()
copy(buf[b:], structBytes)
b += xgb.Pad(len(structBytes))
}
return b
}
// Struct list size SetupInfo
func SetupInfoListSize(list []SetupInfo) int {
size := 0
for _, item := range list {
size += (((40 + xgb.Pad((int(item.VendorLen) * 1))) + xgb.Pad((int(item.PixmapFormatsLen) * 8))) + ScreenInfoListSize(item.Roots))
}
return size
}
// 'Timecoord' struct definition
// Size: 8
type Timecoord struct {
Time Timestamp
X int16
Y int16
}
// Struct read Timecoord
func TimecoordRead(buf []byte, v *Timecoord) int {
b := 0
v.Time = Timestamp(xgb.Get32(buf[b:]))
b += 4
v.X = int16(xgb.Get16(buf[b:]))
b += 2
v.Y = int16(xgb.Get16(buf[b:]))
b += 2
return b
}
// Struct list read Timecoord
func TimecoordReadList(buf []byte, dest []Timecoord) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = Timecoord{}
b += TimecoordRead(buf[b:], &dest[i])
}
return xgb.Pad(b)
}
// Struct write Timecoord
func (v Timecoord) Bytes() []byte {
buf := make([]byte, 8)
b := 0
xgb.Put32(buf[b:], uint32(v.Time))
b += 4
xgb.Put16(buf[b:], uint16(v.X))
b += 2
xgb.Put16(buf[b:], uint16(v.Y))
b += 2
return buf
}
// Write struct list Timecoord
func TimecoordListBytes(buf []byte, list []Timecoord) int {
b := 0
var structBytes []byte
for _, item := range list {
structBytes = item.Bytes()
copy(buf[b:], structBytes)
b += xgb.Pad(len(structBytes))
}
return b
}
// 'Fontprop' struct definition
// Size: 8
type Fontprop struct {
Name Atom
Value uint32
}
// Struct read Fontprop
func FontpropRead(buf []byte, v *Fontprop) int {
b := 0
v.Name = Atom(xgb.Get32(buf[b:]))
b += 4
v.Value = xgb.Get32(buf[b:])
b += 4
return b
}
// Struct list read Fontprop
func FontpropReadList(buf []byte, dest []Fontprop) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = Fontprop{}
b += FontpropRead(buf[b:], &dest[i])
}
return xgb.Pad(b)
}
// Struct write Fontprop
func (v Fontprop) Bytes() []byte {
buf := make([]byte, 8)
b := 0
xgb.Put32(buf[b:], uint32(v.Name))
b += 4
xgb.Put32(buf[b:], v.Value)
b += 4
return buf
}
// Write struct list Fontprop
func FontpropListBytes(buf []byte, list []Fontprop) int {
b := 0
var structBytes []byte
for _, item := range list {
structBytes = item.Bytes()
copy(buf[b:], structBytes)
b += xgb.Pad(len(structBytes))
}
return b
}
// 'Charinfo' struct definition
// Size: 12
type Charinfo struct {
LeftSideBearing int16
RightSideBearing int16
CharacterWidth int16
Ascent int16
Descent int16
Attributes uint16
}
// Struct read Charinfo
func CharinfoRead(buf []byte, v *Charinfo) int {
b := 0
v.LeftSideBearing = int16(xgb.Get16(buf[b:]))
b += 2
v.RightSideBearing = int16(xgb.Get16(buf[b:]))
b += 2
v.CharacterWidth = int16(xgb.Get16(buf[b:]))
b += 2
v.Ascent = int16(xgb.Get16(buf[b:]))
b += 2
v.Descent = int16(xgb.Get16(buf[b:]))
b += 2
v.Attributes = xgb.Get16(buf[b:])
b += 2
return b
}
// Struct list read Charinfo
func CharinfoReadList(buf []byte, dest []Charinfo) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = Charinfo{}
b += CharinfoRead(buf[b:], &dest[i])
}
return xgb.Pad(b)
}
// Struct write Charinfo
func (v Charinfo) Bytes() []byte {
buf := make([]byte, 12)
b := 0
xgb.Put16(buf[b:], uint16(v.LeftSideBearing))
b += 2
xgb.Put16(buf[b:], uint16(v.RightSideBearing))
b += 2
xgb.Put16(buf[b:], uint16(v.CharacterWidth))
b += 2
xgb.Put16(buf[b:], uint16(v.Ascent))
b += 2
xgb.Put16(buf[b:], uint16(v.Descent))
b += 2
xgb.Put16(buf[b:], v.Attributes)
b += 2
return buf
}
// Write struct list Charinfo
func CharinfoListBytes(buf []byte, list []Charinfo) int {
b := 0
var structBytes []byte
for _, item := range list {
structBytes = item.Bytes()
copy(buf[b:], structBytes)
b += xgb.Pad(len(structBytes))
}
return b
}
// 'Str' struct definition
// Size: (1 + xgb.Pad((int(NameLen) * 1)))
type Str struct {
NameLen byte
Name string // size: xgb.Pad((int(NameLen) * 1))
}
// Struct read Str
func StrRead(buf []byte, v *Str) int {
b := 0
v.NameLen = buf[b]
b += 1
{
byteString := make([]byte, v.NameLen)
copy(byteString[:v.NameLen], buf[b:])
v.Name = string(byteString)
b += xgb.Pad(int(v.NameLen))
}
return b
}
// Struct list read Str
func StrReadList(buf []byte, dest []Str) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = Str{}
b += StrRead(buf[b:], &dest[i])
}
return xgb.Pad(b)
}
// Struct write Str
func (v Str) Bytes() []byte {
buf := make([]byte, (1 + xgb.Pad((int(v.NameLen) * 1))))
b := 0
buf[b] = v.NameLen
b += 1
copy(buf[b:], v.Name[:v.NameLen])
b += xgb.Pad(int(v.NameLen))
return buf
}
// Write struct list Str
func StrListBytes(buf []byte, list []Str) int {
b := 0
var structBytes []byte
for _, item := range list {
structBytes = item.Bytes()
copy(buf[b:], structBytes)
b += xgb.Pad(len(structBytes))
}
return b
}
// Struct list size Str
func StrListSize(list []Str) int {
size := 0
for _, item := range list {
size += (1 + xgb.Pad((int(item.NameLen) * 1)))
}
return size
}
// 'Segment' struct definition
// Size: 8
type Segment struct {
X1 int16
Y1 int16
X2 int16
Y2 int16
}
// Struct read Segment
func SegmentRead(buf []byte, v *Segment) int {
b := 0
v.X1 = int16(xgb.Get16(buf[b:]))
b += 2
v.Y1 = int16(xgb.Get16(buf[b:]))
b += 2
v.X2 = int16(xgb.Get16(buf[b:]))
b += 2
v.Y2 = int16(xgb.Get16(buf[b:]))
b += 2
return b
}
// Struct list read Segment
func SegmentReadList(buf []byte, dest []Segment) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = Segment{}
b += SegmentRead(buf[b:], &dest[i])
}
return xgb.Pad(b)
}
// Struct write Segment
func (v Segment) Bytes() []byte {
buf := make([]byte, 8)
b := 0
xgb.Put16(buf[b:], uint16(v.X1))
b += 2
xgb.Put16(buf[b:], uint16(v.Y1))
b += 2
xgb.Put16(buf[b:], uint16(v.X2))
b += 2
xgb.Put16(buf[b:], uint16(v.Y2))
b += 2
return buf
}
// Write struct list Segment
func SegmentListBytes(buf []byte, list []Segment) int {
b := 0
var structBytes []byte
for _, item := range list {
structBytes = item.Bytes()
copy(buf[b:], structBytes)
b += xgb.Pad(len(structBytes))
}
return b
}
// 'Coloritem' struct definition
// Size: 12
type Coloritem struct {
Pixel uint32
Red uint16
Green uint16
Blue uint16
Flags byte
// padding: 1 bytes
}
// Struct read Coloritem
func ColoritemRead(buf []byte, v *Coloritem) int {
b := 0
v.Pixel = xgb.Get32(buf[b:])
b += 4
v.Red = xgb.Get16(buf[b:])
b += 2
v.Green = xgb.Get16(buf[b:])
b += 2
v.Blue = xgb.Get16(buf[b:])
b += 2
v.Flags = buf[b]
b += 1
b += 1 // padding
return b
}
// Struct list read Coloritem
func ColoritemReadList(buf []byte, dest []Coloritem) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = Coloritem{}
b += ColoritemRead(buf[b:], &dest[i])
}
return xgb.Pad(b)
}
// Struct write Coloritem
func (v Coloritem) Bytes() []byte {
buf := make([]byte, 12)
b := 0
xgb.Put32(buf[b:], v.Pixel)
b += 4
xgb.Put16(buf[b:], v.Red)
b += 2
xgb.Put16(buf[b:], v.Green)
b += 2
xgb.Put16(buf[b:], v.Blue)
b += 2
buf[b] = v.Flags
b += 1
b += 1 // padding
return buf
}
// Write struct list Coloritem
func ColoritemListBytes(buf []byte, list []Coloritem) int {
b := 0
var structBytes []byte
for _, item := range list {
structBytes = item.Bytes()
copy(buf[b:], structBytes)
b += xgb.Pad(len(structBytes))
}
return b
}
// 'Rgb' struct definition
// Size: 8
type Rgb struct {
Red uint16
Green uint16
Blue uint16
// padding: 2 bytes
}
// Struct read Rgb
func RgbRead(buf []byte, v *Rgb) int {
b := 0
v.Red = xgb.Get16(buf[b:])
b += 2
v.Green = xgb.Get16(buf[b:])
b += 2
v.Blue = xgb.Get16(buf[b:])
b += 2
b += 2 // padding
return b
}
// Struct list read Rgb
func RgbReadList(buf []byte, dest []Rgb) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = Rgb{}
b += RgbRead(buf[b:], &dest[i])
}
return xgb.Pad(b)
}
// Struct write Rgb
func (v Rgb) Bytes() []byte {
buf := make([]byte, 8)
b := 0
xgb.Put16(buf[b:], v.Red)
b += 2
xgb.Put16(buf[b:], v.Green)
b += 2
xgb.Put16(buf[b:], v.Blue)
b += 2
b += 2 // padding
return buf
}
// Write struct list Rgb
func RgbListBytes(buf []byte, list []Rgb) int {
b := 0
var structBytes []byte
for _, item := range list {
structBytes = item.Bytes()
copy(buf[b:], structBytes)
b += xgb.Pad(len(structBytes))
}
return b
}
// 'Host' struct definition
// Size: (4 + xgb.Pad((int(AddressLen) * 1)))
type Host struct {
Family byte
// padding: 1 bytes
AddressLen uint16
Address []byte // size: xgb.Pad((int(AddressLen) * 1))
}
// Struct read Host
func HostRead(buf []byte, v *Host) int {
b := 0
v.Family = buf[b]
b += 1
b += 1 // padding
v.AddressLen = xgb.Get16(buf[b:])
b += 2
v.Address = make([]byte, v.AddressLen)
copy(v.Address[:v.AddressLen], buf[b:])
b += xgb.Pad(int(v.AddressLen))
return b
}
// Struct list read Host
func HostReadList(buf []byte, dest []Host) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = Host{}
b += HostRead(buf[b:], &dest[i])
}
return xgb.Pad(b)
}
// Struct write Host
func (v Host) Bytes() []byte {
buf := make([]byte, (4 + xgb.Pad((int(v.AddressLen) * 1))))
b := 0
buf[b] = v.Family
b += 1
b += 1 // padding
xgb.Put16(buf[b:], v.AddressLen)
b += 2
copy(buf[b:], v.Address[:v.AddressLen])
b += xgb.Pad(int(v.AddressLen))
return buf
}
// Write struct list Host
func HostListBytes(buf []byte, list []Host) int {
b := 0
var structBytes []byte
for _, item := range list {
structBytes = item.Bytes()
copy(buf[b:], structBytes)
b += xgb.Pad(len(structBytes))
}
return b
}
// Struct list size Host
func HostListSize(list []Host) int {
size := 0
for _, item := range list {
size += (4 + xgb.Pad((int(item.AddressLen) * 1)))
}
return size
}
// Union definition ClientMessageDataUnion
// 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 'ClientMessageDataUnion':
// ClientMessageDataUnionData8New(Data8 []byte) ClientMessageDataUnion
// ClientMessageDataUnionData16New(Data16 []uint16) ClientMessageDataUnion
// ClientMessageDataUnionData32New(Data32 []uint32) ClientMessageDataUnion
type ClientMessageDataUnion struct {
Data8 []byte // size: 20
Data16 []uint16 // size: 20
Data32 []uint32 // size: 20
}
// Union constructor for ClientMessageDataUnion for field Data8.
func ClientMessageDataUnionData8New(Data8 []byte) ClientMessageDataUnion {
var b int
buf := make([]byte, 20)
copy(buf[b:], Data8[:20])
b += xgb.Pad(int(20))
// Create the Union type
v := ClientMessageDataUnion{}
// Now copy buf into all fields
b = 0 // always read the same bytes
v.Data8 = make([]byte, 20)
copy(v.Data8[:20], buf[b:])
b += xgb.Pad(int(20))
b = 0 // always read the same bytes
v.Data16 = make([]uint16, 10)
for i := 0; i < int(10); i++ {
v.Data16[i] = xgb.Get16(buf[b:])
b += 2
}
b = xgb.Pad(b)
b = 0 // always read the same bytes
v.Data32 = make([]uint32, 5)
for i := 0; i < int(5); i++ {
v.Data32[i] = xgb.Get32(buf[b:])
b += 4
}
b = xgb.Pad(b)
return v
}
// Union constructor for ClientMessageDataUnion for field Data16.
func ClientMessageDataUnionData16New(Data16 []uint16) ClientMessageDataUnion {
var b int
buf := make([]byte, 20)
for i := 0; i < int(10); i++ {
xgb.Put16(buf[b:], Data16[i])
b += 2
}
b = xgb.Pad(b)
// Create the Union type
v := ClientMessageDataUnion{}
// Now copy buf into all fields
b = 0 // always read the same bytes
v.Data8 = make([]byte, 20)
copy(v.Data8[:20], buf[b:])
b += xgb.Pad(int(20))
b = 0 // always read the same bytes
v.Data16 = make([]uint16, 10)
for i := 0; i < int(10); i++ {
v.Data16[i] = xgb.Get16(buf[b:])
b += 2
}
b = xgb.Pad(b)
b = 0 // always read the same bytes
v.Data32 = make([]uint32, 5)
for i := 0; i < int(5); i++ {
v.Data32[i] = xgb.Get32(buf[b:])
b += 4
}
b = xgb.Pad(b)
return v
}
// Union constructor for ClientMessageDataUnion for field Data32.
func ClientMessageDataUnionData32New(Data32 []uint32) ClientMessageDataUnion {
var b int
buf := make([]byte, 20)
for i := 0; i < int(5); i++ {
xgb.Put32(buf[b:], Data32[i])
b += 4
}
b = xgb.Pad(b)
// Create the Union type
v := ClientMessageDataUnion{}
// Now copy buf into all fields
b = 0 // always read the same bytes
v.Data8 = make([]byte, 20)
copy(v.Data8[:20], buf[b:])
b += xgb.Pad(int(20))
b = 0 // always read the same bytes
v.Data16 = make([]uint16, 10)
for i := 0; i < int(10); i++ {
v.Data16[i] = xgb.Get16(buf[b:])
b += 2
}
b = xgb.Pad(b)
b = 0 // always read the same bytes
v.Data32 = make([]uint32, 5)
for i := 0; i < int(5); i++ {
v.Data32[i] = xgb.Get32(buf[b:])
b += 4
}
b = xgb.Pad(b)
return v
}
// Union read ClientMessageDataUnion
func ClientMessageDataUnionRead(buf []byte, v *ClientMessageDataUnion) int {
var b int
b = 0 // re-read the same bytes
v.Data8 = make([]byte, 20)
copy(v.Data8[:20], buf[b:])
b += xgb.Pad(int(20))
b = 0 // re-read the same bytes
v.Data16 = make([]uint16, 10)
for i := 0; i < int(10); i++ {
v.Data16[i] = xgb.Get16(buf[b:])
b += 2
}
b = xgb.Pad(b)
b = 0 // re-read the same bytes
v.Data32 = make([]uint32, 5)
for i := 0; i < int(5); i++ {
v.Data32[i] = xgb.Get32(buf[b:])
b += 4
}
b = xgb.Pad(b)
return 20
}
// Union list read ClientMessageDataUnion
func ClientMessageDataUnionReadList(buf []byte, dest []ClientMessageDataUnion) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = ClientMessageDataUnion{}
b += ClientMessageDataUnionRead(buf[b:], &dest[i])
}
return xgb.Pad(b)
}
// Union write ClientMessageDataUnion
// Each field in a union must contain the same data.
// So simply pick the first field and write that to the wire.
func (v ClientMessageDataUnion) Bytes() []byte {
buf := make([]byte, 20)
b := 0
copy(buf[b:], v.Data8[:20])
b += xgb.Pad(int(20))
return buf
}
// Union list write ClientMessageDataUnion
func ClientMessageDataUnionListBytes(buf []byte, list []ClientMessageDataUnion) int {
b := 0
var unionBytes []byte
for _, item := range list {
unionBytes = item.Bytes()
copy(buf[b:], unionBytes)
b += xgb.Pad(len(unionBytes))
}
return b
}
// Event definition KeyPress (2)
// Size: 32
const KeyPress = 2
type KeyPressEvent struct {
Sequence uint16
Detail Keycode
Time Timestamp
Root Window
Event Window
Child Window
RootX int16
RootY int16
EventX int16
EventY int16
State uint16
SameScreen bool
// padding: 1 bytes
}
// Event read KeyPress
func KeyPressEventNew(buf []byte) xgb.Event {
v := KeyPressEvent{}
b := 1 // don't read event number
v.Detail = Keycode(buf[b])
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Time = Timestamp(xgb.Get32(buf[b:]))
b += 4
v.Root = Window(xgb.Get32(buf[b:]))
b += 4
v.Event = Window(xgb.Get32(buf[b:]))
b += 4
v.Child = Window(xgb.Get32(buf[b:]))
b += 4
v.RootX = int16(xgb.Get16(buf[b:]))
b += 2
v.RootY = int16(xgb.Get16(buf[b:]))
b += 2
v.EventX = int16(xgb.Get16(buf[b:]))
b += 2
v.EventY = int16(xgb.Get16(buf[b:]))
b += 2
v.State = xgb.Get16(buf[b:])
b += 2
if buf[b] == 1 {
v.SameScreen = true
} else {
v.SameScreen = false
}
b += 1
b += 1 // padding
return v
}
// Event write KeyPress
func (v KeyPressEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 2
b += 1
buf[b] = byte(v.Detail)
b += 1
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Time))
b += 4
xgb.Put32(buf[b:], uint32(v.Root))
b += 4
xgb.Put32(buf[b:], uint32(v.Event))
b += 4
xgb.Put32(buf[b:], uint32(v.Child))
b += 4
xgb.Put16(buf[b:], uint16(v.RootX))
b += 2
xgb.Put16(buf[b:], uint16(v.RootY))
b += 2
xgb.Put16(buf[b:], uint16(v.EventX))
b += 2
xgb.Put16(buf[b:], uint16(v.EventY))
b += 2
xgb.Put16(buf[b:], v.State)
b += 2
if v.SameScreen {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
b += 1 // padding
return buf
}
func (v KeyPressEvent) ImplementsEvent() {}
func (v KeyPressEvent) SequenceId() uint16 {
return v.Sequence
}
func (v KeyPressEvent) String() string {
fieldVals := make([]string, 0, 12)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Detail: %d", v.Detail))
fieldVals = append(fieldVals, xgb.Sprintf("Time: %d", v.Time))
fieldVals = append(fieldVals, xgb.Sprintf("Root: %d", v.Root))
fieldVals = append(fieldVals, xgb.Sprintf("Event: %d", v.Event))
fieldVals = append(fieldVals, xgb.Sprintf("Child: %d", v.Child))
fieldVals = append(fieldVals, xgb.Sprintf("RootX: %d", v.RootX))
fieldVals = append(fieldVals, xgb.Sprintf("RootY: %d", v.RootY))
fieldVals = append(fieldVals, xgb.Sprintf("EventX: %d", v.EventX))
fieldVals = append(fieldVals, xgb.Sprintf("EventY: %d", v.EventY))
fieldVals = append(fieldVals, xgb.Sprintf("State: %d", v.State))
fieldVals = append(fieldVals, xgb.Sprintf("SameScreen: %t", v.SameScreen))
return "KeyPress {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[2] = KeyPressEventNew
}
// Event definition ButtonPress (4)
// Size: 32
const ButtonPress = 4
type ButtonPressEvent struct {
Sequence uint16
Detail Button
Time Timestamp
Root Window
Event Window
Child Window
RootX int16
RootY int16
EventX int16
EventY int16
State uint16
SameScreen bool
// padding: 1 bytes
}
// Event read ButtonPress
func ButtonPressEventNew(buf []byte) xgb.Event {
v := ButtonPressEvent{}
b := 1 // don't read event number
v.Detail = Button(buf[b])
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Time = Timestamp(xgb.Get32(buf[b:]))
b += 4
v.Root = Window(xgb.Get32(buf[b:]))
b += 4
v.Event = Window(xgb.Get32(buf[b:]))
b += 4
v.Child = Window(xgb.Get32(buf[b:]))
b += 4
v.RootX = int16(xgb.Get16(buf[b:]))
b += 2
v.RootY = int16(xgb.Get16(buf[b:]))
b += 2
v.EventX = int16(xgb.Get16(buf[b:]))
b += 2
v.EventY = int16(xgb.Get16(buf[b:]))
b += 2
v.State = xgb.Get16(buf[b:])
b += 2
if buf[b] == 1 {
v.SameScreen = true
} else {
v.SameScreen = false
}
b += 1
b += 1 // padding
return v
}
// Event write ButtonPress
func (v ButtonPressEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 4
b += 1
buf[b] = byte(v.Detail)
b += 1
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Time))
b += 4
xgb.Put32(buf[b:], uint32(v.Root))
b += 4
xgb.Put32(buf[b:], uint32(v.Event))
b += 4
xgb.Put32(buf[b:], uint32(v.Child))
b += 4
xgb.Put16(buf[b:], uint16(v.RootX))
b += 2
xgb.Put16(buf[b:], uint16(v.RootY))
b += 2
xgb.Put16(buf[b:], uint16(v.EventX))
b += 2
xgb.Put16(buf[b:], uint16(v.EventY))
b += 2
xgb.Put16(buf[b:], v.State)
b += 2
if v.SameScreen {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
b += 1 // padding
return buf
}
func (v ButtonPressEvent) ImplementsEvent() {}
func (v ButtonPressEvent) SequenceId() uint16 {
return v.Sequence
}
func (v ButtonPressEvent) String() string {
fieldVals := make([]string, 0, 12)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Detail: %d", v.Detail))
fieldVals = append(fieldVals, xgb.Sprintf("Time: %d", v.Time))
fieldVals = append(fieldVals, xgb.Sprintf("Root: %d", v.Root))
fieldVals = append(fieldVals, xgb.Sprintf("Event: %d", v.Event))
fieldVals = append(fieldVals, xgb.Sprintf("Child: %d", v.Child))
fieldVals = append(fieldVals, xgb.Sprintf("RootX: %d", v.RootX))
fieldVals = append(fieldVals, xgb.Sprintf("RootY: %d", v.RootY))
fieldVals = append(fieldVals, xgb.Sprintf("EventX: %d", v.EventX))
fieldVals = append(fieldVals, xgb.Sprintf("EventY: %d", v.EventY))
fieldVals = append(fieldVals, xgb.Sprintf("State: %d", v.State))
fieldVals = append(fieldVals, xgb.Sprintf("SameScreen: %t", v.SameScreen))
return "ButtonPress {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[4] = ButtonPressEventNew
}
// Event definition MotionNotify (6)
// Size: 32
const MotionNotify = 6
type MotionNotifyEvent struct {
Sequence uint16
Detail byte
Time Timestamp
Root Window
Event Window
Child Window
RootX int16
RootY int16
EventX int16
EventY int16
State uint16
SameScreen bool
// padding: 1 bytes
}
// Event read MotionNotify
func MotionNotifyEventNew(buf []byte) xgb.Event {
v := MotionNotifyEvent{}
b := 1 // don't read event number
v.Detail = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Time = Timestamp(xgb.Get32(buf[b:]))
b += 4
v.Root = Window(xgb.Get32(buf[b:]))
b += 4
v.Event = Window(xgb.Get32(buf[b:]))
b += 4
v.Child = Window(xgb.Get32(buf[b:]))
b += 4
v.RootX = int16(xgb.Get16(buf[b:]))
b += 2
v.RootY = int16(xgb.Get16(buf[b:]))
b += 2
v.EventX = int16(xgb.Get16(buf[b:]))
b += 2
v.EventY = int16(xgb.Get16(buf[b:]))
b += 2
v.State = xgb.Get16(buf[b:])
b += 2
if buf[b] == 1 {
v.SameScreen = true
} else {
v.SameScreen = false
}
b += 1
b += 1 // padding
return v
}
// Event write MotionNotify
func (v MotionNotifyEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 6
b += 1
buf[b] = v.Detail
b += 1
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Time))
b += 4
xgb.Put32(buf[b:], uint32(v.Root))
b += 4
xgb.Put32(buf[b:], uint32(v.Event))
b += 4
xgb.Put32(buf[b:], uint32(v.Child))
b += 4
xgb.Put16(buf[b:], uint16(v.RootX))
b += 2
xgb.Put16(buf[b:], uint16(v.RootY))
b += 2
xgb.Put16(buf[b:], uint16(v.EventX))
b += 2
xgb.Put16(buf[b:], uint16(v.EventY))
b += 2
xgb.Put16(buf[b:], v.State)
b += 2
if v.SameScreen {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
b += 1 // padding
return buf
}
func (v MotionNotifyEvent) ImplementsEvent() {}
func (v MotionNotifyEvent) SequenceId() uint16 {
return v.Sequence
}
func (v MotionNotifyEvent) String() string {
fieldVals := make([]string, 0, 12)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Detail: %d", v.Detail))
fieldVals = append(fieldVals, xgb.Sprintf("Time: %d", v.Time))
fieldVals = append(fieldVals, xgb.Sprintf("Root: %d", v.Root))
fieldVals = append(fieldVals, xgb.Sprintf("Event: %d", v.Event))
fieldVals = append(fieldVals, xgb.Sprintf("Child: %d", v.Child))
fieldVals = append(fieldVals, xgb.Sprintf("RootX: %d", v.RootX))
fieldVals = append(fieldVals, xgb.Sprintf("RootY: %d", v.RootY))
fieldVals = append(fieldVals, xgb.Sprintf("EventX: %d", v.EventX))
fieldVals = append(fieldVals, xgb.Sprintf("EventY: %d", v.EventY))
fieldVals = append(fieldVals, xgb.Sprintf("State: %d", v.State))
fieldVals = append(fieldVals, xgb.Sprintf("SameScreen: %t", v.SameScreen))
return "MotionNotify {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[6] = MotionNotifyEventNew
}
// Event definition EnterNotify (7)
// Size: 32
const EnterNotify = 7
type EnterNotifyEvent struct {
Sequence uint16
Detail byte
Time Timestamp
Root Window
Event Window
Child Window
RootX int16
RootY int16
EventX int16
EventY int16
State uint16
Mode byte
SameScreenFocus byte
}
// Event read EnterNotify
func EnterNotifyEventNew(buf []byte) xgb.Event {
v := EnterNotifyEvent{}
b := 1 // don't read event number
v.Detail = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Time = Timestamp(xgb.Get32(buf[b:]))
b += 4
v.Root = Window(xgb.Get32(buf[b:]))
b += 4
v.Event = Window(xgb.Get32(buf[b:]))
b += 4
v.Child = Window(xgb.Get32(buf[b:]))
b += 4
v.RootX = int16(xgb.Get16(buf[b:]))
b += 2
v.RootY = int16(xgb.Get16(buf[b:]))
b += 2
v.EventX = int16(xgb.Get16(buf[b:]))
b += 2
v.EventY = int16(xgb.Get16(buf[b:]))
b += 2
v.State = xgb.Get16(buf[b:])
b += 2
v.Mode = buf[b]
b += 1
v.SameScreenFocus = buf[b]
b += 1
return v
}
// Event write EnterNotify
func (v EnterNotifyEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 7
b += 1
buf[b] = v.Detail
b += 1
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Time))
b += 4
xgb.Put32(buf[b:], uint32(v.Root))
b += 4
xgb.Put32(buf[b:], uint32(v.Event))
b += 4
xgb.Put32(buf[b:], uint32(v.Child))
b += 4
xgb.Put16(buf[b:], uint16(v.RootX))
b += 2
xgb.Put16(buf[b:], uint16(v.RootY))
b += 2
xgb.Put16(buf[b:], uint16(v.EventX))
b += 2
xgb.Put16(buf[b:], uint16(v.EventY))
b += 2
xgb.Put16(buf[b:], v.State)
b += 2
buf[b] = v.Mode
b += 1
buf[b] = v.SameScreenFocus
b += 1
return buf
}
func (v EnterNotifyEvent) ImplementsEvent() {}
func (v EnterNotifyEvent) SequenceId() uint16 {
return v.Sequence
}
func (v EnterNotifyEvent) String() string {
fieldVals := make([]string, 0, 12)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Detail: %d", v.Detail))
fieldVals = append(fieldVals, xgb.Sprintf("Time: %d", v.Time))
fieldVals = append(fieldVals, xgb.Sprintf("Root: %d", v.Root))
fieldVals = append(fieldVals, xgb.Sprintf("Event: %d", v.Event))
fieldVals = append(fieldVals, xgb.Sprintf("Child: %d", v.Child))
fieldVals = append(fieldVals, xgb.Sprintf("RootX: %d", v.RootX))
fieldVals = append(fieldVals, xgb.Sprintf("RootY: %d", v.RootY))
fieldVals = append(fieldVals, xgb.Sprintf("EventX: %d", v.EventX))
fieldVals = append(fieldVals, xgb.Sprintf("EventY: %d", v.EventY))
fieldVals = append(fieldVals, xgb.Sprintf("State: %d", v.State))
fieldVals = append(fieldVals, xgb.Sprintf("Mode: %d", v.Mode))
fieldVals = append(fieldVals, xgb.Sprintf("SameScreenFocus: %d", v.SameScreenFocus))
return "EnterNotify {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[7] = EnterNotifyEventNew
}
// Event definition FocusIn (9)
// Size: 32
const FocusIn = 9
type FocusInEvent struct {
Sequence uint16
Detail byte
Event Window
Mode byte
// padding: 3 bytes
}
// Event read FocusIn
func FocusInEventNew(buf []byte) xgb.Event {
v := FocusInEvent{}
b := 1 // don't read event number
v.Detail = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Event = Window(xgb.Get32(buf[b:]))
b += 4
v.Mode = buf[b]
b += 1
b += 3 // padding
return v
}
// Event write FocusIn
func (v FocusInEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 9
b += 1
buf[b] = v.Detail
b += 1
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Event))
b += 4
buf[b] = v.Mode
b += 1
b += 3 // padding
return buf
}
func (v FocusInEvent) ImplementsEvent() {}
func (v FocusInEvent) SequenceId() uint16 {
return v.Sequence
}
func (v FocusInEvent) String() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Detail: %d", v.Detail))
fieldVals = append(fieldVals, xgb.Sprintf("Event: %d", v.Event))
fieldVals = append(fieldVals, xgb.Sprintf("Mode: %d", v.Mode))
return "FocusIn {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[9] = FocusInEventNew
}
// Event definition KeymapNotify (11)
// Size: 32
const KeymapNotify = 11
type KeymapNotifyEvent struct {
Keys []byte // size: 32
}
// Event read KeymapNotify
func KeymapNotifyEventNew(buf []byte) xgb.Event {
v := KeymapNotifyEvent{}
b := 1 // don't read event number
v.Keys = make([]byte, 31)
copy(v.Keys[:31], buf[b:])
b += xgb.Pad(int(31))
return v
}
// Event write KeymapNotify
func (v KeymapNotifyEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 11
b += 1
copy(buf[b:], v.Keys[:31])
b += xgb.Pad(int(31))
return buf
}
func (v KeymapNotifyEvent) ImplementsEvent() {}
func (v KeymapNotifyEvent) SequenceId() uint16 {
return uint16(0)
}
func (v KeymapNotifyEvent) String() string {
fieldVals := make([]string, 0, 1)
return "KeymapNotify {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[11] = KeymapNotifyEventNew
}
// Event definition Expose (12)
// Size: 32
const Expose = 12
type ExposeEvent struct {
Sequence uint16
// padding: 1 bytes
Window Window
X uint16
Y uint16
Width uint16
Height uint16
Count uint16
// padding: 2 bytes
}
// Event read Expose
func ExposeEventNew(buf []byte) xgb.Event {
v := ExposeEvent{}
b := 1 // don't read event number
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Window = Window(xgb.Get32(buf[b:]))
b += 4
v.X = xgb.Get16(buf[b:])
b += 2
v.Y = xgb.Get16(buf[b:])
b += 2
v.Width = xgb.Get16(buf[b:])
b += 2
v.Height = xgb.Get16(buf[b:])
b += 2
v.Count = xgb.Get16(buf[b:])
b += 2
b += 2 // padding
return v
}
// Event write Expose
func (v ExposeEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 12
b += 1
b += 1 // padding
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Window))
b += 4
xgb.Put16(buf[b:], v.X)
b += 2
xgb.Put16(buf[b:], v.Y)
b += 2
xgb.Put16(buf[b:], v.Width)
b += 2
xgb.Put16(buf[b:], v.Height)
b += 2
xgb.Put16(buf[b:], v.Count)
b += 2
b += 2 // padding
return buf
}
func (v ExposeEvent) ImplementsEvent() {}
func (v ExposeEvent) SequenceId() uint16 {
return v.Sequence
}
func (v ExposeEvent) String() string {
fieldVals := make([]string, 0, 8)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Window: %d", v.Window))
fieldVals = append(fieldVals, xgb.Sprintf("X: %d", v.X))
fieldVals = append(fieldVals, xgb.Sprintf("Y: %d", v.Y))
fieldVals = append(fieldVals, xgb.Sprintf("Width: %d", v.Width))
fieldVals = append(fieldVals, xgb.Sprintf("Height: %d", v.Height))
fieldVals = append(fieldVals, xgb.Sprintf("Count: %d", v.Count))
return "Expose {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[12] = ExposeEventNew
}
// Event definition GraphicsExposure (13)
// Size: 32
const GraphicsExposure = 13
type GraphicsExposureEvent struct {
Sequence uint16
// padding: 1 bytes
Drawable Drawable
X uint16
Y uint16
Width uint16
Height uint16
MinorOpcode uint16
Count uint16
MajorOpcode byte
// padding: 3 bytes
}
// Event read GraphicsExposure
func GraphicsExposureEventNew(buf []byte) xgb.Event {
v := GraphicsExposureEvent{}
b := 1 // don't read event number
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Drawable = Drawable(xgb.Get32(buf[b:]))
b += 4
v.X = xgb.Get16(buf[b:])
b += 2
v.Y = xgb.Get16(buf[b:])
b += 2
v.Width = xgb.Get16(buf[b:])
b += 2
v.Height = xgb.Get16(buf[b:])
b += 2
v.MinorOpcode = xgb.Get16(buf[b:])
b += 2
v.Count = xgb.Get16(buf[b:])
b += 2
v.MajorOpcode = buf[b]
b += 1
b += 3 // padding
return v
}
// Event write GraphicsExposure
func (v GraphicsExposureEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 13
b += 1
b += 1 // padding
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Drawable))
b += 4
xgb.Put16(buf[b:], v.X)
b += 2
xgb.Put16(buf[b:], v.Y)
b += 2
xgb.Put16(buf[b:], v.Width)
b += 2
xgb.Put16(buf[b:], v.Height)
b += 2
xgb.Put16(buf[b:], v.MinorOpcode)
b += 2
xgb.Put16(buf[b:], v.Count)
b += 2
buf[b] = v.MajorOpcode
b += 1
b += 3 // padding
return buf
}
func (v GraphicsExposureEvent) ImplementsEvent() {}
func (v GraphicsExposureEvent) SequenceId() uint16 {
return v.Sequence
}
func (v GraphicsExposureEvent) String() string {
fieldVals := make([]string, 0, 10)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Drawable: %d", v.Drawable))
fieldVals = append(fieldVals, xgb.Sprintf("X: %d", v.X))
fieldVals = append(fieldVals, xgb.Sprintf("Y: %d", v.Y))
fieldVals = append(fieldVals, xgb.Sprintf("Width: %d", v.Width))
fieldVals = append(fieldVals, xgb.Sprintf("Height: %d", v.Height))
fieldVals = append(fieldVals, xgb.Sprintf("MinorOpcode: %d", v.MinorOpcode))
fieldVals = append(fieldVals, xgb.Sprintf("Count: %d", v.Count))
fieldVals = append(fieldVals, xgb.Sprintf("MajorOpcode: %d", v.MajorOpcode))
return "GraphicsExposure {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[13] = GraphicsExposureEventNew
}
// Event definition NoExposure (14)
// Size: 32
const NoExposure = 14
type NoExposureEvent struct {
Sequence uint16
// padding: 1 bytes
Drawable Drawable
MinorOpcode uint16
MajorOpcode byte
// padding: 1 bytes
}
// Event read NoExposure
func NoExposureEventNew(buf []byte) xgb.Event {
v := NoExposureEvent{}
b := 1 // don't read event number
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Drawable = Drawable(xgb.Get32(buf[b:]))
b += 4
v.MinorOpcode = xgb.Get16(buf[b:])
b += 2
v.MajorOpcode = buf[b]
b += 1
b += 1 // padding
return v
}
// Event write NoExposure
func (v NoExposureEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 14
b += 1
b += 1 // padding
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Drawable))
b += 4
xgb.Put16(buf[b:], v.MinorOpcode)
b += 2
buf[b] = v.MajorOpcode
b += 1
b += 1 // padding
return buf
}
func (v NoExposureEvent) ImplementsEvent() {}
func (v NoExposureEvent) SequenceId() uint16 {
return v.Sequence
}
func (v NoExposureEvent) String() string {
fieldVals := make([]string, 0, 5)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Drawable: %d", v.Drawable))
fieldVals = append(fieldVals, xgb.Sprintf("MinorOpcode: %d", v.MinorOpcode))
fieldVals = append(fieldVals, xgb.Sprintf("MajorOpcode: %d", v.MajorOpcode))
return "NoExposure {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[14] = NoExposureEventNew
}
// Event definition VisibilityNotify (15)
// Size: 32
const VisibilityNotify = 15
type VisibilityNotifyEvent struct {
Sequence uint16
// padding: 1 bytes
Window Window
State byte
// padding: 3 bytes
}
// Event read VisibilityNotify
func VisibilityNotifyEventNew(buf []byte) xgb.Event {
v := VisibilityNotifyEvent{}
b := 1 // don't read event number
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Window = Window(xgb.Get32(buf[b:]))
b += 4
v.State = buf[b]
b += 1
b += 3 // padding
return v
}
// Event write VisibilityNotify
func (v VisibilityNotifyEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 15
b += 1
b += 1 // padding
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Window))
b += 4
buf[b] = v.State
b += 1
b += 3 // padding
return buf
}
func (v VisibilityNotifyEvent) ImplementsEvent() {}
func (v VisibilityNotifyEvent) SequenceId() uint16 {
return v.Sequence
}
func (v VisibilityNotifyEvent) String() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Window: %d", v.Window))
fieldVals = append(fieldVals, xgb.Sprintf("State: %d", v.State))
return "VisibilityNotify {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[15] = VisibilityNotifyEventNew
}
// Event definition CreateNotify (16)
// Size: 32
const CreateNotify = 16
type CreateNotifyEvent struct {
Sequence uint16
// padding: 1 bytes
Parent Window
Window Window
X int16
Y int16
Width uint16
Height uint16
BorderWidth uint16
OverrideRedirect bool
// padding: 1 bytes
}
// Event read CreateNotify
func CreateNotifyEventNew(buf []byte) xgb.Event {
v := CreateNotifyEvent{}
b := 1 // don't read event number
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Parent = Window(xgb.Get32(buf[b:]))
b += 4
v.Window = Window(xgb.Get32(buf[b:]))
b += 4
v.X = int16(xgb.Get16(buf[b:]))
b += 2
v.Y = int16(xgb.Get16(buf[b:]))
b += 2
v.Width = xgb.Get16(buf[b:])
b += 2
v.Height = xgb.Get16(buf[b:])
b += 2
v.BorderWidth = xgb.Get16(buf[b:])
b += 2
if buf[b] == 1 {
v.OverrideRedirect = true
} else {
v.OverrideRedirect = false
}
b += 1
b += 1 // padding
return v
}
// Event write CreateNotify
func (v CreateNotifyEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 16
b += 1
b += 1 // padding
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Parent))
b += 4
xgb.Put32(buf[b:], uint32(v.Window))
b += 4
xgb.Put16(buf[b:], uint16(v.X))
b += 2
xgb.Put16(buf[b:], uint16(v.Y))
b += 2
xgb.Put16(buf[b:], v.Width)
b += 2
xgb.Put16(buf[b:], v.Height)
b += 2
xgb.Put16(buf[b:], v.BorderWidth)
b += 2
if v.OverrideRedirect {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
b += 1 // padding
return buf
}
func (v CreateNotifyEvent) ImplementsEvent() {}
func (v CreateNotifyEvent) SequenceId() uint16 {
return v.Sequence
}
func (v CreateNotifyEvent) String() string {
fieldVals := make([]string, 0, 10)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Parent: %d", v.Parent))
fieldVals = append(fieldVals, xgb.Sprintf("Window: %d", v.Window))
fieldVals = append(fieldVals, xgb.Sprintf("X: %d", v.X))
fieldVals = append(fieldVals, xgb.Sprintf("Y: %d", v.Y))
fieldVals = append(fieldVals, xgb.Sprintf("Width: %d", v.Width))
fieldVals = append(fieldVals, xgb.Sprintf("Height: %d", v.Height))
fieldVals = append(fieldVals, xgb.Sprintf("BorderWidth: %d", v.BorderWidth))
fieldVals = append(fieldVals, xgb.Sprintf("OverrideRedirect: %t", v.OverrideRedirect))
return "CreateNotify {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[16] = CreateNotifyEventNew
}
// Event definition DestroyNotify (17)
// Size: 32
const DestroyNotify = 17
type DestroyNotifyEvent struct {
Sequence uint16
// padding: 1 bytes
Event Window
Window Window
}
// Event read DestroyNotify
func DestroyNotifyEventNew(buf []byte) xgb.Event {
v := DestroyNotifyEvent{}
b := 1 // don't read event number
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Event = Window(xgb.Get32(buf[b:]))
b += 4
v.Window = Window(xgb.Get32(buf[b:]))
b += 4
return v
}
// Event write DestroyNotify
func (v DestroyNotifyEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 17
b += 1
b += 1 // padding
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Event))
b += 4
xgb.Put32(buf[b:], uint32(v.Window))
b += 4
return buf
}
func (v DestroyNotifyEvent) ImplementsEvent() {}
func (v DestroyNotifyEvent) SequenceId() uint16 {
return v.Sequence
}
func (v DestroyNotifyEvent) String() string {
fieldVals := make([]string, 0, 3)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Event: %d", v.Event))
fieldVals = append(fieldVals, xgb.Sprintf("Window: %d", v.Window))
return "DestroyNotify {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[17] = DestroyNotifyEventNew
}
// Event definition UnmapNotify (18)
// Size: 32
const UnmapNotify = 18
type UnmapNotifyEvent struct {
Sequence uint16
// padding: 1 bytes
Event Window
Window Window
FromConfigure bool
// padding: 3 bytes
}
// Event read UnmapNotify
func UnmapNotifyEventNew(buf []byte) xgb.Event {
v := UnmapNotifyEvent{}
b := 1 // don't read event number
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Event = Window(xgb.Get32(buf[b:]))
b += 4
v.Window = Window(xgb.Get32(buf[b:]))
b += 4
if buf[b] == 1 {
v.FromConfigure = true
} else {
v.FromConfigure = false
}
b += 1
b += 3 // padding
return v
}
// Event write UnmapNotify
func (v UnmapNotifyEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 18
b += 1
b += 1 // padding
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Event))
b += 4
xgb.Put32(buf[b:], uint32(v.Window))
b += 4
if v.FromConfigure {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
b += 3 // padding
return buf
}
func (v UnmapNotifyEvent) ImplementsEvent() {}
func (v UnmapNotifyEvent) SequenceId() uint16 {
return v.Sequence
}
func (v UnmapNotifyEvent) String() string {
fieldVals := make([]string, 0, 5)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Event: %d", v.Event))
fieldVals = append(fieldVals, xgb.Sprintf("Window: %d", v.Window))
fieldVals = append(fieldVals, xgb.Sprintf("FromConfigure: %t", v.FromConfigure))
return "UnmapNotify {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[18] = UnmapNotifyEventNew
}
// Event definition MapNotify (19)
// Size: 32
const MapNotify = 19
type MapNotifyEvent struct {
Sequence uint16
// padding: 1 bytes
Event Window
Window Window
OverrideRedirect bool
// padding: 3 bytes
}
// Event read MapNotify
func MapNotifyEventNew(buf []byte) xgb.Event {
v := MapNotifyEvent{}
b := 1 // don't read event number
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Event = Window(xgb.Get32(buf[b:]))
b += 4
v.Window = Window(xgb.Get32(buf[b:]))
b += 4
if buf[b] == 1 {
v.OverrideRedirect = true
} else {
v.OverrideRedirect = false
}
b += 1
b += 3 // padding
return v
}
// Event write MapNotify
func (v MapNotifyEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 19
b += 1
b += 1 // padding
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Event))
b += 4
xgb.Put32(buf[b:], uint32(v.Window))
b += 4
if v.OverrideRedirect {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
b += 3 // padding
return buf
}
func (v MapNotifyEvent) ImplementsEvent() {}
func (v MapNotifyEvent) SequenceId() uint16 {
return v.Sequence
}
func (v MapNotifyEvent) String() string {
fieldVals := make([]string, 0, 5)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Event: %d", v.Event))
fieldVals = append(fieldVals, xgb.Sprintf("Window: %d", v.Window))
fieldVals = append(fieldVals, xgb.Sprintf("OverrideRedirect: %t", v.OverrideRedirect))
return "MapNotify {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[19] = MapNotifyEventNew
}
// Event definition MapRequest (20)
// Size: 32
const MapRequest = 20
type MapRequestEvent struct {
Sequence uint16
// padding: 1 bytes
Parent Window
Window Window
}
// Event read MapRequest
func MapRequestEventNew(buf []byte) xgb.Event {
v := MapRequestEvent{}
b := 1 // don't read event number
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Parent = Window(xgb.Get32(buf[b:]))
b += 4
v.Window = Window(xgb.Get32(buf[b:]))
b += 4
return v
}
// Event write MapRequest
func (v MapRequestEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 20
b += 1
b += 1 // padding
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Parent))
b += 4
xgb.Put32(buf[b:], uint32(v.Window))
b += 4
return buf
}
func (v MapRequestEvent) ImplementsEvent() {}
func (v MapRequestEvent) SequenceId() uint16 {
return v.Sequence
}
func (v MapRequestEvent) String() string {
fieldVals := make([]string, 0, 3)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Parent: %d", v.Parent))
fieldVals = append(fieldVals, xgb.Sprintf("Window: %d", v.Window))
return "MapRequest {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[20] = MapRequestEventNew
}
// Event definition ReparentNotify (21)
// Size: 32
const ReparentNotify = 21
type ReparentNotifyEvent struct {
Sequence uint16
// padding: 1 bytes
Event Window
Window Window
Parent Window
X int16
Y int16
OverrideRedirect bool
// padding: 3 bytes
}
// Event read ReparentNotify
func ReparentNotifyEventNew(buf []byte) xgb.Event {
v := ReparentNotifyEvent{}
b := 1 // don't read event number
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Event = Window(xgb.Get32(buf[b:]))
b += 4
v.Window = Window(xgb.Get32(buf[b:]))
b += 4
v.Parent = Window(xgb.Get32(buf[b:]))
b += 4
v.X = int16(xgb.Get16(buf[b:]))
b += 2
v.Y = int16(xgb.Get16(buf[b:]))
b += 2
if buf[b] == 1 {
v.OverrideRedirect = true
} else {
v.OverrideRedirect = false
}
b += 1
b += 3 // padding
return v
}
// Event write ReparentNotify
func (v ReparentNotifyEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 21
b += 1
b += 1 // padding
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Event))
b += 4
xgb.Put32(buf[b:], uint32(v.Window))
b += 4
xgb.Put32(buf[b:], uint32(v.Parent))
b += 4
xgb.Put16(buf[b:], uint16(v.X))
b += 2
xgb.Put16(buf[b:], uint16(v.Y))
b += 2
if v.OverrideRedirect {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
b += 3 // padding
return buf
}
func (v ReparentNotifyEvent) ImplementsEvent() {}
func (v ReparentNotifyEvent) SequenceId() uint16 {
return v.Sequence
}
func (v ReparentNotifyEvent) String() string {
fieldVals := make([]string, 0, 8)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Event: %d", v.Event))
fieldVals = append(fieldVals, xgb.Sprintf("Window: %d", v.Window))
fieldVals = append(fieldVals, xgb.Sprintf("Parent: %d", v.Parent))
fieldVals = append(fieldVals, xgb.Sprintf("X: %d", v.X))
fieldVals = append(fieldVals, xgb.Sprintf("Y: %d", v.Y))
fieldVals = append(fieldVals, xgb.Sprintf("OverrideRedirect: %t", v.OverrideRedirect))
return "ReparentNotify {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[21] = ReparentNotifyEventNew
}
// Event definition ConfigureNotify (22)
// Size: 32
const ConfigureNotify = 22
type ConfigureNotifyEvent struct {
Sequence uint16
// padding: 1 bytes
Event Window
Window Window
AboveSibling Window
X int16
Y int16
Width uint16
Height uint16
BorderWidth uint16
OverrideRedirect bool
// padding: 1 bytes
}
// Event read ConfigureNotify
func ConfigureNotifyEventNew(buf []byte) xgb.Event {
v := ConfigureNotifyEvent{}
b := 1 // don't read event number
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Event = Window(xgb.Get32(buf[b:]))
b += 4
v.Window = Window(xgb.Get32(buf[b:]))
b += 4
v.AboveSibling = Window(xgb.Get32(buf[b:]))
b += 4
v.X = int16(xgb.Get16(buf[b:]))
b += 2
v.Y = int16(xgb.Get16(buf[b:]))
b += 2
v.Width = xgb.Get16(buf[b:])
b += 2
v.Height = xgb.Get16(buf[b:])
b += 2
v.BorderWidth = xgb.Get16(buf[b:])
b += 2
if buf[b] == 1 {
v.OverrideRedirect = true
} else {
v.OverrideRedirect = false
}
b += 1
b += 1 // padding
return v
}
// Event write ConfigureNotify
func (v ConfigureNotifyEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 22
b += 1
b += 1 // padding
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Event))
b += 4
xgb.Put32(buf[b:], uint32(v.Window))
b += 4
xgb.Put32(buf[b:], uint32(v.AboveSibling))
b += 4
xgb.Put16(buf[b:], uint16(v.X))
b += 2
xgb.Put16(buf[b:], uint16(v.Y))
b += 2
xgb.Put16(buf[b:], v.Width)
b += 2
xgb.Put16(buf[b:], v.Height)
b += 2
xgb.Put16(buf[b:], v.BorderWidth)
b += 2
if v.OverrideRedirect {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
b += 1 // padding
return buf
}
func (v ConfigureNotifyEvent) ImplementsEvent() {}
func (v ConfigureNotifyEvent) SequenceId() uint16 {
return v.Sequence
}
func (v ConfigureNotifyEvent) String() string {
fieldVals := make([]string, 0, 11)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Event: %d", v.Event))
fieldVals = append(fieldVals, xgb.Sprintf("Window: %d", v.Window))
fieldVals = append(fieldVals, xgb.Sprintf("AboveSibling: %d", v.AboveSibling))
fieldVals = append(fieldVals, xgb.Sprintf("X: %d", v.X))
fieldVals = append(fieldVals, xgb.Sprintf("Y: %d", v.Y))
fieldVals = append(fieldVals, xgb.Sprintf("Width: %d", v.Width))
fieldVals = append(fieldVals, xgb.Sprintf("Height: %d", v.Height))
fieldVals = append(fieldVals, xgb.Sprintf("BorderWidth: %d", v.BorderWidth))
fieldVals = append(fieldVals, xgb.Sprintf("OverrideRedirect: %t", v.OverrideRedirect))
return "ConfigureNotify {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[22] = ConfigureNotifyEventNew
}
// Event definition ConfigureRequest (23)
// Size: 32
const ConfigureRequest = 23
type ConfigureRequestEvent struct {
Sequence uint16
StackMode byte
Parent Window
Window Window
Sibling Window
X int16
Y int16
Width uint16
Height uint16
BorderWidth uint16
ValueMask uint16
}
// Event read ConfigureRequest
func ConfigureRequestEventNew(buf []byte) xgb.Event {
v := ConfigureRequestEvent{}
b := 1 // don't read event number
v.StackMode = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Parent = Window(xgb.Get32(buf[b:]))
b += 4
v.Window = Window(xgb.Get32(buf[b:]))
b += 4
v.Sibling = Window(xgb.Get32(buf[b:]))
b += 4
v.X = int16(xgb.Get16(buf[b:]))
b += 2
v.Y = int16(xgb.Get16(buf[b:]))
b += 2
v.Width = xgb.Get16(buf[b:])
b += 2
v.Height = xgb.Get16(buf[b:])
b += 2
v.BorderWidth = xgb.Get16(buf[b:])
b += 2
v.ValueMask = xgb.Get16(buf[b:])
b += 2
return v
}
// Event write ConfigureRequest
func (v ConfigureRequestEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 23
b += 1
buf[b] = v.StackMode
b += 1
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Parent))
b += 4
xgb.Put32(buf[b:], uint32(v.Window))
b += 4
xgb.Put32(buf[b:], uint32(v.Sibling))
b += 4
xgb.Put16(buf[b:], uint16(v.X))
b += 2
xgb.Put16(buf[b:], uint16(v.Y))
b += 2
xgb.Put16(buf[b:], v.Width)
b += 2
xgb.Put16(buf[b:], v.Height)
b += 2
xgb.Put16(buf[b:], v.BorderWidth)
b += 2
xgb.Put16(buf[b:], v.ValueMask)
b += 2
return buf
}
func (v ConfigureRequestEvent) ImplementsEvent() {}
func (v ConfigureRequestEvent) SequenceId() uint16 {
return v.Sequence
}
func (v ConfigureRequestEvent) String() string {
fieldVals := make([]string, 0, 10)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("StackMode: %d", v.StackMode))
fieldVals = append(fieldVals, xgb.Sprintf("Parent: %d", v.Parent))
fieldVals = append(fieldVals, xgb.Sprintf("Window: %d", v.Window))
fieldVals = append(fieldVals, xgb.Sprintf("Sibling: %d", v.Sibling))
fieldVals = append(fieldVals, xgb.Sprintf("X: %d", v.X))
fieldVals = append(fieldVals, xgb.Sprintf("Y: %d", v.Y))
fieldVals = append(fieldVals, xgb.Sprintf("Width: %d", v.Width))
fieldVals = append(fieldVals, xgb.Sprintf("Height: %d", v.Height))
fieldVals = append(fieldVals, xgb.Sprintf("BorderWidth: %d", v.BorderWidth))
fieldVals = append(fieldVals, xgb.Sprintf("ValueMask: %d", v.ValueMask))
return "ConfigureRequest {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[23] = ConfigureRequestEventNew
}
// Event definition GravityNotify (24)
// Size: 32
const GravityNotify = 24
type GravityNotifyEvent struct {
Sequence uint16
// padding: 1 bytes
Event Window
Window Window
X int16
Y int16
}
// Event read GravityNotify
func GravityNotifyEventNew(buf []byte) xgb.Event {
v := GravityNotifyEvent{}
b := 1 // don't read event number
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Event = Window(xgb.Get32(buf[b:]))
b += 4
v.Window = Window(xgb.Get32(buf[b:]))
b += 4
v.X = int16(xgb.Get16(buf[b:]))
b += 2
v.Y = int16(xgb.Get16(buf[b:]))
b += 2
return v
}
// Event write GravityNotify
func (v GravityNotifyEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 24
b += 1
b += 1 // padding
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Event))
b += 4
xgb.Put32(buf[b:], uint32(v.Window))
b += 4
xgb.Put16(buf[b:], uint16(v.X))
b += 2
xgb.Put16(buf[b:], uint16(v.Y))
b += 2
return buf
}
func (v GravityNotifyEvent) ImplementsEvent() {}
func (v GravityNotifyEvent) SequenceId() uint16 {
return v.Sequence
}
func (v GravityNotifyEvent) String() string {
fieldVals := make([]string, 0, 5)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Event: %d", v.Event))
fieldVals = append(fieldVals, xgb.Sprintf("Window: %d", v.Window))
fieldVals = append(fieldVals, xgb.Sprintf("X: %d", v.X))
fieldVals = append(fieldVals, xgb.Sprintf("Y: %d", v.Y))
return "GravityNotify {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[24] = GravityNotifyEventNew
}
// Event definition ResizeRequest (25)
// Size: 32
const ResizeRequest = 25
type ResizeRequestEvent struct {
Sequence uint16
// padding: 1 bytes
Window Window
Width uint16
Height uint16
}
// Event read ResizeRequest
func ResizeRequestEventNew(buf []byte) xgb.Event {
v := ResizeRequestEvent{}
b := 1 // don't read event number
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Window = Window(xgb.Get32(buf[b:]))
b += 4
v.Width = xgb.Get16(buf[b:])
b += 2
v.Height = xgb.Get16(buf[b:])
b += 2
return v
}
// Event write ResizeRequest
func (v ResizeRequestEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 25
b += 1
b += 1 // padding
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Window))
b += 4
xgb.Put16(buf[b:], v.Width)
b += 2
xgb.Put16(buf[b:], v.Height)
b += 2
return buf
}
func (v ResizeRequestEvent) ImplementsEvent() {}
func (v ResizeRequestEvent) SequenceId() uint16 {
return v.Sequence
}
func (v ResizeRequestEvent) String() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Window: %d", v.Window))
fieldVals = append(fieldVals, xgb.Sprintf("Width: %d", v.Width))
fieldVals = append(fieldVals, xgb.Sprintf("Height: %d", v.Height))
return "ResizeRequest {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[25] = ResizeRequestEventNew
}
// Event definition CirculateNotify (26)
// Size: 32
const CirculateNotify = 26
type CirculateNotifyEvent struct {
Sequence uint16
// padding: 1 bytes
Event Window
Window Window
// padding: 4 bytes
Place byte
// padding: 3 bytes
}
// Event read CirculateNotify
func CirculateNotifyEventNew(buf []byte) xgb.Event {
v := CirculateNotifyEvent{}
b := 1 // don't read event number
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Event = Window(xgb.Get32(buf[b:]))
b += 4
v.Window = Window(xgb.Get32(buf[b:]))
b += 4
b += 4 // padding
v.Place = buf[b]
b += 1
b += 3 // padding
return v
}
// Event write CirculateNotify
func (v CirculateNotifyEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 26
b += 1
b += 1 // padding
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Event))
b += 4
xgb.Put32(buf[b:], uint32(v.Window))
b += 4
b += 4 // padding
buf[b] = v.Place
b += 1
b += 3 // padding
return buf
}
func (v CirculateNotifyEvent) ImplementsEvent() {}
func (v CirculateNotifyEvent) SequenceId() uint16 {
return v.Sequence
}
func (v CirculateNotifyEvent) String() string {
fieldVals := make([]string, 0, 6)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Event: %d", v.Event))
fieldVals = append(fieldVals, xgb.Sprintf("Window: %d", v.Window))
fieldVals = append(fieldVals, xgb.Sprintf("Place: %d", v.Place))
return "CirculateNotify {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[26] = CirculateNotifyEventNew
}
// Event definition PropertyNotify (28)
// Size: 32
const PropertyNotify = 28
type PropertyNotifyEvent struct {
Sequence uint16
// padding: 1 bytes
Window Window
Atom Atom
Time Timestamp
State byte
// padding: 3 bytes
}
// Event read PropertyNotify
func PropertyNotifyEventNew(buf []byte) xgb.Event {
v := PropertyNotifyEvent{}
b := 1 // don't read event number
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Window = Window(xgb.Get32(buf[b:]))
b += 4
v.Atom = Atom(xgb.Get32(buf[b:]))
b += 4
v.Time = Timestamp(xgb.Get32(buf[b:]))
b += 4
v.State = buf[b]
b += 1
b += 3 // padding
return v
}
// Event write PropertyNotify
func (v PropertyNotifyEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 28
b += 1
b += 1 // padding
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Window))
b += 4
xgb.Put32(buf[b:], uint32(v.Atom))
b += 4
xgb.Put32(buf[b:], uint32(v.Time))
b += 4
buf[b] = v.State
b += 1
b += 3 // padding
return buf
}
func (v PropertyNotifyEvent) ImplementsEvent() {}
func (v PropertyNotifyEvent) SequenceId() uint16 {
return v.Sequence
}
func (v PropertyNotifyEvent) String() string {
fieldVals := make([]string, 0, 6)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Window: %d", v.Window))
fieldVals = append(fieldVals, xgb.Sprintf("Atom: %d", v.Atom))
fieldVals = append(fieldVals, xgb.Sprintf("Time: %d", v.Time))
fieldVals = append(fieldVals, xgb.Sprintf("State: %d", v.State))
return "PropertyNotify {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[28] = PropertyNotifyEventNew
}
// Event definition SelectionClear (29)
// Size: 32
const SelectionClear = 29
type SelectionClearEvent struct {
Sequence uint16
// padding: 1 bytes
Time Timestamp
Owner Window
Selection Atom
}
// Event read SelectionClear
func SelectionClearEventNew(buf []byte) xgb.Event {
v := SelectionClearEvent{}
b := 1 // don't read event number
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Time = Timestamp(xgb.Get32(buf[b:]))
b += 4
v.Owner = Window(xgb.Get32(buf[b:]))
b += 4
v.Selection = Atom(xgb.Get32(buf[b:]))
b += 4
return v
}
// Event write SelectionClear
func (v SelectionClearEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 29
b += 1
b += 1 // padding
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Time))
b += 4
xgb.Put32(buf[b:], uint32(v.Owner))
b += 4
xgb.Put32(buf[b:], uint32(v.Selection))
b += 4
return buf
}
func (v SelectionClearEvent) ImplementsEvent() {}
func (v SelectionClearEvent) SequenceId() uint16 {
return v.Sequence
}
func (v SelectionClearEvent) String() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Time: %d", v.Time))
fieldVals = append(fieldVals, xgb.Sprintf("Owner: %d", v.Owner))
fieldVals = append(fieldVals, xgb.Sprintf("Selection: %d", v.Selection))
return "SelectionClear {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[29] = SelectionClearEventNew
}
// Event definition SelectionRequest (30)
// Size: 32
const SelectionRequest = 30
type SelectionRequestEvent struct {
Sequence uint16
// padding: 1 bytes
Time Timestamp
Owner Window
Requestor Window
Selection Atom
Target Atom
Property Atom
}
// Event read SelectionRequest
func SelectionRequestEventNew(buf []byte) xgb.Event {
v := SelectionRequestEvent{}
b := 1 // don't read event number
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Time = Timestamp(xgb.Get32(buf[b:]))
b += 4
v.Owner = Window(xgb.Get32(buf[b:]))
b += 4
v.Requestor = Window(xgb.Get32(buf[b:]))
b += 4
v.Selection = Atom(xgb.Get32(buf[b:]))
b += 4
v.Target = Atom(xgb.Get32(buf[b:]))
b += 4
v.Property = Atom(xgb.Get32(buf[b:]))
b += 4
return v
}
// Event write SelectionRequest
func (v SelectionRequestEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 30
b += 1
b += 1 // padding
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Time))
b += 4
xgb.Put32(buf[b:], uint32(v.Owner))
b += 4
xgb.Put32(buf[b:], uint32(v.Requestor))
b += 4
xgb.Put32(buf[b:], uint32(v.Selection))
b += 4
xgb.Put32(buf[b:], uint32(v.Target))
b += 4
xgb.Put32(buf[b:], uint32(v.Property))
b += 4
return buf
}
func (v SelectionRequestEvent) ImplementsEvent() {}
func (v SelectionRequestEvent) SequenceId() uint16 {
return v.Sequence
}
func (v SelectionRequestEvent) String() string {
fieldVals := make([]string, 0, 7)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Time: %d", v.Time))
fieldVals = append(fieldVals, xgb.Sprintf("Owner: %d", v.Owner))
fieldVals = append(fieldVals, xgb.Sprintf("Requestor: %d", v.Requestor))
fieldVals = append(fieldVals, xgb.Sprintf("Selection: %d", v.Selection))
fieldVals = append(fieldVals, xgb.Sprintf("Target: %d", v.Target))
fieldVals = append(fieldVals, xgb.Sprintf("Property: %d", v.Property))
return "SelectionRequest {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[30] = SelectionRequestEventNew
}
// Event definition SelectionNotify (31)
// Size: 32
const SelectionNotify = 31
type SelectionNotifyEvent struct {
Sequence uint16
// padding: 1 bytes
Time Timestamp
Requestor Window
Selection Atom
Target Atom
Property Atom
}
// Event read SelectionNotify
func SelectionNotifyEventNew(buf []byte) xgb.Event {
v := SelectionNotifyEvent{}
b := 1 // don't read event number
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Time = Timestamp(xgb.Get32(buf[b:]))
b += 4
v.Requestor = Window(xgb.Get32(buf[b:]))
b += 4
v.Selection = Atom(xgb.Get32(buf[b:]))
b += 4
v.Target = Atom(xgb.Get32(buf[b:]))
b += 4
v.Property = Atom(xgb.Get32(buf[b:]))
b += 4
return v
}
// Event write SelectionNotify
func (v SelectionNotifyEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 31
b += 1
b += 1 // padding
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Time))
b += 4
xgb.Put32(buf[b:], uint32(v.Requestor))
b += 4
xgb.Put32(buf[b:], uint32(v.Selection))
b += 4
xgb.Put32(buf[b:], uint32(v.Target))
b += 4
xgb.Put32(buf[b:], uint32(v.Property))
b += 4
return buf
}
func (v SelectionNotifyEvent) ImplementsEvent() {}
func (v SelectionNotifyEvent) SequenceId() uint16 {
return v.Sequence
}
func (v SelectionNotifyEvent) String() string {
fieldVals := make([]string, 0, 6)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Time: %d", v.Time))
fieldVals = append(fieldVals, xgb.Sprintf("Requestor: %d", v.Requestor))
fieldVals = append(fieldVals, xgb.Sprintf("Selection: %d", v.Selection))
fieldVals = append(fieldVals, xgb.Sprintf("Target: %d", v.Target))
fieldVals = append(fieldVals, xgb.Sprintf("Property: %d", v.Property))
return "SelectionNotify {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[31] = SelectionNotifyEventNew
}
// Event definition ColormapNotify (32)
// Size: 32
const ColormapNotify = 32
type ColormapNotifyEvent struct {
Sequence uint16
// padding: 1 bytes
Window Window
Colormap Colormap
New bool
State byte
// padding: 2 bytes
}
// Event read ColormapNotify
func ColormapNotifyEventNew(buf []byte) xgb.Event {
v := ColormapNotifyEvent{}
b := 1 // don't read event number
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Window = Window(xgb.Get32(buf[b:]))
b += 4
v.Colormap = Colormap(xgb.Get32(buf[b:]))
b += 4
if buf[b] == 1 {
v.New = true
} else {
v.New = false
}
b += 1
v.State = buf[b]
b += 1
b += 2 // padding
return v
}
// Event write ColormapNotify
func (v ColormapNotifyEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 32
b += 1
b += 1 // padding
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Window))
b += 4
xgb.Put32(buf[b:], uint32(v.Colormap))
b += 4
if v.New {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
buf[b] = v.State
b += 1
b += 2 // padding
return buf
}
func (v ColormapNotifyEvent) ImplementsEvent() {}
func (v ColormapNotifyEvent) SequenceId() uint16 {
return v.Sequence
}
func (v ColormapNotifyEvent) String() string {
fieldVals := make([]string, 0, 6)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Window: %d", v.Window))
fieldVals = append(fieldVals, xgb.Sprintf("Colormap: %d", v.Colormap))
fieldVals = append(fieldVals, xgb.Sprintf("New: %t", v.New))
fieldVals = append(fieldVals, xgb.Sprintf("State: %d", v.State))
return "ColormapNotify {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[32] = ColormapNotifyEventNew
}
// Event definition ClientMessage (33)
// Size: 32
const ClientMessage = 33
type ClientMessageEvent struct {
Sequence uint16
Format byte
Window Window
Type Atom
Data ClientMessageDataUnion
}
// Event read ClientMessage
func ClientMessageEventNew(buf []byte) xgb.Event {
v := ClientMessageEvent{}
b := 1 // don't read event number
v.Format = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Window = Window(xgb.Get32(buf[b:]))
b += 4
v.Type = Atom(xgb.Get32(buf[b:]))
b += 4
v.Data = ClientMessageDataUnion{}
b += ClientMessageDataUnionRead(buf[b:], &v.Data)
return v
}
// Event write ClientMessage
func (v ClientMessageEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 33
b += 1
buf[b] = v.Format
b += 1
b += 2 // skip sequence number
xgb.Put32(buf[b:], uint32(v.Window))
b += 4
xgb.Put32(buf[b:], uint32(v.Type))
b += 4
{
unionBytes := v.Data.Bytes()
copy(buf[b:], unionBytes)
b += xgb.Pad(len(unionBytes))
}
return buf
}
func (v ClientMessageEvent) ImplementsEvent() {}
func (v ClientMessageEvent) SequenceId() uint16 {
return v.Sequence
}
func (v ClientMessageEvent) String() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Format: %d", v.Format))
fieldVals = append(fieldVals, xgb.Sprintf("Window: %d", v.Window))
fieldVals = append(fieldVals, xgb.Sprintf("Type: %d", v.Type))
return "ClientMessage {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[33] = ClientMessageEventNew
}
// Event definition MappingNotify (34)
// Size: 32
const MappingNotify = 34
type MappingNotifyEvent struct {
Sequence uint16
// padding: 1 bytes
Request byte
FirstKeycode Keycode
Count byte
// padding: 1 bytes
}
// Event read MappingNotify
func MappingNotifyEventNew(buf []byte) xgb.Event {
v := MappingNotifyEvent{}
b := 1 // don't read event number
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Request = buf[b]
b += 1
v.FirstKeycode = Keycode(buf[b])
b += 1
v.Count = buf[b]
b += 1
b += 1 // padding
return v
}
// Event write MappingNotify
func (v MappingNotifyEvent) Bytes() []byte {
buf := make([]byte, 32)
b := 0
// write event number
buf[b] = 34
b += 1
b += 1 // padding
b += 2 // skip sequence number
buf[b] = v.Request
b += 1
buf[b] = byte(v.FirstKeycode)
b += 1
buf[b] = v.Count
b += 1
b += 1 // padding
return buf
}
func (v MappingNotifyEvent) ImplementsEvent() {}
func (v MappingNotifyEvent) SequenceId() uint16 {
return v.Sequence
}
func (v MappingNotifyEvent) String() string {
fieldVals := make([]string, 0, 5)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Request: %d", v.Request))
fieldVals = append(fieldVals, xgb.Sprintf("FirstKeycode: %d", v.FirstKeycode))
fieldVals = append(fieldVals, xgb.Sprintf("Count: %d", v.Count))
return "MappingNotify {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[34] = MappingNotifyEventNew
}
// EventCopy definition KeyRelease (3)
const KeyRelease = 3
type KeyReleaseEvent KeyPressEvent
func KeyReleaseEventNew(buf []byte) xgb.Event {
return KeyReleaseEvent(KeyPressEventNew(buf).(KeyPressEvent))
}
func (v KeyReleaseEvent) Bytes() []byte {
return KeyPressEvent(v).Bytes()
}
func (v KeyReleaseEvent) ImplementsEvent() {}
func (v KeyReleaseEvent) SequenceId() uint16 {
return v.Sequence
}
func (v KeyReleaseEvent) String() string {
fieldVals := make([]string, 0, 12)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Detail: %d", v.Detail))
fieldVals = append(fieldVals, xgb.Sprintf("Time: %d", v.Time))
fieldVals = append(fieldVals, xgb.Sprintf("Root: %d", v.Root))
fieldVals = append(fieldVals, xgb.Sprintf("Event: %d", v.Event))
fieldVals = append(fieldVals, xgb.Sprintf("Child: %d", v.Child))
fieldVals = append(fieldVals, xgb.Sprintf("RootX: %d", v.RootX))
fieldVals = append(fieldVals, xgb.Sprintf("RootY: %d", v.RootY))
fieldVals = append(fieldVals, xgb.Sprintf("EventX: %d", v.EventX))
fieldVals = append(fieldVals, xgb.Sprintf("EventY: %d", v.EventY))
fieldVals = append(fieldVals, xgb.Sprintf("State: %d", v.State))
fieldVals = append(fieldVals, xgb.Sprintf("SameScreen: %t", v.SameScreen))
return "KeyRelease {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[3] = KeyReleaseEventNew
}
// EventCopy definition ButtonRelease (5)
const ButtonRelease = 5
type ButtonReleaseEvent ButtonPressEvent
func ButtonReleaseEventNew(buf []byte) xgb.Event {
return ButtonReleaseEvent(ButtonPressEventNew(buf).(ButtonPressEvent))
}
func (v ButtonReleaseEvent) Bytes() []byte {
return ButtonPressEvent(v).Bytes()
}
func (v ButtonReleaseEvent) ImplementsEvent() {}
func (v ButtonReleaseEvent) SequenceId() uint16 {
return v.Sequence
}
func (v ButtonReleaseEvent) String() string {
fieldVals := make([]string, 0, 12)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Detail: %d", v.Detail))
fieldVals = append(fieldVals, xgb.Sprintf("Time: %d", v.Time))
fieldVals = append(fieldVals, xgb.Sprintf("Root: %d", v.Root))
fieldVals = append(fieldVals, xgb.Sprintf("Event: %d", v.Event))
fieldVals = append(fieldVals, xgb.Sprintf("Child: %d", v.Child))
fieldVals = append(fieldVals, xgb.Sprintf("RootX: %d", v.RootX))
fieldVals = append(fieldVals, xgb.Sprintf("RootY: %d", v.RootY))
fieldVals = append(fieldVals, xgb.Sprintf("EventX: %d", v.EventX))
fieldVals = append(fieldVals, xgb.Sprintf("EventY: %d", v.EventY))
fieldVals = append(fieldVals, xgb.Sprintf("State: %d", v.State))
fieldVals = append(fieldVals, xgb.Sprintf("SameScreen: %t", v.SameScreen))
return "ButtonRelease {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[5] = ButtonReleaseEventNew
}
// EventCopy definition LeaveNotify (8)
const LeaveNotify = 8
type LeaveNotifyEvent EnterNotifyEvent
func LeaveNotifyEventNew(buf []byte) xgb.Event {
return LeaveNotifyEvent(EnterNotifyEventNew(buf).(EnterNotifyEvent))
}
func (v LeaveNotifyEvent) Bytes() []byte {
return EnterNotifyEvent(v).Bytes()
}
func (v LeaveNotifyEvent) ImplementsEvent() {}
func (v LeaveNotifyEvent) SequenceId() uint16 {
return v.Sequence
}
func (v LeaveNotifyEvent) String() string {
fieldVals := make([]string, 0, 12)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Detail: %d", v.Detail))
fieldVals = append(fieldVals, xgb.Sprintf("Time: %d", v.Time))
fieldVals = append(fieldVals, xgb.Sprintf("Root: %d", v.Root))
fieldVals = append(fieldVals, xgb.Sprintf("Event: %d", v.Event))
fieldVals = append(fieldVals, xgb.Sprintf("Child: %d", v.Child))
fieldVals = append(fieldVals, xgb.Sprintf("RootX: %d", v.RootX))
fieldVals = append(fieldVals, xgb.Sprintf("RootY: %d", v.RootY))
fieldVals = append(fieldVals, xgb.Sprintf("EventX: %d", v.EventX))
fieldVals = append(fieldVals, xgb.Sprintf("EventY: %d", v.EventY))
fieldVals = append(fieldVals, xgb.Sprintf("State: %d", v.State))
fieldVals = append(fieldVals, xgb.Sprintf("Mode: %d", v.Mode))
fieldVals = append(fieldVals, xgb.Sprintf("SameScreenFocus: %d", v.SameScreenFocus))
return "LeaveNotify {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[8] = LeaveNotifyEventNew
}
// EventCopy definition FocusOut (10)
const FocusOut = 10
type FocusOutEvent FocusInEvent
func FocusOutEventNew(buf []byte) xgb.Event {
return FocusOutEvent(FocusInEventNew(buf).(FocusInEvent))
}
func (v FocusOutEvent) Bytes() []byte {
return FocusInEvent(v).Bytes()
}
func (v FocusOutEvent) ImplementsEvent() {}
func (v FocusOutEvent) SequenceId() uint16 {
return v.Sequence
}
func (v FocusOutEvent) String() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Detail: %d", v.Detail))
fieldVals = append(fieldVals, xgb.Sprintf("Event: %d", v.Event))
fieldVals = append(fieldVals, xgb.Sprintf("Mode: %d", v.Mode))
return "FocusOut {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[10] = FocusOutEventNew
}
// EventCopy definition CirculateRequest (27)
const CirculateRequest = 27
type CirculateRequestEvent CirculateNotifyEvent
func CirculateRequestEventNew(buf []byte) xgb.Event {
return CirculateRequestEvent(CirculateNotifyEventNew(buf).(CirculateNotifyEvent))
}
func (v CirculateRequestEvent) Bytes() []byte {
return CirculateNotifyEvent(v).Bytes()
}
func (v CirculateRequestEvent) ImplementsEvent() {}
func (v CirculateRequestEvent) SequenceId() uint16 {
return v.Sequence
}
func (v CirculateRequestEvent) String() string {
fieldVals := make([]string, 0, 6)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", v.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("Event: %d", v.Event))
fieldVals = append(fieldVals, xgb.Sprintf("Window: %d", v.Window))
fieldVals = append(fieldVals, xgb.Sprintf("Place: %d", v.Place))
return "CirculateRequest {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewEventFuncs[27] = CirculateRequestEventNew
}
// Error definition Request (1)
// Size: 32
const BadRequest = 1
type RequestError struct {
Sequence uint16
NiceName string
BadValue uint32
MinorOpcode uint16
MajorOpcode byte
// padding: 1 bytes
}
// Error read Request
func RequestErrorNew(buf []byte) xgb.Error {
v := RequestError{}
v.NiceName = "Request"
b := 1 // skip error determinant
b += 1 // don't read error number
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.BadValue = xgb.Get32(buf[b:])
b += 4
v.MinorOpcode = xgb.Get16(buf[b:])
b += 2
v.MajorOpcode = buf[b]
b += 1
b += 1 // padding
return v
}
func (err RequestError) ImplementsError() {}
func (err RequestError) SequenceId() uint16 {
return err.Sequence
}
func (err RequestError) BadId() uint32 {
return err.BadValue
}
func (err RequestError) Error() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", err.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("BadValue: %d", err.BadValue))
fieldVals = append(fieldVals, xgb.Sprintf("MinorOpcode: %d", err.MinorOpcode))
fieldVals = append(fieldVals, xgb.Sprintf("MajorOpcode: %d", err.MajorOpcode))
return "BadRequest {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewErrorFuncs[1] = RequestErrorNew
}
// Error definition Value (2)
// Size: 32
const BadValue = 2
type ValueError struct {
Sequence uint16
NiceName string
BadValue uint32
MinorOpcode uint16
MajorOpcode byte
// padding: 1 bytes
}
// Error read Value
func ValueErrorNew(buf []byte) xgb.Error {
v := ValueError{}
v.NiceName = "Value"
b := 1 // skip error determinant
b += 1 // don't read error number
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.BadValue = xgb.Get32(buf[b:])
b += 4
v.MinorOpcode = xgb.Get16(buf[b:])
b += 2
v.MajorOpcode = buf[b]
b += 1
b += 1 // padding
return v
}
func (err ValueError) ImplementsError() {}
func (err ValueError) SequenceId() uint16 {
return err.Sequence
}
func (err ValueError) BadId() uint32 {
return err.BadValue
}
func (err ValueError) Error() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", err.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("BadValue: %d", err.BadValue))
fieldVals = append(fieldVals, xgb.Sprintf("MinorOpcode: %d", err.MinorOpcode))
fieldVals = append(fieldVals, xgb.Sprintf("MajorOpcode: %d", err.MajorOpcode))
return "BadValue {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewErrorFuncs[2] = ValueErrorNew
}
// ErrorCopy definition Window (3)
const BadWindow = 3
type WindowError ValueError
func WindowErrorNew(buf []byte) xgb.Error {
v := WindowError(ValueErrorNew(buf).(ValueError))
v.NiceName = "Window"
return v
}
func (err WindowError) ImplementsError() {}
func (err WindowError) SequenceId() uint16 {
return err.Sequence
}
func (err WindowError) BadId() uint32 {
return err.BadValue
}
func (err WindowError) Error() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", err.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("BadValue: %d", err.BadValue))
fieldVals = append(fieldVals, xgb.Sprintf("MinorOpcode: %d", err.MinorOpcode))
fieldVals = append(fieldVals, xgb.Sprintf("MajorOpcode: %d", err.MajorOpcode))
return "BadWindow {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewErrorFuncs[3] = WindowErrorNew
}
// ErrorCopy definition Pixmap (4)
const BadPixmap = 4
type PixmapError ValueError
func PixmapErrorNew(buf []byte) xgb.Error {
v := PixmapError(ValueErrorNew(buf).(ValueError))
v.NiceName = "Pixmap"
return v
}
func (err PixmapError) ImplementsError() {}
func (err PixmapError) SequenceId() uint16 {
return err.Sequence
}
func (err PixmapError) BadId() uint32 {
return err.BadValue
}
func (err PixmapError) Error() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", err.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("BadValue: %d", err.BadValue))
fieldVals = append(fieldVals, xgb.Sprintf("MinorOpcode: %d", err.MinorOpcode))
fieldVals = append(fieldVals, xgb.Sprintf("MajorOpcode: %d", err.MajorOpcode))
return "BadPixmap {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewErrorFuncs[4] = PixmapErrorNew
}
// ErrorCopy definition Atom (5)
const BadAtom = 5
type AtomError ValueError
func AtomErrorNew(buf []byte) xgb.Error {
v := AtomError(ValueErrorNew(buf).(ValueError))
v.NiceName = "Atom"
return v
}
func (err AtomError) ImplementsError() {}
func (err AtomError) SequenceId() uint16 {
return err.Sequence
}
func (err AtomError) BadId() uint32 {
return err.BadValue
}
func (err AtomError) Error() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", err.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("BadValue: %d", err.BadValue))
fieldVals = append(fieldVals, xgb.Sprintf("MinorOpcode: %d", err.MinorOpcode))
fieldVals = append(fieldVals, xgb.Sprintf("MajorOpcode: %d", err.MajorOpcode))
return "BadAtom {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewErrorFuncs[5] = AtomErrorNew
}
// ErrorCopy definition Cursor (6)
const BadCursor = 6
type CursorError ValueError
func CursorErrorNew(buf []byte) xgb.Error {
v := CursorError(ValueErrorNew(buf).(ValueError))
v.NiceName = "Cursor"
return v
}
func (err CursorError) ImplementsError() {}
func (err CursorError) SequenceId() uint16 {
return err.Sequence
}
func (err CursorError) BadId() uint32 {
return err.BadValue
}
func (err CursorError) Error() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", err.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("BadValue: %d", err.BadValue))
fieldVals = append(fieldVals, xgb.Sprintf("MinorOpcode: %d", err.MinorOpcode))
fieldVals = append(fieldVals, xgb.Sprintf("MajorOpcode: %d", err.MajorOpcode))
return "BadCursor {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewErrorFuncs[6] = CursorErrorNew
}
// ErrorCopy definition Font (7)
const BadFont = 7
type FontError ValueError
func FontErrorNew(buf []byte) xgb.Error {
v := FontError(ValueErrorNew(buf).(ValueError))
v.NiceName = "Font"
return v
}
func (err FontError) ImplementsError() {}
func (err FontError) SequenceId() uint16 {
return err.Sequence
}
func (err FontError) BadId() uint32 {
return err.BadValue
}
func (err FontError) Error() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", err.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("BadValue: %d", err.BadValue))
fieldVals = append(fieldVals, xgb.Sprintf("MinorOpcode: %d", err.MinorOpcode))
fieldVals = append(fieldVals, xgb.Sprintf("MajorOpcode: %d", err.MajorOpcode))
return "BadFont {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewErrorFuncs[7] = FontErrorNew
}
// ErrorCopy definition Match (8)
const BadMatch = 8
type MatchError RequestError
func MatchErrorNew(buf []byte) xgb.Error {
v := MatchError(RequestErrorNew(buf).(RequestError))
v.NiceName = "Match"
return v
}
func (err MatchError) ImplementsError() {}
func (err MatchError) SequenceId() uint16 {
return err.Sequence
}
func (err MatchError) BadId() uint32 {
return err.BadValue
}
func (err MatchError) Error() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", err.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("BadValue: %d", err.BadValue))
fieldVals = append(fieldVals, xgb.Sprintf("MinorOpcode: %d", err.MinorOpcode))
fieldVals = append(fieldVals, xgb.Sprintf("MajorOpcode: %d", err.MajorOpcode))
return "BadMatch {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewErrorFuncs[8] = MatchErrorNew
}
// ErrorCopy definition Drawable (9)
const BadDrawable = 9
type DrawableError ValueError
func DrawableErrorNew(buf []byte) xgb.Error {
v := DrawableError(ValueErrorNew(buf).(ValueError))
v.NiceName = "Drawable"
return v
}
func (err DrawableError) ImplementsError() {}
func (err DrawableError) SequenceId() uint16 {
return err.Sequence
}
func (err DrawableError) BadId() uint32 {
return err.BadValue
}
func (err DrawableError) Error() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", err.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("BadValue: %d", err.BadValue))
fieldVals = append(fieldVals, xgb.Sprintf("MinorOpcode: %d", err.MinorOpcode))
fieldVals = append(fieldVals, xgb.Sprintf("MajorOpcode: %d", err.MajorOpcode))
return "BadDrawable {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewErrorFuncs[9] = DrawableErrorNew
}
// ErrorCopy definition Access (10)
const BadAccess = 10
type AccessError RequestError
func AccessErrorNew(buf []byte) xgb.Error {
v := AccessError(RequestErrorNew(buf).(RequestError))
v.NiceName = "Access"
return v
}
func (err AccessError) ImplementsError() {}
func (err AccessError) SequenceId() uint16 {
return err.Sequence
}
func (err AccessError) BadId() uint32 {
return err.BadValue
}
func (err AccessError) Error() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", err.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("BadValue: %d", err.BadValue))
fieldVals = append(fieldVals, xgb.Sprintf("MinorOpcode: %d", err.MinorOpcode))
fieldVals = append(fieldVals, xgb.Sprintf("MajorOpcode: %d", err.MajorOpcode))
return "BadAccess {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewErrorFuncs[10] = AccessErrorNew
}
// ErrorCopy definition Alloc (11)
const BadAlloc = 11
type AllocError RequestError
func AllocErrorNew(buf []byte) xgb.Error {
v := AllocError(RequestErrorNew(buf).(RequestError))
v.NiceName = "Alloc"
return v
}
func (err AllocError) ImplementsError() {}
func (err AllocError) SequenceId() uint16 {
return err.Sequence
}
func (err AllocError) BadId() uint32 {
return err.BadValue
}
func (err AllocError) Error() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", err.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("BadValue: %d", err.BadValue))
fieldVals = append(fieldVals, xgb.Sprintf("MinorOpcode: %d", err.MinorOpcode))
fieldVals = append(fieldVals, xgb.Sprintf("MajorOpcode: %d", err.MajorOpcode))
return "BadAlloc {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewErrorFuncs[11] = AllocErrorNew
}
// ErrorCopy definition Colormap (12)
const BadColormap = 12
type ColormapError ValueError
func ColormapErrorNew(buf []byte) xgb.Error {
v := ColormapError(ValueErrorNew(buf).(ValueError))
v.NiceName = "Colormap"
return v
}
func (err ColormapError) ImplementsError() {}
func (err ColormapError) SequenceId() uint16 {
return err.Sequence
}
func (err ColormapError) BadId() uint32 {
return err.BadValue
}
func (err ColormapError) Error() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", err.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("BadValue: %d", err.BadValue))
fieldVals = append(fieldVals, xgb.Sprintf("MinorOpcode: %d", err.MinorOpcode))
fieldVals = append(fieldVals, xgb.Sprintf("MajorOpcode: %d", err.MajorOpcode))
return "BadColormap {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewErrorFuncs[12] = ColormapErrorNew
}
// ErrorCopy definition GContext (13)
const BadGContext = 13
type GContextError ValueError
func GContextErrorNew(buf []byte) xgb.Error {
v := GContextError(ValueErrorNew(buf).(ValueError))
v.NiceName = "GContext"
return v
}
func (err GContextError) ImplementsError() {}
func (err GContextError) SequenceId() uint16 {
return err.Sequence
}
func (err GContextError) BadId() uint32 {
return err.BadValue
}
func (err GContextError) Error() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", err.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("BadValue: %d", err.BadValue))
fieldVals = append(fieldVals, xgb.Sprintf("MinorOpcode: %d", err.MinorOpcode))
fieldVals = append(fieldVals, xgb.Sprintf("MajorOpcode: %d", err.MajorOpcode))
return "BadGContext {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewErrorFuncs[13] = GContextErrorNew
}
// ErrorCopy definition IDChoice (14)
const BadIDChoice = 14
type IDChoiceError ValueError
func IDChoiceErrorNew(buf []byte) xgb.Error {
v := IDChoiceError(ValueErrorNew(buf).(ValueError))
v.NiceName = "IDChoice"
return v
}
func (err IDChoiceError) ImplementsError() {}
func (err IDChoiceError) SequenceId() uint16 {
return err.Sequence
}
func (err IDChoiceError) BadId() uint32 {
return err.BadValue
}
func (err IDChoiceError) Error() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", err.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("BadValue: %d", err.BadValue))
fieldVals = append(fieldVals, xgb.Sprintf("MinorOpcode: %d", err.MinorOpcode))
fieldVals = append(fieldVals, xgb.Sprintf("MajorOpcode: %d", err.MajorOpcode))
return "BadIDChoice {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewErrorFuncs[14] = IDChoiceErrorNew
}
// ErrorCopy definition Name (15)
const BadName = 15
type NameError RequestError
func NameErrorNew(buf []byte) xgb.Error {
v := NameError(RequestErrorNew(buf).(RequestError))
v.NiceName = "Name"
return v
}
func (err NameError) ImplementsError() {}
func (err NameError) SequenceId() uint16 {
return err.Sequence
}
func (err NameError) BadId() uint32 {
return err.BadValue
}
func (err NameError) Error() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", err.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("BadValue: %d", err.BadValue))
fieldVals = append(fieldVals, xgb.Sprintf("MinorOpcode: %d", err.MinorOpcode))
fieldVals = append(fieldVals, xgb.Sprintf("MajorOpcode: %d", err.MajorOpcode))
return "BadName {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewErrorFuncs[15] = NameErrorNew
}
// ErrorCopy definition Length (16)
const BadLength = 16
type LengthError RequestError
func LengthErrorNew(buf []byte) xgb.Error {
v := LengthError(RequestErrorNew(buf).(RequestError))
v.NiceName = "Length"
return v
}
func (err LengthError) ImplementsError() {}
func (err LengthError) SequenceId() uint16 {
return err.Sequence
}
func (err LengthError) BadId() uint32 {
return err.BadValue
}
func (err LengthError) Error() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", err.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("BadValue: %d", err.BadValue))
fieldVals = append(fieldVals, xgb.Sprintf("MinorOpcode: %d", err.MinorOpcode))
fieldVals = append(fieldVals, xgb.Sprintf("MajorOpcode: %d", err.MajorOpcode))
return "BadLength {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewErrorFuncs[16] = LengthErrorNew
}
// ErrorCopy definition Implementation (17)
const BadImplementation = 17
type ImplementationError RequestError
func ImplementationErrorNew(buf []byte) xgb.Error {
v := ImplementationError(RequestErrorNew(buf).(RequestError))
v.NiceName = "Implementation"
return v
}
func (err ImplementationError) ImplementsError() {}
func (err ImplementationError) SequenceId() uint16 {
return err.Sequence
}
func (err ImplementationError) BadId() uint32 {
return err.BadValue
}
func (err ImplementationError) Error() string {
fieldVals := make([]string, 0, 4)
fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
fieldVals = append(fieldVals, xgb.Sprintf("Sequence: %d", err.Sequence))
fieldVals = append(fieldVals, xgb.Sprintf("BadValue: %d", err.BadValue))
fieldVals = append(fieldVals, xgb.Sprintf("MinorOpcode: %d", err.MinorOpcode))
fieldVals = append(fieldVals, xgb.Sprintf("MajorOpcode: %d", err.MajorOpcode))
return "BadImplementation {" + xgb.StringsJoin(fieldVals, ", ") + "}"
}
func init() {
xgb.NewErrorFuncs[17] = ImplementationErrorNew
}
// Request CreateWindow
// size: xgb.Pad((28 + (4 + xgb.Pad((4 * xgb.PopCount(int(ValueMask)))))))
type CreateWindowCookie struct {
*xgb.Cookie
}
// Write request to wire for CreateWindow
func CreateWindow(c *xgb.Conn, Depth byte, Wid Window, Parent Window, X int16, Y int16, Width uint16, Height uint16, BorderWidth uint16, Class uint16, Visual Visualid, ValueMask uint32, ValueList []uint32) CreateWindowCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(createWindowRequest(c, Depth, Wid, Parent, X, Y, Width, Height, BorderWidth, Class, Visual, ValueMask, ValueList), cookie)
return CreateWindowCookie{cookie}
}
func CreateWindowChecked(c *xgb.Conn, Depth byte, Wid Window, Parent Window, X int16, Y int16, Width uint16, Height uint16, BorderWidth uint16, Class uint16, Visual Visualid, ValueMask uint32, ValueList []uint32) CreateWindowCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(createWindowRequest(c, Depth, Wid, Parent, X, Y, Width, Height, BorderWidth, Class, Visual, ValueMask, ValueList), cookie)
return CreateWindowCookie{cookie}
}
func (cook CreateWindowCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for CreateWindow
func createWindowRequest(c *xgb.Conn, Depth byte, Wid Window, Parent Window, X int16, Y int16, Width uint16, Height uint16, BorderWidth uint16, Class uint16, Visual Visualid, ValueMask uint32, ValueList []uint32) []byte {
size := xgb.Pad((28 + (4 + xgb.Pad((4 * xgb.PopCount(int(ValueMask)))))))
b := 0
buf := make([]byte, size)
buf[b] = 1 // request opcode
b += 1
buf[b] = Depth
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Wid))
b += 4
xgb.Put32(buf[b:], uint32(Parent))
b += 4
xgb.Put16(buf[b:], uint16(X))
b += 2
xgb.Put16(buf[b:], uint16(Y))
b += 2
xgb.Put16(buf[b:], Width)
b += 2
xgb.Put16(buf[b:], Height)
b += 2
xgb.Put16(buf[b:], BorderWidth)
b += 2
xgb.Put16(buf[b:], Class)
b += 2
xgb.Put32(buf[b:], uint32(Visual))
b += 4
xgb.Put32(buf[b:], ValueMask)
b += 4
for i := 0; i < xgb.PopCount(int(ValueMask)); i++ {
xgb.Put32(buf[b:], ValueList[i])
b += 4
}
b = xgb.Pad(b)
return buf
}
// Request ChangeWindowAttributes
// size: xgb.Pad((8 + (4 + xgb.Pad((4 * xgb.PopCount(int(ValueMask)))))))
type ChangeWindowAttributesCookie struct {
*xgb.Cookie
}
// Write request to wire for ChangeWindowAttributes
func ChangeWindowAttributes(c *xgb.Conn, Window Window, ValueMask uint32, ValueList []uint32) ChangeWindowAttributesCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(changeWindowAttributesRequest(c, Window, ValueMask, ValueList), cookie)
return ChangeWindowAttributesCookie{cookie}
}
func ChangeWindowAttributesChecked(c *xgb.Conn, Window Window, ValueMask uint32, ValueList []uint32) ChangeWindowAttributesCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(changeWindowAttributesRequest(c, Window, ValueMask, ValueList), cookie)
return ChangeWindowAttributesCookie{cookie}
}
func (cook ChangeWindowAttributesCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for ChangeWindowAttributes
func changeWindowAttributesRequest(c *xgb.Conn, Window Window, ValueMask uint32, ValueList []uint32) []byte {
size := xgb.Pad((8 + (4 + xgb.Pad((4 * xgb.PopCount(int(ValueMask)))))))
b := 0
buf := make([]byte, size)
buf[b] = 2 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
xgb.Put32(buf[b:], ValueMask)
b += 4
for i := 0; i < xgb.PopCount(int(ValueMask)); i++ {
xgb.Put32(buf[b:], ValueList[i])
b += 4
}
b = xgb.Pad(b)
return buf
}
// Request GetWindowAttributes
// size: 8
type GetWindowAttributesCookie struct {
*xgb.Cookie
}
func GetWindowAttributes(c *xgb.Conn, Window Window) GetWindowAttributesCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(getWindowAttributesRequest(c, Window), cookie)
return GetWindowAttributesCookie{cookie}
}
func GetWindowAttributesUnchecked(c *xgb.Conn, Window Window) GetWindowAttributesCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(getWindowAttributesRequest(c, Window), cookie)
return GetWindowAttributesCookie{cookie}
}
// Request reply for GetWindowAttributes
// size: 44
type GetWindowAttributesReply struct {
Sequence uint16
Length uint32
BackingStore byte
Visual Visualid
Class uint16
BitGravity byte
WinGravity byte
BackingPlanes uint32
BackingPixel uint32
SaveUnder bool
MapIsInstalled bool
MapState byte
OverrideRedirect bool
Colormap Colormap
AllEventMasks uint32
YourEventMask uint32
DoNotPropagateMask uint16
// padding: 2 bytes
}
// Waits and reads reply data from request GetWindowAttributes
func (cook GetWindowAttributesCookie) Reply() (*GetWindowAttributesReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return getWindowAttributesReply(buf), nil
}
// Read reply into structure from buffer for GetWindowAttributes
func getWindowAttributesReply(buf []byte) *GetWindowAttributesReply {
v := new(GetWindowAttributesReply)
b := 1 // skip reply determinant
v.BackingStore = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.Visual = Visualid(xgb.Get32(buf[b:]))
b += 4
v.Class = xgb.Get16(buf[b:])
b += 2
v.BitGravity = buf[b]
b += 1
v.WinGravity = buf[b]
b += 1
v.BackingPlanes = xgb.Get32(buf[b:])
b += 4
v.BackingPixel = xgb.Get32(buf[b:])
b += 4
if buf[b] == 1 {
v.SaveUnder = true
} else {
v.SaveUnder = false
}
b += 1
if buf[b] == 1 {
v.MapIsInstalled = true
} else {
v.MapIsInstalled = false
}
b += 1
v.MapState = buf[b]
b += 1
if buf[b] == 1 {
v.OverrideRedirect = true
} else {
v.OverrideRedirect = false
}
b += 1
v.Colormap = Colormap(xgb.Get32(buf[b:]))
b += 4
v.AllEventMasks = xgb.Get32(buf[b:])
b += 4
v.YourEventMask = xgb.Get32(buf[b:])
b += 4
v.DoNotPropagateMask = xgb.Get16(buf[b:])
b += 2
b += 2 // padding
return v
}
// Write request to wire for GetWindowAttributes
func getWindowAttributesRequest(c *xgb.Conn, Window Window) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 3 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
return buf
}
// Request DestroyWindow
// size: 8
type DestroyWindowCookie struct {
*xgb.Cookie
}
// Write request to wire for DestroyWindow
func DestroyWindow(c *xgb.Conn, Window Window) DestroyWindowCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(destroyWindowRequest(c, Window), cookie)
return DestroyWindowCookie{cookie}
}
func DestroyWindowChecked(c *xgb.Conn, Window Window) DestroyWindowCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(destroyWindowRequest(c, Window), cookie)
return DestroyWindowCookie{cookie}
}
func (cook DestroyWindowCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for DestroyWindow
func destroyWindowRequest(c *xgb.Conn, Window Window) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 4 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
return buf
}
// Request DestroySubwindows
// size: 8
type DestroySubwindowsCookie struct {
*xgb.Cookie
}
// Write request to wire for DestroySubwindows
func DestroySubwindows(c *xgb.Conn, Window Window) DestroySubwindowsCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(destroySubwindowsRequest(c, Window), cookie)
return DestroySubwindowsCookie{cookie}
}
func DestroySubwindowsChecked(c *xgb.Conn, Window Window) DestroySubwindowsCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(destroySubwindowsRequest(c, Window), cookie)
return DestroySubwindowsCookie{cookie}
}
func (cook DestroySubwindowsCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for DestroySubwindows
func destroySubwindowsRequest(c *xgb.Conn, Window Window) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 5 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
return buf
}
// Request ChangeSaveSet
// size: 8
type ChangeSaveSetCookie struct {
*xgb.Cookie
}
// Write request to wire for ChangeSaveSet
func ChangeSaveSet(c *xgb.Conn, Mode byte, Window Window) ChangeSaveSetCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(changeSaveSetRequest(c, Mode, Window), cookie)
return ChangeSaveSetCookie{cookie}
}
func ChangeSaveSetChecked(c *xgb.Conn, Mode byte, Window Window) ChangeSaveSetCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(changeSaveSetRequest(c, Mode, Window), cookie)
return ChangeSaveSetCookie{cookie}
}
func (cook ChangeSaveSetCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for ChangeSaveSet
func changeSaveSetRequest(c *xgb.Conn, Mode byte, Window Window) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 6 // request opcode
b += 1
buf[b] = Mode
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
return buf
}
// Request ReparentWindow
// size: 16
type ReparentWindowCookie struct {
*xgb.Cookie
}
// Write request to wire for ReparentWindow
func ReparentWindow(c *xgb.Conn, Window Window, Parent Window, X int16, Y int16) ReparentWindowCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(reparentWindowRequest(c, Window, Parent, X, Y), cookie)
return ReparentWindowCookie{cookie}
}
func ReparentWindowChecked(c *xgb.Conn, Window Window, Parent Window, X int16, Y int16) ReparentWindowCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(reparentWindowRequest(c, Window, Parent, X, Y), cookie)
return ReparentWindowCookie{cookie}
}
func (cook ReparentWindowCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for ReparentWindow
func reparentWindowRequest(c *xgb.Conn, Window Window, Parent Window, X int16, Y int16) []byte {
size := 16
b := 0
buf := make([]byte, size)
buf[b] = 7 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
xgb.Put32(buf[b:], uint32(Parent))
b += 4
xgb.Put16(buf[b:], uint16(X))
b += 2
xgb.Put16(buf[b:], uint16(Y))
b += 2
return buf
}
// Request MapWindow
// size: 8
type MapWindowCookie struct {
*xgb.Cookie
}
// Write request to wire for MapWindow
func MapWindow(c *xgb.Conn, Window Window) MapWindowCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(mapWindowRequest(c, Window), cookie)
return MapWindowCookie{cookie}
}
func MapWindowChecked(c *xgb.Conn, Window Window) MapWindowCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(mapWindowRequest(c, Window), cookie)
return MapWindowCookie{cookie}
}
func (cook MapWindowCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for MapWindow
func mapWindowRequest(c *xgb.Conn, Window Window) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 8 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
return buf
}
// Request MapSubwindows
// size: 8
type MapSubwindowsCookie struct {
*xgb.Cookie
}
// Write request to wire for MapSubwindows
func MapSubwindows(c *xgb.Conn, Window Window) MapSubwindowsCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(mapSubwindowsRequest(c, Window), cookie)
return MapSubwindowsCookie{cookie}
}
func MapSubwindowsChecked(c *xgb.Conn, Window Window) MapSubwindowsCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(mapSubwindowsRequest(c, Window), cookie)
return MapSubwindowsCookie{cookie}
}
func (cook MapSubwindowsCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for MapSubwindows
func mapSubwindowsRequest(c *xgb.Conn, Window Window) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 9 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
return buf
}
// Request UnmapWindow
// size: 8
type UnmapWindowCookie struct {
*xgb.Cookie
}
// Write request to wire for UnmapWindow
func UnmapWindow(c *xgb.Conn, Window Window) UnmapWindowCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(unmapWindowRequest(c, Window), cookie)
return UnmapWindowCookie{cookie}
}
func UnmapWindowChecked(c *xgb.Conn, Window Window) UnmapWindowCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(unmapWindowRequest(c, Window), cookie)
return UnmapWindowCookie{cookie}
}
func (cook UnmapWindowCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for UnmapWindow
func unmapWindowRequest(c *xgb.Conn, Window Window) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 10 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
return buf
}
// Request UnmapSubwindows
// size: 8
type UnmapSubwindowsCookie struct {
*xgb.Cookie
}
// Write request to wire for UnmapSubwindows
func UnmapSubwindows(c *xgb.Conn, Window Window) UnmapSubwindowsCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(unmapSubwindowsRequest(c, Window), cookie)
return UnmapSubwindowsCookie{cookie}
}
func UnmapSubwindowsChecked(c *xgb.Conn, Window Window) UnmapSubwindowsCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(unmapSubwindowsRequest(c, Window), cookie)
return UnmapSubwindowsCookie{cookie}
}
func (cook UnmapSubwindowsCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for UnmapSubwindows
func unmapSubwindowsRequest(c *xgb.Conn, Window Window) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 11 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
return buf
}
// Request ConfigureWindow
// size: xgb.Pad((10 + (2 + xgb.Pad((4 * xgb.PopCount(int(ValueMask)))))))
type ConfigureWindowCookie struct {
*xgb.Cookie
}
// Write request to wire for ConfigureWindow
func ConfigureWindow(c *xgb.Conn, Window Window, ValueMask uint16, ValueList []uint32) ConfigureWindowCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(configureWindowRequest(c, Window, ValueMask, ValueList), cookie)
return ConfigureWindowCookie{cookie}
}
func ConfigureWindowChecked(c *xgb.Conn, Window Window, ValueMask uint16, ValueList []uint32) ConfigureWindowCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(configureWindowRequest(c, Window, ValueMask, ValueList), cookie)
return ConfigureWindowCookie{cookie}
}
func (cook ConfigureWindowCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for ConfigureWindow
func configureWindowRequest(c *xgb.Conn, Window Window, ValueMask uint16, ValueList []uint32) []byte {
size := xgb.Pad((10 + (2 + xgb.Pad((4 * xgb.PopCount(int(ValueMask)))))))
b := 0
buf := make([]byte, size)
buf[b] = 12 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
xgb.Put16(buf[b:], ValueMask)
b += 2
b += 2 // padding
for i := 0; i < xgb.PopCount(int(ValueMask)); i++ {
xgb.Put32(buf[b:], ValueList[i])
b += 4
}
b = xgb.Pad(b)
return buf
}
// Request CirculateWindow
// size: 8
type CirculateWindowCookie struct {
*xgb.Cookie
}
// Write request to wire for CirculateWindow
func CirculateWindow(c *xgb.Conn, Direction byte, Window Window) CirculateWindowCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(circulateWindowRequest(c, Direction, Window), cookie)
return CirculateWindowCookie{cookie}
}
func CirculateWindowChecked(c *xgb.Conn, Direction byte, Window Window) CirculateWindowCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(circulateWindowRequest(c, Direction, Window), cookie)
return CirculateWindowCookie{cookie}
}
func (cook CirculateWindowCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for CirculateWindow
func circulateWindowRequest(c *xgb.Conn, Direction byte, Window Window) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 13 // request opcode
b += 1
buf[b] = Direction
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
return buf
}
// Request GetGeometry
// size: 8
type GetGeometryCookie struct {
*xgb.Cookie
}
func GetGeometry(c *xgb.Conn, Drawable Drawable) GetGeometryCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(getGeometryRequest(c, Drawable), cookie)
return GetGeometryCookie{cookie}
}
func GetGeometryUnchecked(c *xgb.Conn, Drawable Drawable) GetGeometryCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(getGeometryRequest(c, Drawable), cookie)
return GetGeometryCookie{cookie}
}
// Request reply for GetGeometry
// size: 24
type GetGeometryReply struct {
Sequence uint16
Length uint32
Depth byte
Root Window
X int16
Y int16
Width uint16
Height uint16
BorderWidth uint16
// padding: 2 bytes
}
// Waits and reads reply data from request GetGeometry
func (cook GetGeometryCookie) Reply() (*GetGeometryReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return getGeometryReply(buf), nil
}
// Read reply into structure from buffer for GetGeometry
func getGeometryReply(buf []byte) *GetGeometryReply {
v := new(GetGeometryReply)
b := 1 // skip reply determinant
v.Depth = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.Root = Window(xgb.Get32(buf[b:]))
b += 4
v.X = int16(xgb.Get16(buf[b:]))
b += 2
v.Y = int16(xgb.Get16(buf[b:]))
b += 2
v.Width = xgb.Get16(buf[b:])
b += 2
v.Height = xgb.Get16(buf[b:])
b += 2
v.BorderWidth = xgb.Get16(buf[b:])
b += 2
b += 2 // padding
return v
}
// Write request to wire for GetGeometry
func getGeometryRequest(c *xgb.Conn, Drawable Drawable) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 14 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Drawable))
b += 4
return buf
}
// Request QueryTree
// size: 8
type QueryTreeCookie struct {
*xgb.Cookie
}
func QueryTree(c *xgb.Conn, Window Window) QueryTreeCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(queryTreeRequest(c, Window), cookie)
return QueryTreeCookie{cookie}
}
func QueryTreeUnchecked(c *xgb.Conn, Window Window) QueryTreeCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(queryTreeRequest(c, Window), cookie)
return QueryTreeCookie{cookie}
}
// Request reply for QueryTree
// size: (32 + xgb.Pad((int(ChildrenLen) * 4)))
type QueryTreeReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
Root Window
Parent Window
ChildrenLen uint16
// padding: 14 bytes
Children []Window // size: xgb.Pad((int(ChildrenLen) * 4))
}
// Waits and reads reply data from request QueryTree
func (cook QueryTreeCookie) Reply() (*QueryTreeReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return queryTreeReply(buf), nil
}
// Read reply into structure from buffer for QueryTree
func queryTreeReply(buf []byte) *QueryTreeReply {
v := new(QueryTreeReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.Root = Window(xgb.Get32(buf[b:]))
b += 4
v.Parent = Window(xgb.Get32(buf[b:]))
b += 4
v.ChildrenLen = xgb.Get16(buf[b:])
b += 2
b += 14 // padding
v.Children = make([]Window, v.ChildrenLen)
for i := 0; i < int(v.ChildrenLen); i++ {
v.Children[i] = Window(xgb.Get32(buf[b:]))
b += 4
}
b = xgb.Pad(b)
return v
}
// Write request to wire for QueryTree
func queryTreeRequest(c *xgb.Conn, Window Window) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 15 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
return buf
}
// Request InternAtom
// size: xgb.Pad((8 + xgb.Pad((int(NameLen) * 1))))
type InternAtomCookie struct {
*xgb.Cookie
}
func InternAtom(c *xgb.Conn, OnlyIfExists bool, NameLen uint16, Name string) InternAtomCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(internAtomRequest(c, OnlyIfExists, NameLen, Name), cookie)
return InternAtomCookie{cookie}
}
func InternAtomUnchecked(c *xgb.Conn, OnlyIfExists bool, NameLen uint16, Name string) InternAtomCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(internAtomRequest(c, OnlyIfExists, NameLen, Name), cookie)
return InternAtomCookie{cookie}
}
// Request reply for InternAtom
// size: 12
type InternAtomReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
Atom Atom
}
// Waits and reads reply data from request InternAtom
func (cook InternAtomCookie) Reply() (*InternAtomReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return internAtomReply(buf), nil
}
// Read reply into structure from buffer for InternAtom
func internAtomReply(buf []byte) *InternAtomReply {
v := new(InternAtomReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.Atom = Atom(xgb.Get32(buf[b:]))
b += 4
return v
}
// Write request to wire for InternAtom
func internAtomRequest(c *xgb.Conn, OnlyIfExists bool, NameLen uint16, Name string) []byte {
size := xgb.Pad((8 + xgb.Pad((int(NameLen) * 1))))
b := 0
buf := make([]byte, size)
buf[b] = 16 // request opcode
b += 1
if OnlyIfExists {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put16(buf[b:], NameLen)
b += 2
b += 2 // padding
copy(buf[b:], Name[:NameLen])
b += xgb.Pad(int(NameLen))
return buf
}
// Request GetAtomName
// size: 8
type GetAtomNameCookie struct {
*xgb.Cookie
}
func GetAtomName(c *xgb.Conn, Atom Atom) GetAtomNameCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(getAtomNameRequest(c, Atom), cookie)
return GetAtomNameCookie{cookie}
}
func GetAtomNameUnchecked(c *xgb.Conn, Atom Atom) GetAtomNameCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(getAtomNameRequest(c, Atom), cookie)
return GetAtomNameCookie{cookie}
}
// Request reply for GetAtomName
// size: (32 + xgb.Pad((int(NameLen) * 1)))
type GetAtomNameReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
NameLen uint16
// padding: 22 bytes
Name string // size: xgb.Pad((int(NameLen) * 1))
}
// Waits and reads reply data from request GetAtomName
func (cook GetAtomNameCookie) Reply() (*GetAtomNameReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return getAtomNameReply(buf), nil
}
// Read reply into structure from buffer for GetAtomName
func getAtomNameReply(buf []byte) *GetAtomNameReply {
v := new(GetAtomNameReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.NameLen = xgb.Get16(buf[b:])
b += 2
b += 22 // padding
{
byteString := make([]byte, v.NameLen)
copy(byteString[:v.NameLen], buf[b:])
v.Name = string(byteString)
b += xgb.Pad(int(v.NameLen))
}
return v
}
// Write request to wire for GetAtomName
func getAtomNameRequest(c *xgb.Conn, Atom Atom) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 17 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Atom))
b += 4
return buf
}
// Request ChangeProperty
// size: xgb.Pad((24 + xgb.Pad((((int(DataLen) * int(Format)) / 8) * 1))))
type ChangePropertyCookie struct {
*xgb.Cookie
}
// Write request to wire for ChangeProperty
func ChangeProperty(c *xgb.Conn, Mode byte, Window Window, Property Atom, Type Atom, Format byte, DataLen uint32, Data []byte) ChangePropertyCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(changePropertyRequest(c, Mode, Window, Property, Type, Format, DataLen, Data), cookie)
return ChangePropertyCookie{cookie}
}
func ChangePropertyChecked(c *xgb.Conn, Mode byte, Window Window, Property Atom, Type Atom, Format byte, DataLen uint32, Data []byte) ChangePropertyCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(changePropertyRequest(c, Mode, Window, Property, Type, Format, DataLen, Data), cookie)
return ChangePropertyCookie{cookie}
}
func (cook ChangePropertyCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for ChangeProperty
func changePropertyRequest(c *xgb.Conn, Mode byte, Window Window, Property Atom, Type Atom, Format byte, DataLen uint32, Data []byte) []byte {
size := xgb.Pad((24 + xgb.Pad((((int(DataLen) * int(Format)) / 8) * 1))))
b := 0
buf := make([]byte, size)
buf[b] = 18 // request opcode
b += 1
buf[b] = Mode
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
xgb.Put32(buf[b:], uint32(Property))
b += 4
xgb.Put32(buf[b:], uint32(Type))
b += 4
buf[b] = Format
b += 1
b += 3 // padding
xgb.Put32(buf[b:], DataLen)
b += 4
copy(buf[b:], Data[:((int(DataLen)*int(Format))/8)])
b += xgb.Pad(int(((int(DataLen) * int(Format)) / 8)))
return buf
}
// Request DeleteProperty
// size: 12
type DeletePropertyCookie struct {
*xgb.Cookie
}
// Write request to wire for DeleteProperty
func DeleteProperty(c *xgb.Conn, Window Window, Property Atom) DeletePropertyCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(deletePropertyRequest(c, Window, Property), cookie)
return DeletePropertyCookie{cookie}
}
func DeletePropertyChecked(c *xgb.Conn, Window Window, Property Atom) DeletePropertyCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(deletePropertyRequest(c, Window, Property), cookie)
return DeletePropertyCookie{cookie}
}
func (cook DeletePropertyCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for DeleteProperty
func deletePropertyRequest(c *xgb.Conn, Window Window, Property Atom) []byte {
size := 12
b := 0
buf := make([]byte, size)
buf[b] = 19 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
xgb.Put32(buf[b:], uint32(Property))
b += 4
return buf
}
// Request GetProperty
// size: 24
type GetPropertyCookie struct {
*xgb.Cookie
}
func GetProperty(c *xgb.Conn, Delete bool, Window Window, Property Atom, Type Atom, LongOffset uint32, LongLength uint32) GetPropertyCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(getPropertyRequest(c, Delete, Window, Property, Type, LongOffset, LongLength), cookie)
return GetPropertyCookie{cookie}
}
func GetPropertyUnchecked(c *xgb.Conn, Delete bool, Window Window, Property Atom, Type Atom, LongOffset uint32, LongLength uint32) GetPropertyCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(getPropertyRequest(c, Delete, Window, Property, Type, LongOffset, LongLength), cookie)
return GetPropertyCookie{cookie}
}
// Request reply for GetProperty
// size: (32 + xgb.Pad(((int(ValueLen) * (int(Format) / 8)) * 1)))
type GetPropertyReply struct {
Sequence uint16
Length uint32
Format byte
Type Atom
BytesAfter uint32
ValueLen uint32
// padding: 12 bytes
Value []byte // size: xgb.Pad(((int(ValueLen) * (int(Format) / 8)) * 1))
}
// Waits and reads reply data from request GetProperty
func (cook GetPropertyCookie) Reply() (*GetPropertyReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return getPropertyReply(buf), nil
}
// Read reply into structure from buffer for GetProperty
func getPropertyReply(buf []byte) *GetPropertyReply {
v := new(GetPropertyReply)
b := 1 // skip reply determinant
v.Format = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.Type = Atom(xgb.Get32(buf[b:]))
b += 4
v.BytesAfter = xgb.Get32(buf[b:])
b += 4
v.ValueLen = xgb.Get32(buf[b:])
b += 4
b += 12 // padding
v.Value = make([]byte, (int(v.ValueLen) * (int(v.Format) / 8)))
copy(v.Value[:(int(v.ValueLen)*(int(v.Format)/8))], buf[b:])
b += xgb.Pad(int((int(v.ValueLen) * (int(v.Format) / 8))))
return v
}
// Write request to wire for GetProperty
func getPropertyRequest(c *xgb.Conn, Delete bool, Window Window, Property Atom, Type Atom, LongOffset uint32, LongLength uint32) []byte {
size := 24
b := 0
buf := make([]byte, size)
buf[b] = 20 // request opcode
b += 1
if Delete {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
xgb.Put32(buf[b:], uint32(Property))
b += 4
xgb.Put32(buf[b:], uint32(Type))
b += 4
xgb.Put32(buf[b:], LongOffset)
b += 4
xgb.Put32(buf[b:], LongLength)
b += 4
return buf
}
// Request ListProperties
// size: 8
type ListPropertiesCookie struct {
*xgb.Cookie
}
func ListProperties(c *xgb.Conn, Window Window) ListPropertiesCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(listPropertiesRequest(c, Window), cookie)
return ListPropertiesCookie{cookie}
}
func ListPropertiesUnchecked(c *xgb.Conn, Window Window) ListPropertiesCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(listPropertiesRequest(c, Window), cookie)
return ListPropertiesCookie{cookie}
}
// Request reply for ListProperties
// size: (32 + xgb.Pad((int(AtomsLen) * 4)))
type ListPropertiesReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
AtomsLen uint16
// padding: 22 bytes
Atoms []Atom // size: xgb.Pad((int(AtomsLen) * 4))
}
// Waits and reads reply data from request ListProperties
func (cook ListPropertiesCookie) Reply() (*ListPropertiesReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return listPropertiesReply(buf), nil
}
// Read reply into structure from buffer for ListProperties
func listPropertiesReply(buf []byte) *ListPropertiesReply {
v := new(ListPropertiesReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.AtomsLen = xgb.Get16(buf[b:])
b += 2
b += 22 // padding
v.Atoms = make([]Atom, v.AtomsLen)
for i := 0; i < int(v.AtomsLen); i++ {
v.Atoms[i] = Atom(xgb.Get32(buf[b:]))
b += 4
}
b = xgb.Pad(b)
return v
}
// Write request to wire for ListProperties
func listPropertiesRequest(c *xgb.Conn, Window Window) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 21 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
return buf
}
// Request SetSelectionOwner
// size: 16
type SetSelectionOwnerCookie struct {
*xgb.Cookie
}
// Write request to wire for SetSelectionOwner
func SetSelectionOwner(c *xgb.Conn, Owner Window, Selection Atom, Time Timestamp) SetSelectionOwnerCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(setSelectionOwnerRequest(c, Owner, Selection, Time), cookie)
return SetSelectionOwnerCookie{cookie}
}
func SetSelectionOwnerChecked(c *xgb.Conn, Owner Window, Selection Atom, Time Timestamp) SetSelectionOwnerCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(setSelectionOwnerRequest(c, Owner, Selection, Time), cookie)
return SetSelectionOwnerCookie{cookie}
}
func (cook SetSelectionOwnerCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for SetSelectionOwner
func setSelectionOwnerRequest(c *xgb.Conn, Owner Window, Selection Atom, Time Timestamp) []byte {
size := 16
b := 0
buf := make([]byte, size)
buf[b] = 22 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Owner))
b += 4
xgb.Put32(buf[b:], uint32(Selection))
b += 4
xgb.Put32(buf[b:], uint32(Time))
b += 4
return buf
}
// Request GetSelectionOwner
// size: 8
type GetSelectionOwnerCookie struct {
*xgb.Cookie
}
func GetSelectionOwner(c *xgb.Conn, Selection Atom) GetSelectionOwnerCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(getSelectionOwnerRequest(c, Selection), cookie)
return GetSelectionOwnerCookie{cookie}
}
func GetSelectionOwnerUnchecked(c *xgb.Conn, Selection Atom) GetSelectionOwnerCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(getSelectionOwnerRequest(c, Selection), cookie)
return GetSelectionOwnerCookie{cookie}
}
// Request reply for GetSelectionOwner
// size: 12
type GetSelectionOwnerReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
Owner Window
}
// Waits and reads reply data from request GetSelectionOwner
func (cook GetSelectionOwnerCookie) Reply() (*GetSelectionOwnerReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return getSelectionOwnerReply(buf), nil
}
// Read reply into structure from buffer for GetSelectionOwner
func getSelectionOwnerReply(buf []byte) *GetSelectionOwnerReply {
v := new(GetSelectionOwnerReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.Owner = Window(xgb.Get32(buf[b:]))
b += 4
return v
}
// Write request to wire for GetSelectionOwner
func getSelectionOwnerRequest(c *xgb.Conn, Selection Atom) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 23 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Selection))
b += 4
return buf
}
// Request ConvertSelection
// size: 24
type ConvertSelectionCookie struct {
*xgb.Cookie
}
// Write request to wire for ConvertSelection
func ConvertSelection(c *xgb.Conn, Requestor Window, Selection Atom, Target Atom, Property Atom, Time Timestamp) ConvertSelectionCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(convertSelectionRequest(c, Requestor, Selection, Target, Property, Time), cookie)
return ConvertSelectionCookie{cookie}
}
func ConvertSelectionChecked(c *xgb.Conn, Requestor Window, Selection Atom, Target Atom, Property Atom, Time Timestamp) ConvertSelectionCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(convertSelectionRequest(c, Requestor, Selection, Target, Property, Time), cookie)
return ConvertSelectionCookie{cookie}
}
func (cook ConvertSelectionCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for ConvertSelection
func convertSelectionRequest(c *xgb.Conn, Requestor Window, Selection Atom, Target Atom, Property Atom, Time Timestamp) []byte {
size := 24
b := 0
buf := make([]byte, size)
buf[b] = 24 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Requestor))
b += 4
xgb.Put32(buf[b:], uint32(Selection))
b += 4
xgb.Put32(buf[b:], uint32(Target))
b += 4
xgb.Put32(buf[b:], uint32(Property))
b += 4
xgb.Put32(buf[b:], uint32(Time))
b += 4
return buf
}
// Request SendEvent
// size: 44
type SendEventCookie struct {
*xgb.Cookie
}
// Write request to wire for SendEvent
func SendEvent(c *xgb.Conn, Propagate bool, Destination Window, EventMask uint32, Event string) SendEventCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(sendEventRequest(c, Propagate, Destination, EventMask, Event), cookie)
return SendEventCookie{cookie}
}
func SendEventChecked(c *xgb.Conn, Propagate bool, Destination Window, EventMask uint32, Event string) SendEventCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(sendEventRequest(c, Propagate, Destination, EventMask, Event), cookie)
return SendEventCookie{cookie}
}
func (cook SendEventCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for SendEvent
func sendEventRequest(c *xgb.Conn, Propagate bool, Destination Window, EventMask uint32, Event string) []byte {
size := 44
b := 0
buf := make([]byte, size)
buf[b] = 25 // request opcode
b += 1
if Propagate {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Destination))
b += 4
xgb.Put32(buf[b:], EventMask)
b += 4
copy(buf[b:], Event[:32])
b += xgb.Pad(int(32))
return buf
}
// Request GrabPointer
// size: 24
type GrabPointerCookie struct {
*xgb.Cookie
}
func GrabPointer(c *xgb.Conn, OwnerEvents bool, GrabWindow Window, EventMask uint16, PointerMode byte, KeyboardMode byte, ConfineTo Window, Cursor Cursor, Time Timestamp) GrabPointerCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(grabPointerRequest(c, OwnerEvents, GrabWindow, EventMask, PointerMode, KeyboardMode, ConfineTo, Cursor, Time), cookie)
return GrabPointerCookie{cookie}
}
func GrabPointerUnchecked(c *xgb.Conn, OwnerEvents bool, GrabWindow Window, EventMask uint16, PointerMode byte, KeyboardMode byte, ConfineTo Window, Cursor Cursor, Time Timestamp) GrabPointerCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(grabPointerRequest(c, OwnerEvents, GrabWindow, EventMask, PointerMode, KeyboardMode, ConfineTo, Cursor, Time), cookie)
return GrabPointerCookie{cookie}
}
// Request reply for GrabPointer
// size: 8
type GrabPointerReply struct {
Sequence uint16
Length uint32
Status byte
}
// Waits and reads reply data from request GrabPointer
func (cook GrabPointerCookie) Reply() (*GrabPointerReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return grabPointerReply(buf), nil
}
// Read reply into structure from buffer for GrabPointer
func grabPointerReply(buf []byte) *GrabPointerReply {
v := new(GrabPointerReply)
b := 1 // skip reply determinant
v.Status = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
return v
}
// Write request to wire for GrabPointer
func grabPointerRequest(c *xgb.Conn, OwnerEvents bool, GrabWindow Window, EventMask uint16, PointerMode byte, KeyboardMode byte, ConfineTo Window, Cursor Cursor, Time Timestamp) []byte {
size := 24
b := 0
buf := make([]byte, size)
buf[b] = 26 // request opcode
b += 1
if OwnerEvents {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(GrabWindow))
b += 4
xgb.Put16(buf[b:], EventMask)
b += 2
buf[b] = PointerMode
b += 1
buf[b] = KeyboardMode
b += 1
xgb.Put32(buf[b:], uint32(ConfineTo))
b += 4
xgb.Put32(buf[b:], uint32(Cursor))
b += 4
xgb.Put32(buf[b:], uint32(Time))
b += 4
return buf
}
// Request UngrabPointer
// size: 8
type UngrabPointerCookie struct {
*xgb.Cookie
}
// Write request to wire for UngrabPointer
func UngrabPointer(c *xgb.Conn, Time Timestamp) UngrabPointerCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(ungrabPointerRequest(c, Time), cookie)
return UngrabPointerCookie{cookie}
}
func UngrabPointerChecked(c *xgb.Conn, Time Timestamp) UngrabPointerCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(ungrabPointerRequest(c, Time), cookie)
return UngrabPointerCookie{cookie}
}
func (cook UngrabPointerCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for UngrabPointer
func ungrabPointerRequest(c *xgb.Conn, Time Timestamp) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 27 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Time))
b += 4
return buf
}
// Request GrabButton
// size: 24
type GrabButtonCookie struct {
*xgb.Cookie
}
// Write request to wire for GrabButton
func GrabButton(c *xgb.Conn, OwnerEvents bool, GrabWindow Window, EventMask uint16, PointerMode byte, KeyboardMode byte, ConfineTo Window, Cursor Cursor, Button byte, Modifiers uint16) GrabButtonCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(grabButtonRequest(c, OwnerEvents, GrabWindow, EventMask, PointerMode, KeyboardMode, ConfineTo, Cursor, Button, Modifiers), cookie)
return GrabButtonCookie{cookie}
}
func GrabButtonChecked(c *xgb.Conn, OwnerEvents bool, GrabWindow Window, EventMask uint16, PointerMode byte, KeyboardMode byte, ConfineTo Window, Cursor Cursor, Button byte, Modifiers uint16) GrabButtonCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(grabButtonRequest(c, OwnerEvents, GrabWindow, EventMask, PointerMode, KeyboardMode, ConfineTo, Cursor, Button, Modifiers), cookie)
return GrabButtonCookie{cookie}
}
func (cook GrabButtonCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for GrabButton
func grabButtonRequest(c *xgb.Conn, OwnerEvents bool, GrabWindow Window, EventMask uint16, PointerMode byte, KeyboardMode byte, ConfineTo Window, Cursor Cursor, Button byte, Modifiers uint16) []byte {
size := 24
b := 0
buf := make([]byte, size)
buf[b] = 28 // request opcode
b += 1
if OwnerEvents {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(GrabWindow))
b += 4
xgb.Put16(buf[b:], EventMask)
b += 2
buf[b] = PointerMode
b += 1
buf[b] = KeyboardMode
b += 1
xgb.Put32(buf[b:], uint32(ConfineTo))
b += 4
xgb.Put32(buf[b:], uint32(Cursor))
b += 4
buf[b] = Button
b += 1
b += 1 // padding
xgb.Put16(buf[b:], Modifiers)
b += 2
return buf
}
// Request UngrabButton
// size: 12
type UngrabButtonCookie struct {
*xgb.Cookie
}
// Write request to wire for UngrabButton
func UngrabButton(c *xgb.Conn, Button byte, GrabWindow Window, Modifiers uint16) UngrabButtonCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(ungrabButtonRequest(c, Button, GrabWindow, Modifiers), cookie)
return UngrabButtonCookie{cookie}
}
func UngrabButtonChecked(c *xgb.Conn, Button byte, GrabWindow Window, Modifiers uint16) UngrabButtonCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(ungrabButtonRequest(c, Button, GrabWindow, Modifiers), cookie)
return UngrabButtonCookie{cookie}
}
func (cook UngrabButtonCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for UngrabButton
func ungrabButtonRequest(c *xgb.Conn, Button byte, GrabWindow Window, Modifiers uint16) []byte {
size := 12
b := 0
buf := make([]byte, size)
buf[b] = 29 // request opcode
b += 1
buf[b] = Button
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(GrabWindow))
b += 4
xgb.Put16(buf[b:], Modifiers)
b += 2
b += 2 // padding
return buf
}
// Request ChangeActivePointerGrab
// size: 16
type ChangeActivePointerGrabCookie struct {
*xgb.Cookie
}
// Write request to wire for ChangeActivePointerGrab
func ChangeActivePointerGrab(c *xgb.Conn, Cursor Cursor, Time Timestamp, EventMask uint16) ChangeActivePointerGrabCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(changeActivePointerGrabRequest(c, Cursor, Time, EventMask), cookie)
return ChangeActivePointerGrabCookie{cookie}
}
func ChangeActivePointerGrabChecked(c *xgb.Conn, Cursor Cursor, Time Timestamp, EventMask uint16) ChangeActivePointerGrabCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(changeActivePointerGrabRequest(c, Cursor, Time, EventMask), cookie)
return ChangeActivePointerGrabCookie{cookie}
}
func (cook ChangeActivePointerGrabCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for ChangeActivePointerGrab
func changeActivePointerGrabRequest(c *xgb.Conn, Cursor Cursor, Time Timestamp, EventMask uint16) []byte {
size := 16
b := 0
buf := make([]byte, size)
buf[b] = 30 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Cursor))
b += 4
xgb.Put32(buf[b:], uint32(Time))
b += 4
xgb.Put16(buf[b:], EventMask)
b += 2
b += 2 // padding
return buf
}
// Request GrabKeyboard
// size: 16
type GrabKeyboardCookie struct {
*xgb.Cookie
}
func GrabKeyboard(c *xgb.Conn, OwnerEvents bool, GrabWindow Window, Time Timestamp, PointerMode byte, KeyboardMode byte) GrabKeyboardCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(grabKeyboardRequest(c, OwnerEvents, GrabWindow, Time, PointerMode, KeyboardMode), cookie)
return GrabKeyboardCookie{cookie}
}
func GrabKeyboardUnchecked(c *xgb.Conn, OwnerEvents bool, GrabWindow Window, Time Timestamp, PointerMode byte, KeyboardMode byte) GrabKeyboardCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(grabKeyboardRequest(c, OwnerEvents, GrabWindow, Time, PointerMode, KeyboardMode), cookie)
return GrabKeyboardCookie{cookie}
}
// Request reply for GrabKeyboard
// size: 8
type GrabKeyboardReply struct {
Sequence uint16
Length uint32
Status byte
}
// Waits and reads reply data from request GrabKeyboard
func (cook GrabKeyboardCookie) Reply() (*GrabKeyboardReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return grabKeyboardReply(buf), nil
}
// Read reply into structure from buffer for GrabKeyboard
func grabKeyboardReply(buf []byte) *GrabKeyboardReply {
v := new(GrabKeyboardReply)
b := 1 // skip reply determinant
v.Status = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
return v
}
// Write request to wire for GrabKeyboard
func grabKeyboardRequest(c *xgb.Conn, OwnerEvents bool, GrabWindow Window, Time Timestamp, PointerMode byte, KeyboardMode byte) []byte {
size := 16
b := 0
buf := make([]byte, size)
buf[b] = 31 // request opcode
b += 1
if OwnerEvents {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(GrabWindow))
b += 4
xgb.Put32(buf[b:], uint32(Time))
b += 4
buf[b] = PointerMode
b += 1
buf[b] = KeyboardMode
b += 1
b += 2 // padding
return buf
}
// Request UngrabKeyboard
// size: 8
type UngrabKeyboardCookie struct {
*xgb.Cookie
}
// Write request to wire for UngrabKeyboard
func UngrabKeyboard(c *xgb.Conn, Time Timestamp) UngrabKeyboardCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(ungrabKeyboardRequest(c, Time), cookie)
return UngrabKeyboardCookie{cookie}
}
func UngrabKeyboardChecked(c *xgb.Conn, Time Timestamp) UngrabKeyboardCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(ungrabKeyboardRequest(c, Time), cookie)
return UngrabKeyboardCookie{cookie}
}
func (cook UngrabKeyboardCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for UngrabKeyboard
func ungrabKeyboardRequest(c *xgb.Conn, Time Timestamp) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 32 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Time))
b += 4
return buf
}
// Request GrabKey
// size: 16
type GrabKeyCookie struct {
*xgb.Cookie
}
// Write request to wire for GrabKey
func GrabKey(c *xgb.Conn, OwnerEvents bool, GrabWindow Window, Modifiers uint16, Key Keycode, PointerMode byte, KeyboardMode byte) GrabKeyCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(grabKeyRequest(c, OwnerEvents, GrabWindow, Modifiers, Key, PointerMode, KeyboardMode), cookie)
return GrabKeyCookie{cookie}
}
func GrabKeyChecked(c *xgb.Conn, OwnerEvents bool, GrabWindow Window, Modifiers uint16, Key Keycode, PointerMode byte, KeyboardMode byte) GrabKeyCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(grabKeyRequest(c, OwnerEvents, GrabWindow, Modifiers, Key, PointerMode, KeyboardMode), cookie)
return GrabKeyCookie{cookie}
}
func (cook GrabKeyCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for GrabKey
func grabKeyRequest(c *xgb.Conn, OwnerEvents bool, GrabWindow Window, Modifiers uint16, Key Keycode, PointerMode byte, KeyboardMode byte) []byte {
size := 16
b := 0
buf := make([]byte, size)
buf[b] = 33 // request opcode
b += 1
if OwnerEvents {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(GrabWindow))
b += 4
xgb.Put16(buf[b:], Modifiers)
b += 2
buf[b] = byte(Key)
b += 1
buf[b] = PointerMode
b += 1
buf[b] = KeyboardMode
b += 1
b += 3 // padding
return buf
}
// Request UngrabKey
// size: 12
type UngrabKeyCookie struct {
*xgb.Cookie
}
// Write request to wire for UngrabKey
func UngrabKey(c *xgb.Conn, Key Keycode, GrabWindow Window, Modifiers uint16) UngrabKeyCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(ungrabKeyRequest(c, Key, GrabWindow, Modifiers), cookie)
return UngrabKeyCookie{cookie}
}
func UngrabKeyChecked(c *xgb.Conn, Key Keycode, GrabWindow Window, Modifiers uint16) UngrabKeyCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(ungrabKeyRequest(c, Key, GrabWindow, Modifiers), cookie)
return UngrabKeyCookie{cookie}
}
func (cook UngrabKeyCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for UngrabKey
func ungrabKeyRequest(c *xgb.Conn, Key Keycode, GrabWindow Window, Modifiers uint16) []byte {
size := 12
b := 0
buf := make([]byte, size)
buf[b] = 34 // request opcode
b += 1
buf[b] = byte(Key)
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(GrabWindow))
b += 4
xgb.Put16(buf[b:], Modifiers)
b += 2
b += 2 // padding
return buf
}
// Request AllowEvents
// size: 8
type AllowEventsCookie struct {
*xgb.Cookie
}
// Write request to wire for AllowEvents
func AllowEvents(c *xgb.Conn, Mode byte, Time Timestamp) AllowEventsCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(allowEventsRequest(c, Mode, Time), cookie)
return AllowEventsCookie{cookie}
}
func AllowEventsChecked(c *xgb.Conn, Mode byte, Time Timestamp) AllowEventsCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(allowEventsRequest(c, Mode, Time), cookie)
return AllowEventsCookie{cookie}
}
func (cook AllowEventsCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for AllowEvents
func allowEventsRequest(c *xgb.Conn, Mode byte, Time Timestamp) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 35 // request opcode
b += 1
buf[b] = Mode
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Time))
b += 4
return buf
}
// Request GrabServer
// size: 4
type GrabServerCookie struct {
*xgb.Cookie
}
// Write request to wire for GrabServer
func GrabServer(c *xgb.Conn) GrabServerCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(grabServerRequest(c), cookie)
return GrabServerCookie{cookie}
}
func GrabServerChecked(c *xgb.Conn) GrabServerCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(grabServerRequest(c), cookie)
return GrabServerCookie{cookie}
}
func (cook GrabServerCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for GrabServer
func grabServerRequest(c *xgb.Conn) []byte {
size := 4
b := 0
buf := make([]byte, size)
buf[b] = 36 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
return buf
}
// Request UngrabServer
// size: 4
type UngrabServerCookie struct {
*xgb.Cookie
}
// Write request to wire for UngrabServer
func UngrabServer(c *xgb.Conn) UngrabServerCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(ungrabServerRequest(c), cookie)
return UngrabServerCookie{cookie}
}
func UngrabServerChecked(c *xgb.Conn) UngrabServerCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(ungrabServerRequest(c), cookie)
return UngrabServerCookie{cookie}
}
func (cook UngrabServerCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for UngrabServer
func ungrabServerRequest(c *xgb.Conn) []byte {
size := 4
b := 0
buf := make([]byte, size)
buf[b] = 37 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
return buf
}
// Request QueryPointer
// size: 8
type QueryPointerCookie struct {
*xgb.Cookie
}
func QueryPointer(c *xgb.Conn, Window Window) QueryPointerCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(queryPointerRequest(c, Window), cookie)
return QueryPointerCookie{cookie}
}
func QueryPointerUnchecked(c *xgb.Conn, Window Window) QueryPointerCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(queryPointerRequest(c, Window), cookie)
return QueryPointerCookie{cookie}
}
// Request reply for QueryPointer
// size: 28
type QueryPointerReply struct {
Sequence uint16
Length uint32
SameScreen bool
Root Window
Child Window
RootX int16
RootY int16
WinX int16
WinY int16
Mask uint16
// padding: 2 bytes
}
// Waits and reads reply data from request QueryPointer
func (cook QueryPointerCookie) Reply() (*QueryPointerReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return queryPointerReply(buf), nil
}
// Read reply into structure from buffer for QueryPointer
func queryPointerReply(buf []byte) *QueryPointerReply {
v := new(QueryPointerReply)
b := 1 // skip reply determinant
if buf[b] == 1 {
v.SameScreen = true
} else {
v.SameScreen = false
}
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.Root = Window(xgb.Get32(buf[b:]))
b += 4
v.Child = Window(xgb.Get32(buf[b:]))
b += 4
v.RootX = int16(xgb.Get16(buf[b:]))
b += 2
v.RootY = int16(xgb.Get16(buf[b:]))
b += 2
v.WinX = int16(xgb.Get16(buf[b:]))
b += 2
v.WinY = int16(xgb.Get16(buf[b:]))
b += 2
v.Mask = xgb.Get16(buf[b:])
b += 2
b += 2 // padding
return v
}
// Write request to wire for QueryPointer
func queryPointerRequest(c *xgb.Conn, Window Window) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 38 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
return buf
}
// Request GetMotionEvents
// size: 16
type GetMotionEventsCookie struct {
*xgb.Cookie
}
func GetMotionEvents(c *xgb.Conn, Window Window, Start Timestamp, Stop Timestamp) GetMotionEventsCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(getMotionEventsRequest(c, Window, Start, Stop), cookie)
return GetMotionEventsCookie{cookie}
}
func GetMotionEventsUnchecked(c *xgb.Conn, Window Window, Start Timestamp, Stop Timestamp) GetMotionEventsCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(getMotionEventsRequest(c, Window, Start, Stop), cookie)
return GetMotionEventsCookie{cookie}
}
// Request reply for GetMotionEvents
// size: (32 + xgb.Pad((int(EventsLen) * 8)))
type GetMotionEventsReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
EventsLen uint32
// padding: 20 bytes
Events []Timecoord // size: xgb.Pad((int(EventsLen) * 8))
}
// Waits and reads reply data from request GetMotionEvents
func (cook GetMotionEventsCookie) Reply() (*GetMotionEventsReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return getMotionEventsReply(buf), nil
}
// Read reply into structure from buffer for GetMotionEvents
func getMotionEventsReply(buf []byte) *GetMotionEventsReply {
v := new(GetMotionEventsReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.EventsLen = xgb.Get32(buf[b:])
b += 4
b += 20 // padding
v.Events = make([]Timecoord, v.EventsLen)
b += TimecoordReadList(buf[b:], v.Events)
return v
}
// Write request to wire for GetMotionEvents
func getMotionEventsRequest(c *xgb.Conn, Window Window, Start Timestamp, Stop Timestamp) []byte {
size := 16
b := 0
buf := make([]byte, size)
buf[b] = 39 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
xgb.Put32(buf[b:], uint32(Start))
b += 4
xgb.Put32(buf[b:], uint32(Stop))
b += 4
return buf
}
// Request TranslateCoordinates
// size: 16
type TranslateCoordinatesCookie struct {
*xgb.Cookie
}
func TranslateCoordinates(c *xgb.Conn, SrcWindow Window, DstWindow Window, SrcX int16, SrcY int16) TranslateCoordinatesCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(translateCoordinatesRequest(c, SrcWindow, DstWindow, SrcX, SrcY), cookie)
return TranslateCoordinatesCookie{cookie}
}
func TranslateCoordinatesUnchecked(c *xgb.Conn, SrcWindow Window, DstWindow Window, SrcX int16, SrcY int16) TranslateCoordinatesCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(translateCoordinatesRequest(c, SrcWindow, DstWindow, SrcX, SrcY), cookie)
return TranslateCoordinatesCookie{cookie}
}
// Request reply for TranslateCoordinates
// size: 16
type TranslateCoordinatesReply struct {
Sequence uint16
Length uint32
SameScreen bool
Child Window
DstX int16
DstY int16
}
// Waits and reads reply data from request TranslateCoordinates
func (cook TranslateCoordinatesCookie) Reply() (*TranslateCoordinatesReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return translateCoordinatesReply(buf), nil
}
// Read reply into structure from buffer for TranslateCoordinates
func translateCoordinatesReply(buf []byte) *TranslateCoordinatesReply {
v := new(TranslateCoordinatesReply)
b := 1 // skip reply determinant
if buf[b] == 1 {
v.SameScreen = true
} else {
v.SameScreen = false
}
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.Child = Window(xgb.Get32(buf[b:]))
b += 4
v.DstX = int16(xgb.Get16(buf[b:]))
b += 2
v.DstY = int16(xgb.Get16(buf[b:]))
b += 2
return v
}
// Write request to wire for TranslateCoordinates
func translateCoordinatesRequest(c *xgb.Conn, SrcWindow Window, DstWindow Window, SrcX int16, SrcY int16) []byte {
size := 16
b := 0
buf := make([]byte, size)
buf[b] = 40 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(SrcWindow))
b += 4
xgb.Put32(buf[b:], uint32(DstWindow))
b += 4
xgb.Put16(buf[b:], uint16(SrcX))
b += 2
xgb.Put16(buf[b:], uint16(SrcY))
b += 2
return buf
}
// Request WarpPointer
// size: 24
type WarpPointerCookie struct {
*xgb.Cookie
}
// Write request to wire for WarpPointer
func WarpPointer(c *xgb.Conn, SrcWindow Window, DstWindow Window, SrcX int16, SrcY int16, SrcWidth uint16, SrcHeight uint16, DstX int16, DstY int16) WarpPointerCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(warpPointerRequest(c, SrcWindow, DstWindow, SrcX, SrcY, SrcWidth, SrcHeight, DstX, DstY), cookie)
return WarpPointerCookie{cookie}
}
func WarpPointerChecked(c *xgb.Conn, SrcWindow Window, DstWindow Window, SrcX int16, SrcY int16, SrcWidth uint16, SrcHeight uint16, DstX int16, DstY int16) WarpPointerCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(warpPointerRequest(c, SrcWindow, DstWindow, SrcX, SrcY, SrcWidth, SrcHeight, DstX, DstY), cookie)
return WarpPointerCookie{cookie}
}
func (cook WarpPointerCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for WarpPointer
func warpPointerRequest(c *xgb.Conn, SrcWindow Window, DstWindow Window, SrcX int16, SrcY int16, SrcWidth uint16, SrcHeight uint16, DstX int16, DstY int16) []byte {
size := 24
b := 0
buf := make([]byte, size)
buf[b] = 41 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(SrcWindow))
b += 4
xgb.Put32(buf[b:], uint32(DstWindow))
b += 4
xgb.Put16(buf[b:], uint16(SrcX))
b += 2
xgb.Put16(buf[b:], uint16(SrcY))
b += 2
xgb.Put16(buf[b:], SrcWidth)
b += 2
xgb.Put16(buf[b:], SrcHeight)
b += 2
xgb.Put16(buf[b:], uint16(DstX))
b += 2
xgb.Put16(buf[b:], uint16(DstY))
b += 2
return buf
}
// Request SetInputFocus
// size: 12
type SetInputFocusCookie struct {
*xgb.Cookie
}
// Write request to wire for SetInputFocus
func SetInputFocus(c *xgb.Conn, RevertTo byte, Focus Window, Time Timestamp) SetInputFocusCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(setInputFocusRequest(c, RevertTo, Focus, Time), cookie)
return SetInputFocusCookie{cookie}
}
func SetInputFocusChecked(c *xgb.Conn, RevertTo byte, Focus Window, Time Timestamp) SetInputFocusCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(setInputFocusRequest(c, RevertTo, Focus, Time), cookie)
return SetInputFocusCookie{cookie}
}
func (cook SetInputFocusCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for SetInputFocus
func setInputFocusRequest(c *xgb.Conn, RevertTo byte, Focus Window, Time Timestamp) []byte {
size := 12
b := 0
buf := make([]byte, size)
buf[b] = 42 // request opcode
b += 1
buf[b] = RevertTo
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Focus))
b += 4
xgb.Put32(buf[b:], uint32(Time))
b += 4
return buf
}
// Request GetInputFocus
// size: 4
type GetInputFocusCookie struct {
*xgb.Cookie
}
func GetInputFocus(c *xgb.Conn) GetInputFocusCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(getInputFocusRequest(c), cookie)
return GetInputFocusCookie{cookie}
}
func GetInputFocusUnchecked(c *xgb.Conn) GetInputFocusCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(getInputFocusRequest(c), cookie)
return GetInputFocusCookie{cookie}
}
// Request reply for GetInputFocus
// size: 12
type GetInputFocusReply struct {
Sequence uint16
Length uint32
RevertTo byte
Focus Window
}
// Waits and reads reply data from request GetInputFocus
func (cook GetInputFocusCookie) Reply() (*GetInputFocusReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return getInputFocusReply(buf), nil
}
// Read reply into structure from buffer for GetInputFocus
func getInputFocusReply(buf []byte) *GetInputFocusReply {
v := new(GetInputFocusReply)
b := 1 // skip reply determinant
v.RevertTo = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.Focus = Window(xgb.Get32(buf[b:]))
b += 4
return v
}
// Write request to wire for GetInputFocus
func getInputFocusRequest(c *xgb.Conn) []byte {
size := 4
b := 0
buf := make([]byte, size)
buf[b] = 43 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
return buf
}
// Request QueryKeymap
// size: 4
type QueryKeymapCookie struct {
*xgb.Cookie
}
func QueryKeymap(c *xgb.Conn) QueryKeymapCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(queryKeymapRequest(c), cookie)
return QueryKeymapCookie{cookie}
}
func QueryKeymapUnchecked(c *xgb.Conn) QueryKeymapCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(queryKeymapRequest(c), cookie)
return QueryKeymapCookie{cookie}
}
// Request reply for QueryKeymap
// size: 40
type QueryKeymapReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
Keys []byte // size: 32
}
// Waits and reads reply data from request QueryKeymap
func (cook QueryKeymapCookie) Reply() (*QueryKeymapReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return queryKeymapReply(buf), nil
}
// Read reply into structure from buffer for QueryKeymap
func queryKeymapReply(buf []byte) *QueryKeymapReply {
v := new(QueryKeymapReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.Keys = make([]byte, 32)
copy(v.Keys[:32], buf[b:])
b += xgb.Pad(int(32))
return v
}
// Write request to wire for QueryKeymap
func queryKeymapRequest(c *xgb.Conn) []byte {
size := 4
b := 0
buf := make([]byte, size)
buf[b] = 44 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
return buf
}
// Request OpenFont
// size: xgb.Pad((12 + xgb.Pad((int(NameLen) * 1))))
type OpenFontCookie struct {
*xgb.Cookie
}
// Write request to wire for OpenFont
func OpenFont(c *xgb.Conn, Fid Font, NameLen uint16, Name string) OpenFontCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(openFontRequest(c, Fid, NameLen, Name), cookie)
return OpenFontCookie{cookie}
}
func OpenFontChecked(c *xgb.Conn, Fid Font, NameLen uint16, Name string) OpenFontCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(openFontRequest(c, Fid, NameLen, Name), cookie)
return OpenFontCookie{cookie}
}
func (cook OpenFontCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for OpenFont
func openFontRequest(c *xgb.Conn, Fid Font, NameLen uint16, Name string) []byte {
size := xgb.Pad((12 + xgb.Pad((int(NameLen) * 1))))
b := 0
buf := make([]byte, size)
buf[b] = 45 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Fid))
b += 4
xgb.Put16(buf[b:], NameLen)
b += 2
b += 2 // padding
copy(buf[b:], Name[:NameLen])
b += xgb.Pad(int(NameLen))
return buf
}
// Request CloseFont
// size: 8
type CloseFontCookie struct {
*xgb.Cookie
}
// Write request to wire for CloseFont
func CloseFont(c *xgb.Conn, Font Font) CloseFontCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(closeFontRequest(c, Font), cookie)
return CloseFontCookie{cookie}
}
func CloseFontChecked(c *xgb.Conn, Font Font) CloseFontCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(closeFontRequest(c, Font), cookie)
return CloseFontCookie{cookie}
}
func (cook CloseFontCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for CloseFont
func closeFontRequest(c *xgb.Conn, Font Font) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 46 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Font))
b += 4
return buf
}
// Request QueryFont
// size: 8
type QueryFontCookie struct {
*xgb.Cookie
}
func QueryFont(c *xgb.Conn, Font Fontable) QueryFontCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(queryFontRequest(c, Font), cookie)
return QueryFontCookie{cookie}
}
func QueryFontUnchecked(c *xgb.Conn, Font Fontable) QueryFontCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(queryFontRequest(c, Font), cookie)
return QueryFontCookie{cookie}
}
// Request reply for QueryFont
// size: ((60 + xgb.Pad((int(PropertiesLen) * 8))) + xgb.Pad((int(CharInfosLen) * 12)))
type QueryFontReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
MinBounds Charinfo
// padding: 4 bytes
MaxBounds Charinfo
// padding: 4 bytes
MinCharOrByte2 uint16
MaxCharOrByte2 uint16
DefaultChar uint16
PropertiesLen uint16
DrawDirection byte
MinByte1 byte
MaxByte1 byte
AllCharsExist bool
FontAscent int16
FontDescent int16
CharInfosLen uint32
Properties []Fontprop // size: xgb.Pad((int(PropertiesLen) * 8))
CharInfos []Charinfo // size: xgb.Pad((int(CharInfosLen) * 12))
}
// Waits and reads reply data from request QueryFont
func (cook QueryFontCookie) Reply() (*QueryFontReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return queryFontReply(buf), nil
}
// Read reply into structure from buffer for QueryFont
func queryFontReply(buf []byte) *QueryFontReply {
v := new(QueryFontReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.MinBounds = Charinfo{}
b += CharinfoRead(buf[b:], &v.MinBounds)
b += 4 // padding
v.MaxBounds = Charinfo{}
b += CharinfoRead(buf[b:], &v.MaxBounds)
b += 4 // padding
v.MinCharOrByte2 = xgb.Get16(buf[b:])
b += 2
v.MaxCharOrByte2 = xgb.Get16(buf[b:])
b += 2
v.DefaultChar = xgb.Get16(buf[b:])
b += 2
v.PropertiesLen = xgb.Get16(buf[b:])
b += 2
v.DrawDirection = buf[b]
b += 1
v.MinByte1 = buf[b]
b += 1
v.MaxByte1 = buf[b]
b += 1
if buf[b] == 1 {
v.AllCharsExist = true
} else {
v.AllCharsExist = false
}
b += 1
v.FontAscent = int16(xgb.Get16(buf[b:]))
b += 2
v.FontDescent = int16(xgb.Get16(buf[b:]))
b += 2
v.CharInfosLen = xgb.Get32(buf[b:])
b += 4
v.Properties = make([]Fontprop, v.PropertiesLen)
b += FontpropReadList(buf[b:], v.Properties)
v.CharInfos = make([]Charinfo, v.CharInfosLen)
b += CharinfoReadList(buf[b:], v.CharInfos)
return v
}
// Write request to wire for QueryFont
func queryFontRequest(c *xgb.Conn, Font Fontable) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 47 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Font))
b += 4
return buf
}
// Request QueryTextExtents
// size: xgb.Pad((8 + xgb.Pad((len(String) * 2))))
type QueryTextExtentsCookie struct {
*xgb.Cookie
}
func QueryTextExtents(c *xgb.Conn, Font Fontable, String []Char2b, StringLen uint16) QueryTextExtentsCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(queryTextExtentsRequest(c, Font, String, StringLen), cookie)
return QueryTextExtentsCookie{cookie}
}
func QueryTextExtentsUnchecked(c *xgb.Conn, Font Fontable, String []Char2b, StringLen uint16) QueryTextExtentsCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(queryTextExtentsRequest(c, Font, String, StringLen), cookie)
return QueryTextExtentsCookie{cookie}
}
// Request reply for QueryTextExtents
// size: 28
type QueryTextExtentsReply struct {
Sequence uint16
Length uint32
DrawDirection byte
FontAscent int16
FontDescent int16
OverallAscent int16
OverallDescent int16
OverallWidth int32
OverallLeft int32
OverallRight int32
}
// Waits and reads reply data from request QueryTextExtents
func (cook QueryTextExtentsCookie) Reply() (*QueryTextExtentsReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return queryTextExtentsReply(buf), nil
}
// Read reply into structure from buffer for QueryTextExtents
func queryTextExtentsReply(buf []byte) *QueryTextExtentsReply {
v := new(QueryTextExtentsReply)
b := 1 // skip reply determinant
v.DrawDirection = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.FontAscent = int16(xgb.Get16(buf[b:]))
b += 2
v.FontDescent = int16(xgb.Get16(buf[b:]))
b += 2
v.OverallAscent = int16(xgb.Get16(buf[b:]))
b += 2
v.OverallDescent = int16(xgb.Get16(buf[b:]))
b += 2
v.OverallWidth = int32(xgb.Get32(buf[b:]))
b += 4
v.OverallLeft = int32(xgb.Get32(buf[b:]))
b += 4
v.OverallRight = int32(xgb.Get32(buf[b:]))
b += 4
return v
}
// Write request to wire for QueryTextExtents
func queryTextExtentsRequest(c *xgb.Conn, Font Fontable, String []Char2b, StringLen uint16) []byte {
size := xgb.Pad((8 + xgb.Pad((len(String) * 2))))
b := 0
buf := make([]byte, size)
buf[b] = 48 // request opcode
b += 1
buf[b] = byte((int(StringLen) & 1))
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Font))
b += 4
b += Char2bListBytes(buf[b:], String)
// skip writing local field: StringLen (2) :: uint16
return buf
}
// Request ListFonts
// size: xgb.Pad((8 + xgb.Pad((int(PatternLen) * 1))))
type ListFontsCookie struct {
*xgb.Cookie
}
func ListFonts(c *xgb.Conn, MaxNames uint16, PatternLen uint16, Pattern string) ListFontsCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(listFontsRequest(c, MaxNames, PatternLen, Pattern), cookie)
return ListFontsCookie{cookie}
}
func ListFontsUnchecked(c *xgb.Conn, MaxNames uint16, PatternLen uint16, Pattern string) ListFontsCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(listFontsRequest(c, MaxNames, PatternLen, Pattern), cookie)
return ListFontsCookie{cookie}
}
// Request reply for ListFonts
// size: (32 + StrListSize(Names))
type ListFontsReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
NamesLen uint16
// padding: 22 bytes
Names []Str // size: StrListSize(Names)
}
// Waits and reads reply data from request ListFonts
func (cook ListFontsCookie) Reply() (*ListFontsReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return listFontsReply(buf), nil
}
// Read reply into structure from buffer for ListFonts
func listFontsReply(buf []byte) *ListFontsReply {
v := new(ListFontsReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.NamesLen = xgb.Get16(buf[b:])
b += 2
b += 22 // padding
v.Names = make([]Str, v.NamesLen)
b += StrReadList(buf[b:], v.Names)
return v
}
// Write request to wire for ListFonts
func listFontsRequest(c *xgb.Conn, MaxNames uint16, PatternLen uint16, Pattern string) []byte {
size := xgb.Pad((8 + xgb.Pad((int(PatternLen) * 1))))
b := 0
buf := make([]byte, size)
buf[b] = 49 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put16(buf[b:], MaxNames)
b += 2
xgb.Put16(buf[b:], PatternLen)
b += 2
copy(buf[b:], Pattern[:PatternLen])
b += xgb.Pad(int(PatternLen))
return buf
}
// Request ListFontsWithInfo
// size: xgb.Pad((8 + xgb.Pad((int(PatternLen) * 1))))
type ListFontsWithInfoCookie struct {
*xgb.Cookie
}
func ListFontsWithInfo(c *xgb.Conn, MaxNames uint16, PatternLen uint16, Pattern string) ListFontsWithInfoCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(listFontsWithInfoRequest(c, MaxNames, PatternLen, Pattern), cookie)
return ListFontsWithInfoCookie{cookie}
}
func ListFontsWithInfoUnchecked(c *xgb.Conn, MaxNames uint16, PatternLen uint16, Pattern string) ListFontsWithInfoCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(listFontsWithInfoRequest(c, MaxNames, PatternLen, Pattern), cookie)
return ListFontsWithInfoCookie{cookie}
}
// Request reply for ListFontsWithInfo
// size: ((60 + xgb.Pad((int(PropertiesLen) * 8))) + xgb.Pad((int(NameLen) * 1)))
type ListFontsWithInfoReply struct {
Sequence uint16
Length uint32
NameLen byte
MinBounds Charinfo
// padding: 4 bytes
MaxBounds Charinfo
// padding: 4 bytes
MinCharOrByte2 uint16
MaxCharOrByte2 uint16
DefaultChar uint16
PropertiesLen uint16
DrawDirection byte
MinByte1 byte
MaxByte1 byte
AllCharsExist bool
FontAscent int16
FontDescent int16
RepliesHint uint32
Properties []Fontprop // size: xgb.Pad((int(PropertiesLen) * 8))
Name string // size: xgb.Pad((int(NameLen) * 1))
}
// Waits and reads reply data from request ListFontsWithInfo
func (cook ListFontsWithInfoCookie) Reply() (*ListFontsWithInfoReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return listFontsWithInfoReply(buf), nil
}
// Read reply into structure from buffer for ListFontsWithInfo
func listFontsWithInfoReply(buf []byte) *ListFontsWithInfoReply {
v := new(ListFontsWithInfoReply)
b := 1 // skip reply determinant
v.NameLen = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.MinBounds = Charinfo{}
b += CharinfoRead(buf[b:], &v.MinBounds)
b += 4 // padding
v.MaxBounds = Charinfo{}
b += CharinfoRead(buf[b:], &v.MaxBounds)
b += 4 // padding
v.MinCharOrByte2 = xgb.Get16(buf[b:])
b += 2
v.MaxCharOrByte2 = xgb.Get16(buf[b:])
b += 2
v.DefaultChar = xgb.Get16(buf[b:])
b += 2
v.PropertiesLen = xgb.Get16(buf[b:])
b += 2
v.DrawDirection = buf[b]
b += 1
v.MinByte1 = buf[b]
b += 1
v.MaxByte1 = buf[b]
b += 1
if buf[b] == 1 {
v.AllCharsExist = true
} else {
v.AllCharsExist = false
}
b += 1
v.FontAscent = int16(xgb.Get16(buf[b:]))
b += 2
v.FontDescent = int16(xgb.Get16(buf[b:]))
b += 2
v.RepliesHint = xgb.Get32(buf[b:])
b += 4
v.Properties = make([]Fontprop, v.PropertiesLen)
b += FontpropReadList(buf[b:], v.Properties)
{
byteString := make([]byte, v.NameLen)
copy(byteString[:v.NameLen], buf[b:])
v.Name = string(byteString)
b += xgb.Pad(int(v.NameLen))
}
return v
}
// Write request to wire for ListFontsWithInfo
func listFontsWithInfoRequest(c *xgb.Conn, MaxNames uint16, PatternLen uint16, Pattern string) []byte {
size := xgb.Pad((8 + xgb.Pad((int(PatternLen) * 1))))
b := 0
buf := make([]byte, size)
buf[b] = 50 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put16(buf[b:], MaxNames)
b += 2
xgb.Put16(buf[b:], PatternLen)
b += 2
copy(buf[b:], Pattern[:PatternLen])
b += xgb.Pad(int(PatternLen))
return buf
}
// Request SetFontPath
// size: xgb.Pad((8 + StrListSize(Font)))
type SetFontPathCookie struct {
*xgb.Cookie
}
// Write request to wire for SetFontPath
func SetFontPath(c *xgb.Conn, FontQty uint16, Font []Str) SetFontPathCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(setFontPathRequest(c, FontQty, Font), cookie)
return SetFontPathCookie{cookie}
}
func SetFontPathChecked(c *xgb.Conn, FontQty uint16, Font []Str) SetFontPathCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(setFontPathRequest(c, FontQty, Font), cookie)
return SetFontPathCookie{cookie}
}
func (cook SetFontPathCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for SetFontPath
func setFontPathRequest(c *xgb.Conn, FontQty uint16, Font []Str) []byte {
size := xgb.Pad((8 + StrListSize(Font)))
b := 0
buf := make([]byte, size)
buf[b] = 51 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put16(buf[b:], FontQty)
b += 2
b += 2 // padding
b += StrListBytes(buf[b:], Font)
return buf
}
// Request GetFontPath
// size: 4
type GetFontPathCookie struct {
*xgb.Cookie
}
func GetFontPath(c *xgb.Conn) GetFontPathCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(getFontPathRequest(c), cookie)
return GetFontPathCookie{cookie}
}
func GetFontPathUnchecked(c *xgb.Conn) GetFontPathCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(getFontPathRequest(c), cookie)
return GetFontPathCookie{cookie}
}
// Request reply for GetFontPath
// size: (32 + StrListSize(Path))
type GetFontPathReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
PathLen uint16
// padding: 22 bytes
Path []Str // size: StrListSize(Path)
}
// Waits and reads reply data from request GetFontPath
func (cook GetFontPathCookie) Reply() (*GetFontPathReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return getFontPathReply(buf), nil
}
// Read reply into structure from buffer for GetFontPath
func getFontPathReply(buf []byte) *GetFontPathReply {
v := new(GetFontPathReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.PathLen = xgb.Get16(buf[b:])
b += 2
b += 22 // padding
v.Path = make([]Str, v.PathLen)
b += StrReadList(buf[b:], v.Path)
return v
}
// Write request to wire for GetFontPath
func getFontPathRequest(c *xgb.Conn) []byte {
size := 4
b := 0
buf := make([]byte, size)
buf[b] = 52 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
return buf
}
// Request CreatePixmap
// size: 16
type CreatePixmapCookie struct {
*xgb.Cookie
}
// Write request to wire for CreatePixmap
func CreatePixmap(c *xgb.Conn, Depth byte, Pid Pixmap, Drawable Drawable, Width uint16, Height uint16) CreatePixmapCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(createPixmapRequest(c, Depth, Pid, Drawable, Width, Height), cookie)
return CreatePixmapCookie{cookie}
}
func CreatePixmapChecked(c *xgb.Conn, Depth byte, Pid Pixmap, Drawable Drawable, Width uint16, Height uint16) CreatePixmapCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(createPixmapRequest(c, Depth, Pid, Drawable, Width, Height), cookie)
return CreatePixmapCookie{cookie}
}
func (cook CreatePixmapCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for CreatePixmap
func createPixmapRequest(c *xgb.Conn, Depth byte, Pid Pixmap, Drawable Drawable, Width uint16, Height uint16) []byte {
size := 16
b := 0
buf := make([]byte, size)
buf[b] = 53 // request opcode
b += 1
buf[b] = Depth
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Pid))
b += 4
xgb.Put32(buf[b:], uint32(Drawable))
b += 4
xgb.Put16(buf[b:], Width)
b += 2
xgb.Put16(buf[b:], Height)
b += 2
return buf
}
// Request FreePixmap
// size: 8
type FreePixmapCookie struct {
*xgb.Cookie
}
// Write request to wire for FreePixmap
func FreePixmap(c *xgb.Conn, Pixmap Pixmap) FreePixmapCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(freePixmapRequest(c, Pixmap), cookie)
return FreePixmapCookie{cookie}
}
func FreePixmapChecked(c *xgb.Conn, Pixmap Pixmap) FreePixmapCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(freePixmapRequest(c, Pixmap), cookie)
return FreePixmapCookie{cookie}
}
func (cook FreePixmapCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for FreePixmap
func freePixmapRequest(c *xgb.Conn, Pixmap Pixmap) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 54 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Pixmap))
b += 4
return buf
}
// Request CreateGC
// size: xgb.Pad((12 + (4 + xgb.Pad((4 * xgb.PopCount(int(ValueMask)))))))
type CreateGCCookie struct {
*xgb.Cookie
}
// Write request to wire for CreateGC
func CreateGC(c *xgb.Conn, Cid Gcontext, Drawable Drawable, ValueMask uint32, ValueList []uint32) CreateGCCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(createGCRequest(c, Cid, Drawable, ValueMask, ValueList), cookie)
return CreateGCCookie{cookie}
}
func CreateGCChecked(c *xgb.Conn, Cid Gcontext, Drawable Drawable, ValueMask uint32, ValueList []uint32) CreateGCCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(createGCRequest(c, Cid, Drawable, ValueMask, ValueList), cookie)
return CreateGCCookie{cookie}
}
func (cook CreateGCCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for CreateGC
func createGCRequest(c *xgb.Conn, Cid Gcontext, Drawable Drawable, ValueMask uint32, ValueList []uint32) []byte {
size := xgb.Pad((12 + (4 + xgb.Pad((4 * xgb.PopCount(int(ValueMask)))))))
b := 0
buf := make([]byte, size)
buf[b] = 55 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Cid))
b += 4
xgb.Put32(buf[b:], uint32(Drawable))
b += 4
xgb.Put32(buf[b:], ValueMask)
b += 4
for i := 0; i < xgb.PopCount(int(ValueMask)); i++ {
xgb.Put32(buf[b:], ValueList[i])
b += 4
}
b = xgb.Pad(b)
return buf
}
// Request ChangeGC
// size: xgb.Pad((8 + (4 + xgb.Pad((4 * xgb.PopCount(int(ValueMask)))))))
type ChangeGCCookie struct {
*xgb.Cookie
}
// Write request to wire for ChangeGC
func ChangeGC(c *xgb.Conn, Gc Gcontext, ValueMask uint32, ValueList []uint32) ChangeGCCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(changeGCRequest(c, Gc, ValueMask, ValueList), cookie)
return ChangeGCCookie{cookie}
}
func ChangeGCChecked(c *xgb.Conn, Gc Gcontext, ValueMask uint32, ValueList []uint32) ChangeGCCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(changeGCRequest(c, Gc, ValueMask, ValueList), cookie)
return ChangeGCCookie{cookie}
}
func (cook ChangeGCCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for ChangeGC
func changeGCRequest(c *xgb.Conn, Gc Gcontext, ValueMask uint32, ValueList []uint32) []byte {
size := xgb.Pad((8 + (4 + xgb.Pad((4 * xgb.PopCount(int(ValueMask)))))))
b := 0
buf := make([]byte, size)
buf[b] = 56 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Gc))
b += 4
xgb.Put32(buf[b:], ValueMask)
b += 4
for i := 0; i < xgb.PopCount(int(ValueMask)); i++ {
xgb.Put32(buf[b:], ValueList[i])
b += 4
}
b = xgb.Pad(b)
return buf
}
// Request CopyGC
// size: 16
type CopyGCCookie struct {
*xgb.Cookie
}
// Write request to wire for CopyGC
func CopyGC(c *xgb.Conn, SrcGc Gcontext, DstGc Gcontext, ValueMask uint32) CopyGCCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(copyGCRequest(c, SrcGc, DstGc, ValueMask), cookie)
return CopyGCCookie{cookie}
}
func CopyGCChecked(c *xgb.Conn, SrcGc Gcontext, DstGc Gcontext, ValueMask uint32) CopyGCCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(copyGCRequest(c, SrcGc, DstGc, ValueMask), cookie)
return CopyGCCookie{cookie}
}
func (cook CopyGCCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for CopyGC
func copyGCRequest(c *xgb.Conn, SrcGc Gcontext, DstGc Gcontext, ValueMask uint32) []byte {
size := 16
b := 0
buf := make([]byte, size)
buf[b] = 57 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(SrcGc))
b += 4
xgb.Put32(buf[b:], uint32(DstGc))
b += 4
xgb.Put32(buf[b:], ValueMask)
b += 4
return buf
}
// Request SetDashes
// size: xgb.Pad((12 + xgb.Pad((int(DashesLen) * 1))))
type SetDashesCookie struct {
*xgb.Cookie
}
// Write request to wire for SetDashes
func SetDashes(c *xgb.Conn, Gc Gcontext, DashOffset uint16, DashesLen uint16, Dashes []byte) SetDashesCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(setDashesRequest(c, Gc, DashOffset, DashesLen, Dashes), cookie)
return SetDashesCookie{cookie}
}
func SetDashesChecked(c *xgb.Conn, Gc Gcontext, DashOffset uint16, DashesLen uint16, Dashes []byte) SetDashesCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(setDashesRequest(c, Gc, DashOffset, DashesLen, Dashes), cookie)
return SetDashesCookie{cookie}
}
func (cook SetDashesCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for SetDashes
func setDashesRequest(c *xgb.Conn, Gc Gcontext, DashOffset uint16, DashesLen uint16, Dashes []byte) []byte {
size := xgb.Pad((12 + xgb.Pad((int(DashesLen) * 1))))
b := 0
buf := make([]byte, size)
buf[b] = 58 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Gc))
b += 4
xgb.Put16(buf[b:], DashOffset)
b += 2
xgb.Put16(buf[b:], DashesLen)
b += 2
copy(buf[b:], Dashes[:DashesLen])
b += xgb.Pad(int(DashesLen))
return buf
}
// Request SetClipRectangles
// size: xgb.Pad((12 + xgb.Pad((len(Rectangles) * 8))))
type SetClipRectanglesCookie struct {
*xgb.Cookie
}
// Write request to wire for SetClipRectangles
func SetClipRectangles(c *xgb.Conn, Ordering byte, Gc Gcontext, ClipXOrigin int16, ClipYOrigin int16, Rectangles []Rectangle) SetClipRectanglesCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(setClipRectanglesRequest(c, Ordering, Gc, ClipXOrigin, ClipYOrigin, Rectangles), cookie)
return SetClipRectanglesCookie{cookie}
}
func SetClipRectanglesChecked(c *xgb.Conn, Ordering byte, Gc Gcontext, ClipXOrigin int16, ClipYOrigin int16, Rectangles []Rectangle) SetClipRectanglesCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(setClipRectanglesRequest(c, Ordering, Gc, ClipXOrigin, ClipYOrigin, Rectangles), cookie)
return SetClipRectanglesCookie{cookie}
}
func (cook SetClipRectanglesCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for SetClipRectangles
func setClipRectanglesRequest(c *xgb.Conn, Ordering byte, Gc Gcontext, ClipXOrigin int16, ClipYOrigin int16, Rectangles []Rectangle) []byte {
size := xgb.Pad((12 + xgb.Pad((len(Rectangles) * 8))))
b := 0
buf := make([]byte, size)
buf[b] = 59 // request opcode
b += 1
buf[b] = Ordering
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Gc))
b += 4
xgb.Put16(buf[b:], uint16(ClipXOrigin))
b += 2
xgb.Put16(buf[b:], uint16(ClipYOrigin))
b += 2
b += RectangleListBytes(buf[b:], Rectangles)
return buf
}
// Request FreeGC
// size: 8
type FreeGCCookie struct {
*xgb.Cookie
}
// Write request to wire for FreeGC
func FreeGC(c *xgb.Conn, Gc Gcontext) FreeGCCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(freeGCRequest(c, Gc), cookie)
return FreeGCCookie{cookie}
}
func FreeGCChecked(c *xgb.Conn, Gc Gcontext) FreeGCCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(freeGCRequest(c, Gc), cookie)
return FreeGCCookie{cookie}
}
func (cook FreeGCCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for FreeGC
func freeGCRequest(c *xgb.Conn, Gc Gcontext) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 60 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Gc))
b += 4
return buf
}
// Request ClearArea
// size: 16
type ClearAreaCookie struct {
*xgb.Cookie
}
// Write request to wire for ClearArea
func ClearArea(c *xgb.Conn, Exposures bool, Window Window, X int16, Y int16, Width uint16, Height uint16) ClearAreaCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(clearAreaRequest(c, Exposures, Window, X, Y, Width, Height), cookie)
return ClearAreaCookie{cookie}
}
func ClearAreaChecked(c *xgb.Conn, Exposures bool, Window Window, X int16, Y int16, Width uint16, Height uint16) ClearAreaCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(clearAreaRequest(c, Exposures, Window, X, Y, Width, Height), cookie)
return ClearAreaCookie{cookie}
}
func (cook ClearAreaCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for ClearArea
func clearAreaRequest(c *xgb.Conn, Exposures bool, Window Window, X int16, Y int16, Width uint16, Height uint16) []byte {
size := 16
b := 0
buf := make([]byte, size)
buf[b] = 61 // request opcode
b += 1
if Exposures {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
xgb.Put16(buf[b:], uint16(X))
b += 2
xgb.Put16(buf[b:], uint16(Y))
b += 2
xgb.Put16(buf[b:], Width)
b += 2
xgb.Put16(buf[b:], Height)
b += 2
return buf
}
// Request CopyArea
// size: 28
type CopyAreaCookie struct {
*xgb.Cookie
}
// Write request to wire for CopyArea
func CopyArea(c *xgb.Conn, SrcDrawable Drawable, DstDrawable Drawable, Gc Gcontext, SrcX int16, SrcY int16, DstX int16, DstY int16, Width uint16, Height uint16) CopyAreaCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(copyAreaRequest(c, SrcDrawable, DstDrawable, Gc, SrcX, SrcY, DstX, DstY, Width, Height), cookie)
return CopyAreaCookie{cookie}
}
func CopyAreaChecked(c *xgb.Conn, SrcDrawable Drawable, DstDrawable Drawable, Gc Gcontext, SrcX int16, SrcY int16, DstX int16, DstY int16, Width uint16, Height uint16) CopyAreaCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(copyAreaRequest(c, SrcDrawable, DstDrawable, Gc, SrcX, SrcY, DstX, DstY, Width, Height), cookie)
return CopyAreaCookie{cookie}
}
func (cook CopyAreaCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for CopyArea
func copyAreaRequest(c *xgb.Conn, SrcDrawable Drawable, DstDrawable Drawable, Gc Gcontext, SrcX int16, SrcY int16, DstX int16, DstY int16, Width uint16, Height uint16) []byte {
size := 28
b := 0
buf := make([]byte, size)
buf[b] = 62 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(SrcDrawable))
b += 4
xgb.Put32(buf[b:], uint32(DstDrawable))
b += 4
xgb.Put32(buf[b:], uint32(Gc))
b += 4
xgb.Put16(buf[b:], uint16(SrcX))
b += 2
xgb.Put16(buf[b:], uint16(SrcY))
b += 2
xgb.Put16(buf[b:], uint16(DstX))
b += 2
xgb.Put16(buf[b:], uint16(DstY))
b += 2
xgb.Put16(buf[b:], Width)
b += 2
xgb.Put16(buf[b:], Height)
b += 2
return buf
}
// Request CopyPlane
// size: 32
type CopyPlaneCookie struct {
*xgb.Cookie
}
// Write request to wire for CopyPlane
func CopyPlane(c *xgb.Conn, SrcDrawable Drawable, DstDrawable Drawable, Gc Gcontext, SrcX int16, SrcY int16, DstX int16, DstY int16, Width uint16, Height uint16, BitPlane uint32) CopyPlaneCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(copyPlaneRequest(c, SrcDrawable, DstDrawable, Gc, SrcX, SrcY, DstX, DstY, Width, Height, BitPlane), cookie)
return CopyPlaneCookie{cookie}
}
func CopyPlaneChecked(c *xgb.Conn, SrcDrawable Drawable, DstDrawable Drawable, Gc Gcontext, SrcX int16, SrcY int16, DstX int16, DstY int16, Width uint16, Height uint16, BitPlane uint32) CopyPlaneCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(copyPlaneRequest(c, SrcDrawable, DstDrawable, Gc, SrcX, SrcY, DstX, DstY, Width, Height, BitPlane), cookie)
return CopyPlaneCookie{cookie}
}
func (cook CopyPlaneCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for CopyPlane
func copyPlaneRequest(c *xgb.Conn, SrcDrawable Drawable, DstDrawable Drawable, Gc Gcontext, SrcX int16, SrcY int16, DstX int16, DstY int16, Width uint16, Height uint16, BitPlane uint32) []byte {
size := 32
b := 0
buf := make([]byte, size)
buf[b] = 63 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(SrcDrawable))
b += 4
xgb.Put32(buf[b:], uint32(DstDrawable))
b += 4
xgb.Put32(buf[b:], uint32(Gc))
b += 4
xgb.Put16(buf[b:], uint16(SrcX))
b += 2
xgb.Put16(buf[b:], uint16(SrcY))
b += 2
xgb.Put16(buf[b:], uint16(DstX))
b += 2
xgb.Put16(buf[b:], uint16(DstY))
b += 2
xgb.Put16(buf[b:], Width)
b += 2
xgb.Put16(buf[b:], Height)
b += 2
xgb.Put32(buf[b:], BitPlane)
b += 4
return buf
}
// Request PolyPoint
// size: xgb.Pad((12 + xgb.Pad((len(Points) * 4))))
type PolyPointCookie struct {
*xgb.Cookie
}
// Write request to wire for PolyPoint
func PolyPoint(c *xgb.Conn, CoordinateMode byte, Drawable Drawable, Gc Gcontext, Points []Point) PolyPointCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(polyPointRequest(c, CoordinateMode, Drawable, Gc, Points), cookie)
return PolyPointCookie{cookie}
}
func PolyPointChecked(c *xgb.Conn, CoordinateMode byte, Drawable Drawable, Gc Gcontext, Points []Point) PolyPointCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(polyPointRequest(c, CoordinateMode, Drawable, Gc, Points), cookie)
return PolyPointCookie{cookie}
}
func (cook PolyPointCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for PolyPoint
func polyPointRequest(c *xgb.Conn, CoordinateMode byte, Drawable Drawable, Gc Gcontext, Points []Point) []byte {
size := xgb.Pad((12 + xgb.Pad((len(Points) * 4))))
b := 0
buf := make([]byte, size)
buf[b] = 64 // request opcode
b += 1
buf[b] = CoordinateMode
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Drawable))
b += 4
xgb.Put32(buf[b:], uint32(Gc))
b += 4
b += PointListBytes(buf[b:], Points)
return buf
}
// Request PolyLine
// size: xgb.Pad((12 + xgb.Pad((len(Points) * 4))))
type PolyLineCookie struct {
*xgb.Cookie
}
// Write request to wire for PolyLine
func PolyLine(c *xgb.Conn, CoordinateMode byte, Drawable Drawable, Gc Gcontext, Points []Point) PolyLineCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(polyLineRequest(c, CoordinateMode, Drawable, Gc, Points), cookie)
return PolyLineCookie{cookie}
}
func PolyLineChecked(c *xgb.Conn, CoordinateMode byte, Drawable Drawable, Gc Gcontext, Points []Point) PolyLineCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(polyLineRequest(c, CoordinateMode, Drawable, Gc, Points), cookie)
return PolyLineCookie{cookie}
}
func (cook PolyLineCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for PolyLine
func polyLineRequest(c *xgb.Conn, CoordinateMode byte, Drawable Drawable, Gc Gcontext, Points []Point) []byte {
size := xgb.Pad((12 + xgb.Pad((len(Points) * 4))))
b := 0
buf := make([]byte, size)
buf[b] = 65 // request opcode
b += 1
buf[b] = CoordinateMode
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Drawable))
b += 4
xgb.Put32(buf[b:], uint32(Gc))
b += 4
b += PointListBytes(buf[b:], Points)
return buf
}
// Request PolySegment
// size: xgb.Pad((12 + xgb.Pad((len(Segments) * 8))))
type PolySegmentCookie struct {
*xgb.Cookie
}
// Write request to wire for PolySegment
func PolySegment(c *xgb.Conn, Drawable Drawable, Gc Gcontext, Segments []Segment) PolySegmentCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(polySegmentRequest(c, Drawable, Gc, Segments), cookie)
return PolySegmentCookie{cookie}
}
func PolySegmentChecked(c *xgb.Conn, Drawable Drawable, Gc Gcontext, Segments []Segment) PolySegmentCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(polySegmentRequest(c, Drawable, Gc, Segments), cookie)
return PolySegmentCookie{cookie}
}
func (cook PolySegmentCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for PolySegment
func polySegmentRequest(c *xgb.Conn, Drawable Drawable, Gc Gcontext, Segments []Segment) []byte {
size := xgb.Pad((12 + xgb.Pad((len(Segments) * 8))))
b := 0
buf := make([]byte, size)
buf[b] = 66 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Drawable))
b += 4
xgb.Put32(buf[b:], uint32(Gc))
b += 4
b += SegmentListBytes(buf[b:], Segments)
return buf
}
// Request PolyRectangle
// size: xgb.Pad((12 + xgb.Pad((len(Rectangles) * 8))))
type PolyRectangleCookie struct {
*xgb.Cookie
}
// Write request to wire for PolyRectangle
func PolyRectangle(c *xgb.Conn, Drawable Drawable, Gc Gcontext, Rectangles []Rectangle) PolyRectangleCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(polyRectangleRequest(c, Drawable, Gc, Rectangles), cookie)
return PolyRectangleCookie{cookie}
}
func PolyRectangleChecked(c *xgb.Conn, Drawable Drawable, Gc Gcontext, Rectangles []Rectangle) PolyRectangleCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(polyRectangleRequest(c, Drawable, Gc, Rectangles), cookie)
return PolyRectangleCookie{cookie}
}
func (cook PolyRectangleCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for PolyRectangle
func polyRectangleRequest(c *xgb.Conn, Drawable Drawable, Gc Gcontext, Rectangles []Rectangle) []byte {
size := xgb.Pad((12 + xgb.Pad((len(Rectangles) * 8))))
b := 0
buf := make([]byte, size)
buf[b] = 67 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Drawable))
b += 4
xgb.Put32(buf[b:], uint32(Gc))
b += 4
b += RectangleListBytes(buf[b:], Rectangles)
return buf
}
// Request PolyArc
// size: xgb.Pad((12 + xgb.Pad((len(Arcs) * 12))))
type PolyArcCookie struct {
*xgb.Cookie
}
// Write request to wire for PolyArc
func PolyArc(c *xgb.Conn, Drawable Drawable, Gc Gcontext, Arcs []Arc) PolyArcCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(polyArcRequest(c, Drawable, Gc, Arcs), cookie)
return PolyArcCookie{cookie}
}
func PolyArcChecked(c *xgb.Conn, Drawable Drawable, Gc Gcontext, Arcs []Arc) PolyArcCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(polyArcRequest(c, Drawable, Gc, Arcs), cookie)
return PolyArcCookie{cookie}
}
func (cook PolyArcCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for PolyArc
func polyArcRequest(c *xgb.Conn, Drawable Drawable, Gc Gcontext, Arcs []Arc) []byte {
size := xgb.Pad((12 + xgb.Pad((len(Arcs) * 12))))
b := 0
buf := make([]byte, size)
buf[b] = 68 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Drawable))
b += 4
xgb.Put32(buf[b:], uint32(Gc))
b += 4
b += ArcListBytes(buf[b:], Arcs)
return buf
}
// Request FillPoly
// size: xgb.Pad((16 + xgb.Pad((len(Points) * 4))))
type FillPolyCookie struct {
*xgb.Cookie
}
// Write request to wire for FillPoly
func FillPoly(c *xgb.Conn, Drawable Drawable, Gc Gcontext, Shape byte, CoordinateMode byte, Points []Point) FillPolyCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(fillPolyRequest(c, Drawable, Gc, Shape, CoordinateMode, Points), cookie)
return FillPolyCookie{cookie}
}
func FillPolyChecked(c *xgb.Conn, Drawable Drawable, Gc Gcontext, Shape byte, CoordinateMode byte, Points []Point) FillPolyCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(fillPolyRequest(c, Drawable, Gc, Shape, CoordinateMode, Points), cookie)
return FillPolyCookie{cookie}
}
func (cook FillPolyCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for FillPoly
func fillPolyRequest(c *xgb.Conn, Drawable Drawable, Gc Gcontext, Shape byte, CoordinateMode byte, Points []Point) []byte {
size := xgb.Pad((16 + xgb.Pad((len(Points) * 4))))
b := 0
buf := make([]byte, size)
buf[b] = 69 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Drawable))
b += 4
xgb.Put32(buf[b:], uint32(Gc))
b += 4
buf[b] = Shape
b += 1
buf[b] = CoordinateMode
b += 1
b += 2 // padding
b += PointListBytes(buf[b:], Points)
return buf
}
// Request PolyFillRectangle
// size: xgb.Pad((12 + xgb.Pad((len(Rectangles) * 8))))
type PolyFillRectangleCookie struct {
*xgb.Cookie
}
// Write request to wire for PolyFillRectangle
func PolyFillRectangle(c *xgb.Conn, Drawable Drawable, Gc Gcontext, Rectangles []Rectangle) PolyFillRectangleCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(polyFillRectangleRequest(c, Drawable, Gc, Rectangles), cookie)
return PolyFillRectangleCookie{cookie}
}
func PolyFillRectangleChecked(c *xgb.Conn, Drawable Drawable, Gc Gcontext, Rectangles []Rectangle) PolyFillRectangleCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(polyFillRectangleRequest(c, Drawable, Gc, Rectangles), cookie)
return PolyFillRectangleCookie{cookie}
}
func (cook PolyFillRectangleCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for PolyFillRectangle
func polyFillRectangleRequest(c *xgb.Conn, Drawable Drawable, Gc Gcontext, Rectangles []Rectangle) []byte {
size := xgb.Pad((12 + xgb.Pad((len(Rectangles) * 8))))
b := 0
buf := make([]byte, size)
buf[b] = 70 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Drawable))
b += 4
xgb.Put32(buf[b:], uint32(Gc))
b += 4
b += RectangleListBytes(buf[b:], Rectangles)
return buf
}
// Request PolyFillArc
// size: xgb.Pad((12 + xgb.Pad((len(Arcs) * 12))))
type PolyFillArcCookie struct {
*xgb.Cookie
}
// Write request to wire for PolyFillArc
func PolyFillArc(c *xgb.Conn, Drawable Drawable, Gc Gcontext, Arcs []Arc) PolyFillArcCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(polyFillArcRequest(c, Drawable, Gc, Arcs), cookie)
return PolyFillArcCookie{cookie}
}
func PolyFillArcChecked(c *xgb.Conn, Drawable Drawable, Gc Gcontext, Arcs []Arc) PolyFillArcCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(polyFillArcRequest(c, Drawable, Gc, Arcs), cookie)
return PolyFillArcCookie{cookie}
}
func (cook PolyFillArcCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for PolyFillArc
func polyFillArcRequest(c *xgb.Conn, Drawable Drawable, Gc Gcontext, Arcs []Arc) []byte {
size := xgb.Pad((12 + xgb.Pad((len(Arcs) * 12))))
b := 0
buf := make([]byte, size)
buf[b] = 71 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Drawable))
b += 4
xgb.Put32(buf[b:], uint32(Gc))
b += 4
b += ArcListBytes(buf[b:], Arcs)
return buf
}
// Request PutImage
// size: xgb.Pad((24 + xgb.Pad((len(Data) * 1))))
type PutImageCookie struct {
*xgb.Cookie
}
// Write request to wire for PutImage
func PutImage(c *xgb.Conn, Format byte, Drawable Drawable, Gc Gcontext, Width uint16, Height uint16, DstX int16, DstY int16, LeftPad byte, Depth byte, Data []byte) PutImageCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(putImageRequest(c, Format, Drawable, Gc, Width, Height, DstX, DstY, LeftPad, Depth, Data), cookie)
return PutImageCookie{cookie}
}
func PutImageChecked(c *xgb.Conn, Format byte, Drawable Drawable, Gc Gcontext, Width uint16, Height uint16, DstX int16, DstY int16, LeftPad byte, Depth byte, Data []byte) PutImageCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(putImageRequest(c, Format, Drawable, Gc, Width, Height, DstX, DstY, LeftPad, Depth, Data), cookie)
return PutImageCookie{cookie}
}
func (cook PutImageCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for PutImage
func putImageRequest(c *xgb.Conn, Format byte, Drawable Drawable, Gc Gcontext, Width uint16, Height uint16, DstX int16, DstY int16, LeftPad byte, Depth byte, Data []byte) []byte {
size := xgb.Pad((24 + xgb.Pad((len(Data) * 1))))
b := 0
buf := make([]byte, size)
buf[b] = 72 // request opcode
b += 1
buf[b] = Format
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Drawable))
b += 4
xgb.Put32(buf[b:], uint32(Gc))
b += 4
xgb.Put16(buf[b:], Width)
b += 2
xgb.Put16(buf[b:], Height)
b += 2
xgb.Put16(buf[b:], uint16(DstX))
b += 2
xgb.Put16(buf[b:], uint16(DstY))
b += 2
buf[b] = LeftPad
b += 1
buf[b] = Depth
b += 1
b += 2 // padding
copy(buf[b:], Data[:len(Data)])
b += xgb.Pad(int(len(Data)))
return buf
}
// Request GetImage
// size: 20
type GetImageCookie struct {
*xgb.Cookie
}
func GetImage(c *xgb.Conn, Format byte, Drawable Drawable, X int16, Y int16, Width uint16, Height uint16, PlaneMask uint32) GetImageCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(getImageRequest(c, Format, Drawable, X, Y, Width, Height, PlaneMask), cookie)
return GetImageCookie{cookie}
}
func GetImageUnchecked(c *xgb.Conn, Format byte, Drawable Drawable, X int16, Y int16, Width uint16, Height uint16, PlaneMask uint32) GetImageCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(getImageRequest(c, Format, Drawable, X, Y, Width, Height, PlaneMask), cookie)
return GetImageCookie{cookie}
}
// Request reply for GetImage
// size: (32 + xgb.Pad(((int(Length) * 4) * 1)))
type GetImageReply struct {
Sequence uint16
Length uint32
Depth byte
Visual Visualid
// padding: 20 bytes
Data []byte // size: xgb.Pad(((int(Length) * 4) * 1))
}
// Waits and reads reply data from request GetImage
func (cook GetImageCookie) Reply() (*GetImageReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return getImageReply(buf), nil
}
// Read reply into structure from buffer for GetImage
func getImageReply(buf []byte) *GetImageReply {
v := new(GetImageReply)
b := 1 // skip reply determinant
v.Depth = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.Visual = Visualid(xgb.Get32(buf[b:]))
b += 4
b += 20 // padding
v.Data = make([]byte, (int(v.Length) * 4))
copy(v.Data[:(int(v.Length)*4)], buf[b:])
b += xgb.Pad(int((int(v.Length) * 4)))
return v
}
// Write request to wire for GetImage
func getImageRequest(c *xgb.Conn, Format byte, Drawable Drawable, X int16, Y int16, Width uint16, Height uint16, PlaneMask uint32) []byte {
size := 20
b := 0
buf := make([]byte, size)
buf[b] = 73 // request opcode
b += 1
buf[b] = Format
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Drawable))
b += 4
xgb.Put16(buf[b:], uint16(X))
b += 2
xgb.Put16(buf[b:], uint16(Y))
b += 2
xgb.Put16(buf[b:], Width)
b += 2
xgb.Put16(buf[b:], Height)
b += 2
xgb.Put32(buf[b:], PlaneMask)
b += 4
return buf
}
// Request PolyText8
// size: xgb.Pad((16 + xgb.Pad((len(Items) * 1))))
type PolyText8Cookie struct {
*xgb.Cookie
}
// Write request to wire for PolyText8
func PolyText8(c *xgb.Conn, Drawable Drawable, Gc Gcontext, X int16, Y int16, Items []byte) PolyText8Cookie {
cookie := c.NewCookie(false, false)
c.NewRequest(polyText8Request(c, Drawable, Gc, X, Y, Items), cookie)
return PolyText8Cookie{cookie}
}
func PolyText8Checked(c *xgb.Conn, Drawable Drawable, Gc Gcontext, X int16, Y int16, Items []byte) PolyText8Cookie {
cookie := c.NewCookie(true, false)
c.NewRequest(polyText8Request(c, Drawable, Gc, X, Y, Items), cookie)
return PolyText8Cookie{cookie}
}
func (cook PolyText8Cookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for PolyText8
func polyText8Request(c *xgb.Conn, Drawable Drawable, Gc Gcontext, X int16, Y int16, Items []byte) []byte {
size := xgb.Pad((16 + xgb.Pad((len(Items) * 1))))
b := 0
buf := make([]byte, size)
buf[b] = 74 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Drawable))
b += 4
xgb.Put32(buf[b:], uint32(Gc))
b += 4
xgb.Put16(buf[b:], uint16(X))
b += 2
xgb.Put16(buf[b:], uint16(Y))
b += 2
copy(buf[b:], Items[:len(Items)])
b += xgb.Pad(int(len(Items)))
return buf
}
// Request PolyText16
// size: xgb.Pad((16 + xgb.Pad((len(Items) * 1))))
type PolyText16Cookie struct {
*xgb.Cookie
}
// Write request to wire for PolyText16
func PolyText16(c *xgb.Conn, Drawable Drawable, Gc Gcontext, X int16, Y int16, Items []byte) PolyText16Cookie {
cookie := c.NewCookie(false, false)
c.NewRequest(polyText16Request(c, Drawable, Gc, X, Y, Items), cookie)
return PolyText16Cookie{cookie}
}
func PolyText16Checked(c *xgb.Conn, Drawable Drawable, Gc Gcontext, X int16, Y int16, Items []byte) PolyText16Cookie {
cookie := c.NewCookie(true, false)
c.NewRequest(polyText16Request(c, Drawable, Gc, X, Y, Items), cookie)
return PolyText16Cookie{cookie}
}
func (cook PolyText16Cookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for PolyText16
func polyText16Request(c *xgb.Conn, Drawable Drawable, Gc Gcontext, X int16, Y int16, Items []byte) []byte {
size := xgb.Pad((16 + xgb.Pad((len(Items) * 1))))
b := 0
buf := make([]byte, size)
buf[b] = 75 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Drawable))
b += 4
xgb.Put32(buf[b:], uint32(Gc))
b += 4
xgb.Put16(buf[b:], uint16(X))
b += 2
xgb.Put16(buf[b:], uint16(Y))
b += 2
copy(buf[b:], Items[:len(Items)])
b += xgb.Pad(int(len(Items)))
return buf
}
// Request ImageText8
// size: xgb.Pad((16 + xgb.Pad((int(StringLen) * 1))))
type ImageText8Cookie struct {
*xgb.Cookie
}
// Write request to wire for ImageText8
func ImageText8(c *xgb.Conn, StringLen byte, Drawable Drawable, Gc Gcontext, X int16, Y int16, String string) ImageText8Cookie {
cookie := c.NewCookie(false, false)
c.NewRequest(imageText8Request(c, StringLen, Drawable, Gc, X, Y, String), cookie)
return ImageText8Cookie{cookie}
}
func ImageText8Checked(c *xgb.Conn, StringLen byte, Drawable Drawable, Gc Gcontext, X int16, Y int16, String string) ImageText8Cookie {
cookie := c.NewCookie(true, false)
c.NewRequest(imageText8Request(c, StringLen, Drawable, Gc, X, Y, String), cookie)
return ImageText8Cookie{cookie}
}
func (cook ImageText8Cookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for ImageText8
func imageText8Request(c *xgb.Conn, StringLen byte, Drawable Drawable, Gc Gcontext, X int16, Y int16, String string) []byte {
size := xgb.Pad((16 + xgb.Pad((int(StringLen) * 1))))
b := 0
buf := make([]byte, size)
buf[b] = 76 // request opcode
b += 1
buf[b] = StringLen
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Drawable))
b += 4
xgb.Put32(buf[b:], uint32(Gc))
b += 4
xgb.Put16(buf[b:], uint16(X))
b += 2
xgb.Put16(buf[b:], uint16(Y))
b += 2
copy(buf[b:], String[:StringLen])
b += xgb.Pad(int(StringLen))
return buf
}
// Request ImageText16
// size: xgb.Pad((16 + xgb.Pad((int(StringLen) * 2))))
type ImageText16Cookie struct {
*xgb.Cookie
}
// Write request to wire for ImageText16
func ImageText16(c *xgb.Conn, StringLen byte, Drawable Drawable, Gc Gcontext, X int16, Y int16, String []Char2b) ImageText16Cookie {
cookie := c.NewCookie(false, false)
c.NewRequest(imageText16Request(c, StringLen, Drawable, Gc, X, Y, String), cookie)
return ImageText16Cookie{cookie}
}
func ImageText16Checked(c *xgb.Conn, StringLen byte, Drawable Drawable, Gc Gcontext, X int16, Y int16, String []Char2b) ImageText16Cookie {
cookie := c.NewCookie(true, false)
c.NewRequest(imageText16Request(c, StringLen, Drawable, Gc, X, Y, String), cookie)
return ImageText16Cookie{cookie}
}
func (cook ImageText16Cookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for ImageText16
func imageText16Request(c *xgb.Conn, StringLen byte, Drawable Drawable, Gc Gcontext, X int16, Y int16, String []Char2b) []byte {
size := xgb.Pad((16 + xgb.Pad((int(StringLen) * 2))))
b := 0
buf := make([]byte, size)
buf[b] = 77 // request opcode
b += 1
buf[b] = StringLen
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Drawable))
b += 4
xgb.Put32(buf[b:], uint32(Gc))
b += 4
xgb.Put16(buf[b:], uint16(X))
b += 2
xgb.Put16(buf[b:], uint16(Y))
b += 2
b += Char2bListBytes(buf[b:], String)
return buf
}
// Request CreateColormap
// size: 16
type CreateColormapCookie struct {
*xgb.Cookie
}
// Write request to wire for CreateColormap
func CreateColormap(c *xgb.Conn, Alloc byte, Mid Colormap, Window Window, Visual Visualid) CreateColormapCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(createColormapRequest(c, Alloc, Mid, Window, Visual), cookie)
return CreateColormapCookie{cookie}
}
func CreateColormapChecked(c *xgb.Conn, Alloc byte, Mid Colormap, Window Window, Visual Visualid) CreateColormapCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(createColormapRequest(c, Alloc, Mid, Window, Visual), cookie)
return CreateColormapCookie{cookie}
}
func (cook CreateColormapCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for CreateColormap
func createColormapRequest(c *xgb.Conn, Alloc byte, Mid Colormap, Window Window, Visual Visualid) []byte {
size := 16
b := 0
buf := make([]byte, size)
buf[b] = 78 // request opcode
b += 1
buf[b] = Alloc
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Mid))
b += 4
xgb.Put32(buf[b:], uint32(Window))
b += 4
xgb.Put32(buf[b:], uint32(Visual))
b += 4
return buf
}
// Request FreeColormap
// size: 8
type FreeColormapCookie struct {
*xgb.Cookie
}
// Write request to wire for FreeColormap
func FreeColormap(c *xgb.Conn, Cmap Colormap) FreeColormapCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(freeColormapRequest(c, Cmap), cookie)
return FreeColormapCookie{cookie}
}
func FreeColormapChecked(c *xgb.Conn, Cmap Colormap) FreeColormapCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(freeColormapRequest(c, Cmap), cookie)
return FreeColormapCookie{cookie}
}
func (cook FreeColormapCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for FreeColormap
func freeColormapRequest(c *xgb.Conn, Cmap Colormap) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 79 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Cmap))
b += 4
return buf
}
// Request CopyColormapAndFree
// size: 12
type CopyColormapAndFreeCookie struct {
*xgb.Cookie
}
// Write request to wire for CopyColormapAndFree
func CopyColormapAndFree(c *xgb.Conn, Mid Colormap, SrcCmap Colormap) CopyColormapAndFreeCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(copyColormapAndFreeRequest(c, Mid, SrcCmap), cookie)
return CopyColormapAndFreeCookie{cookie}
}
func CopyColormapAndFreeChecked(c *xgb.Conn, Mid Colormap, SrcCmap Colormap) CopyColormapAndFreeCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(copyColormapAndFreeRequest(c, Mid, SrcCmap), cookie)
return CopyColormapAndFreeCookie{cookie}
}
func (cook CopyColormapAndFreeCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for CopyColormapAndFree
func copyColormapAndFreeRequest(c *xgb.Conn, Mid Colormap, SrcCmap Colormap) []byte {
size := 12
b := 0
buf := make([]byte, size)
buf[b] = 80 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Mid))
b += 4
xgb.Put32(buf[b:], uint32(SrcCmap))
b += 4
return buf
}
// Request InstallColormap
// size: 8
type InstallColormapCookie struct {
*xgb.Cookie
}
// Write request to wire for InstallColormap
func InstallColormap(c *xgb.Conn, Cmap Colormap) InstallColormapCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(installColormapRequest(c, Cmap), cookie)
return InstallColormapCookie{cookie}
}
func InstallColormapChecked(c *xgb.Conn, Cmap Colormap) InstallColormapCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(installColormapRequest(c, Cmap), cookie)
return InstallColormapCookie{cookie}
}
func (cook InstallColormapCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for InstallColormap
func installColormapRequest(c *xgb.Conn, Cmap Colormap) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 81 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Cmap))
b += 4
return buf
}
// Request UninstallColormap
// size: 8
type UninstallColormapCookie struct {
*xgb.Cookie
}
// Write request to wire for UninstallColormap
func UninstallColormap(c *xgb.Conn, Cmap Colormap) UninstallColormapCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(uninstallColormapRequest(c, Cmap), cookie)
return UninstallColormapCookie{cookie}
}
func UninstallColormapChecked(c *xgb.Conn, Cmap Colormap) UninstallColormapCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(uninstallColormapRequest(c, Cmap), cookie)
return UninstallColormapCookie{cookie}
}
func (cook UninstallColormapCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for UninstallColormap
func uninstallColormapRequest(c *xgb.Conn, Cmap Colormap) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 82 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Cmap))
b += 4
return buf
}
// Request ListInstalledColormaps
// size: 8
type ListInstalledColormapsCookie struct {
*xgb.Cookie
}
func ListInstalledColormaps(c *xgb.Conn, Window Window) ListInstalledColormapsCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(listInstalledColormapsRequest(c, Window), cookie)
return ListInstalledColormapsCookie{cookie}
}
func ListInstalledColormapsUnchecked(c *xgb.Conn, Window Window) ListInstalledColormapsCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(listInstalledColormapsRequest(c, Window), cookie)
return ListInstalledColormapsCookie{cookie}
}
// Request reply for ListInstalledColormaps
// size: (32 + xgb.Pad((int(CmapsLen) * 4)))
type ListInstalledColormapsReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
CmapsLen uint16
// padding: 22 bytes
Cmaps []Colormap // size: xgb.Pad((int(CmapsLen) * 4))
}
// Waits and reads reply data from request ListInstalledColormaps
func (cook ListInstalledColormapsCookie) Reply() (*ListInstalledColormapsReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return listInstalledColormapsReply(buf), nil
}
// Read reply into structure from buffer for ListInstalledColormaps
func listInstalledColormapsReply(buf []byte) *ListInstalledColormapsReply {
v := new(ListInstalledColormapsReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.CmapsLen = xgb.Get16(buf[b:])
b += 2
b += 22 // padding
v.Cmaps = make([]Colormap, v.CmapsLen)
for i := 0; i < int(v.CmapsLen); i++ {
v.Cmaps[i] = Colormap(xgb.Get32(buf[b:]))
b += 4
}
b = xgb.Pad(b)
return v
}
// Write request to wire for ListInstalledColormaps
func listInstalledColormapsRequest(c *xgb.Conn, Window Window) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 83 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
return buf
}
// Request AllocColor
// size: 16
type AllocColorCookie struct {
*xgb.Cookie
}
func AllocColor(c *xgb.Conn, Cmap Colormap, Red uint16, Green uint16, Blue uint16) AllocColorCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(allocColorRequest(c, Cmap, Red, Green, Blue), cookie)
return AllocColorCookie{cookie}
}
func AllocColorUnchecked(c *xgb.Conn, Cmap Colormap, Red uint16, Green uint16, Blue uint16) AllocColorCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(allocColorRequest(c, Cmap, Red, Green, Blue), cookie)
return AllocColorCookie{cookie}
}
// Request reply for AllocColor
// size: 20
type AllocColorReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
Red uint16
Green uint16
Blue uint16
// padding: 2 bytes
Pixel uint32
}
// Waits and reads reply data from request AllocColor
func (cook AllocColorCookie) Reply() (*AllocColorReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return allocColorReply(buf), nil
}
// Read reply into structure from buffer for AllocColor
func allocColorReply(buf []byte) *AllocColorReply {
v := new(AllocColorReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.Red = xgb.Get16(buf[b:])
b += 2
v.Green = xgb.Get16(buf[b:])
b += 2
v.Blue = xgb.Get16(buf[b:])
b += 2
b += 2 // padding
v.Pixel = xgb.Get32(buf[b:])
b += 4
return v
}
// Write request to wire for AllocColor
func allocColorRequest(c *xgb.Conn, Cmap Colormap, Red uint16, Green uint16, Blue uint16) []byte {
size := 16
b := 0
buf := make([]byte, size)
buf[b] = 84 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Cmap))
b += 4
xgb.Put16(buf[b:], Red)
b += 2
xgb.Put16(buf[b:], Green)
b += 2
xgb.Put16(buf[b:], Blue)
b += 2
b += 2 // padding
return buf
}
// Request AllocNamedColor
// size: xgb.Pad((12 + xgb.Pad((int(NameLen) * 1))))
type AllocNamedColorCookie struct {
*xgb.Cookie
}
func AllocNamedColor(c *xgb.Conn, Cmap Colormap, NameLen uint16, Name string) AllocNamedColorCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(allocNamedColorRequest(c, Cmap, NameLen, Name), cookie)
return AllocNamedColorCookie{cookie}
}
func AllocNamedColorUnchecked(c *xgb.Conn, Cmap Colormap, NameLen uint16, Name string) AllocNamedColorCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(allocNamedColorRequest(c, Cmap, NameLen, Name), cookie)
return AllocNamedColorCookie{cookie}
}
// Request reply for AllocNamedColor
// size: 24
type AllocNamedColorReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
Pixel uint32
ExactRed uint16
ExactGreen uint16
ExactBlue uint16
VisualRed uint16
VisualGreen uint16
VisualBlue uint16
}
// Waits and reads reply data from request AllocNamedColor
func (cook AllocNamedColorCookie) Reply() (*AllocNamedColorReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return allocNamedColorReply(buf), nil
}
// Read reply into structure from buffer for AllocNamedColor
func allocNamedColorReply(buf []byte) *AllocNamedColorReply {
v := new(AllocNamedColorReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.Pixel = xgb.Get32(buf[b:])
b += 4
v.ExactRed = xgb.Get16(buf[b:])
b += 2
v.ExactGreen = xgb.Get16(buf[b:])
b += 2
v.ExactBlue = xgb.Get16(buf[b:])
b += 2
v.VisualRed = xgb.Get16(buf[b:])
b += 2
v.VisualGreen = xgb.Get16(buf[b:])
b += 2
v.VisualBlue = xgb.Get16(buf[b:])
b += 2
return v
}
// Write request to wire for AllocNamedColor
func allocNamedColorRequest(c *xgb.Conn, Cmap Colormap, NameLen uint16, Name string) []byte {
size := xgb.Pad((12 + xgb.Pad((int(NameLen) * 1))))
b := 0
buf := make([]byte, size)
buf[b] = 85 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Cmap))
b += 4
xgb.Put16(buf[b:], NameLen)
b += 2
b += 2 // padding
copy(buf[b:], Name[:NameLen])
b += xgb.Pad(int(NameLen))
return buf
}
// Request AllocColorCells
// size: 12
type AllocColorCellsCookie struct {
*xgb.Cookie
}
func AllocColorCells(c *xgb.Conn, Contiguous bool, Cmap Colormap, Colors uint16, Planes uint16) AllocColorCellsCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(allocColorCellsRequest(c, Contiguous, Cmap, Colors, Planes), cookie)
return AllocColorCellsCookie{cookie}
}
func AllocColorCellsUnchecked(c *xgb.Conn, Contiguous bool, Cmap Colormap, Colors uint16, Planes uint16) AllocColorCellsCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(allocColorCellsRequest(c, Contiguous, Cmap, Colors, Planes), cookie)
return AllocColorCellsCookie{cookie}
}
// Request reply for AllocColorCells
// size: ((32 + xgb.Pad((int(PixelsLen) * 4))) + xgb.Pad((int(MasksLen) * 4)))
type AllocColorCellsReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
PixelsLen uint16
MasksLen uint16
// padding: 20 bytes
Pixels []uint32 // size: xgb.Pad((int(PixelsLen) * 4))
Masks []uint32 // size: xgb.Pad((int(MasksLen) * 4))
}
// Waits and reads reply data from request AllocColorCells
func (cook AllocColorCellsCookie) Reply() (*AllocColorCellsReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return allocColorCellsReply(buf), nil
}
// Read reply into structure from buffer for AllocColorCells
func allocColorCellsReply(buf []byte) *AllocColorCellsReply {
v := new(AllocColorCellsReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.PixelsLen = xgb.Get16(buf[b:])
b += 2
v.MasksLen = xgb.Get16(buf[b:])
b += 2
b += 20 // padding
v.Pixels = make([]uint32, v.PixelsLen)
for i := 0; i < int(v.PixelsLen); i++ {
v.Pixels[i] = xgb.Get32(buf[b:])
b += 4
}
b = xgb.Pad(b)
v.Masks = make([]uint32, v.MasksLen)
for i := 0; i < int(v.MasksLen); i++ {
v.Masks[i] = xgb.Get32(buf[b:])
b += 4
}
b = xgb.Pad(b)
return v
}
// Write request to wire for AllocColorCells
func allocColorCellsRequest(c *xgb.Conn, Contiguous bool, Cmap Colormap, Colors uint16, Planes uint16) []byte {
size := 12
b := 0
buf := make([]byte, size)
buf[b] = 86 // request opcode
b += 1
if Contiguous {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Cmap))
b += 4
xgb.Put16(buf[b:], Colors)
b += 2
xgb.Put16(buf[b:], Planes)
b += 2
return buf
}
// Request AllocColorPlanes
// size: 16
type AllocColorPlanesCookie struct {
*xgb.Cookie
}
func AllocColorPlanes(c *xgb.Conn, Contiguous bool, Cmap Colormap, Colors uint16, Reds uint16, Greens uint16, Blues uint16) AllocColorPlanesCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(allocColorPlanesRequest(c, Contiguous, Cmap, Colors, Reds, Greens, Blues), cookie)
return AllocColorPlanesCookie{cookie}
}
func AllocColorPlanesUnchecked(c *xgb.Conn, Contiguous bool, Cmap Colormap, Colors uint16, Reds uint16, Greens uint16, Blues uint16) AllocColorPlanesCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(allocColorPlanesRequest(c, Contiguous, Cmap, Colors, Reds, Greens, Blues), cookie)
return AllocColorPlanesCookie{cookie}
}
// Request reply for AllocColorPlanes
// size: (32 + xgb.Pad((int(PixelsLen) * 4)))
type AllocColorPlanesReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
PixelsLen uint16
// padding: 2 bytes
RedMask uint32
GreenMask uint32
BlueMask uint32
// padding: 8 bytes
Pixels []uint32 // size: xgb.Pad((int(PixelsLen) * 4))
}
// Waits and reads reply data from request AllocColorPlanes
func (cook AllocColorPlanesCookie) Reply() (*AllocColorPlanesReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return allocColorPlanesReply(buf), nil
}
// Read reply into structure from buffer for AllocColorPlanes
func allocColorPlanesReply(buf []byte) *AllocColorPlanesReply {
v := new(AllocColorPlanesReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.PixelsLen = xgb.Get16(buf[b:])
b += 2
b += 2 // padding
v.RedMask = xgb.Get32(buf[b:])
b += 4
v.GreenMask = xgb.Get32(buf[b:])
b += 4
v.BlueMask = xgb.Get32(buf[b:])
b += 4
b += 8 // padding
v.Pixels = make([]uint32, v.PixelsLen)
for i := 0; i < int(v.PixelsLen); i++ {
v.Pixels[i] = xgb.Get32(buf[b:])
b += 4
}
b = xgb.Pad(b)
return v
}
// Write request to wire for AllocColorPlanes
func allocColorPlanesRequest(c *xgb.Conn, Contiguous bool, Cmap Colormap, Colors uint16, Reds uint16, Greens uint16, Blues uint16) []byte {
size := 16
b := 0
buf := make([]byte, size)
buf[b] = 87 // request opcode
b += 1
if Contiguous {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Cmap))
b += 4
xgb.Put16(buf[b:], Colors)
b += 2
xgb.Put16(buf[b:], Reds)
b += 2
xgb.Put16(buf[b:], Greens)
b += 2
xgb.Put16(buf[b:], Blues)
b += 2
return buf
}
// Request FreeColors
// size: xgb.Pad((12 + xgb.Pad((len(Pixels) * 4))))
type FreeColorsCookie struct {
*xgb.Cookie
}
// Write request to wire for FreeColors
func FreeColors(c *xgb.Conn, Cmap Colormap, PlaneMask uint32, Pixels []uint32) FreeColorsCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(freeColorsRequest(c, Cmap, PlaneMask, Pixels), cookie)
return FreeColorsCookie{cookie}
}
func FreeColorsChecked(c *xgb.Conn, Cmap Colormap, PlaneMask uint32, Pixels []uint32) FreeColorsCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(freeColorsRequest(c, Cmap, PlaneMask, Pixels), cookie)
return FreeColorsCookie{cookie}
}
func (cook FreeColorsCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for FreeColors
func freeColorsRequest(c *xgb.Conn, Cmap Colormap, PlaneMask uint32, Pixels []uint32) []byte {
size := xgb.Pad((12 + xgb.Pad((len(Pixels) * 4))))
b := 0
buf := make([]byte, size)
buf[b] = 88 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Cmap))
b += 4
xgb.Put32(buf[b:], PlaneMask)
b += 4
for i := 0; i < int(len(Pixels)); i++ {
xgb.Put32(buf[b:], Pixels[i])
b += 4
}
b = xgb.Pad(b)
return buf
}
// Request StoreColors
// size: xgb.Pad((8 + xgb.Pad((len(Items) * 12))))
type StoreColorsCookie struct {
*xgb.Cookie
}
// Write request to wire for StoreColors
func StoreColors(c *xgb.Conn, Cmap Colormap, Items []Coloritem) StoreColorsCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(storeColorsRequest(c, Cmap, Items), cookie)
return StoreColorsCookie{cookie}
}
func StoreColorsChecked(c *xgb.Conn, Cmap Colormap, Items []Coloritem) StoreColorsCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(storeColorsRequest(c, Cmap, Items), cookie)
return StoreColorsCookie{cookie}
}
func (cook StoreColorsCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for StoreColors
func storeColorsRequest(c *xgb.Conn, Cmap Colormap, Items []Coloritem) []byte {
size := xgb.Pad((8 + xgb.Pad((len(Items) * 12))))
b := 0
buf := make([]byte, size)
buf[b] = 89 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Cmap))
b += 4
b += ColoritemListBytes(buf[b:], Items)
return buf
}
// Request StoreNamedColor
// size: xgb.Pad((16 + xgb.Pad((int(NameLen) * 1))))
type StoreNamedColorCookie struct {
*xgb.Cookie
}
// Write request to wire for StoreNamedColor
func StoreNamedColor(c *xgb.Conn, Flags byte, Cmap Colormap, Pixel uint32, NameLen uint16, Name string) StoreNamedColorCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(storeNamedColorRequest(c, Flags, Cmap, Pixel, NameLen, Name), cookie)
return StoreNamedColorCookie{cookie}
}
func StoreNamedColorChecked(c *xgb.Conn, Flags byte, Cmap Colormap, Pixel uint32, NameLen uint16, Name string) StoreNamedColorCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(storeNamedColorRequest(c, Flags, Cmap, Pixel, NameLen, Name), cookie)
return StoreNamedColorCookie{cookie}
}
func (cook StoreNamedColorCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for StoreNamedColor
func storeNamedColorRequest(c *xgb.Conn, Flags byte, Cmap Colormap, Pixel uint32, NameLen uint16, Name string) []byte {
size := xgb.Pad((16 + xgb.Pad((int(NameLen) * 1))))
b := 0
buf := make([]byte, size)
buf[b] = 90 // request opcode
b += 1
buf[b] = Flags
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Cmap))
b += 4
xgb.Put32(buf[b:], Pixel)
b += 4
xgb.Put16(buf[b:], NameLen)
b += 2
b += 2 // padding
copy(buf[b:], Name[:NameLen])
b += xgb.Pad(int(NameLen))
return buf
}
// Request QueryColors
// size: xgb.Pad((8 + xgb.Pad((len(Pixels) * 4))))
type QueryColorsCookie struct {
*xgb.Cookie
}
func QueryColors(c *xgb.Conn, Cmap Colormap, Pixels []uint32) QueryColorsCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(queryColorsRequest(c, Cmap, Pixels), cookie)
return QueryColorsCookie{cookie}
}
func QueryColorsUnchecked(c *xgb.Conn, Cmap Colormap, Pixels []uint32) QueryColorsCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(queryColorsRequest(c, Cmap, Pixels), cookie)
return QueryColorsCookie{cookie}
}
// Request reply for QueryColors
// size: (32 + xgb.Pad((int(ColorsLen) * 8)))
type QueryColorsReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
ColorsLen uint16
// padding: 22 bytes
Colors []Rgb // size: xgb.Pad((int(ColorsLen) * 8))
}
// Waits and reads reply data from request QueryColors
func (cook QueryColorsCookie) Reply() (*QueryColorsReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return queryColorsReply(buf), nil
}
// Read reply into structure from buffer for QueryColors
func queryColorsReply(buf []byte) *QueryColorsReply {
v := new(QueryColorsReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.ColorsLen = xgb.Get16(buf[b:])
b += 2
b += 22 // padding
v.Colors = make([]Rgb, v.ColorsLen)
b += RgbReadList(buf[b:], v.Colors)
return v
}
// Write request to wire for QueryColors
func queryColorsRequest(c *xgb.Conn, Cmap Colormap, Pixels []uint32) []byte {
size := xgb.Pad((8 + xgb.Pad((len(Pixels) * 4))))
b := 0
buf := make([]byte, size)
buf[b] = 91 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Cmap))
b += 4
for i := 0; i < int(len(Pixels)); i++ {
xgb.Put32(buf[b:], Pixels[i])
b += 4
}
b = xgb.Pad(b)
return buf
}
// Request LookupColor
// size: xgb.Pad((12 + xgb.Pad((int(NameLen) * 1))))
type LookupColorCookie struct {
*xgb.Cookie
}
func LookupColor(c *xgb.Conn, Cmap Colormap, NameLen uint16, Name string) LookupColorCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(lookupColorRequest(c, Cmap, NameLen, Name), cookie)
return LookupColorCookie{cookie}
}
func LookupColorUnchecked(c *xgb.Conn, Cmap Colormap, NameLen uint16, Name string) LookupColorCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(lookupColorRequest(c, Cmap, NameLen, Name), cookie)
return LookupColorCookie{cookie}
}
// Request reply for LookupColor
// size: 20
type LookupColorReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
ExactRed uint16
ExactGreen uint16
ExactBlue uint16
VisualRed uint16
VisualGreen uint16
VisualBlue uint16
}
// Waits and reads reply data from request LookupColor
func (cook LookupColorCookie) Reply() (*LookupColorReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return lookupColorReply(buf), nil
}
// Read reply into structure from buffer for LookupColor
func lookupColorReply(buf []byte) *LookupColorReply {
v := new(LookupColorReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.ExactRed = xgb.Get16(buf[b:])
b += 2
v.ExactGreen = xgb.Get16(buf[b:])
b += 2
v.ExactBlue = xgb.Get16(buf[b:])
b += 2
v.VisualRed = xgb.Get16(buf[b:])
b += 2
v.VisualGreen = xgb.Get16(buf[b:])
b += 2
v.VisualBlue = xgb.Get16(buf[b:])
b += 2
return v
}
// Write request to wire for LookupColor
func lookupColorRequest(c *xgb.Conn, Cmap Colormap, NameLen uint16, Name string) []byte {
size := xgb.Pad((12 + xgb.Pad((int(NameLen) * 1))))
b := 0
buf := make([]byte, size)
buf[b] = 92 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Cmap))
b += 4
xgb.Put16(buf[b:], NameLen)
b += 2
b += 2 // padding
copy(buf[b:], Name[:NameLen])
b += xgb.Pad(int(NameLen))
return buf
}
// Request CreateCursor
// size: 32
type CreateCursorCookie struct {
*xgb.Cookie
}
// Write request to wire for CreateCursor
func CreateCursor(c *xgb.Conn, Cid Cursor, Source Pixmap, Mask Pixmap, ForeRed uint16, ForeGreen uint16, ForeBlue uint16, BackRed uint16, BackGreen uint16, BackBlue uint16, X uint16, Y uint16) CreateCursorCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(createCursorRequest(c, Cid, Source, Mask, ForeRed, ForeGreen, ForeBlue, BackRed, BackGreen, BackBlue, X, Y), cookie)
return CreateCursorCookie{cookie}
}
func CreateCursorChecked(c *xgb.Conn, Cid Cursor, Source Pixmap, Mask Pixmap, ForeRed uint16, ForeGreen uint16, ForeBlue uint16, BackRed uint16, BackGreen uint16, BackBlue uint16, X uint16, Y uint16) CreateCursorCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(createCursorRequest(c, Cid, Source, Mask, ForeRed, ForeGreen, ForeBlue, BackRed, BackGreen, BackBlue, X, Y), cookie)
return CreateCursorCookie{cookie}
}
func (cook CreateCursorCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for CreateCursor
func createCursorRequest(c *xgb.Conn, Cid Cursor, Source Pixmap, Mask Pixmap, ForeRed uint16, ForeGreen uint16, ForeBlue uint16, BackRed uint16, BackGreen uint16, BackBlue uint16, X uint16, Y uint16) []byte {
size := 32
b := 0
buf := make([]byte, size)
buf[b] = 93 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Cid))
b += 4
xgb.Put32(buf[b:], uint32(Source))
b += 4
xgb.Put32(buf[b:], uint32(Mask))
b += 4
xgb.Put16(buf[b:], ForeRed)
b += 2
xgb.Put16(buf[b:], ForeGreen)
b += 2
xgb.Put16(buf[b:], ForeBlue)
b += 2
xgb.Put16(buf[b:], BackRed)
b += 2
xgb.Put16(buf[b:], BackGreen)
b += 2
xgb.Put16(buf[b:], BackBlue)
b += 2
xgb.Put16(buf[b:], X)
b += 2
xgb.Put16(buf[b:], Y)
b += 2
return buf
}
// Request CreateGlyphCursor
// size: 32
type CreateGlyphCursorCookie struct {
*xgb.Cookie
}
// Write request to wire for CreateGlyphCursor
func CreateGlyphCursor(c *xgb.Conn, Cid Cursor, SourceFont Font, MaskFont Font, SourceChar uint16, MaskChar uint16, ForeRed uint16, ForeGreen uint16, ForeBlue uint16, BackRed uint16, BackGreen uint16, BackBlue uint16) CreateGlyphCursorCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(createGlyphCursorRequest(c, Cid, SourceFont, MaskFont, SourceChar, MaskChar, ForeRed, ForeGreen, ForeBlue, BackRed, BackGreen, BackBlue), cookie)
return CreateGlyphCursorCookie{cookie}
}
func CreateGlyphCursorChecked(c *xgb.Conn, Cid Cursor, SourceFont Font, MaskFont Font, SourceChar uint16, MaskChar uint16, ForeRed uint16, ForeGreen uint16, ForeBlue uint16, BackRed uint16, BackGreen uint16, BackBlue uint16) CreateGlyphCursorCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(createGlyphCursorRequest(c, Cid, SourceFont, MaskFont, SourceChar, MaskChar, ForeRed, ForeGreen, ForeBlue, BackRed, BackGreen, BackBlue), cookie)
return CreateGlyphCursorCookie{cookie}
}
func (cook CreateGlyphCursorCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for CreateGlyphCursor
func createGlyphCursorRequest(c *xgb.Conn, Cid Cursor, SourceFont Font, MaskFont Font, SourceChar uint16, MaskChar uint16, ForeRed uint16, ForeGreen uint16, ForeBlue uint16, BackRed uint16, BackGreen uint16, BackBlue uint16) []byte {
size := 32
b := 0
buf := make([]byte, size)
buf[b] = 94 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Cid))
b += 4
xgb.Put32(buf[b:], uint32(SourceFont))
b += 4
xgb.Put32(buf[b:], uint32(MaskFont))
b += 4
xgb.Put16(buf[b:], SourceChar)
b += 2
xgb.Put16(buf[b:], MaskChar)
b += 2
xgb.Put16(buf[b:], ForeRed)
b += 2
xgb.Put16(buf[b:], ForeGreen)
b += 2
xgb.Put16(buf[b:], ForeBlue)
b += 2
xgb.Put16(buf[b:], BackRed)
b += 2
xgb.Put16(buf[b:], BackGreen)
b += 2
xgb.Put16(buf[b:], BackBlue)
b += 2
return buf
}
// Request FreeCursor
// size: 8
type FreeCursorCookie struct {
*xgb.Cookie
}
// Write request to wire for FreeCursor
func FreeCursor(c *xgb.Conn, Cursor Cursor) FreeCursorCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(freeCursorRequest(c, Cursor), cookie)
return FreeCursorCookie{cookie}
}
func FreeCursorChecked(c *xgb.Conn, Cursor Cursor) FreeCursorCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(freeCursorRequest(c, Cursor), cookie)
return FreeCursorCookie{cookie}
}
func (cook FreeCursorCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for FreeCursor
func freeCursorRequest(c *xgb.Conn, Cursor Cursor) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 95 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Cursor))
b += 4
return buf
}
// Request RecolorCursor
// size: 20
type RecolorCursorCookie struct {
*xgb.Cookie
}
// Write request to wire for RecolorCursor
func RecolorCursor(c *xgb.Conn, Cursor Cursor, ForeRed uint16, ForeGreen uint16, ForeBlue uint16, BackRed uint16, BackGreen uint16, BackBlue uint16) RecolorCursorCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(recolorCursorRequest(c, Cursor, ForeRed, ForeGreen, ForeBlue, BackRed, BackGreen, BackBlue), cookie)
return RecolorCursorCookie{cookie}
}
func RecolorCursorChecked(c *xgb.Conn, Cursor Cursor, ForeRed uint16, ForeGreen uint16, ForeBlue uint16, BackRed uint16, BackGreen uint16, BackBlue uint16) RecolorCursorCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(recolorCursorRequest(c, Cursor, ForeRed, ForeGreen, ForeBlue, BackRed, BackGreen, BackBlue), cookie)
return RecolorCursorCookie{cookie}
}
func (cook RecolorCursorCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for RecolorCursor
func recolorCursorRequest(c *xgb.Conn, Cursor Cursor, ForeRed uint16, ForeGreen uint16, ForeBlue uint16, BackRed uint16, BackGreen uint16, BackBlue uint16) []byte {
size := 20
b := 0
buf := make([]byte, size)
buf[b] = 96 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Cursor))
b += 4
xgb.Put16(buf[b:], ForeRed)
b += 2
xgb.Put16(buf[b:], ForeGreen)
b += 2
xgb.Put16(buf[b:], ForeBlue)
b += 2
xgb.Put16(buf[b:], BackRed)
b += 2
xgb.Put16(buf[b:], BackGreen)
b += 2
xgb.Put16(buf[b:], BackBlue)
b += 2
return buf
}
// Request QueryBestSize
// size: 12
type QueryBestSizeCookie struct {
*xgb.Cookie
}
func QueryBestSize(c *xgb.Conn, Class byte, Drawable Drawable, Width uint16, Height uint16) QueryBestSizeCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(queryBestSizeRequest(c, Class, Drawable, Width, Height), cookie)
return QueryBestSizeCookie{cookie}
}
func QueryBestSizeUnchecked(c *xgb.Conn, Class byte, Drawable Drawable, Width uint16, Height uint16) QueryBestSizeCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(queryBestSizeRequest(c, Class, Drawable, Width, Height), cookie)
return QueryBestSizeCookie{cookie}
}
// Request reply for QueryBestSize
// size: 12
type QueryBestSizeReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
Width uint16
Height uint16
}
// Waits and reads reply data from request QueryBestSize
func (cook QueryBestSizeCookie) Reply() (*QueryBestSizeReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return queryBestSizeReply(buf), nil
}
// Read reply into structure from buffer for QueryBestSize
func queryBestSizeReply(buf []byte) *QueryBestSizeReply {
v := new(QueryBestSizeReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.Width = xgb.Get16(buf[b:])
b += 2
v.Height = xgb.Get16(buf[b:])
b += 2
return v
}
// Write request to wire for QueryBestSize
func queryBestSizeRequest(c *xgb.Conn, Class byte, Drawable Drawable, Width uint16, Height uint16) []byte {
size := 12
b := 0
buf := make([]byte, size)
buf[b] = 97 // request opcode
b += 1
buf[b] = Class
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Drawable))
b += 4
xgb.Put16(buf[b:], Width)
b += 2
xgb.Put16(buf[b:], Height)
b += 2
return buf
}
// Request QueryExtension
// size: xgb.Pad((8 + xgb.Pad((int(NameLen) * 1))))
type QueryExtensionCookie struct {
*xgb.Cookie
}
func QueryExtension(c *xgb.Conn, NameLen uint16, Name string) QueryExtensionCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(queryExtensionRequest(c, NameLen, Name), cookie)
return QueryExtensionCookie{cookie}
}
func QueryExtensionUnchecked(c *xgb.Conn, NameLen uint16, Name string) QueryExtensionCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(queryExtensionRequest(c, NameLen, Name), cookie)
return QueryExtensionCookie{cookie}
}
// Request reply for QueryExtension
// size: 12
type QueryExtensionReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
Present bool
MajorOpcode byte
FirstEvent byte
FirstError byte
}
// Waits and reads reply data from request QueryExtension
func (cook QueryExtensionCookie) Reply() (*QueryExtensionReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return queryExtensionReply(buf), nil
}
// Read reply into structure from buffer for QueryExtension
func queryExtensionReply(buf []byte) *QueryExtensionReply {
v := new(QueryExtensionReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
if buf[b] == 1 {
v.Present = true
} else {
v.Present = false
}
b += 1
v.MajorOpcode = buf[b]
b += 1
v.FirstEvent = buf[b]
b += 1
v.FirstError = buf[b]
b += 1
return v
}
// Write request to wire for QueryExtension
func queryExtensionRequest(c *xgb.Conn, NameLen uint16, Name string) []byte {
size := xgb.Pad((8 + xgb.Pad((int(NameLen) * 1))))
b := 0
buf := make([]byte, size)
buf[b] = 98 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put16(buf[b:], NameLen)
b += 2
b += 2 // padding
copy(buf[b:], Name[:NameLen])
b += xgb.Pad(int(NameLen))
return buf
}
// Request ListExtensions
// size: 4
type ListExtensionsCookie struct {
*xgb.Cookie
}
func ListExtensions(c *xgb.Conn) ListExtensionsCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(listExtensionsRequest(c), cookie)
return ListExtensionsCookie{cookie}
}
func ListExtensionsUnchecked(c *xgb.Conn) ListExtensionsCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(listExtensionsRequest(c), cookie)
return ListExtensionsCookie{cookie}
}
// Request reply for ListExtensions
// size: (32 + StrListSize(Names))
type ListExtensionsReply struct {
Sequence uint16
Length uint32
NamesLen byte
// padding: 24 bytes
Names []Str // size: StrListSize(Names)
}
// Waits and reads reply data from request ListExtensions
func (cook ListExtensionsCookie) Reply() (*ListExtensionsReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return listExtensionsReply(buf), nil
}
// Read reply into structure from buffer for ListExtensions
func listExtensionsReply(buf []byte) *ListExtensionsReply {
v := new(ListExtensionsReply)
b := 1 // skip reply determinant
v.NamesLen = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
b += 24 // padding
v.Names = make([]Str, v.NamesLen)
b += StrReadList(buf[b:], v.Names)
return v
}
// Write request to wire for ListExtensions
func listExtensionsRequest(c *xgb.Conn) []byte {
size := 4
b := 0
buf := make([]byte, size)
buf[b] = 99 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
return buf
}
// Request ChangeKeyboardMapping
// size: xgb.Pad((8 + xgb.Pad(((int(KeycodeCount) * int(KeysymsPerKeycode)) * 4))))
type ChangeKeyboardMappingCookie struct {
*xgb.Cookie
}
// Write request to wire for ChangeKeyboardMapping
func ChangeKeyboardMapping(c *xgb.Conn, KeycodeCount byte, FirstKeycode Keycode, KeysymsPerKeycode byte, Keysyms []Keysym) ChangeKeyboardMappingCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(changeKeyboardMappingRequest(c, KeycodeCount, FirstKeycode, KeysymsPerKeycode, Keysyms), cookie)
return ChangeKeyboardMappingCookie{cookie}
}
func ChangeKeyboardMappingChecked(c *xgb.Conn, KeycodeCount byte, FirstKeycode Keycode, KeysymsPerKeycode byte, Keysyms []Keysym) ChangeKeyboardMappingCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(changeKeyboardMappingRequest(c, KeycodeCount, FirstKeycode, KeysymsPerKeycode, Keysyms), cookie)
return ChangeKeyboardMappingCookie{cookie}
}
func (cook ChangeKeyboardMappingCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for ChangeKeyboardMapping
func changeKeyboardMappingRequest(c *xgb.Conn, KeycodeCount byte, FirstKeycode Keycode, KeysymsPerKeycode byte, Keysyms []Keysym) []byte {
size := xgb.Pad((8 + xgb.Pad(((int(KeycodeCount) * int(KeysymsPerKeycode)) * 4))))
b := 0
buf := make([]byte, size)
buf[b] = 100 // request opcode
b += 1
buf[b] = KeycodeCount
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
buf[b] = byte(FirstKeycode)
b += 1
buf[b] = KeysymsPerKeycode
b += 1
b += 2 // padding
for i := 0; i < int((int(KeycodeCount) * int(KeysymsPerKeycode))); i++ {
xgb.Put32(buf[b:], uint32(Keysyms[i]))
b += 4
}
b = xgb.Pad(b)
return buf
}
// Request GetKeyboardMapping
// size: 8
type GetKeyboardMappingCookie struct {
*xgb.Cookie
}
func GetKeyboardMapping(c *xgb.Conn, FirstKeycode Keycode, Count byte) GetKeyboardMappingCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(getKeyboardMappingRequest(c, FirstKeycode, Count), cookie)
return GetKeyboardMappingCookie{cookie}
}
func GetKeyboardMappingUnchecked(c *xgb.Conn, FirstKeycode Keycode, Count byte) GetKeyboardMappingCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(getKeyboardMappingRequest(c, FirstKeycode, Count), cookie)
return GetKeyboardMappingCookie{cookie}
}
// Request reply for GetKeyboardMapping
// size: (32 + xgb.Pad((int(Length) * 4)))
type GetKeyboardMappingReply struct {
Sequence uint16
Length uint32
KeysymsPerKeycode byte
// padding: 24 bytes
Keysyms []Keysym // size: xgb.Pad((int(Length) * 4))
}
// Waits and reads reply data from request GetKeyboardMapping
func (cook GetKeyboardMappingCookie) Reply() (*GetKeyboardMappingReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return getKeyboardMappingReply(buf), nil
}
// Read reply into structure from buffer for GetKeyboardMapping
func getKeyboardMappingReply(buf []byte) *GetKeyboardMappingReply {
v := new(GetKeyboardMappingReply)
b := 1 // skip reply determinant
v.KeysymsPerKeycode = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
b += 24 // padding
v.Keysyms = make([]Keysym, v.Length)
for i := 0; i < int(v.Length); i++ {
v.Keysyms[i] = Keysym(xgb.Get32(buf[b:]))
b += 4
}
b = xgb.Pad(b)
return v
}
// Write request to wire for GetKeyboardMapping
func getKeyboardMappingRequest(c *xgb.Conn, FirstKeycode Keycode, Count byte) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 101 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
buf[b] = byte(FirstKeycode)
b += 1
buf[b] = Count
b += 1
return buf
}
// Request ChangeKeyboardControl
// size: xgb.Pad((4 + (4 + xgb.Pad((4 * xgb.PopCount(int(ValueMask)))))))
type ChangeKeyboardControlCookie struct {
*xgb.Cookie
}
// Write request to wire for ChangeKeyboardControl
func ChangeKeyboardControl(c *xgb.Conn, ValueMask uint32, ValueList []uint32) ChangeKeyboardControlCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(changeKeyboardControlRequest(c, ValueMask, ValueList), cookie)
return ChangeKeyboardControlCookie{cookie}
}
func ChangeKeyboardControlChecked(c *xgb.Conn, ValueMask uint32, ValueList []uint32) ChangeKeyboardControlCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(changeKeyboardControlRequest(c, ValueMask, ValueList), cookie)
return ChangeKeyboardControlCookie{cookie}
}
func (cook ChangeKeyboardControlCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for ChangeKeyboardControl
func changeKeyboardControlRequest(c *xgb.Conn, ValueMask uint32, ValueList []uint32) []byte {
size := xgb.Pad((4 + (4 + xgb.Pad((4 * xgb.PopCount(int(ValueMask)))))))
b := 0
buf := make([]byte, size)
buf[b] = 102 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], ValueMask)
b += 4
for i := 0; i < xgb.PopCount(int(ValueMask)); i++ {
xgb.Put32(buf[b:], ValueList[i])
b += 4
}
b = xgb.Pad(b)
return buf
}
// Request GetKeyboardControl
// size: 4
type GetKeyboardControlCookie struct {
*xgb.Cookie
}
func GetKeyboardControl(c *xgb.Conn) GetKeyboardControlCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(getKeyboardControlRequest(c), cookie)
return GetKeyboardControlCookie{cookie}
}
func GetKeyboardControlUnchecked(c *xgb.Conn) GetKeyboardControlCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(getKeyboardControlRequest(c), cookie)
return GetKeyboardControlCookie{cookie}
}
// Request reply for GetKeyboardControl
// size: 52
type GetKeyboardControlReply struct {
Sequence uint16
Length uint32
GlobalAutoRepeat byte
LedMask uint32
KeyClickPercent byte
BellPercent byte
BellPitch uint16
BellDuration uint16
// padding: 2 bytes
AutoRepeats []byte // size: 32
}
// Waits and reads reply data from request GetKeyboardControl
func (cook GetKeyboardControlCookie) Reply() (*GetKeyboardControlReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return getKeyboardControlReply(buf), nil
}
// Read reply into structure from buffer for GetKeyboardControl
func getKeyboardControlReply(buf []byte) *GetKeyboardControlReply {
v := new(GetKeyboardControlReply)
b := 1 // skip reply determinant
v.GlobalAutoRepeat = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.LedMask = xgb.Get32(buf[b:])
b += 4
v.KeyClickPercent = buf[b]
b += 1
v.BellPercent = buf[b]
b += 1
v.BellPitch = xgb.Get16(buf[b:])
b += 2
v.BellDuration = xgb.Get16(buf[b:])
b += 2
b += 2 // padding
v.AutoRepeats = make([]byte, 32)
copy(v.AutoRepeats[:32], buf[b:])
b += xgb.Pad(int(32))
return v
}
// Write request to wire for GetKeyboardControl
func getKeyboardControlRequest(c *xgb.Conn) []byte {
size := 4
b := 0
buf := make([]byte, size)
buf[b] = 103 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
return buf
}
// Request Bell
// size: 4
type BellCookie struct {
*xgb.Cookie
}
// Write request to wire for Bell
func Bell(c *xgb.Conn, Percent int8) BellCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(bellRequest(c, Percent), cookie)
return BellCookie{cookie}
}
func BellChecked(c *xgb.Conn, Percent int8) BellCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(bellRequest(c, Percent), cookie)
return BellCookie{cookie}
}
func (cook BellCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for Bell
func bellRequest(c *xgb.Conn, Percent int8) []byte {
size := 4
b := 0
buf := make([]byte, size)
buf[b] = 104 // request opcode
b += 1
buf[b] = byte(Percent)
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
return buf
}
// Request ChangePointerControl
// size: 12
type ChangePointerControlCookie struct {
*xgb.Cookie
}
// Write request to wire for ChangePointerControl
func ChangePointerControl(c *xgb.Conn, AccelerationNumerator int16, AccelerationDenominator int16, Threshold int16, DoAcceleration bool, DoThreshold bool) ChangePointerControlCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(changePointerControlRequest(c, AccelerationNumerator, AccelerationDenominator, Threshold, DoAcceleration, DoThreshold), cookie)
return ChangePointerControlCookie{cookie}
}
func ChangePointerControlChecked(c *xgb.Conn, AccelerationNumerator int16, AccelerationDenominator int16, Threshold int16, DoAcceleration bool, DoThreshold bool) ChangePointerControlCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(changePointerControlRequest(c, AccelerationNumerator, AccelerationDenominator, Threshold, DoAcceleration, DoThreshold), cookie)
return ChangePointerControlCookie{cookie}
}
func (cook ChangePointerControlCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for ChangePointerControl
func changePointerControlRequest(c *xgb.Conn, AccelerationNumerator int16, AccelerationDenominator int16, Threshold int16, DoAcceleration bool, DoThreshold bool) []byte {
size := 12
b := 0
buf := make([]byte, size)
buf[b] = 105 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put16(buf[b:], uint16(AccelerationNumerator))
b += 2
xgb.Put16(buf[b:], uint16(AccelerationDenominator))
b += 2
xgb.Put16(buf[b:], uint16(Threshold))
b += 2
if DoAcceleration {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
if DoThreshold {
buf[b] = 1
} else {
buf[b] = 0
}
b += 1
return buf
}
// Request GetPointerControl
// size: 4
type GetPointerControlCookie struct {
*xgb.Cookie
}
func GetPointerControl(c *xgb.Conn) GetPointerControlCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(getPointerControlRequest(c), cookie)
return GetPointerControlCookie{cookie}
}
func GetPointerControlUnchecked(c *xgb.Conn) GetPointerControlCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(getPointerControlRequest(c), cookie)
return GetPointerControlCookie{cookie}
}
// Request reply for GetPointerControl
// size: 32
type GetPointerControlReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
AccelerationNumerator uint16
AccelerationDenominator uint16
Threshold uint16
// padding: 18 bytes
}
// Waits and reads reply data from request GetPointerControl
func (cook GetPointerControlCookie) Reply() (*GetPointerControlReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return getPointerControlReply(buf), nil
}
// Read reply into structure from buffer for GetPointerControl
func getPointerControlReply(buf []byte) *GetPointerControlReply {
v := new(GetPointerControlReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.AccelerationNumerator = xgb.Get16(buf[b:])
b += 2
v.AccelerationDenominator = xgb.Get16(buf[b:])
b += 2
v.Threshold = xgb.Get16(buf[b:])
b += 2
b += 18 // padding
return v
}
// Write request to wire for GetPointerControl
func getPointerControlRequest(c *xgb.Conn) []byte {
size := 4
b := 0
buf := make([]byte, size)
buf[b] = 106 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
return buf
}
// Request SetScreenSaver
// size: 12
type SetScreenSaverCookie struct {
*xgb.Cookie
}
// Write request to wire for SetScreenSaver
func SetScreenSaver(c *xgb.Conn, Timeout int16, Interval int16, PreferBlanking byte, AllowExposures byte) SetScreenSaverCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(setScreenSaverRequest(c, Timeout, Interval, PreferBlanking, AllowExposures), cookie)
return SetScreenSaverCookie{cookie}
}
func SetScreenSaverChecked(c *xgb.Conn, Timeout int16, Interval int16, PreferBlanking byte, AllowExposures byte) SetScreenSaverCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(setScreenSaverRequest(c, Timeout, Interval, PreferBlanking, AllowExposures), cookie)
return SetScreenSaverCookie{cookie}
}
func (cook SetScreenSaverCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for SetScreenSaver
func setScreenSaverRequest(c *xgb.Conn, Timeout int16, Interval int16, PreferBlanking byte, AllowExposures byte) []byte {
size := 12
b := 0
buf := make([]byte, size)
buf[b] = 107 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put16(buf[b:], uint16(Timeout))
b += 2
xgb.Put16(buf[b:], uint16(Interval))
b += 2
buf[b] = PreferBlanking
b += 1
buf[b] = AllowExposures
b += 1
return buf
}
// Request GetScreenSaver
// size: 4
type GetScreenSaverCookie struct {
*xgb.Cookie
}
func GetScreenSaver(c *xgb.Conn) GetScreenSaverCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(getScreenSaverRequest(c), cookie)
return GetScreenSaverCookie{cookie}
}
func GetScreenSaverUnchecked(c *xgb.Conn) GetScreenSaverCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(getScreenSaverRequest(c), cookie)
return GetScreenSaverCookie{cookie}
}
// Request reply for GetScreenSaver
// size: 32
type GetScreenSaverReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
Timeout uint16
Interval uint16
PreferBlanking byte
AllowExposures byte
// padding: 18 bytes
}
// Waits and reads reply data from request GetScreenSaver
func (cook GetScreenSaverCookie) Reply() (*GetScreenSaverReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return getScreenSaverReply(buf), nil
}
// Read reply into structure from buffer for GetScreenSaver
func getScreenSaverReply(buf []byte) *GetScreenSaverReply {
v := new(GetScreenSaverReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.Timeout = xgb.Get16(buf[b:])
b += 2
v.Interval = xgb.Get16(buf[b:])
b += 2
v.PreferBlanking = buf[b]
b += 1
v.AllowExposures = buf[b]
b += 1
b += 18 // padding
return v
}
// Write request to wire for GetScreenSaver
func getScreenSaverRequest(c *xgb.Conn) []byte {
size := 4
b := 0
buf := make([]byte, size)
buf[b] = 108 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
return buf
}
// Request ChangeHosts
// size: xgb.Pad((8 + xgb.Pad((int(AddressLen) * 1))))
type ChangeHostsCookie struct {
*xgb.Cookie
}
// Write request to wire for ChangeHosts
func ChangeHosts(c *xgb.Conn, Mode byte, Family byte, AddressLen uint16, Address []byte) ChangeHostsCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(changeHostsRequest(c, Mode, Family, AddressLen, Address), cookie)
return ChangeHostsCookie{cookie}
}
func ChangeHostsChecked(c *xgb.Conn, Mode byte, Family byte, AddressLen uint16, Address []byte) ChangeHostsCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(changeHostsRequest(c, Mode, Family, AddressLen, Address), cookie)
return ChangeHostsCookie{cookie}
}
func (cook ChangeHostsCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for ChangeHosts
func changeHostsRequest(c *xgb.Conn, Mode byte, Family byte, AddressLen uint16, Address []byte) []byte {
size := xgb.Pad((8 + xgb.Pad((int(AddressLen) * 1))))
b := 0
buf := make([]byte, size)
buf[b] = 109 // request opcode
b += 1
buf[b] = Mode
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
buf[b] = Family
b += 1
b += 1 // padding
xgb.Put16(buf[b:], AddressLen)
b += 2
copy(buf[b:], Address[:AddressLen])
b += xgb.Pad(int(AddressLen))
return buf
}
// Request ListHosts
// size: 4
type ListHostsCookie struct {
*xgb.Cookie
}
func ListHosts(c *xgb.Conn) ListHostsCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(listHostsRequest(c), cookie)
return ListHostsCookie{cookie}
}
func ListHostsUnchecked(c *xgb.Conn) ListHostsCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(listHostsRequest(c), cookie)
return ListHostsCookie{cookie}
}
// Request reply for ListHosts
// size: (32 + HostListSize(Hosts))
type ListHostsReply struct {
Sequence uint16
Length uint32
Mode byte
HostsLen uint16
// padding: 22 bytes
Hosts []Host // size: HostListSize(Hosts)
}
// Waits and reads reply data from request ListHosts
func (cook ListHostsCookie) Reply() (*ListHostsReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return listHostsReply(buf), nil
}
// Read reply into structure from buffer for ListHosts
func listHostsReply(buf []byte) *ListHostsReply {
v := new(ListHostsReply)
b := 1 // skip reply determinant
v.Mode = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
v.HostsLen = xgb.Get16(buf[b:])
b += 2
b += 22 // padding
v.Hosts = make([]Host, v.HostsLen)
b += HostReadList(buf[b:], v.Hosts)
return v
}
// Write request to wire for ListHosts
func listHostsRequest(c *xgb.Conn) []byte {
size := 4
b := 0
buf := make([]byte, size)
buf[b] = 110 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
return buf
}
// Request SetAccessControl
// size: 4
type SetAccessControlCookie struct {
*xgb.Cookie
}
// Write request to wire for SetAccessControl
func SetAccessControl(c *xgb.Conn, Mode byte) SetAccessControlCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(setAccessControlRequest(c, Mode), cookie)
return SetAccessControlCookie{cookie}
}
func SetAccessControlChecked(c *xgb.Conn, Mode byte) SetAccessControlCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(setAccessControlRequest(c, Mode), cookie)
return SetAccessControlCookie{cookie}
}
func (cook SetAccessControlCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for SetAccessControl
func setAccessControlRequest(c *xgb.Conn, Mode byte) []byte {
size := 4
b := 0
buf := make([]byte, size)
buf[b] = 111 // request opcode
b += 1
buf[b] = Mode
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
return buf
}
// Request SetCloseDownMode
// size: 4
type SetCloseDownModeCookie struct {
*xgb.Cookie
}
// Write request to wire for SetCloseDownMode
func SetCloseDownMode(c *xgb.Conn, Mode byte) SetCloseDownModeCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(setCloseDownModeRequest(c, Mode), cookie)
return SetCloseDownModeCookie{cookie}
}
func SetCloseDownModeChecked(c *xgb.Conn, Mode byte) SetCloseDownModeCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(setCloseDownModeRequest(c, Mode), cookie)
return SetCloseDownModeCookie{cookie}
}
func (cook SetCloseDownModeCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for SetCloseDownMode
func setCloseDownModeRequest(c *xgb.Conn, Mode byte) []byte {
size := 4
b := 0
buf := make([]byte, size)
buf[b] = 112 // request opcode
b += 1
buf[b] = Mode
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
return buf
}
// Request KillClient
// size: 8
type KillClientCookie struct {
*xgb.Cookie
}
// Write request to wire for KillClient
func KillClient(c *xgb.Conn, Resource uint32) KillClientCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(killClientRequest(c, Resource), cookie)
return KillClientCookie{cookie}
}
func KillClientChecked(c *xgb.Conn, Resource uint32) KillClientCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(killClientRequest(c, Resource), cookie)
return KillClientCookie{cookie}
}
func (cook KillClientCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for KillClient
func killClientRequest(c *xgb.Conn, Resource uint32) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = 113 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], Resource)
b += 4
return buf
}
// Request RotateProperties
// size: xgb.Pad((12 + xgb.Pad((int(AtomsLen) * 4))))
type RotatePropertiesCookie struct {
*xgb.Cookie
}
// Write request to wire for RotateProperties
func RotateProperties(c *xgb.Conn, Window Window, AtomsLen uint16, Delta int16, Atoms []Atom) RotatePropertiesCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(rotatePropertiesRequest(c, Window, AtomsLen, Delta, Atoms), cookie)
return RotatePropertiesCookie{cookie}
}
func RotatePropertiesChecked(c *xgb.Conn, Window Window, AtomsLen uint16, Delta int16, Atoms []Atom) RotatePropertiesCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(rotatePropertiesRequest(c, Window, AtomsLen, Delta, Atoms), cookie)
return RotatePropertiesCookie{cookie}
}
func (cook RotatePropertiesCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for RotateProperties
func rotatePropertiesRequest(c *xgb.Conn, Window Window, AtomsLen uint16, Delta int16, Atoms []Atom) []byte {
size := xgb.Pad((12 + xgb.Pad((int(AtomsLen) * 4))))
b := 0
buf := make([]byte, size)
buf[b] = 114 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
xgb.Put32(buf[b:], uint32(Window))
b += 4
xgb.Put16(buf[b:], AtomsLen)
b += 2
xgb.Put16(buf[b:], uint16(Delta))
b += 2
for i := 0; i < int(AtomsLen); i++ {
xgb.Put32(buf[b:], uint32(Atoms[i]))
b += 4
}
b = xgb.Pad(b)
return buf
}
// Request ForceScreenSaver
// size: 4
type ForceScreenSaverCookie struct {
*xgb.Cookie
}
// Write request to wire for ForceScreenSaver
func ForceScreenSaver(c *xgb.Conn, Mode byte) ForceScreenSaverCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(forceScreenSaverRequest(c, Mode), cookie)
return ForceScreenSaverCookie{cookie}
}
func ForceScreenSaverChecked(c *xgb.Conn, Mode byte) ForceScreenSaverCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(forceScreenSaverRequest(c, Mode), cookie)
return ForceScreenSaverCookie{cookie}
}
func (cook ForceScreenSaverCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for ForceScreenSaver
func forceScreenSaverRequest(c *xgb.Conn, Mode byte) []byte {
size := 4
b := 0
buf := make([]byte, size)
buf[b] = 115 // request opcode
b += 1
buf[b] = Mode
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
return buf
}
// Request SetPointerMapping
// size: xgb.Pad((4 + xgb.Pad((int(MapLen) * 1))))
type SetPointerMappingCookie struct {
*xgb.Cookie
}
func SetPointerMapping(c *xgb.Conn, MapLen byte, Map []byte) SetPointerMappingCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(setPointerMappingRequest(c, MapLen, Map), cookie)
return SetPointerMappingCookie{cookie}
}
func SetPointerMappingUnchecked(c *xgb.Conn, MapLen byte, Map []byte) SetPointerMappingCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(setPointerMappingRequest(c, MapLen, Map), cookie)
return SetPointerMappingCookie{cookie}
}
// Request reply for SetPointerMapping
// size: 8
type SetPointerMappingReply struct {
Sequence uint16
Length uint32
Status byte
}
// Waits and reads reply data from request SetPointerMapping
func (cook SetPointerMappingCookie) Reply() (*SetPointerMappingReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return setPointerMappingReply(buf), nil
}
// Read reply into structure from buffer for SetPointerMapping
func setPointerMappingReply(buf []byte) *SetPointerMappingReply {
v := new(SetPointerMappingReply)
b := 1 // skip reply determinant
v.Status = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
return v
}
// Write request to wire for SetPointerMapping
func setPointerMappingRequest(c *xgb.Conn, MapLen byte, Map []byte) []byte {
size := xgb.Pad((4 + xgb.Pad((int(MapLen) * 1))))
b := 0
buf := make([]byte, size)
buf[b] = 116 // request opcode
b += 1
buf[b] = MapLen
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
copy(buf[b:], Map[:MapLen])
b += xgb.Pad(int(MapLen))
return buf
}
// Request GetPointerMapping
// size: 4
type GetPointerMappingCookie struct {
*xgb.Cookie
}
func GetPointerMapping(c *xgb.Conn) GetPointerMappingCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(getPointerMappingRequest(c), cookie)
return GetPointerMappingCookie{cookie}
}
func GetPointerMappingUnchecked(c *xgb.Conn) GetPointerMappingCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(getPointerMappingRequest(c), cookie)
return GetPointerMappingCookie{cookie}
}
// Request reply for GetPointerMapping
// size: (32 + xgb.Pad((int(MapLen) * 1)))
type GetPointerMappingReply struct {
Sequence uint16
Length uint32
MapLen byte
// padding: 24 bytes
Map []byte // size: xgb.Pad((int(MapLen) * 1))
}
// Waits and reads reply data from request GetPointerMapping
func (cook GetPointerMappingCookie) Reply() (*GetPointerMappingReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return getPointerMappingReply(buf), nil
}
// Read reply into structure from buffer for GetPointerMapping
func getPointerMappingReply(buf []byte) *GetPointerMappingReply {
v := new(GetPointerMappingReply)
b := 1 // skip reply determinant
v.MapLen = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
b += 24 // padding
v.Map = make([]byte, v.MapLen)
copy(v.Map[:v.MapLen], buf[b:])
b += xgb.Pad(int(v.MapLen))
return v
}
// Write request to wire for GetPointerMapping
func getPointerMappingRequest(c *xgb.Conn) []byte {
size := 4
b := 0
buf := make([]byte, size)
buf[b] = 117 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
return buf
}
// Request SetModifierMapping
// size: xgb.Pad((4 + xgb.Pad(((int(KeycodesPerModifier) * 8) * 1))))
type SetModifierMappingCookie struct {
*xgb.Cookie
}
func SetModifierMapping(c *xgb.Conn, KeycodesPerModifier byte, Keycodes []Keycode) SetModifierMappingCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(setModifierMappingRequest(c, KeycodesPerModifier, Keycodes), cookie)
return SetModifierMappingCookie{cookie}
}
func SetModifierMappingUnchecked(c *xgb.Conn, KeycodesPerModifier byte, Keycodes []Keycode) SetModifierMappingCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(setModifierMappingRequest(c, KeycodesPerModifier, Keycodes), cookie)
return SetModifierMappingCookie{cookie}
}
// Request reply for SetModifierMapping
// size: 8
type SetModifierMappingReply struct {
Sequence uint16
Length uint32
Status byte
}
// Waits and reads reply data from request SetModifierMapping
func (cook SetModifierMappingCookie) Reply() (*SetModifierMappingReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return setModifierMappingReply(buf), nil
}
// Read reply into structure from buffer for SetModifierMapping
func setModifierMappingReply(buf []byte) *SetModifierMappingReply {
v := new(SetModifierMappingReply)
b := 1 // skip reply determinant
v.Status = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
return v
}
// Write request to wire for SetModifierMapping
func setModifierMappingRequest(c *xgb.Conn, KeycodesPerModifier byte, Keycodes []Keycode) []byte {
size := xgb.Pad((4 + xgb.Pad(((int(KeycodesPerModifier) * 8) * 1))))
b := 0
buf := make([]byte, size)
buf[b] = 118 // request opcode
b += 1
buf[b] = KeycodesPerModifier
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
for i := 0; i < int((int(KeycodesPerModifier) * 8)); i++ {
buf[b] = byte(Keycodes[i])
b += 1
}
b = xgb.Pad(b)
return buf
}
// Request GetModifierMapping
// size: 4
type GetModifierMappingCookie struct {
*xgb.Cookie
}
func GetModifierMapping(c *xgb.Conn) GetModifierMappingCookie {
cookie := c.NewCookie(true, true)
c.NewRequest(getModifierMappingRequest(c), cookie)
return GetModifierMappingCookie{cookie}
}
func GetModifierMappingUnchecked(c *xgb.Conn) GetModifierMappingCookie {
cookie := c.NewCookie(false, true)
c.NewRequest(getModifierMappingRequest(c), cookie)
return GetModifierMappingCookie{cookie}
}
// Request reply for GetModifierMapping
// size: (32 + xgb.Pad(((int(KeycodesPerModifier) * 8) * 1)))
type GetModifierMappingReply struct {
Sequence uint16
Length uint32
KeycodesPerModifier byte
// padding: 24 bytes
Keycodes []Keycode // size: xgb.Pad(((int(KeycodesPerModifier) * 8) * 1))
}
// Waits and reads reply data from request GetModifierMapping
func (cook GetModifierMappingCookie) Reply() (*GetModifierMappingReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return getModifierMappingReply(buf), nil
}
// Read reply into structure from buffer for GetModifierMapping
func getModifierMappingReply(buf []byte) *GetModifierMappingReply {
v := new(GetModifierMappingReply)
b := 1 // skip reply determinant
v.KeycodesPerModifier = buf[b]
b += 1
v.Sequence = xgb.Get16(buf[b:])
b += 2
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
b += 24 // padding
v.Keycodes = make([]Keycode, (int(v.KeycodesPerModifier) * 8))
for i := 0; i < int((int(v.KeycodesPerModifier) * 8)); i++ {
v.Keycodes[i] = Keycode(buf[b])
b += 1
}
b = xgb.Pad(b)
return v
}
// Write request to wire for GetModifierMapping
func getModifierMappingRequest(c *xgb.Conn) []byte {
size := 4
b := 0
buf := make([]byte, size)
buf[b] = 119 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
return buf
}
// Request NoOperation
// size: 4
type NoOperationCookie struct {
*xgb.Cookie
}
// Write request to wire for NoOperation
func NoOperation(c *xgb.Conn) NoOperationCookie {
cookie := c.NewCookie(false, false)
c.NewRequest(noOperationRequest(c), cookie)
return NoOperationCookie{cookie}
}
func NoOperationChecked(c *xgb.Conn) NoOperationCookie {
cookie := c.NewCookie(true, false)
c.NewRequest(noOperationRequest(c), cookie)
return NoOperationCookie{cookie}
}
func (cook NoOperationCookie) Check() error {
return cook.Cookie.Check()
}
// Write request to wire for NoOperation
func noOperationRequest(c *xgb.Conn) []byte {
size := 4
b := 0
buf := make([]byte, size)
buf[b] = 127 // request opcode
b += 1
b += 1 // padding
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
return buf
}