Commit graph

550 commits

Author SHA1 Message Date
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
e754da5f46 Label breaks lines on space characters only 2021-02-26 11:50:34 +03:00
0de3b782dc Add text shadows 2021-02-26 11:36:32 +03:00
c9ec53952c Implement multiline modes in label 2021-02-26 11:34:32 +03:00
92a395c293 Support overflow modes in label 2021-02-25 21:25:25 +03:00
585edaf5b5 Explicitly state default modes in label 2021-02-25 21:24:46 +03:00
57473c545c Support all alignment modes in label 2021-02-25 21:09:41 +03:00
619c4edbe2 Add frame element 2021-02-25 21:09:26 +03:00
79e0009422 Don't warn if ui callback was posted without loop 2021-02-25 21:03:27 +03:00
90782d479a Disable face culling while rendering ui 2021-02-25 21:03:05 +03:00
673fc70a47 Create ui labels through element factory 2021-02-25 21:02:41 +03:00
3a8e79df1b Update todo 2021-02-25 15:23:17 +03:00
fd7fbd4d87 Label properties change triggers reshape 2021-02-25 15:15:42 +03:00
33256b6549 Proper default button size constraints 2021-02-25 15:15:12 +03:00
ec422cf48d Make ui::contoller accept an external event loop 2021-02-25 15:00:27 +03:00
8c04087a44 Add loop posting utilities in ui::element 2021-02-25 14:59:53 +03:00
e6b731f5d7 Update label parent in button 2021-02-25 14:58:47 +03:00
8feb15fc5c Set children parent in ui::container 2021-02-25 14:56:40 +03:00
d42e1b1bcb Use shared_ptr instead of unique_ptr for ui elements 2021-02-25 14:42:35 +03:00
f8567851bd Update todo 2021-02-25 14:34:05 +03:00
49c9e8c7cf Use glyph drawing in labels 2021-02-25 14:18:10 +03:00
2b1417160c Clear depth buffer in ui example 2021-02-25 14:17:51 +03:00
b9dd6c78a3 Implement glyph rendering in painter 2021-02-25 14:17:24 +03:00
867deddd87 Use channel swizzling for default 9x12 font 2021-02-25 14:16:37 +03:00
a5ddc2eb7c Fix default 9x12 font texcoords 2021-02-25 14:16:19 +03:00