Commit graph

574 commits

Author SHA1 Message Date
2f56f0caa2 Add hash for geom::vector 2021-03-04 14:29:09 +03:00
ea46e820ab UI elements should explicitly reset parent for their children 2021-03-04 13:58:15 +03:00
ef34071748 Reimplement async::future without std::future 2021-03-04 11:02:11 +03:00
fccf2e382e Add scrollable & zoomable image view element 2021-03-04 10:03:04 +03:00
486a8b24aa UI painter: add draw_subimage & don't restrict to integer texcoords 2021-03-04 10:02:46 +03:00
576bc8b91a Add geom::unlerp 2021-03-04 10:01:56 +03:00
32461e205e Add geom::clamp(point, box) 2021-03-04 10:01:49 +03:00
e266bb476e Fix unused function warning for release build 2021-03-03 19:46:24 +03:00
bf9e279952 Grid layout changes: support minimized rows/columns + support skipping outer outline 2021-03-03 19:20:09 +03:00
4ba85c9e79 App uses a scene stack & owns scenes 2021-03-03 18:03:40 +03:00
908b6cc5c9 Active scenes can access parent app 2021-03-03 17:27:31 +03:00
fe60386ad7 Support button onclick offset in ui styles 2021-03-03 16:54:42 +03:00
8aa6c8a3bb App: ui_scene updates controller ui root on scene enter/exit 2021-03-03 16:19:22 +03:00
692da35066 App: scene_base tracks whether a scene is currently active 2021-03-03 16:18:18 +03:00
a7f259352c App sends on_scene_exit at the end of main loop 2021-03-03 16:17:50 +03:00
31fbfdaa4d Simplify creating horizontal/vertical layouts 2021-03-03 13:39:01 +03:00
670ac8beda Make ui_scene update event loop 2021-03-03 13:05:03 +03:00
5dda61ab50 UI: use async::event_loop instead of abstract async::executor 2021-03-03 13:03:32 +03:00
336bdde8d2 Add ui::element_factory interface 2021-03-03 12:25:04 +03:00
a362dafee3 Add app::ui_scene helper base class 2021-03-03 12:24:45 +03:00
5e6d52f341 Add (unused) ui key press event 2021-03-03 12:15:52 +03:00
b8fb2d47e3 UI window wip 2021-03-03 10:59:50 +03:00
b9131a8d5c Add red cross image to ui resources 2021-03-03 10:59:34 +03:00
0b30163ed1 Bugfix: ui style merging should merge fonts as well 2021-03-03 10:59:04 +03:00
b37d2d25c7 Implement cached style merging 2021-02-27 20:21:50 +03:00
d0a117adf4 Make style members optional 2021-02-27 19:59:12 +03:00
f878321628 Convert default font to PNG 2021-02-27 19:45:27 +03:00
6661299573 Support reading grayscale pngs 2021-02-27 19:44:17 +03:00
12e2bff790 Fix ui text rendering 2021-02-27 19:43:50 +03:00
08d6469311 Support png image loading 2021-02-27 19:09:14 +03:00
de4a661009 Move netpbm routines to netpbm.cpp 2021-02-27 18:13:40 +03:00
fd5a9b7863 Support button icons 2021-02-27 17:53:37 +03:00
e0e1b97860 Add ui::image_view element 2021-02-27 16:38:58 +03:00
4a8021aa4e Support image rendering in ui::painter 2021-02-27 16:37:05 +03:00
2cedfb0b98 Remove unused include 2021-02-27 16:36:28 +03:00
e5f52e1297 Rename ui screen policy full -> fill 2021-02-27 11:00:26 +03:00
93a28062b9 UI: use closest loop for ui events instead of root loop 2021-02-27 10:58:22 +03:00
226b862e95 Remove style from element factory 2021-02-27 10:57:30 +03:00
539799814e UI element::loop & style return first non-null result when going up element tree 2021-02-27 10:54:34 +03:00
87d5edc386 Add root element proxy in ui::controller to resend mouse events on reshape 2021-02-26 23:15:23 +03:00
1e9eb51911 Implement ui grid layout 2021-02-26 22:57:43 +03:00
a139067a3e Add ui::container interface, move old container to helper class 2021-02-26 18:00:56 +03:00
7cda050345 Add code statistics script 2021-02-26 14:48:35 +03:00
99ed9edf1d Update todo 2021-02-26 14:40:35 +03:00
6d6a55602f Update ui example 2021-02-26 14:40:15 +03:00
4e027a2ec9 Add 'full' screen element mode 2021-02-26 14:40:06 +03:00
d16a71012d Fix ui::label size constraints 2021-02-26 14:35:11 +03:00
3c851dfd60 Fix ui::frame size constraints 2021-02-26 14:34:58 +03:00
2c39434f41 Support multiline strings in label 2021-02-26 12:20:01 +03:00
be0fb7e9eb Fonts are guaranteed to preserve space symbols when shaping 2021-02-26 12:19:38 +03:00