Xevi

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 R XeviQueryExtension, if any of these routines are called with a display that does not support the extension, the ExtensionErrorHandler (which can be set with R XSetExtensionErrorHandler and functions the same way as R XSetErrorHandler ) will be called and the function will then return.
R XeviQueryExtension returns R True if the Extended Visual Information extension is available on the given display. A client must call R 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).
R XeviQueryVersion returns R 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.
R 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 R Success if successful, or an X error otherwise. If the argument visual 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. 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 R 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.

ERRORS

R XeviGetVisualInfo will return BadValue if passed an illegal visual ID, BadAccess if the X server does not respond, BadAlloc if there is a memory allocation failure.