XGetVisualInfo(X3xlib) X Version 11 (Release 6.1)


XGetVisualInfo -- obtain visual information and visual structure

Synopsis

   XVisualInfo *XGetVisualInfo(display, vinfo_mask, vinfo_template, 
                               nitems_return) 
         Display *display; 
         long vinfo_mask; 
         XVisualInfo *vinfo_template; 
         int *nitems_return; 
   

Status XMatchVisualInfo(display, screen, depth, class, vinfo_return) Display *display; int screen; int depth; int class; XVisualInfo *vinfo_return;

VisualID XVisualIDFromVisual(visual) 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 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

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

References

XFree(X3xlib)
Xlib - C Language X Interface


30 January 1998
© 1998 The Santa Cruz Operation, Inc. All rights reserved.