Commit Graph

44 Commits

Author SHA1 Message Date
Ed_
a29632daea Fix for DLL_NodeFL 2024-05-14 14:50:38 -04:00
Ed_
26771ff2fd made a new hashtable container: HMapChained
Will be used isntead of the zpl in some places
2024-05-14 11:47:44 -04:00
Ed_
12c99bee26 Mostly cleanup
Text is athe biggest bottleneck right now. Raylib as a renderer fails for this prototype in that front.

I'll eventually need to look into other solutions such as SDL2 + something that renders UI boxes & text very fast...
2024-05-13 21:53:08 -04:00
Ed_
adc75f6977 Got support for persistent ordering of UI_Boxes using UI_FloatingManager 2024-05-13 16:07:49 -04:00
Ed_
0744069b0d pushing what I have rn, decided not to go this route
Instead going with ![img](https://i.imgur.com/S3tjZUu.png)
2024-05-13 10:40:29 -04:00
Ed_
e8c3312b69 more progress... 2024-05-13 01:56:39 -04:00
Ed_
595de438af WIP: Persistent order support for rooted boxes (top-most boxes)
I wasn't expecting it to be this to bad to support it...

Also:
* I renamed some of the files to group better with the virtual codebase view
2024-05-13 01:53:19 -04:00
Ed_
1b32fe916e Large refactor of the entire codebase
Saw that layout really should be separated from the style struct, so went ahead and pulled the trigger...
A bunch of other refactors have also been done

* Lifted layout out of style, its not separate in UI_Box and in UI_State there is not a UI_LayoutCombo stack.
* UI_StyleTheme renamed to UI_StyleCombo
* UI_Theme has both UI_StyleCombo & UI_LayoutCombo
* Made files for the "project" related code
* ui_layout_compute moved to its own file, ui_layout now used for layout related data structures and interfacing
* Impovements to horizontal & vertical box impl
* UI_Box now keeps track of how many ancestors it has
2024-05-11 22:38:05 -04:00
Ed_
6a4f7ac6de minor changes, prepping for next tasks 2024-05-11 01:30:54 -04:00
Ed_
e40e3ddf85 small refactors for organization 2024-05-10 19:50:37 -04:00
Ed_
2b1565e35b AppUI lifted to its own file, Got horizontal and vertical boxes working 2024-05-10 19:20:50 -04:00
Ed_
1afe74b4b5 Some cleanup, resize handles lifted to ui_resizeable_handles
Fixed some bugs with the handles as well. Old cruft for resizing was removed.
2024-05-10 02:08:36 -04:00
Ed_
a2b6325b5b coordinate space math fixes, got resize handles working in settings menu prototype
will eventually lift to its own generic widget

I still need to implement the corner resize..
2024-05-09 04:02:33 -04:00
Ed_
b8e8e7c88a Progress on setting up app's UI and horizontal/vertical box widgets 2024-05-08 02:26:39 -04:00
Ed_
7162c5a14d last state of the prototype.
* Still has memory issue
* Was last using it to learn some PGA from Lengyel's books
2024-04-08 01:35:53 -04:00
Ed_
bf211a8e14 Fixed bad resize_non_zeroed impl (cannot use default_resize_bytes_align_non_zeroed, its not a resize) 2024-03-19 12:18:39 -04:00
Ed_
d29a1e20e7 very minor tidying 2024-03-19 08:36:58 -04:00
Ed_
8a40b1462b Setup a 3d viewport for some extra stuff.
Want to mess aroudn with my math notes possibly in this prototype...
2024-03-18 11:44:58 -04:00
Ed_
49a4e117a2 Got "Line LODs" working for the whitespace AST test, first step toward hboxes
Yet another issue with memory persists (seems to be related to slab free)
2024-03-15 00:02:28 -04:00
Ed_
ee8b68ac3e Fixed text auto-layout 2024-03-14 10:11:04 -04:00
Ed_
cf7660e385 first 'full' layout draft impl done.
found a memory bug...
2024-03-14 02:02:09 -04:00
Ed_
0627794e28 saving a mess of stuff with auto-layout before updating with new mess 2024-03-14 00:00:22 -04:00
Ed_
8b8c4948ad Added screeenspace culling for ui boxes 2024-03-11 02:05:30 -04:00
Ed_
1656dffb67 Setup spall profiling, did first optimizations! 2024-03-11 02:05:18 -04:00
Ed_
304e710c16 It works but there is a memory issue... (parsing in tick update) 2024-03-10 20:09:04 -04:00
Ed_
c80254adbc Got whitespace parser working + widget generation for basic case! 2024-03-10 10:31:21 -04:00
Ed_
197dd82e78 update odin repo 2024-03-09 14:53:51 -05:00
Ed_
7b69723f35 Made the ui_resize_border_width percent based instead of pixel based. 2024-03-09 14:24:02 -05:00
Ed_
4a53a158e0 Lefted text box test to its own widget proc, fixed overlapping widget interaction! 2024-03-09 13:55:47 -05:00
Ed_
635ce91a9d First text box!!! 2024-03-09 10:21:48 -05:00
Ed_
f1edf1c43e Added basic string interning 2024-03-08 23:20:49 -05:00
Ed_
c395cbaeb6 Some cleanup
need todo string interning next....
2024-03-08 19:51:46 -05:00
Ed_
4b026c379a Started to do manual control of the frame timing (no longer using raylib) 2024-03-08 18:45:08 -05:00
Ed_
191d5076ea Dragging! & basic proportional box resize frm cursor distance to box pos
Still need to add resize via 'pulling' to stretch the box out from a side or 2 sides diagonally.

Also some general clenaup of code
2024-03-08 03:34:21 -05:00
Ed_
035c726a71 got basic ui elmental interaction working, + alignment of anchor 2024-03-02 10:24:09 -05:00
Ed_
1de141288f Made font_cache use the zpl hash map, make a proper setup for how many atlases to sore in the size_table 2024-02-27 09:32:26 -05:00
Ed_
4deee942a8 General codebase refactor & cleanup
Renamed HashTable to HMapZPL, with procs having the zpl_ namespace prefix.
(I want to eventually get away from using it)

Started to use the grime pattern for library aliasing better.
2024-02-27 07:50:57 -05:00
Ed_
7332644515 Preparing skeleton for proper imgui support.
I originally wanted to reference Ryan's UI series along with the RAD Debugger codebase, but that ended up being too convoluted of a route. Instead, I moved on to just doing a deep dive on imgui content I could find to learn from and associated libraries available. I collected my notes so far in this repo [IMGUI_Notes](https://github.com/Ed94/IMGUI_Notes).

For now I have the base scaffolding datatype wise for the prototype ui.
2024-02-22 21:19:29 -05:00
Ed_
2da0554c78 Not using dynamic map temporarily for font caching
There is an issue with hot-reloading dynamic maps. So I'll be using my own dynamic array and hashtable instead to debug the reason.
2024-02-14 02:29:08 -05:00
Ed_
5c124521dc Font drawing is nice now 2024-02-13 17:16:39 -05:00
Ed_
f36b05e795 Starting to layout scaffolding for UI based on RAD Debugger/Ryan's UI Series 2024-02-12 20:52:56 -05:00
Ed_
794852a0b0 Got initial box mouse select detection working 2024-02-12 00:35:22 -05:00
Ed_
6147d4e344 Refactors, lots and lots of it... plus coodinate space 2024-02-11 23:00:06 -05:00
Ed_
f76ba4e9ba Lots of stuff (Big ones are cam and frame initial features)
There is now a 2D camera in the workspace!
We have a basic 'Frame' definition. It doesn't have any interaction yet...

I started to define spacial math, mostly for doing conversion and getting a grounding on pixel/points/cm reference. The world space is in cm.
2024-02-10 03:40:53 -05:00