Видео
Установка видеорежима с любой глубиной цвета (от 8 бит и выше) с необязательным преобразованием, если режим не поддерживается аппаратно.
Прямая запись в линейный графический видеобуфер.
Создание поверхностей с атрибутами прозрачности или альфа-сопряжения (alpha blending).
Копирование поверхностей с автоматическим преобразованием в целевой формат, используя оптимизированные процедуры копирования и, по возможности, аппаратное ускорение. На платформе x86 имеется MMX оптимизированные процедуры копирования.
Используется аппаратное ускорение операций копирования и заполнения, если это поддерживается оборудованием.
|
| Совет:
Вы можете установить строку заголовка вашего приложения и иконку, используя функции SDL_WM_SetCaption() и SDL_WM_SetIcon() соответственно.
|
|
События
Предусмотрены события для:
Изменения вида приложения
Ввода с клавиатуры
Ввода мыши
Выхода по требованию пользователя
Каждое событие может быть разрешено или запрещено функцией SDL_EventState().
События передаются через указанную пользователем фильтрующую функцию перед отправлением их во внутреннюю очередь событий.
Очередь событий надежна при использовании потоков (thread-safe).
|
| Совет:
Используйте SDL_PeepEvents() для поиска событий конкретного типа в очереди событий.
|
|
Звук
Воспроизведение 8-ми и 16-ти битных звуков, моно или стерео, с необязательным преобразованием, если формат не поддерживается оборудованием.
Звук запускается независимо в отдельном потоке, используя для заполнения механизм пользовательской функции обратного вызова (callback).
Предназначен для обычного программного аудио микширования, но в архиве с примерами есть полноценная библиотека для вывода музыки и звуков.
|
| Совет:
Используйте функции SDL_LockAudio()
и SDL_UnlockAudio() для синхронизации доступа к данным, разделяемым между звуковой функцией обратного вызова и остальной частью программы.
|
|
CD-ROM аудио
Полный API для управления CD аудио
|
| Совет:
Если вы передадите NULL в качестве дескриптора CD-ROM в любую функцию CD-ROM API, это будет действовать как последний открытый CD-ROM.
|
|
Потоки
Простой API для создания потоков
Простые двоичные семафоры для синхронизации
|
| Совет:
Не используйте функции библиотеки C касающиеся ввода/вывода и управления памятью из потоков, если вы можете избежать их– они блокируют ресурсы, используемые другими потоками.
|
|
Таймеры
Получение прошедшего числа миллисекунд
Ожидание указанного числа миллисекунд
Установка одиночных периодических таймеров с точностью 10 мс
|
| Совет:
Вы можете спокойно заменить Win32 GetTickCount() на SDL_GetTicks().
|
|
Независимость от порядка байтов в слове
Определение порядка байтов в текущей системе
Процедуры для быстрого обмена значений
Чтение и запись данных с указанным порядком байтов
|
| Совет:
При чтении ваших файлов данных вам может потребоваться перестановка байтов в 16-битной графике.
|
|