I am curently starting to develop a small 2d game engine in C++ using the 2d functionality that OpenGL provides. I however cannot decide what window toolkit to use for my game engine.
I am making the game engine for two reasons: because I want to make 2d games, and because I want to learn from it. Because I also use it as a learning experience, I don’t want to work with too high-level libraries. I want to have as much control over everything as possible, and do research on the best methods to implement something etc., because I learn more that way. I also hate to find out that the library I’m using doesn’t support a certain feature that I would have been able to code myself if I would have used lower level libs.
So, I am asking for advice on which library to use for creating and modifying OpenGL windows. GLUT, freeGLUT, SDL (tried that but didn’t like it, too many restrictions and too many things I don’t need that cause overhead), or perhaps just xlib and mfc? My game engine does HAVE to be usable to create games for both windows and linux (X11), and preferably also for Mac, although this is a lower priority. I want the library to be able to do things like set the window icon, change the width and height of an already created window with code, and not just respond to resize events (is this even possible?), create a borderless window, create a window of a particular shape, move the window around the screen with code, etc.
What is a good library that gives me lots of options? Do I have to use xlib and mfc on windows to accomplish these things? I don’t mind if I do, but I would like to know if using these isn’t overkill and too much work.