XdbeSwapBuffers(3) swaps front and back DBE buffers.

書式

#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
不正なスワップ動作が指定された。