Simple DirectMedia Layer: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
infobox, storia, link |
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 |
||
(37 versioni intermedie di 23 utenti non mostrate) | |||
Riga 1:
{{Software
|Nome = Simple DirectMedia Layer
|
|
|Didascalia = Logo
|Sviluppatore = [[Sam Lantinga]]
|UltimaVersioneBeta = 2.0.0-7635▼
|
|SistemaOperativo = multipiattaforma▼
▲|UltimaVersioneBeta = 2.0
|Genere = Libreria software
▲|SistemaOperativo =
▲|Licenza = [[GNU Lesser General Public License]] v.2
|SoftwareLibero = sì
|Lingua =
}}
[[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>.
La libreria ha collegamenti con quasi ogni linguaggio di programmazione esistente, dal popolare [[C++]], [[Perl]], [[Python]] (attraverso [[pygame]]), [[Pascal (linguaggio)|Pascal]] ai meno conosciuti come il [[Euphoria (Linguaggio di programmazione)|Euphoria]] o il [[Pliant]]. Questo, e il fatto che è licenziato sotto la [[LGPL]], fa di SDL una scelta comune per molte applicazioni multimediali.▼
== Architettura ==
SDL stesso è molto semplice; funziona solamente come un wrapper leggero e multi piattaforma che fornisce il supporto alle operazioni 2D sui pixel, suoni, accesso ai file, gestione degli eventi, temporizzatori, thread e altro.▼
▲La libreria ha collegamenti con quasi ogni [[linguaggio di programmazione]] esistente,
▲SDL
La libreria è suddivisa in ''sottosistemi'', quali il Video (gestisce sia le funzioni per le superfici e per l'accesso a OpenGL), l'Audio, il CD-ROM, il Joystick e il
* ''SDL_image'' - supporto per diversi formati di immagini
Line 39 ⟶ 35:
* ''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, il 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
* 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
Line 65 ⟶ 60:
* [[Guichan]] e [[ParaGUI]] - Sets di Widget
* [[GGI]] - interfaccia grafica multi platform libera
== Note ==
<references/>
== Voci correlate ==
Line 74 ⟶ 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ì }}
* {{en}} [http://www.libsdl.org SDL sito web ufficiale]▼
* {{
* {{en}} [http://www.devmaster.net DevMaster.net] - un sito di sviluppo giochi che ha anche articoli e tutorial su SDL.
* {{
{{Portale|Software libero}}
[[Categoria:Librerie software]]
|