2024-11-02 09:41:37 +01:00
# TODOs, semi-random sorting
2024-12-16 13:54:53 +01:00
2024-12-11 01:14:14 +01:00
[x] Implement glyph draw command
[x] Implement div.view and scrollbars
2024-12-16 13:54:53 +01:00
[x] Port font system from C to C3 (rewrite1)
2024-11-02 09:41:37 +01:00
[ ] Update ARCHITECTURE.md
[ ] Write a README.md
2024-11-21 00:50:25 +01:00
[ ] Use an arena allocator for cache
2024-12-12 15:46:40 +01:00
[ ] Do not redraw if there was no update (no layout and no draw)
2024-12-25 12:30:35 +01:00
[ ] Do command buffer damage tracking based on a context grid (see rxi writeup)
2024-12-20 20:58:12 +01:00
[x] Better handling of the active and focused widgets, try
2024-12-16 13:54:53 +01:00
to maintain focus until mouse release (fix scroll bars)
2024-12-19 15:27:14 +01:00
[x] Clip element bounds to parent div, specifically text
2024-12-20 20:58:12 +01:00
[ ] Resizeable divs
2024-12-25 12:30:35 +01:00
[ ] Implement a z index and sort command buffer based on that
2024-12-23 15:50:09 +01:00
[ ] Standardize element handling, for example all buttons do almost the same thing, so write a lot of boiler plate and reuse it
2024-12-25 12:30:35 +01:00
[x] The id combination in gen_id() uses an intger division, which is costly, use another combination function that is non-linear and doesn't use division
2024-12-23 15:50:09 +01:00
[ ] Animations, somehow
2024-12-25 12:30:35 +01:00
[ ] Maybe cache codepoint converted strings
[x] Fix scroll wheel when div is scrolled
## Layout
[ ] Text reflow
[ ] Flexbox
[ ] Center elements to the row/column
## Input
[x] Keyboard input
[x] Mouse scroll wheel
[ ] Touch input
[x] Do not set input event to true if the movement was zero (like no mouse movement)
[ ] Use input event flags, for example to consume the input event
2024-12-11 01:14:14 +01:00
## Commands
2024-12-16 13:54:53 +01:00
2024-12-12 15:46:40 +01:00
[x] rect commads should have:
2024-12-16 13:54:53 +01:00
_ border width
_ border radius
2024-12-11 01:14:14 +01:00
[x] add a command to update an atlas
2024-12-20 20:58:12 +01:00
[ ] New window command, useful for popups
2024-12-11 01:14:14 +01:00
## Atlases
2024-12-16 13:54:53 +01:00
2024-12-11 01:14:14 +01:00
[ ] Add an interface to create, destroy, update and get atlases based on their ids
[ ] Implement multiple font atlases
## Fonts
2024-12-16 13:54:53 +01:00
[x] Fix the missing alpha channel
2024-12-13 16:44:07 +01:00
[x] Fix the alignment
2024-12-12 15:46:40 +01:00
## Raylib
2024-12-16 13:54:53 +01:00
2024-12-23 15:50:09 +01:00
[x] Implement type (Rect, Color, Point) conversion functions between rl:: and ugui::
2024-12-13 16:44:07 +01:00
[x] Implement pixel radius rounding for border radius
2024-12-12 15:46:40 +01:00
## Widgets
2024-12-16 13:54:53 +01:00
2024-12-19 15:27:14 +01:00
[x] Dynamic text box to implement an fps counter
2024-12-20 20:58:12 +01:00
[x] Button with label
[ ] Text Input box
[ ] Icon Buttons
2024-12-25 12:30:35 +01:00
[ ] Switch