glXUseXFont - X
のフォントから、ビットマップのディスプレイリストを生成する
void
glXUseXFont( Font
font,
int first,
int count,
int listBase )
引き数¶
- font
- 文字グリフを取得するフォントを指定する。
- first
- 取得する最初のグリフのインデックスを指定する。
- count
- 取得するグリフの数を指定する。
- listBase
- 生成する最初のディスプレイリストのインデックスを指定する。
glXUseXFont は、
listBase から
listBase+
count-1 で示される
count 個の
ディスプレイリストを生成する。それぞれのディスプレイリストは
glBitmap コマンドを 1
つ含んでいる。
ディスプレイリスト
listBase+
i の
glBitmap
コマンド
のパラメータは、グリフ
first+
i から得られる。
ビットマップのパラメータ
xorig, yorig, width, height
はそれぞれ、
フォントの寸法
descent-1,
-lbearing, rbearing-lbearing, ascent+descent
から算出される。
xmove
はグリフの
width
寸法から求められ、
ymove は 0
に設定される。
最後に、グリフのイメージは
glBitmap
が使える適切な形式に変換され
る。
glXUseXFont
を用いるのは、明示的に
X
のフォントにアクセスして
ディスプレイリストを生成するのに比べて効率的である。なぜなら、
ディスプレイリストはグリフデータのやりとりを必要としないでサーバ上で生
成されるからであり、サーバはそれぞれのビットマップへのアクセスが生じる
までビットマップの生成を遅らせることもできるからである。
リクエストされたけれど
font
では定義されていない全てのグリフに対
しては、空のディスプレイリストが生成される
現在の GLX
コンテクストが存在しなければ、
glXUseXFont は無視され る。
エラー¶
font
が有効なフォントでなければ
BadFont が生成される。
現在の GLX
コンテクストがディスプレイリスト構築モードであれば、
GLXBadContextState
が生成される。
呼び出しを行ったスレッドの現在のコンテクストに対応するドロウアブルがウィ
ンドウであり、かつそのウィンドウがもはや有効でなければ、
GLXBadCurrentWindow
が生成される。
関連項目¶
glBitmap,
glXMakeCurrent