| Описание |
class MGFFONT;
Класс реализации текстурных шрифтов. Формат данных о шрифте - бинарный (файлы с расширением *.fb). В утилитах есть конвертер шрифтов от движка HGE в формат MGFONT. Так же там лежит утилита от движка HGE для генерации текстурных шрифтов.
Конструктор
MGFFONT(const char *filename);
filename
- пусть к файлу шрифта. |
| содержание / вверх |
| Методы |
void SetScale(float scale);
Устанавливает масштаб шрифта. Позволяет изменять размер выводимого текста.
void SetAngle(float angle);
Устанавливает наклон текста в градусах.
void SetColor(int color);
Устанавливает цвет текста.
float GetWidth(const char *text, bool scale = true);
Возвращает ширину текста text. Если scale равен false - без учёта масштабирования.
float GetHeight(bool scale = true);
Возвращает высоту шрифта. Если scale равен false - без учёта масштабирования.
int GetLinesCount(const char *text);
Возвращает количество строк в тексте text.
void CreateWidth(float width, char *text);
Вставляет переносы строк в text так, чтобы ширина текста не превышала width.
void Render(float x, float y, int align, const char *text);
Выводит текст text в координатах (x; y) с выравниванием align.
align принимает значения:
MGFFONT_LEFT - выравнивание по левому краю.
MGFFONT_CENTER - выравнивание по центру.
MGFFONT_RIGHT - выравнивание по правому краю.
При выводе текста учитывается перенос строки \n
void RenderInBox(float x, float y, float bx, float by, float bw, float bh, int align, const char *text);
Выводит текст в области (bx, by, bw, bh) с допущением в 1 символ. ЧТобы сделать плавный скроллинг в заданной области воспользуйтесь функцией mgf->Gfx_SetClipping(bx, by, bw, bh) перед RenderInBox(...). После вывода не забудьте восстановить область отсечения mgf->Gfx_SetClipping().
|
| содержание / вверх |
| Пример |
MGFFONT *font = new MGFFONT("font.fb");
...
// render
font->SetColor(0xFF0000FF);
font->SetScale(1.3f);
font->SetAngle(-90.f);
font->Render(40.f, 5.f, MGFFONT_RIGHT, "Этот текст\nИмеет перенос\nстрок."); |
| содержание / вверх |
|