|
Size: 5424
Comment:
|
← Revision 59 as of 2019-05-21 03:59:04 ⇥
Size: 3092
Comment: Corrected link to license information.
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 7: | Line 7: |
| #acl Lauren MacDonell:read,write Sam Lantinga:read,write All:read = Simple DirectMedia Layer 1.3 Wiki = This wiki is your portal to documentation and other resources for SDL 1.3. |
#pragma camelcase off #acl All:read = Simple DirectMedia Layer = == What is it? == Simple !DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including [[http://valvesoftware.com|Valve]]'s award winning catalog and many [[https://www.humblebundle.com|Humble Bundle]] games. SDL officially supports Windows, Mac OS X, Linux, iOS, and Android. Support for other platforms may be found in the source code. SDL is written in C, works natively with C++, and there are bindings available for several other languages, including C# and Python. SDL 2.0 is distributed under the [[https://www.libsdl.org/license.php|zlib license]]. This license allows you to use SDL freely in any software. This is the SDL wiki; SDL's main website is [[https://libsdl.org/]]. This wiki is your portal to documentation and other resources for SDL 2.0. |
| Line 12: | Line 25: |
| Use the links under the '''Navigation Links''' heading on the left-hand menu to access: | Use the links under the '''Navigation Links''' heading in the left-hand menu to access: |
| Line 14: | Line 27: |
| * API reference * tutorials * articles * books * FAQs * forums |
* [[Introduction]] . An introduction to the features in SDL 2.0.<<BR>>Includes a Migration Guide from 1.2 to 2.0! * [[SourceCode|Source Code]] . How to download the source code to SDL. * [[Installation]] . How to install SDL on your platform of choice and link your program against it. * API reference [[CategoryAPI|by Name]] or [[APIByCategory|by Category]] . The official documentation for the API. Look here to find detailed information about the functions, structures, and enumerations. * [[Tutorials]] . Want to learn about a feature in SDL you haven't used before? Here's a great place to get started! * [[Articles]] . A sampling of the articles that have been written about SDL. * [[Books]] . Looking for more information than you can get online? Check out the books listed here. * [[FAQs]] . A few of the most commonly asked questions about using SDL are answered here. * [[http://forums.libsdl.org/|Forums]] . A great place to keep up with the latest news, help other users out, and ask questions. * [[Contributing]] . Users wishing to contribute content to the wiki should follow the guidelines provided in this guide. |
| Line 21: | Line 48: |
| Registered users can use the '''Edit''' links under the '''Page Actions''' heading on the left-hand menu to add or update content in the wiki. For help using the editing functions see the [[HelpOnEditing|MoinMoin Wiki Help]] pages, also available at any time from the Wiki Help link under the '''Page Actions''' heading. | We hope you find everything you are looking for and enjoy using SDL. If anything is not addressed somewhere here feel free to take advantage of the Feedback form in the upper right or send an email to <<MailTo(ANTI SPAM wiki AT libsdl DOT org)>>. |
| Line 23: | Line 50: |
| == Introduction to SDL == === What is SDL? === SDL is a free cross-platform multi-media development API, used for games, game SDK's, emulators, MPEG players and other applcations. |
##''Please note that the Feedback form is __not__ for SDL technical support. Please direct technical questions about SDL to the appropriate [[http://forums.libsdl.org/|Forum]] or to one of the [[http://www.libsdl.org/mailing-list.php|Mailing Lists]].'' |
| Line 27: | Line 52: |
| === What can SDL do? === '''''Video''''' * Set a video mode at any depth (8-bpp or greater) with optional conversion, if the video mode is not supported by the hardware. * Write directly to a linear graphics framebuffer. * Create surfaces with colorkey or alpha blending attributes. * Surface blits are automatically converted to the target format using optimized blitters and are hardware accelerated, when possible. MMX optimized blits are available for the x86. * Hardware accelerated blit and fill operations are used if supported by the hardware. '''''Events''''' * Events provided for: * Application visibility changes * Keyboard input * Mouse input * User-requested quit * Each event can be enabled or disabled with SDL_!EventState(). * Events are passed through a user-specified filter function before being posted to the internal event queue. * Thread-safe event queue. '''''Audio''''' * Set audio playback of 8-bit and 16-bit audio, mono or stereo, with optional conversion if the format is not supported by the hardware. * Audio runs independently in a separate thread, filled via a user callback mechanism. * Designed for custom software audio mixers, but the example archive contains a complete audio/music output library. '''''Threads''''' * Simple thread creation API * Simple binary semaphores for synchronization '''''Timers''''' * Get the number of milliseconds elapsed * Wait a specified number of milliseconds * Set a single periodic timer with 10ms resolution '''''Endian Independence''''' * Detect the endianness of the current system * Routines for fast swapping of data values * Read and write data of a specified endianness === What platforms does SDL run on? === '''''Linux''''' * Uses X11 for video display, taking advantage of XFree86 DGA extensions and new MTRR acceleration for fullscreen display. * Uses the OSS API for sound. * Threads are implemented using either the clone() system call and SysV IPC, or glibc-2.1 pthreads. '''''Win32''''' * Two versions, one safe for all systems based on Win32 APIs, and one with higher performance, based on DirectX APIs. * Safe version uses GDI for video display. High performance version uses !DirectDraw for video display, taking advantage of hardware acceleration if available. * Safe version uses waveOut APIs for sound. High performace version uses !DirectSound for audio playback. '''''Mac OS''''' * more info? === Special features in SDL 1.3 === * Full 3D hardware acceleration * Support for OpenGL 3.0 * Support for multiple windows * Support for multiple displays * Support for multiple mice, tablets, etc. * Force Feedback available on Windows, Mac OS X and Linux Interesting starting points: * RecentChanges: see where people are currently working * WikiSandBox: feel free to change this page and experiment with editing * FindPage: search or browse the database in various ways * HelpOnMoinWikiSyntax: quick access to wiki markup * SiteNavigation: get an overview over this site and what it contains == How to use this site == A Wiki is a collaborative site, anyone can contribute and share: * Edit any page by pressing '''<<GetText(Edit)>>''' at the top or the bottom of the page * Create a link to another page with joined capitalized words (like WikiSandBox) or with {{{[[words in brackets]]}}} * Search for page titles or text within pages using the search box at the top of any page * See HelpForBeginners to get you going, HelpContents for all help pages. * For customizing MoinMoin's language support see HelpOnLanguages. To learn more about what a WikiWikiWeb is, read about MoinMoin:WhyWikiWorks and the MoinMoin:WikiNature. Also, consult the HelpMiscellaneous/FrequentlyAskedQuestions page. This wiki is powered by [[http://moinmo.in/|MoinMoin]]. |
~+Enjoy!+~ |
Simple DirectMedia Layer
What is it?
Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.
SDL officially supports Windows, Mac OS X, Linux, iOS, and Android. Support for other platforms may be found in the source code.
SDL is written in C, works natively with C++, and there are bindings available for several other languages, including C# and Python.
SDL 2.0 is distributed under the zlib license. This license allows you to use SDL freely in any software.
This is the SDL wiki; SDL's main website is https://libsdl.org/.
This wiki is your portal to documentation and other resources for SDL 2.0.
Using the SDL documentation Wiki
Use the links under the Navigation Links heading in the left-hand menu to access:
An introduction to the features in SDL 2.0.
Includes a Migration Guide from 1.2 to 2.0!
- How to download the source code to SDL.
- How to install SDL on your platform of choice and link your program against it.
API reference by Name or by Category
- The official documentation for the API. Look here to find detailed information about the functions, structures, and enumerations.
- Want to learn about a feature in SDL you haven't used before? Here's a great place to get started!
- A sampling of the articles that have been written about SDL.
- Looking for more information than you can get online? Check out the books listed here.
- A few of the most commonly asked questions about using SDL are answered here.
- A great place to keep up with the latest news, help other users out, and ask questions.
- Users wishing to contribute content to the wiki should follow the guidelines provided in this guide.
We hope you find everything you are looking for and enjoy using SDL. If anything is not addressed somewhere here feel free to take advantage of the Feedback form in the upper right or send an email to <ANTI SPAM wiki AT libsdl DOT org>.
Enjoy!
