Simple DirectMedia Layer

Simple DirectMedia Layer
SDL
SDL logo.png
Développeur Sam Lantinga
Dernière version 1.2.14 (19 octobre 2009) [+/-]
Environnements Multiplate-forme
Type bibliothèque logicielle
Licence GNU LGPL 2
Site web LibSDL.org

Simple DirectMedia Layer (SDL) est une bibliothèque très utilisée dans le monde de la création d'applications multimédias en deux dimensions comme les jeux vidéo, les démos graphiques, les émulateurs, etc. Sa simplicité, sa flexibilité, sa portabilité et surtout sa licence GNU LGPL contribuent à son grand succès. Elle est de plus considérée comme un outil suffisamment simple, et est souvent conseillée aux programmeurs débutants pour commencer dans le monde de la programmation multimédia.

Cette bibliothèque se retrouve sous de nombreux systèmes d'exploitation, comme Linux, Windows, Windows CE, BeOS, Mac OS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, et QNX. Elle fonctionne aussi sous quelques systèmes embarqués, par exemple des consoles de jeu portable. Elle est sous licence GNU LGPL version 2.

Écrite en C, elle peut cependant être utilisée par de nombreux langages de programmation, comme l'Ada, C\C++, C#, Ch, D, Eiffel, Erlang, Euphoria, Guile, Haskell, OCaml, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python (grâce à Pygame), Ruby et Smalltalk.

Sommaire

Fonctionnalités

En outre, la SDL gère :

  • l'affichage vidéo ;
  • les évènements ;
  • l'audio numérique ;
  • la gestion des périphériques communs comme le clavier et la souris mais aussi le joystick ;
  • la lecture de CD-Audio ;
  • le multithreading ;
  • l'utilisation de timers précis.

Il existe des modules pour la SDL (pour les plus connus) :

  • SDL_ttf : gestion des polices TrueType Font
  • SDL_image : gestion d'un large type de formats d'images: BMP, PNM, XPM, LBM, PCX, GIF, JPEG, PNG, TGA
  • bibliothèque de primitives pour le dessin 2D
  • SDL_net : gestion réseau.

Exemple

Voici un exemple d'utilisation de la SDL en C qui va afficher l'image exemple.bmp sur une fenêtre de 600*800 pixels :

#include <stdio.h>
#include <stdlib.h>
#include <SDL/SDL.h>//Ne pas oublier d'inclure la SDL
 
int main(int argc, char *argv[])
{
   SDL_Surface *ecran=NULL, *image=SDL_LoadBMP("exemple.bmp");//Création de la surface écran et celle image
   int c=1;
   SDL_Event event;//Création d'un évènement
   SDL_Rect positionImage;
   positionImage.x=200;//Position verticale de l'image : 200 pixels
   positionImage.y=200;//Position horizontale de l'image : 200 pixels
   SDL_Init(SDL_INIT_VIDEO);//On Initialise la SDL
   ecran=SDL_SetVideoMode(600, 800, 32, SDL_HWSURFACE);//On ouvre une fenêtre de 600*800 pixels, 32 bits par pixel. Le flag à la fin permet de créer la surface en mémoire vidéo.
   while(c)//Début de la boucle infinie
   {
      SDL_WaitEvent(&event);//attente d'un évenement
      if(event.type==SDL_QUIT)//Si on clique sur la croix
          c=0;//On quitte la boucle infinie
      SDL_BlitSurface(image,NULL,ecran,&positionImage);//On colle l'image à l'écran
      SDL_Flip(ecran);//On actualise l'écran
   }
   SDL_FreeSurface(image);//On libère la mémoire
   SDL_Quit();//On quitte la SDL
   return EXIT_SUCCESS;
}

Sous linux, vous pouvez compiler avec cette ligne :
gcc `sdl-config --cflags --libs` -o sdltest sdltest.c
(en supposant que votre fichier s'appelle sdltest.c ; voir http://www.libsdl.org/cgi/docwiki.cgi/FAQ_Compiling_on_Linux)

Historique

Sam Lantinga créa la bibliothèque en 1998. L'idée lui vint tandis qu'il faisait un port d'application de Windows vers Macintosh. Peu après, il utilisa SDL pour porter Doom sur BeOS. Sam travailla ensuite pour Loki Software et d'autres bibliothèques libres se joignant à SDL, tel SMPEG et OpenAL.

Voir aussi

Article connexe

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Simple DirectMedia Layer de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • Simple DirectMedia Layer — Entwickler Sam Lantinga und die SDL Gemeinde Aktuelle Version 1.2.14 (20. Oktober 2009) Aktuelle Vorabversion …   Deutsch Wikipedia

  • Simple Directmedia Layer — Entwickler: Sam Lantinga und die SDL Gemeinde Aktuelle Version: 1.2.13 (31.12.2007) Aktuelle Vora …   Deutsch Wikipedia

  • Simple DirectMedia Layer — SDL logo Original author(s) Sam Lantinga Developer(s) Sam Lantinga Stabl …   Wikipedia

  • Simple DirectMedia Layer — SDL Тип API Разработчик Сэм Лантинга Написана на …   Википедия

  • Simple DirectMedia Layer — Para otros usos de este término, véase SDL. Simple DirectMedia Layer Desarrollador Sam Lantinga libsdl.org Información general …   Wikipedia Español

  • Simple and Fast Multimedia Library — Тип API Написана на C++ ОС Cross platform Версия 1.5 (7 июня, 2009) …   Википедия

  • Simple Network Library — Para otros usos de este término, véase SNL (desambiguación). Simple network library Desarrollador Jesús Hernández Gormaz (autor inicial) …   Wikipedia Español

  • Libsdl — Simple DirectMedia Layer SDL Développeur Sam Lantinga Dernière version …   Wikipédia en Français

  • SDL — Simple Directmedia Layer (Computing » Networking) ** Specification and Description Language (Computing » General) * Self Directed Learning (Community » Educational) * Simple Direct Layer (Academic & Science » Chemistry) * SmartDraw library… …   Abbreviations dictionary

  • SDL — Simple DirectMedia Layer  кроссплатформенная библиотека для работы с мультимедиа SDL International  компания‐разработчик средств для локализации ПО. Simple Declarative Language. Specification and Description Language. Microsoft Security …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”