1ea1d6981Smrg<?xml version="1.0" encoding="UTF-8" ?>
2ea1d6981Smrg<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
3ea1d6981Smrg                   "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
4ea1d6981Smrg[
5ea1d6981Smrg<!ENTITY % defs SYSTEM "defs.ent"> %defs;
6ea1d6981Smrg]>
7ea1d6981Smrg
8ea1d6981Smrg
9ea1d6981Smrg<book id="evi">
10ea1d6981Smrg
11ea1d6981Smrg<bookinfo>
12ea1d6981Smrg   <title>Extended Visual Information Extension</title>
13ea1d6981Smrg   <subtitle>X Project Team Standard</subtitle>
14ea1d6981Smrg   <authorgroup>
15ea1d6981Smrg      <author>
16ea1d6981Smrg         <firstname>Peter</firstname><surname>Daifuku</surname>
17ea1d6981Smrg         <affiliation><orgname>Silicon Graphics, Inc.</orgname></affiliation>
18ea1d6981Smrg      </author>
19ea1d6981Smrg   </authorgroup>
20ea1d6981Smrg   <releaseinfo>X Version 11, Release &fullrelvers;</releaseinfo>
21ea1d6981Smrg   <releaseinfo>Version 1.0</releaseinfo>
22ea1d6981Smrg   <copyright><year>1986-1997</year><holder>The Open Group</holder></copyright>
23ea1d6981Smrg
24ea1d6981Smrg<legalnotice>
25ea1d6981Smrg
26ea1d6981Smrg<para>
27ea1d6981SmrgPermission is hereby granted, free of charge, to any person obtaining a
28ea1d6981Smrgcopy of this
29ea1d6981Smrgsoftware and associated documentation files (the Software), to use the
30ea1d6981SmrgSoftware without restriction, including, without limitation, the rights to
31ea1d6981Smrgcopy, modify, merge, publish, distribute and sublicense the Software,
32ea1d6981Smrgto make, have made, license and distribute derivative works thereof, and
33ea1d6981Smrgto permit persons to whom the Software is
34ea1d6981Smrgfurnished to do so, subject to the following conditions:
35ea1d6981Smrg</para>
36ea1d6981Smrg
37ea1d6981Smrg<para>
38ea1d6981SmrgThe above copyright notice and the following permission notice shall be
39ea1d6981Smrgincluded in all copies of the Software:
40ea1d6981Smrg</para>
41ea1d6981Smrg
42ea1d6981Smrg<para>
43ea1d6981SmrgTHE SOFTWARE IS PROVIDED &ldquo;AS IS&rdquo;, WITHOUT WARRANTY OF ANY KIND,
44ea1d6981SmrgEXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE WARRANTIES
45ea1d6981SmrgOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-
46ea1d6981SmrgINFRINGEMENT.  IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY
47ea1d6981SmrgCLAIM, DAMAGES OR OTHER USEABILITIY, WHETHER IN AN ACTION OF
48ea1d6981SmrgCONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF, OR IN
49d63b911fSmrgCONNECTION WITH THE SOFTWARE OR THE USE OF OTHER DEALINGS IN
50ea1d6981SmrgTHE SOFTWARE.
51ea1d6981Smrg</para>
52ea1d6981Smrg
53ea1d6981Smrg<para>
54ea1d6981SmrgExcept as contained in this notice, the name of The Open Group shall not
55ea1d6981Smrgbe used in advertising or otherwise to promote the use or other dealings
56ea1d6981Smrgin this Software without prior written authorization from The Open Group.
57ea1d6981Smrg</para>
58ea1d6981Smrg
59ea1d6981Smrg<para>
60ea1d6981SmrgX Window System is a trademark of The Open Group.
61ea1d6981Smrg</para>
62ea1d6981Smrg
63ea1d6981Smrg</legalnotice>
64ea1d6981Smrg</bookinfo>
65ea1d6981Smrg
66ea1d6981Smrg<chapter id="Introduction">
67ea1d6981Smrg<title>Introduction</title>
68ea1d6981Smrg<para>
69ea1d6981SmrgEVI (Extended Visual Information extension) allows a client to determine
70ea1d6981Smrginformation about core X visuals beyond what the core protocol provides.
71ea1d6981Smrg</para>
72ea1d6981Smrg</chapter>
73ea1d6981Smrg
74ea1d6981Smrg<chapter id="Goals">
75ea1d6981Smrg<title>Goals</title>
76ea1d6981Smrg<para>
77ea1d6981SmrgAs the X Window System has evolved, it has become clear that the information
78ea1d6981Smrgreturned by the core X protocol regarding Visuals is often insufficient for a
79ea1d6981Smrgclient to determine which is the most appropriate visual for its needs. This
80ea1d6981Smrgextension allows clients to query the X server for additional visual
81ea1d6981Smrginformation, specifically as regards colormaps and framebuffer levels.
82ea1d6981Smrg</para>
83ea1d6981Smrg
84ea1d6981Smrg<para>
85ea1d6981SmrgThis extension is meant to address the needs of pure X clients only. It is
86ea1d6981Smrgspecifically and purposefully not designed to address the needs of X
87ea1d6981Smrgextensions. Extensions that have an impact on visual information should provide
88ea1d6981Smrgtheir own mechanisms for delivering that information. For example, the Double
89ea1d6981SmrgBuffering Extension (DBE) provides its own mechanism for determining which
90ea1d6981Smrgvisuals support double-buffering.
91ea1d6981Smrg</para>
92ea1d6981Smrg</chapter>
93ea1d6981Smrg
94ea1d6981Smrg<chapter id="Requests">
95ea1d6981Smrg<title>Requests</title>
96ea1d6981Smrg<para>
97ea1d6981Smrg<function>GetVersion</function>
98ea1d6981Smrg</para>
99ea1d6981Smrg
100ea1d6981Smrg<informaltable frame="none">
101ea1d6981Smrg  <?dbfo keep-together="always" ?>
102ea1d6981Smrg  <tgroup cols='1' align='left' colsep='0' rowsep='0'>
103ea1d6981Smrg  <colspec colname='c1' colwidth="1.0*"/>
104ea1d6981Smrg  <tbody>
105ea1d6981Smrg    <row>
106ea1d6981Smrg      <entry>
107ea1d6981Smrg<emphasis remap='I'>client_major_version</emphasis>: CARD8
108ea1d6981Smrg      </entry>
109ea1d6981Smrg    </row>
110ea1d6981Smrg    <row>
111ea1d6981Smrg      <entry>
112ea1d6981Smrg<emphasis remap='I'>client_minor_version</emphasis>: CARD8
113ea1d6981Smrg      </entry>
114ea1d6981Smrg    </row>
115ea1d6981Smrg    <row>
116ea1d6981Smrg      <entry>
117ea1d6981Smrg=&gt;
118ea1d6981Smrg      </entry>
119ea1d6981Smrg    </row>
120ea1d6981Smrg    <row>
121ea1d6981Smrg      <entry>
122ea1d6981Smrg<emphasis remap='I'>server_major_version</emphasis>: CARD8
123ea1d6981Smrg      </entry>
124ea1d6981Smrg    </row>
125ea1d6981Smrg    <row>
126ea1d6981Smrg      <entry>
127ea1d6981Smrg<emphasis remap='I'>server_minor_version</emphasis>: CARD8
128ea1d6981Smrg      </entry>
129ea1d6981Smrg    </row>
130ea1d6981Smrg  </tbody>
131ea1d6981Smrg  </tgroup>
132ea1d6981Smrg</informaltable>
133ea1d6981Smrg
134ea1d6981Smrg
135ea1d6981Smrg
136ea1d6981Smrg<para>
137ea1d6981SmrgIf supplied, the client_major_version and client_minor_version indicate
138ea1d6981Smrgwhat version of the protocol the client wants the server to implement.
139ea1d6981SmrgThe server version numbers returned indicate the protocol this extension
140ea1d6981Smrgactually supports. This might not equal the version sent by the client.
141ea1d6981SmrgAn implementation can (but need not) support more than one version
142ea1d6981Smrgsimultaneously. The server_major_version and the server_minor_version
143ea1d6981Smrgare a mechanism to support future revisions of the EVI protocol that
144ea1d6981Smrgmay be necessary. In general, the major version would increment for
145ea1d6981Smrgincompatible changes, and the minor version would increment for small
146ea1d6981Smrgupward-compatible changes. Servers that support the protocol defined in
147ea1d6981Smrgthis document will return a server_major_version of one (1), and a
148ea1d6981Smrgserver_minor_version of zero (0).
149ea1d6981Smrg</para>
150ea1d6981Smrg
151ea1d6981Smrg<para>
152ea1d6981Smrg<function>  GetVisualInfo</function>
153ea1d6981Smrg</para>
154ea1d6981Smrg
155ea1d6981Smrg<informaltable frame="none">
156ea1d6981Smrg  <?dbfo keep-together="always" ?>
157ea1d6981Smrg  <tgroup cols='1' align='left' colsep='0' rowsep='0'>
158ea1d6981Smrg  <colspec colname='c1' colwidth="1.0*"/>
159ea1d6981Smrg  <tbody>
160ea1d6981Smrg    <row>
161ea1d6981Smrg      <entry>
162ea1d6981Smrg<emphasis remap='I'>visual_list</emphasis>: LISTofVISUALID
163ea1d6981Smrg      </entry>
164ea1d6981Smrg    </row>
165ea1d6981Smrg    <row>
166ea1d6981Smrg      <entry>
167ea1d6981Smrg=&gt;
168ea1d6981Smrg      </entry>
169ea1d6981Smrg    </row>
170ea1d6981Smrg    <row>
171ea1d6981Smrg      <entry>
172ea1d6981Smrg<emphasis remap='I'>per_visual_info</emphasis>: LISTofVISUALINFO
173ea1d6981Smrg      </entry>
174ea1d6981Smrg    </row>
175ea1d6981Smrg  </tbody>
176ea1d6981Smrg  </tgroup>
177ea1d6981Smrg</informaltable>
178ea1d6981Smrg
179ea1d6981Smrg<para>
180ea1d6981Smrgwhere:
181ea1d6981Smrg</para>
182ea1d6981Smrg
183ea1d6981Smrg<informaltable frame="none">
184ea1d6981Smrg  <?dbfo keep-together="always" ?>
185ea1d6981Smrg  <tgroup cols='1' align='left' colsep='0' rowsep='0'>
186ea1d6981Smrg  <colspec colname='c1' colwidth="1.0*"/>
187ea1d6981Smrg  <tbody>
188ea1d6981Smrg    <row>
189ea1d6981Smrg      <entry>
190ea1d6981SmrgVISUALINFO: [core_visual_id: VISUALID
191ea1d6981Smrg      </entry>
192ea1d6981Smrg    </row>
193ea1d6981Smrg    <row>
194ea1d6981Smrg      <entry>
195ea1d6981Smrgscreen: CARD8
196ea1d6981Smrg      </entry>
197ea1d6981Smrg    </row>
198ea1d6981Smrg    <row>
199ea1d6981Smrg      <entry>
200ea1d6981Smrglevel: INT8
201ea1d6981Smrg      </entry>
202ea1d6981Smrg    </row>
203ea1d6981Smrg    <row>
204ea1d6981Smrg      <entry>
205ea1d6981Smrgtransparency_type: CARD8
206ea1d6981Smrg      </entry>
207ea1d6981Smrg    </row>
208ea1d6981Smrg    <row>
209ea1d6981Smrg      <entry>
210ea1d6981Smrgunused: CARD8
211ea1d6981Smrg      </entry>
212ea1d6981Smrg    </row>
213ea1d6981Smrg    <row>
214ea1d6981Smrg      <entry>
215ea1d6981Smrgtransparency_value: CARD32
216ea1d6981Smrg      </entry>
217ea1d6981Smrg    </row>
218ea1d6981Smrg    <row>
219ea1d6981Smrg      <entry>
220ea1d6981Smrgmin_hw_colormaps: CARD8
221ea1d6981Smrg      </entry>
222ea1d6981Smrg    </row>
223ea1d6981Smrg    <row>
224ea1d6981Smrg      <entry>
225ea1d6981Smrgmax_hw_colormaps: CARD8
226ea1d6981Smrg      </entry>
227ea1d6981Smrg    </row>
228ea1d6981Smrg    <row>
229ea1d6981Smrg      <entry>
230ea1d6981Smrgnum_colormap_conflicts: CARD16
231ea1d6981Smrg      </entry>
232ea1d6981Smrg    </row>
233ea1d6981Smrg    <row>
234ea1d6981Smrg      <entry>
235ea1d6981Smrgcolormap_conflicts: LISTofVISUALID]
236ea1d6981Smrg      </entry>
237ea1d6981Smrg    </row>
238ea1d6981Smrg  </tbody>
239ea1d6981Smrg  </tgroup>
240ea1d6981Smrg</informaltable>
241ea1d6981Smrg
242ea1d6981Smrg<itemizedlist>
243ea1d6981Smrg  <listitem>
244ea1d6981Smrg    <para>
245ea1d6981Smrglevel is 0 for normal planes, &gt; 0 for overlays, &lt; 0 for underlays.
246ea1d6981Smrg    </para>
247ea1d6981Smrg  </listitem>
248ea1d6981Smrg  <listitem>
249ea1d6981Smrg    <para>
250ea1d6981Smrgtransparency_type is 0 for none, 1 for transparent pixel, 2 for
251ea1d6981Smrgtransparent mask.
252ea1d6981Smrg    </para>
253ea1d6981Smrg  </listitem>
254ea1d6981Smrg  <listitem>
255ea1d6981Smrg    <para>
256ea1d6981Smrgtransparency_value: value to get transparent pixel if transparency
257ea1d6981Smrgsupported.
258ea1d6981Smrg    </para>
259ea1d6981Smrg  </listitem>
260ea1d6981Smrg  <listitem>
261ea1d6981Smrg    <para>
262ea1d6981Smrgmin_hw_colormaps: minimum number of hardware colormaps backing up the
263ea1d6981Smrgvisual.
264ea1d6981Smrg    </para>
265ea1d6981Smrg  </listitem>
266ea1d6981Smrg  <listitem>
267ea1d6981Smrg    <para>
268ea1d6981Smrgmax_hw_colormaps: maximum number of hardware colormaps backing up the
269ea1d6981Smrgvisual.
270ea1d6981Smrg    </para>
271ea1d6981Smrg    <para>
272ea1d6981Smrg    (architectures with static colormap allocation/reallocation would have min
273ea1d6981Smrg= max)
274ea1d6981Smrg    </para>
275ea1d6981Smrg  </listitem>
276ea1d6981Smrg  <listitem>
277ea1d6981Smrg    <para>
278ea1d6981Smrgnum_colormap_conflicts: number of elements in colormap_conflicts.
279ea1d6981Smrg    </para>
280ea1d6981Smrg  </listitem>
281ea1d6981Smrg  <listitem>
282ea1d6981Smrg    <para>
283ea1d6981Smrgcolormap_conflicts: list of visuals that may conflict with this one. For
284ea1d6981Smrgexample, if a 12-bit colormap is overloaded to support 8-bit visuals, the
285ea1d6981Smrg8-bit visuals would conflict with the 12-bit visuals.
286ea1d6981Smrg    </para>
287ea1d6981Smrg  </listitem>
288ea1d6981Smrg</itemizedlist>
289ea1d6981Smrg
290ea1d6981Smrg</chapter>
291ea1d6981Smrg<chapter id="Events_and_Errors">
292ea1d6981Smrg<title>Events and Errors</title>
293ea1d6981Smrg<para>
294ea1d6981SmrgNo new events or errors are defined by this extension.
295ea1d6981Smrg</para>
296ea1d6981Smrg</chapter>
297ea1d6981Smrg
298ea1d6981Smrg<chapter id='Changes_to_existing_protocol'>
299ea1d6981Smrg<title>Changes to existing protocol.</title>
300ea1d6981Smrg<para>
301ea1d6981SmrgNone.
302ea1d6981Smrg</para>
303ea1d6981Smrg</chapter>
304ea1d6981Smrg
305ea1d6981Smrg<chapter id="Encoding">
306ea1d6981Smrg<title>Encoding</title>
307ea1d6981Smrg<para>
308ea1d6981SmrgThe name of this extension is "Extended-Visual-Information".
309ea1d6981Smrg</para>
310ea1d6981Smrg
311ea1d6981Smrg<para>
312ea1d6981SmrgThe conventions used here are the same as those for the core X11
313ea1d6981SmrgProtocol Encoding.
314ea1d6981Smrg</para>
315ea1d6981Smrg
316ea1d6981Smrg<literallayout class="monospaced">
317ea1d6981Smrg<function>GetVersion</function>
318ea1d6981Smrg     1     CARD8               opcode
319ea1d6981Smrg     1     0                   EVI opcode
320ea1d6981Smrg     2     2                   request length
321ea1d6981Smrg     2     CARD16              client_major_version
322ea1d6981Smrg     2     CARD16              client_minor_version
323ea1d6981Smrg=&gt;
324ea1d6981Smrg     1     1                   reply
325ea1d6981Smrg     1                         unused
326ea1d6981Smrg     2     CARD16              sequence number
327ea1d6981Smrg     4     0                   length
328ea1d6981Smrg     2     CARD16              server_major_version
329ea1d6981Smrg     2     CARD16              server_minor_version
330ea1d6981Smrg     20                        unused
331ea1d6981Smrg</literallayout>
332ea1d6981Smrg
333ea1d6981Smrg<literallayout class="monospaced">
334ea1d6981Smrg<function>GetVisualInfo</function>
335ea1d6981Smrg     1     CARD8               opcode
336ea1d6981Smrg     1     1                   EVI opcode
337ea1d6981Smrg     2     2+n                 request length
338ea1d6981Smrg     4     CARD32              n_visual
339ea1d6981Smrg     4n    CARD32              visual_ids
340ea1d6981Smrg=&gt;
341ea1d6981Smrg     1     1                   reply
342ea1d6981Smrg     1                         unused
343ea1d6981Smrg     2     CARD16              sequence number
344ea1d6981Smrg     4     n                   length
345ea1d6981Smrg     4     CARD32              n_info
346ea1d6981Smrg     4     CARD32              n_conflicts
347ea1d6981Smrg     16                        unused
348ea1d6981Smrg     16n   LISTofVISUALINFO    items
349ea1d6981Smrg</literallayout>
350ea1d6981Smrg
351ea1d6981Smrg<literallayout class="monospaced">
352ea1d6981SmrgVISUALINFO
353ea1d6981Smrg     4     VisualID            core_visual_id
354ea1d6981Smrg     1     INT8                screen
355ea1d6981Smrg     1     INT8                level
356ea1d6981Smrg     1     CARD8               transparency_type
357ea1d6981Smrg     1     CARD8               unused
358ea1d6981Smrg     4     CARD32              transparency_value
359ea1d6981Smrg     1     CARD8               min_hw_colormaps
360ea1d6981Smrg     1     CARD8               max_hw_colormaps
361ea1d6981Smrg     2     CARD16              num_colormap_conflicts
362ea1d6981Smrg</literallayout>
363ea1d6981Smrg</chapter>
364ea1d6981Smrg
365ea1d6981Smrg<chapter id="C_Language_Binding">
366ea1d6981Smrg<title>C Language Binding</title>
367ea1d6981Smrg<para>
368ea1d6981Smrg<!-- .LP -->
369ea1d6981SmrgThe C functions provide direct access to the protocol and add no additional
370ea1d6981Smrgsemantics.  For complete details on the effects of these functions, refer
371ea1d6981Smrgto the appropriate protocol request, which can be derived by deleting Xevi
372ea1d6981Smrgat the start of the function. All functions that have return type Status
373ea1d6981Smrgwill return nonzero for success and zero for failure.
374ea1d6981Smrg</para>
375ea1d6981Smrg
376ea1d6981Smrg<para>
377ea1d6981SmrgThe include file for this extension is:
378ea1d6981Smrg<function>&lt; X11/extensions/XEVI.h&gt;</function>.
379ea1d6981Smrg</para>
380ea1d6981Smrg
381ea1d6981Smrg<funcsynopsis id='XeviQueryVersion'>
382ea1d6981Smrg<funcprototype>
383ea1d6981Smrg  <funcdef>Bool <function> XeviQueryVersion</function></funcdef>
384ea1d6981Smrg  <paramdef>Display<parameter> *display</parameter></paramdef>
385ea1d6981Smrg  <paramdef>int<parameter> *major_version_return</parameter></paramdef>
386ea1d6981Smrg  <paramdef>int<parameter> *minor_version_return</parameter></paramdef>
387ea1d6981Smrg</funcprototype>
388ea1d6981Smrg</funcsynopsis>
389ea1d6981Smrg
390ea1d6981Smrg<variablelist>
391ea1d6981Smrg  <varlistentry>
392ea1d6981Smrg    <term>
393ea1d6981Smrg      <emphasis remap='I'>display</emphasis>
394ea1d6981Smrg    </term>
395ea1d6981Smrg    <listitem>
396ea1d6981Smrg      <para>
397ea1d6981SmrgSpecifies the connection to the X server.
398ea1d6981Smrg      </para>
399ea1d6981Smrg    </listitem>
400ea1d6981Smrg  </varlistentry>
401ea1d6981Smrg  <varlistentry>
402ea1d6981Smrg    <term>
403ea1d6981Smrg      <emphasis remap='I'>major_version_return</emphasis>
404ea1d6981Smrg    </term>
405ea1d6981Smrg    <listitem>
406ea1d6981Smrg      <para>
407ea1d6981SmrgReturns the major version supported by the server.
408ea1d6981Smrg      </para>
409ea1d6981Smrg    </listitem>
410ea1d6981Smrg  </varlistentry>
411ea1d6981Smrg  <varlistentry>
412ea1d6981Smrg    <term>
413ea1d6981Smrg      <emphasis remap='I'>minor_version_return</emphasis>
414ea1d6981Smrg    </term>
415ea1d6981Smrg    <listitem>
416ea1d6981Smrg      <para>
417ea1d6981SmrgReturns the minor version supported by the server.
418ea1d6981Smrg    </para>
419ea1d6981Smrg  </listitem>
420ea1d6981Smrg  </varlistentry>
421ea1d6981Smrg</variablelist>
422ea1d6981Smrg
423ea1d6981Smrg<para>
424ea1d6981SmrgXeviQueryVersion sets major_version_return and minor_version_return to
425ea1d6981Smrgthe major and minor EVI protocol version supported by the server.  If
426ea1d6981Smrgthe EVI library is compatible with the version returned by the server,
427ea1d6981Smrgit returns nonzero.  If dpy does not support the EVI extension, or if
428ea1d6981Smrgthere was an error during communication with the server, or if the server
429ea1d6981Smrgand library protocol versions are incompatible, it returns zero.  No other
430ea1d6981SmrgXevi functions may be called before this function. If a client violates
431ea1d6981Smrgthis rule, the effects of all subsequent Xevi calls that it makes are
432ea1d6981Smrgundefined.
433ea1d6981Smrg</para>
434ea1d6981Smrg
435ea1d6981Smrg<para>
436ea1d6981SmrgTo get the extended information for any subset of visuals use
437ea1d6981SmrgXeviGetVisualInfo.
438ea1d6981Smrg</para>
439ea1d6981Smrg
440ea1d6981Smrg<funcsynopsis id='XeviGetVisualInfo'>
441ea1d6981Smrg<funcprototype>
442ea1d6981Smrg  <funcdef>int <function> XeviGetVisualInfo</function></funcdef>
443ea1d6981Smrg  <paramdef>Display<parameter> *display</parameter></paramdef>
444ea1d6981Smrg  <paramdef>VisualID<parameter> *visual</parameter></paramdef>
445ea1d6981Smrg  <paramdef>int<parameter> n_visual</parameter></paramdef>
446ea1d6981Smrg  <paramdef>ExtendedVisualInfo<parameter> **evi_return</parameter></paramdef>
447ea1d6981Smrg  <paramdef>int<parameter> *n_info_return</parameter></paramdef>
448ea1d6981Smrg</funcprototype>
449ea1d6981Smrg</funcsynopsis>
450ea1d6981Smrg
451ea1d6981Smrg<variablelist>
452ea1d6981Smrg  <varlistentry>
453ea1d6981Smrg    <term>
454ea1d6981Smrg      <emphasis remap='I'>display</emphasis>
455ea1d6981Smrg    </term>
456ea1d6981Smrg    <listitem>
457ea1d6981Smrg      <para>
458ea1d6981SmrgSpecifies the connection to the X server.
459ea1d6981Smrg      </para>
460ea1d6981Smrg    </listitem>
461ea1d6981Smrg  </varlistentry>
462ea1d6981Smrg  <varlistentry>
463ea1d6981Smrg    <term>
464ea1d6981Smrg      <emphasis remap='I'>visual</emphasis>
465ea1d6981Smrg    </term>
466ea1d6981Smrg    <listitem>
467ea1d6981Smrg      <para>
468ea1d6981SmrgIf NULL, then information for all visuals of all
469ea1d6981Smrgscreens is returned. Otherwise, a pointer to a list of visuals for which
470ea1d6981Smrgextended visual information is desired.
471ea1d6981Smrg      </para>
472ea1d6981Smrg    </listitem>
473ea1d6981Smrg  </varlistentry>
474ea1d6981Smrg  <varlistentry>
475ea1d6981Smrg    <term>
476ea1d6981Smrg      <emphasis remap='I'>n_visual</emphasis>
477ea1d6981Smrg    </term>
478ea1d6981Smrg    <listitem>
479ea1d6981Smrg      <para>
480ea1d6981SmrgIf 0, then information for all visuals of all screens is returned. Otherwise,
481ea1d6981Smrgthe number of elements in the array <emphasis remap='I'>visual</emphasis>.
482ea1d6981Smrg      </para>
483ea1d6981Smrg    </listitem>
484ea1d6981Smrg  </varlistentry>
485ea1d6981Smrg  <varlistentry>
486ea1d6981Smrg    <term>
487ea1d6981Smrg      <emphasis remap='I'>evi_return</emphasis>
488ea1d6981Smrg    </term>
489ea1d6981Smrg    <listitem>
490ea1d6981Smrg      <para>
491ea1d6981SmrgReturns a pointer to a list of <emphasis remap='I'>ExtendedVisualInfo</emphasis>. When done, the client
492ea1d6981Smrgshould free the list using <emphasis remap='I'>XFree</emphasis>.
493ea1d6981Smrg      </para>
494ea1d6981Smrg    </listitem>
495ea1d6981Smrg  </varlistentry>
496ea1d6981Smrg  <varlistentry>
497ea1d6981Smrg    <term>
498ea1d6981Smrg      <emphasis remap='I'>n_info_return</emphasis>
499ea1d6981Smrg    </term>
500ea1d6981Smrg    <listitem>
501ea1d6981Smrg      <para>
502ea1d6981SmrgReturns the number of elements in the list of
503ea1d6981Smrg<emphasis remap='I'>ExtendedVisualInfo</emphasis>.
504ea1d6981Smrg    </para>
505ea1d6981Smrg  </listitem>
506ea1d6981Smrg  </varlistentry>
507ea1d6981Smrg</variablelist>
508ea1d6981Smrg
509ea1d6981Smrg<para>
510ea1d6981SmrgXeviGetVisualInfo returns a list of ExtendedVisualInfo structures that describe
511ea1d6981Smrgvisual information beyond that supported by the core protocol. This includes
512ea1d6981Smrglayer information relevant for systems supporting overlays and/or underlay
513ea1d6981Smrgplanes, and information that allows applications better to determine the level
514ea1d6981Smrgof hardware support for multiple colormaps. XeviGetVisualInfo returns Success
515ea1d6981Smrgif successful, or an X error otherwise.
516ea1d6981Smrg</para>
517ea1d6981Smrg
518ea1d6981Smrg</chapter>
519ea1d6981Smrg</book>
520