Simple DirectMedia Layer: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m r2.5.2) (Bot: Modifico: en:Simple DirectMedia layer |
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti. Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile Attività per i nuovi utenti Suggerito: aggiungi collegamenti |
||
(41 versioni intermedie di 26 utenti non mostrate) | |||
Riga 1:
{{Software
|Nome
|Logo =
|Screenshot =
|Didascalia = Logo
|Sviluppatore =
|UltimaVersioneBeta = 2.0.0-7635
|DataUltimaVersioneBeta = 13 agosto, [[2013]]
|SistemaOperativo = multipiattaforma
|Genere = Libreria software
|Licenza
|SoftwareLibero = sì▼
|Lingua =
▲|SoftwareLibero=sì
}}
[[File:Linux kernel and OpenGL video games.svg|thumb|Simple DirectMedia Layer]]
'''Simple DirectMedia Layer''' ('''SDL''') è una [[Libreria software|libreria]] [[free software|libera]] multimediale multi piattaforma, scritta in [[C (linguaggio)|C]], che crea un livello astratto al di sopra di varie piattaforme software grafiche e sonore e dunque può controllare video, audio digitale, [[CD-ROM]], suoni, thread, caricamento condiviso di oggetti, timer e networking. Questa astrazione permette ai programmatori di scrivere un'applicazione [[multimedialità|multimediale]] una sola volta e farla girare su molti sistemi operativi: la versione corrente supporta ufficialmente [[Linux]], [[Microsoft Windows|Windows]], [[BeOS]], [[MacOS]] e [[
== Storia ==
[[Sam Lantinga]] ha creato la libreria, rilasciandola
SDL 2.0 è un aggiornamento importante al codice di SDL 1.2 e modifica ampie porzioni dell'API. Alcune nuove caratteristiche comprendono il supporto a finestre multiple, il supporto a dispositivi di input multipli (molti mouse, tastiere, ecc...), grafica 2D accelerata, ed un supporto [[Unicode]] migliore.<ref>{{Cita web |url=https://wiki.libsdl.org/moin.cgi/Roadmap |titolo=SDL 2.0 Roadmap |accesso=25 luglio 2012}}</ref> SDL 2.0 è distribuita sotto la [[Zlib license]], e quindi liberamente utilizzabile con linking statico in progetti closed-source commerciali, a differenza di SDL 1.2 che invece permette solo il linking dinamico<ref>{{Cita web | url=https://www.libsdl.org/license.php | titolo=Licensing the Simple DirectMedia Layer library | accesso=16 luglio 2012}}</ref>.
▲[[Sam Lantinga]] ha creato la libreria, rilasciandola inizialmente agli inizi del 1998, mentre lavorava per la [[Loki Software]]. Gli venne l'idea mentre stava portando una applicazione da Windows a Macintosh. Ha poi utilizzato SDL per portare ''[[Doom]]'' in [[BeOS]] (vedi [[Doom source port]]). Parecchie altre librerie libere sembrano lavorare con SDL, quali ad esempio [[SMPEG]] e [[OpenAL]].
== Architettura ==
La libreria ha collegamenti con quasi ogni [[linguaggio di programmazione]] esistente,
SDL
La libreria è suddivisa in
* ''SDL_image'' - supporto per diversi formati di immagini
* ''SDL_mixer'' - funzioni audio complesse, principalmente per il
* ''SDL_net'' - supporto alla rete
* ''SDL_ttf'' - supporto alla renderizzazione dei [[TrueType|Font TrueType]]
* ''SDL_rtf'' - Renderizzazione semplice del [[Rich Text Format]]
==
[[
SDL ha la parola "layer" nel suo
Per come è
▲SDL ha la parola "layer" nel suo titolo perché è veramente un wrapper attraverso funzionalità specifiche per i sistemi operativi. Lo scopo principale di SDL è di fornire un framework comune per accedere a queste funzionalità.
Sotto [[Microsoft Windows]], SDL fornisce di default un collegamento all'interfaccia [[Graphics Device Interface|GDI]]; è anche disponibile un collegamento alle librerie [[DirectX]]. Le vecchie versioni di SDL utilizzavano le DirectX 5, ma SDL 1.2 (la release stabile corrente) richiede le DirectX 7. Sam Lantinga ha dichiarato che intende utilizzare le DirectX 8 nelle future release di SDL.<ref>{{Cita web |url=http://lists.libsdl.org/pipermail/sdl-libsdl.org/2000-December/013908.html |titolo=SDL mailing list |editore=Libsdl.org |accesso=16 luglio 2012 |dataarchivio=28 marzo 2012 |urlarchivio=https://web.archive.org/web/20120328034911/http://lists.libsdl.org/pipermail/sdl-libsdl.org/2000-December/013908.html |urlmorto=sì }}</ref>
▲Per come è progettato SDL, un mucchio di codice sorgente è suddiviso in moduli separati per ogni sistema operativo, per poter fare chiamate al sistema operativo sottostante. Quando SDL è compilato, i moduli corretti sono selezionati per il giusto sistema operativo.
Sulle piattaforme [[X Window System|X11]], incluso [[Linux]], SDL usa
▲Sulle piattaforme [[X Window System|X11]], incluso [[Linux]], SDL usa le [[Xlib]] per comunicare con il sistema X11 per gli eventi grafici.
▲Su [[Mac OS X]], SDL usa [[Quartz]].
== Sottosistemi e sintassi ==
La sintassi di SDL si basa
▲La sintassi di SDL si basa sulle funzioni, tutte le operazioni fatte in SDL vengono eseguite passando parametri alle funzioni. Le infrastrutture speciali sono usate anche per immagazzinare le informazioni specifiche che SDL ha bisogno di usare. Ci sono pochi sottosistemi SDL differenti per caratterizzare le sue funzioni sotto:
* Il sottosistema Video, eventi e thread - questo fornisce funzionalità per il video, [[multi-threading]], e [[gestione degli eventi]].
* Il sottosistema Audio - questo fornisce le funzionalità audio.
* Il sottosistema
* Il sottosistema Joystick
* Il sottosistema CD-ROM
== Estensioni ==
* [[SMPEG]] - Libreria player MPEG SDL
* [[Guichan]] e [[ParaGUI]] - Sets di Widget
* [[GGI]] - interfaccia grafica multi platform libera
== Note ==
<references/>
== Voci correlate ==
Line 70 ⟶ 73:
== Altri progetti ==
{{interprogetto
== Collegamenti esterni ==
* {{cita web | 1 = https://www.libsdl.org/intro.it/toc.html | 2 = La documentazione di SDL | accesso = 4 maggio 2019 | urlarchivio = https://web.archive.org/web/20130129125138/http://www.libsdl.org/intro.it/toc.html | dataarchivio = 29 gennaio 2013 | urlmorto = sì }}
* [http://www.libsdl.org SDL sito web]▼
*
* {{en}} [http://
* {{cita web|1=http://gpwiki.org/index.php/SDL_tutorials|2=Il tutorial Wiki per la programmazione dei giochi su SDL|lingua=en|accesso=25 dicembre 2007|urlarchivio=https://web.archive.org/web/20071026071234/http://gpwiki.org/index.php/SDL_tutorials#|dataarchivio=26 ottobre 2007|urlmorto=sì}}
{{Portale|Software libero}}
[[Categoria:Librerie software]]
|