diff options
author | marha <marha@users.sourceforge.net> | 2015-02-22 21:39:56 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2015-02-22 21:39:56 +0100 |
commit | 462f18c7b25fe3e467f837647d07ab0a78aa8d2b (patch) | |
tree | fc8013c0a1bac05a1945846c1697e973f4c35013 /libxcb/xcb-proto/src | |
parent | 36f711ee12b6dd5184198abed3aa551efb585587 (diff) | |
download | vcxsrv-462f18c7b25fe3e467f837647d07ab0a78aa8d2b.tar.gz vcxsrv-462f18c7b25fe3e467f837647d07ab0a78aa8d2b.tar.bz2 vcxsrv-462f18c7b25fe3e467f837647d07ab0a78aa8d2b.zip |
Merged origin/release (checked in because wanted to merge new stuff)
Diffstat (limited to 'libxcb/xcb-proto/src')
-rw-r--r-- | libxcb/xcb-proto/src/present.xml | 10 | ||||
-rw-r--r-- | libxcb/xcb-proto/src/render.xml | 118 | ||||
-rw-r--r-- | libxcb/xcb-proto/src/screensaver.xml | 68 | ||||
-rw-r--r-- | libxcb/xcb-proto/src/xcb.xsd | 24 | ||||
-rw-r--r-- | libxcb/xcb-proto/src/xfixes.xml | 2 | ||||
-rw-r--r-- | libxcb/xcb-proto/src/xinput.xml | 527 | ||||
-rw-r--r-- | libxcb/xcb-proto/src/xprint.xml | 13 | ||||
-rw-r--r-- | libxcb/xcb-proto/src/xproto.xml | 414 |
8 files changed, 982 insertions, 194 deletions
diff --git a/libxcb/xcb-proto/src/present.xml b/libxcb/xcb-proto/src/present.xml index a9adc2ba8..95fee0181 100644 --- a/libxcb/xcb-proto/src/present.xml +++ b/libxcb/xcb-proto/src/present.xml @@ -199,7 +199,15 @@ OF THIS SOFTWARE. <field type="CARD64" name="target_msc" /> <field type="CARD64" name="divisor" /> <field type="CARD64" name="remainder" /> - <list type="Notify" name="notifies"/> + <list type="Notify" name="notifies"> + <op op="/"> + <op op="-"> + <fieldref>length</fieldref> + <value>18</value> + </op> + <value>2</value> + </op> + </list> </event> </xcb> diff --git a/libxcb/xcb-proto/src/render.xml b/libxcb/xcb-proto/src/render.xml index 55b73f7b8..c54608e72 100644 --- a/libxcb/xcb-proto/src/render.xml +++ b/libxcb/xcb-proto/src/render.xml @@ -280,16 +280,122 @@ for licensing information. <field type="PICTURE" name="pid" /> <field type="DRAWABLE" name="drawable" /> <field type="PICTFORMAT" name="format" /> - <valueparam value-mask-type="CARD32" - value-mask-name="value_mask" - value-list-name="value_list" /> + <field type="CARD32" name="value_mask" mask="CP"/> + <switch name="value_list"> + <fieldref>value_mask</fieldref> + <bitcase> + <enumref ref="CP">Repeat</enumref> + <field type="CARD32" name="repeat" enum="Repeat"/> + </bitcase> + <bitcase> + <enumref ref="CP">AlphaMap</enumref> + <field type="PICTURE" name="alphamap" /> + </bitcase> + <bitcase> + <enumref ref="CP">AlphaXOrigin</enumref> + <field type="INT32" name="alphaxorigin" /> + </bitcase> + <bitcase> + <enumref ref="CP">AlphaYOrigin</enumref> + <field type="INT32" name="alphayorigin" /> + </bitcase> + <bitcase> + <enumref ref="CP">ClipXOrigin</enumref> + <field type="INT32" name="clipxorigin" /> + </bitcase> + <bitcase> + <enumref ref="CP">ClipYOrigin</enumref> + <field type="INT32" name="clipyorigin" /> + </bitcase> + <bitcase> + <enumref ref="CP">ClipMask</enumref> + <field type="PIXMAP" name="clipmask" /> + </bitcase> + <bitcase> + <enumref ref="CP">GraphicsExposure</enumref> + <field type="CARD32" name="graphicsexposure" /> + </bitcase> + <bitcase> + <enumref ref="CP">SubwindowMode</enumref> + <field type="CARD32" name="subwindowmode" enum="SubwindowMode"/> + </bitcase> + <bitcase> + <enumref ref="CP">PolyEdge</enumref> + <field type="CARD32" name="polyedge" enum="PolyEdge"/> + </bitcase> + <bitcase> + <enumref ref="CP">PolyMode</enumref> + <field type="CARD32" name="polymode" enum="PolyMode"/> + </bitcase> + <bitcase> + <enumref ref="CP">Dither</enumref> + <field type="ATOM" name="dither" /> + </bitcase> + <bitcase> + <enumref ref="CP">ComponentAlpha</enumref> + <field type="CARD32" name="componentalpha" /> + </bitcase> + </switch> </request> <request name="ChangePicture" opcode="5"> <field type="PICTURE" name="picture" /> - <valueparam value-mask-type="CARD32" - value-mask-name="value_mask" - value-list-name="value_list" /> + <field type="CARD32" name="value_mask" mask="CP"/> + <switch name="value_list"> + <fieldref>value_mask</fieldref> + <bitcase> + <enumref ref="CP">Repeat</enumref> + <field type="CARD32" name="repeat" enum="Repeat"/> + </bitcase> + <bitcase> + <enumref ref="CP">AlphaMap</enumref> + <field type="PICTURE" name="alphamap" /> + </bitcase> + <bitcase> + <enumref ref="CP">AlphaXOrigin</enumref> + <field type="INT32" name="alphaxorigin" /> + </bitcase> + <bitcase> + <enumref ref="CP">AlphaYOrigin</enumref> + <field type="INT32" name="alphayorigin" /> + </bitcase> + <bitcase> + <enumref ref="CP">ClipXOrigin</enumref> + <field type="INT32" name="clipxorigin" /> + </bitcase> + <bitcase> + <enumref ref="CP">ClipYOrigin</enumref> + <field type="INT32" name="clipyorigin" /> + </bitcase> + <bitcase> + <enumref ref="CP">ClipMask</enumref> + <field type="PIXMAP" name="clipmask" /> + </bitcase> + <bitcase> + <enumref ref="CP">GraphicsExposure</enumref> + <field type="CARD32" name="graphicsexposure" /> + </bitcase> + <bitcase> + <enumref ref="CP">SubwindowMode</enumref> + <field type="CARD32" name="subwindowmode" enum="SubwindowMode"/> + </bitcase> + <bitcase> + <enumref ref="CP">PolyEdge</enumref> + <field type="CARD32" name="polyedge" enum="PolyEdge"/> + </bitcase> + <bitcase> + <enumref ref="CP">PolyMode</enumref> + <field type="CARD32" name="polymode" enum="PolyMode"/> + </bitcase> + <bitcase> + <enumref ref="CP">Dither</enumref> + <field type="ATOM" name="dither" /> + </bitcase> + <bitcase> + <enumref ref="CP">ComponentAlpha</enumref> + <field type="CARD32" name="componentalpha" /> + </bitcase> + </switch> </request> <request name="SetPictureClipRectangles" opcode="6"> diff --git a/libxcb/xcb-proto/src/screensaver.xml b/libxcb/xcb-proto/src/screensaver.xml index 491869e81..8d5abb43d 100644 --- a/libxcb/xcb-proto/src/screensaver.xml +++ b/libxcb/xcb-proto/src/screensaver.xml @@ -95,9 +95,71 @@ Draft Standard Version 1.1 <field type="BYTE" name="class" enum="WindowClass"/> <field type="CARD8" name="depth"/> <field type="VISUALID" name="visual"/> - <valueparam value-mask-type="CARD32" - value-mask-name="value_mask" - value-list-name="value_list" /> + <field type="CARD32" name="value_mask" mask="CW" /> + <switch name="value_list"> + <fieldref>value_mask</fieldref> + <bitcase> + <enumref ref="CW">BackPixmap</enumref> + <field type="PIXMAP" name="background_pixmap" altenum="BackPixmap"/> + </bitcase> + <bitcase> + <enumref ref="CW">BackPixel</enumref> + <field type="CARD32" name="background_pixel" /> + </bitcase> + <bitcase> + <enumref ref="CW">BorderPixmap</enumref> + <field type="PIXMAP" name="border_pixmap" altenum="Pixmap"/> + </bitcase> + <bitcase> + <enumref ref="CW">BorderPixel</enumref> + <field type="CARD32" name="border_pixel" /> + </bitcase> + <bitcase> + <enumref ref="CW">BitGravity</enumref> + <field type="CARD32" name="bit_gravity" enum="Gravity"/> + </bitcase> + <bitcase> + <enumref ref="CW">WinGravity</enumref> + <field type="CARD32" name="win_gravity" enum="Gravity"/> + </bitcase> + <bitcase> + <enumref ref="CW">BackingStore</enumref> + <field type="CARD32" name="backing_store" enum="BackingStore"/> + </bitcase> + <bitcase> + <enumref ref="CW">BackingPlanes</enumref> + <field type="CARD32" name="backing_planes" /> + </bitcase> + <bitcase> + <enumref ref="CW">BackingPixel</enumref> + <field type="CARD32" name="backing_pixel" /> + </bitcase> + <bitcase> + <enumref ref="CW">OverrideRedirect</enumref> + <field type="BOOL32" name="override_redirect" /> + </bitcase> + <bitcase> + <enumref ref="CW">SaveUnder</enumref> + <field type="BOOL32" name="save_under" /> + </bitcase> + <bitcase> + <enumref ref="CW">EventMask</enumref> + <field type="CARD32" name="event_mask" mask="EventMask"/> + </bitcase> + <bitcase> + <enumref ref="CW">DontPropagate</enumref> + <field type="CARD32" name="do_not_propogate_mask" mask="EventMask"/> + </bitcase> + <bitcase> + <enumref ref="CW">Colormap</enumref> + <field type="COLORMAP" name="colormap" altenum="Colormap"/> + </bitcase> + <bitcase> + <enumref ref="CW">Cursor</enumref> + <field type="CURSOR" name="cursor" altenum="Cursor"/> + </bitcase> + </switch> + </request> <request name="UnsetAttributes" opcode="4"> diff --git a/libxcb/xcb-proto/src/xcb.xsd b/libxcb/xcb-proto/src/xcb.xsd index 85f5bc2af..c1dce3e1e 100644 --- a/libxcb/xcb-proto/src/xcb.xsd +++ b/libxcb/xcb-proto/src/xcb.xsd @@ -146,6 +146,15 @@ authorization from the authors. </xsd:complexType> </xsd:element> <xsd:element name="fieldref" type="xsd:string" /> + <xsd:element name="paramref"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="type" use="required" type="xsd:string" /> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> <xsd:element name="enumref"> <xsd:complexType> <xsd:simpleContent> @@ -162,9 +171,13 @@ authorization from the authors. </xsd:element> <xsd:element name="sumof"> <xsd:complexType> + <xsd:sequence> + <xsd:group ref="expression" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> <xsd:attribute name="ref" use="required" type="xsd:string" /> </xsd:complexType> </xsd:element> + <xsd:element name="listelement-ref" /> <xsd:element name="value" type="xsd:integer" /> <xsd:element name="bit" type="bitType" /> </xsd:choice> @@ -182,15 +195,6 @@ authorization from the authors. </xsd:complexType> </xsd:element> - <!-- BITMASK/LISTofVALUE parameter pairs. --> - <xsd:element name="valueparam"> - <xsd:complexType> - <xsd:attribute name="value-mask-type" type="xsd:string" use="required" /> - <xsd:attribute name="value-mask-name" type="xsd:string" use="required" /> - <xsd:attribute name="value-list-name" type="xsd:string" use="required" /> - </xsd:complexType> - </xsd:element> - <xsd:group name="fields"> <xsd:choice> <xsd:element ref="pad" /> @@ -296,7 +300,6 @@ authorization from the authors. <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:group ref="fields" /> <xsd:element ref="exprfield" /> - <xsd:element ref="valueparam" /> </xsd:choice> <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element ref="switch" /> @@ -306,7 +309,6 @@ authorization from the authors. <xsd:sequence> <xsd:choice minOccurs="1" maxOccurs="unbounded"> <xsd:group ref="fields" /> - <xsd:element ref="valueparam" /> </xsd:choice> <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element ref="switch" /> diff --git a/libxcb/xcb-proto/src/xfixes.xml b/libxcb/xcb-proto/src/xfixes.xml index c5cba352a..0a3d5ffee 100644 --- a/libxcb/xcb-proto/src/xfixes.xml +++ b/libxcb/xcb-proto/src/xfixes.xml @@ -291,13 +291,13 @@ authorization from the authors. <field type="ATOM" name="cursor_atom" altenum="Atom" /> <field type="CARD16" name="nbytes" /> <pad bytes="2" /> - <list type="char" name="name"><fieldref>nbytes</fieldref></list> <list type="CARD32" name="cursor_image"> <op op="*"> <fieldref>width</fieldref> <fieldref>height</fieldref> </op> </list> + <list type="char" name="name"><fieldref>nbytes</fieldref></list> </reply> </request> diff --git a/libxcb/xcb-proto/src/xinput.xml b/libxcb/xcb-proto/src/xinput.xml index 7f7b0a66d..c729f20fb 100644 --- a/libxcb/xcb-proto/src/xinput.xml +++ b/libxcb/xcb-proto/src/xinput.xml @@ -46,56 +46,10 @@ This will, e.g., be necessary for automatically generated byte-order conversion which will, e.g., be necessary for server-side xcb. This affects the following: -* GetFeedbackControl reply field "feedbacks" ( structs FeedbackState, ... ) -* ChangeFeedbackControl request field "feedback" ( structs FeedbackCtl, ... ) -* QueryDeviceState reply field "classes" ( structs InputState, ... ) -* GetDeviceControl reply field "control" ( structs DeviceState, ... ) -* ChangeDeviceControl request field "control" ( structs ChangeDeviceControl, ... ) -* XIChangeHierarchy request field "changes" ( structs HierarchyChange, ... ) -* struct XIDeviceInfo field "classes" ( structs DeviceClass, ... ) * SendExtensionEvent member "events" ***** -xml and generator have to support <popcount> of all members of a list - -This is needed for the following XI2-events ( and eventcopies thereof ) - KeyPress - ButtonPress - RawKeyPress - RawKeyPress - RawButtonPress - TouchBegin - RawTouchBegin - - -***** - -<sumof> should support fields of listmembers. - -This is needed for request "ListInputDevices" - -***** - -xml and generator should support -switch-case similar to switch-bitcase. - -(and maybe: variable sized unions with a mechanism to define -which union-field is selected.) - -One of these features is needed for the InputInfo type -which is used by request "ListInputDevices" for the list "input_infos". - -***** - -Parametrized structs - -This is needed for being able to use the value of the field -"num_axes" of the GetDeviceMotionEvents-reply -in struct DeviceTimeCoord. - -***** - --> @@ -217,6 +171,29 @@ in struct DeviceTimeCoord. <struct name="InputInfo"> <field type="CARD8" name="class_id" enum="InputClass" /> <field type="CARD8" name="len" /> + <switch name="info"> + <fieldref>class_id</fieldref> + <case name="key"> + <enumref ref="InputClass">Key</enumref> + <field type="KeyCode" name="min_keycode" /> + <field type="KeyCode" name="max_keycode" /> + <field type="CARD16" name="num_keys" /> + <pad bytes="2" /> + </case> + <case name="button"> + <enumref ref="InputClass">Button</enumref> + <field type="CARD16" name="num_buttons" /> + </case> + <case name="valuator"> + <enumref ref="InputClass">Valuator</enumref> + <field type="CARD8" name="axes_len" /> + <field type="CARD8" name="mode" enum="ValuatorMode" /> + <field type="CARD32" name="motion_size" /> + <list type="AxisInfo" name="axes"> + <fieldref>axes_len</fieldref> + </list> + </case> + </switch> </struct> <struct name="DeviceName"> @@ -234,9 +211,15 @@ in struct DeviceTimeCoord. <list type="DeviceInfo" name="devices"> <fieldref>devices_len</fieldref> </list> - <!-- Uninterpreted: list (infos) of InputInfo structures, - length is <sumof> all devices.num_class_info --> - <!-- Uninterpreted: list (name) of DeviceName structures --> + <list type="InputInfo" name="infos"> + <sumof ref="devices"> + <fieldref>num_class_info</fieldref> + </sumof> + </list> + <list type="STR" name="names"> + <fieldref>devices_len</fieldref> + </list> + <pad align="4" /> </reply> </request> @@ -346,8 +329,9 @@ in struct DeviceTimeCoord. <struct name="DeviceTimeCoord"> <field type="TIMESTAMP" name="time" /> - <!-- Uninterpreted: list (axisvalues) of INT32, - length is num_axes from GetDeviceMotionEvents --> + <list type="INT32" name="axisvalues"> + <paramref type="CARD8">num_axes</paramref> + </list> </struct> <request name="GetDeviceMotionEvents" opcode="10"> @@ -361,7 +345,9 @@ in struct DeviceTimeCoord. <field type="CARD8" name="num_axes" /> <field type="CARD8" name="device_mode" enum="ValuatorMode" /> <pad bytes="18" /> - <!-- Uninterpreted: list (events) of DeviceTimeCoord structures --> + <list type="DeviceTimeCoord" name="events"> + <fieldref>num_events</fieldref> + </list> </reply> </request> @@ -609,12 +595,56 @@ in struct DeviceTimeCoord. <field type="CARD8" name="class_id" enum="FeedbackClass" /> <field type="CARD8" name="feedback_id" /> <field type="CARD16" name="len" /> - <list type="CARD8" name="uninterpreted_data"> - <op op="-"> - <fieldref>len</fieldref> - <value>4</value> - </op> - </list> + <switch name="data"> + <fieldref>class_id</fieldref> + <case name="keyboard"> + <enumref ref="FeedbackClass">Keyboard</enumref> + <field type="CARD16" name="pitch" /> + <field type="CARD16" name="duration" /> + <field type="CARD32" name="led_mask" /> + <field type="CARD32" name="led_values" /> + <field type="BOOL" name="global_auto_repeat" /> + <field type="CARD8" name="click" /> + <field type="CARD8" name="percent" /> + <pad bytes="1" /> + <list type="CARD8" name="auto_repeats"> + <value>32</value> + </list> + </case> + <case name="pointer"> + <enumref ref="FeedbackClass">Pointer</enumref> + <pad bytes="2" /> + <field type="CARD16" name="accel_num" /> + <field type="CARD16" name="accel_denom" /> + <field type="CARD16" name="threshold" /> + </case> + <case name="string"> + <enumref ref="FeedbackClass">String</enumref> + <field type="CARD16" name="max_symbols" /> + <field type="CARD16" name="num_keysyms" /> + <list type="KEYSYM" name="keysyms"> + <fieldref>num_keysyms</fieldref> + </list> + </case> + <case name="integer"> + <enumref ref="FeedbackClass">Integer</enumref> + <field type="CARD32" name="resolution" /> + <field type="INT32" name="min_value" /> + <field type="INT32" name="max_value" /> + </case> + <case name="led"> + <enumref ref="FeedbackClass">Led</enumref> + <field type="CARD32" name="led_mask" /> + <field type="CARD32" name="led_values" /> + </case> + <case name="bell"> + <enumref ref="FeedbackClass">Bell</enumref> + <field type="CARD8" name="percent" /> + <pad bytes="3" /> + <field type="CARD16" name="pitch" /> + <field type="CARD16" name="duration" /> + </case> + </switch> </struct> <request name="GetFeedbackControl" opcode="22"> @@ -696,12 +726,51 @@ in struct DeviceTimeCoord. <field type="CARD8" name="class_id" enum="FeedbackClass" /> <field type="CARD8" name="feedback_id" /> <field type="CARD16" name="len" /> - <list type="CARD8" name="uninterpreted_data"> - <op op="-"> - <fieldref>len</fieldref> - <value>4</value> - </op> - </list> + <switch name="data"> + <fieldref>class_id</fieldref> + <case name="keyboard"> + <enumref ref="FeedbackClass">Keyboard</enumref> + <field type="KeyCode" name="key" /> + <field type="CARD8" name="auto_repeat_mode" /> + <field type="INT8" name="key_click_percent" /> + <field type="INT8" name="bell_percent" /> + <field type="INT16" name="bell_pitch" /> + <field type="INT16" name="bell_duration" /> + <field type="CARD32" name="led_mask" /> + <field type="CARD32" name="led_values" /> + </case> + <case name="pointer"> + <enumref ref="FeedbackClass">Pointer</enumref> + <pad bytes="2" /> + <field type="INT16" name="num" /> + <field type="INT16" name="denom" /> + <field type="INT16" name="threshold" /> + </case> + <case name="string"> + <enumref ref="FeedbackClass">String</enumref> + <pad bytes="2" /> + <field type="CARD16" name="num_keysyms" /> + <list type="KEYSYM" name="keysyms"> + <fieldref>num_keysyms</fieldref> + </list> + </case> + <case name="integer"> + <enumref ref="FeedbackClass">Integer</enumref> + <field type="INT32" name="int_to_display" /> + </case> + <case name="led"> + <enumref ref="FeedbackClass">Led</enumref> + <field type="CARD32" name="led_mask" /> + <field type="CARD32" name="led_values" /> + </case> + <case name="bell"> + <enumref ref="FeedbackClass">Bell</enumref> + <field type="INT8" name="percent" /> + <pad bytes="3" /> + <field type="INT16" name="pitch" /> + <field type="INT16" name="duration" /> + </case> + </switch> </struct> <enum name="ChangeFeedbackControlMask"> @@ -1025,12 +1094,53 @@ in struct DeviceTimeCoord. <struct name="DeviceState"> <field type="CARD16" name="control_id" enum="DeviceControl" /> <field type="CARD16" name="len" /> - <list type="CARD8" name="uninterpreted_data"> - <op op="-"> - <fieldref>len</fieldref> - <value>4</value> - </op> - </list> + <switch name="data"> + <fieldref>control_id</fieldref> + <case name="resolution"> + <enumref ref="DeviceControl">resolution</enumref> + <field type="CARD32" name="num_valuators" /> + <list type="CARD32" name="resolution_values"> + <fieldref>num_valuators</fieldref> + </list> + <list type="CARD32" name="resolution_min"> + <fieldref>num_valuators</fieldref> + </list> + <list type="CARD32" name="resolution_max"> + <fieldref>num_valuators</fieldref> + </list> + </case> + <case name="abs_calib"> + <enumref ref="DeviceControl">abs_calib</enumref> + <field type="INT32" name="min_x" /> + <field type="INT32" name="max_x" /> + <field type="INT32" name="min_y" /> + <field type="INT32" name="max_y" /> + <field type="CARD32" name="flip_x" /> + <field type="CARD32" name="flip_y" /> + <field type="CARD32" name="rotation" /> + <field type="CARD32" name="button_threshold" /> + </case> + <case name="core"> + <enumref ref="DeviceControl">core</enumref> + <field type="CARD8" name="status" /> + <field type="CARD8" name="iscore" /> + <pad bytes="2" /> + </case> + <case name="enable"> + <enumref ref="DeviceControl">enable</enumref> + <field type="CARD8" name="enable" /> + <pad bytes="3" /> + </case> + <case name="abs_area"> + <enumref ref="DeviceControl">abs_area</enumref> + <field type="CARD32" name="offset_x" /> + <field type="CARD32" name="offset_y" /> + <field type="CARD32" name="width" /> + <field type="CARD32" name="height" /> + <field type="CARD32" name="screen" /> + <field type="CARD32" name="following" /> + </case> + </switch> </struct> <request name="GetDeviceControl" opcode="34"> @@ -1099,12 +1209,48 @@ in struct DeviceTimeCoord. <struct name="DeviceCtl"> <field type="CARD16" name="control_id" enum="DeviceControl" /> <field type="CARD16" name="len" /> - <list type="CARD8" name="uninterpreted_data"> - <op op="-"> - <fieldref>len</fieldref> - <value>4</value> - </op> - </list> + <switch name="data"> + <fieldref>control_id</fieldref> + <case name="resolution"> + <enumref ref="DeviceControl">resolution</enumref> + <field type="CARD8" name="first_valuator" /> + <field type="CARD8" name="num_valuators" /> + <pad bytes="2" /> + <list type="CARD32" name="resolution_values"> + <fieldref>num_valuators</fieldref> + </list> + </case> + <case name="abs_calib"> + <enumref ref="DeviceControl">abs_calib</enumref> + <field type="INT32" name="min_x" /> + <field type="INT32" name="max_x" /> + <field type="INT32" name="min_y" /> + <field type="INT32" name="max_y" /> + <field type="CARD32" name="flip_x" /> + <field type="CARD32" name="flip_y" /> + <field type="CARD32" name="rotation" /> + <field type="CARD32" name="button_threshold" /> + </case> + <case name="core"> + <enumref ref="DeviceControl">core</enumref> + <field type="CARD8" name="status" /> + <pad bytes="3" /> + </case> + <case name="enable"> + <enumref ref="DeviceControl">enable</enumref> + <field type="CARD8" name="enable" /> + <pad bytes="3" /> + </case> + <case name="abs_area"> + <enumref ref="DeviceControl">abs_area</enumref> + <field type="CARD32" name="offset_x" /> + <field type="CARD32" name="offset_y" /> + <field type="INT32" name="width" /> + <field type="INT32" name="height" /> + <field type="INT32" name="screen" /> + <field type="CARD32" name="following" /> + </case> + </switch> </struct> <request name="ChangeDeviceControl" opcode="35"> @@ -1205,30 +1351,26 @@ in struct DeviceTimeCoord. <pad bytes="10" /> <switch name="items"> <fieldref>format</fieldref> - <!-- <bitcase> is not correct, this would need <cases>s. - It works in that case, because PropertyFormat items can be - distinguished exactly as their values don't have equal bits. - --> - <bitcase> + <case> <enumref ref="PropertyFormat">8Bits</enumref> <list type="CARD8" name="data8"> <fieldref>num_items</fieldref> </list> <pad align="4" /> - </bitcase> - <bitcase> + </case> + <case> <enumref ref="PropertyFormat">16Bits</enumref> <list type="CARD16" name="data16"> <fieldref>num_items</fieldref> </list> <pad align="4" /> - </bitcase> - <bitcase> + </case> + <case> <enumref ref="PropertyFormat">32Bits</enumref> <list type="CARD32" name="data32"> <fieldref>num_items</fieldref> </list> - </bitcase> + </case> </switch> </reply> </request> @@ -1356,15 +1498,37 @@ in struct DeviceTimeCoord. <struct name="HierarchyChange"> <field type="CARD16" name="type" enum="HierarchyChangeType" /> <field type="CARD16" name="len" /> - <list type="CARD8" name="uninterpreted_data"> - <op op="-"> - <op op="*"> - <fieldref>len</fieldref> - <value>4</value> - </op> - <value>4</value> - </op> - </list> + <switch name="data"> + <fieldref>type</fieldref> + <case name="add_master"> + <enumref ref="HierarchyChangeType">AddMaster</enumref> + <field type="CARD16" name="name_len" /> + <field type="BOOL" name="send_core" /> + <field type="BOOL" name="enable" /> + <list type="char" name="name"> + <fieldref>name_len</fieldref> + </list> + <pad align="4" /> + </case> + <case name="remove_master"> + <enumref ref="HierarchyChangeType">RemoveMaster</enumref> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="CARD8" name="return_mode" enum="ChangeMode" /> + <pad bytes="1" /> + <field type="DeviceId" name="return_pointer" altenum="Device" /> + <field type="DeviceId" name="return_keyboard" altenum="Device" /> + </case> + <case name="attach_slave"> + <enumref ref="HierarchyChangeType">AttachSlave</enumref> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="DeviceId" name="master" altenum="Device" /> + </case> + <case name="detach_slave"> + <enumref ref="HierarchyChangeType">DetachSlave</enumref> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <pad bytes="2" /> + </case> + </switch> </struct> <request name="XIChangeHierarchy" opcode="43"> @@ -1560,16 +1724,56 @@ in struct DeviceTimeCoord. <field type="CARD16" name="type" enum="DeviceClassType" /> <field type="CARD16" name="len" /> <field type="DeviceId" name="sourceid" /> - <pad bytes="2" /> - <list type="CARD8" name="uninterpreted_data"> - <op op="-"> - <op op="*"> - <fieldref>len</fieldref> - <value>4</value> - </op> - <value>8</value> - </op> - </list> + <switch name="data"> + <fieldref>type</fieldref> + <case name="key"> + <enumref ref="DeviceClassType">Key</enumref> + <field type="CARD16" name="num_keys" /> + <list type="CARD32" name="keys"> + <fieldref>num_keys</fieldref> + </list> + </case> + <case name="button"> + <enumref ref="DeviceClassType">Button</enumref> + <field type="CARD16" name="num_buttons" /> + <list type="CARD32" name="state"> + <op op="/"> + <op op="+"> + <fieldref>num_buttons</fieldref> + <value>31</value> + </op> + <value>32</value> + </op> + </list> + <list type="ATOM" name="labels"> + <fieldref>num_buttons</fieldref> + </list> + </case> + <case name="valuator"> + <enumref ref="DeviceClassType">Valuator</enumref> + <field type="CARD16" name="number" /> + <field type="ATOM" name="label" /> + <field type="FP3232" name="min" /> + <field type="FP3232" name="max" /> + <field type="FP3232" name="value" /> + <field type="CARD32" name="resolution" /> + <field type="CARD8" name="mode" enum="ValuatorMode" /> + <pad bytes="3" /> + </case> + <case name="scroll"> + <enumref ref="DeviceClassType">Scroll</enumref> + <field type="CARD16" name="number" /> + <field type="CARD16" name="scroll_type" enum="ScrollType" /> + <pad bytes="2" /> + <field type="CARD32" name="flags" mask="ScrollFlags" /> + <field type="FP3232" name="increment" /> + </case> + <case name="touch"> + <enumref ref="DeviceClassType">Touch</enumref> + <field type="CARD8" name="mode" enum="TouchMode" /> + <field type="CARD8" name="num_touches" /> + </case> + </switch> </struct> <struct name="XIDeviceInfo"> @@ -1776,28 +1980,24 @@ in struct DeviceTimeCoord. <field type="CARD32" name="num_items" /> <switch name="items"> <fieldref>format</fieldref> - <!-- <bitcase> is not correct, this would need <cases>s. - It works in that case, because PropertyFormat items can be - distinguished exactly as their values don't have equal bits. - --> - <bitcase> + <case> <enumref ref="PropertyFormat">8Bits</enumref> <list type="CARD8" name="data8"> <fieldref>num_items</fieldref> </list> - </bitcase> - <bitcase> + </case> + <case> <enumref ref="PropertyFormat">16Bits</enumref> <list type="CARD16" name="data16"> <fieldref>num_items</fieldref> </list> - </bitcase> - <bitcase> + </case> + <case> <enumref ref="PropertyFormat">32Bits</enumref> <list type="CARD32" name="data32"> <fieldref>num_items</fieldref> </list> - </bitcase> + </case> </switch> </request> @@ -1828,30 +2028,26 @@ in struct DeviceTimeCoord. <pad bytes="11" /> <switch name="items"> <fieldref>format</fieldref> - <!-- <bitcase> is not correct, this would need <cases>s. - It works in that case, because PropertyFormat items can be - distinguished exactly as their values don't have equal bits. - --> - <bitcase> + <case> <enumref ref="PropertyFormat">8Bits</enumref> <list type="CARD8" name="data8"> <fieldref>num_items</fieldref> </list> <pad align="4" /> - </bitcase> - <bitcase> + </case> + <case> <enumref ref="PropertyFormat">16Bits</enumref> <list type="CARD16" name="data16"> <fieldref>num_items</fieldref> </list> <pad align="4" /> - </bitcase> - <bitcase> + </case> + <case> <enumref ref="PropertyFormat">32Bits</enumref> <list type="CARD32" name="data32"> <fieldref>num_items</fieldref> </list> - </bitcase> + </case> </switch> </reply> </request> @@ -2092,8 +2288,13 @@ in struct DeviceTimeCoord. <list type="CARD32" name="valuator_mask"> <fieldref>valuators_len</fieldref> </list> - <!-- Uninterpreted: list (axisvalues) of FP3232, - length is <popcount> on valuator_mask list --> + <list type="FP3232" name="axisvalues"> + <sumof ref="valuator_mask"> + <popcount> + <listelement-ref/> + </popcount> + </sumof> + </list> </event> <eventcopy name="KeyRelease" number="3" ref="KeyPress" /> @@ -2128,8 +2329,13 @@ in struct DeviceTimeCoord. <list type="CARD32" name="valuator_mask"> <fieldref>valuators_len</fieldref> </list> - <!-- Uninterpreted: list (axisvalues) of FP3232, - length is <popcount> on valuator_mask list --> + <list type="FP3232" name="axisvalues"> + <sumof ref="valuator_mask"> + <popcount> + <listelement-ref/> + </popcount> + </sumof> + </list> </event> <eventcopy name="ButtonRelease" number="5" ref="ButtonPress" /> @@ -2248,10 +2454,20 @@ in struct DeviceTimeCoord. <list type="CARD32" name="valuator_mask"> <fieldref>valuators_len</fieldref> </list> - <!-- Uninterpreted: list (axisvalues) of FP3232, - length is <popcount> on valuator_mask list --> - <!-- Uninterpreted: list (axisvalues_raw) of FP3232, - length is <popcount> on valuator_mask list --> + <list type="FP3232" name="axisvalues"> + <sumof ref="valuator_mask"> + <popcount> + <listelement-ref/> + </popcount> + </sumof> + </list> + <list type="FP3232" name="axisvalues_raw"> + <sumof ref="valuator_mask"> + <popcount> + <listelement-ref/> + </popcount> + </sumof> + </list> </event> <eventcopy name="RawKeyRelease" number="14" ref="RawKeyPress" /> @@ -2269,10 +2485,20 @@ in struct DeviceTimeCoord. <list type="CARD32" name="valuator_mask"> <fieldref>valuators_len</fieldref> </list> - <!-- Uninterpreted: list (axisvalues) of FP3232, - length is <popcount> on valuator_mask list --> - <!-- Uninterpreted: list (axisvalues_raw) of FP3232, - length is <popcount> on valuator_mask list --> + <list type="FP3232" name="axisvalues"> + <sumof ref="valuator_mask"> + <popcount> + <listelement-ref/> + </popcount> + </sumof> + </list> + <list type="FP3232" name="axisvalues_raw"> + <sumof ref="valuator_mask"> + <popcount> + <listelement-ref/> + </popcount> + </sumof> + </list> </event> <eventcopy name="RawButtonRelease" number="16" ref="RawButtonPress" /> @@ -2311,8 +2537,13 @@ in struct DeviceTimeCoord. <list type="CARD32" name="valuator_mask"> <fieldref>valuators_len</fieldref> </list> - <!-- Uninterpreted: list (axisvalues) of FP3232, - length is <popcount> on valuator_mask list --> + <list type="FP3232" name="axisvalues"> + <sumof ref="valuator_mask"> + <popcount> + <listelement-ref/> + </popcount> + </sumof> + </list> </event> <eventcopy name="TouchUpdate" number="19" ref="TouchBegin" /> @@ -2351,10 +2582,20 @@ in struct DeviceTimeCoord. <list type="CARD32" name="valuator_mask"> <fieldref>valuators_len</fieldref> </list> - <!-- Uninterpreted: list (axisvalues) of FP3232, - length is <popcount> on valuator_mask list --> - <!-- Uninterpreted: list (axisvalues_raw) of FP3232, - length is <popcount> on valuator_mask list --> + <list type="FP3232" name="axisvalues"> + <sumof ref="valuator_mask"> + <popcount> + <listelement-ref/> + </popcount> + </sumof> + </list> + <list type="FP3232" name="axisvalues_raw"> + <sumof ref="valuator_mask"> + <popcount> + <listelement-ref/> + </popcount> + </sumof> + </list> </event> <eventcopy name="RawTouchUpdate" number="23" ref="RawTouchBegin" /> diff --git a/libxcb/xcb-proto/src/xprint.xml b/libxcb/xcb-proto/src/xprint.xml index e32293f3b..dc23dd0da 100644 --- a/libxcb/xcb-proto/src/xprint.xml +++ b/libxcb/xcb-proto/src/xprint.xml @@ -209,21 +209,14 @@ authorization from the authors. <request name="PrintSelectInput" opcode="15"> <field type="PCONTEXT" name="context" /> - <valueparam value-mask-type="CARD32" - value-mask-name="event_mask" - value-list-name="event_list" /> + <field type="CARD32" name="event_mask" /> </request> <request name="PrintInputSelected" opcode="16"> <field type="PCONTEXT" name="context" /> <reply> - <pad bytes="1" /> - <valueparam value-mask-type="CARD32" - value-mask-name="event_mask" - value-list-name="event_list" /> - <valueparam value-mask-type="CARD32" - value-mask-name="all_events_mask" - value-list-name="all_events_list" /> + <field type="CARD32" name="event_mask" /> + <field type="CARD32" name="all_events_mask" /> </reply> </request> diff --git a/libxcb/xcb-proto/src/xproto.xml b/libxcb/xcb-proto/src/xproto.xml index bfb8a4cff..d50a4285a 100644 --- a/libxcb/xcb-proto/src/xproto.xml +++ b/libxcb/xcb-proto/src/xproto.xml @@ -57,6 +57,7 @@ authorization from the authors. <type>GCONTEXT</type> </xidunion> + <typedef oldname="CARD32" newname="BOOL32" /> <typedef oldname="CARD32" newname="VISUALID" /> <typedef oldname="CARD32" newname="TIMESTAMP" /> @@ -64,6 +65,8 @@ authorization from the authors. <typedef oldname="CARD32" newname="KEYSYM" /> <typedef oldname="CARD8" newname="KEYCODE" /> + + <typedef oldname="CARD32" newname="KEYCODE32" /> <typedef oldname="CARD8" newname="BUTTON" /> @@ -1293,9 +1296,71 @@ parent's cursor will cause an immediate change in the displayed cursor. <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" /> + <field type="CARD32" name="value_mask" mask="CW" /> + <switch name="value_list"> + <fieldref>value_mask</fieldref> + <bitcase> + <enumref ref="CW">BackPixmap</enumref> + <field type="PIXMAP" name="background_pixmap" altenum="BackPixmap"/> + </bitcase> + <bitcase> + <enumref ref="CW">BackPixel</enumref> + <field type="CARD32" name="background_pixel" /> + </bitcase> + <bitcase> + <enumref ref="CW">BorderPixmap</enumref> + <field type="PIXMAP" name="border_pixmap" altenum="Pixmap"/> + </bitcase> + <bitcase> + <enumref ref="CW">BorderPixel</enumref> + <field type="CARD32" name="border_pixel" /> + </bitcase> + <bitcase> + <enumref ref="CW">BitGravity</enumref> + <field type="CARD32" name="bit_gravity" enum="Gravity"/> + </bitcase> + <bitcase> + <enumref ref="CW">WinGravity</enumref> + <field type="CARD32" name="win_gravity" enum="Gravity"/> + </bitcase> + <bitcase> + <enumref ref="CW">BackingStore</enumref> + <field type="CARD32" name="backing_store" enum="BackingStore"/> + </bitcase> + <bitcase> + <enumref ref="CW">BackingPlanes</enumref> + <field type="CARD32" name="backing_planes" /> + </bitcase> + <bitcase> + <enumref ref="CW">BackingPixel</enumref> + <field type="CARD32" name="backing_pixel" /> + </bitcase> + <bitcase> + <enumref ref="CW">OverrideRedirect</enumref> + <field type="BOOL32" name="override_redirect" /> + </bitcase> + <bitcase> + <enumref ref="CW">SaveUnder</enumref> + <field type="BOOL32" name="save_under" /> + </bitcase> + <bitcase> + <enumref ref="CW">EventMask</enumref> + <field type="CARD32" name="event_mask" mask="EventMask"/> + </bitcase> + <bitcase> + <enumref ref="CW">DontPropagate</enumref> + <field type="CARD32" name="do_not_propogate_mask" mask="EventMask"/> + </bitcase> + <bitcase> + <enumref ref="CW">Colormap</enumref> + <field type="COLORMAP" name="colormap" altenum="Colormap"/> + </bitcase> + <bitcase> + <enumref ref="CW">Cursor</enumref> + <field type="CURSOR" name="cursor" altenum="Cursor"/> + </bitcase> + </switch> + <doc> <brief>Creates a window</brief> <description><![CDATA[ @@ -1374,9 +1439,71 @@ The X server could not allocate the requested resources (no memory?). <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" /> + <field type="CARD32" name="value_mask" mask="CW" /> + <switch name="value_list"> + <fieldref>value_mask</fieldref> + <bitcase> + <enumref ref="CW">BackPixmap</enumref> + <field type="PIXMAP" name="background_pixmap" altenum="BackPixmap"/> + </bitcase> + <bitcase> + <enumref ref="CW">BackPixel</enumref> + <field type="CARD32" name="background_pixel" /> + </bitcase> + <bitcase> + <enumref ref="CW">BorderPixmap</enumref> + <field type="PIXMAP" name="border_pixmap" altenum="Pixmap"/> + </bitcase> + <bitcase> + <enumref ref="CW">BorderPixel</enumref> + <field type="CARD32" name="border_pixel" /> + </bitcase> + <bitcase> + <enumref ref="CW">BitGravity</enumref> + <field type="CARD32" name="bit_gravity" enum="Gravity"/> + </bitcase> + <bitcase> + <enumref ref="CW">WinGravity</enumref> + <field type="CARD32" name="win_gravity" enum="Gravity"/> + </bitcase> + <bitcase> + <enumref ref="CW">BackingStore</enumref> + <field type="CARD32" name="backing_store" enum="BackingStore"/> + </bitcase> + <bitcase> + <enumref ref="CW">BackingPlanes</enumref> + <field type="CARD32" name="backing_planes" /> + </bitcase> + <bitcase> + <enumref ref="CW">BackingPixel</enumref> + <field type="CARD32" name="backing_pixel" /> + </bitcase> + <bitcase> + <enumref ref="CW">OverrideRedirect</enumref> + <field type="BOOL32" name="override_redirect" /> + </bitcase> + <bitcase> + <enumref ref="CW">SaveUnder</enumref> + <field type="BOOL32" name="save_under" /> + </bitcase> + <bitcase> + <enumref ref="CW">EventMask</enumref> + <field type="CARD32" name="event_mask" mask="EventMask"/> + </bitcase> + <bitcase> + <enumref ref="CW">DontPropagate</enumref> + <field type="CARD32" name="do_not_propogate_mask" mask="EventMask"/> + </bitcase> + <bitcase> + <enumref ref="CW">Colormap</enumref> + <field type="COLORMAP" name="colormap" altenum="Colormap"/> + </bitcase> + <bitcase> + <enumref ref="CW">Cursor</enumref> + <field type="CURSOR" name="cursor" altenum="Cursor"/> + </bitcase> + </switch> + <doc> <brief>change window attributes</brief> <description><![CDATA[ @@ -1689,11 +1816,40 @@ The specified window does not exist. <request name="ConfigureWindow" opcode="12"> <pad bytes="1" /> <field type="WINDOW" name="window" /> - <field type="CARD16" name="value_mask" /> + <field type="CARD16" name="value_mask" mask="ConfigWindow" /> <pad bytes="2" /> - <valueparam value-mask-type="CARD16" - value-mask-name="value_mask" - value-list-name="value_list" /> + <switch name="value_list"> + <fieldref>value_mask</fieldref> + <bitcase> + <enumref ref="ConfigWindow">X</enumref> + <field type="INT32" name="x" /> + </bitcase> + <bitcase> + <enumref ref="ConfigWindow">Y</enumref> + <field type="INT32" name="y" /> + </bitcase> + <bitcase> + <enumref ref="ConfigWindow">Width</enumref> + <field type="CARD32" name="width" /> + </bitcase> + <bitcase> + <enumref ref="ConfigWindow">Height</enumref> + <field type="CARD32" name="height" /> + </bitcase> + <bitcase> + <enumref ref="ConfigWindow">BorderWidth</enumref> + <field type="CARD32" name="border_width" /> + </bitcase> + <bitcase> + <enumref ref="ConfigWindow">Sibling</enumref> + <field type="WINDOW" name="sibling" altenum="Window"/> + </bitcase> + <bitcase> + <enumref ref="ConfigWindow">StackMode</enumref> + <field type="CARD32" name="stack_mode" enum="StackMode"/> + </bitcase> + </switch> + <doc> <brief>Configures window attributes</brief> <description><![CDATA[ @@ -3883,9 +4039,102 @@ TODO <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" /> + <field type="CARD32" name="value_mask" mask="GC" /> + <switch name="value_list"> + <fieldref>value_mask</fieldref> + <bitcase> + <enumref ref="GC">Function</enumref> + <field type="CARD32" name="function" enum="GX"/> + </bitcase> + <bitcase> + <enumref ref="GC">PlaneMask</enumref> + <field type="CARD32" name="plane_mask" /> + </bitcase> + <bitcase> + <enumref ref="GC">Foreground</enumref> + <field type="CARD32" name="foreground" /> + </bitcase> + <bitcase> + <enumref ref="GC">Background</enumref> + <field type="CARD32" name="background" /> + </bitcase> + <bitcase> + <enumref ref="GC">LineWidth</enumref> + <field type="CARD32" name="line_width" /> + </bitcase> + <bitcase> + <enumref ref="GC">LineStyle</enumref> + <field type="CARD32" name="line_style" enum="LineStyle"/> + </bitcase> + <bitcase> + <enumref ref="GC">CapStyle</enumref> + <field type="CARD32" name="cap_style" enum="CapStyle"/> + </bitcase> + <bitcase> + <enumref ref="GC">JoinStyle</enumref> + <field type="CARD32" name="join_style" enum="JoinStyle"/> + </bitcase> + <bitcase> + <enumref ref="GC">FillStyle</enumref> + <field type="CARD32" name="fill_style" enum="FillStyle"/> + </bitcase> + <bitcase> + <enumref ref="GC">FillRule</enumref> + <field type="CARD32" name="fill_rule" enum="FillRule"/> + </bitcase> + <bitcase> + <enumref ref="GC">Tile</enumref> + <field type="PIXMAP" name="tile" altenum="Pixmap"/> + </bitcase> + <bitcase> + <enumref ref="GC">Stipple</enumref> + <field type="PIXMAP" name="stipple" altenum="Pixmap"/> + </bitcase> + <bitcase> + <enumref ref="GC">TileStippleOriginX</enumref> + <field type="INT32" name="tile_stipple_x_origin" /> + </bitcase> + <bitcase> + <enumref ref="GC">TileStippleOriginY</enumref> + <field type="INT32" name="tile_stipple_y_origin" /> + </bitcase> + <bitcase> + <enumref ref="GC">Font</enumref> + <field type="FONT" name="font" altenum="Font"/> + </bitcase> + <bitcase> + <enumref ref="GC">SubwindowMode</enumref> + <field type="CARD32" name="subwindow_mode" enum="SubwindowMode"/> + </bitcase> + <bitcase> + <enumref ref="GC">GraphicsExposures</enumref> + <field type="BOOL32" name="graphics_exposures" /> + </bitcase> + <bitcase> + <enumref ref="GC">ClipOriginX</enumref> + <field type="INT32" name="clip_x_origin" /> + </bitcase> + <bitcase> + <enumref ref="GC">ClipOriginY</enumref> + <field type="INT32" name="clip_y_origin" /> + </bitcase> + <bitcase> + <enumref ref="GC">ClipMask</enumref> + <field type="PIXMAP" name="clip_mask" altenum="Pixmap"/> + </bitcase> + <bitcase> + <enumref ref="GC">DashOffset</enumref> + <field type="CARD32" name="dash_offset" /> + </bitcase> + <bitcase> + <enumref ref="GC">DashList</enumref> + <field type="CARD32" name="dashes" /> + </bitcase> + <bitcase> + <enumref ref="GC">ArcMode</enumref> + <field type="CARD32" name="arc_mode" enum="ArcMode"/> + </bitcase> + </switch> <doc> <brief>Creates a graphics context</brief> <description><![CDATA[ @@ -3924,9 +4173,102 @@ The X server could not allocate the requested resources (no memory?). <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" /> + <field type="CARD32" name="value_mask" mask="GC" /> + <switch name="value_list"> + <fieldref>value_mask</fieldref> + <bitcase> + <enumref ref="GC">Function</enumref> + <field type="CARD32" name="function" enum="GX"/> + </bitcase> + <bitcase> + <enumref ref="GC">PlaneMask</enumref> + <field type="CARD32" name="plane_mask" /> + </bitcase> + <bitcase> + <enumref ref="GC">Foreground</enumref> + <field type="CARD32" name="foreground" /> + </bitcase> + <bitcase> + <enumref ref="GC">Background</enumref> + <field type="CARD32" name="background" /> + </bitcase> + <bitcase> + <enumref ref="GC">LineWidth</enumref> + <field type="CARD32" name="line_width" /> + </bitcase> + <bitcase> + <enumref ref="GC">LineStyle</enumref> + <field type="CARD32" name="line_style" enum="LineStyle"/> + </bitcase> + <bitcase> + <enumref ref="GC">CapStyle</enumref> + <field type="CARD32" name="cap_style" enum="CapStyle"/> + </bitcase> + <bitcase> + <enumref ref="GC">JoinStyle</enumref> + <field type="CARD32" name="join_style" enum="JoinStyle"/> + </bitcase> + <bitcase> + <enumref ref="GC">FillStyle</enumref> + <field type="CARD32" name="fill_style" enum="FillStyle"/> + </bitcase> + <bitcase> + <enumref ref="GC">FillRule</enumref> + <field type="CARD32" name="fill_rule" enum="FillRule"/> + </bitcase> + <bitcase> + <enumref ref="GC">Tile</enumref> + <field type="PIXMAP" name="tile" altenum="Pixmap"/> + </bitcase> + <bitcase> + <enumref ref="GC">Stipple</enumref> + <field type="PIXMAP" name="stipple" altenum="Pixmap"/> + </bitcase> + <bitcase> + <enumref ref="GC">TileStippleOriginX</enumref> + <field type="INT32" name="tile_stipple_x_origin" /> + </bitcase> + <bitcase> + <enumref ref="GC">TileStippleOriginY</enumref> + <field type="INT32" name="tile_stipple_y_origin" /> + </bitcase> + <bitcase> + <enumref ref="GC">Font</enumref> + <field type="FONT" name="font" altenum="Font"/> + </bitcase> + <bitcase> + <enumref ref="GC">SubwindowMode</enumref> + <field type="CARD32" name="subwindow_mode" enum="SubwindowMode"/> + </bitcase> + <bitcase> + <enumref ref="GC">GraphicsExposures</enumref> + <field type="BOOL32" name="graphics_exposures" /> + </bitcase> + <bitcase> + <enumref ref="GC">ClipOriginX</enumref> + <field type="INT32" name="clip_x_origin" /> + </bitcase> + <bitcase> + <enumref ref="GC">ClipOriginY</enumref> + <field type="INT32" name="clip_y_origin" /> + </bitcase> + <bitcase> + <enumref ref="GC">ClipMask</enumref> + <field type="PIXMAP" name="clip_mask" altenum="Pixmap"/> + </bitcase> + <bitcase> + <enumref ref="GC">DashOffset</enumref> + <field type="CARD32" name="dash_offset" /> + </bitcase> + <bitcase> + <enumref ref="GC">DashList</enumref> + <field type="CARD32" name="dashes" /> + </bitcase> + <bitcase> + <enumref ref="GC">ArcMode</enumref> + <field type="CARD32" name="arc_mode" enum="ArcMode"/> + </bitcase> + </switch> <doc> <brief>change graphics context components</brief> <description><![CDATA[ @@ -4982,9 +5324,43 @@ sensitive! <request name="ChangeKeyboardControl" opcode="102"> <pad bytes="1" /> - <valueparam value-mask-type="CARD32" - value-mask-name="value_mask" - value-list-name="value_list" /> + <field type="CARD32" name="value_mask" mask="KB" /> + <switch name="value_list"> + <fieldref>value_mask</fieldref> + <bitcase> + <enumref ref="KB">KeyClickPercent</enumref> + <field type="INT32" name="key_click_percent" /> + </bitcase> + <bitcase> + <enumref ref="KB">BellPercent</enumref> + <field type="INT32" name="bell_percent" /> + </bitcase> + <bitcase> + <enumref ref="KB">BellPitch</enumref> + <field type="INT32" name="bell_pitch" /> + </bitcase> + <bitcase> + <enumref ref="KB">BellDuration</enumref> + <field type="INT32" name="bell_duration" /> + </bitcase> + <bitcase> + <enumref ref="KB">Led</enumref> + <field type="CARD32" name="led" /> + </bitcase> + <bitcase> + <enumref ref="KB">LedMode</enumref> + <field type="CARD32" name="led_mode" enum="LedMode"/> + </bitcase> + <bitcase> + <enumref ref="KB">Key</enumref> + <field type="KEYCODE32" name="key" /> + </bitcase> + <bitcase> + <enumref ref="KB">AutoRepeatMode</enumref> + <field type="CARD32" name="auto_repeat_mode" enum="AutoRepeatMode"/> + </bitcase> + </switch> + </request> <request name="GetKeyboardControl" opcode="103"> |