Some years ago - many- I created a paint program on the Atari ST platform. The only reason I did so was because the two paint programs that existed (Neochrome and D.E.G.A.S.) only supported images 320 x 240 because that was the monitor's resolution. I guess a virtual screen never occurred to them. I built my own that supported 640 x 480 images ( in my own format because no Atari formats supported larger images).
Long story short ( too late?) Photoshop is a wonderful program. But one thing has always annoyed me and there is no plugin to cure it. You can't paint to more than one layer at a time. A programmer might ask "why would you need to?" An artist would answer "for many reasons."
So like long ago, I'm going to write my own, and if there is only one thing it can do, it will be paint on multiple layers at one time.
I've been looking at the SDL graphics library and extensions. I'm very impressed with it and think I could develop a paint program with this. But is this the best (free) option out there? Is there something out there with maybe built in filters? I know I can find the math and code to build my own, but if there's a graphics library with gaussian blur, contrast etc. built in, I would opt for that.
Would SDL be the best free choice to build a paint program?
Not sure what the "best choice" is. I guess you want to have some kind of GUI but SDL doesn't have such functionality built in, but maybe you can code it yourself (using SDL) or use an additional library.