Commit graph

230 commits

Author SHA1 Message Date
85d7a0ca33 Huge refactor: use util::exception everywhere instead of std exceptions 2023-08-06 18:33:07 +03:00
4befa1cad7 Optimize util::signal & support signal<Args...> 2023-06-20 02:11:49 +03:00
933734bd2e New UI library wip 2023-05-06 12:55:06 +03:00
4b223c5ed1 MacOS compilation fixes 2023-04-28 13:21:58 +03:00
e8ea3e0fd4 New UI library automatic layout wip 2023-04-21 17:26:44 +03:00
343cb394b5 Rename ui::grid_layout -> box_layout 2023-04-19 20:01:49 +03:00
cddc8a3235 New UI library wip: reconciliation fixes & tests 2023-04-19 19:01:24 +03:00
1246985763 New UI library wip 2023-04-18 15:30:38 +03:00
3c4ccbbf54 Move ui library to ui_legacy 2023-04-17 13:12:04 +03:00
519c487c4d Add ui::font::baseline method 2023-02-07 17:01:25 +03:00
a2922708e8 Support floating-point glyph coordinates 2023-02-04 18:21:43 +03:00
b9939ba10e Show full text in tagged_text parse error 2023-01-05 19:12:35 +03:00
3f5735e10f Don't send mouse events to hidden scroller children 2023-01-05 18:35:39 +03:00
0b358f6877 Support label on link mouseover callback 2023-01-05 18:18:11 +03:00
874d4bd5c8 Huge ui::scroller changes: support asymmetric shaping, remove sticking feature 2023-01-05 02:40:47 +03:00
cdbe162521 Add default toggle button implementation 2023-01-04 21:14:14 +03:00
f31e97edde Add a file dialog implementation 2023-01-03 23:31:45 +03:00
9481997034 Support retrieving ui:🪟:on_close callback & explicitly closing a window 2023-01-03 23:31:36 +03:00
e1d4608e3f Highlight the option that owns the active submenu in ui::selector 2022-12-23 10:01:24 +03:00
72cbec959d Support ui::button::on_release callback 2022-12-22 16:06:02 +03:00
d692256580 Support alpha-channel in ui::color_picker 2022-12-20 18:19:14 +03:00
8e0c27c8c0 Add ui::color_picker composite element 2022-12-20 17:12:18 +03:00
5af0c66599 Add simple ui::color_view element 2022-12-20 17:12:06 +03:00
5bf544d032 Add generic ui::spawn 2022-12-20 17:11:23 +03:00
183e5bb482 Rename ui::spawn -> ui::spawn_selector 2022-12-20 17:11:14 +03:00
cf13025cc6 Support update callback in ui::event_interceptor 2022-12-19 12:29:22 +03:00
c1699fe882 Add default image provider 2022-12-19 09:52:02 +03:00
852a170c97 Add default ui::edit implementation 2022-12-18 21:55:30 +03:00
a1307b84b9 Support changing ui::default_element_factory close icon 2022-12-18 18:17:40 +03:00
d5fdb2a7c5 Support changing ui::label text_style without tagged text 2022-12-18 18:15:14 +03:00
3d2c03c1b4 Implement default ui::selector 2022-12-18 16:42:39 +03:00
a7d331544c Implement ui::event_interceptor::width/height_constraints 2022-12-18 16:41:44 +03:00
b00e59ab08 Add rapidjson, msdf & bitmap fonts support and bmfont parser 2022-12-18 14:43:57 +03:00
11e46ba1c6 Support retrieving caption label from ui::window 2022-12-08 17:53:55 +03:00
9edf94be0c Clang compilation fixes 2022-06-11 13:58:54 +03:00
65d95d9b5a Make ui::edit::numeric validators accept max value length 2022-05-30 22:13:28 +03:00
6e289b3b90 Support arbitrary post-draw effect in ui::controller 2022-05-29 19:27:28 +03:00
b167e06898 Support user-supplied tag mapper in ui::label 2022-05-28 20:09:17 +03:00
2a2a97f0f8 Refactor ui::tagged_text to use allocated strings instead of string_views 2022-05-28 20:08:57 +03:00
a567cbbbf5 Support moving ui::screen child to top 2022-05-27 19:59:03 +03:00
21ae912271 Add ui::find_element_by_id 2022-05-25 22:55:25 +03:00
924533fc7f Add ui::element::id 2022-05-25 22:55:12 +03:00
ebdd90c520 Add ui::painter::draw_triangle with per-vertex colors 2022-05-25 22:53:20 +03:00
78c573b091 Rearrange ui::element field for less padding 2022-05-25 16:16:18 +03:00
b1d9c2c08d Support creating labels with tagged text in ui::element_factory 2022-05-25 13:18:07 +03:00
945b126e64 Post mouseover callback when ui::selector is removed from it's parent 2022-05-23 20:41:43 +03:00
f0cf916b85 Implement ui::label link tag 2022-05-22 19:28:14 +03:00
9300dc6779 Support color tag in ui::label 2022-05-22 11:16:01 +03:00
e51480db0a Support setting image_provider in ui::label 2022-05-22 11:15:52 +03:00
e7a1d1b265 Add ui::image_provider interface 2022-05-22 11:15:15 +03:00