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