Commit graph

1045 commits

Author SHA1 Message Date
ecfda88eac Tweak default fonts appearance & glyph locations 2022-05-17 19:57:37 +03:00
fcfd7138d1 Add lru cache implementation & tests 2022-05-17 18:22:31 +03:00
cbfd8f83de Add util::key_error for use in key-value containers in place of std::out_of_range 2022-05-17 18:22:17 +03:00
14a2e00b39 Add helper callable objects that always return the same result 2022-05-17 18:21:45 +03:00
bb971ff412 Explicitly mark util::function as non-copiable with (function &) arguments 2022-05-17 18:15:45 +03:00
5c582fb0cc Recursive parsers wip 2022-05-17 12:54:08 +03:00
a3d5a424dd Add sRGB <-> linear conversion for pixmaps 2022-05-17 12:54:08 +03:00
565ab68682 Add gfx::to_srgb/to_linear for colors 2022-05-17 12:54:08 +03:00
3de591394d Don't use unevaluated scope for assert in release 2022-05-17 12:54:08 +03:00
82e7164670 Support flushing output streams 2022-05-17 12:53:55 +03:00
a56cdcfc73 Make ui::single_container::child const 2022-05-16 12:10:39 +03:00
62cfba7711 Add ui::frame::width/height_constraints 2022-05-16 12:10:21 +03:00
9a2c562eec Add ui::asymmetric element that supports width_first() reshaping 2022-05-16 12:09:58 +03:00
0b3ef5f4f5 Allow storing arbitrary user data in ui::element 2022-05-15 15:40:55 +03:00
4c106cc4c6 Make ui::element store style as non-const 2022-05-15 13:17:20 +03:00
49e3e2e07b Mark ui::element::style_updated/own_style_updated as const 2022-05-14 16:05:24 +03:00
f66e8ceded Fix uninitialized ui::edit font_type 2022-05-14 16:05:01 +03:00
f01feb7b7f Remove ui::edit::own_style_updated override 2022-05-14 16:04:50 +03:00
aa27b47723 Support item padding in gfx::texture_atlas 2022-05-14 00:01:45 +03:00
a3eca3bef7 Support item padding in util::atlas 2022-05-14 00:01:26 +03:00
8ca5ab3f25 Support whole-word caret movement in ui::edit 2022-05-10 12:01:46 +03:00
922daee6d2 Support whole-word deletion in ui::edit 2022-05-10 12:01:33 +03:00
39fe68e6f7 Notify text changed when editing canceled in ui::edit 2022-05-10 11:58:08 +03:00
9a3620f186 Reset ui::edit caret on various events 2022-05-10 11:51:47 +03:00
ec228d481b Make ui::edit caret visible when changing its position via cursor 2022-05-08 11:58:34 +03:00
9a56228231 Support on_text_changed callback in ui::edit 2022-05-08 11:56:45 +03:00
e4a1ede2d2 Add random weighted distribution 2022-05-07 18:44:30 +03:00
a22ea3d02e Refactor geom::bezier: extract a free-function de Casteljau's algorithm & support changing control points 2022-05-07 14:00:29 +03:00
a368eb32ff Support selector canceled callback in ui::spawn 2022-05-03 20:14:14 +03:00
fe1769cf46 Support retrieving item bboxes in ui::selector 2022-05-03 15:43:55 +03:00
8354ee1753 Support mouseover callback in ui::selector 2022-05-03 15:43:37 +03:00
b5145b9596 Support on_scroll event in ui::scroller 2022-05-03 14:24:14 +03:00
3760741ba6 Refactor ui::selector to support selector hierarchies 2022-05-01 13:16:48 +03:00
7b63614787 Fix ui::selector submenu callback 2022-04-30 20:48:11 +03:00
26ca210ecf Make ui::selector callback retrievable so that ui::spawn can replace it 2022-04-30 20:42:45 +03:00
1cdfcc5aa5 Support a separate callback for ui::selector submenu selection 2022-04-30 20:31:34 +03:00
a6b89e3d54 Make ui::spawn(selector) accept floating-point position directly 2022-04-30 18:34:19 +03:00
55d2a48ff2 Support retrieving item y-range from ui::selector 2022-04-30 16:52:23 +03:00
cc6691c633 Support submenu options in ui::selector 2022-04-30 16:47:54 +03:00
727db57092 Mark certain ui elements as transparent only if they don't have a hint 2022-04-29 14:53:35 +03:00
05f777f398 Make ui:🏷️:font_type an enum class 2022-04-29 11:12:48 +03:00
366a0653b5 Add image-load-store OpenGL extension 2022-04-22 10:37:14 +03:00
fc514577a1 Support compute shader in gfx::program 2022-04-22 10:21:14 +03:00
49607f5896 Update generated OpenGL wrapper to support compute shaders extension 2022-04-22 10:21:00 +03:00
30b3536d72 Replace query_array with a more useful query_poll 2022-04-21 23:16:45 +03:00
86296209c8 Remove query_array usage from deferred renderer 2022-04-21 23:16:24 +03:00
2fd8e73738 Fix cg::icosahedron - should implement triangles() instead of faces() 2022-04-21 22:16:00 +03:00
ecab744dfd Fix choosing hinted ui element if it is hidden by a non-transparent element 2022-04-20 18:47:09 +03:00
cabe5721aa Add ui::element::transparent attribute 2022-04-20 18:46:30 +03:00
df963e18a3 Add util::type_name(x) (may use rrti) 2022-04-20 18:46:02 +03:00