[Precedente] Contenuti [Successivo]

Che cosa puo' fare?

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.

[Precedente] Contenuti [Successivo]