Шаг 808 - CDC::GetGlyphOutline

DWORD GetGlyphOutline( UINT nChar, UINT nFormat, LPGLYPHMETRICS lpgm,
	DWORD cbBuffer, LPVOID lpBuffer, const MAT2 FAR* lpmat2 ) const;

Возвращаемое значение
Размер, в байтах, буфера, требуемого для получении информации, если cbBuffer - 0 или lpBuffer NULL. Иначе, это - положительное значение, если функция успешна, или -1, если имеется ошибка.

Параметры
nChar
Определяет символ, для которого информация должна быть возвращена.
nFormat
Определяет формат, в котором функция должна возвратить информацию. Это может быть одно из следующих значений, или 0.

Когда значение nFormat - 0, функция вносит структуру GLYPHMETRICS, но не возвращает данные иерархической структуры.
lpgm
Указатель на структуру GLYPHMETRICS, которая описывает размещение в символьной ячейке.
cbBuffer
Определяет размер буфера в который функциональная информация копий относительно символа иерархической структуры. Если это значение - 0, и nFormat параметр - любой, значения GGO_BITMAP или GGO_NATIVE, функция возвращают требуемый размер буфера.
lpBuffer
Указатель на буфер в который функциональную информацию копий относительно символа иерархической структуры. Если nFormat определяет значение GGO_NATIVE, информация скопирована в форме структур TTPOLYGONHEADER и TTPOLYCURVE. Если это значение NULL и nFormat - любой, значение GGO_BITMAP или GGO_NATIVE, функция возвращает требуемый размер буфера.
lpmat2
Указатель на структуру MAT2, которая содержит матрицу преобразования для символа. Этот параметр не может быть NULL, даже, когда значение GGO_NATIVE определено для nFormat.

Замечания
Получает кривую иерархической структуры или точечный рисунок для символа в текущем шрифте.
Прикладная программа может вращать символы, полученные в растровом формате, определяя 2 на 2 матрицу преобразования в структуре, указанной в lpmat2.
Glyph иерархическая структура возвращена как ряд контуров. Каждый контур определен структурой TTPOLYGONHEADER, сопровождаемой так многими структурами TTPOLYCURVE, как требуются, чтобы описать это. Все точки возвращены как структуры POINTFX и представляют абсолютные позиции, а не относительные смещение. Отправная точка, данная pfxStart членом структуры TTPOLYGONHEADER - отметка, в которой иерархическая структура для контура начинается. Структуры TTPOLYCURVE, которые следуют, могут быть или записи ломаной линии или сплайновые записи. Записи ломаной линии - ряд точек; линий, проведенный между точками описывают иерархическую структуру символа. Сплайновые записи представляют квадратные кривые, используемые TrueType (то есть квадратичные b-сплайны).


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 5.02.2002