Compartir a través de


Función wglUseFontOutlinesA (wingdi.h)

La función wglUseFontOutlines crea un conjunto de listas de visualización, una para cada glifo de la fuente de esquema seleccionada actualmente de un contexto de dispositivo, para su uso con el contexto de representación actual. Las listas de visualización se usan para dibujar caracteres 3D de fuentes TrueType. Cada lista de visualización describe un contorno de glifo en coordenadas de punto flotante.

La ejecución de glifos comienza con elfirstglyph de la fuente del contexto de dispositivo especificado. El tamaño cuadrado em de la fuente, el tamaño de cuadrícula notional del contorno de fuente original desde el que se ajusta la fuente, se asigna a 1,0 en las coordenadas x e y de las listas de visualización. El parámetro de extrusión establece la profundidad que tiene la fuente en la dirección z.

Thelpgmfparameter devuelve un GLYPHMETRICSFLOAT estructura que contiene información sobre la colocación y orientación de cada glifo en una celda de caracteres.

Sintaxis

BOOL wglUseFontOutlinesA(
  HDC                 unnamedParam1,
  DWORD               unnamedParam2,
  DWORD               unnamedParam3,
  DWORD               unnamedParam4,
  FLOAT               unnamedParam5,
  FLOAT               unnamedParam6,
  int                 unnamedParam7,
  LPGLYPHMETRICSFLOAT unnamedParam8
);

Parámetros

unnamedParam1

Especifica el contexto del dispositivo con la fuente de esquema deseada. La fuente de esquema de hdc se usa para crear las listas de visualización en el contexto de representación actual.

unnamedParam2

Especifica el primer conjunto de glifos que forman las listas de visualización de contorno de fuente.

unnamedParam3

Especifica el número de glifos en el conjunto de glifos usados para formar las listas de presentación de esquema de fuente. La función wglUseFontOutlines crea recuento listas de visualización, una lista para cada glifo en un conjunto de glifos.

unnamedParam4

Especifica una lista de presentación inicial.

unnamedParam5

Especifica la desviación de acorde máxima de los contornos originales. Cuando la desviación es cero, la desviación de acorde es equivalente a una unidad de diseño de la fuente original. El valor de desviación debe ser igual o mayor que 0.

unnamedParam6

Especifica cuánto se extrue una fuente en la dirección negativa z. El valor debe ser igual o mayor que 0. Cuando extrusión es 0, las listas de visualización no se extruyen.

unnamedParam7

Especifica el formato, ya sea WGL_FONT_LINES o WGL_FONT_POLYGONS, que se usará en las listas de presentación. Cuando se WGL_FONT_LINES formato, la función wglUseFontOutlines crea fuentes con segmentos de línea. Cuando de formato es WGL_FONT_POLYGONS, wglUseFontOutlines crea fuentes con polígonos.

unnamedParam8

Apunta a una matriz de recuentoGLYPHMETRICSFLOAT estructuras que van a recibir las métricas de los glifos. Cuando lpgmf es null, no se devuelven métricas de glifo.

Valor devuelto

Cuando la función se realiza correctamente, el valor devuelto se TRUE.

Cuando se produce un error en la función, el valor devuelto se FALSE y no se genera ninguna lista de presentación. Para obtener información de error extendida, llame a GetLastError.

Observaciones

La función wglUseFontOutlines define los glifos de una fuente de esquema con listas de visualización en el contexto de representación actual. La función wglUseFontOutlines solo funciona con fuentes TrueType; No se admiten fuentes de trazo y ráster.

Cada lista de visualización consta de segmentos de línea o polígonos y tiene un número de identificación único a partir de la listBase número.

El wglUseFontOutlines función aproxima los contornos del glifo mediante la subdividir las curvas cuadráticas B-spline del contorno en segmentos de línea, hasta que la distancia entre el contorno y el punto medio interpolado se encuentra dentro del valor especificado por desviación. Este es el formato final que se usa cuando formato es WGL_FONT_LINES. Al especificar WGL_FONT_OUTLINES, las listas para mostrar creadas no contienen ninguna normalidad; por lo tanto, la iluminación no funciona correctamente. Para obtener la iluminación correcta de las líneas, use WGL_FONT_POLYGONS y establezca glPolygonMode( GL_FRONT, GL_LINE ). Al especificar formato como WGL_FONT_POLYGONS los contornos se teselan aún más en triángulos independientes, ventiladores de triángulos, tiras de triángulos o tiras cuadrítulas para crear la superficie de cada glifo. Con WGL_FONT_POLYGONS, las listas para mostrar creadas llaman a glFrontFace( GL_CW ) o glFrontFace( GL_CCW ); por lo tanto, es posible que se modifique el valor actual de la cara frontal. Para obtener la mejor apariencia del texto con WGL_FONT_POLYGONS, seleccione las caras posteriores de la siguiente manera:

glCullFace(GL_BACK); 
glEnable(GL_CULL_FACE);

Una estructura GLYPHMETRICSFLOAT contiene información sobre la colocación y orientación de cada glifo en una celda de caracteres. El parámetro lpgmf es una matriz de GLYPHMETRICSFLOAT estructuras que contienen todo el conjunto de glifos para una fuente. Cada lista de visualización finaliza con una traducción especificada con la de gmfCellIncX y miembros gmfCellInc Y del GLYPHMETRICSFLOAT correspondiente. La traducción permite dibujar caracteres sucesivos en su dirección natural con una sola llamada a glCallLists.

Nota Con OpenGL para Windows, no puedes realizar llamadas GDI a un contexto de dispositivo cuando un formato de píxel está almacenado en búfer doble. Puede solucionar esta limitación mediante wglUseFontOutlines y wglUseFontBitmaps, al usar contextos de dispositivo con búfer doble.
 

Ejemplos

En el ejemplo de código siguiente se muestra cómo dibujar texto mediante wglUseFontOutlines.

HDC    hdc;  // A TrueType font has already been selected  
HGLRC  hglrc; 
GLYPHMETRICSFLOAT agmf[256]; 
 
// Make hglrc the calling thread's current rendering context  
wglMakeCurrent(hdc, hglrc); 
 
// create display lists for glyphs 0 through 255 with 0.1 extrusion  
// and default deviation. The display list numbering starts at 1000  
// (it could be any number)  
wglUseFontOutlines(hdc, 0, 255, 1000, 0.0f, 0.1f,  
            WGL_FONT_POLYGONS, &agmf); 
 
// Set up transformation to draw the string  
glLoadIdentity(); 
glTranslate(0.0f, 0.0f, -5.0f) 
glScalef(2.0f, 2.0f, 2.0f); 
 
// Display a string  
glListBase(1000); // Indicates the start of display lists for the glyphs  
// Draw the characters in a string  
glCallLists(24, GL_UNSIGNED_BYTE, "Hello Windows OpenGL World.");

Nota

El encabezado wingdi.h define wglUseFontOutlines como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de wingdi.h
biblioteca de Opengl32.lib
DLL de Opengl32.dll

Consulte también

GLYPHMETRICSFLOAT

OpenGL en Windows

funciones WGL de

glCallLists

glListBase

glTexGen

wglUseFontBitmaps