|
Size: 5527
Comment: update content for consistency - color key
|
Size: 1104
Comment: update content - split intro to its own page
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 6: | Line 6: |
| #pragma section-numbers 2 | #pragma section-numbers off |
| Line 12: | Line 12: |
| <<BR>> <<BR>> == Using the SDL documentation Wiki == Use the links under the '''Navigation Links''' heading in the left-hand menu to access: |
|
| Line 13: | Line 17: |
| <<TableOfContents()>> == Using the SDL documentation Wiki == Use the links under the '''Navigation Links''' heading on the left-hand menu to access: * API reference [[CategoryAPI|by name]] or [[APIByCategory|by category]] |
* API reference [[CategoryAPI|by Name]] or [[APIByCategory|by Category]] |
| Line 25: | Line 24: |
| Users wishing to contribute content should follow the guidelines provided in the [[http://wiki.libsdl.org/moin.cgi/APIContributionStyleGuide|SDL API Contribution Style Guide]]. | Looking for a basic introduction to SDL 1.3? Check out the [[http://wiki.libsdl.org/moin.cgi/Introduction|Introduction]] page. |
| Line 27: | Line 26: |
| == Introduction to SDL == === What is SDL? === The Simple !DirectMedia Layer library (SDL) is a general API that provides low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D framebuffer across multiple platforms. |
Users wishing to contribute content should follow the guidelines provided in the [[http://wiki.libsdl.org/moin.cgi/Contributing|Contributing]] guide. |
| Line 31: | Line 28: |
| The current version (1.3) supports Windows, Windows CE, Mac OS X, Linux, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, and QNX. The code contains support for other operating systems but those are not officially supported. SDL is written in C, but works with C++ natively, and has bindings to several other languages, including Ada, C#, Eiffel, Erlang, Euphoria, Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python, Ruby, and Smalltalk. This library is distributed under [[http://www.libsdl.org/license-lgpl.php|GNU LGPL version 2.1]]. This license allows you to use SDL freely in commercial programs as long as you link with the dynamic library. A full commercial license for SDL 1.3 is available from [[http://www.galaxygameworks.com|Galaxy Gameworks]]. === 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 color key 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 * Window Management * Rendering '''''Input Events''''' * Events provided for: * Application visibility changes * Keyboard input * Mouse input * Joystick 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 ''''' Force Feedback''''' * Force feedback is supported under Windows, Mac OSX and Linux '''''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 '''''File I/O Abstraction''''' * General purpose abstraction for opening, reading and writing data * Built-in support for files and memory '''''Shared Object Support''''' * Load shared objects (DLL on Windows, .dylib on Mac OSX, .so on Linux) * Lookup functions in shared objects '''''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 '''''CPU Feature Detection''''' * Detect MMX, SSE, 3DNow and !AltiVec CPU features '''''Endian Independence''''' * Detect the endianness of the current system * Routines for fast swapping of data values * Read and write data of a specified endianness '''''Power Management''''' * Querying power management status === What platforms does SDL run on? === '''''Windows''''' * 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 !Direct3D for video display, taking advantage of modern hardware acceleration * Safe version uses waveOut APIs for sound. High performance version uses !DirectSound for audio playback '''''Mac OSX''''' * Uses Cocoa for video display, taking advantage of OpenGL for hardware acceleration * Uses Core Audio for sound '''''Linux''''' * Uses X11 for video display, taking advantage of OpenGL for hardware acceleration * Uses the ALSA, OSS and !PulseAudio APIs for sound == 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 === Transitioning from SDL 1.2 to 1.3 === * [[http://wiki.libsdl.org/moin.cgi/MigrationGuide|Migration Guide]] |
Simple DirectMedia Layer 1.3 Wiki
This wiki is your portal to documentation and other resources for SDL 1.3.
You can find the old SDL 1.2 wiki at: http://www.libsdl.org/cgi/docwiki.cgi.
Using the SDL documentation Wiki
Use the links under the Navigation Links heading in the left-hand menu to access:
Looking for a basic introduction to SDL 1.3? Check out the Introduction page.
Users wishing to contribute content should follow the guidelines provided in the Contributing guide.
This wiki is powered by MoinMoin.
