Commit graph

44 commits

Author SHA1 Message Date
12e2bff790 Fix ui text rendering 2021-02-27 19:43:50 +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
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
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
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
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
49c9e8c7cf Use glyph drawing in labels 2021-02-25 14:18:10 +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
69bd546848 Label implementation wip 2021-02-25 11:42:47 +03:00
f106299dd9 UI box shape is all zeroes by default 2021-02-25 11:24:28 +03:00
4deb6fa64a Default button created with text 2021-02-25 11:23:57 +03:00
38123ace0e Add more styles & support border and shadow in default button 2021-02-25 11:13:32 +03:00
72ae8604cb Fix depth conversion in ui::painter_impl 2021-02-25 11:13:17 +03:00
b7014f2eda Add style description & use it in default element factory 2021-02-25 10:36:50 +03:00
937a011577 Don't store font in painter or controller, use it in factory instead 2021-02-25 09:50:30 +03:00
a53b32067f UI library prototype wip 2021-02-25 09:07:39 +03:00