Simple DirectMedia Layer (SDL) - це вільна кроссплатформенная мультимедійна бібліотека, що реалізує єдиний програмний інтерфейс до графічної підсистеми, звукових пристроїв та засобів вводу для широкого спектру платформ. Дана бібліотека активно використовується при написанні кроссплатформенних мультимедійних програм (в основному ігор).

Офіційно підтримуються операційні системи: Linux, Microsoft Windows, Windows CE, BeOS, Mac OS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD / OS, Solaris, IRIX і QNX. Також є неофіційна підтримка для AmigaOS, Dreamcast, Atari, AIX, OSF/Tru64, RISC OS, Symbian OS, OS / 2 [2], Syllable, MorphOS, PS2 і Android.

SDL API доступні для мовами: C, C + +, C #, VB.NET, D, Ada, Vala, Eiffel, Haskell, Erlang, Euphoria, Java, Lisp, Lua, ML, Pascal, Perl, PHP, Pike, Python і Ruby.

Основна частина SDL містить базовий, вельми обмежений, спектр можливостей. Додаткову функціональність забезпечують бібліотеки розширень, які зазвичай входять у поставку SDL.

SDL поширюється під умовами ліцензії GNU LGPL, яка дозволяє вільно використовувати бібліотеку в комерційних програмах за умови, що вона використовується в них як Колективна бібліотека.


1. Історія

SDL створив Сем Лантінга, будучи провідним програмістом компанії Loki Entertainment Software. Історія SDL починається з часів, коли Сем працював над програмою-емулятором Microsoft Windows для Macintosh. Він зауважив, що багато шматки коду без проблем можуть працювати на Linux. І він вирішив створити невелику бібліотеку, щоб їй могли скористатися інші програмісти. У жовтні 1997 був випущений реліз бібліотеки з версією 0.3, а пізніше цю бібліотеку щосили використовувала компанія Loki Software для портування ігор під Linux.


2. Структура

Архітектура SDL

SDL сам по собі досить простий. Його можна розглядати як тонкий прошарок, що забезпечує підтримку для 2D-операцій над пікселями, звуку, доступу до файлів, обробки подій і т. п. Він часто використовується на додаток до OpenGL, надаючи підтримку миші, клавіатури і джойстиків.

Бібліотека складається з декількох підсистем, таких як Video, Audio, CD-ROM, Joystick і Timer. На додаток до цієї базової низькорівневої функціональності, існує ряд стандартних бібліотек, що надають додаткову функціональність:

  • SDL image - підтримка різних растрових форматів
  • SDL mixer - функції для організації складного аудіо, в основному, зведення звуку з декількох джерел
  • SDL net - підтримка мережевих функцій
  • SDL ttf - підтримка шрифтів TrueType
  • SDL rtf - отрісовка тексту у форматі RTF

Примітки

  1. Simple DirectMedia Layer - www.ohloh.net / p / sdl
  2. Simple DirectMedia Layer - www.libsdl.org / index.php. Читальний - www.webcitation.org/65HD0A2Q7 з першоджерела 7 лютого 2012.