функция wglUseFontBitmapsW (wingdi.h)
Функция wglUseFontBitmaps создает набор списков отображения растровых карт для использования в текущем контексте отрисовки OpenGL. Набор списков отображения растровых изображений основан на глифах в выбранном шрифте в контексте устройства. Затем можно использовать растровые изображения для рисования символов на изображении OpenGL.
Функция wglUseFontBitmaps создает списки отображения счетчиков по одному для каждого запуска счетчика глифов, начинающихся с первого глифа в выбранном шрифте hdc.
Синтаксис
BOOL wglUseFontBitmapsW(
HDC unnamedParam1,
DWORD unnamedParam2,
DWORD unnamedParam3,
DWORD unnamedParam4
);
Параметры
unnamedParam1
Указывает контекст устройства, выбранный в данный момент шрифт которого будет использоваться для формирования списков отображения растрового изображения глифа в текущем контексте отрисовки OpenGL.
unnamedParam2
Указывает первый глиф в выполнении глифов, которые будут использоваться для формирования списков отображения глифов.
unnamedParam3
Указывает количество глифов в выполнении глифов, которые будут использоваться для формирования списков отображения глифов. Функция создает число отображаемых списков, по одному для каждого глифа в выполнении.
unnamedParam4
Задает начальный список отображения.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение TRUE.
Если функция завершается ошибкой, возвращаемое значение FALSE. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.
Замечания
Функция
Функция wglUseFontBitmaps создает растровый текст в плоскости экрана. Он включает маркировку объектов в OpenGL.
В текущей версии реализации OpenGL корпорации Майкрософт нельзя выполнять вызовы GDI к контексту устройства с двойным буферным форматом пикселей. Поэтому нельзя использовать шрифты GDI и текстовые функции с такими контекстами устройств. Вы можете использовать функцию wglUseFontBitmaps для обхода этого ограничения и рисования текста в контексте двойного буферизованного устройства.
Функция определяет параметры каждого вызова glBitmap следующим образом.
Параметр glBitmap | Значение |
---|---|
ширины | Ширина растрового изображения глифа, как возвращено в gmBlackBoxX член глифа структуры GLYPHMETRICS. |
высоты | Высота растрового изображения глифа, как возвращается в gmBlackBoxY член глифа GLYPHMETRICS структуры. |
xorig | Смещение x происхождения глифа, как возвращено в gmptGlyphOrigin.x член GLYPHMETRICS структуры глифа. |
yorig | Смещение происхождения глифа, как возвращено в gmptGlyphOrigin.y член ГЛИФМЕТРИИ структуры глифа. |
xmove | Горизонтальное расстояние к источнику следующей ячейки символов, как было возвращено в gmCellIncX член глифа структуры глифа. |
ymove | Вертикальное расстояние к источнику следующей ячейки символов, как возвращено в gmCellIncY член глифа структуры GLYPHMETRICS. |
растровое изображение | Растровое изображение для глифа, возвращаемое GetGlyphOutline с uFormat равно 1. |
Примеры
В следующем примере кода показано, как использовать 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 в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | wingdi.h |
библиотеки |
Opengl32.lib |
DLL | Opengl32.dll |
См. также
Функции WGL