# Libraries

These libraries can extend the core SDL functionality.

## SDL_image

Loads images as SDL surfaces and textures, and supports the following formats:
BMP, GIF, JPEG, LBM, PCX, PNG, PNM, SVG, TGA, TIFF, WEBP, XCF, XPM, XV.

- [Git Repository](https://github.com/libsdl-org/SDL_image/)
- [Wiki](https://wiki.libsdl.org/SDL2_image)

## SDL_mixer

SDL_mixer is a sample multi-channel audio mixer library. It supports any number
of simultaneously playing channels of 16 bit stereo audio, plus a single
channel of music, mixed by the popular FLAC, MikMod MOD, Timidity MIDI, Ogg
Vorbis, and SMPEG MP3 libraries.

- [Git Repository](https://github.com/libsdl-org/SDL_mixer/)
- [Wiki](https://wiki.libsdl.org/SDL2_mixer)

## SDL_ttf

A library which allows you to use TrueType fonts in your SDL applications. It
comes with an example program "showfont" which displays an example string for a
given TrueType font file.

- [Git Repository](https://github.com/libsdl-org/SDL_ttf/)
- [Wiki](https://wiki.libsdl.org/SDL2_ttf)

## SDL_net

A small cross-platform networking library, with a sample chat client and server
application. The chat client uses the GUIlib GUI framework library.

- [Git Repository](https://github.com/libsdl-org/SDL_net/)
- [Wiki](https://wiki.libsdl.org/SDL2_net)

## SDL_rtf

A library which allows you to display Rich Text Format (RTF) documents in your
SDL applications. It comes with an example program "showrtf" which displays an
RTF file using an [SDL_ttf](SDL_ttf) font engine.

- [Git Repository](https://github.com/libsdl-org/SDL_rtf/)
- [Wiki](https://wiki.libsdl.org/SDL_rtf)

## Others libraries

SDL2, through [SDL_RenderGeometry](SDL_RenderGeometry), can be used as a back-end with other GUI/Animation libraries:

### Dear ImGUI:
- [Dear ImGui website](https://github.com/ocornut/imgui)
- [Example source code](https://github.com/ocornut/imgui/tree/master/examples/example_sdl2_sdlrenderer2)

### Nuklear:
- [Nuklear website](https://github.com/Immediate-Mode-UI/Nuklear)
- [Example source code](https://github.com/Immediate-Mode-UI/Nuklear/tree/master/demo/sdl_renderer)

### RmlUI (fork of libRocket):
- [RmlUI website](https://github.com/mikke89/RmlUi)
- [Example source code](https://github.com/mikke89/RmlUi/tree/master/Backends)

### Spine:
- [Spine website](http://esotericsoftware.com/)
- [Example source code](https://github.com/royalstream/spine-sdl)

