For the platform implementation classes, is there any reason why you're not using CRTP? The virtual functions seem unnecessary.
Are you talking about sf::WindowImpl ? It's the only class using virtual functions to implement system-specific code.
The name sf::RenderWindow::Display() seems a bit weird to me, how about something like FlipBuffers() or SwapBuffers()?
To me, FlipBuffers() is the weird one. Why would a beginner have to know that there are internally two buffers, and that to display its drawing on screen he has to flip them, and so call a FlipBuffers() function ?
When you want to display, call Display(). Simple. I think FlipBuffers() is only meaningful for us, low-level graphics programmers.
- Provide the user the ability to specify depth and stencil bit depths, preferably through the VideoMode object. Currently these values are hard-coded.
Yep, that will be part of a more generic configuration option when creating windows.