Re-Model the Window class and it's implementations as Derived Classes. #9
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Currently our code structure is laid out such that our RWindow header is implemented partially by shared/window.cpp and conditionally implements the rest from either linux/window.cpp or windows/window.cpp.
I am intending to refactor the code such that we have a base RWindow class that implements old shared logic, while being derived and overridden by Win32Window class and LinuxXWindow class. This will make supporting further platforms much easier and simplify the maintenance for this entire project.
The sticking point will be that the user can no longer simply construct a class that is implemented per-platform on the backend. However a reasonable workaround would be a static Window factory-type function that returns the RWindow pointer type, and in theory, with a well-designed API, this would hide the platform-specific implementation from the class user. More thoughts to be considered later. :)
I think we started on this maybe?