Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Гущин_SDL.pdf
Скачиваний:
168
Добавлен:
17.03.2018
Размер:
1.09 Mб
Скачать

if (_ef && !_exp && !_minusEf) _ef=0; //удаление символа exp

else

if (_ef && !_exp && _minusEf) _minusEf=0; //удаление минуса после exp else

if (_ef && _exp<=EXP)

_exp=_exp-1; //удаление цифры в степени // Смещаемся на 20 пикселей влево (одно "знакоместо")

x-=20;

//Затираем знакоместо черным цветом

Draw_FillRect(who_draw,x,y,20,42,0);

//Обновляем экран

SDL_UpdateRect(who_draw,0,0,width,height); _kol=_kol-1; /* Уменьшаем число символов */ continue; /*Продолжаем ожидание событий */

}

if(event.key.keysym.sym==SDLK_MINUS && ((!_minusf && !_whole && !_ef) || (!_minusEf && _ef && !_exp)))

{

OutSymbolFntColorXY(who_draw, fnt, color, x,y,SDLK_MINUS); x+=20; s[++_kol]=45;

if (!_minusf && !_whole && !_ef) _minusf=1;

else _minusEf=1;

continue;

}

if (event.key.keysym.sym==SDLK_PERIOD && !*pointf && !_ef){ if (!_whole){

s[++_kol]=48; _whole=1; OutSymbolFntColorXY(who_draw,fnt,color,x,y,SDLK_0);

}

s[++_kol]=46;

OutSymbolFntColorXY(who_draw, fnt, color,x,y,SDLK_PERIOD); x+=20;

_pointf=1; continue;

}

if (event.key.keysym.sym==SDLK_e && !_ef){ OutSymbolFntColorXY(who_draw, fnt, color,x,y,SDLK_e);

x+=20; s[++_kol]=101; _ef=1; continue;

}

if (event.key.keysym.sym==SDLK_RETURN && _kol!=-1)

{/* Завершение ввода */ double tmp;

s[_kol+1]='\0';

sscanf(s,"%lf",&tmp); /*Отсутствует проверка ввода! */ return tmp;

}

if (event.key.keysym.sym == SDLK_ESCAPE)

/* Будет возвращено значение по умолчанию. */ break;

} /* Конец обработки события SDL_KEYDOWN */

}/* Конец цикла обработки событий */

return defval;

} /* конец тела функции input_double */

Библиографический список

69

1.Керниган, Брайен, Ритчи, Деннис. Язык программирования C. 2-е изд.: пер. с англ. М.: Изд. дом «Вильямс»,

2013. 304 с.

2.SDL Library Documentation. URL: www.libsdl.org/release/SDL-1.2.15/docs/ html/index.html (дата обращения: 28.11.2013).

70

 

О Г Л А В Л Е Н И Е

 

Введение. Работа с клавиатурой и дисплеем .............................................................

3

1.

Основные возможности библиотеки семейства SDL.............................................

8

2.

Начало работы с SDL 1.2.15, SDL_draw 1.2.13 и SDL_ttf 2.0.11 в интегри-рованной среде разработки Dev-Cpp

 

4.9.9.2 под управлением Windows XP ...................................................................

9

3.

Подключение и инициализация библиотеки SDL ................................................

13

4.

Графические примитивы библиотеки SDL_draw .................................................

17

5.

Рисование сложных фигур .....................................................................................

19

6.

Работа с поверхностями в библиотеке SDL ..........................................................

30

7.

Имитация движения при выводе на дисплей ........................................................

38

8.

Вывод текста с помощью библиотеки SDL_ttf .....................................................

43

9.

Обработка событий средствами библиотеки SDL................................................

46

10. Построение графиков функций на дискретных устройствах отображения информации 51

П р и л о ж е н и е 1. Примеры наложения поверхностей .......................................

53

П р и л о ж е н и е 2. Примеры работы со шрифтами..............................................

57

П р и л о ж е н и е 3. Примеры построения графика функции с использова-нием библиотеки SDL 61

Библиографический список.........................................................................................

69

Гущин Артем Николаевич

Применение библиотеки SDL для разработка программ

на языке C

Редактор Г.М. Звягина

Корректор Л.А. Петрова Подписано в печать 9.10.2014. Формат бумаги 60х84/16. Бумага документная.

Печать трафаретная. Усл. печ. л. 6,85. Тираж 100 экз. Заказ № 150. Балтийский государственный технический университет Типография БГТУ

190005, С.-Петербург, 1-я Красноармейская ул., д.1

Соседние файлы в предмете Программирование