書式
#include <X11/extensions/Xdbe.h>
Status XdbeSwapBuffers(
Display *dpy,
XdbeSwapInfo *swap_info,
int num_windows)
説明
この関数は、ウィンドウのリストに対して前面バッファと背面バッファを スワップする。 引き数 num_windows はバッファをスワップするウィンドウの数を指定する。これは、配列 swap_info 内の要素数である。引き数 swap_info は、スワップを行うためにウィンドウごとに必要な情報を指定する。XdbeSwapInfo 構造体は次のフィールドを持つ。
Window swap_window
XdbeSwapAction swap_action
swap_window は、バッファをスワップするウィンドウを指定する。 swap_action は、この swap_window に対して用いるスワップ動作を指定する。
swap_action は、 swap_window の新しい背面バッファがどうなるかを決定する。 古い背面バッファを可視状態にすることに加え、リスト中で対になる。 定義された動作を以下に示す:
- XdbeUndefined
- 新しい背面バッファの内容は未定義である。これは最も効率の良い動作だと考 えられる。なぜならば、ライブラリの実装は必要ならばバッファの内容を破棄 できるからである。
- XdbeBackground
- 新しい背面バッファの隠されていない領域が、ウィンドウの背景色で塗りつぶ される。この動作により、スワップの間に高速な領域クリア機能を使うことが できる。
- XdbeUntouched
- 新しい背面バッファの隠されていない領域は、スワップによって変更されない。
- XdbeCopied
- 新しい背面バッファの隠されていない領域は、古い背景バッファの内容となる。
エラー
- BadMatch
- ダブルバッファでないウィンドウが指定された。あるいは、同じウィンドウが 2度指定された。
- BadWindow
- 不正なウィンドウが指定された。
- BadValue
- 不正なスワップ動作が指定された。