Table of Contents

## Name

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

## 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

Specifies the class of the screen.

Specifies the depth of the screen.

Specifies the connection to the X server.

Returns the number of matching visual structures.

Specifies the screen.

Specifies the visual type.

Specifies the visual mask value.

Returns the matched visual information.

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

## 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

The XVisualInfo structure contains:

/* Visual information mask bits */

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

    0
    0>=40 .vs 0u
    0<=39 .vs 0p
    /* Values */
    typedef struct {
        Visual *visual;
        VisualID visualid;
        int screen;
        unsigned 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

XFree(3X11)
Xlib - C Language X Interface

Table of Contents

- Name
- Syntax
- Arguments
- Description
- Structures
- See Also