Hello!
I know there's a GUI lib thread on this forum page no less, but my situation and requirements are different and a bit more specific.
Essentially, there's this old tool I have that's written with the Win32 API\MFC and it works. But, being that, it's not cross platform and is not very easy to work with. I want to port it to another API\GUI system to change that.
I plan to use the tool for non-commercial use, but that's not to say somebody else couldn't come along and want to use it for that. Unfortunately, I can't release the source code, not because I don't want to, but simply because I legally can't.
Knowing that, here are the requirements I have for a GUI library:
- Cross-Platform
- Supports embedding both DirectX and OpenGL into 3D viewports (maybe even Vulkan for the future?)
- Something that can supply the same functionality or better than Win32\MFC
- Something that also supports theming (Come on, got to have a dark theme, right?)
- Can be BUILT with Visual Studio (2013), even if it might want you to use another application to work with like Qt Creator (Yes, I know I want this to be cross platform, but I want this tool to be compatible with our current workflow)
- Free
- Doesn't require my code to be open source
- C\C++ (Forgot to mention this, editing it in!)
Bonus:
- Could be used commercially while falling in line with the above requirements
- Can run on the latest service pack of Windows XP
- Has its own input handling system (Keyboard+Mouse) so I don't need an extra thirdparty library just for that.
Now I know one of my requirements is for embedding DirectX to use for viewports, and that's because the code for that is already there in the application. I'd rather start with something that already works than have to worry about re-working the rendering at the start of the porting process.
Also one of my bonus points is being able to run on the latest service pack of Windows XP, and that's because ideally I'd like to port with the same functionality and not lose anything. If I have to settle for Vista+, that's okay, but I figured I'd add that in there.
If somebody knows of a library that will work for what I need, please let me know! I know I'm asking for quite a lot. I appreciate any input!