fonction wglUseFontBitmapsA (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 de 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 wglUseFontBitmaps crée des listes d’affichage de nombre , une pour chacune d’une série de glyphes de nombre qui commence par le premier glyphe dans les polices sélectionnées du paramètre hdc .
Syntaxe
BOOL wglUseFontBitmapsA(
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 de l’exécution des glyphes qui seront utilisés pour former des listes d’affichage bitmap de glyphes.
unnamedParam3
Spécifie le nombre de glyphes dans l’exécution des glyphes qui seront utilisés pour former des listes d’affichage bitmap de glyphes. La fonction crée des listes d’affichage de nombre , une pour chaque glyphe dans l’exécution.
unnamedParam4
Spécifie une liste d’affichage de départ.
Valeur retournée
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étaillées sur l’erreur, appelez GetLastError.
Remarques
La fonction wglUseFontBitmaps définit lenombre de listes d’affichage dans le contexte de rendu OpenGL actuel. Chaque liste d’affichage a un numéro d’identification, commençant à listBase. Chaque liste d’affichage se compose d’un seul appel à glBitmap. La définition de bitmap listBase + i est extraite du premieri du glyphe + de la police actuellement sélectionnée dans le contexte d’appareil spécifié par hdc. Si un glyphe n’est pas défini, la fonction définit une liste d’affichage vide pour celui-ci.
La fonction wglUseFontBitmaps crée du texte bitmap dans le plan de l’écran. Il permet l’étiquetage des objets dans OpenGL.
Dans la version actuelle de l’implémentation d’OpenGL par Microsoft, vous ne pouvez pas effectuer d’appels GDI à un contexte d’appareil qui a un format de pixel à double mise en 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 mise en mémoire tampon.
La fonction détermine les paramètres de chaque appel à glBitmap comme suit.
paramètre glBitmap | Signification |
---|---|
width | Largeur de la bitmap du glyphe, comme retourné dans le membre gmBlackBoxX de la structure GLYPHMETRICS du glyphe . |
height | Hauteur de l’image bitmap du glyphe, comme retourné dans le membre gmBlackBoxY de la structure GLYPHMETRICS du glyphe . |
xorig | Décalage x de l’origine du glyphe, tel que retourné dans le membre gmptGlyphOrigin.x de la structure GLYPHMETRICS du glyphe . |
yorig | Décalage y de l’origine du glyphe, tel que retourné dans le membre gmptGlyphOrigin.y de la structure GLYPHMETRICS du glyphe . |
xmove | Distance horizontale à l’origine de la cellule de caractères suivante, comme retourné dans le membre gmCellIncX de la structure GLYPHMETRICS du glyphe . |
ymove | Distance verticale à l’origine de la cellule de caractères suivante, telle que retournée dans le membre gmCellIncY de la structure GLYPHMETRICS du glyphe . |
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");
Notes
L’en-tête wingdi.h définit wglUseFontBitmaps comme un 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.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wingdi.h |
Bibliothèque | Opengl32.lib |
DLL | Opengl32.dll |