I am creating a simple framework in C++ to help me use RAII with SDL and make some functions easier.
I am wondering about some classes and the Single Responsibility Principle, however. I have a screen class that basically encapsulates and SDL_Surface for the screen, but I'm wondering whether to have a function to access this pointer and then have a renderer class apply an image to that or have a function to put an image on the screen and have the renderer class use that. I'm also wondering whether the user should call an update function in the renderer class that calls an update function in the screen class, or just have the user call the screen's update function.