15 Commits

Author SHA1 Message Date
ba30cc49d5 Use std::string when setting Window title instead of std::string_view 2025-09-07 02:21:45 +10:00
db7d50c371 Refactor various headers 2025-06-26 22:00:28 +10:00
04eec1b703 Use [[nodiscard]] attribute more sparingly
Removed all uses of the [[nodiscard]] attribute unless ignoring the
return value would lead to an error or leak e.g. memory allocations.
2025-06-26 20:28:21 +10:00
4c6712e2fe Redefine ID types to be actual pointers
Redefined various ID types to be aliases of pointers instead of casting
a uintptr_t to the needed pointer.

e.g. SurfaceID = Surface*
2025-04-16 23:46:00 +10:00
b003eca687 Rename WindowAPI::WIN32 to WindowAPI::WINDOWS
Renamed to avoid conflict with WIN32 macro when compiling on Windows.
2025-04-13 10:06:23 +10:00
859547570b Rename local parameter variables to use p_ prefix 2025-04-13 10:04:53 +10:00
6cbf8df17a Add get_api() and get_api_name() to WindowDriver 2025-04-12 10:32:30 +10:00
6e1393ce64 Add basic surface handling to RenderDriver and WindowDriver
This will likely require significant rework but it will do for now. A
considerations worth thinking about:

- What happends when the WindowDriver destroys a window, what happens to
  the corresponding surface?
2025-04-10 17:53:48 +10:00
536a1e8773 Misc fixes 2025-04-08 22:10:07 +10:00
6055ae1ebc Add WindowDriver::beep function 2025-04-08 18:55:27 +10:00
608af1b866 Moved RenderDriver/WindorDriver init code to static create functions 2025-04-08 18:24:33 +10:00
286dd0fb0e Add basic Window creation to X11WindowDriver 2025-04-05 07:07:54 +10:00
5e7c94ba8f Rename SystemDriver to WindowDriver and removed LinuxSystemDriver
Hopefully the last time I change my mind on what I want these to be
called. Reason behind this change is to minimize scope of a single
module. The WindowDriver should really only handle stuff related to
windows. If we need OS level functionality (e.g. get_os_name), that
should be the responsibility of the OS driver (or whatever that ends
being called). Remember, composition over inheritance.
2025-04-03 04:47:22 +10:00
a6962bfba8 Add get_surface_extension to X11SystenDriver 2025-03-28 22:30:03 +10:00
8eb5a39c4c Add System, SystemDriver, Win32SystemDriver and X11SystemDriver classes 2025-03-28 13:36:24 +10:00