wglUseFontBitmapsA 関数 (wingdi.h)
wglUseFontBitmaps 関数は、現在の OpenGL レンダリング コンテキストで使用するビットマップ表示リストのセットを作成します。 ビットマップ表示リストのセットは、デバイス コンテキストで現在選択されているフォントのグリフに基づいています。 その後、ビットマップを使用して OpenGL イメージに文字を描画できます。
wglUseFontBitmaps 関数は、hdc パラメーターの選択したフォントの最初のグリフで始まるカウント グリフの実行ごとに 1 つずつ、カウント表示リストを作成します。
構文
BOOL wglUseFontBitmapsA(
HDC unnamedParam1,
DWORD unnamedParam2,
DWORD unnamedParam3,
DWORD unnamedParam4
);
パラメーター
unnamedParam1
現在選択されているフォントを使用して、現在の OpenGL レンダリング コンテキストでグリフ ビットマップ表示リストを形成するデバイス コンテキストを指定します。
unnamedParam2
グリフビットマップ表示リストの形成に使用されるグリフの実行時の最初のグリフを指定します。
unnamedParam3
グリフビットマップ表示リストの形成に使用されるグリフの実行中のグリフの数を指定します。 関数は、実行内のグリフごとに 1 つずつ、 カウント 表示リストを作成します。
unnamedParam4
開始表示リストを指定します。
戻り値
関数が成功した場合、戻り値は TRUE になります。
関数が失敗した場合、戻り値は FALSE になります。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
wglUseFontBitmaps 関数は、現在の OpenGL レンダリング コンテキストでカウント表示リストを定義します。 各表示リストには、 listBase から始まる識別番号があります。 各表示リストは、 glBitmap への 1 回の呼び出しで構成されます。 ビットマップ リストの定義Base + i は、hdc で指定されたデバイス コンテキストで現在選択されているフォントのグリフの最初 + のi から取得されます。 グリフが定義されていない場合、関数は空の表示リストを定義します。
wglUseFontBitmaps 関数は、画面の平面にビットマップ テキストを作成します。 OpenGL でオブジェクトのラベル付けを有効にします。
現在のバージョンの Microsoft の OpenGL 実装では、ダブル バッファーピクセル形式のデバイス コンテキストに対して GDI 呼び出しを行うことはできません。 したがって、このようなデバイス コンテキストで GDI フォントとテキスト関数を使用することはできません。 wglUseFontBitmaps 関数を使用すると、この制限を回避し、ダブル バッファーデバイス コンテキストでテキストを描画できます。
この関数は、 glBitmap の各呼び出しのパラメーターを次のように決定します。
glBitmap パラメーター | 意味 |
---|---|
width | グリフの GLYPHMETRICS 構造体の gmBlackBoxX メンバーで返されるグリフのビットマップの幅。 |
height | グリフの GLYPHMETRICS 構造体の gmBlackBoxY メンバーで返されるグリフのビットマップの高さ。 |
xorig | グリフの GLYPHMETRICS 構造体の gmptGlyphOrigin.x メンバーで返されるグリフの原点の x オフセット。 |
yorig | グリフの GLYPHMETRICS 構造体の gmptGlyphOrigin.y メンバーで返される、グリフの原点の y オフセット。 |
xmove | グリフの GLYPHMETRICS 構造体の gmCellIncX メンバーで返される、次の文字セルの原点までの水平方向の距離。 |
ymove | グリフの GLYPHMETRICS 構造体の gmCellIncY メンバーで返される次の文字セルの原点までの垂直方向の距離。 |
ビットマップ | 1 に等しい uFormat を持つ GetGlyphOutline によって返されるグリフのビットマップ。 |
例
次のコード例は、 wglUseFontBitmaps を使用してテキストを描画する方法を示しています。
HDC hdc;
HGLRC hglrc;
// create a rendering context
hglrc = wglCreateContext (hdc);
// make it the calling thread's current rendering context
wglMakeCurrent (hdc, hglrc);
// now we can call OpenGL API
// make the system font the device context's selected font
SelectObject (hdc, GetStockObject (SYSTEM_FONT));
// create the bitmap display lists
// we're making images of glyphs 0 thru 254
// the display list numbering starts at 1000, an arbitrary choice
wglUseFontBitmaps (hdc, 0, 255, 1000);
// display a string:
// indicate start of glyph display lists
glListBase (1000);
// now draw the characters in a string
glCallLists (24, GL_UNSIGNED_BYTE, "Hello Windows OpenGL World");
注意
wingdi.h ヘッダーは、wglUseFontBitmaps をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wingdi.h |
Library | Opengl32.lib |
[DLL] | Opengl32.dll |