man-pages/man3/Xevi.3.html
2021-03-31 01:06:50 +01:00

211 lines
5.2 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of XEVI</TITLE>
</HEAD><BODY>
<H1>XEVI</H1>
Section: X FUNCTIONS (3)<BR>Updated: libXext 1.3.4<BR><A HREF="#index">Index</A>
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
XeviQueryExtension, XeviQueryVersion, XeviGetVisualInfo - X Extended Visual Information functions
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
#include &lt;<A HREF="file:///usr/include/X11/extensions/XEVI.h">X11/extensions/XEVI.h</A>&gt;
<P>
Bool
XeviQueryExtension (Display *dpy);
<P>
Bool
XeviQueryVersion (Display *dpy,
<BR>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;*major_version_return,
<BR>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;*minor_version_return);
<P>
int
XeviGetVisualInfo (Display *dpy, VisualID *visual,
<BR>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;n_visual,&nbsp;ExtendedVisualInfo&nbsp;**&nbsp;evi_return,
<BR>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;*&nbsp;n_info_return);
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
The
X11 Extended Visual Information extension (EVI) allows a client to determine
information about core X visuals beyond what the core protocol provides.
<P>
The EVI application programming library contains the interfaces described below.
With the exception of
<B>XeviQueryExtension,</B>
if any of these routines are
called with a display that does not support the extension, the
ExtensionErrorHandler (which can be set with
<B>XSetExtensionErrorHandler</B>
and functions the same way as
<B>XSetErrorHandler</B>)
will be called and the function will then return.
<P>
<B>XeviQueryExtension</B>
returns
<B>True</B>
if the Extended Visual Information extension is available on the given display.
A client must call
<B>XeviQueryExtension</B>
before calling any other EVI
function in order to negotiate a compatible protocol version; otherwise
the client will get undefined behavior (EVI may or may not work).
<P>
<B>XeviQueryVersion</B>
returns
<B>True</B>
if the request succeeded; the values of the major and minor protocol
version supported by the server are returned in
<I>major_version_return</I>
and
<I>minor_version_return.</I>
<P>
<B>XeviGetVisualInfo</B>
returns a list of ExtendedVisualInfo structures that describe
visual information beyond that supported by the core protocol. This includes
layer information relevant for systems supporting overlays and/or underlay
planes, and information that allows applications better to determine the level
of hardware support for multiple colormaps. XeviGetVisualInfo returns
<B>Success</B>
if successful, or an X error otherwise.
If the argument
<I>visual</I>
is NULL, then information for all visuals of all
screens is returned. Otherwise, it's a pointer to a list of visuals for which
extended visual information is desired.
<I>n_visual</I>
is the number of elements in the array visual.
<I>evi_return</I>
returns a pointer to a list of ExtendedVisualInfo. When done, the client
should free the list using XFree.
<I>n_info_return</I>
returns the number of elements in the array evi_return.
<P>
The
<B>ExtendedVisualInfo</B>
structure has the following fields:
<PRE>
VisualID <I>core_visual_id</I>
int <I>screen</I>
int <I>level</I>
unsigned int <I>transparency_type</I>
unsigned int <I>transparency_value</I>
unsigned int <I>min_hw_colormaps</I>
unsigned int <I>max_hw_colormaps</I>
unsigned int <I>num_colormap_conflicts</I>
VisualID * <I>colormap_conflicts</I>
</PRE>
<P>
The combination of
<I>core_visual_id</I>
and
<I>screen</I>
number uniquely specify the visual being described.
<P>
<I>level</I>
returns the level number for the visual, 0 for normal planes, &gt; 0 for
overlays, &lt; 0 for underlays.
<P>
<I>transparency_type</I>
returns the type of transparency supported by the visual. XEVI_TRANSPARENCY_NONE if
there are no transparent pixels, XEVI_TRANSPARENCY_PIXEL if the visual supports
a transparent pixel, XEVI_TRANSPARENCY_MASK if the visual supports transparent
plane(s).
<P>
<I>transparency_value</I>
returns the pixel/plane value to set for transparency if transparency_type isn't
XEVI_TRANSPARENCY_NONE.
<P>
<I>min_hw_colormaps</I>
and
<I>max_hw_colormaps</I>
return the minimum and maximum number of hardware colormaps backing up the
visual.
<P>
<I>num_colormap_conflicts</I>
returns the number of elements in
<I>colormap_conflicts.</I>
This array returns a list of visuals that may cause conflicts in the use of the
hardware colormap. For example, if a 12-bit hardware colormap is overloaded to
support 8-bit colormaps, the corresponding 8-bit visuals would conflict with the
12-bit visuals.
<P>
<A NAME="lbAE">&nbsp;</A>
<H2>ERRORS</H2>
<B>XeviGetVisualInfo</B>
will return
<I>BadValue</I>
if passed an illegal visual ID,
<I>BadAccess</I>
if the X server does not respond,
<I>BadAlloc</I>
if there is a memory allocation failure.
<P>
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT id="1"><A HREF="#lbAB">NAME</A><DD>
<DT id="2"><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT id="3"><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT id="4"><A HREF="#lbAE">ERRORS</A><DD>
</DL>
<HR>
This document was created by
<A HREF="/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 00:06:00 GMT, March 31, 2021
</BODY>
</HTML>