第1章 Xのグラフィックのメカニズム


nxgraph.hが提供する描画機能だけでは 満足できない人のためにXlib自体の使い方を説明します。この章ではこの XlibとX-Windowの関係やX-Windowの基本的なことを説明します。


VRAM

画面に表示されているwindowなどの絵の情報は、グラフィックカードのメモリに 随時記憶されていて、それが画面に随時表示されます。 このようなメモリを一般にVRAMと呼びます。 グラフィックを描くとは、このVRAMに色番号を代入することに他ならないのです。

VRAMの何bitでひとつの点の色 を表すかによっていくつかのグラフィックモードの種類があります。 本書ではもっとも手頃な8bitモードでの使用について解説します。


X-Protocol

X-Windowでは各アプリケーションは独自のwindowをもちますが ユーザーはそれを自由に移動したり他のwindowの下に置いたり することができます。このようなVRAMの調整はすべて X serverと 呼ばれる基幹プログラムが行ってくれます。プログラマは windowが移動されたりすることについて 何ら対策を取らずにアプリケーションを作成することができます。

VRAMにデータを書き込むのはXserverの仕事であってプログラムは 単にXserverに描画の依頼を送るだけです。つまりプログラマは プログラムにXserverに描画の依頼を送らせるだけなのです。MS-DOSでは プログラムがVRAMにデータを直接書き込むことができたので、さまざまな 高速化技法がプログラマによって編みだされましたが、X-Windowでは単に 依頼を送るだけなのであまり高速化技法はありません。

X-Window systemで採用されている描画の依頼などの通信方法は X-Protocolと呼ばれています。このX-Protocolによる通信はXlib と呼ばれるライブラリの関数が行ってくれます。 結局、プログラマはこのXlibにある描画関数を使うことでX-Window上の グラフィックを実現することになります。

次章よりこのXlibの具体的な使い方を解説します。この解説書を 作成するにあたり、下記の本を参考にしました。 私が思うに Xlibの入門にはこの本がもっとも適切です。

日刊工業新聞社
X-Window Ver.II プログラミング [第2版]
木下凌一・林秀幸 著

  • 第2章 ウィンドウを開く
  • 目次
    Copyright(C) by Naoki Watanabe. Oct 21st, 1995.
    渡辺尚貴 naoki@cms.phys.s.u-tokyo.ac.jp