SDL
SDL copied to clipboard
[SDL3] C++ headers & modules
Since SDL3 is in development, I would like to propose that there should be some kind of C++ header generation. This would make using headers way more comfortable as a C++ user. I really like the way VulkanHpp was implemented.
On top of that SDL3 should have optional (by default off) C++ 20 Module support (just like VulkanHpp aswell). Much work has been done on the compiler and CMake side to make this as easy as possible (read this article for more).
I would really love to see this happen
Edit:
For good C++ adaptation I would expect the following:
- Namespacing:
Example:
sdl::Delay(2000); // sdl namespace is lowercase, types & functions are PascalCase
sdl::Event e;
- Flags as
enum class
:
(some flags will have to be renamed because of clarity)
Example:
SDL_SOMEFLAG_FLAG1
sdl::SomeFlag::Flag1
SDL_SOMEFLAG_FLAG1 | SDL_SOMEFLAG_FLAG2
sdl::SomeFlag::Flag1 | sdl::SomeFlag::Flag2
Please no lower-case sdl
, this looks so wrong. :)
Please no lower-case
sdl
, this looks so wrong. :)
I guess uppercase SDL
would also be okay then. It could even be made configurable through a macro and cmake (just like VulkanHpp)
Feel free to submit a PR for this.
Feel free to submit a PR for this.
Yo I feel like I can do this but I need to get more familiar with the code / project structure 👌