XdbeQueryExtension | 拡張機能のバージョンを取得 |
---|---|
XdbeGetVisualInfo | ダブルバッファリングをサポートしているビジュアルの情報を取得 |
XdbeFreeVisualInfo | XdbeScreenVisualInfo を解放 |
XdbeAllocateBackBufferName | ウィンドウのバックバッファを参照するためのIDを取得 |
XdbeDeallocateBackBufferName | バックバッファを解放 |
XdbeSwapBuffers | フロントバッファとバックバッファを交換 |
XdbeBeginIdiom | イディオムシーケンスの開始をマーク |
XdbeEndIdiom | イディオムシーケンスの終了をマーク |
XdbeGetBackBufferAttributes | バックバッファの属性を取得 |
#include <X11/extensions/Xdbe.h>
-lXext
-lXext
Status XdbeQueryExtension(Display *dpy, int *major_version_return, int *minor_version_return);
サーバーがサポートする DBE バージョンを取得する。
この関数の前に、Xdbe 関数を呼び出すことはできません。
クライアントがこのルールに違反した場合、クライアントが行うすべての Xdbe 呼び出しの影響は、未定義です。
この関数の前に、Xdbe 関数を呼び出すことはできません。
クライアントがこのルールに違反した場合、クライアントが行うすべての Xdbe 呼び出しの影響は、未定義です。
major_version_return,minor_version_return
実際に使用できるバージョンが返る。現在は ver 1.0 のみ。
戻り値
サーバーから返されたバージョンと互換性がある場合は、0 以外が返る。
拡張機能をサポートしていない場合や、サーバーとの通信中にエラーが発生した場合、サーバーとライブラリのプロトコルのバージョンに互換性がない場合は、0 を返します。
拡張機能をサポートしていない場合や、サーバーとの通信中にエラーが発生した場合、サーバーとライブラリのプロトコルのバージョンに互換性がない場合は、0 を返します。
XdbeScreenVisualInfo *XdbeGetVisualInfo(Display *dpy, Drawable *screen_specifiers, int *num_screens); typedef struct { int count; //visinfo の個数 XdbeVisualInfo *visinfo; } XdbeScreenVisualInfo; typedef struct { VisualID visual; int depth; int perflevel; //パフォーマンスレベル } XdbeVisualInfo;
ダブルバッファリングをサポートしているビジュアルの情報を取得
screen_specifiers
ビジュアルを要求するスクリーンのルートウィンドウの配列
num_screens
screen_specifiers の数を指定する。
*num_screens が 0 の場合、すべてのスクリーンの情報を要求する。その場合、見つかったスクリーンの数が返る。
*num_screens が 0 の場合、すべてのスクリーンの情報を要求する。その場合、見つかったスクリーンの数が返る。
戻り値
エラー時は NULL。
num_screens 個の XdbeScreenVisualInfo 構造体の配列のポインタが返る。
screen_specifiers の n 番目の Drawable に対応している。
num_screens 個の XdbeScreenVisualInfo 構造体の配列のポインタが返る。
screen_specifiers の n 番目の Drawable に対応している。
XdbeBackBuffer XdbeAllocateBackBufferName(Display *dpy, Window window, XdbeSwapAction swap_action); typedef Drawable XdbeBackBuffer; typedef unsigned char XdbeSwapAction;
指定されたウィンドウのバックバッファを参照するために使用される、ドローアブル ID を返します。
この ID を描画対象にすると、バックバッファに描画できます。
この ID を描画対象にすると、バックバッファに描画できます。
swap_action
XdbeSwapBuffers の呼び出し時に使用される可能性がある swap_action を示すヒント。
実際の swap_action は、この関数で渡された swap_action と同じである必要はありませんが、クライアントは、可能な限り正確な情報を提供することが推奨されます。
実際の swap_action は、この関数で渡された swap_action と同じである必要はありませんが、クライアントは、可能な限り正確な情報を提供することが推奨されます。
XdbeUndefined | バックバッファの内容は未定義 |
---|---|
XdbeBackground | バックバッファは、ウィンドウの背景色で塗りつぶされる |
XdbeUntouched | バックバッファの内容は、スワップによって変更されない |
XdbeCopied | バックバッファは、フォアグラウンドのコピーとなる |
Status XdbeDeallocateBackBufferName(Display *dpy, XdbeBackBuffer buffer);
XdbeAllocateBackBufferName によって取得されたバッファを解放します。
バッファは、ウィンドウのバックバッファとして有効なものである必要があります。そうでない場合は、XdbeBadBuffer エラーが発生します。
ウィンドウが破棄された場合、関連付けられているバックバッファも破棄されます。
バッファは、ウィンドウのバックバッファとして有効なものである必要があります。そうでない場合は、XdbeBadBuffer エラーが発生します。
ウィンドウが破棄された場合、関連付けられているバックバッファも破棄されます。