Commit graph

35 commits

Author SHA1 Message Date
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
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
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
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
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
be0fb7e9eb Fonts are guaranteed to preserve space symbols when shaping 2021-02-26 12:19:38 +03:00
0de3b782dc Add text shadows 2021-02-26 11:36:32 +03:00
585edaf5b5 Explicitly state default modes in label 2021-02-25 21:24:46 +03:00
619c4edbe2 Add frame element 2021-02-25 21:09:26 +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
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
d42e1b1bcb Use shared_ptr instead of unique_ptr for ui elements 2021-02-25 14:42:35 +03:00
b9dd6c78a3 Implement glyph rendering in painter 2021-02-25 14:17:24 +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
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