XGetVisualInfo(3) XLIB FUNCTIONS XGetVisualInfo(3)

# [NAME](#NAME)

XGetVisualInfo, XMatchVisualInfo, XVisualIDFromVisual, XVisualInfo - obtain visual information and visual structure

# [SYNTAX](#SYNTAX)

XVisualInfo \*XGetVisualInfo(Display \**display*, long *vinfo\_mask*, XVisualInfo \**vinfo\_template*, int \**nitems\_return*);

Status XMatchVisualInfo(Display \**display*, int *screen*, int *depth*, int *class*, XVisualInfo \**vinfo\_return*);

VisualID XVisualIDFromVisual(Visual \**visual*);

# [ARGUMENTS](#ARGUMENTS)

[*class*](#class)

Specifies the class of the screen.

[*depth*](#depth)

Specifies the depth of the screen.

[*display*](#display)

Specifies the connection to the X server.

[*nitems\_return*](#nitems_return)

Returns the number of matching visual structures.

[*screen*](#screen)

Specifies the screen.

[*visual*](#visual)

Specifies the visual type.

[*vinfo\_mask*](#vinfo_mask)

Specifies the visual mask value.

[*vinfo\_return*](#vinfo_return)

Returns the matched visual information.

[*vinfo\_template*](#vinfo_template)

Specifies the visual attributes that are to be used in matching the visual structures.

# [DESCRIPTION](#DESCRIPTION)

The **XGetVisualInfo** function returns a list of visual structures that have attributes equal to the attributes specified by vinfo\_template. If no visual structures match the template using the specified vinfo\_mask, **XGetVisualInfo** returns a NULL. To free the data returned by this function, use **XFree**.

The **XMatchVisualInfo** function returns the visual information for a visual that matches the specified depth and class for a screen. Because multiple visuals that match the specified depth and class can exist, the exact visual chosen is undefined. If a visual is found, **XMatchVisualInfo** returns nonzero and the information on the visual to vinfo\_return. Otherwise, when a visual is not found, **XMatchVisualInfo** returns zero.

The **XVisualIDFromVisual** function returns the visual ID for the specified visual type.

# [STRUCTURES](#STRUCTURES)

The **XVisualInfo** structure contains:

/* Visual information mask bits \*/

#define VisualNoMask 0x0 #define VisualIDMask 0x1 #define VisualScreenMask 0x2 #define VisualDepthMask 0x4 #define VisualClassMask 0x8 #define VisualRedMaskMask 0x10 #define VisualGreenMaskMask 0x20 #define VisualBlueMaskMask 0x40 #define VisualColormapSizeMask 0x80 #define VisualBitsPerRGBMask 0x100 #define VisualAllMask 0x1FF

```
/* Values */
typedef struct {


        Visual *visual;


        VisualID visualid;


        int screen;


        int depth;


        int class;


        unsigned long red_mask;


        unsigned long green_mask;


        unsigned long blue_mask;


        int colormap_size;


        int bits_per_rgb;
} XVisualInfo;
```

# [SEE ALSO](#SEE_ALSO)

[**XFree**(3)](/man/os/libx11/XFree.3)  
*Xlib - C Language X Interface*

libX11 1.8.14 X Version 11

---

Document: XVisualInfo(3) from libx11 1.8.14-r2 (Chainguard OS)
Source: https://gitlab.freedesktop.org/xorg/lib/libx11.git
