summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--specs/bigreq.xml89
1 files changed, 46 insertions, 43 deletions
diff --git a/specs/bigreq.xml b/specs/bigreq.xml
index 077cbc9..881b10d 100644
--- a/specs/bigreq.xml
+++ b/specs/bigreq.xml
@@ -67,12 +67,12 @@ bytes in length.</para>
<para>The core protocol restricts the maximum length of a protocol request to
262140 bytes, in that it uses a 16-bit length field specifying the number of
4-byte units in the request. This is a problem in the core protocol when
-joining large numbers of lines (<symbol role='Pn'>PolyLine</symbol>) or arcs
-(<symbol role='Pn'>PolyArc</symbol>), since these requests cannot be broken up
-into smaller requests without disturbing the rendering of the join points. It
-is also much more of a problem for protocol extensions, such as the PEX
-extension for 3D graphics and the XIE extension for imaging, that need to send
-long data lists in output commands.</para>
+joining large numbers of lines (<emphasis role='bold'>PolyLine</emphasis>)
+or arcs (<emphasis role='bold'>PolyArc</emphasis>), since these requests cannot
+be broken up into smaller requests without disturbing the rendering of the
+join points. It is also much more of a problem for protocol extensions,
+such as the PEX extension for 3D graphics and the XIE extension for imaging,
+that need to send long data lists in output commands.</para>
<para>This extension defines a mechanism for extending the length field beyond
16 bits. If the normal 16-bit length field of the protocol request is zero,
@@ -80,10 +80,10 @@ then an additional 32-bit field containing the actual length (in 4-byte units)
is inserted into the request, immediately following the 16-bit length
field.</para>
-<para>For example, a normal <emphasis role='bold'>PolyLine</emphasis> encoding is:</para>
+<para>For example, a normal <emphasis role='bold'>PolyLine</emphasis>
+encoding is:</para>
-<table tabstyle='encoding1' width="100%">
-<title>BLAH</title>
+<informaltable tabstyle='encoding1' width="100%">
<tgroup cols='4' align='left'>
<colspec colname='c1' colwidth="0.5*"/>
<colspec colname='c2' colwidth="3.0*"/>
@@ -91,7 +91,9 @@ field.</para>
<colspec colname='c4' colwidth="3.0*"/>
<thead>
<row>
- <entry namest="c1" nameend="c4"><function>PolyLine</function></entry>
+ <entry namest="c1" nameend="c4">
+ <emphasis role='bold'>PolyLine</emphasis>
+ </entry>
</row>
</thead>
<tbody>
@@ -145,19 +147,21 @@ field.</para>
</row>
</tbody>
</tgroup>
-</table>
+</informaltable>
-<para>An extended-length <emphasis role='bold'>PolyLine</emphasis> encoding is:</para>
+<para>An extended-length <emphasis role='bold'>PolyLine</emphasis>
+encoding is:</para>
-<informaltable width="100%">
+<informaltable tabstyle='encoding1' width="100%">
<tgroup cols='4' align='left'>
- <colspec colname='c1' colwidth="0.5*" align="left"/>
- <colspec colname='c2' colwidth="3.0*" align="left"/>
- <colspec colname='c3' colwidth="3.0*" align="left"/>
- <colspec colname='c4' colwidth="3.0*" align="left"/>
+ <colspec colname='c1' colwidth="0.5*"/>
+ <colspec colname='c2' colwidth="3.0*"/>
+ <colspec colname='c3' colwidth="3.0*"/>
+ <colspec colname='c4' colwidth="3.0*"/>
<thead>
<row>
- <entry namest="c1" nameend="c4"><emphasis role='bold'>Poly</emphasis>Line</entry>
+ <entry namest="c1" nameend="c4">
+ <emphasis role='bold'>PolyLine</emphasis></entry>
</row>
</thead>
<tbody>
@@ -226,14 +230,12 @@ protocol requests, including all extensions.</para>
<chapter id='requests'>
<title>Requests</title>
-<para role='box'><function>BigReqEnable</function></para>
-
+<para><emphasis role='bold'>BigReqEnable</emphasis></para>
<para role='box'>&rarr;</para>
-
-<para role='box'><emphasis remap='I'>maximum-request-length</emphasis>:
+<para role='box'><emphasis role='italic'>maximum-request-length</emphasis>:
CARD32</para>
-<para>
+<para role='box'>
This request enables extended-length protocol requests for the requesting
client. It also returns the maximum length of a request, in 4-byte units, that
can be used in extended-length protocol requests. This value will always be
@@ -260,11 +262,11 @@ conventions established there.
<para>The name of this extension is "BIG-REQUESTS".</para>
-<informaltable width="100%">
+<informaltable role='encoding1' width="100%">
<tgroup cols='3' align='left'>
- <colspec colname='c1' colwidth="0.5*" align="left"/>
- <colspec colname='c2' colwidth="2.0*" align="left"/>
- <colspec colname='c3' colwidth="2.0*" align="left"/>
+ <colspec colname='c1' colwidth="0.5*"/>
+ <colspec colname='c2' colwidth="2.0*"/>
+ <colspec colname='c3' colwidth="2.0*"/>
<thead>
<row>
<entry namest="c1" nameend="c3">BigReqEnable</entry>
@@ -343,29 +345,30 @@ extension internally when necessary. It is also desirable to make the use of
this extension as transparent as possible to the X client. For example, if
enabling of the extension were delayed until the first time it was needed, an
application that used
-<olink targetdoc='libx11' targetptr='libx11'>>XNextRequest</olink>
+<olink targetdoc='libX11' targetptr='xnextrequest'>>XNextRequest</olink>
to determine the sequence number of a request would no longer get the
correct sequence number. As such,
-<function>XOpenDisplay</function> will determine if the extension is
+<olink targetdoc='libX11' targetptr='xopendisplay'>XOpenDisplay</olink> will
+determine if the extension is
supported by the server and, if it is, enable extended-length encodings.
</para>
<para>
The core Xlib functions
-<olink targetdoc='libx11' targetptr='xdrawlines'>XDrawLines</olink>,
-<olink targetdoc='libx11' targetptr='xdrawarcs'>XDrawArcs</olink>,
-<olink targetdoc='libx11' targetptr='xfillpolygon'>XFillPolygon</olink>,
-<olink targetdoc='libx11' targetptr='xchangeproperty'>XChangeProperty</olink>,
-<olink targetdoc='libx11' targetptr='xsetcliprectangles'>XSetClipRectangles</olink>,
-and <olink targetdoc='libx11' targetptr='xsetregion'>XSetRegion</olink>
+<olink targetdoc='libX11' targetptr='xdrawlines'>XDrawLines</olink>,
+<olink targetdoc='libX11' targetptr='xdrawarcs'>XDrawArcs</olink>,
+<olink targetdoc='libX11' targetptr='xfillpolygon'>XFillPolygon</olink>,
+<olink targetdoc='libX11' targetptr='xchangeproperty'>XChangeProperty</olink>,
+<olink targetdoc='libX11' targetptr='xsetcliprectangles'>XSetClipRectangles</olink>,
+and <olink targetdoc='libX11' targetptr='xsetregion'>XSetRegion</olink>
are required to use extended-length encodings when necessary, if supported by
-the server. Use of extended-length encodings in other core Xlib functions (
-<olink targetdoc='libx11' targetptr='xdrawpoints'>XDrawPoints</olink>,
-<olink targetdoc='libx11' targetptr='xdrawrectangles'>XDrawRectangles</olink>,
-<olink targetdoc='libx11' targetptr='xdrawsegments'>XDrawSegments</olink>.
-<olink targetdoc='libx11' targetptr='xfillarcs'>XFillArcs</olink>,
-<olink targetdoc='libx11' targetptr='xfillrectangles'>XFillRectangles</olink>,
-<olink targetdoc='libx11' targetptr='xputimage'>XPutImage</olink>)
+the server. Use of extended-length encodings in other core Xlib functions
+(<olink targetdoc='libX11' targetptr='xdrawpoints'>XDrawPoints</olink>,
+<olink targetdoc='libX11' targetptr='xdrawrectangles'>XDrawRectangles</olink>,
+<olink targetdoc='libX11' targetptr='xdrawsegments'>XDrawSegments</olink>.
+<olink targetdoc='libX11' targetptr='xfillarcs'>XFillArcs</olink>,
+<olink targetdoc='libX11' targetptr='xfillrectangles'>XFillRectangles</olink>,
+<olink targetdoc='libX11' targetptr='xputimage'>XPutImage</olink>)
is permitted but not required; an Xlib
implementation may choose to split the data across multiple smaller requests
instead.
@@ -378,7 +381,7 @@ extended-length encodings is, the following function is added to Xlib:
<funcsynopsis id='xextendedmaxrequestsize'>
<funcprototype>
<funcdef>long <function>XExtendedMaxRequestSize</function></funcdef>
- <paramdef>Display <parameter> *display</parameter></paramdef>
+ <paramdef>Display<parameter>*display</parameter></paramdef>
</funcprototype>
</funcsynopsis>