Funzione wglUseFontOutlinesA (wingdi.h)
La funzione wglUseFontOutlines crea un set di elenchi di visualizzazione, uno per ogni glifo del tipo di carattere struttura attualmente selezionato di un contesto di dispositivo, da usare con il contesto di rendering corrente. Gli elenchi di visualizzazione vengono utilizzati per disegnare caratteri 3D di tipi di carattere TrueType. Ogni elenco di visualizzazione descrive un contorno del glifo nelle coordinate a virgola mobile.
L'esecuzione dei glifi inizia con ilfirstglyph del tipo di carattere del contesto di dispositivo specificato. La dimensione quadrata em del tipo di carattere, la dimensione della griglia notzionale del contorno del carattere originale da cui è montato il tipo di carattere, viene mappata a 1,0 nelle coordinate x e y negli elenchi di visualizzazione. Il parametro di estrusione imposta la profondità del tipo di carattere nella direzione z.
Illpgmfparameter restituisce una struttura GLYPHMETRICSFLOAT che contiene informazioni sulla posizione e sull'orientamento di ogni glifo in una cella di caratteri.
Sintassi
BOOL wglUseFontOutlinesA(
HDC unnamedParam1,
DWORD unnamedParam2,
DWORD unnamedParam3,
DWORD unnamedParam4,
FLOAT unnamedParam5,
FLOAT unnamedParam6,
int unnamedParam7,
LPGLYPHMETRICSFLOAT unnamedParam8
);
Parametri
unnamedParam1
Specifica il contesto del dispositivo con il tipo di carattere struttura desiderato. Il tipo di carattere struttura di hdc viene usato per creare gli elenchi di visualizzazione nel contesto di rendering corrente.
unnamedParam2
Specifica il primo del set di glifi che formano gli elenchi di visualizzazione della struttura del carattere.
unnamedParam3
Specifica il numero di glifi nel set di glifi utilizzati per formare gli elenchi di visualizzazione della struttura del carattere. La funzione wglUseFontOutlines
unnamedParam4
Specifica un elenco di visualizzazione iniziale.
unnamedParam5
Specifica la deviazione massima del coro dai contorni originali. Quando la deviazione è zero, la deviazione del coro equivale a un'unità di progettazione del tipo di carattere originale. Il valore della deviazione deve essere uguale o maggiore di 0.
unnamedParam6
Specifica la quantità di carattere estrusa nella direzione negativa z. Il valore deve essere uguale o maggiore di 0. Quando 'estrusione è 0, gli elenchi di visualizzazione non vengono estrusi.
unnamedParam7
Specifica il formato, WGL_FONT_LINES o WGL_FONT_POLYGONS, da utilizzare negli elenchi di visualizzazione. Quando
unnamedParam8
Punta a una matrice di conteggiostrutture GLYPHMETRICSFLOAT che ricevono le metriche dei glifi. Quando lpgmf è NULL, non viene restituita alcuna metrica del glifo.
Valore restituito
Quando la funzione ha esito positivo, il valore restituito viene TRUE.
Quando la funzione ha esito negativo, il valore restituito viene FALSE e non vengono generati elenchi di visualizzazione. Per ottenere informazioni estese sull'errore, chiamare GetLastError.
Osservazioni
La funzione wglUseFontOutlines
Ogni elenco di visualizzazione è costituito da segmenti di linea o poligoni e ha un numero di identificazione univoco a partire dal listBase numero.
La funzione wglUseFontOutlines approssima i contorni del glifo suddividendo le curve quadratiche B-spline del contorno in segmenti di linea, fino a quando la distanza tra il contorno e il punto intermedio interpolato si trova all'interno del valore specificato da deviazione. Questo è il formato finale utilizzato quando formato
glCullFace(GL_BACK);
glEnable(GL_CULL_FACE);
Una struttura GLYPHMETRICSFLOAT contiene informazioni sulla posizione e sull'orientamento di ogni glifo in una cella di caratteri. Il parametro lpgmf
Esempi
Nell'esempio di codice seguente viene illustrato come disegnare testo usando 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
L'intestazione wingdi.h definisce wglUseFontOutlines come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 2000 Professional [solo app desktop] |
server minimo supportato | Windows 2000 Server [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
wingdi.h |
libreria |
Opengl32.lib |
dll | Opengl32.dll |