1XEVI(3) X FUNCTIONS XEVI(3)
2
3
4
6 XeviQueryExtension, XeviQueryVersion, XeviGetVisualInfo - X Extended
7 Visual Information functions
8
10 #include <X11/extensions/XEVI.h>
11
12 Bool XeviQueryExtension (Display *dpy);
13
14 Bool XeviQueryVersion (Display *dpy,
15 int *major_version_return,
16 int *minor_version_return);
17
18 int XeviGetVisualInfo (Display *dpy, VisualID *visual,
19 int n_visual, ExtendedVisualInfo ** evi_return,
20 int * n_info_return);
21
23 The X11 Extended Visual Information extension (EVI) allows a client to
24 determine information about core X visuals beyond what the core proto‐
25 col provides.
26
27 The EVI application programming library contains the interfaces de‐
28 scribed below. With the exception of XeviQueryExtension, if any of
29 these routines are called with a display that does not support the ex‐
30 tension, the ExtensionErrorHandler (which can be set with XSetExten‐
31 sionErrorHandler and functions the same way as XSetErrorHandler) will
32 be called and the function will then return.
33
34 XeviQueryExtension returns True if the Extended Visual Information ex‐
35 tension is available on the given display. A client must call Xevi‐
36 QueryExtension before calling any other EVI function in order to nego‐
37 tiate a compatible protocol version; otherwise the client will get un‐
38 defined behavior (EVI may or may not work).
39
40 XeviQueryVersion returns True if the request succeeded; the values of
41 the major and minor protocol version supported by the server are re‐
42 turned in major_version_return and minor_version_return.
43
44 XeviGetVisualInfo returns a list of ExtendedVisualInfo structures that
45 describe visual information beyond that supported by the core protocol.
46 This includes layer information relevant for systems supporting over‐
47 lays and/or underlay planes, and information that allows applications
48 better to determine the level of hardware support for multiple col‐
49 ormaps. XeviGetVisualInfo returns Success if successful, or an X error
50 otherwise. If the argument visual is NULL, then information for all
51 visuals of all screens is returned. Otherwise, it's a pointer to a list
52 of visuals for which extended visual information is desired. n_visual
53 is the number of elements in the array visual. evi_return returns a
54 pointer to a list of ExtendedVisualInfo. When done, the client should
55 free the list using XFree. n_info_return returns the number of ele‐
56 ments in the array evi_return.
57
58 The ExtendedVisualInfo structure has the following fields:
59 VisualID core_visual_id
60 int screen
61 int level
62 unsigned int transparency_type
63 unsigned int transparency_value
64 unsigned int min_hw_colormaps
65 unsigned int max_hw_colormaps
66 unsigned int num_colormap_conflicts
67 VisualID * colormap_conflicts
68
69 The combination of core_visual_id and screen number uniquely specify
70 the visual being described.
71
72 level returns the level number for the visual, 0 for normal planes, > 0
73 for overlays, < 0 for underlays.
74
75 transparency_type returns the type of transparency supported by the
76 visual. XEVI_TRANSPARENCY_NONE if there are no transparent pixels,
77 XEVI_TRANSPARENCY_PIXEL if the visual supports a transparent pixel,
78 XEVI_TRANSPARENCY_MASK if the visual supports transparent plane(s).
79
80 transparency_value returns the pixel/plane value to set for transpar‐
81 ency if transparency_type isn't XEVI_TRANSPARENCY_NONE.
82
83 min_hw_colormaps and max_hw_colormaps return the minimum and maximum
84 number of hardware colormaps backing up the visual.
85
86 num_colormap_conflicts returns the number of elements in colormap_con‐
87 flicts. This array returns a list of visuals that may cause conflicts
88 in the use of the hardware colormap. For example, if a 12-bit hardware
89 colormap is overloaded to support 8-bit colormaps, the corresponding
90 8-bit visuals would conflict with the 12-bit visuals.
91
92
94 XeviGetVisualInfo will return BadValue if passed an illegal visual ID,
95 BadAccess if the X server does not respond, BadAlloc if there is a mem‐
96 ory allocation failure.
97
98
99
100X Version 11 libXext 1.3.5 XEVI(3)