Commit Graph

153 Commits

Author SHA1 Message Date
e1e965796b Add proper inheritance for TextColor. 2025-06-29 22:24:54 +02:00
207c8a20a4 We got CSS at home 2025-06-29 22:21:13 +02:00
681496d812 Update TODO 2025-06-29 19:39:02 +02:00
6f3a945f34 Update TODO 2025-06-29 19:38:10 +02:00
c18adaeede Element styling, rename IsMousePressed to IsMouseButtonPressed in InputSystem, Button widget. 2025-06-29 19:22:14 +02:00
e75dcb7753 Update TODO 2025-06-29 17:40:22 +02:00
09c24e7123 Don't update MarginContainer if it already matches its parent size, update TestGame. 2025-06-29 17:39:52 +02:00
87e0a69dcf WIP: button widget 2025-06-29 17:29:47 +02:00
b810e1b882 Update TODO 2025-06-29 16:52:48 +02:00
26cb66dbe0 Font fallbacks. 2025-06-29 16:51:06 +02:00
b3c1db3145 Show fallback glyph if its not present in the font, add Japanese font to TestGame. 2025-06-29 16:21:34 +02:00
9bc9810c8f WIP: use kerning for text measuring. 2025-06-29 15:53:29 +02:00
0ec4e45c38 WIP: measure text in Font. 2025-06-29 15:10:37 +02:00
6b108ba56c Make Rect a core type, move Color out of Utils. 2025-06-29 14:29:52 +02:00
e0e8d6e9ff Move some FreeType operations to Font itself, add lazy loading for Glyph data, remove IDisposable from base Resource. 2025-06-29 14:28:39 +02:00
552e05d498 WIP: use Unicode for charmaps inside a font, try read all unicode symbols. 2025-06-29 14:09:11 +02:00
17196c9437 WIP: load fonts with FreeType. 2025-06-25 23:20:46 +02:00
4b2aa31b63 Update TODO 2025-06-25 21:46:30 +02:00
90fe38b017 Remove resizing of FillContainer in TestGame. 2025-06-25 21:41:24 +02:00
8a1e359c22 WIP: GridSet, add Vector2.Snapped extension method. 2025-06-25 19:50:03 +02:00
64d3dba42d Add MarginContainer, mark parent elements dirty when child gets marked dirty too. 2025-06-25 00:35:35 +02:00
5bf052db96 Rename Frame to FillContainer. 2025-06-24 23:48:31 +02:00
389a73cf24 Don't reassign Size in Container if the new size is identical to current size in RecalculateSizes. 2025-06-24 23:44:38 +02:00
d44341974f Add dirty UI element visualization to UISystem, fix Frame being constantly updated. 2025-06-24 23:29:26 +02:00
b2f3e1c351 Remove readonly keyword from FromHexString in Color (whoops!), add docs to Color. 2025-06-24 23:11:12 +02:00
255dea138b Make all predefined colors in Color readonly. 2025-06-24 23:04:17 +02:00
9fa6b45cea Add more colors to Color. 2025-06-24 22:58:52 +02:00
5871e8966b Mark UIElement as dirty in SetParent. 2025-06-24 22:50:45 +02:00
ed9f17e6c4 Add documentation to IElement, Anchor and UIElement. 2025-06-24 22:46:35 +02:00
4362e88eab Add more methods to retrieve resources in ResourceRef, and document existing ones. 2025-06-24 22:25:26 +02:00
58efd449a8 Set window state for Raylib, make Frame occupy full size of parent UIElement or window. 2025-06-24 22:11:38 +02:00
78b46cb38e Update Voile and Voile.OpenAL projects .NET versions to 9.0. 2025-06-24 20:09:01 +02:00
6c3576891e Update TODO 2025-06-24 19:46:52 +02:00
03668849bc Fix any remaining bugs with anchor positioning system, use LocalPosition for UIElement, and make containers use that for arrangement. 2025-06-24 19:45:18 +02:00
b228f04670 Update TODO 2025-06-24 14:51:30 +02:00
a5d2668c18 Move layouting to Render instead of Update, use Update for input. 2025-06-24 14:48:55 +02:00
9a3512702a Update TODO. 2025-06-24 01:49:03 +02:00
61ac079f2b Unify Containers and Widgets by creating a base UIElement, add more anchor types, make anchor calculations an extension of Anchor. 2025-06-22 23:28:30 +02:00
95ae2de7ac Apply an anchor offset for Anchor.TopRight too. 2025-06-22 15:56:05 +02:00
683656dee8 Initial implementation of UI anchors, update TestGame. 2025-06-21 22:23:19 +02:00
ae1b612524 Workaround: cache inputs in RaylibInputSystem and force rendering at 60 FPS for more consistent inputs. 2025-06-20 23:02:46 +02:00
7e86898e1a WIP: UI input handling. 2025-06-20 22:24:30 +02:00
a1f56f49fb Update TODO 2025-06-20 20:21:57 +02:00
84efb2a3d1 Add ContainsPoint helper method to Widget. 2025-06-20 20:21:45 +02:00
5b29ea012e Add documentation to containers. 2025-06-20 20:16:36 +02:00
f0c721bb0f Add ConfineToChildren to Container, containers will use MinimumRect as a size if a given size is smaller than minimum, update documentation for Container. 2025-06-20 20:08:17 +02:00
bc95fff4a3 Merge FlexContainer, WIP dynamic container resizing. 2025-06-20 19:46:42 +02:00
76dafe9996 WIP: dirty flag for UI. 2025-06-20 19:34:10 +02:00
a9a8113dd9 Add RemoveChild to IParentableElement, only resize Container if children overflow it. 2025-06-20 19:14:29 +02:00
3154b3fa10 Add debug rectangle size rendering, auto-resize containers to fit all children. 2025-06-20 18:57:36 +02:00