SDL is a library that can open a window in the display context, create a viewport on it and then write graphics and text to it. Also track the mouse (and gestures in SDL2) and keyboard and handle audio too (It does not record, bummer.) All these commands are cross-platform, and it sounds great but it has some serious limitations.
It can write single pixels, single-pixel lines, filled rectangles and rounded-recangles to the screen, and thats it. At least they are alpha-blended and textured, but still useless. To load bitmaps you need an extension library, SDL_image.h, and the TTF fonts dont work. I'll make a vector font that emulates a plotter, in keeping with current PCB artwork.
No triangles, polygons or circles at all, so I've had to write them. The event system is confusing and badly integrated, no surprise. Considering it handles 4 different OS types, surprisingly it works pretty well, but I had to code for that too.
Note that the subsequent code assumes a working system, in my case Debian Linux. It can be compiled for Windoze, by replacing the .H includes with .DLLs and for Mac/IOS and Android similarly to Linux but this is untested. The SDL library however is known to compile on an extensive list of OSes...