SIGIL

(Latest version is 0.9.0, November 14 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.

a screenshot of a simple SIGIL application
#include "sl.h"

int main(int args, char *argv[])
{
  // setup our window and a few resources we need
  slWindow(400, 400, "Simple SIGIL Example", false);
  slSetFont(slLoadFont("ttf/white_rabbit.ttf"), 24);
  slSetTextAlign(SL_ALIGN_CENTER);
  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);
    slSetFontSize(24);
    slText(200, 250, "SIGIL:");
    slRectangleFill(200, 240, 100, 7);

    // smaller subtext
    slSetFontSize(14);
    slText(200, 220, "Sprites, text, sound, input, and more!");
    slLine(48, 210, 352, 210);

    // draw everything
    slRender();
  }
  slClose();  // close the window and shut down SIGIL
  return 0;
}

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):

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 GitLabopens in new window.

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:

Do you provide any examples?

You bet! There are several self-contained SIGIL example projects available on GitLabopens in new window, 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 developer, Geoff, at geoff@libsigil.com.


Page last updated Nov. 14, 2016.

Valid HTML 4.01 Strict Valid CSS!