XEVI(3X11) X Version 11 (Release 6.6) XEVI(3X11)
NAME
XeviQueryExtension, XeviQueryVersion, XeviGetVisualInfo - X
Extended Visual Information functions
SYNOPSIS
#include <X11/extensions/XEVI.h>
Bool XeviQueryExtension (Display *dpy);
Bool XeviQueryVersion (Display *dpy,
int *major_version_return,
int *minor_version_return);
int XeviGetVisualInfo (Display *dpy, VisualID *visual,
int n_visual, ExtendedVisualInfo ** evi_return,
int * n_info_return);
DESCRIPTION
The X11 Extended Visual Information extension (EVI) allows a
client to determine information about core X visuals beyond
what the core protocol provides.
The EVI application programming library contains the
interfaces described below. With the exception of
XeviQueryExtension, if any of these routines are called with
a display that does not support the extension, the
ExtensionErrorHandler (which can be set with
XSetExtensionErrorHandler and functions the same way as
XSetErrorHandler) will be called and the function will then
return.
XeviQueryExtension returns True if the Extended Visual
Information extension is available on the given display. A
client must call XeviQueryExtension 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).
XeviQueryVersion returns True if the request succeeded; the
values of the major and minor protocol version supported by
the server are returned in major_version_return and
minor_version_return.
XeviGetVisualInfo 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 Success if
successful, or an X error otherwise. If the argument visual
is NULL, then information for all visuals of all screens is
Page 1 (printed 7/20/06)
XEVI(3X11) X Version 11 (Release 6.6) XEVI(3X11)
returned. Otherwise, it's a pointer to a list of visuals for
which extended visual information is desired. n_visual is
the number of elements in the array visual. evi_return
returns a pointer to a list of ExtendedVisualInfo. When
done, the client should free the list using XFree.
n_info_return returns the number of elements in the array
evi_return.
The ExtendedVisualInfo structure has the following fields:
VisualID core_visual_id
int screen
int level
unsigned int transparency_type
unsigned int transparency_value
unsigned int min_hw_colormaps
unsigned int max_hw_colormaps
unsigned int num_colormap_conflicts
VisualID * colormap_conflicts
The combination of core_visual_id and screen number uniquely
specify the visual being described.
level returns the level number for the visual, 0 for normal
planes, > 0 for overlays, < 0 for underlays.
transparency_type 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).
transparency_value returns the pixel/plane value to set for
transparency if transparency_type isn't
XEVI_TRANSPARENCY_NONE.
min_hw_colormaps and max_hw_colormaps return the minimum and
maximum number of hardware colormaps backing up the visual.
num_colormap_conflicts returns the number of elements in
colormap_conflicts. 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.
NOTES
This extension is not supported by XFree86(1).
ERRORS
XeviGetVisualInfo will return BadValue if passed an illegal
visual ID, BadAccess if the X server does not respond,
Page 2 (printed 7/20/06)
XEVI(3X11) X Version 11 (Release 6.6) XEVI(3X11)
BadAlloc if there is a memory allocation failure.
Page 3 (printed 7/20/06)