Commit Graph

9 Commits

Author SHA1 Message Date
e7607e3fc0 [Refactor] Created UIRenderer for consistant coord system.
The UI codebase was suffering with complexity due to the need to
manually convert between two different coordinate systems:
- Top-down "screen coordinates" used by SDL for input and windowing.
- Bottom-up "GL coordinates" used by low-level renderers.

This was making layout calculations diffucult and is bug prone.

With this commit, I'm introducing a 'UIRenderer' abstraction layer that
wraps the low-level 'ShapeRenderer' and 'TextRenderer'. This is
responsible for centralising all coordinate system conversations.

All UI components has been refactored to use the 'UIRenderer' so the
entire UI code opeates exclusively in a single, top-down screen
coordinate system as one would expect.
2025-10-04 03:11:48 +01:00
a6e159f0da Menu bar for for text editor etc. 2025-10-03 23:56:30 +01:00
30ae57d0ba [Fix] Created get_text_width for menu button centering. 2025-10-02 23:45:56 +01:00
ea25cb6cc7 [Add] Taskbar and window management work
- Adds a taskbar that displays and manages open application windows
- close, minimise and restore functionality
- resizeable windows
- Refactored desktop event handling to manage window focus and render
  order
2025-09-28 14:12:11 +01:00
5cbcfeb54e [Refactor] More spring cleaning for the renderer. 2025-09-27 23:22:51 +01:00
e8ca1630c6 [Refactor] Consolidate duplicated matrix code into math util 2025-09-27 23:13:11 +01:00
cf48324516 [Refactor] Givin' the client some luv!
Refactored client-side rendering code to use a Color struct rather than
raw float arrays.
2025-09-27 22:58:04 +01:00
a0c5eab1cf [Add] Implement basic UI windowing system. 2025-09-20 12:30:57 +01:00
f86015736d [Add] Text rendering. 2025-09-20 03:16:59 +01:00