wglUseFontBitmapsW, fonction (wingdi.h)
La fonction wglUseFontBitmaps crée un ensemble de listes d’affichage bitmap à utiliser dans le contexte de rendu OpenGL actuel. L’ensemble de listes d’affichage bitmap est basé sur les glyphes dans la police actuellement sélectionnée dans le contexte de l’appareil. Vous pouvez ensuite utiliser des bitmaps pour dessiner des caractères dans une image OpenGL.
La fonction
Syntaxe
BOOL wglUseFontBitmapsW(
HDC unnamedParam1,
DWORD unnamedParam2,
DWORD unnamedParam3,
DWORD unnamedParam4
);
Paramètres
unnamedParam1
Spécifie le contexte d’appareil dont la police actuellement sélectionnée sera utilisée pour former les listes d’affichage bitmap de glyphe dans le contexte de rendu OpenGL actuel.
unnamedParam2
Spécifie le premier glyphe dans l’exécution des glyphes qui seront utilisés pour former des listes d’affichage bitmap de glyphe.
unnamedParam3
Spécifie le nombre de glyphes dans l’exécution de glyphes qui seront utilisés pour former des listes d’affichage bitmap de glyphe. La fonction crée nombre listes d’affichage, une pour chaque glyphe de l’exécution.
unnamedParam4
Spécifie une liste d’affichage de départ.
Valeur de retour
Si la fonction réussit, la valeur de retour est TRUE.
Si la fonction échoue, la valeur de retour est FALSE. Pour obtenir des informations d’erreur étendues, appelez GetLastError.
Remarques
La fonction wglUseFontBitmaps définit nombre de listes d’affichage dans le contexte de rendu OpenGL actuel. Chaque liste d’affichage a un numéro d’identification, en commençant à listBase. Chaque liste d’affichage se compose d’un seul appel pour glBitmap. La définition de bitmap listBase + i est extraite du glyphe premier + i de la police actuellement sélectionnée dans le contexte de l’appareil spécifié par hdc . Si un glyphe n’est pas défini, la fonction définit une liste d’affichage vide pour celle-ci.
La fonction wglUseFontBitmaps crée du texte bitmap dans le plan de l’écran. Il active l’étiquetage des objets dans OpenGL.
Dans la version actuelle de l’implémentation de Microsoft d’OpenGL, vous ne pouvez pas effectuer d’appels GDI à un contexte d’appareil qui a un format de pixel double mémoire tampon. Par conséquent, vous ne pouvez pas utiliser les polices GDI et les fonctions de texte avec ces contextes d’appareil. Vous pouvez utiliser la fonction wglUseFontBitmaps pour contourner cette limitation et dessiner du texte dans un contexte d’appareil double mémoire tampon.
La fonction détermine les paramètres de chaque appel à glBitmap comme suit.
paramètre glBitmap | Signification |
---|---|
largeur | Largeur de la bitmap du glyphe, comme retourné dans la structure |
hauteur | Hauteur de la bitmap du glyphe, comme retourné dans la gmBlackBoxY membre de la structure GLYPHMETRICS du glyphe. |
xorig | Décalage x de l’origine du glyphe, tel qu’il est retourné dans la structure |
yorig | Décalage y de l’origine du glyphe, tel qu’il est retourné dans la structure |
xmove | Distance horizontale à l’origine de la cellule de caractère suivante, comme retourné dans la structure gmCellIncX membre du glyphe GLYPHMETRICS. |
ymove | Distance verticale à l’origine de la cellule de caractère suivante, telle qu’elle est retournée dans le membre |
bitmap | Bitmap pour le glyphe, comme retourné par GetGlyphOutline avec uFormat égal à 1. |
Exemples
L’exemple de code suivant montre comment utiliser wglUseFontBitmaps pour dessiner du texte.
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");
Note
L’en-tête wingdi.h définit wglUseFontBitmaps comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
serveur minimum pris en charge | Windows 2000 Server [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | wingdi.h |
bibliothèque | Opengl32.lib |
DLL | Opengl32.dll |