Video
- Settare un modo video senza limiti di profondita' di
colore (da 8-bpp in avanti) effettuando una conversione
(opzionale) se il modo selezionato non e' supportato
dall'hardware.
- Scrivere in modo diretto in un framebuffer lineare.
- Creare superfici con attributi per colori chiave ed
alpha blending.
- I blit di superfici sono automaticamente convertiti nel
formato della superficie di destinazione usando blitter
ottimizzati ed usano l'accelerazione hardware, se
possibile. Per le piattaforme x86 con MMX vengono
utilizzati blit ottimizzati.
- Le accelerazioni hardware sui blit e sul fill (riempimento)
di superfici sono utilizzate, se disponibili.
|
Suggerimento:
E' possibile settare il titolo della finestra per un'applicazione
e la rispettiva icona tramite le funzioni SDL_WM_SetCaption() e
SDL_WM_SetIcon(). |
Eventi
- Sono contemplati eventi per:
- Cambiamenti di visibilita' dell'applicazione
- Input dalla tastiera
- Input dal mouse
- Richieste di quit dall'utente
- Ogni evento puo' essere abilitato o disabilitato con
la funzione SDL_EventState().
- Tutti gli eventi sono passati all'interno di una
funzione-filtro specificabile dall'utente prima di essere
accodati alla lista.
- Coda di eventi thread-safe.
|
Tip:
E' possibile usare SDL_EventPeep() per cercare un evento di un
particolare tipo nella coda degli eventi. |
Audio
- Set del playback audio a 8 o 16 bit, mono o
stereo, con conversione ottimale se il formato
non e' supportato dall'hardware.
- L'audio gira indipendentemente in un thread
separato, controllato per mezzo di un meccanismo
di callback controllato dall'utente.
- SDL e' progettata per lavorare con mixer audio
personalizzati, sebbene nell'archivio di esempi
sia presente una completa libreria per la gestione
di audio/musica.
|
Suggerimento:
E' possibile usare SDL_LockAudio() e SDL_UnlockAudio()
per sincronizzare l'accesso ai dati condivisi tra il sistema di
controllo dell'audio ed il resto del programma. |
CD-ROM Audio
- Completa API per il controllo dell'audio da CD
|
Suggerimento:
Se si passa un CD-ROM handle NULL alle funzioni di gestione,
esse agiranno sull'ultima periferica CD-ROM aperta. |
I Thread
- Semplice API per la creazione dei thread
- Semplice gestione di semafori binari per la sincronizzazione
|
Suggerimento:
Non usare funzioni di libreria C per la gestione I/O o
della memoria all'interno di un thread, se e' possibile -
queste funzioni bloccano risorse usate dagli altri thread. |
I Timer
- Ottenere il numero di millisecondi tra due punti nel tempo
- Attendere per un numero specifico di millisecondi
- Settare un timer periodico con una risoluzione di 10ms
|
Suggerimento:
E' possibile rimpiazzare in modo trasparente la funzione Win32
GetTickCount() con la funzione SDL SDL_GetTicks(). |
Endian independence
- Rileva il modo endian usato dal sistema utilizzato
- Incorpora routine per la conversione rapida di valori tra i modi endian
- Legge e scrive dati usando un modo endian specificato
|
Suggerimento:
Mentre si stanno leggendo dei file di dati, puo' essere
necessario fare un byteswap sulla grafica a 16-bit. |