FrontPage > C/C++ > グラフィックのちらつき防止

グラフィックのちらつき防止

Pixmapを使用することでちらつきを防止できます。

Windowへ直接描画するのではなく、 Pixmapへ描画し、PixmapをWindowへコピーします。

  1. XCreatePixmapで、Pixmapを生成する。
    Pixmap XCreatePixmap(Display*, Drawable,
        (unsigned int)width, (unsigned int)height, 
        (unsigned int)DefaultDepth (Display*, 0));
  1. Pixmapへ画像等を描画する。
    XDrawLine、XDrawRectangle、XDrawArc、XDrawString・・・等。
  1. XCopyAreaを使用し、PixmapからWindowへコピー(部分コピーも可)。
    int XCopyArea(Display*, (Drawable)src, (Drawable)dest,
        GC, (int)src_x, (int)src_y,
        (unsigned int)width, (unsigned int)height,
        (int)dest_x, (int)dest_y);
  1. 不要ならXFreePixmapにて解放。
    int XFreePixmap(Display*, Pixmap);

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-08-24 (日) 16:23:24