Внимание! Статья основна из статей посвященных SDL 1.2 с сайта http://www.freepascal-meets-sdl.net/.
Давайте
попробуем загрузить шрифт True Type Fonts и
вывести текст в нашем SDL окне. Первое
что нам понадобится, это создать SDL окно.
Как это сделать я писал в статье Lazarus
World. Подключаем библиотеку SDL 1.2. Вторым
шагом будет найти и скачать True
Type Fonts шрифт.
Я скачал его отсюда.
Третье,
что нам необходимо сделать, это установить
библиотеку SDL_TTF используя следующую
команду в терминале:
sudo
apt-get install libsdl-ttf2.0-0 libsdl-ttf2.0-dev
Создайте
папку хранения нашего проекта, например
~/projects/lazarus/sdl/sdl_p2/.
Сохраните проект под именем sdl_p2.lpr.
Скопируйте
шрифт в папку с проектом, файл шрифта
называется cour.ttf. Нам осталось в редактор
кода добавить код,
собрать его и запустить на исполнение.
program sdl_p2; {$mode objfpc}{$H+} uses sdl, sdl_ttf; var screen :pSDL_SURFACE; fontface:pSDL_SURFACE; loaded_font: pointer; colour_font, colour_font2:pSDL_COLOR; i:BYTE; loopstop: boolean = FALSE; event: pSDL_EVENT; begin SDL_Init(SDL_INIT_VIDEO); screen := SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE); if screen = NIL then Halt; if Ttf_Init = -1 then Halt; loaded_font := TTF_OPENFONT('cour.ttf', 60); new(colour_font); new(colour_font2); colour_font^.r:=255; colour_font^.g:=0; colour_font^.b:=0; colour_font2^.r:=0; colour_font2^.g:=255; colour_font2^.b:=255; fontface:=TTF_RENDERTEXT_SHADED(loaded_font,
'Hello World!', colour_font^, colour_font2^); new(event); while loopstop = FALSE do begin if SDL_PollEvent(event) = 1 then begin case event^.type_ of SDL_KEYDOWN: begin if event^.key.keysym.sym = 27
then loopstop := TRUE; end; SDL_QUITEV: begin loopstop := TRUE; end; end; end; SDL_BLITSURFACE(fontface, NIL, screen, NIL); SDL_FLIP(screen); end; Dispose(colour_font); Dispose(colour_font2); Dispose(event); SDL_FreeSurface(screen); SDL_FreeSurface(fontface); TTF_CloseFont(loaded_font); TTF_QUIT; SDL_QUIT; end.
syntax highlighted by Code2HTML, v. 0.9.1
Комментариев нет:
Отправить комментарий