Показать сообщение отдельно
Старый 12.07.2008, 04:08   #1
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Сообщение Lib_font32: Графические шрифты

Поседнее обновление 02.10.2009
Начал ваять библиотеку с поддержкой графических шрифтов.
Пока функции такие:

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 в пикселах.
Это нужно, например, для того, чтобы прикинуть влезет ли данная строка на экран?

Щас работаю над процедурой вывода текста в окошко с возможностью скролинга. Скоро будет.
Сами шрифты можно создавать с помощью программы GenFont.exe, которая уже ранее выкладывалась на данном форуме. Соответственно в проект нужно будет добавлять для каждого шрифта 2 файлика: png и dat.
При желании, можно делать полупрозрачность и менять цвет шрифта с помощью библиотеки Lib_alpha.

По глобальным замыслам, это будет первая библиотека в череде библиотек реализации собственного GUI интерфейса. Позже будут библиотеки для меню и окон.

PS: Всё таки иногда полезно подождать каменный цветок.
Вложения
Тип файла: zip Genfont.zip (253.3 Кб, 1845 просмотров)
Тип файла: zip Lib_font32.zip (4.8 Кб, 1741 просмотров)
Тип файла: zip Font32test.zip (10.1 Кб, 1510 просмотров)

Последний раз редактировалось Piligrim, 02.10.2009 в 22:34.
(Offline)
 
Ответить с цитированием
Эти 17 пользователя(ей) сказали Спасибо odd за это полезное сообщение:
barsunduk (13.01.2011), boydjon (16.07.2010), cherepets (25.08.2009), Eggis (19.08.2010), GRAY_WOLF (03.10.2009), im_zorg (03.02.2010), InkutaY (12.07.2008), Ksanatos (11.02.2010), Kurdt (09.08.2008), Mach94 (18.07.2009), Rock2roll (31.07.2010), scimitar (02.01.2010), S_007 (23.02.2012), Trazzy (20.09.2009), valhof (09.08.2008), wrz77 (11.09.2008), Дийкстра (02.08.2008)