Other Alias
XGetVisualInfo, XVisualIDFromVisual, XVisualInfo書式
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;
引き数
- class
- スクリーンのクラスを指定する。
- depth
- スクリーンの深さを指定する。
- display
- X サーバへの接続を指定する。
- nitems_return
- マッチしたビジュアル構造体の数が返される。
- screen
- スクリーンを指定する。
- visual
- ビジュアル型を指定する。
- vinfo_mask
- ビジュアルのマスク値を指定する。
- vinfo_return
- マッチしたビジュアル情報が返される。
- vinfo_template
- ビジュアル構造体とのマッチングで使うビジュアル属性を指定する。
説明
関数 XGetVisualInfo は vinfo_template で指定した属性と同じ属性を持つビジュアル構造体の リストを返す。 指定した vinfo_template を使ったテンプレートにマッチするビジュアル構造体 がない場合は、 XGetVisualInfo は NULL を返す。 この関数に返されたデータを解放するには、 XFree を使用すること。XMatchVisualInfo 関数は、あるスクリーンについて指定した深さとクラスにマッチするビジュアル のビジュアル情報を返す。 指定した深さとクラスにマッチするビジュアルは複数個存在することがあるの で、選ばれる正確なビジュアルは未定義である。 マッチするビジュアルがあった場合、 XMatchVisualInfo は 0 でない値を返し、ビジュアルの情報を vinfo_return に設定する。 そうでない場合、つまりビジュアルが見つからなかった場合は、 XMatchVisualInfo は 0 を返す。
関数 XVisualIDFromVisual は、指定したビジュアル型に対するビジュアルIDを返す。
構造体
XVisualInfo 構造体の内容を示す。
| #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 | 
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;

