XGetVisualInfo(3) ビジュアル情報とビジュアル構造体を取得する

Other Alias

XMatchVisualInfo, 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;