Martin Fouilleul
56874c99d6
[ui, layout] layout constraint solving, first draft
2023-03-09 12:36:38 +01:00
Martin Fouilleul
a569454df5
[ui, wip] scrolling / scrolling panels
2023-03-08 19:53:28 +01:00
Martin Fouilleul
873d4ab6db
[ui, canvas]
...
- Allow querying the size of the canvas's underlying surface
- Set size of ui root to canvas' size
2023-03-08 15:03:35 +01:00
Martin Fouilleul
1212d714d5
[platform/canvas]
...
- Changed canvas coordinate system to match UI coord system (origin at top left, y axis down)
- Changed mouse coordinate system to match UI and canvas
- No need to pass width/height to ui_begin_frame() anymore
2023-03-08 13:19:18 +01:00
Martin Fouilleul
7b2ef080e8
[util, formatting] shorten list loop names to for_list_xxx
2023-03-08 12:03:33 +01:00
Martin Fouilleul
3682605f97
[util, formatting] changed list api to snakecase for consistency with the rest of the codebase
2023-03-08 12:00:10 +01:00
Martin Fouilleul
bfc19665ce
[util]
...
- shorten str8_lit macro to STR8
- use strlen() in STR8 and remove str8_from_cstring(). Usage with string literal seem to always be optimized by compile-time constant, so there's little need for a confusing macro that only works with literals and breaks with pointers.
- replaced str8_unbox() with str8_lp/str8_ip
2023-03-08 11:40:40 +01:00
Martin Fouilleul
f07f56948d
[ui] shorten ui styling api names
2023-03-08 11:13:32 +01:00
Martin Fouilleul
8b06cb31ba
[ui, styling]
...
- Put all styling calls _before_ the styled box.
- Renamed full pattern matching API to ui_style_match_next_before/after
- Helper to style next box only (ui_style_next())
2023-03-08 11:09:28 +01:00
Martin Fouilleul
c551135933
[ui] remove the need to pass a default style to ui_frame()
2023-03-07 19:44:22 +01:00
Martin Fouilleul
2466241b1e
[ui, styling] finished first pass on core layout/styling system
2023-03-07 19:27:01 +01:00
Martin Fouilleul
8032c7340b
[ui, styling] revisiting layout/sizing
2023-03-07 19:06:04 +01:00
Martin Fouilleul
d3a8a651e5
[ui, styling] make layout and floating properties part of styling system
2023-03-07 10:33:22 +01:00
Martin Fouilleul
7b10a99a8c
[ui, styling] First draft of rule-based styling to replace old stack-based system
2023-03-06 19:33:01 +01:00
Martin Fouilleul
b52a35c753
[ui, textbox] Fixed selection background rectangle
2023-03-05 17:03:00 +01:00
Martin Fouilleul
1af132352a
[ui, textbox] Scroll text inside text box to always show edit cursor.
2023-03-05 16:35:55 +01:00
Martin Fouilleul
4359bdaa3c
[ui, textbox] position cursor at mouse position / extend selection on shift + mouse press or drag
2023-03-05 15:59:57 +01:00
Martin Fouilleul
e95efe85e8
[wip, input system] Fixed bug on macOS, where keyUp events are not received when the command modifier key is down and makes a meaningful combination with the pressed key (note this is normal macOS event handling behaviour, but we still want all events to arrive to track key states).
...
Fixed by overloading the sendEvent method of our derived NSApplication class. There we check if modifier is down and send the event.
Note glfw solves that by adding a block handler for the keyUp event with addLocalMonitorForEventsMatchingMask.
2023-03-04 19:24:30 +01:00
Martin Fouilleul
c04e8639ab
[wip, ui] re-integrating UI subsystem and completing text box
2023-03-03 20:09:44 +01:00
Martin Fouilleul
d21e737733
[wip] re-introducing UI subsystem
2023-03-03 17:13:03 +01:00
Martin Fouilleul
1d77a36640
Fixed executable/bundle paths procs
2022-08-21 17:07:54 +02:00
Martin Fouilleul
13cccdf5de
trying to integrate mg_surface_client/server
2022-08-19 19:46:31 +02:00
Martin Fouilleul
0becc301d0
Fix panel scrolling issue (clamping scroll value was only done when scrollers were on)
2022-08-16 09:58:16 +02:00
Martin Fouilleul
5cfaf909fc
adding animation flags
2022-08-16 00:01:07 +02:00
Martin Fouilleul
e22893e9ea
animated ui positions
2022-08-15 23:11:00 +02:00
Martin Fouilleul
1d8485607e
Allow to activate scroll bars with mousewheel
2022-08-15 18:28:13 +02:00
Martin Fouilleul
c3f149c910
Fixing metal compute shader coordinate bug that prevented rendering the last row/column of tiles
2022-08-15 17:20:44 +02:00
Martin Fouilleul
094b0efc33
text box
2022-08-15 10:20:29 +02:00
Martin Fouilleul
39cfa35bfd
initial commit
2022-08-14 18:19:40 +02:00