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

class
  Specifies the class of the screen.
depth
  Specifies the depth of the screen.
display
  Specifies the connection to the X server.
nitems_return
  Returns the number of matching visual structures.
screen
  Specifies the screen.
visual
  Specifies the visual type.
vinfo_mask
  Specifies the visual mask value.
vinfo_return
  Returns the matched visual information.
vinfo_template
  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