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 “AS IS”, 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=> 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=> 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, > 0 for overlays, < 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=> 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=> 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>< X11/extensions/XEVI.h></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