8.4.4. SDL: Simple DirectMedia Layer

Author(s): Yann LeCun

Lush's interface to the popular SDL library provides access to every function of the SDL API. It also provides a set of higher-level classes to make it easy to write 2D video games and other interactive multimedia applications. The high-level interface provides classes for double-buffered SDL screens, event grabbing, and sprites with pixel-accurate collision detection.

The help text associated with each low-level function is from the corresponding .h header file that comes with SDL. If you installed libSDL1.2-devel with RPM, you may find the API documentation in file:/usr/share/doc/libSDL1.2-devel-1.2.3/index.html Otherwise, the documentation is available at http://www.libsdl.org

The Tutorial section of the Lush manual contains a tutorial on how to write simple video games with Lush and SDL. Tutorial: Writing Games with Lush and SDL.



8.4.4.0. Installing SDL


To make the SDL interface work with Lush, you need:

Those are generally available as RPMs or APTs for most Linux distributions. Otherwise, you can download the latest version from http://www.libsdl.org

By default, Lush looks for the SDL .so libraries in "/usr/lib". It expects to find "libSDL-1.2.so.0" and "libSDL_image-1.2.so.0". If these libraries are installed someplace else on your system, you must edit packages/sdl/sdl-config.lsh.



8.4.4.1. SDL Demos




8.4.4.3. Low-Level Interface to SDL




8.4.4.3.0. sdl/SDL.lsh




8.4.4.3.1. sdl/SDL_active.lsh




8.4.4.3.2. sdl/SDL_audio.lsh




8.4.4.3.3. sdl/SDL_byteorder.lsh




8.4.4.3.4. sdl/SDL_cdrom.lsh




8.4.4.3.5. sdl/SDL_endian.lsh




8.4.4.3.6. sdl/SDL_error.lsh




8.4.4.3.7. sdl/SDL_events.lsh




8.4.4.3.8. sdl/SDL_getenv.lsh




8.4.4.3.9. sdl/SDL_image.lsh




8.4.4.3.10. sdl/SDL_joystick.lsh




8.4.4.3.11. sdl/SDL_keyboard.lsh




8.4.4.3.12. sdl/SDL_keysym.lsh




8.4.4.3.13. sdl/SDL_mouse.lsh




8.4.4.3.14. sdl/SDL_mutex.lsh




8.4.4.3.15. sdl/SDL_rwops.lsh




8.4.4.3.16. sdl/SDL_syswm.lsh




8.4.4.3.17. sdl/SDL_thread.lsh




8.4.4.3.18. sdl/SDL_timer.lsh




8.4.4.3.19. sdl/SDL_version.lsh




8.4.4.3.20. sdl/SDL_video.lsh