Video
- Passage en n'importe quel mode vidéo(8bpp ou plus)
avec support logiciel si le mode vidéo
n'est pas supporté par le matériel.
- Ecrire directement dans un framebuffer linéaire
- Créer des surfaces avec des couleurs ou un alpha blending
choisi
- Les surfaces allouées sont automatiquement converties au
format désiré en optimisant l'allocation. Les allocations
optimisées pour les MMX sont valables sur les architectures
x86.
- L'accélération matérielle est utilisée si elle est supportée par
le matériel.
|
Astuce:
Vous pouvez décidez du titre de votre fenêtre et de celui de l'icône,
en utilisant respectivement : SDL_WM_SetCaption() et
SDL_WM_SetIcon(). |
Evènements
- Evènements gérés :
- Changement de visibilité de la fenêtre
- Entrées clavier
- Entrées souris
- Requête utilisateur de fin d'exécution
- Chaque évènement peut être activé ou désactivé par
SDL_EventState().
- Les évènements sont passés au travers d'un filtre
spécifié par l'utilisateur avant d'être placé dans
la file des évènements.
- Gestion sure de la file d'évènements.
|
Astuce:
Utilisez SDL_PeepEvents() pour rechercher un évènement particulier
dans la file. |
Audio
- Gestion 8 ou 16 bits de l'audio, mono ou stéréo,
avec des conversions si le format n'est pas supporté par
le matériel.
- L'audio a son propre thread, executé via un 'callback'
de l'utilisateur.
- Crée pour des logiciels audio. Les exemples archivés contiennent
une bibliothèque complète audio/musique.
|
Astuce:
Utilisez SDL_LockAudio et SDL_UnlockAudio pour synchroniner
les accès aux données partagés par les callbacks audio et le reste du
programme. |
CD-ROM audio
- API complète de gestion du lecteur de CD-ROMs
|
Astuce:
Si vous passez un handle de CD-ROM NULL aux fonctions de l'API,
elles agiront sur le dernier CD-ROM ouvert. |
Threads
- API simple de création de Threads
- Synchronisation simple grâce aux sémaphores binaires.
|
Astuce:
N'utilisez pas la library C standard d'E/S et de mémoire si vous pouvez
évitez dans la gestion des threads - car elle bloque les ressources
utilisées par d'autres thtreads. |
Timers
- Récupérez le temps écoulé en millisecondes
- Attendre un nombre déterminé de millisecondes
- Définir un simple timer de 10ms de résolution
|
Astuce:
Vous pouvez remplacer la fonction Win32 GetTickCount() par SDL_GetTicks() |
Endian independence
- Déterminer si votre système est "little" ou "big" endian
- Routines pour swapper rapidement des données
- Lire et écrire des données pour un type endian donné
|
Astuce:
Quand vous lisez des fichiers de données, vous pourriez avoir besoin
d'un "byteswap" graphique de 16 bits. |