Lib_font32 - Библиотека для работы с графическими шрифтами
---------------------------------------------------------------------------------------------------------------
Init(k: integer) - Начальная инициализация библиотеки.
k - количество шрифтов, которое мы собираемся использовать
Процедура может вызываться неоднократно (например, для очистки памяти от ненужных уже шрифтов),
но после неё все измененные параметры текста сбиваются и шрифты нужно тоже загружать заново.
Font(i: integer) - Выбрать текущий шрифт.
i - номер шрифта, может быть от 0 до k-1 (см. функцию Init)
LoadFont(fname: string) - Загрузить шрифт. Номер шрифта должен был быть задан заранее процедурой Font().
fname - название шрифта (без расширения и без символа "/")
DrawString(s: string; x: integer; y: integer) - Вывод одной строки текста на экран (без переносов)
s - текст выводимой строки
x, y - координаты, куда нужно выводить строку
TextWindow(x: integer; y: integer; w: integer; h: integer) - Задать окно, в которое будет выводиться строка
x, y - координаты верхнего левого угла окна
w, h - ширина и высота окна
По умолчанию задано окно размером в весь экран данного телефона.
integer TextHeight - Возвращает высоту текущего шрифта в пикселах
integer TextWidth(s: string) - Возвращает длину текста s в пикселах.
Это нужно, например, для того, чтобы прикинуть влезет ли данная строка на экран.
Modify(im: image) - Модифицировать текущий шрифт. Применяется для изменения цвета/прозрачности
шрифта, например, с помощью библиотеки Lib_alpha.
integer Format(s: string; b: integer) - Разбить длинный текст на мелкие строчки так, чтобы он помещался в
окно, заданное процедурой TextWindow. Функция возвращает расчётную высоту полученного разбитого
текста в пикселах. Параметр b определяет тип добавления текста:
0 - Форматировать новый текст (старый при этом будет удалён)
1 - Добавить строку в конец к уже отформатированному тексту
При необходимости вставки в текст переноса строки нужно делать так:
s:='Сейчас будет пере-' + chr(32) + chr(13) + 'нос текста.';
или для двойного переноса:
s:='Михаил Булгаков' + chr(32) + chr(13) + chr(13) + 'Мастер и Маргарита';
DrawTextWindow - Нарисовать ранее разбитый функцией Format текст в окне
Окно должно было быть заданно функцией TextWindow до форматирования.
integer MoveUp(px: integer) - Перемотать текст в окне на px пикселов вверх
Функция возвращает 1 если нужна перерисовка экрана (т.е. текст был сдвинут) или 0 если перерисовка не нужна
integer MoveDown(px: integer) - Перемотать текст в окне на px пикселов вниз
Функция возвращает 1 если нужна перерисовка экрана (т.е. текст был сдвинут) или 0 если перерисовка не нужна
Spacing(i: integer) - Установить межбуквенное расстояние.
i - расстояние между буквами в пикселах. По умолчанию значение Spacing равно нулю.
Может принимать как положительные так и отрицательные значения.
Leading(i: integer) - Установить межстрочное расстояние (при выводе текста функцией DrawTextWindow)
i - межстрочное расстояние в пикселах. По умолчанию значение Leading равно нулю.
Может принимать как положительные так и отрицательные значения.
Align(integer i) - Установить выравнивание текста при отображении его функцией DrawTextWindow
i - требуемый тип выравнивания текста, может быть таким:
0 - Выравнивание строки по левому краю окна (стоит по умолчанию)
1 - Вырвнивание строки по центру окна
2 - Выравнивание строки по правому краю окна