Knowledge

Simple DirectMedia Layer

Source 📝

1242: 1203: 1155: 3073: 123: 89: 29: 1075: 1187: 1107: 1045: 914: 1171: 1139: 1123: 1091: 790: 1219: 1061: 387:
projects, unlike SDL 1.2, although it's possible for the user to override the statically linked library with one provided by them. SDL 2.0, released in 2013, was a major departure from previous versions, offering more opportunity for 3D hardware acceleration, but breaking backwards-compatibility, a
480:
around the operating-system-specific functions that the game needs to access. The only purpose of SDL is to provide a common framework for accessing these functions for multiple operating systems (cross-platform). SDL provides support for 2D pixel operations, sound, file access, event handling,
797:
Because of the way SDL is designed, much of its source code is split into separate modules for each operating system, to make calls to the underlying system. When SDL is compiled, the appropriate modules are selected for the target system. The following back-ends are available:
591:
Besides this basic, low-level support, there also are a few separate official libraries that provide some more functions. These comprise the "standard library", and are provided on the official website and included in the official documentation:
492:
automatically run on every operating system; further adaptations must be applied. These are reduced to the minimum, since SDL also contains a few abstraction APIs for frequent functions offered by an operating system.
453:. It replaces several parts of the 1.2 API with more general support for multiple input and output options. Some feature additions include multiple window support, hardware-accelerated 2D graphics, and better 2535: 1607: 3039: 735: 2697: 391:
SDL is extensively used in the industry in both large and small projects. By 2010, over 700 games, 180 applications, and 120 demos had been posted on the library website.
500:(functions). Special structures are also used to store the specific information SDL needs to handle. SDL functions are categorized under several different subsystems. 3138: 428:. He also founded Galaxy Gameworks in 2008 to help commercially support SDL, although the company plans are currently on hold due to time constraints. 2539: 1611: 439:, the first version of which was announced the same day he joined the company. Lantinga announced the stable release of SDL 2.0.0 on 13 August 2013. 2681: 1030: 431:
Soon after putting Galaxy Gameworks on hold, Lantinga announced that SDL 1.3 (which would then later become SDL 2.0) would be licensed under the
1637: 2668:
released port of HomeworldSDL. Forum member Edglex enables your Pandora to experience the excellent work done by the guys at HomeworldSDL.
3103: 3093: 2376: 1365: 2769: 3128: 3047: 2058: 929:
listed 120 games using SDL in 2013, and the SDL website itself listed around 700 games in 2012. Important commercial examples are
2694: 1723: 2561: 2456: 1247: 1304: 679: 3088: 3028: 3009: 2995: 2980: 1266: 465: 376: 364: 221: 203: 468:
was added in SDL 2.0.2 and enabled by default in SDL 2.0.4. Version 2.0.4 also provided better support for Android.
348:. However, the library is suited to building games directly, or is usable indirectly by engines built on top of it. 3108: 815:
back-end; older SDL 1.2 uses DirectX 7 by default, while 2.0 defaults to DirectX 9 and can access up to DirectX 11.
198: 485:
by setting up the graphical output and providing mouse and keyboard input, since OpenGL comprises only rendering.
3133: 2362: 1417: 1352:"Oh look, we'll have official tvOS support in SDL 2.0.5, for people that want their SDL-based games on Apple TV!" 704: 674: 850: 756: 740: 368: 2406: 715: 102: 3113: 1202: 777: 772: 767: 762: 745: 709: 80: 2695:
JA2 Stracciatella Feedback » Jagged Alliance 2 Android Stracciatella Port RC2 Release - please test
1735: 148: 2654: 1276: 1256: 1154: 751: 725: 720: 656: 282: 263: 925:
Over the years SDL was used for many commercial and non-commercial video game projects. For instance,
802: 699: 548: 1647: 1559: 1074: 977:
SDL is also often used for later ports on new platforms with legacy code. For instance, the PC game
949:, which uses SDL extensively for cross-platform compatibility; ones from the open-source domain are 3098: 684: 664: 352: 136: 2442: 1703: 496:
The syntax of SDL is function-based: all operations done in SDL are done by passing parameters to
88: 1177: 1170: 1044: 818: 1793: 1351: 1329: 1129: 1122: 1113: 957: 447: 408: 274: 2112: 1186: 918: 901:
MP3 player firmware also distributes a version of SDL 1.2, which is used to run games such as
435:. Lantinga announced SDL 2.0 on 14 July 2012, at the same time announcing that he was joining 344:(older Direct3D version 9 is also supported) context. A common misconception is that SDL is a 3143: 2384: 1669: 635:
Other, non-standard libraries also exist. For example: SDL_Collide on SourceForge created by
406:. He got the idea while porting a Windows application to Macintosh. He then used SDL to port 2876: 2777: 2231: 1106: 2823: 883: 256: 8: 3123: 3118: 2955: 2289: 1161: 1026: 971: 575:
Platform Detection, CPU Feature Detection, Byte Order and Byte Swapping, Bit Manipulation
325: 259: 1366:"SDL/docs/README-riscos.md at 9d83c0a65d969a902c91f4f94fd5a904c0828a33 · libsdl-org/SDL" 122: 3072: 2363:"[Commits] SDL: Enable building the Metal renderer by default, and weak lin..." 1193: 902: 403: 317: 2504: 1090: 3024: 3005: 2991: 2976: 2675: 1771: 989: 982: 942: 937: 806: 527: 436: 309: 298: 270: 2609: 1322: 2565: 2427: 1138: 1051: 1022: 1008: 854: 648: 628: 417: 278: 210: 143: 2714: 2327: 2313:
Beginning Ring Programming - From Novice to Professional | Mansour Ayouni | Apress
515:
Initialization and Shutdown, Configuration Variables, Error Handling, Log Handling
3051: 3043: 2956:"[HowTo] Compile 0.7 on windows (Page 1) — Development — Teeworlds Forum" 2701: 1014:
There were several books written for development with SDL (see further reading).
1004: 477: 176: 28: 1690: 2311: 461: 380: 341: 253: 2341: 1218: 521:
Display and Window Management, surface functions, rendering acceleration, etc.
420:). Several other free libraries were developed to work alongside SDL, such as 3082: 1584: 1097: 1060: 946: 388:
wrapper library made to translate 1.2 calls to 2.0 was later made available.
384: 321: 305: 180: 2901: 2889:
Linux users, please be advised that SDL2 is now enabled by default on Linux.
2802: 2168: 2140: 1888: 1863: 2097: 1633: 876: 870: 432: 399: 372: 333: 313: 215: 41: 2083: 1963: 1938: 1913: 1748: 2217: 2010: 1468: 1081: 1025:, for instance, in a workshop about game programming using libSDL at the 931: 828: 551:: Thread Management, Thread Synchronization Primitives, Atomic Operations 402:
created the library, first releasing it in early 1998, while working for
360: 345: 337: 2587: 2483: 1849: 1814: 913: 869:
back-end when used in conjunction with Wayland-based windowing system.,
3034: 1988: 1018: 636: 497: 267: 48: 36: 2790:...Simple DirectMedia Layer - SDL for cross platform game windowing... 2032: 1828: 1512: 1421: 2741: 2631: 2508: 2245: 1299: 1225: 978: 926: 866: 542:
SDL_audio.h implements Audio Device Management, Playing and Recording
1538: 1393: 193:
and MorphOS, and consoles (PlayStation, XBox, Wii, etc), Nintendo DS
111: 2267: 2195: 1271: 1040: 996: 985: 618: 443: 2851: 1309: 1261: 1209: 1145: 963: 951: 898: 812: 689: 454: 190: 184: 152: 995:
Also, several non video game programs use SDL; examples are the
2828: 2719: 2461: 2173: 2145: 2117: 1294: 1289: 1000: 860: 694: 482: 425: 329: 2930: 1738:. Wiki.libsdl.org (21 November 2013). Retrieved on 2013-12-08. 1772:"Some of Linux's Most Popular Games Will Run Natively On Mir" 891: 832: 822: 789: 730: 669: 421: 356: 294: 290: 1281: 846: 840: 530:, Support for Keyboard, Mouse, Joystick and Game controller 413: 273:. Software developers can use it to write high-performance 3066: 2522:
Games that use the very portable Simple DirectMedia Layer.
379:. Under the zlib License, SDL 2.0 is freely available for 375:
since version 2.0, and with prior versions subject to the
1642: 882:
sceGu back-end, a Sony OpenGL-like backend native to the
836: 450: 286: 232: 1443: 367:
in C, with bindings to other languages available. It is
277:
and other multimedia applications that can run on many
2059:"Go + Julia + Fourier = Open Source Frequon Invaders" 481:
timing and threading. It is often used to complement
1560:"SDL/docs/README-dynapi.md at main · libsdl-org/SDL" 1237: 536:
SDL_haptic.h implements support for "Force Feedback"
1717: 843:since 2.0.8; older versions use OpenGL by default. 605:— complex audio functions, mainly for sound mixing 3080: 2646: 1539:"Licensing the Simple DirectMedia Layer library" 1036: 974:for Linux, Mac and Android are often SDL-based. 970:The cross-platform game releases of the popular 355:and possibly, depending on the target platform, 1704:"SDL 2.0 Is Coming Very Soon With New Features" 488:A game using the Simple DirectMedia Layer will 2715:"Features · fifengine/fifengine Wiki · GitHub" 1507: 1505: 1503: 1501: 1499: 1497: 1495: 1493: 1491: 1489: 328:and timers. For 3D graphics, it can handle an 2443:"Raspberry Pi Support Added To SDL2 Library" 2328:"Using RingLibSDL — Ring 1.16 documentation" 2680:: CS1 maint: numeric names: authors list ( 2138: 2052: 2050: 1486: 1412: 1410: 793:Abstraction layers of several SDL platforms 3071: 2169:"Example game written in julia using SDL2" 2113:"jonathanBieler/SimpleDirectMediaLayer.jl" 1684: 121: 87: 27: 3139:Video game development software for Linux 2538:. libsdl.org. 18 May 2012. Archived from 2497: 1388: 1386: 908: 569:Shared Object Loading and Function Lookup 442:SDL 2.0 is a major update to the SDL 1.2 2877:"New Release: 0 A.D. Alpha 19 Syllepsis" 2554: 2377:"SDL: README-platforms.txt@3e2f230a6d62" 2047: 1791: 1770:Sneddon, Joey-Elijah (5 February 2014). 1632: 1463: 1461: 1407: 1029:in 2010, or a Game Design discipline at 912: 788: 508:SDL is divided into several subsystems: 471: 2704:on the Bear's Pit Forum, 3 October 2011 2624: 2602: 2440: 2056: 1769: 1589:, Simple Directmedia Layer, 1 June 2024 3081: 2441:Larabel, Michael (30 September 2013). 2110: 1418:"a list of the platforms SDL supports" 1383: 879:contexts on platforms that support it. 784: 759:(several, e.g. pygame_sdl2 and sdl2hl) 563:Filesystem Paths, File I/O Abstraction 2655:"Game of the Week #3 – Homeworld SDL" 2652: 2580: 2564:. Galaxygameworks.com. Archived from 1458: 351:The library is internally written in 3004:, Muska & Lipman/Premier-Trade, 3002:Data Structures for Game Programmers 2990:, Muska & Lipman/Premier-Trade, 2166: 2057:Robison, Arch D. (9 November 2015). 1248:Free and open-source software portal 642: 599:— support for multiple image formats 2505:"Middleware: SDL Group Description" 894:back-end is available for SDL 1.2. 371:subject to the requirements of the 13: 3104:C (programming language) libraries 3094:Application programming interfaces 3014:game programming examples with SDL 2973:Programación de videojuegos en SDL 2965: 1726:, SDL Mailing List, 13 August 2013 14: 3155: 3058: 3054: (archived 14 February 2003)) 3046: (archived 22 January 2003), 2111:Bieler, Jonathan (30 July 2020). 1267:Cross-platform support middleware 377:GNU Lesser General Public License 365:application programming interface 189:Additionally before v2.0.0: e.g. 2218:"Odin Vendor Library Collection" 1792:Lantinga, Sam (2 January 2016). 1693:, SDL Mailing List, 7 April 2011 1240: 1217: 1201: 1185: 1169: 1153: 1137: 1121: 1105: 1089: 1073: 1059: 1043: 1021:courses teaching multimedia and 16:Free software multimedia library 3129:Software using the zlib license 2948: 2923: 2894: 2869: 2844: 2816: 2795: 2762: 2734: 2707: 2688: 2528: 2476: 2449: 2434: 2420: 2399: 2369: 2355: 2334: 2320: 2304: 2282: 2260: 2238: 2224: 2210: 2188: 2160: 2141:"Example games for GameZero.jl" 2132: 2104: 2090: 2076: 2025: 2003: 1981: 1956: 1931: 1906: 1881: 1856: 1842: 1821: 1807: 1785: 1763: 1741: 1729: 1696: 1662: 1626: 1600: 1577: 1552: 1033:(Ponta Grossa campus) in 2015. 587:Platform-specific functionality 2918:... based on SDL ... 1610:. 29 June 2010. Archived from 1531: 1436: 1358: 1344: 863:contexts on various platforms. 1: 2167:Daly, Nathan (31 July 2019). 2139:SquidSinker (2 August 2020). 1316: 1037:Video game examples using SDL 857:on various operating systems. 503: 369:free and open-source software 2383:. libsdl.org. Archived from 1469:"CategoryVulkan - SDL Wiki'" 1420:. Libsdl.org. Archived from 941:, and games developed using 572:Platform and CPU Information 7: 3038:, archived online version: 2612:. Wesnoth. 27 February 2010 1691:SDL 1.3 to be zLib Licensed 1233: 63:; 26 years ago 10: 3160: 1736:MigrationGuide - SDL Wiki' 1608:"Simple DirectMedia Layer" 1519:. Simple DirectMedia Layer 1277:General Graphics Interface 394: 264:hardware abstraction layer 2902:"Secret Maryo Chronicles" 2824:"OOlite SDL Dependencies" 2632:"SDLClient - Freeciv.org" 1005:FUSE ZX Spectrum emulator 227: 209: 197: 142: 132: 101: 97: 79: 75: 57: 47: 35: 26: 3089:Simple DirectMedia Layer 2971:Alberto García Serrano: 2232:"Odin GitHub repository" 647:The SDL 2.0 library has 246:Simple DirectMedia Layer 22:Simple DirectMedia Layer 3109:Cross-platform software 3021:Programming Linux Games 2700:23 October 2012 at the 2407:"Using OpenGL With SDL" 1638:"SDL: Making Linux fun" 1586:libsdl-org/sdl12-compat 1513:"SDL Language Bindings" 1178:Secret Maryo Chronicles 581:Power Management Status 3134:Video game development 2653:may88 (23 June 2011). 1670:"Exploring the Galaxy" 1444:"SDL official website" 1130:The Battle for Wesnoth 958:The Battle for Wesnoth 922: 909:Reception and adoption 794: 621:font rendering support 446:with a different, not 262:designed to provide a 2770:"Development Details" 2757:...SDL >= 1.2.5... 1829:"Introduction to SDL" 1794:"SDL 2.0.4 Changelog" 992:for Android via SDL. 916: 792: 566:Shared Object Support 472:Software architecture 2931:"Frozenbyte Support" 1724:Announcing SDL 2.0.0 1636:(1 September 1999). 1354:. 15 September 2016. 972:Humble Indie Bundles 611:— networking support 448:backwards-compatible 257:software development 3033:First SDL book, by 2852:"Roadmap - Wesnoth" 2634:. Freeciv.wikia.com 2511:. 27 September 2013 2387:on 15 December 2013 1027:University of Cadiz 919:University of Cádiz 785:Supported back-ends 363:, and provides the 271:hardware components 23: 3114:Graphics libraries 2879:. 26 November 2015 2657:. pandorapress.net 2610:"CompilingWesnoth" 2562:"SDL Testimonials" 2292:. modules.raku.org 2063:software.intel.com 981:was ported to the 923: 873:and other systems. 795: 37:Original author(s) 21: 2780:on 6 October 2014 2428:"SDL and Wayland" 2246:"PerlGameDev/SDL" 2098:"SDL2 on Hackage" 1749:"SDL 1.3 Roadmap" 990:Jagged Alliance 2 938:Unreal Tournament 917:Workshop on SDL, 825:(dropped in 2.0). 807:Microsoft Windows 649:language bindings 643:Language bindings 418:Doom source ports 279:operating systems 243: 242: 3151: 3075: 3070: 3069: 3067:Official website 2960: 2959: 2952: 2946: 2945: 2943: 2941: 2927: 2921: 2920: 2915: 2913: 2908:. 28 August 2014 2898: 2892: 2891: 2886: 2884: 2873: 2867: 2866: 2864: 2862: 2848: 2842: 2841: 2839: 2837: 2820: 2814: 2813: 2811: 2809: 2803:"About the game" 2799: 2793: 2792: 2787: 2785: 2776:. Archived from 2774:scorched3d.co.uk 2766: 2760: 2759: 2754: 2752: 2738: 2732: 2731: 2729: 2727: 2711: 2705: 2692: 2686: 2685: 2679: 2671: 2664: 2662: 2650: 2644: 2643: 2641: 2639: 2628: 2622: 2621: 2619: 2617: 2606: 2600: 2599: 2597: 2595: 2584: 2578: 2577: 2575: 2573: 2558: 2552: 2551: 2549: 2547: 2532: 2526: 2525: 2518: 2516: 2501: 2495: 2494: 2492: 2490: 2480: 2474: 2473: 2471: 2469: 2453: 2447: 2446: 2438: 2432: 2431: 2424: 2418: 2417: 2415: 2413: 2403: 2397: 2396: 2394: 2392: 2373: 2367: 2366: 2365:7 December 2017. 2359: 2353: 2352: 2350: 2348: 2338: 2332: 2331: 2324: 2318: 2317: 2308: 2302: 2301: 2299: 2297: 2286: 2280: 2279: 2277: 2275: 2264: 2258: 2257: 2255: 2253: 2242: 2236: 2235: 2228: 2222: 2221: 2214: 2208: 2207: 2205: 2203: 2192: 2186: 2185: 2183: 2181: 2164: 2158: 2157: 2155: 2153: 2136: 2130: 2129: 2127: 2125: 2108: 2102: 2101: 2094: 2088: 2087: 2084:"SDL on Hackage" 2080: 2074: 2073: 2071: 2069: 2054: 2045: 2044: 2042: 2040: 2029: 2023: 2022: 2020: 2018: 2007: 2001: 2000: 1998: 1996: 1985: 1979: 1978: 1976: 1974: 1960: 1954: 1953: 1951: 1949: 1935: 1929: 1928: 1926: 1924: 1910: 1904: 1903: 1901: 1899: 1885: 1879: 1878: 1876: 1874: 1860: 1854: 1853: 1846: 1840: 1839: 1837: 1835: 1825: 1819: 1818: 1811: 1805: 1804: 1802: 1800: 1789: 1783: 1782: 1780: 1778: 1767: 1761: 1760: 1758: 1756: 1745: 1739: 1733: 1727: 1721: 1715: 1714: 1712: 1710: 1700: 1694: 1688: 1682: 1681: 1679: 1677: 1666: 1660: 1659: 1657: 1655: 1646:. Archived from 1630: 1624: 1623: 1621: 1619: 1604: 1598: 1597: 1596: 1594: 1581: 1575: 1574: 1572: 1570: 1556: 1550: 1549: 1547: 1545: 1535: 1529: 1528: 1526: 1524: 1509: 1484: 1483: 1481: 1479: 1465: 1456: 1455: 1453: 1451: 1440: 1434: 1433: 1431: 1429: 1414: 1405: 1404: 1402: 1400: 1390: 1381: 1380: 1378: 1376: 1362: 1356: 1355: 1348: 1342: 1341: 1339: 1337: 1330:"Release 2.30.6" 1326: 1250: 1245: 1244: 1243: 1221: 1205: 1189: 1173: 1157: 1141: 1125: 1109: 1093: 1077: 1063: 1052:Unknown Horizons 1047: 1023:computer science 1009:VisualBoyAdvance 855:windowing system 629:Rich Text Format 578:Power Management 560:File Abstraction 239: 236: 234: 174: 170: 166: 162: 158: 144:Operating system 125: 120: 117: 115: 113: 91: 71: 69: 64: 31: 24: 20: 3159: 3158: 3154: 3153: 3152: 3150: 3149: 3148: 3099:Audio libraries 3079: 3078: 3065: 3064: 3061: 3052:Wayback Machine 3044:Wayback Machine 2986:Ernest Pazera: 2975:, Ediversitas, 2968: 2966:Further reading 2963: 2954: 2953: 2949: 2939: 2937: 2929: 2928: 2924: 2911: 2909: 2906:sourceforge.net 2900: 2899: 2895: 2882: 2880: 2875: 2874: 2870: 2860: 2858: 2856:www.wesnoth.org 2850: 2849: 2845: 2835: 2833: 2822: 2821: 2817: 2807: 2805: 2801: 2800: 2796: 2783: 2781: 2768: 2767: 2763: 2750: 2748: 2742:"FAQ Hedgewars" 2740: 2739: 2735: 2725: 2723: 2713: 2712: 2708: 2702:Wayback Machine 2693: 2689: 2673: 2672: 2660: 2658: 2651: 2647: 2637: 2635: 2630: 2629: 2625: 2615: 2613: 2608: 2607: 2603: 2593: 2591: 2586: 2585: 2581: 2571: 2569: 2568:on 16 July 2011 2560: 2559: 2555: 2545: 2543: 2542:on 29 June 2010 2534: 2533: 2529: 2514: 2512: 2503: 2502: 2498: 2488: 2486: 2484:"SDLPluginPort" 2482: 2481: 2477: 2467: 2465: 2457:"SDL 1.2 Sixel" 2455: 2454: 2450: 2439: 2435: 2426: 2425: 2421: 2411: 2409: 2405: 2404: 2400: 2390: 2388: 2375: 2374: 2370: 2361: 2360: 2356: 2346: 2344: 2340: 2339: 2335: 2326: 2325: 2321: 2310: 2309: 2305: 2295: 2293: 2288: 2287: 2283: 2273: 2271: 2266: 2265: 2261: 2251: 2249: 2244: 2243: 2239: 2230: 2229: 2225: 2216: 2215: 2211: 2201: 2199: 2194: 2193: 2189: 2179: 2177: 2165: 2161: 2151: 2149: 2137: 2133: 2123: 2121: 2109: 2105: 2096: 2095: 2091: 2082: 2081: 2077: 2067: 2065: 2055: 2048: 2038: 2036: 2031: 2030: 2026: 2016: 2014: 2009: 2008: 2004: 1994: 1992: 1987: 1986: 1982: 1972: 1970: 1962: 1961: 1957: 1947: 1945: 1937: 1936: 1932: 1922: 1920: 1912: 1911: 1907: 1897: 1895: 1889:"SDL_mixer 2.0" 1887: 1886: 1882: 1872: 1870: 1864:"SDL_image 2.0" 1862: 1861: 1857: 1850:"APIByCategory" 1848: 1847: 1843: 1833: 1831: 1827: 1826: 1822: 1815:"SDL_SysWMinfo" 1813: 1812: 1808: 1798: 1796: 1790: 1786: 1776: 1774: 1768: 1764: 1754: 1752: 1747: 1746: 1742: 1734: 1730: 1722: 1718: 1708: 1706: 1702: 1701: 1697: 1689: 1685: 1675: 1673: 1668: 1667: 1663: 1653: 1651: 1631: 1627: 1617: 1615: 1614:on 29 June 2010 1606: 1605: 1601: 1592: 1590: 1583: 1582: 1578: 1568: 1566: 1558: 1557: 1553: 1543: 1541: 1537: 1536: 1532: 1522: 1520: 1511: 1510: 1487: 1477: 1475: 1473:wiki.libsdl.org 1467: 1466: 1459: 1449: 1447: 1442: 1441: 1437: 1427: 1425: 1424:on 1 April 2016 1416: 1415: 1408: 1398: 1396: 1392: 1391: 1384: 1374: 1372: 1364: 1363: 1359: 1350: 1349: 1345: 1335: 1333: 1332:. 1 August 2024 1328: 1327: 1323: 1319: 1314: 1246: 1241: 1239: 1236: 1229: 1222: 1213: 1206: 1197: 1190: 1181: 1174: 1165: 1158: 1149: 1142: 1133: 1126: 1117: 1110: 1101: 1094: 1085: 1078: 1069: 1064: 1055: 1048: 1039: 1017:SDL is used in 911: 787: 782: 645: 549:multi-threading 506: 474: 397: 231: 220: 218: 188: 177:Nintendo Switch 172: 168: 164: 160: 156: 128: 110: 93: 92:/ 1 August 2024 67: 65: 62: 58:Initial release 17: 12: 11: 5: 3157: 3147: 3146: 3141: 3136: 3131: 3126: 3121: 3116: 3111: 3106: 3101: 3096: 3091: 3077: 3076: 3060: 3059:External links 3057: 3056: 3055: 3019:John R. Hall: 3017: 2998: 2984: 2967: 2964: 2962: 2961: 2947: 2922: 2893: 2868: 2843: 2815: 2794: 2761: 2733: 2706: 2687: 2645: 2623: 2601: 2579: 2553: 2527: 2496: 2475: 2448: 2433: 2419: 2398: 2368: 2354: 2342:"WhatsNew.txt" 2333: 2319: 2303: 2281: 2259: 2237: 2223: 2209: 2196:"SDL2 for Nim" 2187: 2159: 2131: 2103: 2089: 2075: 2046: 2024: 2002: 1980: 1955: 1930: 1905: 1880: 1855: 1841: 1820: 1806: 1784: 1762: 1751:. 14 June 2011 1740: 1728: 1716: 1695: 1683: 1672:. 6 April 2011 1661: 1650:on 11 May 2003 1625: 1599: 1576: 1551: 1530: 1485: 1457: 1435: 1406: 1382: 1357: 1343: 1320: 1318: 1315: 1313: 1312: 1307: 1302: 1297: 1292: 1287: 1284: 1279: 1274: 1269: 1264: 1259: 1253: 1252: 1251: 1235: 1232: 1231: 1230: 1223: 1216: 1214: 1207: 1200: 1198: 1191: 1184: 1182: 1175: 1168: 1166: 1159: 1152: 1150: 1143: 1136: 1134: 1127: 1120: 1118: 1111: 1104: 1102: 1095: 1088: 1086: 1079: 1072: 1070: 1065: 1058: 1056: 1049: 1042: 1038: 1035: 910: 907: 890:An unofficial 888: 887: 880: 874: 864: 858: 844: 826: 816: 810: 786: 783: 781: 780: 775: 770: 765: 760: 754: 749: 743: 738: 733: 728: 723: 718: 713: 707: 702: 697: 692: 687: 682: 677: 672: 667: 662: 659: 653: 644: 641: 633: 632: 622: 612: 606: 600: 589: 588: 585: 582: 579: 576: 573: 570: 567: 564: 561: 558: 555: 552: 546: 543: 540: 537: 534: 533:Force Feedback 531: 528:Event handling 525: 522: 519: 516: 513: 505: 502: 473: 470: 396: 393: 381:static linking 275:computer games 254:cross-platform 241: 240: 229: 225: 224: 213: 207: 206: 201: 195: 194: 169:Android 2.3.3+ 146: 140: 139: 134: 130: 129: 127: 126: 107: 105: 99: 98: 95: 94: 85: 83: 81:Stable release 77: 76: 73: 72: 59: 55: 54: 51: 45: 44: 39: 33: 32: 15: 9: 6: 4: 3: 2: 3156: 3145: 3142: 3140: 3137: 3135: 3132: 3130: 3127: 3125: 3122: 3120: 3117: 3115: 3112: 3110: 3107: 3105: 3102: 3100: 3097: 3095: 3092: 3090: 3087: 3086: 3084: 3074: 3068: 3063: 3062: 3053: 3049: 3048:LaTex sources 3045: 3041: 3037: 3036: 3030: 3029:1-886411-49-2 3026: 3023:, No Starch, 3022: 3018: 3015: 3011: 3010:1-931841-94-2 3007: 3003: 2999: 2997: 2996:1-59200-030-4 2993: 2989: 2985: 2982: 2981:84-95836-08-4 2978: 2974: 2970: 2969: 2957: 2951: 2936: 2932: 2926: 2919: 2907: 2903: 2897: 2890: 2878: 2872: 2857: 2853: 2847: 2832:. 29 May 2016 2831: 2830: 2825: 2819: 2804: 2798: 2791: 2779: 2775: 2771: 2765: 2758: 2747: 2746:hedgewars.org 2743: 2737: 2722: 2721: 2716: 2710: 2703: 2699: 2696: 2691: 2683: 2677: 2670: 2669: 2656: 2649: 2633: 2627: 2611: 2605: 2589: 2588:"Development" 2583: 2567: 2563: 2557: 2541: 2537: 2531: 2524: 2523: 2510: 2506: 2500: 2485: 2479: 2464: 2463: 2458: 2452: 2444: 2437: 2429: 2423: 2408: 2402: 2386: 2382: 2381:Hg.libsdl.org 2378: 2372: 2364: 2358: 2343: 2337: 2329: 2323: 2315: 2314: 2307: 2291: 2285: 2269: 2263: 2247: 2241: 2233: 2227: 2219: 2213: 2197: 2191: 2176: 2175: 2170: 2163: 2148: 2147: 2142: 2135: 2120: 2119: 2114: 2107: 2099: 2093: 2085: 2079: 2064: 2060: 2053: 2051: 2035:. Gambas Wiki 2034: 2028: 2012: 2006: 1990: 1984: 1969: 1965: 1964:"SDL_rtf 0.1" 1959: 1944: 1940: 1939:"SDL_ttf 2.0" 1934: 1919: 1915: 1914:"SDL_net 2.0" 1909: 1894: 1890: 1884: 1869: 1865: 1859: 1851: 1845: 1830: 1824: 1816: 1810: 1795: 1788: 1773: 1766: 1750: 1744: 1737: 1732: 1725: 1720: 1705: 1699: 1692: 1687: 1671: 1665: 1649: 1645: 1644: 1639: 1635: 1634:Lantinga, Sam 1629: 1613: 1609: 1603: 1588: 1587: 1580: 1565: 1561: 1555: 1540: 1534: 1518: 1514: 1508: 1506: 1504: 1502: 1500: 1498: 1496: 1494: 1492: 1490: 1474: 1470: 1464: 1462: 1445: 1439: 1423: 1419: 1413: 1411: 1395: 1394:"SDL license" 1389: 1387: 1371: 1367: 1361: 1353: 1347: 1331: 1325: 1321: 1311: 1308: 1306: 1303: 1301: 1298: 1296: 1293: 1291: 1288: 1285: 1283: 1280: 1278: 1275: 1273: 1270: 1268: 1265: 1263: 1260: 1258: 1255: 1254: 1249: 1238: 1228: 1227: 1220: 1215: 1212: 1211: 1204: 1199: 1196: 1195: 1188: 1183: 1180: 1179: 1172: 1167: 1164: 1163: 1156: 1151: 1148: 1147: 1140: 1135: 1132: 1131: 1124: 1119: 1116: 1115: 1108: 1103: 1100: 1099: 1098:Frets on Fire 1092: 1087: 1084: 1083: 1076: 1071: 1068: 1062: 1057: 1054: 1053: 1046: 1041: 1034: 1032: 1028: 1024: 1020: 1015: 1012: 1010: 1006: 1002: 998: 993: 991: 987: 984: 980: 975: 973: 968: 966: 965: 960: 959: 954: 953: 948: 947:Source Engine 944: 940: 939: 934: 933: 928: 920: 915: 906: 904: 900: 895: 893: 885: 881: 878: 875: 872: 868: 865: 862: 859: 856: 852: 849:back-end for 848: 845: 842: 838: 834: 831:back-end for 830: 827: 824: 821:back-end for 820: 817: 814: 811: 808: 805:back-end for 804: 801: 800: 799: 791: 779: 776: 774: 771: 769: 766: 764: 761: 758: 755: 753: 750: 747: 744: 742: 739: 737: 734: 732: 729: 727: 724: 722: 719: 717: 714: 711: 708: 706: 703: 701: 698: 696: 693: 691: 688: 686: 683: 681: 678: 676: 673: 671: 668: 666: 663: 660: 658: 655: 654: 652: 650: 640: 638: 630: 626: 623: 620: 616: 613: 610: 607: 604: 601: 598: 595: 594: 593: 586: 583: 580: 577: 574: 571: 568: 565: 562: 559: 557:Timer Support 556: 553: 550: 547: 544: 541: 538: 535: 532: 529: 526: 523: 520: 517: 514: 511: 510: 509: 501: 499: 494: 491: 486: 484: 479: 469: 467: 463: 458: 456: 452: 449: 445: 440: 438: 434: 429: 427: 423: 419: 415: 411: 410: 405: 404:Loki Software 401: 392: 389: 386: 385:closed-source 382: 378: 374: 370: 366: 362: 358: 354: 349: 347: 343: 339: 335: 331: 327: 323: 322:shared object 319: 315: 314:input devices 311: 307: 302: 300: 296: 292: 288: 284: 280: 276: 272: 269: 266:for computer 265: 261: 258: 255: 251: 247: 238: 230: 226: 223: 219:Before 2.0.0: 217: 214: 212: 208: 205: 202: 200: 196: 192: 186: 182: 181:PlayStation 2 178: 154: 150: 147: 145: 141: 138: 135: 131: 124: 119: 109: 108: 106: 104: 100: 96: 90: 84: 82: 78: 74: 60: 56: 53:SDL Community 52: 50: 46: 43: 40: 38: 34: 30: 25: 19: 3144:Windows APIs 3032: 3020: 3013: 3001: 3000:Ron Penton: 2988:Focus On SDL 2987: 2972: 2950: 2938:. Retrieved 2934: 2925: 2917: 2910:. Retrieved 2905: 2896: 2888: 2883:20 September 2881:. Retrieved 2871: 2859:. Retrieved 2855: 2846: 2836:21 September 2834:. Retrieved 2827: 2818: 2808:20 September 2806:. Retrieved 2797: 2789: 2782:. Retrieved 2778:the original 2773: 2764: 2756: 2749:. Retrieved 2745: 2736: 2724:. Retrieved 2718: 2709: 2690: 2667: 2666: 2659:. Retrieved 2648: 2636:. Retrieved 2626: 2614:. Retrieved 2604: 2592:. Retrieved 2582: 2570:. Retrieved 2566:the original 2556: 2544:. Retrieved 2540:the original 2530: 2521: 2520: 2513:. Retrieved 2499: 2487:. Retrieved 2478: 2466:. Retrieved 2460: 2451: 2436: 2422: 2410:. Retrieved 2401: 2389:. Retrieved 2385:the original 2380: 2371: 2357: 2347:28 September 2345:. Retrieved 2336: 2322: 2312: 2306: 2294:. Retrieved 2284: 2272:. Retrieved 2262: 2250:. Retrieved 2240: 2226: 2212: 2200:. Retrieved 2190: 2178:. Retrieved 2172: 2162: 2150:. Retrieved 2144: 2134: 2122:. Retrieved 2116: 2106: 2092: 2078: 2066:. Retrieved 2062: 2037:. Retrieved 2027: 2015:. Retrieved 2005: 1993:. Retrieved 1983: 1971:. Retrieved 1967: 1958: 1946:. Retrieved 1942: 1933: 1921:. Retrieved 1917: 1908: 1896:. Retrieved 1892: 1883: 1871:. Retrieved 1867: 1858: 1844: 1832:. Retrieved 1823: 1809: 1797:. Retrieved 1787: 1775:. Retrieved 1765: 1753:. Retrieved 1743: 1731: 1719: 1707:. Retrieved 1698: 1686: 1674:. Retrieved 1664: 1652:. Retrieved 1648:the original 1641: 1628: 1616:. Retrieved 1612:the original 1602: 1591:, retrieved 1585: 1579: 1567:. Retrieved 1563: 1554: 1542:. Retrieved 1533: 1521:. Retrieved 1516: 1476:. Retrieved 1472: 1448:. Retrieved 1446:. Libsdl.org 1438: 1426:. Retrieved 1422:the original 1397:. Retrieved 1373:. Retrieved 1369: 1360: 1346: 1334:. Retrieved 1324: 1224: 1208: 1192: 1176: 1160: 1144: 1128: 1112: 1096: 1080: 1066: 1050: 1016: 1013: 994: 976: 969: 962: 956: 950: 936: 930: 924: 896: 889: 871:Raspberry Pi 796: 646: 634: 624: 614: 608: 602: 596: 590: 524:Input Events 507: 495: 489: 487: 475: 460:Support for 459: 441: 433:zlib License 430: 407: 400:Sam Lantinga 398: 390: 373:zlib License 350: 304:SDL manages 303: 249: 245: 244: 216:zlib License 173:FreeBSD 8.4+ 155:), Windows, 86:2.30.6  49:Developer(s) 42:Sam Lantinga 18: 2940:1 September 2290:"SDL2::Raw" 2252:20 February 1995:23 November 1654:15 December 1082:Scorched 3D 932:Angry Birds 712:(e.g. JSDL) 680:Common Lisp 498:subroutines 361:Objective-C 346:game engine 157:macOS 10.4+ 116:/libsdl-org 3124:MacOS APIs 3119:Linux APIs 3083:Categories 3035:Loki Games 2935:trine2.com 2572:1 February 2391:8 December 2274:28 October 2039:2 February 2017:28 October 1968:libsdl.org 1943:libsdl.org 1918:libsdl.org 1893:libsdl.org 1868:libsdl.org 1676:30 January 1544:30 January 1517:libsdl.org 1317:References 1019:university 999:, such as 637:Amir Taaki 584:Additional 504:Subsystems 342:Direct3D11 326:networking 268:multimedia 161:iOS 3.1.3+ 133:Written in 103:Repository 2983:(Spanish) 2912:3 October 2784:3 October 2751:3 October 2590:. OpenTTD 2509:MobyGames 2489:11 August 2268:"PHP-SDL" 2033:"gb.sdl2" 2011:"f03sdl2" 1989:"cl-sdl2" 1799:6 January 1709:17 August 1523:13 August 1336:27 August 1226:Teeworlds 1067:Hedgewars 997:emulators 979:Homeworld 927:MobyGames 748:(via SDL) 631:rendering 627:— simple 603:SDL_mixer 597:SDL_image 476:SDL is a 457:support. 324:loading, 183:, Haiku, 2698:Archived 2676:cite web 2638:19 March 2616:19 March 2594:19 March 2270:. GitHub 2248:. GitHub 2198:. GitHub 2180:2 August 2152:8 August 2124:8 August 2068:2 August 2013:. GitHub 1991:. GitHub 1777:19 March 1618:7 August 1450:19 March 1375:17 March 1272:DirectFB 1234:See also 986:handheld 619:TrueType 444:codebase 281:such as 222:GNU LGPL 3050:at the 3042:at the 2861:9 March 2726:9 March 2536:"Games" 2468:9 April 1973:19 July 1948:19 July 1923:19 July 1898:19 July 1873:19 July 1834:3 March 1755:25 July 1593:25 June 1569:25 June 1428:9 April 1399:3 March 1310:SVGAlib 1262:ClanLib 1257:Allegro 1210:Trine 2 1146:OpenTTD 983:Pandora 964:Freeciv 952:OpenTTD 899:Rockbox 853:-based 813:DirectX 705:Haskell 690:Fortran 625:SDL_rtf 615:SDL_ttf 609:SDL_net 545:Threads 478:wrapper 466:Wayland 455:Unicode 395:History 318:threads 299:Windows 283:Android 260:library 252:) is a 235:.libsdl 228:Website 211:License 191:AmigaOS 185:RISC OS 153:SteamOS 66: ( 3027:  3008:  2994:  2979:  2829:GitHub 2720:GitHub 2546:18 May 2515:18 May 2462:GitHub 2412:9 July 2296:15 May 2202:31 May 2174:GitHub 2146:GitHub 2118:GitHub 1564:GitHub 1370:GitHub 1300:Ren'Py 1295:Raylib 1290:Pygame 1286:OpenML 1162:0 A.D. 1114:Oolite 1001:DOSBox 921:(2010) 877:Vulkan 861:OpenGL 819:Quartz 757:Python 741:Pascal 695:Gambas 554:Timers 512:Basics 483:OpenGL 426:OpenAL 334:Vulkan 330:OpenGL 297:, and 151:(e.g. 112:github 2661:8 May 1478:5 May 1194:Trine 1031:UTFPR 943:Valve 903:Quake 892:Sixel 833:macOS 829:Metal 823:macOS 731:OCaml 716:Julia 651:for: 539:Audio 518:Video 437:Valve 422:SMPEG 416:(see 340:, or 338:Metal 310:audio 306:video 295:macOS 291:Linux 149:Linux 3025:ISBN 3006:ISBN 2992:ISBN 2977:ISBN 2942:2020 2914:2014 2885:2021 2863:2015 2838:2021 2810:2021 2786:2014 2753:2014 2728:2015 2682:link 2663:2012 2640:2010 2618:2010 2596:2010 2574:2012 2548:2012 2517:2012 2491:2019 2470:2016 2414:2015 2393:2013 2349:2020 2298:2020 2276:2019 2254:2019 2204:2022 2182:2019 2154:2020 2126:2020 2070:2019 2041:2023 2019:2019 1997:2017 1975:2014 1950:2014 1925:2014 1900:2014 1875:2014 1836:2014 1801:2016 1779:2014 1757:2011 1711:2012 1678:2012 1656:2023 1620:2021 1595:2024 1571:2024 1546:2012 1525:2014 1480:2019 1452:2010 1430:2016 1401:2014 1377:2024 1338:2024 1305:SFML 1282:GLFW 1007:and 988:and 897:The 847:Xlib 841:tvOS 778:Vala 773:Rust 768:Ring 763:Raku 746:Perl 736:Odin 710:Java 661:Beef 464:and 424:and 414:BeOS 409:Doom 237:.org 199:Type 187:3.5+ 165:tvOS 118:/SDL 114:.com 68:1998 61:1998 3040:PDF 1643:IBM 961:or 945:'s 884:PSP 867:EGL 851:X11 837:iOS 803:GDI 752:PHP 726:Nim 721:Lua 670:C++ 657:Ada 490:not 462:Mir 451:API 412:to 383:in 359:or 357:C++ 287:iOS 250:SDL 233:www 204:API 3085:: 2933:. 2916:. 2904:. 2887:. 2854:. 2826:. 2788:. 2772:. 2755:. 2744:. 2717:. 2678:}} 2674:{{ 2665:. 2519:. 2507:. 2459:. 2379:. 2171:. 2143:. 2115:. 2061:. 2049:^ 1966:. 1941:. 1916:. 1891:. 1866:. 1640:. 1562:. 1515:. 1488:^ 1471:. 1460:^ 1409:^ 1385:^ 1368:. 1011:. 1003:, 967:. 955:, 935:, 905:. 839:/ 835:/ 700:Go 675:C# 639:. 617:— 336:, 332:, 320:, 316:, 312:, 308:, 301:. 293:, 289:, 285:, 179:, 175:, 171:, 167:, 163:, 159:, 3031:( 3016:) 3012:( 2958:. 2944:. 2865:. 2840:. 2812:. 2730:. 2684:) 2642:. 2620:. 2598:. 2576:. 2550:. 2493:. 2472:. 2445:. 2430:. 2416:. 2395:. 2351:. 2330:. 2316:. 2300:. 2278:. 2256:. 2234:. 2220:. 2206:. 2184:. 2156:. 2128:. 2100:. 2086:. 2072:. 2043:. 2021:. 1999:. 1977:. 1952:. 1927:. 1902:. 1877:. 1852:. 1838:. 1817:. 1803:. 1781:. 1759:. 1713:. 1680:. 1658:. 1622:. 1573:. 1548:. 1527:. 1482:. 1454:. 1432:. 1403:. 1379:. 1340:. 886:. 809:. 685:D 665:C 353:C 248:( 137:C 70:)

Index


Original author(s)
Sam Lantinga
Developer(s)
Stable release
Edit this on Wikidata
Repository
github.com/libsdl-org/SDL
Edit this at Wikidata
C
Operating system
Linux
SteamOS
Nintendo Switch
PlayStation 2
RISC OS
AmigaOS
Type
API
License
zlib License
GNU LGPL
www.libsdl.org
cross-platform
software development
library
hardware abstraction layer
multimedia
hardware components
computer games

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.