C++ Wrapper for SDL

Overview and Mission Statement

Although the project's title states that SDLPP is a C++ wrapper for SDL, the purpose of this project is not to wrap the SDL API just for the fun of saying that we are now using classes and objects.

SDL provides a comprehensive low level interface to various media devices. "Low Level" in this context does not refer to the language or interface structure that the library provides, but rather to the fact that it does not make any assumptions as to the nature of the application that will be using it.

For example, the audio interfaces simply provide access to the sound device buffer. They do not assume the role of providing higher level entities such as sound clips and streaming audio.

Now back to the purpose of SDLPP. The purpose of this library is to provide classes that will assume some things about the type of applications that will be using it and provide interfaces to the most common tasks that such applications must do. For example, if audio was mentioned before, the concept of a sound clip and a central manager that provides audio mixing of all active clips can be used by various applications that need to play simple sound clips.

Initially, the provided interface classes will cover the common tasks done by games. Specifically, the beginning benchmark of this library will be the creation of a simple 2D arcade game. This does not mean that the design will not take into account later expansion into other game/application domains.

In addition to the various "wrapper" classes, several generic useful classes will be provided to take care of some common needs, such as resource IO and memory management.


SDLPP is being developed in windows with the Visual Studio 2008 environment. Great effort is taken to make sure that no system dependent code exists in the main code base. In case a need will arise to use system dependent code, such code will be isolated in a specific module and will provide the means to create alternative implementations for systems that the library will be ported to.

Plans are to provide project files for compilation with Visual Studio 2008 and make files for compilation with gcc and similar compilers, both in windows and in various UNIX systems. The only requirement as far as platform is concerned is that there should be a C++ standard compliant (as much as possible) compiler.


SDLPP is distributed under the LGPL. This conforms to the same license used by SDL. Details can be found in the file called: COPYING or at: http://www.gnu.org/copyleft/lesser.html


Sample Games

Jungle BoyJungleBoy screen shot