(Latest version is 0.8.10, July 18 2016)
SIGIL stands for Sound, Input, and Graphics Integration Library. It is meant to be a mind-bogglingly simple alternative to other, more complex libraries when all you want is to make a small game, teach basic 2D graphics, or otherwise remove the complexities of media programming from your C or C++ code. It's also cross-platform!
It's designed to be really easy to use. Here is a simple example program demonstrating sprites, text, rectangles, and lines.
int main(int args, char *argv)
// setup our window and a few resources we need
slWindow(400, 400, "Simple SIGIL Example", false);
int tex = slLoadTexture("png/glow.png");
while(!slShouldClose() && !slGetKey(SL_KEY_ESCAPE))
// background glow
slSetForeColor(0.1, 0.9, 0.2, 0.4);
slSprite(tex, 200, 240, 300, 200);
// large text and fat line
slSetForeColor(0.0, 0.8, 0.2, 1.0);
slText(200, 250, "SIGIL:");
slRectangleFill(200, 240, 100, 7);
// smaller subtext
slText(200, 220, "Sprites, text, sound, input, and more!");
slLine(48, 210, 352, 210);
// draw everything
slClose(); // close the window and shut down SIGIL
Cool! What platforms does SIGIL support?
At the moment, SIGIL supports MinGW32, MSVC 10 2010 (32- and 64-bit), MSVC 11 2012 (32- and 64-bit), MSVC 12 2013 (32- and 64-bit), MSVC 14 2015 (32- and 64-bit), Linux GCC, and the Raspberry Pi. Plans are underway to make SIGIL increasingly cross-platform.
Where can I download SIGIL?
The SIGIL header is available here. Precompiled libs are provided for the following platforms (header files also included):
- MSVC 10 2010 32-bit or 64-bit
- MSVC 11 2012 32-bit or 64-bit
- MSVC 12 2013 32-bit or 64-bit
- MSVC 14 2015 32-bit or 64-bit
For Linux GCC and the Raspberry Pi, it's better to build from source (and it's really easy).
I want source code!
Calm down! Source code is available on GitLab.
How do I use SIGIL?Using SIGIL in your program only requires you to #include "sl.h" and link against the provided libraries. The SIGIL header file is available here. For more details, consult the documentation below:
- SIGIL API Documentation
- How to integrate SIGIL into your programs:
Do you provide any examples?
You bet! There are several self-contained SIGIL example projects available on GitLab, for every compiler that SIGIL supports.
I have a feature request/bug report/semi-helpful comment. Who do I pester about this?
You can contact the project maintainer, Geoff, at firstname.lastname@example.org.