aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-10-22 13:13:14 +0000
committermarha <marha@users.sourceforge.net>2010-10-22 13:13:14 +0000
commit5a05343a8071f769d092d5bb6bdea9adf65eda9c (patch)
tree5c5202b870cf2d933205e44e9d8083c7f00f6fd0
parentc24d80341cb2ccb427ed85a5c149e6d009355f96 (diff)
parent16436e149bb71adf8c769a50f45291c569632a66 (diff)
downloadvcxsrv-5a05343a8071f769d092d5bb6bdea9adf65eda9c.tar.gz
vcxsrv-5a05343a8071f769d092d5bb6bdea9adf65eda9c.tar.bz2
vcxsrv-5a05343a8071f769d092d5bb6bdea9adf65eda9c.zip
svn merge ^/branches/released .
-rw-r--r--libfontenc/configure.ac4
-rw-r--r--libxcb/xcb-proto/src/xproto.xml4880
-rw-r--r--pixman/configure.ac2
-rw-r--r--pixman/pixman/pixman-image.c1
-rw-r--r--pixman/pixman/pixman-linear-gradient.c193
-rw-r--r--pixman/pixman/pixman-private.h2
-rw-r--r--pixman/pixman/pixman-radial-gradient.c7
-rw-r--r--pixman/pixman/pixman-solid-fill.c3
-rw-r--r--xorg-server/damageext/damageext.c1
9 files changed, 2531 insertions, 2562 deletions
diff --git a/libfontenc/configure.ac b/libfontenc/configure.ac
index b957758dd..282167c71 100644
--- a/libfontenc/configure.ac
+++ b/libfontenc/configure.ac
@@ -23,7 +23,9 @@ dnl Process this file with autoconf to create configure.
AC_PREREQ([2.60])
-AC_INIT(libfontenc, 1.0.5, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], libfontenc)
+AC_INIT([libfontenc], [1.1.0],
+ [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
+ [libfontenc])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
diff --git a/libxcb/xcb-proto/src/xproto.xml b/libxcb/xcb-proto/src/xproto.xml
index b6521c3d7..4070b8463 100644
--- a/libxcb/xcb-proto/src/xproto.xml
+++ b/libxcb/xcb-proto/src/xproto.xml
@@ -1,2440 +1,2440 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-Copyright (C) 2001-2004 Bart Massey, Jamey Sharp, and Josh Triplett.
-All Rights Reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the names of the authors or their
-institutions shall not be used in advertising or otherwise to promote the
-sale, use or other dealings in this Software without prior written
-authorization from the authors.
--->
-<xcb header="xproto">
- <!-- Core protocol types -->
-
- <struct name="CHAR2B">
- <field type="CARD8" name="byte1" />
- <field type="CARD8" name="byte2" />
- </struct>
-
- <xidtype name="WINDOW" />
-
- <xidtype name="PIXMAP" />
-
- <xidtype name="CURSOR" />
-
- <xidtype name="FONT" />
-
- <xidtype name="GCONTEXT" />
-
- <xidtype name="COLORMAP" />
-
- <xidtype name="ATOM" />
-
- <xidunion name="DRAWABLE">
- <type>WINDOW</type>
- <type>PIXMAP</type>
- </xidunion>
-
- <xidunion name="FONTABLE">
- <type>FONT</type>
- <type>GCONTEXT</type>
- </xidunion>
-
- <typedef oldname="CARD32" newname="VISUALID" />
-
- <typedef oldname="CARD32" newname="TIMESTAMP" />
-
- <typedef oldname="CARD32" newname="KEYSYM" />
-
- <typedef oldname="CARD8" newname="KEYCODE" />
-
- <typedef oldname="CARD8" newname="BUTTON" />
-
- <struct name="POINT">
- <field type="INT16" name="x" />
- <field type="INT16" name="y" />
- </struct>
-
- <struct name="RECTANGLE">
- <field type="INT16" name="x" />
- <field type="INT16" name="y" />
- <field type="CARD16" name="width" />
- <field type="CARD16" name="height" />
- </struct>
-
- <struct name="ARC">
- <field type="INT16" name="x" />
- <field type="INT16" name="y" />
- <field type="CARD16" name="width" />
- <field type="CARD16" name="height" />
- <field type="INT16" name="angle1" />
- <field type="INT16" name="angle2" />
- </struct>
-
- <!-- Connection setup-related types -->
-
- <struct name="FORMAT">
- <field type="CARD8" name="depth" />
- <field type="CARD8" name="bits_per_pixel" />
- <field type="CARD8" name="scanline_pad" />
- <pad bytes="5" />
- </struct>
-
- <enum name="VisualClass">
- <item name="StaticGray"> <value>0</value></item>
- <item name="GrayScale"> <value>1</value></item>
- <item name="StaticColor"><value>2</value></item>
- <item name="PseudoColor"><value>3</value></item>
- <item name="TrueColor"> <value>4</value></item>
- <item name="DirectColor"><value>5</value></item>
- </enum>
-
- <struct name="VISUALTYPE">
- <field type="VISUALID" name="visual_id" />
- <field type="CARD8" name="class" enum="VisualClass" />
- <field type="CARD8" name="bits_per_rgb_value" />
- <field type="CARD16" name="colormap_entries" />
- <field type="CARD32" name="red_mask" />
- <field type="CARD32" name="green_mask" />
- <field type="CARD32" name="blue_mask" />
- <pad bytes="4" />
- </struct>
-
- <struct name="DEPTH">
- <field type="CARD8" name="depth" />
- <pad bytes="1" />
- <field type="CARD16" name="visuals_len" />
- <pad bytes="4" />
- <list type="VISUALTYPE" name="visuals">
- <fieldref>visuals_len</fieldref>
- </list>
- </struct>
-
- <enum name="EventMask">
- <item name="NoEvent"> <value>0</value></item>
- <item name="KeyPress"> <bit>0</bit></item>
- <item name="KeyRelease"> <bit>1</bit></item>
- <item name="ButtonPress"> <bit>2</bit></item>
- <item name="ButtonRelease"> <bit>3</bit></item>
- <item name="EnterWindow"> <bit>4</bit></item>
- <item name="LeaveWindow"> <bit>5</bit></item>
- <item name="PointerMotion"> <bit>6</bit></item>
- <item name="PointerMotionHint"> <bit>7</bit></item>
- <item name="Button1Motion"> <bit>8</bit></item>
- <item name="Button2Motion"> <bit>9</bit></item>
- <item name="Button3Motion"> <bit>10</bit></item>
- <item name="Button4Motion"> <bit>11</bit></item>
- <item name="Button5Motion"> <bit>12</bit></item>
- <item name="ButtonMotion"> <bit>13</bit></item>
- <item name="KeymapState"> <bit>14</bit></item>
- <item name="Exposure"> <bit>15</bit></item>
- <item name="VisibilityChange"> <bit>16</bit></item>
- <item name="StructureNotify"> <bit>17</bit></item>
- <item name="ResizeRedirect"> <bit>18</bit></item>
- <item name="SubstructureNotify"> <bit>19</bit></item>
- <item name="SubstructureRedirect"><bit>20</bit></item>
- <item name="FocusChange"> <bit>21</bit></item>
- <item name="PropertyChange"> <bit>22</bit></item>
- <item name="ColorMapChange"> <bit>23</bit></item>
- <item name="OwnerGrabButton"> <bit>24</bit></item>
- </enum>
-
- <enum name="BackingStore">
- <item name="NotUseful"> <value>0</value></item>
- <item name="WhenMapped"><value>1</value></item>
- <item name="Always"> <value>2</value></item>
- </enum>
-
- <struct name="SCREEN">
- <field type="WINDOW" name="root" />
- <field type="COLORMAP" name="default_colormap" />
- <field type="CARD32" name="white_pixel" />
- <field type="CARD32" name="black_pixel" />
- <field type="CARD32" name="current_input_masks" mask="EventMask" />
- <field type="CARD16" name="width_in_pixels" />
- <field type="CARD16" name="height_in_pixels" />
- <field type="CARD16" name="width_in_millimeters" />
- <field type="CARD16" name="height_in_millimeters" />
- <field type="CARD16" name="min_installed_maps" />
- <field type="CARD16" name="max_installed_maps" />
- <field type="VISUALID" name="root_visual" />
- <field type="BYTE" name="backing_stores" enum="BackingStore" />
- <field type="BOOL" name="save_unders" />
- <field type="CARD8" name="root_depth" />
- <field type="CARD8" name="allowed_depths_len" />
- <list type="DEPTH" name="allowed_depths">
- <fieldref>allowed_depths_len</fieldref>
- </list>
- </struct>
-
- <struct name="SetupRequest">
- <field type="CARD8" name="byte_order" />
- <pad bytes="1" />
- <field type="CARD16" name="protocol_major_version" />
- <field type="CARD16" name="protocol_minor_version" />
- <field type="CARD16" name="authorization_protocol_name_len" />
- <field type="CARD16" name="authorization_protocol_data_len" />
- <pad bytes="2" />
- <list type="char" name="authorization_protocol_name">
- <fieldref>authorization_protocol_name_len</fieldref>
- </list>
- <list type="char" name="authorization_protocol_data">
- <fieldref>authorization_protocol_data_len</fieldref>
- </list>
- </struct>
-
- <struct name="SetupFailed">
- <field type="CARD8" name="status" /> <!-- always 0 -> Failed -->
- <field type="CARD8" name="reason_len" />
- <field type="CARD16" name="protocol_major_version" />
- <field type="CARD16" name="protocol_minor_version" />
- <field type="CARD16" name="length" />
- <list type="char" name="reason">
- <fieldref>reason_len</fieldref>
- </list>
- </struct>
-
- <struct name="SetupAuthenticate">
- <field type="CARD8" name="status" /> <!-- always 2 -> Authenticate -->
- <pad bytes="5" />
- <field type="CARD16" name="length" />
- <list type="char" name="reason">
- <op op="*">
- <fieldref>length</fieldref>
- <value>4</value>
- </op>
- </list>
- </struct>
-
- <enum name="ImageOrder">
- <item name="LSBFirst"><value>0</value></item>
- <item name="MSBFirst"><value>1</value></item>
- </enum>
-
- <struct name="Setup">
- <field type="CARD8" name="status" /> <!-- always 1 -> Success -->
- <pad bytes="1" />
- <field type="CARD16" name="protocol_major_version" />
- <field type="CARD16" name="protocol_minor_version" />
- <field type="CARD16" name="length" />
- <field type="CARD32" name="release_number" />
- <field type="CARD32" name="resource_id_base" />
- <field type="CARD32" name="resource_id_mask" />
- <field type="CARD32" name="motion_buffer_size" />
- <field type="CARD16" name="vendor_len" />
- <field type="CARD16" name="maximum_request_length" />
- <field type="CARD8" name="roots_len" />
- <field type="CARD8" name="pixmap_formats_len" />
- <field type="CARD8" name="image_byte_order" enum="ImageOrder" />
- <field type="CARD8" name="bitmap_format_bit_order" enum="ImageOrder" />
- <field type="CARD8" name="bitmap_format_scanline_unit" />
- <field type="CARD8" name="bitmap_format_scanline_pad" />
- <field type="KEYCODE" name="min_keycode" />
- <field type="KEYCODE" name="max_keycode" />
- <pad bytes="4" />
- <list type="char" name="vendor">
- <fieldref>vendor_len</fieldref>
- </list>
- <list type="FORMAT" name="pixmap_formats">
- <fieldref>pixmap_formats_len</fieldref>
- </list>
- <list type="SCREEN" name="roots">
- <fieldref>roots_len</fieldref>
- </list>
- </struct>
-
- <!-- Core event types -->
-
- <enum name="ModMask">
- <item name="Shift"> <bit>0</bit></item>
- <item name="Lock"> <bit>1</bit></item>
- <item name="Control"><bit>2</bit></item>
- <item name="1"> <bit>3</bit></item>
- <item name="2"> <bit>4</bit></item>
- <item name="3"> <bit>5</bit></item>
- <item name="4"> <bit>6</bit></item>
- <item name="5"> <bit>7</bit></item>
- <item name="Any"> <bit>15</bit></item>
- </enum>
-
- <enum name="KeyButMask">
- <item name="Shift"> <bit>0</bit></item>
- <item name="Lock"> <bit>1</bit></item>
- <item name="Control"><bit>2</bit></item>
- <item name="Mod1"> <bit>3</bit></item>
- <item name="Mod2"> <bit>4</bit></item>
- <item name="Mod3"> <bit>5</bit></item>
- <item name="Mod4"> <bit>6</bit></item>
- <item name="Mod5"> <bit>7</bit></item>
- <item name="Button1"><bit>8</bit></item>
- <item name="Button2"><bit>9</bit></item>
- <item name="Button3"><bit>10</bit></item>
- <item name="Button4"><bit>11</bit></item>
- <item name="Button5"><bit>12</bit></item>
- </enum>
-
- <enum name="Window">
- <item name="None"> <value>0</value></item>
- </enum>
-
- <event name="KeyPress" number="2">
- <field type="KEYCODE" name="detail" />
- <field type="TIMESTAMP" name="time" />
- <field type="WINDOW" name="root" />
- <field type="WINDOW" name="event" />
- <field type="WINDOW" name="child" altenum="Window" />
- <field type="INT16" name="root_x" />
- <field type="INT16" name="root_y" />
- <field type="INT16" name="event_x" />
- <field type="INT16" name="event_y" />
- <field type="CARD16" name="state" mask="KeyButMask" />
- <field type="BOOL" name="same_screen" />
- <pad bytes="1" />
- </event>
-
- <eventcopy name="KeyRelease" number="3" ref="KeyPress" />
-
- <enum name="ButtonMask">
- <item name="1"> <bit>8</bit></item>
- <item name="2"> <bit>9</bit></item>
- <item name="3"> <bit>10</bit></item>
- <item name="4"> <bit>11</bit></item>
- <item name="5"> <bit>12</bit></item>
- <item name="Any"> <bit>15</bit></item>
- </enum>
-
- <event name="ButtonPress" number="4">
- <field type="BUTTON" name="detail" />
- <field type="TIMESTAMP" name="time" />
- <field type="WINDOW" name="root" />
- <field type="WINDOW" name="event" />
- <field type="WINDOW" name="child" altenum="Window" />
- <field type="INT16" name="root_x" />
- <field type="INT16" name="root_y" />
- <field type="INT16" name="event_x" />
- <field type="INT16" name="event_y" />
- <field type="CARD16" name="state" mask="KeyButMask" />
- <field type="BOOL" name="same_screen" />
- <pad bytes="1" />
- </event>
-
- <eventcopy name="ButtonRelease" number="5" ref="ButtonPress" />
-
- <!-- MotionNotify detail -->
- <enum name="Motion">
- <item name="Normal"><value>0</value></item>
- <item name="Hint"> <value>1</value></item>
- </enum>
-
- <event name="MotionNotify" number="6">
- <field type="BYTE" name="detail" enum="Motion" />
- <field type="TIMESTAMP" name="time" />
- <field type="WINDOW" name="root" />
- <field type="WINDOW" name="event" />
- <field type="WINDOW" name="child" altenum="Window" />
- <field type="INT16" name="root_x" />
- <field type="INT16" name="root_y" />
- <field type="INT16" name="event_x" />
- <field type="INT16" name="event_y" />
- <field type="CARD16" name="state" mask="KeyButMask" />
- <field type="BOOL" name="same_screen" />
- <pad bytes="1" />
- </event>
-
- <enum name="NotifyDetail">
- <item name="Ancestor"> <value>0</value></item>
- <item name="Virtual"> <value>1</value></item>
- <item name="Inferior"> <value>2</value></item>
- <item name="Nonlinear"> <value>3</value></item>
- <item name="NonlinearVirtual"><value>4</value></item>
- <item name="Pointer"> <value>5</value></item>
- <item name="PointerRoot"> <value>6</value></item>
- <item name="None"> <value>7</value></item>
- </enum>
-
- <enum name="NotifyMode">
- <item name="Normal"> <value>0</value></item>
- <item name="Grab"> <value>1</value></item>
- <item name="Ungrab"> <value>2</value></item>
- <item name="WhileGrabbed"><value>3</value></item>
- </enum>
-
- <event name="EnterNotify" number="7">
- <field type="BYTE" name="detail" enum="NotifyDetail" />
- <field type="TIMESTAMP" name="time" />
- <field type="WINDOW" name="root" />
- <field type="WINDOW" name="event" />
- <field type="WINDOW" name="child" altenum="Window" />
- <field type="INT16" name="root_x" />
- <field type="INT16" name="root_y" />
- <field type="INT16" name="event_x" />
- <field type="INT16" name="event_y" />
- <field type="CARD16" name="state" mask="KeyButMask" />
- <field type="BYTE" name="mode" enum="NotifyMode" />
- <field type="BYTE" name="same_screen_focus" />
- </event>
-
- <eventcopy name="LeaveNotify" number="8" ref="EnterNotify" />
-
- <event name="FocusIn" number="9">
- <field type="BYTE" name="detail" enum="NotifyDetail" />
- <field type="WINDOW" name="event" />
- <field type="BYTE" name="mode" enum="NotifyMode" />
- <pad bytes="3" />
- </event>
-
- <eventcopy name="FocusOut" number="10" ref="FocusIn" />
-
- <event name="KeymapNotify" number="11" no-sequence-number="true">
- <list type="CARD8" name="keys"><value>31</value></list>
- </event>
-
- <event name="Expose" number="12">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- <field type="CARD16" name="x" />
- <field type="CARD16" name="y" />
- <field type="CARD16" name="width" />
- <field type="CARD16" name="height" />
- <field type="CARD16" name="count" />
- <pad bytes="2" />
- </event>
-
- <event name="GraphicsExposure" number="13">
- <pad bytes="1" />
- <field type="DRAWABLE" name="drawable" />
- <field type="CARD16" name="x" />
- <field type="CARD16" name="y" />
- <field type="CARD16" name="width" />
- <field type="CARD16" name="height" />
- <field type="CARD16" name="minor_opcode" />
- <field type="CARD16" name="count" />
- <field type="CARD8" name="major_opcode" />
- <pad bytes="3" />
- </event>
-
- <event name="NoExposure" number="14">
- <pad bytes="1" />
- <field type="DRAWABLE" name="drawable" />
- <field type="CARD16" name="minor_opcode" />
- <field type="CARD8" name="major_opcode" />
- <pad bytes="1" />
- </event>
-
- <enum name="Visibility">
- <item name="Unobscured"> <value>0</value></item>
- <item name="PartiallyObscured"><value>1</value></item>
- <item name="FullyObscured"> <value>2</value></item>
- </enum>
-
- <event name="VisibilityNotify" number="15">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- <field type="BYTE" name="state" enum="Visibility" />
- <pad bytes="3" />
- </event>
-
- <event name="CreateNotify" number="16">
- <pad bytes="1" />
- <field type="WINDOW" name="parent" />
- <field type="WINDOW" name="window" />
- <field type="INT16" name="x" />
- <field type="INT16" name="y" />
- <field type="CARD16" name="width" />
- <field type="CARD16" name="height" />
- <field type="CARD16" name="border_width" />
- <field type="BOOL" name="override_redirect" />
- <pad bytes="1" />
- </event>
-
- <event name="DestroyNotify" number="17">
- <pad bytes="1" />
- <field type="WINDOW" name="event" />
- <field type="WINDOW" name="window" />
- </event>
-
- <event name="UnmapNotify" number="18">
- <pad bytes="1" />
- <field type="WINDOW" name="event" />
- <field type="WINDOW" name="window" />
- <field type="BOOL" name="from_configure" />
- <pad bytes="3" />
- </event>
-
- <event name="MapNotify" number="19">
- <pad bytes="1" />
- <field type="WINDOW" name="event" />
- <field type="WINDOW" name="window" />
- <field type="BOOL" name="override_redirect" />
- <pad bytes="3" />
- </event>
-
- <event name="MapRequest" number="20">
- <pad bytes="1" />
- <field type="WINDOW" name="parent" />
- <field type="WINDOW" name="window" />
- </event>
-
- <event name="ReparentNotify" number="21">
- <pad bytes="1" />
- <field type="WINDOW" name="event" />
- <field type="WINDOW" name="window" />
- <field type="WINDOW" name="parent" />
- <field type="INT16" name="x" />
- <field type="INT16" name="y" />
- <field type="BOOL" name="override_redirect" />
- <pad bytes="3" />
- </event>
-
- <event name="ConfigureNotify" number="22">
- <pad bytes="1" />
- <field type="WINDOW" name="event" />
- <field type="WINDOW" name="window" />
- <field type="WINDOW" name="above_sibling" altenum="Window" />
- <field type="INT16" name="x" />
- <field type="INT16" name="y" />
- <field type="CARD16" name="width" />
- <field type="CARD16" name="height" />
- <field type="CARD16" name="border_width" />
- <field type="BOOL" name="override_redirect" />
- <pad bytes="1" />
- </event>
-
- <event name="ConfigureRequest" number="23">
- <field type="BYTE" name="stack_mode" enum="StackMode" />
- <field type="WINDOW" name="parent" />
- <field type="WINDOW" name="window" />
- <field type="WINDOW" name="sibling" altenum="Window" />
- <field type="INT16" name="x" />
- <field type="INT16" name="y" />
- <field type="CARD16" name="width" />
- <field type="CARD16" name="height" />
- <field type="CARD16" name="border_width" />
- <field type="CARD16" name="value_mask" mask="ConfigWindow" />
- </event>
-
- <event name="GravityNotify" number="24">
- <pad bytes="1" />
- <field type="WINDOW" name="event" />
- <field type="WINDOW" name="window" />
- <field type="INT16" name="x" />
- <field type="INT16" name="y" />
- </event>
-
- <event name="ResizeRequest" number="25">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- <field type="CARD16" name="width" />
- <field type="CARD16" name="height" />
- </event>
-
- <enum name="Place">
- <item name="OnTop"> <value>0</value></item>
- <item name="OnBottom"><value>1</value></item>
- </enum>
-
- <event name="CirculateNotify" number="26">
- <pad bytes="1" />
- <field type="WINDOW" name="event" />
- <field type="WINDOW" name="window" />
- <pad bytes="4" />
- <field type="BYTE" name="place" enum="Place" />
- <pad bytes="3" />
- </event>
-
- <eventcopy name="CirculateRequest" number="27" ref="CirculateNotify" />
-
- <enum name="Property">
- <item name="NewValue"><value>0</value></item>
- <item name="Delete"> <value>1</value></item>
- </enum>
-
- <event name="PropertyNotify" number="28">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- <field type="ATOM" name="atom" />
- <field type="TIMESTAMP" name="time" />
- <field type="BYTE" name="state" enum="Property" />
- <pad bytes="3" />
- </event>
-
- <event name="SelectionClear" number="29">
- <pad bytes="1" />
- <field type="TIMESTAMP" name="time" />
- <field type="WINDOW" name="owner" />
- <field type="ATOM" name="selection" />
- </event>
-
- <enum name="Time">
- <item name="CurrentTime"> <value>0</value> </item>
- </enum>
-
- <enum name="Atom">
- <item name="None"> <value>0</value></item>
- <item name="Any"> <value>0</value></item>
- <item name="PRIMARY" />
- <item name="SECONDARY" />
- <item name="ARC" />
- <item name="ATOM" />
- <item name="BITMAP" />
- <item name="CARDINAL" />
- <item name="COLORMAP" />
- <item name="CURSOR" />
- <item name="CUT_BUFFER0" />
- <item name="CUT_BUFFER1" />
- <item name="CUT_BUFFER2" />
- <item name="CUT_BUFFER3" />
- <item name="CUT_BUFFER4" />
- <item name="CUT_BUFFER5" />
- <item name="CUT_BUFFER6" />
- <item name="CUT_BUFFER7" />
- <item name="DRAWABLE" />
- <item name="FONT" />
- <item name="INTEGER" />
- <item name="PIXMAP" />
- <item name="POINT" />
- <item name="RECTANGLE" />
- <item name="RESOURCE_MANAGER" />
- <item name="RGB_COLOR_MAP" />
- <item name="RGB_BEST_MAP" />
- <item name="RGB_BLUE_MAP" />
- <item name="RGB_DEFAULT_MAP" />
- <item name="RGB_GRAY_MAP" />
- <item name="RGB_GREEN_MAP" />
- <item name="RGB_RED_MAP" />
- <item name="STRING" />
- <item name="VISUALID" />
- <item name="WINDOW" />
- <item name="WM_COMMAND" />
- <item name="WM_HINTS" />
- <item name="WM_CLIENT_MACHINE" />
- <item name="WM_ICON_NAME" />
- <item name="WM_ICON_SIZE" />
- <item name="WM_NAME" />
- <item name="WM_NORMAL_HINTS" />
- <item name="WM_SIZE_HINTS" />
- <item name="WM_ZOOM_HINTS" />
- <item name="MIN_SPACE" />
- <item name="NORM_SPACE" />
- <item name="MAX_SPACE" />
- <item name="END_SPACE" />
- <item name="SUPERSCRIPT_X" />
- <item name="SUPERSCRIPT_Y" />
- <item name="SUBSCRIPT_X" />
- <item name="SUBSCRIPT_Y" />
- <item name="UNDERLINE_POSITION" />
- <item name="UNDERLINE_THICKNESS" />
- <item name="STRIKEOUT_ASCENT" />
- <item name="STRIKEOUT_DESCENT" />
- <item name="ITALIC_ANGLE" />
- <item name="X_HEIGHT" />
- <item name="QUAD_WIDTH" />
- <item name="WEIGHT" />
- <item name="POINT_SIZE" />
- <item name="RESOLUTION" />
- <item name="COPYRIGHT" />
- <item name="NOTICE" />
- <item name="FONT_NAME" />
- <item name="FAMILY_NAME" />
- <item name="FULL_NAME" />
- <item name="CAP_HEIGHT" />
- <item name="WM_CLASS" />
- <item name="WM_TRANSIENT_FOR" />
- </enum>
-
- <event name="SelectionRequest" number="30">
- <pad bytes="1" />
- <field type="TIMESTAMP" name="time" altenum="Time" />
- <field type="WINDOW" name="owner" />
- <field type="WINDOW" name="requestor" />
- <field type="ATOM" name="selection" />
- <field type="ATOM" name="target" />
- <field type="ATOM" name="property" altenum="Atom" />
- </event>
-
- <event name="SelectionNotify" number="31">
- <pad bytes="1" />
- <field type="TIMESTAMP" name="time" altenum="Time" />
- <field type="WINDOW" name="requestor" />
- <field type="ATOM" name="selection" />
- <field type="ATOM" name="target" />
- <field type="ATOM" name="property" altenum="Atom" />
- </event>
-
- <enum name="ColormapState">
- <item name="Uninstalled"><value>0</value></item>
- <item name="Installed"> <value>1</value></item>
- </enum>
-
- <enum name="Colormap">
- <item name="None"> <value>0</value></item>
- </enum>
-
- <event name="ColormapNotify" number="32">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- <field type="COLORMAP" name="colormap" altenum="Colormap" />
- <field type="BOOL" name="new" />
- <field type="BYTE" name="state" enum="ColormapState" />
- <pad bytes="2" />
- </event>
-
- <union name="ClientMessageData">
- <!-- The format member of the ClientMessage event determines which array
- to use. -->
- <list type="CARD8" name="data8" ><value>20</value></list> <!-- 8 -->
- <list type="CARD16" name="data16"><value>10</value></list> <!-- 16 -->
- <list type="CARD32" name="data32"><value>5</value></list> <!-- 32 -->
- </union>
-
- <event name="ClientMessage" number="33">
- <field type="CARD8" name="format" /> <!-- 8, 16, or 32. -->
- <field type="WINDOW" name="window" />
- <field type="ATOM" name="type" />
- <field type="ClientMessageData" name="data" />
- </event>
-
- <enum name="Mapping">
- <item name="Modifier"><value>0</value></item>
- <item name="Keyboard"><value>1</value></item>
- <item name="Pointer"> <value>2</value></item>
- </enum>
-
- <event name="MappingNotify" number="34">
- <pad bytes="1" />
- <field type="BYTE" name="request" enum="Mapping" />
- <field type="KEYCODE" name="first_keycode" />
- <field type="CARD8" name="count" />
- <pad bytes="1" />
- </event>
-
-
-
- <!-- Core error types -->
-
-
-
- <error name="Request" number="1">
- <field type="CARD32" name="bad_value" />
- <field type="CARD16" name="minor_opcode" />
- <field type="CARD8" name="major_opcode" />
- <pad bytes="1" />
- </error>
-
- <error name="Value" number="2">
- <field type="CARD32" name="bad_value" />
- <field type="CARD16" name="minor_opcode" />
- <field type="CARD8" name="major_opcode" />
- <pad bytes="1" />
- </error>
-
- <errorcopy name="Window" number="3" ref="Value" />
- <errorcopy name="Pixmap" number="4" ref="Value" />
- <errorcopy name="Atom" number="5" ref="Value" />
- <errorcopy name="Cursor" number="6" ref="Value" />
- <errorcopy name="Font" number="7" ref="Value" />
- <errorcopy name="Match" number="8" ref="Request" />
- <errorcopy name="Drawable" number="9" ref="Value" />
- <errorcopy name="Access" number="10" ref="Request" />
- <errorcopy name="Alloc" number="11" ref="Request" />
- <errorcopy name="Colormap" number="12" ref="Value" />
- <errorcopy name="GContext" number="13" ref="Value" />
- <errorcopy name="IDChoice" number="14" ref="Value" />
- <errorcopy name="Name" number="15" ref="Request" />
- <errorcopy name="Length" number="16" ref="Request" />
- <errorcopy name="Implementation" number="17" ref="Request" />
-
-
-
- <!-- The core requests, in major number order. -->
- <!-- It is the caller's responsibility to free returned XCB*Rep objects. -->
-
-
-
- <enum name="WindowClass">
- <item name="CopyFromParent"><value>0</value></item>
- <item name="InputOutput"> <value>1</value></item>
- <item name="InputOnly"> <value>2</value></item>
- </enum>
-
- <!-- Window attributes for CreateWindow and ChangeWindowAttributes. -->
- <enum name="CW">
- <item name="BackPixmap"> <bit>0</bit></item>
- <item name="BackPixel"> <bit>1</bit></item>
- <item name="BorderPixmap"> <bit>2</bit></item>
- <item name="BorderPixel"> <bit>3</bit></item>
- <item name="BitGravity"> <bit>4</bit></item>
- <item name="WinGravity"> <bit>5</bit></item>
- <item name="BackingStore"> <bit>6</bit></item>
- <item name="BackingPlanes"> <bit>7</bit></item>
- <item name="BackingPixel"> <bit>8</bit></item>
- <item name="OverrideRedirect"><bit>9</bit></item>
- <item name="SaveUnder"> <bit>10</bit></item>
- <item name="EventMask"> <bit>11</bit></item>
- <item name="DontPropagate"> <bit>12</bit></item>
- <item name="Colormap"> <bit>13</bit></item>
- <item name="Cursor"> <bit>14</bit></item>
- </enum>
-
- <enum name="BackPixmap">
- <item name="None"> <value>0</value></item>
- <item name="ParentRelative"><value>1</value></item>
- </enum>
-
- <enum name="Gravity">
- <item name="BitForget"><value>0</value></item>
- <item name="WinUnmap"> <value>0</value></item>
- <item name="NorthWest"><value>1</value></item>
- <item name="North"> <value>2</value></item>
- <item name="NorthEast"><value>3</value></item>
- <item name="West"> <value>4</value></item>
- <item name="Center"> <value>5</value></item>
- <item name="East"> <value>6</value></item>
- <item name="SouthWest"><value>7</value></item>
- <item name="South"> <value>8</value></item>
- <item name="SouthEast"><value>9</value></item>
- <item name="Static"> <value>10</value></item>
- </enum>
-
- <request name="CreateWindow" opcode="1">
- <field type="CARD8" name="depth" />
- <field type="WINDOW" name="wid" />
- <field type="WINDOW" name="parent" />
- <field type="INT16" name="x" />
- <field type="INT16" name="y" />
- <field type="CARD16" name="width" />
- <field type="CARD16" name="height" />
- <field type="CARD16" name="border_width" />
- <field type="CARD16" name="class" enum="WindowClass" />
- <field type="VISUALID" name="visual" />
- <valueparam value-mask-type="CARD32"
- value-mask-name="value_mask"
- value-list-name="value_list" />
- </request>
-
- <request name="ChangeWindowAttributes" opcode="2">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- <valueparam value-mask-type="CARD32"
- value-mask-name="value_mask"
- value-list-name="value_list" />
- </request>
-
- <enum name="MapState">
- <item name="Unmapped"> <value>0</value></item>
- <item name="Unviewable"><value>1</value></item>
- <item name="Viewable"> <value>2</value></item>
- </enum>
-
- <request name="GetWindowAttributes" opcode="3">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- <reply>
- <field type="CARD8" name="backing_store" enum="BackingStore" />
- <field type="VISUALID" name="visual" />
- <field type="CARD16" name="class" enum="WindowClass" />
- <field type="CARD8" name="bit_gravity" enum="Gravity" />
- <field type="CARD8" name="win_gravity" enum="Gravity" />
- <field type="CARD32" name="backing_planes" />
- <field type="CARD32" name="backing_pixel" />
- <field type="BOOL" name="save_under" />
- <field type="BOOL" name="map_is_installed" />
- <field type="CARD8" name="map_state" enum="MapState" />
- <field type="BOOL" name="override_redirect" />
- <field type="COLORMAP" name="colormap" altenum="Colormap" />
- <field type="CARD32" name="all_event_masks" mask="EventMask" />
- <field type="CARD32" name="your_event_mask" mask="EventMask" />
- <field type="CARD16" name="do_not_propagate_mask" mask="EventMask" />
- <pad bytes="2" />
- </reply>
- </request>
-
- <request name="DestroyWindow" opcode="4">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- </request>
-
- <request name="DestroySubwindows" opcode="5">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- </request>
-
- <enum name="SetMode">
- <item name="Insert"><value>0</value></item>
- <item name="Delete"><value>1</value></item>
- </enum>
-
- <request name="ChangeSaveSet" opcode="6">
- <field type="BYTE" name="mode" enum="SetMode" />
- <field type="WINDOW" name="window" />
- </request>
-
- <request name="ReparentWindow" opcode="7">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- <field type="WINDOW" name="parent" />
- <field type="INT16" name="x" />
- <field type="INT16" name="y" />
- </request>
-
- <request name="MapWindow" opcode="8">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- </request>
-
- <request name="MapSubwindows" opcode="9">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- </request>
-
- <request name="UnmapWindow" opcode="10">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- </request>
-
- <request name="UnmapSubwindows" opcode="11">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- </request>
-
- <enum name="ConfigWindow">
- <item name="X"> <bit>0</bit></item>
- <item name="Y"> <bit>1</bit></item>
- <item name="Width"> <bit>2</bit></item>
- <item name="Height"> <bit>3</bit></item>
- <item name="BorderWidth"><bit>4</bit></item>
- <item name="Sibling"> <bit>5</bit></item>
- <item name="StackMode"> <bit>6</bit></item>
- </enum>
-
- <enum name="StackMode">
- <item name="Above"> <value>0</value></item>
- <item name="Below"> <value>1</value></item>
- <item name="TopIf"> <value>2</value></item>
- <item name="BottomIf"><value>3</value></item>
- <item name="Opposite"><value>4</value></item>
- </enum>
-
- <request name="ConfigureWindow" opcode="12">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- <field type="CARD16" name="value_mask" />
- <pad bytes="2" />
- <valueparam value-mask-type="CARD16"
- value-mask-name="value_mask"
- value-list-name="value_list" />
- </request>
-
- <enum name="Circulate">
- <item name="RaiseLowest"> <value>0</value></item>
- <item name="LowerHighest"><value>1</value></item>
- </enum>
-
- <request name="CirculateWindow" opcode="13">
- <field type="CARD8" name="direction" enum="Circulate" />
- <field type="WINDOW" name="window" />
- </request>
-
- <request name="GetGeometry" opcode="14">
- <pad bytes="1" />
- <field type="DRAWABLE" name="drawable" />
- <reply>
- <field type="CARD8" name="depth" />
- <field type="WINDOW" name="root" />
- <field type="INT16" name="x" />
- <field type="INT16" name="y" />
- <field type="CARD16" name="width" />
- <field type="CARD16" name="height" />
- <field type="CARD16" name="border_width" />
- <pad bytes="2" />
- </reply>
- </request>
-
- <request name="QueryTree" opcode="15">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- <reply>
- <pad bytes="1" />
- <field type="WINDOW" name="root" />
- <field type="WINDOW" name="parent" altenum="Window" />
- <field type="CARD16" name="children_len" />
- <pad bytes="14" />
- <list type="WINDOW" name="children">
- <fieldref>children_len</fieldref>
- </list>
- </reply>
- </request>
-
- <request name="InternAtom" opcode="16">
- <field type="BOOL" name="only_if_exists" />
- <field type="CARD16" name="name_len" />
- <pad bytes="2" />
- <list type="char" name="name">
- <fieldref>name_len</fieldref>
- </list>
- <reply>
- <pad bytes="1" />
- <field type="ATOM" name="atom" altenum="Atom" />
- </reply>
- </request>
-
- <request name="GetAtomName" opcode="17">
- <pad bytes="1" />
- <field type="ATOM" name="atom" />
- <reply>
- <pad bytes="1" />
- <field type="CARD16" name="name_len" />
- <pad bytes="22" />
- <list type="char" name="name">
- <fieldref>name_len</fieldref>
- </list>
- </reply>
- </request>
-
- <enum name="PropMode">
- <item name="Replace"><value>0</value></item>
- <item name="Prepend"><value>1</value></item>
- <item name="Append"> <value>2</value></item>
- </enum>
-
- <request name="ChangeProperty" opcode="18">
- <field type="CARD8" name="mode" enum="PropMode" />
- <field type="WINDOW" name="window" />
- <field type="ATOM" name="property" />
- <field type="ATOM" name="type" />
- <field type="CARD8" name="format" />
- <pad bytes="3" />
- <field type="CARD32" name="data_len" />
- <list type="void" name="data">
- <op op="/">
- <op op="*">
- <fieldref>data_len</fieldref>
- <fieldref>format</fieldref>
- </op>
- <value>8</value>
- </op>
- </list>
- </request>
-
- <request name="DeleteProperty" opcode="19">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- <field type="ATOM" name="property" />
- </request>
-
- <enum name="GetPropertyType">
- <item name="Any"><value>0</value></item>
- </enum>
-
- <request name="GetProperty" opcode="20">
- <field type="BOOL" name="delete" />
- <field type="WINDOW" name="window" />
- <field type="ATOM" name="property" />
- <field type="ATOM" name="type" altenum="GetPropertyType" />
- <field type="CARD32" name="long_offset" />
- <field type="CARD32" name="long_length" />
- <reply>
- <field type="CARD8" name="format" />
- <field type="ATOM" name="type" />
- <field type="CARD32" name="bytes_after" />
- <field type="CARD32" name="value_len" />
- <pad bytes="12" />
- <list type="void" name="value">
- <op op="*">
- <fieldref>value_len</fieldref>
- <op op="/">
- <fieldref>format</fieldref>
- <value>8</value>
- </op>
- </op>
- </list>
- </reply>
- </request>
-
- <request name="ListProperties" opcode="21">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- <reply>
- <pad bytes="1" />
- <field type="CARD16" name="atoms_len" />
- <pad bytes="22" />
- <list type="ATOM" name="atoms">
- <fieldref>atoms_len</fieldref>
- </list>
- </reply>
- </request>
-
- <request name="SetSelectionOwner" opcode="22">
- <pad bytes="1" />
- <field type="WINDOW" name="owner" altenum="Window" />
- <field type="ATOM" name="selection" />
- <field type="TIMESTAMP" name="time" altenum="Time" />
- </request>
-
- <request name="GetSelectionOwner" opcode="23">
- <pad bytes="1" />
- <field type="ATOM" name="selection" />
- <reply>
- <pad bytes="1" />
- <field type="WINDOW" name="owner" altenum="Window" />
- </reply>
- </request>
-
- <request name="ConvertSelection" opcode="24">
- <pad bytes="1" />
- <field type="WINDOW" name="requestor" />
- <field type="ATOM" name="selection" />
- <field type="ATOM" name="target" />
- <field type="ATOM" name="property" altenum="Atom" />
- <field type="TIMESTAMP" name="time" altenum="Time" />
- </request>
-
- <enum name="SendEventDest">
- <item name="PointerWindow"><value>0</value></item>
- <item name="ItemFocus"> <value>1</value></item>
- </enum>
-
- <request name="SendEvent" opcode="25">
- <field type="BOOL" name="propagate" />
- <field type="WINDOW" name="destination" altenum="SendEventDest" />
- <field type="CARD32" name="event_mask" mask="EventMask" />
- <list type="char" name="event"><value>32</value></list>
- </request>
-
- <enum name="GrabMode">
- <item name="Sync"> <value>0</value></item>
- <item name="Async"><value>1</value></item>
- </enum>
-
- <enum name="GrabStatus">
- <item name="Success"> <value>0</value></item>
- <item name="AlreadyGrabbed"><value>1</value></item>
- <item name="InvalidTime"> <value>2</value></item>
- <item name="NotViewable"> <value>3</value></item>
- <item name="Frozen"> <value>4</value></item>
- </enum>
-
- <enum name="Cursor">
- <item name="None"> <value>0</value></item>
- </enum>
-
- <request name="GrabPointer" opcode="26">
- <field type="BOOL" name="owner_events" />
- <field type="WINDOW" name="grab_window" />
- <field type="CARD16" name="event_mask" mask="EventMask" />
- <field type="BYTE" name="pointer_mode" enum="GrabMode" />
- <field type="BYTE" name="keyboard_mode" enum="GrabMode" />
- <field type="WINDOW" name="confine_to" altenum="Window" />
- <field type="CURSOR" name="cursor" altenum="Cursor" />
- <field type="TIMESTAMP" name="time" altenum="Time" />
- <reply>
- <field type="BYTE" name="status" enum="GrabStatus" />
- </reply>
- </request>
-
- <request name="UngrabPointer" opcode="27">
- <pad bytes="1" />
- <field type="TIMESTAMP" name="time" altenum="Time" />
- </request>
-
- <enum name="ButtonIndex">
- <item name="Any"><value>0</value></item>
- <item name="1"> <value>1</value></item>
- <item name="2"> <value>2</value></item>
- <item name="3"> <value>3</value></item>
- <item name="4"> <value>4</value></item>
- <item name="5"> <value>5</value></item>
- </enum>
-
- <request name="GrabButton" opcode="28">
- <field type="BOOL" name="owner_events" />
- <field type="WINDOW" name="grab_window" />
- <field type="CARD16" name="event_mask" mask="EventMask" />
- <field type="CARD8" name="pointer_mode" enum="GrabMode" />
- <field type="CARD8" name="keyboard_mode" enum="GrabMode" />
- <field type="WINDOW" name="confine_to" altenum="Window" />
- <field type="CURSOR" name="cursor" altenum="Cursor" />
- <field type="CARD8" name="button" enum="ButtonIndex" />
- <pad bytes="1" />
- <field type="CARD16" name="modifiers" mask="ModMask" />
- </request>
-
- <request name="UngrabButton" opcode="29">
- <field type="CARD8" name="button" enum="ButtonIndex" />
- <field type="WINDOW" name="grab_window" />
- <field type="CARD16" name="modifiers" mask="ModMask" />
- <pad bytes="2" />
- </request>
-
- <request name="ChangeActivePointerGrab" opcode="30">
- <pad bytes="1" />
- <field type="CURSOR" name="cursor" altenum="Cursor" />
- <field type="TIMESTAMP" name="time" altenum="Time" />
- <field type="CARD16" name="event_mask" mask="EventMask" />
- <pad bytes="2" />
- </request>
-
- <request name="GrabKeyboard" opcode="31">
- <field type="BOOL" name="owner_events" />
- <field type="WINDOW" name="grab_window" />
- <field type="TIMESTAMP" name="time" altenum="Time" />
- <field type="BYTE" name="pointer_mode" enum="GrabMode" />
- <field type="BYTE" name="keyboard_mode" enum="GrabMode" />
- <pad bytes="2" />
- <reply>
- <field type="BYTE" name="status" enum="GrabStatus" />
- </reply>
- </request>
-
- <request name="UngrabKeyboard" opcode="32">
- <pad bytes="1" />
- <field type="TIMESTAMP" name="time" altenum="Time" />
- </request>
-
- <!-- Use KEYCODE any = { XCBGrabAny }; to grab any key -->
- <enum name="Grab">
- <item name="Any"><value>0</value></item>
- </enum>
-
- <request name="GrabKey" opcode="33">
- <field type="BOOL" name="owner_events" />
- <field type="WINDOW" name="grab_window" />
- <field type="CARD16" name="modifiers" mask="ModMask" />
- <field type="KEYCODE" name="key" altenum="Grab" />
- <field type="CARD8" name="pointer_mode" enum="GrabMode" />
- <field type="CARD8" name="keyboard_mode" enum="GrabMode" />
- <pad bytes="3" />
- </request>
-
- <request name="UngrabKey" opcode="34">
- <field type="KEYCODE" name="key" altenum="Grab" />
- <field type="WINDOW" name="grab_window" />
- <field type="CARD16" name="modifiers" mask="ModMask" />
- <pad bytes="2" />
- </request>
-
- <enum name="Allow">
- <item name="AsyncPointer"> <value>0</value></item>
- <item name="SyncPointer"> <value>1</value></item>
- <item name="ReplayPointer"> <value>2</value></item>
- <item name="AsyncKeyboard"> <value>3</value></item>
- <item name="SyncKeyboard"> <value>4</value></item>
- <item name="ReplayKeyboard"><value>5</value></item>
- <item name="AsyncBoth"> <value>6</value></item>
- <item name="SyncBoth"> <value>7</value></item>
- </enum>
-
- <request name="AllowEvents" opcode="35">
- <field type="CARD8" name="mode" enum="Allow" />
- <field type="TIMESTAMP" name="time" altenum="Time" />
- </request>
-
- <request name="GrabServer" opcode="36" />
-
- <request name="UngrabServer" opcode="37" />
-
- <request name="QueryPointer" opcode="38">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- <reply>
- <field type="BOOL" name="same_screen" />
- <field type="WINDOW" name="root" />
- <field type="WINDOW" name="child" altenum="Window" />
- <field type="INT16" name="root_x" />
- <field type="INT16" name="root_y" />
- <field type="INT16" name="win_x" />
- <field type="INT16" name="win_y" />
- <field type="CARD16" name="mask" mask="KeyButMask" />
- <pad bytes="2" />
- </reply>
- </request>
-
- <struct name="TIMECOORD">
- <field type="TIMESTAMP" name="time" />
- <field type="INT16" name="x" />
- <field type="INT16" name="y" />
- </struct>
-
- <request name="GetMotionEvents" opcode="39">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- <field type="TIMESTAMP" name="start" altenum="Time" />
- <field type="TIMESTAMP" name="stop" altenum="Time" />
- <reply>
- <pad bytes="1" />
- <field type="CARD32" name="events_len" />
- <pad bytes="20" />
- <list type="TIMECOORD" name="events">
- <fieldref>events_len</fieldref>
- </list>
- </reply>
- </request>
-
- <request name="TranslateCoordinates" opcode="40">
- <pad bytes="1" />
- <field type="WINDOW" name="src_window" />
- <field type="WINDOW" name="dst_window" />
- <field type="INT16" name="src_x" />
- <field type="INT16" name="src_y" />
- <reply>
- <field type="BOOL" name="same_screen" />
- <field type="WINDOW" name="child" altenum="Window" />
- <field type="CARD16" name="dst_x" />
- <field type="CARD16" name="dst_y" />
- </reply>
- </request>
-
- <request name="WarpPointer" opcode="41">
- <pad bytes="1" />
- <field type="WINDOW" name="src_window" altenum="Window" />
- <field type="WINDOW" name="dst_window" altenum="Window" />
- <field type="INT16" name="src_x" />
- <field type="INT16" name="src_y" />
- <field type="CARD16" name="src_width" />
- <field type="CARD16" name="src_height" />
- <field type="INT16" name="dst_x" />
- <field type="INT16" name="dst_y" />
- </request>
-
- <!-- used for revert_to and focus -->
- <enum name="InputFocus">
- <item name="None"> <value>0</value></item>
- <item name="PointerRoot"><value>1</value></item>
- <item name="Parent"> <value>2</value></item> <!-- revert_to only -->
- <item name="FollowKeyboard"><value>3</value></item> <!-- xinput extension only -->
- </enum>
-
- <request name="SetInputFocus" opcode="42">
- <field type="CARD8" name="revert_to" enum="InputFocus" />
- <field type="WINDOW" name="focus" altenum="InputFocus" />
- <field type="TIMESTAMP" name="time" altenum="Time" />
- </request>
-
- <request name="GetInputFocus" opcode="43">
- <reply>
- <field type="CARD8" name="revert_to" enum="InputFocus" />
- <field type="WINDOW" name="focus" altenum="InputFocus" />
- </reply>
- </request>
-
- <request name="QueryKeymap" opcode="44">
- <reply>
- <pad bytes="1" />
- <list type="CARD8" name="keys"><value>32</value></list>
- </reply>
- </request>
-
- <request name="OpenFont" opcode="45">
- <pad bytes="1" />
- <field type="FONT" name="fid" />
- <field type="CARD16" name="name_len" />
- <pad bytes="2" />
- <list type="char" name="name">
- <fieldref>name_len</fieldref>
- </list>
- </request>
-
- <request name="CloseFont" opcode="46">
- <pad bytes="1" />
- <field type="FONT" name="font" />
- </request>
-
- <enum name="FontDraw">
- <item name="LeftToRight"><value>0</value></item>
- <item name="RightToLeft"><value>1</value></item>
- </enum>
-
- <struct name="FONTPROP">
- <field type="ATOM" name="name" />
- <field type="CARD32" name="value" />
- </struct>
-
- <struct name="CHARINFO">
- <field type="INT16" name="left_side_bearing" />
- <field type="INT16" name="right_side_bearing" />
- <field type="INT16" name="character_width" />
- <field type="INT16" name="ascent" />
- <field type="INT16" name="descent" />
- <field type="CARD16" name="attributes" />
- </struct>
-
- <request name="QueryFont" opcode="47">
- <pad bytes="1" />
- <field type="FONTABLE" name="font" />
- <reply>
- <pad bytes="1" />
- <field type="CHARINFO" name="min_bounds" />
- <pad bytes="4" />
- <field type="CHARINFO" name="max_bounds" />
- <pad bytes="4" />
- <field type="CARD16" name="min_char_or_byte2" />
- <field type="CARD16" name="max_char_or_byte2" />
- <field type="CARD16" name="default_char" />
- <field type="CARD16" name="properties_len" />
- <field type="BYTE" name="draw_direction" enum="FontDraw" />
- <field type="CARD8" name="min_byte1" />
- <field type="CARD8" name="max_byte1" />
- <field type="BOOL" name="all_chars_exist" />
- <field type="INT16" name="font_ascent" />
- <field type="INT16" name="font_descent" />
- <field type="CARD32" name="char_infos_len" />
- <list type="FONTPROP" name="properties">
- <fieldref>properties_len</fieldref>
- </list>
- <list type="CHARINFO" name="char_infos">
- <fieldref>char_infos_len</fieldref>
- </list>
- </reply>
- </request>
-
- <request name="QueryTextExtents" opcode="48">
- <exprfield type="BOOL" name="odd_length">
- <op op="&amp;"><fieldref>string_len</fieldref><value>1</value></op>
- </exprfield>
- <field type="FONTABLE" name="font" />
- <list type="CHAR2B" name="string" />
- <reply>
- <field type="BYTE" name="draw_direction" enum="FontDraw" />
- <field type="INT16" name="font_ascent" />
- <field type="INT16" name="font_descent" />
- <field type="INT16" name="overall_ascent" />
- <field type="INT16" name="overall_descent" />
- <field type="INT32" name="overall_width" />
- <field type="INT32" name="overall_left" />
- <field type="INT32" name="overall_right" />
- </reply>
- </request>
-
- <struct name="STR">
- <field type="CARD8" name="name_len" />
- <list type="char" name="name">
- <fieldref>name_len</fieldref>
- </list>
- </struct>
-
- <request name="ListFonts" opcode="49">
- <pad bytes="1" />
- <field type="CARD16" name="max_names" />
- <field type="CARD16" name="pattern_len" />
- <list type="char" name="pattern">
- <fieldref>pattern_len</fieldref>
- </list>
- <reply>
- <pad bytes="1" />
- <field type="CARD16" name="names_len" />
- <pad bytes="22" />
- <list type="STR" name="names">
- <fieldref>names_len</fieldref>
- </list>
- </reply>
- </request>
-
- <request name="ListFontsWithInfo" opcode="50">
- <pad bytes="1" />
- <field type="CARD16" name="max_names" />
- <field type="CARD16" name="pattern_len" />
- <list type="char" name="pattern">
- <fieldref>pattern_len</fieldref>
- </list>
- <reply>
- <field type="CARD8" name="name_len" />
- <field type="CHARINFO" name="min_bounds" />
- <pad bytes="4" />
- <field type="CHARINFO" name="max_bounds" />
- <pad bytes="4" />
- <field type="CARD16" name="min_char_or_byte2" />
- <field type="CARD16" name="max_char_or_byte2" />
- <field type="CARD16" name="default_char" />
- <field type="CARD16" name="properties_len" />
- <field type="BYTE" name="draw_direction" enum="FontDraw" />
- <field type="CARD8" name="min_byte1" />
- <field type="CARD8" name="max_byte1" />
- <field type="BOOL" name="all_chars_exist" />
- <field type="INT16" name="font_ascent" />
- <field type="INT16" name="font_descent" />
- <field type="CARD32" name="replies_hint" />
- <list type="FONTPROP" name="properties">
- <fieldref>properties_len</fieldref>
- </list>
- <list type="char" name="name">
- <fieldref>name_len</fieldref>
- </list>
- </reply>
- </request>
-
- <request name="SetFontPath" opcode="51">
- <pad bytes="1" />
- <field type="CARD16" name="font_qty" />
- <list type="char" name="path" />
- </request>
-
- <request name="GetFontPath" opcode="52">
- <reply>
- <pad bytes="1" />
- <field type="CARD16" name="path_len" />
- <pad bytes="22" />
- <list type="STR" name="path">
- <fieldref>path_len</fieldref>
- </list>
- </reply>
- </request>
-
- <request name="CreatePixmap" opcode="53">
- <field type="CARD8" name="depth" />
- <field type="PIXMAP" name="pid" />
- <field type="DRAWABLE" name="drawable" />
- <field type="CARD16" name="width" />
- <field type="CARD16" name="height" />
- </request>
-
- <request name="FreePixmap" opcode="54">
- <pad bytes="1" />
- <field type="PIXMAP" name="pixmap" />
- </request>
-
- <enum name="GC">
- <item name="Function"> <bit>0</bit></item>
- <item name="PlaneMask"> <bit>1</bit></item>
- <item name="Foreground"> <bit>2</bit></item>
- <item name="Background"> <bit>3</bit></item>
- <item name="LineWidth"> <bit>4</bit></item>
- <item name="LineStyle"> <bit>5</bit></item>
- <item name="CapStyle"> <bit>6</bit></item>
- <item name="JoinStyle"> <bit>7</bit></item>
- <item name="FillStyle"> <bit>8</bit></item>
- <item name="FillRule"> <bit>9</bit></item>
- <item name="Tile"> <bit>10</bit></item>
- <item name="Stipple"> <bit>11</bit></item>
- <item name="TileStippleOriginX"><bit>12</bit></item>
- <item name="TileStippleOriginY"><bit>13</bit></item>
- <item name="Font"> <bit>14</bit></item>
- <item name="SubwindowMode"> <bit>15</bit></item>
- <item name="GraphicsExposures"> <bit>16</bit></item>
- <item name="ClipOriginX"> <bit>17</bit></item>
- <item name="ClipOriginY"> <bit>18</bit></item>
- <item name="ClipMask"> <bit>19</bit></item>
- <item name="DashOffset"> <bit>20</bit></item>
- <item name="DashList"> <bit>21</bit></item>
- <item name="ArcMode"> <bit>22</bit></item>
- </enum>
-
- <!-- GC Function values -->
- <enum name="GX">
- <item name="clear"> <value>0</value></item>
- <item name="and"> <value>1</value></item>
- <item name="andReverse"> <value>2</value></item>
- <item name="copy"> <value>3</value></item>
- <item name="andInverted"> <value>4</value></item>
- <item name="noop"> <value>5</value></item>
- <item name="xor"> <value>6</value></item>
- <item name="or"> <value>7</value></item>
- <item name="nor"> <value>8</value></item>
- <item name="equiv"> <value>9</value></item>
- <item name="invert"> <value>10</value></item>
- <item name="orReverse"> <value>11</value></item>
- <item name="copyInverted"><value>12</value></item>
- <item name="orInverted"> <value>13</value></item>
- <item name="nand"> <value>14</value></item>
- <item name="set"> <value>15</value></item>
- </enum>
-
- <enum name="LineStyle">
- <item name="Solid"> <value>0</value></item>
- <item name="OnOffDash"> <value>1</value></item>
- <item name="DoubleDash"><value>2</value></item>
- </enum>
-
- <enum name="CapStyle">
- <item name="NotLast"> <value>0</value></item>
- <item name="Butt"> <value>1</value></item>
- <item name="Round"> <value>2</value></item>
- <item name="Projecting"><value>3</value></item>
- </enum>
-
- <enum name="JoinStyle">
- <item name="Miter"> <value>0</value></item>
- <item name="Round"> <value>1</value></item>
- <item name="Bevel"> <value>2</value></item>
- </enum>
-
- <enum name="FillStyle">
- <item name="Solid"> <value>0</value></item>
- <item name="Tiled"> <value>1</value></item>
- <item name="Stippled"> <value>2</value></item>
- <item name="OpaqueStippled"><value>3</value></item>
- </enum>
-
- <enum name="FillRule">
- <item name="EvenOdd"><value>0</value></item>
- <item name="Winding"><value>1</value></item>
- </enum>
-
- <enum name="SubwindowMode">
- <item name="ClipByChildren"> <value>0</value></item>
- <item name="IncludeInferiors"><value>1</value></item>
- </enum>
-
- <enum name="ArcMode">
- <item name="Chord"> <value>0</value></item>
- <item name="PieSlice"><value>1</value></item>
- </enum>
-
- <request name="CreateGC" opcode="55">
- <pad bytes="1" />
- <field type="GCONTEXT" name="cid" />
- <field type="DRAWABLE" name="drawable" />
- <valueparam value-mask-type="CARD32"
- value-mask-name="value_mask"
- value-list-name="value_list" />
- </request>
-
- <request name="ChangeGC" opcode="56">
- <pad bytes="1" />
- <field type="GCONTEXT" name="gc" />
- <valueparam value-mask-type="CARD32"
- value-mask-name="value_mask"
- value-list-name="value_list" />
- </request>
-
- <request name="CopyGC" opcode="57">
- <pad bytes="1" />
- <field type="GCONTEXT" name="src_gc" />
- <field type="GCONTEXT" name="dst_gc" />
- <field type="CARD32" name="value_mask" mask="GC" />
- </request>
-
- <request name="SetDashes" opcode="58">
- <pad bytes="1" />
- <field type="GCONTEXT" name="gc" />
- <field type="CARD16" name="dash_offset" />
- <field type="CARD16" name="dashes_len" />
- <list type="CARD8" name="dashes">
- <fieldref>dashes_len</fieldref>
- </list>
- </request>
-
- <enum name="ClipOrdering">
- <item name="Unsorted"><value>0</value></item>
- <item name="YSorted"> <value>1</value></item>
- <item name="YXSorted"><value>2</value></item>
- <item name="YXBanded"><value>3</value></item>
- </enum>
-
- <request name="SetClipRectangles" opcode="59">
- <field type="BYTE" name="ordering" enum="ClipOrdering" />
- <field type="GCONTEXT" name="gc" />
- <field type="INT16" name="clip_x_origin" />
- <field type="INT16" name="clip_y_origin" />
- <list type="RECTANGLE" name="rectangles" />
- </request>
-
- <request name="FreeGC" opcode="60">
- <pad bytes="1" />
- <field type="GCONTEXT" name="gc" />
- </request>
-
- <request name="ClearArea" opcode="61">
- <field type="BOOL" name="exposures" />
- <field type="WINDOW" name="window" />
- <field type="INT16" name="x" />
- <field type="INT16" name="y" />
- <field type="CARD16" name="width" />
- <field type="CARD16" name="height" />
- </request>
-
- <request name="CopyArea" opcode="62">
- <pad bytes="1" />
- <field type="DRAWABLE" name="src_drawable" />
- <field type="DRAWABLE" name="dst_drawable" />
- <field type="GCONTEXT" name="gc" />
- <field type="INT16" name="src_x" />
- <field type="INT16" name="src_y" />
- <field type="INT16" name="dst_x" />
- <field type="INT16" name="dst_y" />
- <field type="CARD16" name="width" />
- <field type="CARD16" name="height" />
- </request>
-
- <request name="CopyPlane" opcode="63">
- <pad bytes="1" />
- <field type="DRAWABLE" name="src_drawable" />
- <field type="DRAWABLE" name="dst_drawable" />
- <field type="GCONTEXT" name="gc" />
- <field type="INT16" name="src_x" />
- <field type="INT16" name="src_y" />
- <field type="INT16" name="dst_x" />
- <field type="INT16" name="dst_y" />
- <field type="CARD16" name="width" />
- <field type="CARD16" name="height" />
- <field type="CARD32" name="bit_plane" />
- </request>
-
- <enum name="CoordMode">
- <item name="Origin"> <value>0</value></item>
- <item name="Previous"><value>1</value></item>
- </enum>
-
- <!-- combine-adjacent doesn't work for mode==Relative -->
- <request name="PolyPoint" opcode="64">
- <field type="BYTE" name="coordinate_mode" enum="CoordMode" />
- <field type="DRAWABLE" name="drawable" />
- <field type="GCONTEXT" name="gc" />
- <list type="POINT" name="points" />
- </request>
-
- <request name="PolyLine" opcode="65" combine-adjacent="true">
- <field type="BYTE" name="coordinate_mode" enum="CoordMode" />
- <field type="DRAWABLE" name="drawable" />
- <field type="GCONTEXT" name="gc" />
- <list type="POINT" name="points" />
- </request>
-
- <struct name="SEGMENT">
- <field type="INT16" name="x1" />
- <field type="INT16" name="y1" />
- <field type="INT16" name="x2" />
- <field type="INT16" name="y2" />
- </struct>
-
- <request name="PolySegment" opcode="66" combine-adjacent="true">
- <pad bytes="1" />
- <field type="DRAWABLE" name="drawable" />
- <field type="GCONTEXT" name="gc" />
- <list type="SEGMENT" name="segments" />
- </request>
-
- <request name="PolyRectangle" opcode="67" combine-adjacent="true">
- <pad bytes="1" />
- <field type="DRAWABLE" name="drawable" />
- <field type="GCONTEXT" name="gc" />
- <list type="RECTANGLE" name="rectangles" />
- </request>
-
- <!--
- The semantics of PolyArc change after the first arc: the GC's
- join style may be applied to successive arcs under some circumstances.
- So using combine-adjacent here is bad.
- -->
- <request name="PolyArc" opcode="68">
- <pad bytes="1" />
- <field type="DRAWABLE" name="drawable" />
- <field type="GCONTEXT" name="gc" />
- <list type="ARC" name="arcs" />
- </request>
-
- <enum name="PolyShape">
- <item name="Complex"> <value>0</value></item>
- <item name="Nonconvex"><value>1</value></item>
- <item name="Convex"> <value>2</value></item>
- </enum>
-
- <request name="FillPoly" opcode="69">
- <pad bytes="1" />
- <field type="DRAWABLE" name="drawable" />
- <field type="GCONTEXT" name="gc" />
- <field type="CARD8" name="shape" enum="PolyShape" />
- <field type="CARD8" name="coordinate_mode" enum="CoordMode" />
- <pad bytes="2" />
- <list type="POINT" name="points" />
- </request>
-
- <request name="PolyFillRectangle" opcode="70" combine-adjacent="true">
- <pad bytes="1" />
- <field type="DRAWABLE" name="drawable" />
- <field type="GCONTEXT" name="gc" />
- <list type="RECTANGLE" name="rectangles" />
- </request>
-
- <request name="PolyFillArc" opcode="71" combine-adjacent="true">
- <pad bytes="1" />
- <field type="DRAWABLE" name="drawable" />
- <field type="GCONTEXT" name="gc" />
- <list type="ARC" name="arcs" />
- </request>
-
- <enum name="ImageFormat">
- <item name="XYBitmap"><value>0</value></item>
- <item name="XYPixmap"><value>1</value></item>
- <item name="ZPixmap"> <value>2</value></item>
- </enum>
-
- <request name="PutImage" opcode="72">
- <field type="CARD8" name="format" enum="ImageFormat" />
- <field type="DRAWABLE" name="drawable" />
- <field type="GCONTEXT" name="gc" />
- <field type="CARD16" name="width" />
- <field type="CARD16" name="height" />
- <field type="INT16" name="dst_x" />
- <field type="INT16" name="dst_y" />
- <field type="CARD8" name="left_pad" />
- <field type="CARD8" name="depth" />
- <pad bytes="2" />
- <list type="BYTE" name="data" />
- </request>
-
- <!-- FIXME: data array in reply will include padding, but ought not to. -->
- <request name="GetImage" opcode="73">
- <field type="CARD8" name="format" enum="ImageFormat" />
- <field type="DRAWABLE" name="drawable" />
- <field type="INT16" name="x" />
- <field type="INT16" name="y" />
- <field type="CARD16" name="width" />
- <field type="CARD16" name="height" />
- <field type="CARD32" name="plane_mask" />
- <reply>
- <field type="CARD8" name="depth" />
- <field type="VISUALID" name="visual" />
- <pad bytes="20" />
- <list type="BYTE" name="data">
- <op op="*">
- <fieldref>length</fieldref>
- <value>4</value>
- </op>
- </list>
- </reply>
- </request>
-
- <request name="PolyText8" opcode="74">
- <pad bytes="1" />
- <field type="DRAWABLE" name="drawable" />
- <field type="GCONTEXT" name="gc" />
- <field type="INT16" name="x" />
- <field type="INT16" name="y" />
- <list type="BYTE" name="items" />
- </request>
-
- <request name="PolyText16" opcode="75">
- <pad bytes="1" />
- <field type="DRAWABLE" name="drawable" />
- <field type="GCONTEXT" name="gc" />
- <field type="INT16" name="x" />
- <field type="INT16" name="y" />
- <list type="BYTE" name="items" />
- </request>
-
- <request name="ImageText8" opcode="76">
- <field type="BYTE" name="string_len" />
- <field type="DRAWABLE" name="drawable" />
- <field type="GCONTEXT" name="gc" />
- <field type="INT16" name="x" />
- <field type="INT16" name="y" />
- <list type="char" name="string">
- <fieldref>string_len</fieldref>
- </list>
- </request>
-
- <request name="ImageText16" opcode="77">
- <field type="BYTE" name="string_len" />
- <field type="DRAWABLE" name="drawable" />
- <field type="GCONTEXT" name="gc" />
- <field type="INT16" name="x" />
- <field type="INT16" name="y" />
- <list type="CHAR2B" name="string">
- <fieldref>string_len</fieldref>
- </list>
- </request>
-
- <enum name= "ColormapAlloc">
- <item name="None"><value>0</value></item>
- <item name="All"> <value>1</value></item>
- </enum>
-
- <request name="CreateColormap" opcode="78">
- <field type="BYTE" name="alloc" enum="ColormapAlloc" />
- <field type="COLORMAP" name="mid" />
- <field type="WINDOW" name="window" />
- <field type="VISUALID" name="visual" />
- </request>
-
- <request name="FreeColormap" opcode="79">
- <pad bytes="1" />
- <field type="COLORMAP" name="cmap" />
- </request>
-
- <request name="CopyColormapAndFree" opcode="80">
- <pad bytes="1" />
- <field type="COLORMAP" name="mid" />
- <field type="COLORMAP" name="src_cmap" />
- </request>
-
- <request name="InstallColormap" opcode="81">
- <pad bytes="1" />
- <field type="COLORMAP" name="cmap" />
- </request>
-
- <request name="UninstallColormap" opcode="82">
- <pad bytes="1" />
- <field type="COLORMAP" name="cmap" />
- </request>
-
- <request name="ListInstalledColormaps" opcode="83">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- <reply>
- <pad bytes="1" />
- <field type="CARD16" name="cmaps_len" />
- <pad bytes="22" />
- <list type="COLORMAP" name="cmaps">
- <fieldref>cmaps_len</fieldref>
- </list>
- </reply>
- </request>
-
- <request name="AllocColor" opcode="84">
- <pad bytes="1" />
- <field type="COLORMAP" name="cmap" />
- <field type="CARD16" name="red" />
- <field type="CARD16" name="green" />
- <field type="CARD16" name="blue" />
- <pad bytes="2" />
- <reply>
- <pad bytes="1" />
- <field type="CARD16" name="red" />
- <field type="CARD16" name="green" />
- <field type="CARD16" name="blue" />
- <pad bytes="2" />
- <field type="CARD32" name="pixel" />
- </reply>
- </request>
-
- <request name="AllocNamedColor" opcode="85">
- <pad bytes="1" />
- <field type="COLORMAP" name="cmap" />
- <field type="CARD16" name="name_len" />
- <pad bytes="2" />
- <list type="char" name="name">
- <fieldref>name_len</fieldref>
- </list>
- <reply>
- <pad bytes="1" />
- <field type="CARD32" name="pixel" />
- <field type="CARD16" name="exact_red" />
- <field type="CARD16" name="exact_green" />
- <field type="CARD16" name="exact_blue" />
- <field type="CARD16" name="visual_red" />
- <field type="CARD16" name="visual_green" />
- <field type="CARD16" name="visual_blue" />
- </reply>
- </request>
-
- <request name="AllocColorCells" opcode="86">
- <field type="BOOL" name="contiguous" />
- <field type="COLORMAP" name="cmap" />
- <field type="CARD16" name="colors" />
- <field type="CARD16" name="planes" />
- <reply>
- <pad bytes="1" />
- <field type="CARD16" name="pixels_len" />
- <field type="CARD16" name="masks_len" />
- <pad bytes="20" />
- <list type="CARD32" name="pixels">
- <fieldref>pixels_len</fieldref>
- </list>
- <list type="CARD32" name="masks">
- <fieldref>masks_len</fieldref>
- </list>
- </reply>
- </request>
-
- <request name="AllocColorPlanes" opcode="87">
- <field type="BOOL" name="contiguous" />
- <field type="COLORMAP" name="cmap" />
- <field type="CARD16" name="colors" />
- <field type="CARD16" name="reds" />
- <field type="CARD16" name="greens" />
- <field type="CARD16" name="blues" />
- <reply>
- <pad bytes="1" />
- <field type="CARD16" name="pixels_len" />
- <pad bytes="2" />
- <field type="CARD32" name="red_mask" />
- <field type="CARD32" name="green_mask" />
- <field type="CARD32" name="blue_mask" />
- <pad bytes="8" />
- <list type="CARD32" name="pixels">
- <fieldref>pixels_len</fieldref>
- </list>
- </reply>
- </request>
-
- <request name="FreeColors" opcode="88">
- <pad bytes="1" />
- <field type="COLORMAP" name="cmap" />
- <field type="CARD32" name="plane_mask" />
- <list type="CARD32" name="pixels" />
- </request>
-
- <enum name="ColorFlag">
- <item name="Red"> <bit>0</bit></item>
- <item name="Green"><bit>1</bit></item>
- <item name="Blue"> <bit>2</bit></item>
- </enum>
-
- <struct name="COLORITEM">
- <field type="CARD32" name="pixel" />
- <field type="CARD16" name="red" />
- <field type="CARD16" name="green" />
- <field type="CARD16" name="blue" />
- <field type="BYTE" name="flags" mask="ColorFlag" />
- <pad bytes="1" />
- </struct>
-
- <request name="StoreColors" opcode="89" combine-adjacent="true">
- <pad bytes="1" />
- <field type="COLORMAP" name="cmap" />
- <list type="COLORITEM" name="items" />
- </request>
-
- <request name="StoreNamedColor" opcode="90">
- <field type="CARD8" name="flags" mask="ColorFlag" />
- <field type="COLORMAP" name="cmap" />
- <field type="CARD32" name="pixel" />
- <field type="CARD16" name="name_len" />
- <pad bytes="2" />
- <list type="char" name="name">
- <fieldref>name_len</fieldref>
- </list>
- </request>
-
- <struct name="RGB">
- <field type="CARD16" name="red" />
- <field type="CARD16" name="green" />
- <field type="CARD16" name="blue" />
- <pad bytes="2" />
- </struct>
-
- <request name="QueryColors" opcode="91">
- <pad bytes="1" />
- <field type="COLORMAP" name="cmap" />
- <list type="CARD32" name="pixels" />
- <reply>
- <pad bytes="1" />
- <field type="CARD16" name="colors_len" />
- <pad bytes="22" />
- <list type="RGB" name="colors">
- <fieldref>colors_len</fieldref>
- </list>
- </reply>
- </request>
-
- <request name="LookupColor" opcode="92">
- <pad bytes="1" />
- <field type="COLORMAP" name="cmap" />
- <field type="CARD16" name="name_len" />
- <pad bytes="2" />
- <list type="char" name="name">
- <fieldref>name_len</fieldref>
- </list>
- <reply>
- <pad bytes="1" />
- <field type="CARD16" name="exact_red" />
- <field type="CARD16" name="exact_green" />
- <field type="CARD16" name="exact_blue" />
- <field type="CARD16" name="visual_red" />
- <field type="CARD16" name="visual_green" />
- <field type="CARD16" name="visual_blue" />
- </reply>
- </request>
-
- <enum name="Pixmap">
- <item name="None"> <value>0</value></item>
- </enum>
-
- <request name="CreateCursor" opcode="93">
- <pad bytes="1" />
- <field type="CURSOR" name="cid" />
- <field type="PIXMAP" name="source" />
- <field type="PIXMAP" name="mask" altenum="Pixmap" />
- <field type="CARD16" name="fore_red" />
- <field type="CARD16" name="fore_green" />
- <field type="CARD16" name="fore_blue" />
- <field type="CARD16" name="back_red" />
- <field type="CARD16" name="back_green" />
- <field type="CARD16" name="back_blue" />
- <field type="CARD16" name="x" />
- <field type="CARD16" name="y" />
- </request>
-
- <enum name="Font">
- <item name="None"> <value>0</value></item>
- </enum>
-
- <request name="CreateGlyphCursor" opcode="94">
- <pad bytes="1" />
- <field type="CURSOR" name="cid" />
- <field type="FONT" name="source_font" />
- <field type="FONT" name="mask_font" altenum="Font" />
- <field type="CARD16" name="source_char" />
- <field type="CARD16" name="mask_char" />
- <field type="CARD16" name="fore_red" />
- <field type="CARD16" name="fore_green" />
- <field type="CARD16" name="fore_blue" />
- <field type="CARD16" name="back_red" />
- <field type="CARD16" name="back_green" />
- <field type="CARD16" name="back_blue" />
- </request>
-
- <request name="FreeCursor" opcode="95">
- <pad bytes="1" />
- <field type="CURSOR" name="cursor" />
- </request>
-
- <request name="RecolorCursor" opcode="96">
- <pad bytes="1" />
- <field type="CURSOR" name="cursor" />
- <field type="CARD16" name="fore_red" />
- <field type="CARD16" name="fore_green" />
- <field type="CARD16" name="fore_blue" />
- <field type="CARD16" name="back_red" />
- <field type="CARD16" name="back_green" />
- <field type="CARD16" name="back_blue" />
- </request>
-
- <enum name="QueryShapeOf">
- <item name="LargestCursor"> <value>0</value></item>
- <item name="FastestTile"> <value>1</value></item>
- <item name="FastestStipple"><value>2</value></item>
- </enum>
-
- <request name="QueryBestSize" opcode="97">
- <field type="CARD8" name="class" enum="QueryShapeOf" />
- <field type="DRAWABLE" name="drawable" />
- <field type="CARD16" name="width" />
- <field type="CARD16" name="height" />
- <reply>
- <pad bytes="1" />
- <field type="CARD16" name="width" />
- <field type="CARD16" name="height" />
- </reply>
- </request>
-
- <request name="QueryExtension" opcode="98">
- <pad bytes="1" />
- <field type="CARD16" name="name_len" />
- <pad bytes="2" />
- <list type="char" name="name">
- <fieldref>name_len</fieldref>
- </list>
- <reply>
- <pad bytes="1" />
- <field type="BOOL" name="present" />
- <field type="CARD8" name="major_opcode" />
- <field type="CARD8" name="first_event" />
- <field type="CARD8" name="first_error" />
- </reply>
- </request>
-
- <request name="ListExtensions" opcode="99">
- <reply>
- <field type="CARD8" name="names_len" />
- <pad bytes="24" />
- <list type="STR" name="names">
- <fieldref>names_len</fieldref>
- </list>
- </reply>
- </request>
-
- <request name="ChangeKeyboardMapping" opcode="100">
- <field type="CARD8" name="keycode_count" />
- <field type="KEYCODE" name="first_keycode" />
- <field type="CARD8" name="keysyms_per_keycode" />
- <list type="KEYSYM" name="keysyms">
- <op op="*">
- <fieldref>keycode_count</fieldref>
- <fieldref>keysyms_per_keycode</fieldref>
- </op>
- </list>
- </request>
-
- <request name="GetKeyboardMapping" opcode="101">
- <pad bytes="1" />
- <field type="KEYCODE" name="first_keycode" />
- <field type="CARD8" name="count" />
- <reply>
- <field type="BYTE" name="keysyms_per_keycode" />
- <pad bytes="24" />
- <list type="KEYSYM" name="keysyms">
- <fieldref>length</fieldref>
- </list>
- </reply>
- </request>
-
- <enum name="KB">
- <item name="KeyClickPercent"><bit>0</bit></item>
- <item name="BellPercent"> <bit>1</bit></item>
- <item name="BellPitch"> <bit>2</bit></item>
- <item name="BellDuration"> <bit>3</bit></item>
- <item name="Led"> <bit>4</bit></item>
- <item name="LedMode"> <bit>5</bit></item>
- <item name="Key"> <bit>6</bit></item>
- <item name="AutoRepeatMode"> <bit>7</bit></item>
- </enum>
-
- <enum name="LedMode">
- <item name="Off"><value>0</value></item>
- <item name="On"> <value>1</value></item>
- </enum>
-
- <enum name="AutoRepeatMode">
- <item name="Off"> <value>0</value></item>
- <item name="On"> <value>1</value></item>
- <item name="Default"><value>2</value></item>
- </enum>
-
- <request name="ChangeKeyboardControl" opcode="102">
- <pad bytes="1" />
- <valueparam value-mask-type="CARD32"
- value-mask-name="value_mask"
- value-list-name="value_list" />
- </request>
-
- <request name="GetKeyboardControl" opcode="103">
- <reply>
- <field type="BYTE" name="global_auto_repeat" enum="AutoRepeatMode" />
- <field type="CARD32" name="led_mask" />
- <field type="CARD8" name="key_click_percent" />
- <field type="CARD8" name="bell_percent" />
- <field type="CARD16" name="bell_pitch" />
- <field type="CARD16" name="bell_duration" />
- <pad bytes="2" />
- <list type="CARD8" name="auto_repeats"><value>32</value></list>
- </reply>
- </request>
-
- <request name="Bell" opcode="104">
- <field type="INT8" name="percent" />
- </request>
-
- <request name="ChangePointerControl" opcode="105">
- <pad bytes="1" />
- <field type="INT16" name="acceleration_numerator" />
- <field type="INT16" name="acceleration_denominator" />
- <field type="INT16" name="threshold" />
- <field type="BOOL" name="do_acceleration" />
- <field type="BOOL" name="do_threshold" />
- </request>
-
- <request name="GetPointerControl" opcode="106">
- <reply>
- <pad bytes="1" />
- <field type="CARD16" name="acceleration_numerator" />
- <field type="CARD16" name="acceleration_denominator" />
- <field type="CARD16" name="threshold" />
- <pad bytes="18" />
- </reply>
- </request>
-
- <!-- Screen saver timeout and interval can be set to -1 to restore defaults
- and set to 0 to disable the screen saver. -->
-
- <enum name="Blanking">
- <item name="NotPreferred"><value>0</value></item>
- <item name="Preferred"> <value>1</value></item>
- <item name="Default"> <value>2</value></item>
- </enum>
-
- <enum name="Exposures">
- <item name="NotAllowed"><value>0</value></item>
- <item name="Allowed"> <value>1</value></item>
- <item name="Default"> <value>2</value></item>
- </enum>
-
- <request name="SetScreenSaver" opcode="107">
- <pad bytes="1" />
- <field type="INT16" name="timeout" />
- <field type="INT16" name="interval" />
- <field type="CARD8" name="prefer_blanking" enum="Blanking" />
- <field type="CARD8" name="allow_exposures" enum="Exposures" />
- </request>
-
- <request name="GetScreenSaver" opcode="108">
- <reply>
- <pad bytes="1" />
- <field type="CARD16" name="timeout" />
- <field type="CARD16" name="interval" />
- <field type="BYTE" name="prefer_blanking" enum="Blanking" />
- <field type="BYTE" name="allow_exposures" enum="Exposures" />
- <pad bytes="18" />
- </reply>
- </request>
-
- <enum name="HostMode">
- <item name="Insert"><value>0</value></item>
- <item name="Delete"><value>1</value></item>
- </enum>
-
- <!-- also used and extended for Xau authentication -->
- <enum name="Family">
- <item name="Internet"> <value>0</value></item>
- <item name="DECnet"> <value>1</value></item>
- <item name="Chaos"> <value>2</value></item>
- <item name="ServerInterpreted"><value>5</value></item>
- <item name="Internet6"> <value>6</value></item>
- </enum>
-
- <request name="ChangeHosts" opcode="109">
- <field type="CARD8" name="mode" enum="HostMode" />
- <field type="CARD8" name="family" enum="Family" />
- <pad bytes="1" />
- <field type="CARD16" name="address_len" />
- <list type="char" name="address">
- <fieldref>address_len</fieldref>
- </list>
- </request>
-
- <struct name="HOST">
- <field type="CARD8" name="family" enum="Family" />
- <pad bytes="1" />
- <field type="CARD16" name="address_len" />
- <list type="BYTE" name="address">
- <fieldref>address_len</fieldref>
- </list>
- </struct>
-
- <request name="ListHosts" opcode="110">
- <reply>
- <field type="BYTE" name="mode" enum="AccessControl" />
- <field type="CARD16" name="hosts_len" />
- <pad bytes="22" />
- <list type="HOST" name="hosts">
- <fieldref>hosts_len</fieldref>
- </list>
- </reply>
- </request>
-
- <enum name="AccessControl">
- <item name="Disable"><value>0</value></item>
- <item name="Enable"> <value>1</value></item>
- </enum>
-
- <request name="SetAccessControl" opcode="111">
- <field type="CARD8" name="mode" enum="AccessControl" />
- </request>
-
- <enum name="CloseDown">
- <item name="DestroyAll"> <value>0</value></item>
- <item name="RetainPermanent"><value>1</value></item>
- <item name="RetainTemporary"><value>2</value></item>
- </enum>
-
- <request name="SetCloseDownMode" opcode="112">
- <field type="CARD8" name="mode" enum="CloseDown" />
- </request>
-
- <enum name="Kill">
- <item name="AllTemporary"><value>0</value></item>
- </enum>
-
- <request name="KillClient" opcode="113">
- <pad bytes="1" />
- <field type="CARD32" name="resource" altenum="Kill" />
- </request>
-
- <request name="RotateProperties" opcode="114">
- <pad bytes="1" />
- <field type="WINDOW" name="window" />
- <field type="CARD16" name="atoms_len" />
- <field type="INT16" name="delta" />
- <list type="ATOM" name="atoms">
- <fieldref>atoms_len</fieldref>
- </list>
- </request>
-
- <enum name="ScreenSaver">
- <item name="Reset"> <value>0</value></item>
- <item name="Active"><value>1</value></item>
- </enum>
-
- <request name="ForceScreenSaver" opcode="115">
- <field type="CARD8" name="mode" enum="ScreenSaver" />
- </request>
-
- <!-- Reply from SetPointerMapping or SetModifierMapping -->
- <enum name="MappingStatus">
- <item name="Success"><value>0</value></item>
- <item name="Busy"> <value>1</value></item>
- <item name="Failure"><value>2</value></item>
- </enum>
-
- <request name="SetPointerMapping" opcode="116">
- <field type="CARD8" name="map_len" />
- <list type="CARD8" name="map">
- <fieldref>map_len</fieldref>
- </list>
- <reply>
- <field type="BYTE" name="status" enum="MappingStatus" />
- </reply>
- </request>
-
- <request name="GetPointerMapping" opcode="117">
- <reply>
- <field type="CARD8" name="map_len" />
- <pad bytes="24" />
- <list type="CARD8" name="map">
- <fieldref>map_len</fieldref>
- </list>
- </reply>
- </request>
-
- <enum name="MapIndex">
- <item name="Shift"> <value>0</value></item>
- <item name="Lock"> <value>1</value></item>
- <item name="Control"><value>2</value></item>
- <item name="1"> <value>3</value></item>
- <item name="2"> <value>4</value></item>
- <item name="3"> <value>5</value></item>
- <item name="4"> <value>6</value></item>
- <item name="5"> <value>7</value></item>
- </enum>
-
- <request name="SetModifierMapping" opcode="118">
- <field type="CARD8" name="keycodes_per_modifier" />
- <list type="KEYCODE" name="keycodes">
- <op op="*">
- <fieldref>keycodes_per_modifier</fieldref>
- <value>8</value>
- </op>
- </list>
- <reply>
- <field type="BYTE" name="status" enum="MappingStatus" />
- </reply>
- </request>
-
- <request name="GetModifierMapping" opcode="119">
- <reply>
- <field type="CARD8" name="keycodes_per_modifier" />
- <pad bytes="24" />
- <list type="KEYCODE" name="keycodes">
- <op op="*">
- <fieldref>keycodes_per_modifier</fieldref>
- <value>8</value>
- </op>
- </list>
- </reply>
- </request>
-
- <!--
- FIXME: NoOperation should allow specifying payload length
- but geez, malloc()ing a 262140 byte buffer just so I have something
- to hand to write(2) seems silly...!
- -->
- <request name="NoOperation" opcode="127" />
-
-</xcb>
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+Copyright (C) 2001-2004 Bart Massey, Jamey Sharp, and Josh Triplett.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the names of the authors or their
+institutions shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Software without prior written
+authorization from the authors.
+-->
+<xcb header="xproto">
+ <!-- Core protocol types -->
+
+ <struct name="CHAR2B">
+ <field type="CARD8" name="byte1" />
+ <field type="CARD8" name="byte2" />
+ </struct>
+
+ <xidtype name="WINDOW" />
+
+ <xidtype name="PIXMAP" />
+
+ <xidtype name="CURSOR" />
+
+ <xidtype name="FONT" />
+
+ <xidtype name="GCONTEXT" />
+
+ <xidtype name="COLORMAP" />
+
+ <xidtype name="ATOM" />
+
+ <xidunion name="DRAWABLE">
+ <type>WINDOW</type>
+ <type>PIXMAP</type>
+ </xidunion>
+
+ <xidunion name="FONTABLE">
+ <type>FONT</type>
+ <type>GCONTEXT</type>
+ </xidunion>
+
+ <typedef oldname="CARD32" newname="VISUALID" />
+
+ <typedef oldname="CARD32" newname="TIMESTAMP" />
+
+ <typedef oldname="CARD32" newname="KEYSYM" />
+
+ <typedef oldname="CARD8" newname="KEYCODE" />
+
+ <typedef oldname="CARD8" newname="BUTTON" />
+
+ <struct name="POINT">
+ <field type="INT16" name="x" />
+ <field type="INT16" name="y" />
+ </struct>
+
+ <struct name="RECTANGLE">
+ <field type="INT16" name="x" />
+ <field type="INT16" name="y" />
+ <field type="CARD16" name="width" />
+ <field type="CARD16" name="height" />
+ </struct>
+
+ <struct name="ARC">
+ <field type="INT16" name="x" />
+ <field type="INT16" name="y" />
+ <field type="CARD16" name="width" />
+ <field type="CARD16" name="height" />
+ <field type="INT16" name="angle1" />
+ <field type="INT16" name="angle2" />
+ </struct>
+
+ <!-- Connection setup-related types -->
+
+ <struct name="FORMAT">
+ <field type="CARD8" name="depth" />
+ <field type="CARD8" name="bits_per_pixel" />
+ <field type="CARD8" name="scanline_pad" />
+ <pad bytes="5" />
+ </struct>
+
+ <enum name="VisualClass">
+ <item name="StaticGray"> <value>0</value></item>
+ <item name="GrayScale"> <value>1</value></item>
+ <item name="StaticColor"><value>2</value></item>
+ <item name="PseudoColor"><value>3</value></item>
+ <item name="TrueColor"> <value>4</value></item>
+ <item name="DirectColor"><value>5</value></item>
+ </enum>
+
+ <struct name="VISUALTYPE">
+ <field type="VISUALID" name="visual_id" />
+ <field type="CARD8" name="class" enum="VisualClass" />
+ <field type="CARD8" name="bits_per_rgb_value" />
+ <field type="CARD16" name="colormap_entries" />
+ <field type="CARD32" name="red_mask" />
+ <field type="CARD32" name="green_mask" />
+ <field type="CARD32" name="blue_mask" />
+ <pad bytes="4" />
+ </struct>
+
+ <struct name="DEPTH">
+ <field type="CARD8" name="depth" />
+ <pad bytes="1" />
+ <field type="CARD16" name="visuals_len" />
+ <pad bytes="4" />
+ <list type="VISUALTYPE" name="visuals">
+ <fieldref>visuals_len</fieldref>
+ </list>
+ </struct>
+
+ <enum name="EventMask">
+ <item name="NoEvent"> <value>0</value></item>
+ <item name="KeyPress"> <bit>0</bit></item>
+ <item name="KeyRelease"> <bit>1</bit></item>
+ <item name="ButtonPress"> <bit>2</bit></item>
+ <item name="ButtonRelease"> <bit>3</bit></item>
+ <item name="EnterWindow"> <bit>4</bit></item>
+ <item name="LeaveWindow"> <bit>5</bit></item>
+ <item name="PointerMotion"> <bit>6</bit></item>
+ <item name="PointerMotionHint"> <bit>7</bit></item>
+ <item name="Button1Motion"> <bit>8</bit></item>
+ <item name="Button2Motion"> <bit>9</bit></item>
+ <item name="Button3Motion"> <bit>10</bit></item>
+ <item name="Button4Motion"> <bit>11</bit></item>
+ <item name="Button5Motion"> <bit>12</bit></item>
+ <item name="ButtonMotion"> <bit>13</bit></item>
+ <item name="KeymapState"> <bit>14</bit></item>
+ <item name="Exposure"> <bit>15</bit></item>
+ <item name="VisibilityChange"> <bit>16</bit></item>
+ <item name="StructureNotify"> <bit>17</bit></item>
+ <item name="ResizeRedirect"> <bit>18</bit></item>
+ <item name="SubstructureNotify"> <bit>19</bit></item>
+ <item name="SubstructureRedirect"><bit>20</bit></item>
+ <item name="FocusChange"> <bit>21</bit></item>
+ <item name="PropertyChange"> <bit>22</bit></item>
+ <item name="ColorMapChange"> <bit>23</bit></item>
+ <item name="OwnerGrabButton"> <bit>24</bit></item>
+ </enum>
+
+ <enum name="BackingStore">
+ <item name="NotUseful"> <value>0</value></item>
+ <item name="WhenMapped"><value>1</value></item>
+ <item name="Always"> <value>2</value></item>
+ </enum>
+
+ <struct name="SCREEN">
+ <field type="WINDOW" name="root" />
+ <field type="COLORMAP" name="default_colormap" />
+ <field type="CARD32" name="white_pixel" />
+ <field type="CARD32" name="black_pixel" />
+ <field type="CARD32" name="current_input_masks" mask="EventMask" />
+ <field type="CARD16" name="width_in_pixels" />
+ <field type="CARD16" name="height_in_pixels" />
+ <field type="CARD16" name="width_in_millimeters" />
+ <field type="CARD16" name="height_in_millimeters" />
+ <field type="CARD16" name="min_installed_maps" />
+ <field type="CARD16" name="max_installed_maps" />
+ <field type="VISUALID" name="root_visual" />
+ <field type="BYTE" name="backing_stores" enum="BackingStore" />
+ <field type="BOOL" name="save_unders" />
+ <field type="CARD8" name="root_depth" />
+ <field type="CARD8" name="allowed_depths_len" />
+ <list type="DEPTH" name="allowed_depths">
+ <fieldref>allowed_depths_len</fieldref>
+ </list>
+ </struct>
+
+ <struct name="SetupRequest">
+ <field type="CARD8" name="byte_order" />
+ <pad bytes="1" />
+ <field type="CARD16" name="protocol_major_version" />
+ <field type="CARD16" name="protocol_minor_version" />
+ <field type="CARD16" name="authorization_protocol_name_len" />
+ <field type="CARD16" name="authorization_protocol_data_len" />
+ <pad bytes="2" />
+ <list type="char" name="authorization_protocol_name">
+ <fieldref>authorization_protocol_name_len</fieldref>
+ </list>
+ <list type="char" name="authorization_protocol_data">
+ <fieldref>authorization_protocol_data_len</fieldref>
+ </list>
+ </struct>
+
+ <struct name="SetupFailed">
+ <field type="CARD8" name="status" /> <!-- always 0 -> Failed -->
+ <field type="CARD8" name="reason_len" />
+ <field type="CARD16" name="protocol_major_version" />
+ <field type="CARD16" name="protocol_minor_version" />
+ <field type="CARD16" name="length" />
+ <list type="char" name="reason">
+ <fieldref>reason_len</fieldref>
+ </list>
+ </struct>
+
+ <struct name="SetupAuthenticate">
+ <field type="CARD8" name="status" /> <!-- always 2 -> Authenticate -->
+ <pad bytes="5" />
+ <field type="CARD16" name="length" />
+ <list type="char" name="reason">
+ <op op="*">
+ <fieldref>length</fieldref>
+ <value>4</value>
+ </op>
+ </list>
+ </struct>
+
+ <enum name="ImageOrder">
+ <item name="LSBFirst"><value>0</value></item>
+ <item name="MSBFirst"><value>1</value></item>
+ </enum>
+
+ <struct name="Setup">
+ <field type="CARD8" name="status" /> <!-- always 1 -> Success -->
+ <pad bytes="1" />
+ <field type="CARD16" name="protocol_major_version" />
+ <field type="CARD16" name="protocol_minor_version" />
+ <field type="CARD16" name="length" />
+ <field type="CARD32" name="release_number" />
+ <field type="CARD32" name="resource_id_base" />
+ <field type="CARD32" name="resource_id_mask" />
+ <field type="CARD32" name="motion_buffer_size" />
+ <field type="CARD16" name="vendor_len" />
+ <field type="CARD16" name="maximum_request_length" />
+ <field type="CARD8" name="roots_len" />
+ <field type="CARD8" name="pixmap_formats_len" />
+ <field type="CARD8" name="image_byte_order" enum="ImageOrder" />
+ <field type="CARD8" name="bitmap_format_bit_order" enum="ImageOrder" />
+ <field type="CARD8" name="bitmap_format_scanline_unit" />
+ <field type="CARD8" name="bitmap_format_scanline_pad" />
+ <field type="KEYCODE" name="min_keycode" />
+ <field type="KEYCODE" name="max_keycode" />
+ <pad bytes="4" />
+ <list type="char" name="vendor">
+ <fieldref>vendor_len</fieldref>
+ </list>
+ <list type="FORMAT" name="pixmap_formats">
+ <fieldref>pixmap_formats_len</fieldref>
+ </list>
+ <list type="SCREEN" name="roots">
+ <fieldref>roots_len</fieldref>
+ </list>
+ </struct>
+
+ <!-- Core event types -->
+
+ <enum name="ModMask">
+ <item name="Shift"> <bit>0</bit></item>
+ <item name="Lock"> <bit>1</bit></item>
+ <item name="Control"><bit>2</bit></item>
+ <item name="1"> <bit>3</bit></item>
+ <item name="2"> <bit>4</bit></item>
+ <item name="3"> <bit>5</bit></item>
+ <item name="4"> <bit>6</bit></item>
+ <item name="5"> <bit>7</bit></item>
+ <item name="Any"> <bit>15</bit></item>
+ </enum>
+
+ <enum name="KeyButMask">
+ <item name="Shift"> <bit>0</bit></item>
+ <item name="Lock"> <bit>1</bit></item>
+ <item name="Control"><bit>2</bit></item>
+ <item name="Mod1"> <bit>3</bit></item>
+ <item name="Mod2"> <bit>4</bit></item>
+ <item name="Mod3"> <bit>5</bit></item>
+ <item name="Mod4"> <bit>6</bit></item>
+ <item name="Mod5"> <bit>7</bit></item>
+ <item name="Button1"><bit>8</bit></item>
+ <item name="Button2"><bit>9</bit></item>
+ <item name="Button3"><bit>10</bit></item>
+ <item name="Button4"><bit>11</bit></item>
+ <item name="Button5"><bit>12</bit></item>
+ </enum>
+
+ <enum name="Window">
+ <item name="None"> <value>0</value></item>
+ </enum>
+
+ <event name="KeyPress" number="2">
+ <field type="KEYCODE" name="detail" />
+ <field type="TIMESTAMP" name="time" />
+ <field type="WINDOW" name="root" />
+ <field type="WINDOW" name="event" />
+ <field type="WINDOW" name="child" altenum="Window" />
+ <field type="INT16" name="root_x" />
+ <field type="INT16" name="root_y" />
+ <field type="INT16" name="event_x" />
+ <field type="INT16" name="event_y" />
+ <field type="CARD16" name="state" mask="KeyButMask" />
+ <field type="BOOL" name="same_screen" />
+ <pad bytes="1" />
+ </event>
+
+ <eventcopy name="KeyRelease" number="3" ref="KeyPress" />
+
+ <enum name="ButtonMask">
+ <item name="1"> <bit>8</bit></item>
+ <item name="2"> <bit>9</bit></item>
+ <item name="3"> <bit>10</bit></item>
+ <item name="4"> <bit>11</bit></item>
+ <item name="5"> <bit>12</bit></item>
+ <item name="Any"> <bit>15</bit></item>
+ </enum>
+
+ <event name="ButtonPress" number="4">
+ <field type="BUTTON" name="detail" />
+ <field type="TIMESTAMP" name="time" />
+ <field type="WINDOW" name="root" />
+ <field type="WINDOW" name="event" />
+ <field type="WINDOW" name="child" altenum="Window" />
+ <field type="INT16" name="root_x" />
+ <field type="INT16" name="root_y" />
+ <field type="INT16" name="event_x" />
+ <field type="INT16" name="event_y" />
+ <field type="CARD16" name="state" mask="KeyButMask" />
+ <field type="BOOL" name="same_screen" />
+ <pad bytes="1" />
+ </event>
+
+ <eventcopy name="ButtonRelease" number="5" ref="ButtonPress" />
+
+ <!-- MotionNotify detail -->
+ <enum name="Motion">
+ <item name="Normal"><value>0</value></item>
+ <item name="Hint"> <value>1</value></item>
+ </enum>
+
+ <event name="MotionNotify" number="6">
+ <field type="BYTE" name="detail" enum="Motion" />
+ <field type="TIMESTAMP" name="time" />
+ <field type="WINDOW" name="root" />
+ <field type="WINDOW" name="event" />
+ <field type="WINDOW" name="child" altenum="Window" />
+ <field type="INT16" name="root_x" />
+ <field type="INT16" name="root_y" />
+ <field type="INT16" name="event_x" />
+ <field type="INT16" name="event_y" />
+ <field type="CARD16" name="state" mask="KeyButMask" />
+ <field type="BOOL" name="same_screen" />
+ <pad bytes="1" />
+ </event>
+
+ <enum name="NotifyDetail">
+ <item name="Ancestor"> <value>0</value></item>
+ <item name="Virtual"> <value>1</value></item>
+ <item name="Inferior"> <value>2</value></item>
+ <item name="Nonlinear"> <value>3</value></item>
+ <item name="NonlinearVirtual"><value>4</value></item>
+ <item name="Pointer"> <value>5</value></item>
+ <item name="PointerRoot"> <value>6</value></item>
+ <item name="None"> <value>7</value></item>
+ </enum>
+
+ <enum name="NotifyMode">
+ <item name="Normal"> <value>0</value></item>
+ <item name="Grab"> <value>1</value></item>
+ <item name="Ungrab"> <value>2</value></item>
+ <item name="WhileGrabbed"><value>3</value></item>
+ </enum>
+
+ <event name="EnterNotify" number="7">
+ <field type="BYTE" name="detail" enum="NotifyDetail" />
+ <field type="TIMESTAMP" name="time" />
+ <field type="WINDOW" name="root" />
+ <field type="WINDOW" name="event" />
+ <field type="WINDOW" name="child" altenum="Window" />
+ <field type="INT16" name="root_x" />
+ <field type="INT16" name="root_y" />
+ <field type="INT16" name="event_x" />
+ <field type="INT16" name="event_y" />
+ <field type="CARD16" name="state" mask="KeyButMask" />
+ <field type="BYTE" name="mode" enum="NotifyMode" />
+ <field type="BYTE" name="same_screen_focus" />
+ </event>
+
+ <eventcopy name="LeaveNotify" number="8" ref="EnterNotify" />
+
+ <event name="FocusIn" number="9">
+ <field type="BYTE" name="detail" enum="NotifyDetail" />
+ <field type="WINDOW" name="event" />
+ <field type="BYTE" name="mode" enum="NotifyMode" />
+ <pad bytes="3" />
+ </event>
+
+ <eventcopy name="FocusOut" number="10" ref="FocusIn" />
+
+ <event name="KeymapNotify" number="11" no-sequence-number="true">
+ <list type="CARD8" name="keys"><value>31</value></list>
+ </event>
+
+ <event name="Expose" number="12">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ <field type="CARD16" name="x" />
+ <field type="CARD16" name="y" />
+ <field type="CARD16" name="width" />
+ <field type="CARD16" name="height" />
+ <field type="CARD16" name="count" />
+ <pad bytes="2" />
+ </event>
+
+ <event name="GraphicsExposure" number="13">
+ <pad bytes="1" />
+ <field type="DRAWABLE" name="drawable" />
+ <field type="CARD16" name="x" />
+ <field type="CARD16" name="y" />
+ <field type="CARD16" name="width" />
+ <field type="CARD16" name="height" />
+ <field type="CARD16" name="minor_opcode" />
+ <field type="CARD16" name="count" />
+ <field type="CARD8" name="major_opcode" />
+ <pad bytes="3" />
+ </event>
+
+ <event name="NoExposure" number="14">
+ <pad bytes="1" />
+ <field type="DRAWABLE" name="drawable" />
+ <field type="CARD16" name="minor_opcode" />
+ <field type="CARD8" name="major_opcode" />
+ <pad bytes="1" />
+ </event>
+
+ <enum name="Visibility">
+ <item name="Unobscured"> <value>0</value></item>
+ <item name="PartiallyObscured"><value>1</value></item>
+ <item name="FullyObscured"> <value>2</value></item>
+ </enum>
+
+ <event name="VisibilityNotify" number="15">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ <field type="BYTE" name="state" enum="Visibility" />
+ <pad bytes="3" />
+ </event>
+
+ <event name="CreateNotify" number="16">
+ <pad bytes="1" />
+ <field type="WINDOW" name="parent" />
+ <field type="WINDOW" name="window" />
+ <field type="INT16" name="x" />
+ <field type="INT16" name="y" />
+ <field type="CARD16" name="width" />
+ <field type="CARD16" name="height" />
+ <field type="CARD16" name="border_width" />
+ <field type="BOOL" name="override_redirect" />
+ <pad bytes="1" />
+ </event>
+
+ <event name="DestroyNotify" number="17">
+ <pad bytes="1" />
+ <field type="WINDOW" name="event" />
+ <field type="WINDOW" name="window" />
+ </event>
+
+ <event name="UnmapNotify" number="18">
+ <pad bytes="1" />
+ <field type="WINDOW" name="event" />
+ <field type="WINDOW" name="window" />
+ <field type="BOOL" name="from_configure" />
+ <pad bytes="3" />
+ </event>
+
+ <event name="MapNotify" number="19">
+ <pad bytes="1" />
+ <field type="WINDOW" name="event" />
+ <field type="WINDOW" name="window" />
+ <field type="BOOL" name="override_redirect" />
+ <pad bytes="3" />
+ </event>
+
+ <event name="MapRequest" number="20">
+ <pad bytes="1" />
+ <field type="WINDOW" name="parent" />
+ <field type="WINDOW" name="window" />
+ </event>
+
+ <event name="ReparentNotify" number="21">
+ <pad bytes="1" />
+ <field type="WINDOW" name="event" />
+ <field type="WINDOW" name="window" />
+ <field type="WINDOW" name="parent" />
+ <field type="INT16" name="x" />
+ <field type="INT16" name="y" />
+ <field type="BOOL" name="override_redirect" />
+ <pad bytes="3" />
+ </event>
+
+ <event name="ConfigureNotify" number="22">
+ <pad bytes="1" />
+ <field type="WINDOW" name="event" />
+ <field type="WINDOW" name="window" />
+ <field type="WINDOW" name="above_sibling" altenum="Window" />
+ <field type="INT16" name="x" />
+ <field type="INT16" name="y" />
+ <field type="CARD16" name="width" />
+ <field type="CARD16" name="height" />
+ <field type="CARD16" name="border_width" />
+ <field type="BOOL" name="override_redirect" />
+ <pad bytes="1" />
+ </event>
+
+ <event name="ConfigureRequest" number="23">
+ <field type="BYTE" name="stack_mode" enum="StackMode" />
+ <field type="WINDOW" name="parent" />
+ <field type="WINDOW" name="window" />
+ <field type="WINDOW" name="sibling" altenum="Window" />
+ <field type="INT16" name="x" />
+ <field type="INT16" name="y" />
+ <field type="CARD16" name="width" />
+ <field type="CARD16" name="height" />
+ <field type="CARD16" name="border_width" />
+ <field type="CARD16" name="value_mask" mask="ConfigWindow" />
+ </event>
+
+ <event name="GravityNotify" number="24">
+ <pad bytes="1" />
+ <field type="WINDOW" name="event" />
+ <field type="WINDOW" name="window" />
+ <field type="INT16" name="x" />
+ <field type="INT16" name="y" />
+ </event>
+
+ <event name="ResizeRequest" number="25">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ <field type="CARD16" name="width" />
+ <field type="CARD16" name="height" />
+ </event>
+
+ <enum name="Place">
+ <item name="OnTop"> <value>0</value></item>
+ <item name="OnBottom"><value>1</value></item>
+ </enum>
+
+ <event name="CirculateNotify" number="26">
+ <pad bytes="1" />
+ <field type="WINDOW" name="event" />
+ <field type="WINDOW" name="window" />
+ <pad bytes="4" />
+ <field type="BYTE" name="place" enum="Place" />
+ <pad bytes="3" />
+ </event>
+
+ <eventcopy name="CirculateRequest" number="27" ref="CirculateNotify" />
+
+ <enum name="Property">
+ <item name="NewValue"><value>0</value></item>
+ <item name="Delete"> <value>1</value></item>
+ </enum>
+
+ <event name="PropertyNotify" number="28">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ <field type="ATOM" name="atom" />
+ <field type="TIMESTAMP" name="time" />
+ <field type="BYTE" name="state" enum="Property" />
+ <pad bytes="3" />
+ </event>
+
+ <event name="SelectionClear" number="29">
+ <pad bytes="1" />
+ <field type="TIMESTAMP" name="time" />
+ <field type="WINDOW" name="owner" />
+ <field type="ATOM" name="selection" />
+ </event>
+
+ <enum name="Time">
+ <item name="CurrentTime"> <value>0</value> </item>
+ </enum>
+
+ <enum name="Atom">
+ <item name="None"> <value>0</value></item>
+ <item name="Any"> <value>0</value></item>
+ <item name="PRIMARY" />
+ <item name="SECONDARY" />
+ <item name="ARC" />
+ <item name="ATOM" />
+ <item name="BITMAP" />
+ <item name="CARDINAL" />
+ <item name="COLORMAP" />
+ <item name="CURSOR" />
+ <item name="CUT_BUFFER0" />
+ <item name="CUT_BUFFER1" />
+ <item name="CUT_BUFFER2" />
+ <item name="CUT_BUFFER3" />
+ <item name="CUT_BUFFER4" />
+ <item name="CUT_BUFFER5" />
+ <item name="CUT_BUFFER6" />
+ <item name="CUT_BUFFER7" />
+ <item name="DRAWABLE" />
+ <item name="FONT" />
+ <item name="INTEGER" />
+ <item name="PIXMAP" />
+ <item name="POINT" />
+ <item name="RECTANGLE" />
+ <item name="RESOURCE_MANAGER" />
+ <item name="RGB_COLOR_MAP" />
+ <item name="RGB_BEST_MAP" />
+ <item name="RGB_BLUE_MAP" />
+ <item name="RGB_DEFAULT_MAP" />
+ <item name="RGB_GRAY_MAP" />
+ <item name="RGB_GREEN_MAP" />
+ <item name="RGB_RED_MAP" />
+ <item name="STRING" />
+ <item name="VISUALID" />
+ <item name="WINDOW" />
+ <item name="WM_COMMAND" />
+ <item name="WM_HINTS" />
+ <item name="WM_CLIENT_MACHINE" />
+ <item name="WM_ICON_NAME" />
+ <item name="WM_ICON_SIZE" />
+ <item name="WM_NAME" />
+ <item name="WM_NORMAL_HINTS" />
+ <item name="WM_SIZE_HINTS" />
+ <item name="WM_ZOOM_HINTS" />
+ <item name="MIN_SPACE" />
+ <item name="NORM_SPACE" />
+ <item name="MAX_SPACE" />
+ <item name="END_SPACE" />
+ <item name="SUPERSCRIPT_X" />
+ <item name="SUPERSCRIPT_Y" />
+ <item name="SUBSCRIPT_X" />
+ <item name="SUBSCRIPT_Y" />
+ <item name="UNDERLINE_POSITION" />
+ <item name="UNDERLINE_THICKNESS" />
+ <item name="STRIKEOUT_ASCENT" />
+ <item name="STRIKEOUT_DESCENT" />
+ <item name="ITALIC_ANGLE" />
+ <item name="X_HEIGHT" />
+ <item name="QUAD_WIDTH" />
+ <item name="WEIGHT" />
+ <item name="POINT_SIZE" />
+ <item name="RESOLUTION" />
+ <item name="COPYRIGHT" />
+ <item name="NOTICE" />
+ <item name="FONT_NAME" />
+ <item name="FAMILY_NAME" />
+ <item name="FULL_NAME" />
+ <item name="CAP_HEIGHT" />
+ <item name="WM_CLASS" />
+ <item name="WM_TRANSIENT_FOR" />
+ </enum>
+
+ <event name="SelectionRequest" number="30">
+ <pad bytes="1" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
+ <field type="WINDOW" name="owner" />
+ <field type="WINDOW" name="requestor" />
+ <field type="ATOM" name="selection" />
+ <field type="ATOM" name="target" />
+ <field type="ATOM" name="property" altenum="Atom" />
+ </event>
+
+ <event name="SelectionNotify" number="31">
+ <pad bytes="1" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
+ <field type="WINDOW" name="requestor" />
+ <field type="ATOM" name="selection" />
+ <field type="ATOM" name="target" />
+ <field type="ATOM" name="property" altenum="Atom" />
+ </event>
+
+ <enum name="ColormapState">
+ <item name="Uninstalled"><value>0</value></item>
+ <item name="Installed"> <value>1</value></item>
+ </enum>
+
+ <enum name="Colormap">
+ <item name="None"> <value>0</value></item>
+ </enum>
+
+ <event name="ColormapNotify" number="32">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ <field type="COLORMAP" name="colormap" altenum="Colormap" />
+ <field type="BOOL" name="new" />
+ <field type="BYTE" name="state" enum="ColormapState" />
+ <pad bytes="2" />
+ </event>
+
+ <union name="ClientMessageData">
+ <!-- The format member of the ClientMessage event determines which array
+ to use. -->
+ <list type="CARD8" name="data8" ><value>20</value></list> <!-- 8 -->
+ <list type="CARD16" name="data16"><value>10</value></list> <!-- 16 -->
+ <list type="CARD32" name="data32"><value>5</value></list> <!-- 32 -->
+ </union>
+
+ <event name="ClientMessage" number="33">
+ <field type="CARD8" name="format" /> <!-- 8, 16, or 32. -->
+ <field type="WINDOW" name="window" />
+ <field type="ATOM" name="type" />
+ <field type="ClientMessageData" name="data" />
+ </event>
+
+ <enum name="Mapping">
+ <item name="Modifier"><value>0</value></item>
+ <item name="Keyboard"><value>1</value></item>
+ <item name="Pointer"> <value>2</value></item>
+ </enum>
+
+ <event name="MappingNotify" number="34">
+ <pad bytes="1" />
+ <field type="BYTE" name="request" enum="Mapping" />
+ <field type="KEYCODE" name="first_keycode" />
+ <field type="CARD8" name="count" />
+ <pad bytes="1" />
+ </event>
+
+
+
+ <!-- Core error types -->
+
+
+
+ <error name="Request" number="1">
+ <field type="CARD32" name="bad_value" />
+ <field type="CARD16" name="minor_opcode" />
+ <field type="CARD8" name="major_opcode" />
+ <pad bytes="1" />
+ </error>
+
+ <error name="Value" number="2">
+ <field type="CARD32" name="bad_value" />
+ <field type="CARD16" name="minor_opcode" />
+ <field type="CARD8" name="major_opcode" />
+ <pad bytes="1" />
+ </error>
+
+ <errorcopy name="Window" number="3" ref="Value" />
+ <errorcopy name="Pixmap" number="4" ref="Value" />
+ <errorcopy name="Atom" number="5" ref="Value" />
+ <errorcopy name="Cursor" number="6" ref="Value" />
+ <errorcopy name="Font" number="7" ref="Value" />
+ <errorcopy name="Match" number="8" ref="Request" />
+ <errorcopy name="Drawable" number="9" ref="Value" />
+ <errorcopy name="Access" number="10" ref="Request" />
+ <errorcopy name="Alloc" number="11" ref="Request" />
+ <errorcopy name="Colormap" number="12" ref="Value" />
+ <errorcopy name="GContext" number="13" ref="Value" />
+ <errorcopy name="IDChoice" number="14" ref="Value" />
+ <errorcopy name="Name" number="15" ref="Request" />
+ <errorcopy name="Length" number="16" ref="Request" />
+ <errorcopy name="Implementation" number="17" ref="Request" />
+
+
+
+ <!-- The core requests, in major number order. -->
+ <!-- It is the caller's responsibility to free returned XCB*Rep objects. -->
+
+
+
+ <enum name="WindowClass">
+ <item name="CopyFromParent"><value>0</value></item>
+ <item name="InputOutput"> <value>1</value></item>
+ <item name="InputOnly"> <value>2</value></item>
+ </enum>
+
+ <!-- Window attributes for CreateWindow and ChangeWindowAttributes. -->
+ <enum name="CW">
+ <item name="BackPixmap"> <bit>0</bit></item>
+ <item name="BackPixel"> <bit>1</bit></item>
+ <item name="BorderPixmap"> <bit>2</bit></item>
+ <item name="BorderPixel"> <bit>3</bit></item>
+ <item name="BitGravity"> <bit>4</bit></item>
+ <item name="WinGravity"> <bit>5</bit></item>
+ <item name="BackingStore"> <bit>6</bit></item>
+ <item name="BackingPlanes"> <bit>7</bit></item>
+ <item name="BackingPixel"> <bit>8</bit></item>
+ <item name="OverrideRedirect"><bit>9</bit></item>
+ <item name="SaveUnder"> <bit>10</bit></item>
+ <item name="EventMask"> <bit>11</bit></item>
+ <item name="DontPropagate"> <bit>12</bit></item>
+ <item name="Colormap"> <bit>13</bit></item>
+ <item name="Cursor"> <bit>14</bit></item>
+ </enum>
+
+ <enum name="BackPixmap">
+ <item name="None"> <value>0</value></item>
+ <item name="ParentRelative"><value>1</value></item>
+ </enum>
+
+ <enum name="Gravity">
+ <item name="BitForget"><value>0</value></item>
+ <item name="WinUnmap"> <value>0</value></item>
+ <item name="NorthWest"><value>1</value></item>
+ <item name="North"> <value>2</value></item>
+ <item name="NorthEast"><value>3</value></item>
+ <item name="West"> <value>4</value></item>
+ <item name="Center"> <value>5</value></item>
+ <item name="East"> <value>6</value></item>
+ <item name="SouthWest"><value>7</value></item>
+ <item name="South"> <value>8</value></item>
+ <item name="SouthEast"><value>9</value></item>
+ <item name="Static"> <value>10</value></item>
+ </enum>
+
+ <request name="CreateWindow" opcode="1">
+ <field type="CARD8" name="depth" />
+ <field type="WINDOW" name="wid" />
+ <field type="WINDOW" name="parent" />
+ <field type="INT16" name="x" />
+ <field type="INT16" name="y" />
+ <field type="CARD16" name="width" />
+ <field type="CARD16" name="height" />
+ <field type="CARD16" name="border_width" />
+ <field type="CARD16" name="class" enum="WindowClass" />
+ <field type="VISUALID" name="visual" />
+ <valueparam value-mask-type="CARD32"
+ value-mask-name="value_mask"
+ value-list-name="value_list" />
+ </request>
+
+ <request name="ChangeWindowAttributes" opcode="2">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ <valueparam value-mask-type="CARD32"
+ value-mask-name="value_mask"
+ value-list-name="value_list" />
+ </request>
+
+ <enum name="MapState">
+ <item name="Unmapped"> <value>0</value></item>
+ <item name="Unviewable"><value>1</value></item>
+ <item name="Viewable"> <value>2</value></item>
+ </enum>
+
+ <request name="GetWindowAttributes" opcode="3">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ <reply>
+ <field type="CARD8" name="backing_store" enum="BackingStore" />
+ <field type="VISUALID" name="visual" />
+ <field type="CARD16" name="class" enum="WindowClass" />
+ <field type="CARD8" name="bit_gravity" enum="Gravity" />
+ <field type="CARD8" name="win_gravity" enum="Gravity" />
+ <field type="CARD32" name="backing_planes" />
+ <field type="CARD32" name="backing_pixel" />
+ <field type="BOOL" name="save_under" />
+ <field type="BOOL" name="map_is_installed" />
+ <field type="CARD8" name="map_state" enum="MapState" />
+ <field type="BOOL" name="override_redirect" />
+ <field type="COLORMAP" name="colormap" altenum="Colormap" />
+ <field type="CARD32" name="all_event_masks" mask="EventMask" />
+ <field type="CARD32" name="your_event_mask" mask="EventMask" />
+ <field type="CARD16" name="do_not_propagate_mask" mask="EventMask" />
+ <pad bytes="2" />
+ </reply>
+ </request>
+
+ <request name="DestroyWindow" opcode="4">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ </request>
+
+ <request name="DestroySubwindows" opcode="5">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ </request>
+
+ <enum name="SetMode">
+ <item name="Insert"><value>0</value></item>
+ <item name="Delete"><value>1</value></item>
+ </enum>
+
+ <request name="ChangeSaveSet" opcode="6">
+ <field type="BYTE" name="mode" enum="SetMode" />
+ <field type="WINDOW" name="window" />
+ </request>
+
+ <request name="ReparentWindow" opcode="7">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ <field type="WINDOW" name="parent" />
+ <field type="INT16" name="x" />
+ <field type="INT16" name="y" />
+ </request>
+
+ <request name="MapWindow" opcode="8">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ </request>
+
+ <request name="MapSubwindows" opcode="9">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ </request>
+
+ <request name="UnmapWindow" opcode="10">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ </request>
+
+ <request name="UnmapSubwindows" opcode="11">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ </request>
+
+ <enum name="ConfigWindow">
+ <item name="X"> <bit>0</bit></item>
+ <item name="Y"> <bit>1</bit></item>
+ <item name="Width"> <bit>2</bit></item>
+ <item name="Height"> <bit>3</bit></item>
+ <item name="BorderWidth"><bit>4</bit></item>
+ <item name="Sibling"> <bit>5</bit></item>
+ <item name="StackMode"> <bit>6</bit></item>
+ </enum>
+
+ <enum name="StackMode">
+ <item name="Above"> <value>0</value></item>
+ <item name="Below"> <value>1</value></item>
+ <item name="TopIf"> <value>2</value></item>
+ <item name="BottomIf"><value>3</value></item>
+ <item name="Opposite"><value>4</value></item>
+ </enum>
+
+ <request name="ConfigureWindow" opcode="12">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ <field type="CARD16" name="value_mask" />
+ <pad bytes="2" />
+ <valueparam value-mask-type="CARD16"
+ value-mask-name="value_mask"
+ value-list-name="value_list" />
+ </request>
+
+ <enum name="Circulate">
+ <item name="RaiseLowest"> <value>0</value></item>
+ <item name="LowerHighest"><value>1</value></item>
+ </enum>
+
+ <request name="CirculateWindow" opcode="13">
+ <field type="CARD8" name="direction" enum="Circulate" />
+ <field type="WINDOW" name="window" />
+ </request>
+
+ <request name="GetGeometry" opcode="14">
+ <pad bytes="1" />
+ <field type="DRAWABLE" name="drawable" />
+ <reply>
+ <field type="CARD8" name="depth" />
+ <field type="WINDOW" name="root" />
+ <field type="INT16" name="x" />
+ <field type="INT16" name="y" />
+ <field type="CARD16" name="width" />
+ <field type="CARD16" name="height" />
+ <field type="CARD16" name="border_width" />
+ <pad bytes="2" />
+ </reply>
+ </request>
+
+ <request name="QueryTree" opcode="15">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ <reply>
+ <pad bytes="1" />
+ <field type="WINDOW" name="root" />
+ <field type="WINDOW" name="parent" altenum="Window" />
+ <field type="CARD16" name="children_len" />
+ <pad bytes="14" />
+ <list type="WINDOW" name="children">
+ <fieldref>children_len</fieldref>
+ </list>
+ </reply>
+ </request>
+
+ <request name="InternAtom" opcode="16">
+ <field type="BOOL" name="only_if_exists" />
+ <field type="CARD16" name="name_len" />
+ <pad bytes="2" />
+ <list type="char" name="name">
+ <fieldref>name_len</fieldref>
+ </list>
+ <reply>
+ <pad bytes="1" />
+ <field type="ATOM" name="atom" altenum="Atom" />
+ </reply>
+ </request>
+
+ <request name="GetAtomName" opcode="17">
+ <pad bytes="1" />
+ <field type="ATOM" name="atom" />
+ <reply>
+ <pad bytes="1" />
+ <field type="CARD16" name="name_len" />
+ <pad bytes="22" />
+ <list type="char" name="name">
+ <fieldref>name_len</fieldref>
+ </list>
+ </reply>
+ </request>
+
+ <enum name="PropMode">
+ <item name="Replace"><value>0</value></item>
+ <item name="Prepend"><value>1</value></item>
+ <item name="Append"> <value>2</value></item>
+ </enum>
+
+ <request name="ChangeProperty" opcode="18">
+ <field type="CARD8" name="mode" enum="PropMode" />
+ <field type="WINDOW" name="window" />
+ <field type="ATOM" name="property" />
+ <field type="ATOM" name="type" />
+ <field type="CARD8" name="format" />
+ <pad bytes="3" />
+ <field type="CARD32" name="data_len" />
+ <list type="void" name="data">
+ <op op="/">
+ <op op="*">
+ <fieldref>data_len</fieldref>
+ <fieldref>format</fieldref>
+ </op>
+ <value>8</value>
+ </op>
+ </list>
+ </request>
+
+ <request name="DeleteProperty" opcode="19">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ <field type="ATOM" name="property" />
+ </request>
+
+ <enum name="GetPropertyType">
+ <item name="Any"><value>0</value></item>
+ </enum>
+
+ <request name="GetProperty" opcode="20">
+ <field type="BOOL" name="delete" />
+ <field type="WINDOW" name="window" />
+ <field type="ATOM" name="property" />
+ <field type="ATOM" name="type" altenum="GetPropertyType" />
+ <field type="CARD32" name="long_offset" />
+ <field type="CARD32" name="long_length" />
+ <reply>
+ <field type="CARD8" name="format" />
+ <field type="ATOM" name="type" />
+ <field type="CARD32" name="bytes_after" />
+ <field type="CARD32" name="value_len" />
+ <pad bytes="12" />
+ <list type="void" name="value">
+ <op op="*">
+ <fieldref>value_len</fieldref>
+ <op op="/">
+ <fieldref>format</fieldref>
+ <value>8</value>
+ </op>
+ </op>
+ </list>
+ </reply>
+ </request>
+
+ <request name="ListProperties" opcode="21">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ <reply>
+ <pad bytes="1" />
+ <field type="CARD16" name="atoms_len" />
+ <pad bytes="22" />
+ <list type="ATOM" name="atoms">
+ <fieldref>atoms_len</fieldref>
+ </list>
+ </reply>
+ </request>
+
+ <request name="SetSelectionOwner" opcode="22">
+ <pad bytes="1" />
+ <field type="WINDOW" name="owner" altenum="Window" />
+ <field type="ATOM" name="selection" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
+ </request>
+
+ <request name="GetSelectionOwner" opcode="23">
+ <pad bytes="1" />
+ <field type="ATOM" name="selection" />
+ <reply>
+ <pad bytes="1" />
+ <field type="WINDOW" name="owner" altenum="Window" />
+ </reply>
+ </request>
+
+ <request name="ConvertSelection" opcode="24">
+ <pad bytes="1" />
+ <field type="WINDOW" name="requestor" />
+ <field type="ATOM" name="selection" />
+ <field type="ATOM" name="target" />
+ <field type="ATOM" name="property" altenum="Atom" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
+ </request>
+
+ <enum name="SendEventDest">
+ <item name="PointerWindow"><value>0</value></item>
+ <item name="ItemFocus"> <value>1</value></item>
+ </enum>
+
+ <request name="SendEvent" opcode="25">
+ <field type="BOOL" name="propagate" />
+ <field type="WINDOW" name="destination" altenum="SendEventDest" />
+ <field type="CARD32" name="event_mask" mask="EventMask" />
+ <list type="char" name="event"><value>32</value></list>
+ </request>
+
+ <enum name="GrabMode">
+ <item name="Sync"> <value>0</value></item>
+ <item name="Async"><value>1</value></item>
+ </enum>
+
+ <enum name="GrabStatus">
+ <item name="Success"> <value>0</value></item>
+ <item name="AlreadyGrabbed"><value>1</value></item>
+ <item name="InvalidTime"> <value>2</value></item>
+ <item name="NotViewable"> <value>3</value></item>
+ <item name="Frozen"> <value>4</value></item>
+ </enum>
+
+ <enum name="Cursor">
+ <item name="None"> <value>0</value></item>
+ </enum>
+
+ <request name="GrabPointer" opcode="26">
+ <field type="BOOL" name="owner_events" />
+ <field type="WINDOW" name="grab_window" />
+ <field type="CARD16" name="event_mask" mask="EventMask" />
+ <field type="BYTE" name="pointer_mode" enum="GrabMode" />
+ <field type="BYTE" name="keyboard_mode" enum="GrabMode" />
+ <field type="WINDOW" name="confine_to" altenum="Window" />
+ <field type="CURSOR" name="cursor" altenum="Cursor" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
+ <reply>
+ <field type="BYTE" name="status" enum="GrabStatus" />
+ </reply>
+ </request>
+
+ <request name="UngrabPointer" opcode="27">
+ <pad bytes="1" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
+ </request>
+
+ <enum name="ButtonIndex">
+ <item name="Any"><value>0</value></item>
+ <item name="1"> <value>1</value></item>
+ <item name="2"> <value>2</value></item>
+ <item name="3"> <value>3</value></item>
+ <item name="4"> <value>4</value></item>
+ <item name="5"> <value>5</value></item>
+ </enum>
+
+ <request name="GrabButton" opcode="28">
+ <field type="BOOL" name="owner_events" />
+ <field type="WINDOW" name="grab_window" />
+ <field type="CARD16" name="event_mask" mask="EventMask" />
+ <field type="CARD8" name="pointer_mode" enum="GrabMode" />
+ <field type="CARD8" name="keyboard_mode" enum="GrabMode" />
+ <field type="WINDOW" name="confine_to" altenum="Window" />
+ <field type="CURSOR" name="cursor" altenum="Cursor" />
+ <field type="CARD8" name="button" enum="ButtonIndex" />
+ <pad bytes="1" />
+ <field type="CARD16" name="modifiers" mask="ModMask" />
+ </request>
+
+ <request name="UngrabButton" opcode="29">
+ <field type="CARD8" name="button" enum="ButtonIndex" />
+ <field type="WINDOW" name="grab_window" />
+ <field type="CARD16" name="modifiers" mask="ModMask" />
+ <pad bytes="2" />
+ </request>
+
+ <request name="ChangeActivePointerGrab" opcode="30">
+ <pad bytes="1" />
+ <field type="CURSOR" name="cursor" altenum="Cursor" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
+ <field type="CARD16" name="event_mask" mask="EventMask" />
+ <pad bytes="2" />
+ </request>
+
+ <request name="GrabKeyboard" opcode="31">
+ <field type="BOOL" name="owner_events" />
+ <field type="WINDOW" name="grab_window" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
+ <field type="BYTE" name="pointer_mode" enum="GrabMode" />
+ <field type="BYTE" name="keyboard_mode" enum="GrabMode" />
+ <pad bytes="2" />
+ <reply>
+ <field type="BYTE" name="status" enum="GrabStatus" />
+ </reply>
+ </request>
+
+ <request name="UngrabKeyboard" opcode="32">
+ <pad bytes="1" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
+ </request>
+
+ <!-- Use KEYCODE any = { XCBGrabAny }; to grab any key -->
+ <enum name="Grab">
+ <item name="Any"><value>0</value></item>
+ </enum>
+
+ <request name="GrabKey" opcode="33">
+ <field type="BOOL" name="owner_events" />
+ <field type="WINDOW" name="grab_window" />
+ <field type="CARD16" name="modifiers" mask="ModMask" />
+ <field type="KEYCODE" name="key" altenum="Grab" />
+ <field type="CARD8" name="pointer_mode" enum="GrabMode" />
+ <field type="CARD8" name="keyboard_mode" enum="GrabMode" />
+ <pad bytes="3" />
+ </request>
+
+ <request name="UngrabKey" opcode="34">
+ <field type="KEYCODE" name="key" altenum="Grab" />
+ <field type="WINDOW" name="grab_window" />
+ <field type="CARD16" name="modifiers" mask="ModMask" />
+ <pad bytes="2" />
+ </request>
+
+ <enum name="Allow">
+ <item name="AsyncPointer"> <value>0</value></item>
+ <item name="SyncPointer"> <value>1</value></item>
+ <item name="ReplayPointer"> <value>2</value></item>
+ <item name="AsyncKeyboard"> <value>3</value></item>
+ <item name="SyncKeyboard"> <value>4</value></item>
+ <item name="ReplayKeyboard"><value>5</value></item>
+ <item name="AsyncBoth"> <value>6</value></item>
+ <item name="SyncBoth"> <value>7</value></item>
+ </enum>
+
+ <request name="AllowEvents" opcode="35">
+ <field type="CARD8" name="mode" enum="Allow" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
+ </request>
+
+ <request name="GrabServer" opcode="36" />
+
+ <request name="UngrabServer" opcode="37" />
+
+ <request name="QueryPointer" opcode="38">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ <reply>
+ <field type="BOOL" name="same_screen" />
+ <field type="WINDOW" name="root" />
+ <field type="WINDOW" name="child" altenum="Window" />
+ <field type="INT16" name="root_x" />
+ <field type="INT16" name="root_y" />
+ <field type="INT16" name="win_x" />
+ <field type="INT16" name="win_y" />
+ <field type="CARD16" name="mask" mask="KeyButMask" />
+ <pad bytes="2" />
+ </reply>
+ </request>
+
+ <struct name="TIMECOORD">
+ <field type="TIMESTAMP" name="time" />
+ <field type="INT16" name="x" />
+ <field type="INT16" name="y" />
+ </struct>
+
+ <request name="GetMotionEvents" opcode="39">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ <field type="TIMESTAMP" name="start" altenum="Time" />
+ <field type="TIMESTAMP" name="stop" altenum="Time" />
+ <reply>
+ <pad bytes="1" />
+ <field type="CARD32" name="events_len" />
+ <pad bytes="20" />
+ <list type="TIMECOORD" name="events">
+ <fieldref>events_len</fieldref>
+ </list>
+ </reply>
+ </request>
+
+ <request name="TranslateCoordinates" opcode="40">
+ <pad bytes="1" />
+ <field type="WINDOW" name="src_window" />
+ <field type="WINDOW" name="dst_window" />
+ <field type="INT16" name="src_x" />
+ <field type="INT16" name="src_y" />
+ <reply>
+ <field type="BOOL" name="same_screen" />
+ <field type="WINDOW" name="child" altenum="Window" />
+ <field type="INT16" name="dst_x" />
+ <field type="INT16" name="dst_y" />
+ </reply>
+ </request>
+
+ <request name="WarpPointer" opcode="41">
+ <pad bytes="1" />
+ <field type="WINDOW" name="src_window" altenum="Window" />
+ <field type="WINDOW" name="dst_window" altenum="Window" />
+ <field type="INT16" name="src_x" />
+ <field type="INT16" name="src_y" />
+ <field type="CARD16" name="src_width" />
+ <field type="CARD16" name="src_height" />
+ <field type="INT16" name="dst_x" />
+ <field type="INT16" name="dst_y" />
+ </request>
+
+ <!-- used for revert_to and focus -->
+ <enum name="InputFocus">
+ <item name="None"> <value>0</value></item>
+ <item name="PointerRoot"><value>1</value></item>
+ <item name="Parent"> <value>2</value></item> <!-- revert_to only -->
+ <item name="FollowKeyboard"><value>3</value></item> <!-- xinput extension only -->
+ </enum>
+
+ <request name="SetInputFocus" opcode="42">
+ <field type="CARD8" name="revert_to" enum="InputFocus" />
+ <field type="WINDOW" name="focus" altenum="InputFocus" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
+ </request>
+
+ <request name="GetInputFocus" opcode="43">
+ <reply>
+ <field type="CARD8" name="revert_to" enum="InputFocus" />
+ <field type="WINDOW" name="focus" altenum="InputFocus" />
+ </reply>
+ </request>
+
+ <request name="QueryKeymap" opcode="44">
+ <reply>
+ <pad bytes="1" />
+ <list type="CARD8" name="keys"><value>32</value></list>
+ </reply>
+ </request>
+
+ <request name="OpenFont" opcode="45">
+ <pad bytes="1" />
+ <field type="FONT" name="fid" />
+ <field type="CARD16" name="name_len" />
+ <pad bytes="2" />
+ <list type="char" name="name">
+ <fieldref>name_len</fieldref>
+ </list>
+ </request>
+
+ <request name="CloseFont" opcode="46">
+ <pad bytes="1" />
+ <field type="FONT" name="font" />
+ </request>
+
+ <enum name="FontDraw">
+ <item name="LeftToRight"><value>0</value></item>
+ <item name="RightToLeft"><value>1</value></item>
+ </enum>
+
+ <struct name="FONTPROP">
+ <field type="ATOM" name="name" />
+ <field type="CARD32" name="value" />
+ </struct>
+
+ <struct name="CHARINFO">
+ <field type="INT16" name="left_side_bearing" />
+ <field type="INT16" name="right_side_bearing" />
+ <field type="INT16" name="character_width" />
+ <field type="INT16" name="ascent" />
+ <field type="INT16" name="descent" />
+ <field type="CARD16" name="attributes" />
+ </struct>
+
+ <request name="QueryFont" opcode="47">
+ <pad bytes="1" />
+ <field type="FONTABLE" name="font" />
+ <reply>
+ <pad bytes="1" />
+ <field type="CHARINFO" name="min_bounds" />
+ <pad bytes="4" />
+ <field type="CHARINFO" name="max_bounds" />
+ <pad bytes="4" />
+ <field type="CARD16" name="min_char_or_byte2" />
+ <field type="CARD16" name="max_char_or_byte2" />
+ <field type="CARD16" name="default_char" />
+ <field type="CARD16" name="properties_len" />
+ <field type="BYTE" name="draw_direction" enum="FontDraw" />
+ <field type="CARD8" name="min_byte1" />
+ <field type="CARD8" name="max_byte1" />
+ <field type="BOOL" name="all_chars_exist" />
+ <field type="INT16" name="font_ascent" />
+ <field type="INT16" name="font_descent" />
+ <field type="CARD32" name="char_infos_len" />
+ <list type="FONTPROP" name="properties">
+ <fieldref>properties_len</fieldref>
+ </list>
+ <list type="CHARINFO" name="char_infos">
+ <fieldref>char_infos_len</fieldref>
+ </list>
+ </reply>
+ </request>
+
+ <request name="QueryTextExtents" opcode="48">
+ <exprfield type="BOOL" name="odd_length">
+ <op op="&amp;"><fieldref>string_len</fieldref><value>1</value></op>
+ </exprfield>
+ <field type="FONTABLE" name="font" />
+ <list type="CHAR2B" name="string" />
+ <reply>
+ <field type="BYTE" name="draw_direction" enum="FontDraw" />
+ <field type="INT16" name="font_ascent" />
+ <field type="INT16" name="font_descent" />
+ <field type="INT16" name="overall_ascent" />
+ <field type="INT16" name="overall_descent" />
+ <field type="INT32" name="overall_width" />
+ <field type="INT32" name="overall_left" />
+ <field type="INT32" name="overall_right" />
+ </reply>
+ </request>
+
+ <struct name="STR">
+ <field type="CARD8" name="name_len" />
+ <list type="char" name="name">
+ <fieldref>name_len</fieldref>
+ </list>
+ </struct>
+
+ <request name="ListFonts" opcode="49">
+ <pad bytes="1" />
+ <field type="CARD16" name="max_names" />
+ <field type="CARD16" name="pattern_len" />
+ <list type="char" name="pattern">
+ <fieldref>pattern_len</fieldref>
+ </list>
+ <reply>
+ <pad bytes="1" />
+ <field type="CARD16" name="names_len" />
+ <pad bytes="22" />
+ <list type="STR" name="names">
+ <fieldref>names_len</fieldref>
+ </list>
+ </reply>
+ </request>
+
+ <request name="ListFontsWithInfo" opcode="50">
+ <pad bytes="1" />
+ <field type="CARD16" name="max_names" />
+ <field type="CARD16" name="pattern_len" />
+ <list type="char" name="pattern">
+ <fieldref>pattern_len</fieldref>
+ </list>
+ <reply>
+ <field type="CARD8" name="name_len" />
+ <field type="CHARINFO" name="min_bounds" />
+ <pad bytes="4" />
+ <field type="CHARINFO" name="max_bounds" />
+ <pad bytes="4" />
+ <field type="CARD16" name="min_char_or_byte2" />
+ <field type="CARD16" name="max_char_or_byte2" />
+ <field type="CARD16" name="default_char" />
+ <field type="CARD16" name="properties_len" />
+ <field type="BYTE" name="draw_direction" enum="FontDraw" />
+ <field type="CARD8" name="min_byte1" />
+ <field type="CARD8" name="max_byte1" />
+ <field type="BOOL" name="all_chars_exist" />
+ <field type="INT16" name="font_ascent" />
+ <field type="INT16" name="font_descent" />
+ <field type="CARD32" name="replies_hint" />
+ <list type="FONTPROP" name="properties">
+ <fieldref>properties_len</fieldref>
+ </list>
+ <list type="char" name="name">
+ <fieldref>name_len</fieldref>
+ </list>
+ </reply>
+ </request>
+
+ <request name="SetFontPath" opcode="51">
+ <pad bytes="1" />
+ <field type="CARD16" name="font_qty" />
+ <list type="char" name="path" />
+ </request>
+
+ <request name="GetFontPath" opcode="52">
+ <reply>
+ <pad bytes="1" />
+ <field type="CARD16" name="path_len" />
+ <pad bytes="22" />
+ <list type="STR" name="path">
+ <fieldref>path_len</fieldref>
+ </list>
+ </reply>
+ </request>
+
+ <request name="CreatePixmap" opcode="53">
+ <field type="CARD8" name="depth" />
+ <field type="PIXMAP" name="pid" />
+ <field type="DRAWABLE" name="drawable" />
+ <field type="CARD16" name="width" />
+ <field type="CARD16" name="height" />
+ </request>
+
+ <request name="FreePixmap" opcode="54">
+ <pad bytes="1" />
+ <field type="PIXMAP" name="pixmap" />
+ </request>
+
+ <enum name="GC">
+ <item name="Function"> <bit>0</bit></item>
+ <item name="PlaneMask"> <bit>1</bit></item>
+ <item name="Foreground"> <bit>2</bit></item>
+ <item name="Background"> <bit>3</bit></item>
+ <item name="LineWidth"> <bit>4</bit></item>
+ <item name="LineStyle"> <bit>5</bit></item>
+ <item name="CapStyle"> <bit>6</bit></item>
+ <item name="JoinStyle"> <bit>7</bit></item>
+ <item name="FillStyle"> <bit>8</bit></item>
+ <item name="FillRule"> <bit>9</bit></item>
+ <item name="Tile"> <bit>10</bit></item>
+ <item name="Stipple"> <bit>11</bit></item>
+ <item name="TileStippleOriginX"><bit>12</bit></item>
+ <item name="TileStippleOriginY"><bit>13</bit></item>
+ <item name="Font"> <bit>14</bit></item>
+ <item name="SubwindowMode"> <bit>15</bit></item>
+ <item name="GraphicsExposures"> <bit>16</bit></item>
+ <item name="ClipOriginX"> <bit>17</bit></item>
+ <item name="ClipOriginY"> <bit>18</bit></item>
+ <item name="ClipMask"> <bit>19</bit></item>
+ <item name="DashOffset"> <bit>20</bit></item>
+ <item name="DashList"> <bit>21</bit></item>
+ <item name="ArcMode"> <bit>22</bit></item>
+ </enum>
+
+ <!-- GC Function values -->
+ <enum name="GX">
+ <item name="clear"> <value>0</value></item>
+ <item name="and"> <value>1</value></item>
+ <item name="andReverse"> <value>2</value></item>
+ <item name="copy"> <value>3</value></item>
+ <item name="andInverted"> <value>4</value></item>
+ <item name="noop"> <value>5</value></item>
+ <item name="xor"> <value>6</value></item>
+ <item name="or"> <value>7</value></item>
+ <item name="nor"> <value>8</value></item>
+ <item name="equiv"> <value>9</value></item>
+ <item name="invert"> <value>10</value></item>
+ <item name="orReverse"> <value>11</value></item>
+ <item name="copyInverted"><value>12</value></item>
+ <item name="orInverted"> <value>13</value></item>
+ <item name="nand"> <value>14</value></item>
+ <item name="set"> <value>15</value></item>
+ </enum>
+
+ <enum name="LineStyle">
+ <item name="Solid"> <value>0</value></item>
+ <item name="OnOffDash"> <value>1</value></item>
+ <item name="DoubleDash"><value>2</value></item>
+ </enum>
+
+ <enum name="CapStyle">
+ <item name="NotLast"> <value>0</value></item>
+ <item name="Butt"> <value>1</value></item>
+ <item name="Round"> <value>2</value></item>
+ <item name="Projecting"><value>3</value></item>
+ </enum>
+
+ <enum name="JoinStyle">
+ <item name="Miter"> <value>0</value></item>
+ <item name="Round"> <value>1</value></item>
+ <item name="Bevel"> <value>2</value></item>
+ </enum>
+
+ <enum name="FillStyle">
+ <item name="Solid"> <value>0</value></item>
+ <item name="Tiled"> <value>1</value></item>
+ <item name="Stippled"> <value>2</value></item>
+ <item name="OpaqueStippled"><value>3</value></item>
+ </enum>
+
+ <enum name="FillRule">
+ <item name="EvenOdd"><value>0</value></item>
+ <item name="Winding"><value>1</value></item>
+ </enum>
+
+ <enum name="SubwindowMode">
+ <item name="ClipByChildren"> <value>0</value></item>
+ <item name="IncludeInferiors"><value>1</value></item>
+ </enum>
+
+ <enum name="ArcMode">
+ <item name="Chord"> <value>0</value></item>
+ <item name="PieSlice"><value>1</value></item>
+ </enum>
+
+ <request name="CreateGC" opcode="55">
+ <pad bytes="1" />
+ <field type="GCONTEXT" name="cid" />
+ <field type="DRAWABLE" name="drawable" />
+ <valueparam value-mask-type="CARD32"
+ value-mask-name="value_mask"
+ value-list-name="value_list" />
+ </request>
+
+ <request name="ChangeGC" opcode="56">
+ <pad bytes="1" />
+ <field type="GCONTEXT" name="gc" />
+ <valueparam value-mask-type="CARD32"
+ value-mask-name="value_mask"
+ value-list-name="value_list" />
+ </request>
+
+ <request name="CopyGC" opcode="57">
+ <pad bytes="1" />
+ <field type="GCONTEXT" name="src_gc" />
+ <field type="GCONTEXT" name="dst_gc" />
+ <field type="CARD32" name="value_mask" mask="GC" />
+ </request>
+
+ <request name="SetDashes" opcode="58">
+ <pad bytes="1" />
+ <field type="GCONTEXT" name="gc" />
+ <field type="CARD16" name="dash_offset" />
+ <field type="CARD16" name="dashes_len" />
+ <list type="CARD8" name="dashes">
+ <fieldref>dashes_len</fieldref>
+ </list>
+ </request>
+
+ <enum name="ClipOrdering">
+ <item name="Unsorted"><value>0</value></item>
+ <item name="YSorted"> <value>1</value></item>
+ <item name="YXSorted"><value>2</value></item>
+ <item name="YXBanded"><value>3</value></item>
+ </enum>
+
+ <request name="SetClipRectangles" opcode="59">
+ <field type="BYTE" name="ordering" enum="ClipOrdering" />
+ <field type="GCONTEXT" name="gc" />
+ <field type="INT16" name="clip_x_origin" />
+ <field type="INT16" name="clip_y_origin" />
+ <list type="RECTANGLE" name="rectangles" />
+ </request>
+
+ <request name="FreeGC" opcode="60">
+ <pad bytes="1" />
+ <field type="GCONTEXT" name="gc" />
+ </request>
+
+ <request name="ClearArea" opcode="61">
+ <field type="BOOL" name="exposures" />
+ <field type="WINDOW" name="window" />
+ <field type="INT16" name="x" />
+ <field type="INT16" name="y" />
+ <field type="CARD16" name="width" />
+ <field type="CARD16" name="height" />
+ </request>
+
+ <request name="CopyArea" opcode="62">
+ <pad bytes="1" />
+ <field type="DRAWABLE" name="src_drawable" />
+ <field type="DRAWABLE" name="dst_drawable" />
+ <field type="GCONTEXT" name="gc" />
+ <field type="INT16" name="src_x" />
+ <field type="INT16" name="src_y" />
+ <field type="INT16" name="dst_x" />
+ <field type="INT16" name="dst_y" />
+ <field type="CARD16" name="width" />
+ <field type="CARD16" name="height" />
+ </request>
+
+ <request name="CopyPlane" opcode="63">
+ <pad bytes="1" />
+ <field type="DRAWABLE" name="src_drawable" />
+ <field type="DRAWABLE" name="dst_drawable" />
+ <field type="GCONTEXT" name="gc" />
+ <field type="INT16" name="src_x" />
+ <field type="INT16" name="src_y" />
+ <field type="INT16" name="dst_x" />
+ <field type="INT16" name="dst_y" />
+ <field type="CARD16" name="width" />
+ <field type="CARD16" name="height" />
+ <field type="CARD32" name="bit_plane" />
+ </request>
+
+ <enum name="CoordMode">
+ <item name="Origin"> <value>0</value></item>
+ <item name="Previous"><value>1</value></item>
+ </enum>
+
+ <!-- combine-adjacent doesn't work for mode==Relative -->
+ <request name="PolyPoint" opcode="64">
+ <field type="BYTE" name="coordinate_mode" enum="CoordMode" />
+ <field type="DRAWABLE" name="drawable" />
+ <field type="GCONTEXT" name="gc" />
+ <list type="POINT" name="points" />
+ </request>
+
+ <request name="PolyLine" opcode="65" combine-adjacent="true">
+ <field type="BYTE" name="coordinate_mode" enum="CoordMode" />
+ <field type="DRAWABLE" name="drawable" />
+ <field type="GCONTEXT" name="gc" />
+ <list type="POINT" name="points" />
+ </request>
+
+ <struct name="SEGMENT">
+ <field type="INT16" name="x1" />
+ <field type="INT16" name="y1" />
+ <field type="INT16" name="x2" />
+ <field type="INT16" name="y2" />
+ </struct>
+
+ <request name="PolySegment" opcode="66" combine-adjacent="true">
+ <pad bytes="1" />
+ <field type="DRAWABLE" name="drawable" />
+ <field type="GCONTEXT" name="gc" />
+ <list type="SEGMENT" name="segments" />
+ </request>
+
+ <request name="PolyRectangle" opcode="67" combine-adjacent="true">
+ <pad bytes="1" />
+ <field type="DRAWABLE" name="drawable" />
+ <field type="GCONTEXT" name="gc" />
+ <list type="RECTANGLE" name="rectangles" />
+ </request>
+
+ <!--
+ The semantics of PolyArc change after the first arc: the GC's
+ join style may be applied to successive arcs under some circumstances.
+ So using combine-adjacent here is bad.
+ -->
+ <request name="PolyArc" opcode="68">
+ <pad bytes="1" />
+ <field type="DRAWABLE" name="drawable" />
+ <field type="GCONTEXT" name="gc" />
+ <list type="ARC" name="arcs" />
+ </request>
+
+ <enum name="PolyShape">
+ <item name="Complex"> <value>0</value></item>
+ <item name="Nonconvex"><value>1</value></item>
+ <item name="Convex"> <value>2</value></item>
+ </enum>
+
+ <request name="FillPoly" opcode="69">
+ <pad bytes="1" />
+ <field type="DRAWABLE" name="drawable" />
+ <field type="GCONTEXT" name="gc" />
+ <field type="CARD8" name="shape" enum="PolyShape" />
+ <field type="CARD8" name="coordinate_mode" enum="CoordMode" />
+ <pad bytes="2" />
+ <list type="POINT" name="points" />
+ </request>
+
+ <request name="PolyFillRectangle" opcode="70" combine-adjacent="true">
+ <pad bytes="1" />
+ <field type="DRAWABLE" name="drawable" />
+ <field type="GCONTEXT" name="gc" />
+ <list type="RECTANGLE" name="rectangles" />
+ </request>
+
+ <request name="PolyFillArc" opcode="71" combine-adjacent="true">
+ <pad bytes="1" />
+ <field type="DRAWABLE" name="drawable" />
+ <field type="GCONTEXT" name="gc" />
+ <list type="ARC" name="arcs" />
+ </request>
+
+ <enum name="ImageFormat">
+ <item name="XYBitmap"><value>0</value></item>
+ <item name="XYPixmap"><value>1</value></item>
+ <item name="ZPixmap"> <value>2</value></item>
+ </enum>
+
+ <request name="PutImage" opcode="72">
+ <field type="CARD8" name="format" enum="ImageFormat" />
+ <field type="DRAWABLE" name="drawable" />
+ <field type="GCONTEXT" name="gc" />
+ <field type="CARD16" name="width" />
+ <field type="CARD16" name="height" />
+ <field type="INT16" name="dst_x" />
+ <field type="INT16" name="dst_y" />
+ <field type="CARD8" name="left_pad" />
+ <field type="CARD8" name="depth" />
+ <pad bytes="2" />
+ <list type="BYTE" name="data" />
+ </request>
+
+ <!-- FIXME: data array in reply will include padding, but ought not to. -->
+ <request name="GetImage" opcode="73">
+ <field type="CARD8" name="format" enum="ImageFormat" />
+ <field type="DRAWABLE" name="drawable" />
+ <field type="INT16" name="x" />
+ <field type="INT16" name="y" />
+ <field type="CARD16" name="width" />
+ <field type="CARD16" name="height" />
+ <field type="CARD32" name="plane_mask" />
+ <reply>
+ <field type="CARD8" name="depth" />
+ <field type="VISUALID" name="visual" />
+ <pad bytes="20" />
+ <list type="BYTE" name="data">
+ <op op="*">
+ <fieldref>length</fieldref>
+ <value>4</value>
+ </op>
+ </list>
+ </reply>
+ </request>
+
+ <request name="PolyText8" opcode="74">
+ <pad bytes="1" />
+ <field type="DRAWABLE" name="drawable" />
+ <field type="GCONTEXT" name="gc" />
+ <field type="INT16" name="x" />
+ <field type="INT16" name="y" />
+ <list type="BYTE" name="items" />
+ </request>
+
+ <request name="PolyText16" opcode="75">
+ <pad bytes="1" />
+ <field type="DRAWABLE" name="drawable" />
+ <field type="GCONTEXT" name="gc" />
+ <field type="INT16" name="x" />
+ <field type="INT16" name="y" />
+ <list type="BYTE" name="items" />
+ </request>
+
+ <request name="ImageText8" opcode="76">
+ <field type="BYTE" name="string_len" />
+ <field type="DRAWABLE" name="drawable" />
+ <field type="GCONTEXT" name="gc" />
+ <field type="INT16" name="x" />
+ <field type="INT16" name="y" />
+ <list type="char" name="string">
+ <fieldref>string_len</fieldref>
+ </list>
+ </request>
+
+ <request name="ImageText16" opcode="77">
+ <field type="BYTE" name="string_len" />
+ <field type="DRAWABLE" name="drawable" />
+ <field type="GCONTEXT" name="gc" />
+ <field type="INT16" name="x" />
+ <field type="INT16" name="y" />
+ <list type="CHAR2B" name="string">
+ <fieldref>string_len</fieldref>
+ </list>
+ </request>
+
+ <enum name= "ColormapAlloc">
+ <item name="None"><value>0</value></item>
+ <item name="All"> <value>1</value></item>
+ </enum>
+
+ <request name="CreateColormap" opcode="78">
+ <field type="BYTE" name="alloc" enum="ColormapAlloc" />
+ <field type="COLORMAP" name="mid" />
+ <field type="WINDOW" name="window" />
+ <field type="VISUALID" name="visual" />
+ </request>
+
+ <request name="FreeColormap" opcode="79">
+ <pad bytes="1" />
+ <field type="COLORMAP" name="cmap" />
+ </request>
+
+ <request name="CopyColormapAndFree" opcode="80">
+ <pad bytes="1" />
+ <field type="COLORMAP" name="mid" />
+ <field type="COLORMAP" name="src_cmap" />
+ </request>
+
+ <request name="InstallColormap" opcode="81">
+ <pad bytes="1" />
+ <field type="COLORMAP" name="cmap" />
+ </request>
+
+ <request name="UninstallColormap" opcode="82">
+ <pad bytes="1" />
+ <field type="COLORMAP" name="cmap" />
+ </request>
+
+ <request name="ListInstalledColormaps" opcode="83">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ <reply>
+ <pad bytes="1" />
+ <field type="CARD16" name="cmaps_len" />
+ <pad bytes="22" />
+ <list type="COLORMAP" name="cmaps">
+ <fieldref>cmaps_len</fieldref>
+ </list>
+ </reply>
+ </request>
+
+ <request name="AllocColor" opcode="84">
+ <pad bytes="1" />
+ <field type="COLORMAP" name="cmap" />
+ <field type="CARD16" name="red" />
+ <field type="CARD16" name="green" />
+ <field type="CARD16" name="blue" />
+ <pad bytes="2" />
+ <reply>
+ <pad bytes="1" />
+ <field type="CARD16" name="red" />
+ <field type="CARD16" name="green" />
+ <field type="CARD16" name="blue" />
+ <pad bytes="2" />
+ <field type="CARD32" name="pixel" />
+ </reply>
+ </request>
+
+ <request name="AllocNamedColor" opcode="85">
+ <pad bytes="1" />
+ <field type="COLORMAP" name="cmap" />
+ <field type="CARD16" name="name_len" />
+ <pad bytes="2" />
+ <list type="char" name="name">
+ <fieldref>name_len</fieldref>
+ </list>
+ <reply>
+ <pad bytes="1" />
+ <field type="CARD32" name="pixel" />
+ <field type="CARD16" name="exact_red" />
+ <field type="CARD16" name="exact_green" />
+ <field type="CARD16" name="exact_blue" />
+ <field type="CARD16" name="visual_red" />
+ <field type="CARD16" name="visual_green" />
+ <field type="CARD16" name="visual_blue" />
+ </reply>
+ </request>
+
+ <request name="AllocColorCells" opcode="86">
+ <field type="BOOL" name="contiguous" />
+ <field type="COLORMAP" name="cmap" />
+ <field type="CARD16" name="colors" />
+ <field type="CARD16" name="planes" />
+ <reply>
+ <pad bytes="1" />
+ <field type="CARD16" name="pixels_len" />
+ <field type="CARD16" name="masks_len" />
+ <pad bytes="20" />
+ <list type="CARD32" name="pixels">
+ <fieldref>pixels_len</fieldref>
+ </list>
+ <list type="CARD32" name="masks">
+ <fieldref>masks_len</fieldref>
+ </list>
+ </reply>
+ </request>
+
+ <request name="AllocColorPlanes" opcode="87">
+ <field type="BOOL" name="contiguous" />
+ <field type="COLORMAP" name="cmap" />
+ <field type="CARD16" name="colors" />
+ <field type="CARD16" name="reds" />
+ <field type="CARD16" name="greens" />
+ <field type="CARD16" name="blues" />
+ <reply>
+ <pad bytes="1" />
+ <field type="CARD16" name="pixels_len" />
+ <pad bytes="2" />
+ <field type="CARD32" name="red_mask" />
+ <field type="CARD32" name="green_mask" />
+ <field type="CARD32" name="blue_mask" />
+ <pad bytes="8" />
+ <list type="CARD32" name="pixels">
+ <fieldref>pixels_len</fieldref>
+ </list>
+ </reply>
+ </request>
+
+ <request name="FreeColors" opcode="88">
+ <pad bytes="1" />
+ <field type="COLORMAP" name="cmap" />
+ <field type="CARD32" name="plane_mask" />
+ <list type="CARD32" name="pixels" />
+ </request>
+
+ <enum name="ColorFlag">
+ <item name="Red"> <bit>0</bit></item>
+ <item name="Green"><bit>1</bit></item>
+ <item name="Blue"> <bit>2</bit></item>
+ </enum>
+
+ <struct name="COLORITEM">
+ <field type="CARD32" name="pixel" />
+ <field type="CARD16" name="red" />
+ <field type="CARD16" name="green" />
+ <field type="CARD16" name="blue" />
+ <field type="BYTE" name="flags" mask="ColorFlag" />
+ <pad bytes="1" />
+ </struct>
+
+ <request name="StoreColors" opcode="89" combine-adjacent="true">
+ <pad bytes="1" />
+ <field type="COLORMAP" name="cmap" />
+ <list type="COLORITEM" name="items" />
+ </request>
+
+ <request name="StoreNamedColor" opcode="90">
+ <field type="CARD8" name="flags" mask="ColorFlag" />
+ <field type="COLORMAP" name="cmap" />
+ <field type="CARD32" name="pixel" />
+ <field type="CARD16" name="name_len" />
+ <pad bytes="2" />
+ <list type="char" name="name">
+ <fieldref>name_len</fieldref>
+ </list>
+ </request>
+
+ <struct name="RGB">
+ <field type="CARD16" name="red" />
+ <field type="CARD16" name="green" />
+ <field type="CARD16" name="blue" />
+ <pad bytes="2" />
+ </struct>
+
+ <request name="QueryColors" opcode="91">
+ <pad bytes="1" />
+ <field type="COLORMAP" name="cmap" />
+ <list type="CARD32" name="pixels" />
+ <reply>
+ <pad bytes="1" />
+ <field type="CARD16" name="colors_len" />
+ <pad bytes="22" />
+ <list type="RGB" name="colors">
+ <fieldref>colors_len</fieldref>
+ </list>
+ </reply>
+ </request>
+
+ <request name="LookupColor" opcode="92">
+ <pad bytes="1" />
+ <field type="COLORMAP" name="cmap" />
+ <field type="CARD16" name="name_len" />
+ <pad bytes="2" />
+ <list type="char" name="name">
+ <fieldref>name_len</fieldref>
+ </list>
+ <reply>
+ <pad bytes="1" />
+ <field type="CARD16" name="exact_red" />
+ <field type="CARD16" name="exact_green" />
+ <field type="CARD16" name="exact_blue" />
+ <field type="CARD16" name="visual_red" />
+ <field type="CARD16" name="visual_green" />
+ <field type="CARD16" name="visual_blue" />
+ </reply>
+ </request>
+
+ <enum name="Pixmap">
+ <item name="None"> <value>0</value></item>
+ </enum>
+
+ <request name="CreateCursor" opcode="93">
+ <pad bytes="1" />
+ <field type="CURSOR" name="cid" />
+ <field type="PIXMAP" name="source" />
+ <field type="PIXMAP" name="mask" altenum="Pixmap" />
+ <field type="CARD16" name="fore_red" />
+ <field type="CARD16" name="fore_green" />
+ <field type="CARD16" name="fore_blue" />
+ <field type="CARD16" name="back_red" />
+ <field type="CARD16" name="back_green" />
+ <field type="CARD16" name="back_blue" />
+ <field type="CARD16" name="x" />
+ <field type="CARD16" name="y" />
+ </request>
+
+ <enum name="Font">
+ <item name="None"> <value>0</value></item>
+ </enum>
+
+ <request name="CreateGlyphCursor" opcode="94">
+ <pad bytes="1" />
+ <field type="CURSOR" name="cid" />
+ <field type="FONT" name="source_font" />
+ <field type="FONT" name="mask_font" altenum="Font" />
+ <field type="CARD16" name="source_char" />
+ <field type="CARD16" name="mask_char" />
+ <field type="CARD16" name="fore_red" />
+ <field type="CARD16" name="fore_green" />
+ <field type="CARD16" name="fore_blue" />
+ <field type="CARD16" name="back_red" />
+ <field type="CARD16" name="back_green" />
+ <field type="CARD16" name="back_blue" />
+ </request>
+
+ <request name="FreeCursor" opcode="95">
+ <pad bytes="1" />
+ <field type="CURSOR" name="cursor" />
+ </request>
+
+ <request name="RecolorCursor" opcode="96">
+ <pad bytes="1" />
+ <field type="CURSOR" name="cursor" />
+ <field type="CARD16" name="fore_red" />
+ <field type="CARD16" name="fore_green" />
+ <field type="CARD16" name="fore_blue" />
+ <field type="CARD16" name="back_red" />
+ <field type="CARD16" name="back_green" />
+ <field type="CARD16" name="back_blue" />
+ </request>
+
+ <enum name="QueryShapeOf">
+ <item name="LargestCursor"> <value>0</value></item>
+ <item name="FastestTile"> <value>1</value></item>
+ <item name="FastestStipple"><value>2</value></item>
+ </enum>
+
+ <request name="QueryBestSize" opcode="97">
+ <field type="CARD8" name="class" enum="QueryShapeOf" />
+ <field type="DRAWABLE" name="drawable" />
+ <field type="CARD16" name="width" />
+ <field type="CARD16" name="height" />
+ <reply>
+ <pad bytes="1" />
+ <field type="CARD16" name="width" />
+ <field type="CARD16" name="height" />
+ </reply>
+ </request>
+
+ <request name="QueryExtension" opcode="98">
+ <pad bytes="1" />
+ <field type="CARD16" name="name_len" />
+ <pad bytes="2" />
+ <list type="char" name="name">
+ <fieldref>name_len</fieldref>
+ </list>
+ <reply>
+ <pad bytes="1" />
+ <field type="BOOL" name="present" />
+ <field type="CARD8" name="major_opcode" />
+ <field type="CARD8" name="first_event" />
+ <field type="CARD8" name="first_error" />
+ </reply>
+ </request>
+
+ <request name="ListExtensions" opcode="99">
+ <reply>
+ <field type="CARD8" name="names_len" />
+ <pad bytes="24" />
+ <list type="STR" name="names">
+ <fieldref>names_len</fieldref>
+ </list>
+ </reply>
+ </request>
+
+ <request name="ChangeKeyboardMapping" opcode="100">
+ <field type="CARD8" name="keycode_count" />
+ <field type="KEYCODE" name="first_keycode" />
+ <field type="CARD8" name="keysyms_per_keycode" />
+ <list type="KEYSYM" name="keysyms">
+ <op op="*">
+ <fieldref>keycode_count</fieldref>
+ <fieldref>keysyms_per_keycode</fieldref>
+ </op>
+ </list>
+ </request>
+
+ <request name="GetKeyboardMapping" opcode="101">
+ <pad bytes="1" />
+ <field type="KEYCODE" name="first_keycode" />
+ <field type="CARD8" name="count" />
+ <reply>
+ <field type="BYTE" name="keysyms_per_keycode" />
+ <pad bytes="24" />
+ <list type="KEYSYM" name="keysyms">
+ <fieldref>length</fieldref>
+ </list>
+ </reply>
+ </request>
+
+ <enum name="KB">
+ <item name="KeyClickPercent"><bit>0</bit></item>
+ <item name="BellPercent"> <bit>1</bit></item>
+ <item name="BellPitch"> <bit>2</bit></item>
+ <item name="BellDuration"> <bit>3</bit></item>
+ <item name="Led"> <bit>4</bit></item>
+ <item name="LedMode"> <bit>5</bit></item>
+ <item name="Key"> <bit>6</bit></item>
+ <item name="AutoRepeatMode"> <bit>7</bit></item>
+ </enum>
+
+ <enum name="LedMode">
+ <item name="Off"><value>0</value></item>
+ <item name="On"> <value>1</value></item>
+ </enum>
+
+ <enum name="AutoRepeatMode">
+ <item name="Off"> <value>0</value></item>
+ <item name="On"> <value>1</value></item>
+ <item name="Default"><value>2</value></item>
+ </enum>
+
+ <request name="ChangeKeyboardControl" opcode="102">
+ <pad bytes="1" />
+ <valueparam value-mask-type="CARD32"
+ value-mask-name="value_mask"
+ value-list-name="value_list" />
+ </request>
+
+ <request name="GetKeyboardControl" opcode="103">
+ <reply>
+ <field type="BYTE" name="global_auto_repeat" enum="AutoRepeatMode" />
+ <field type="CARD32" name="led_mask" />
+ <field type="CARD8" name="key_click_percent" />
+ <field type="CARD8" name="bell_percent" />
+ <field type="CARD16" name="bell_pitch" />
+ <field type="CARD16" name="bell_duration" />
+ <pad bytes="2" />
+ <list type="CARD8" name="auto_repeats"><value>32</value></list>
+ </reply>
+ </request>
+
+ <request name="Bell" opcode="104">
+ <field type="INT8" name="percent" />
+ </request>
+
+ <request name="ChangePointerControl" opcode="105">
+ <pad bytes="1" />
+ <field type="INT16" name="acceleration_numerator" />
+ <field type="INT16" name="acceleration_denominator" />
+ <field type="INT16" name="threshold" />
+ <field type="BOOL" name="do_acceleration" />
+ <field type="BOOL" name="do_threshold" />
+ </request>
+
+ <request name="GetPointerControl" opcode="106">
+ <reply>
+ <pad bytes="1" />
+ <field type="CARD16" name="acceleration_numerator" />
+ <field type="CARD16" name="acceleration_denominator" />
+ <field type="CARD16" name="threshold" />
+ <pad bytes="18" />
+ </reply>
+ </request>
+
+ <!-- Screen saver timeout and interval can be set to -1 to restore defaults
+ and set to 0 to disable the screen saver. -->
+
+ <enum name="Blanking">
+ <item name="NotPreferred"><value>0</value></item>
+ <item name="Preferred"> <value>1</value></item>
+ <item name="Default"> <value>2</value></item>
+ </enum>
+
+ <enum name="Exposures">
+ <item name="NotAllowed"><value>0</value></item>
+ <item name="Allowed"> <value>1</value></item>
+ <item name="Default"> <value>2</value></item>
+ </enum>
+
+ <request name="SetScreenSaver" opcode="107">
+ <pad bytes="1" />
+ <field type="INT16" name="timeout" />
+ <field type="INT16" name="interval" />
+ <field type="CARD8" name="prefer_blanking" enum="Blanking" />
+ <field type="CARD8" name="allow_exposures" enum="Exposures" />
+ </request>
+
+ <request name="GetScreenSaver" opcode="108">
+ <reply>
+ <pad bytes="1" />
+ <field type="CARD16" name="timeout" />
+ <field type="CARD16" name="interval" />
+ <field type="BYTE" name="prefer_blanking" enum="Blanking" />
+ <field type="BYTE" name="allow_exposures" enum="Exposures" />
+ <pad bytes="18" />
+ </reply>
+ </request>
+
+ <enum name="HostMode">
+ <item name="Insert"><value>0</value></item>
+ <item name="Delete"><value>1</value></item>
+ </enum>
+
+ <!-- also used and extended for Xau authentication -->
+ <enum name="Family">
+ <item name="Internet"> <value>0</value></item>
+ <item name="DECnet"> <value>1</value></item>
+ <item name="Chaos"> <value>2</value></item>
+ <item name="ServerInterpreted"><value>5</value></item>
+ <item name="Internet6"> <value>6</value></item>
+ </enum>
+
+ <request name="ChangeHosts" opcode="109">
+ <field type="CARD8" name="mode" enum="HostMode" />
+ <field type="CARD8" name="family" enum="Family" />
+ <pad bytes="1" />
+ <field type="CARD16" name="address_len" />
+ <list type="char" name="address">
+ <fieldref>address_len</fieldref>
+ </list>
+ </request>
+
+ <struct name="HOST">
+ <field type="CARD8" name="family" enum="Family" />
+ <pad bytes="1" />
+ <field type="CARD16" name="address_len" />
+ <list type="BYTE" name="address">
+ <fieldref>address_len</fieldref>
+ </list>
+ </struct>
+
+ <request name="ListHosts" opcode="110">
+ <reply>
+ <field type="BYTE" name="mode" enum="AccessControl" />
+ <field type="CARD16" name="hosts_len" />
+ <pad bytes="22" />
+ <list type="HOST" name="hosts">
+ <fieldref>hosts_len</fieldref>
+ </list>
+ </reply>
+ </request>
+
+ <enum name="AccessControl">
+ <item name="Disable"><value>0</value></item>
+ <item name="Enable"> <value>1</value></item>
+ </enum>
+
+ <request name="SetAccessControl" opcode="111">
+ <field type="CARD8" name="mode" enum="AccessControl" />
+ </request>
+
+ <enum name="CloseDown">
+ <item name="DestroyAll"> <value>0</value></item>
+ <item name="RetainPermanent"><value>1</value></item>
+ <item name="RetainTemporary"><value>2</value></item>
+ </enum>
+
+ <request name="SetCloseDownMode" opcode="112">
+ <field type="CARD8" name="mode" enum="CloseDown" />
+ </request>
+
+ <enum name="Kill">
+ <item name="AllTemporary"><value>0</value></item>
+ </enum>
+
+ <request name="KillClient" opcode="113">
+ <pad bytes="1" />
+ <field type="CARD32" name="resource" altenum="Kill" />
+ </request>
+
+ <request name="RotateProperties" opcode="114">
+ <pad bytes="1" />
+ <field type="WINDOW" name="window" />
+ <field type="CARD16" name="atoms_len" />
+ <field type="INT16" name="delta" />
+ <list type="ATOM" name="atoms">
+ <fieldref>atoms_len</fieldref>
+ </list>
+ </request>
+
+ <enum name="ScreenSaver">
+ <item name="Reset"> <value>0</value></item>
+ <item name="Active"><value>1</value></item>
+ </enum>
+
+ <request name="ForceScreenSaver" opcode="115">
+ <field type="CARD8" name="mode" enum="ScreenSaver" />
+ </request>
+
+ <!-- Reply from SetPointerMapping or SetModifierMapping -->
+ <enum name="MappingStatus">
+ <item name="Success"><value>0</value></item>
+ <item name="Busy"> <value>1</value></item>
+ <item name="Failure"><value>2</value></item>
+ </enum>
+
+ <request name="SetPointerMapping" opcode="116">
+ <field type="CARD8" name="map_len" />
+ <list type="CARD8" name="map">
+ <fieldref>map_len</fieldref>
+ </list>
+ <reply>
+ <field type="BYTE" name="status" enum="MappingStatus" />
+ </reply>
+ </request>
+
+ <request name="GetPointerMapping" opcode="117">
+ <reply>
+ <field type="CARD8" name="map_len" />
+ <pad bytes="24" />
+ <list type="CARD8" name="map">
+ <fieldref>map_len</fieldref>
+ </list>
+ </reply>
+ </request>
+
+ <enum name="MapIndex">
+ <item name="Shift"> <value>0</value></item>
+ <item name="Lock"> <value>1</value></item>
+ <item name="Control"><value>2</value></item>
+ <item name="1"> <value>3</value></item>
+ <item name="2"> <value>4</value></item>
+ <item name="3"> <value>5</value></item>
+ <item name="4"> <value>6</value></item>
+ <item name="5"> <value>7</value></item>
+ </enum>
+
+ <request name="SetModifierMapping" opcode="118">
+ <field type="CARD8" name="keycodes_per_modifier" />
+ <list type="KEYCODE" name="keycodes">
+ <op op="*">
+ <fieldref>keycodes_per_modifier</fieldref>
+ <value>8</value>
+ </op>
+ </list>
+ <reply>
+ <field type="BYTE" name="status" enum="MappingStatus" />
+ </reply>
+ </request>
+
+ <request name="GetModifierMapping" opcode="119">
+ <reply>
+ <field type="CARD8" name="keycodes_per_modifier" />
+ <pad bytes="24" />
+ <list type="KEYCODE" name="keycodes">
+ <op op="*">
+ <fieldref>keycodes_per_modifier</fieldref>
+ <value>8</value>
+ </op>
+ </list>
+ </reply>
+ </request>
+
+ <!--
+ FIXME: NoOperation should allow specifying payload length
+ but geez, malloc()ing a 262140 byte buffer just so I have something
+ to hand to write(2) seems silly...!
+ -->
+ <request name="NoOperation" opcode="127" />
+
+</xcb>
diff --git a/pixman/configure.ac b/pixman/configure.ac
index a4e5e9316..c723337a9 100644
--- a/pixman/configure.ac
+++ b/pixman/configure.ac
@@ -54,7 +54,7 @@ AC_PREREQ([2.57])
m4_define([pixman_major], 0)
m4_define([pixman_minor], 19)
-m4_define([pixman_micro], 5)
+m4_define([pixman_micro], 7)
m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro])
diff --git a/pixman/pixman/pixman-image.c b/pixman/pixman/pixman-image.c
index 17d87216e..ac7bccc5d 100644
--- a/pixman/pixman/pixman-image.c
+++ b/pixman/pixman/pixman-image.c
@@ -48,7 +48,6 @@ _pixman_init_gradient (gradient_t * gradient,
gradient->n_stops = n_stops;
gradient->stop_range = 0xffff;
- gradient->common.class = SOURCE_IMAGE_CLASS_UNKNOWN;
return TRUE;
}
diff --git a/pixman/pixman/pixman-linear-gradient.c b/pixman/pixman/pixman-linear-gradient.c
index 20a8b7827..9ccb688ff 100644
--- a/pixman/pixman/pixman-linear-gradient.c
+++ b/pixman/pixman/pixman-linear-gradient.c
@@ -1,3 +1,4 @@
+/* -*- Mode: c; c-basic-offset: 4; tab-width: 8; indent-tabs-mode: t; -*- */
/*
* Copyright © 2000 SuSE, Inc.
* Copyright © 2007 Red Hat, Inc.
@@ -37,58 +38,58 @@ linear_gradient_classify (pixman_image_t *image,
int width,
int height)
{
+ source_image_t *source = (source_image_t *)image;
linear_gradient_t *linear = (linear_gradient_t *)image;
pixman_vector_t v;
pixman_fixed_32_32_t l;
- pixman_fixed_48_16_t dx, dy, a, b, off;
- pixman_fixed_48_16_t factors[4];
- int i;
-
- image->source.class = SOURCE_IMAGE_CLASS_UNKNOWN;
+ pixman_fixed_48_16_t dx, dy;
+ double inc;
+ source_image_class_t class;
- dx = linear->p2.x - linear->p1.x;
- dy = linear->p2.y - linear->p1.y;
+ class = SOURCE_IMAGE_CLASS_UNKNOWN;
- l = dx * dx + dy * dy;
-
- if (l)
+ if (source->common.transform)
{
- a = (dx << 32) / l;
- b = (dy << 32) / l;
+ /* projective transformation */
+ if (source->common.transform->matrix[2][0] != 0 ||
+ source->common.transform->matrix[2][1] != 0 ||
+ source->common.transform->matrix[2][2] == 0)
+ {
+ return class;
+ }
+
+ v.vector[0] = source->common.transform->matrix[0][1];
+ v.vector[1] = source->common.transform->matrix[1][1];
+ v.vector[2] = source->common.transform->matrix[2][2];
}
else
{
- a = b = 0;
+ v.vector[0] = 0;
+ v.vector[1] = pixman_fixed_1;
+ v.vector[2] = pixman_fixed_1;
}
- off = (-a * linear->p1.x
- -b * linear->p1.y) >> 16;
-
- for (i = 0; i < 3; i++)
- {
- v.vector[0] = pixman_int_to_fixed ((i % 2) * (width - 1) + x);
- v.vector[1] = pixman_int_to_fixed ((i / 2) * (height - 1) + y);
- v.vector[2] = pixman_fixed_1;
+ dx = linear->p2.x - linear->p1.x;
+ dy = linear->p2.y - linear->p1.y;
- if (image->common.transform)
- {
- if (!pixman_transform_point_3d (image->common.transform, &v))
- {
- image->source.class = SOURCE_IMAGE_CLASS_UNKNOWN;
+ l = dx * dx + dy * dy;
- return image->source.class;
- }
- }
+ if (l == 0)
+ return class;
- factors[i] = ((a * v.vector[0] + b * v.vector[1]) >> 16) + off;
- }
+ /*
+ * compute how much the input of the gradient walked changes
+ * when moving vertically through the whole image
+ */
+ inc = height * (double) pixman_fixed_1 * pixman_fixed_1 *
+ (dx * v.vector[0] + dy * v.vector[1]) /
+ (v.vector[2] * (double) l);
- if (factors[2] == factors[0])
- image->source.class = SOURCE_IMAGE_CLASS_HORIZONTAL;
- else if (factors[1] == factors[0])
- image->source.class = SOURCE_IMAGE_CLASS_VERTICAL;
+ /* check that casting to integer would result in 0 */
+ if (-1 < inc && inc < 1)
+ class = SOURCE_IMAGE_CLASS_HORIZONTAL;
- return image->source.class;
+ return class;
}
static void
@@ -101,7 +102,7 @@ linear_gradient_get_scanline_32 (pixman_image_t *image,
{
pixman_vector_t v, unit;
pixman_fixed_32_32_t l;
- pixman_fixed_48_16_t dx, dy, a, b, off;
+ pixman_fixed_48_16_t dx, dy;
gradient_t *gradient = (gradient_t *)image;
source_image_t *source = (source_image_t *)image;
linear_gradient_t *linear = (linear_gradient_t *)image;
@@ -136,31 +137,31 @@ linear_gradient_get_scanline_32 (pixman_image_t *image,
l = dx * dx + dy * dy;
- if (l != 0)
+ if (l == 0 || unit.vector[2] == 0)
{
- a = (dx << 32) / l;
- b = (dy << 32) / l;
- off = (-a * linear->p1.x
- -b * linear->p1.y) >> 16;
- }
-
- if (l == 0 || (unit.vector[2] == 0 && v.vector[2] == pixman_fixed_1))
- {
- pixman_fixed_48_16_t inc, t;
-
/* affine transformation only */
- if (l == 0)
+ pixman_fixed_32_32_t t, next_inc;
+ double inc;
+
+ if (l == 0 || v.vector[2] == 0)
{
t = 0;
inc = 0;
}
else
{
- t = ((a * v.vector[0] + b * v.vector[1]) >> 16) + off;
- inc = (a * unit.vector[0] + b * unit.vector[1]) >> 16;
+ double invden, v2;
+
+ invden = pixman_fixed_1 * (double) pixman_fixed_1 /
+ (l * (double) v.vector[2]);
+ v2 = v.vector[2] * (1. / pixman_fixed_1);
+ t = ((dx * v.vector[0] + dy * v.vector[1]) -
+ (dx * linear->p1.x + dy * linear->p1.y) * v2) * invden;
+ inc = (dx * unit.vector[0] + dy * unit.vector[1]) * invden;
}
+ next_inc = 0;
- if (source->class == SOURCE_IMAGE_CLASS_VERTICAL)
+ if (((pixman_fixed_32_32_t )(inc * width)) == 0)
{
register uint32_t color;
@@ -170,81 +171,52 @@ linear_gradient_get_scanline_32 (pixman_image_t *image,
}
else
{
- if (!mask)
- {
- while (buffer < end)
- {
- *buffer++ = _pixman_gradient_walker_pixel (&walker, t);
-
- t += inc;
- }
- }
- else
+ int i;
+
+ i = 0;
+ while (buffer < end)
{
- while (buffer < end)
+ if (!mask || *mask++)
{
- if (*mask++)
- *buffer = _pixman_gradient_walker_pixel (&walker, t);
-
- buffer++;
- t += inc;
+ *buffer = _pixman_gradient_walker_pixel (&walker,
+ t + next_inc);
}
+ i++;
+ next_inc = inc * i;
+ buffer++;
}
}
}
else
{
/* projective transformation */
- pixman_fixed_48_16_t t;
-
- if (source->class == SOURCE_IMAGE_CLASS_VERTICAL)
- {
- register uint32_t color;
+ double t;
- if (v.vector[2] == 0)
- {
- t = 0;
- }
- else
- {
- pixman_fixed_48_16_t x, y;
+ t = 0;
- x = ((pixman_fixed_48_16_t) v.vector[0] << 16) / v.vector[2];
- y = ((pixman_fixed_48_16_t) v.vector[1] << 16) / v.vector[2];
- t = ((a * x + b * y) >> 16) + off;
- }
-
- color = _pixman_gradient_walker_pixel (&walker, t);
- while (buffer < end)
- *buffer++ = color;
- }
- else
+ while (buffer < end)
{
- while (buffer < end)
+ if (!mask || *mask++)
{
- if (!mask || *mask++)
+ if (v.vector[2] != 0)
{
- if (v.vector[2] == 0)
- {
- t = 0;
- }
- else
- {
- pixman_fixed_48_16_t x, y;
- x = ((pixman_fixed_48_16_t)v.vector[0] << 16) / v.vector[2];
- y = ((pixman_fixed_48_16_t)v.vector[1] << 16) / v.vector[2];
- t = ((a * x + b * y) >> 16) + off;
- }
-
- *buffer = _pixman_gradient_walker_pixel (&walker, t);
- }
+ double invden, v2;
- ++buffer;
+ invden = pixman_fixed_1 * (double) pixman_fixed_1 /
+ (l * (double) v.vector[2]);
+ v2 = v.vector[2] * (1. / pixman_fixed_1);
+ t = ((dx * v.vector[0] + dy * v.vector[1]) -
+ (dx * linear->p1.x + dy * linear->p1.y) * v2) * invden;
+ }
- v.vector[0] += unit.vector[0];
- v.vector[1] += unit.vector[1];
- v.vector[2] += unit.vector[2];
+ *buffer = _pixman_gradient_walker_pixel (&walker, t);
}
+
+ ++buffer;
+
+ v.vector[0] += unit.vector[0];
+ v.vector[1] += unit.vector[1];
+ v.vector[2] += unit.vector[2];
}
}
}
@@ -282,7 +254,6 @@ pixman_image_create_linear_gradient (pixman_point_fixed_t * p1,
linear->p2 = *p2;
image->type = LINEAR;
- image->source.class = SOURCE_IMAGE_CLASS_UNKNOWN;
image->common.classify = linear_gradient_classify;
image->common.property_changed = linear_gradient_property_changed;
diff --git a/pixman/pixman/pixman-private.h b/pixman/pixman/pixman-private.h
index e756bdbed..b0faf2c08 100644
--- a/pixman/pixman/pixman-private.h
+++ b/pixman/pixman/pixman-private.h
@@ -65,7 +65,6 @@ typedef enum
{
SOURCE_IMAGE_CLASS_UNKNOWN,
SOURCE_IMAGE_CLASS_HORIZONTAL,
- SOURCE_IMAGE_CLASS_VERTICAL,
} source_image_class_t;
typedef source_image_class_t (*classify_func_t) (pixman_image_t *image,
@@ -112,7 +111,6 @@ struct image_common
struct source_image
{
image_common_t common;
- source_image_class_t class;
};
struct solid_fill
diff --git a/pixman/pixman/pixman-radial-gradient.c b/pixman/pixman/pixman-radial-gradient.c
index bc4a13412..2d9e46a39 100644
--- a/pixman/pixman/pixman-radial-gradient.c
+++ b/pixman/pixman/pixman-radial-gradient.c
@@ -290,10 +290,11 @@ radial_gradient_get_scanline_32 (pixman_image_t *image,
db = dot (unit.vector[0], unit.vector[1], 0,
radial->delta.x, radial->delta.y, 0);
- c = dot (v.vector[0], v.vector[1], -radial->c1.radius,
+ c = dot (v.vector[0], v.vector[1],
+ -((pixman_fixed_48_16_t) radial->c1.radius),
v.vector[0], v.vector[1], radial->c1.radius);
- dc = dot (2 * v.vector[0] + unit.vector[0],
- 2 * v.vector[1] + unit.vector[1],
+ dc = dot (2 * (pixman_fixed_48_16_t) v.vector[0] + unit.vector[0],
+ 2 * (pixman_fixed_48_16_t) v.vector[1] + unit.vector[1],
0,
unit.vector[0], unit.vector[1], 0);
ddc = 2 * dot (unit.vector[0], unit.vector[1], 0,
diff --git a/pixman/pixman/pixman-solid-fill.c b/pixman/pixman/pixman-solid-fill.c
index 89dcfe3b6..afff3c479 100644
--- a/pixman/pixman/pixman-solid-fill.c
+++ b/pixman/pixman/pixman-solid-fill.c
@@ -66,7 +66,7 @@ solid_fill_classify (pixman_image_t *image,
int width,
int height)
{
- return (image->source.class = SOURCE_IMAGE_CLASS_HORIZONTAL);
+ return SOURCE_IMAGE_CLASS_HORIZONTAL;
}
static void
@@ -109,7 +109,6 @@ pixman_image_create_solid_fill (pixman_color_t *color)
img->solid.color_32 = color_to_uint32 (color);
img->solid.color_64 = color_to_uint64 (color);
- img->source.class = SOURCE_IMAGE_CLASS_UNKNOWN;
img->common.classify = solid_fill_classify;
img->common.property_changed = solid_fill_property_changed;
diff --git a/xorg-server/damageext/damageext.c b/xorg-server/damageext/damageext.c
index d4301f10b..fb60e7f72 100644
--- a/xorg-server/damageext/damageext.c
+++ b/xorg-server/damageext/damageext.c
@@ -217,7 +217,6 @@ ProcDamageCreate (ClientPtr client)
if (!AddResource (stuff->damage, DamageExtType, (pointer) pDamageExt))
return BadAlloc;
- DamageSetReportAfterOp (pDamageExt->pDamage, TRUE);
DamageRegister (pDamageExt->pDrawable, pDamageExt->pDamage);
if (pDrawable->type == DRAWABLE_WINDOW)