Commit graph

283 commits

Author SHA1 Message Date
b00e59ab08 Add rapidjson, msdf & bitmap fonts support and bmfont parser 2022-12-18 14:43:57 +03:00
5f7da5ddc5 Fix label tagged text error reporting 2022-12-16 16:28:24 +03:00
11e46ba1c6 Support retrieving caption label from ui::window 2022-12-08 17:53:55 +03:00
65d95d9b5a Make ui::edit::numeric validators accept max value length 2022-05-30 22:13:28 +03:00
60150151df Fix ui::label stretch for lines in the middle of text ending in newline 2022-05-29 23:00:44 +03:00
6e289b3b90 Support arbitrary post-draw effect in ui::controller 2022-05-29 19:27:28 +03:00
14d7dda788 Fix ui::scroller size constraints 2022-05-29 11:59:30 +03:00
ccfe940448 Fix positioning ui::label lines 2022-05-29 11:46:23 +03:00
b167e06898 Support user-supplied tag mapper in ui::label 2022-05-28 20:09:17 +03:00
2a2a97f0f8 Refactor ui::tagged_text to use allocated strings instead of string_views 2022-05-28 20:08:57 +03:00
b9a5861e85 Make ui::find_element_by_id traverse children in reverse order 2022-05-28 15:52:13 +03:00
a567cbbbf5 Support moving ui::screen child to top 2022-05-27 19:59:03 +03:00
203d0504ac Fix text wrapping in ui::label 2022-05-26 23:56:09 +03:00
2574b7aa2b Make ui::screen use new size constrains api 2022-05-26 23:54:15 +03:00
21ae912271 Add ui::find_element_by_id 2022-05-25 22:55:25 +03:00
924533fc7f Add ui::element::id 2022-05-25 22:55:12 +03:00
ebdd90c520 Add ui::painter::draw_triangle with per-vertex colors 2022-05-25 22:53:20 +03:00
fd8bec44ab Compute & log max primitive count in ui painter 2022-05-25 22:52:53 +03:00
c949e0fad9 Discard fragments with alpha=0 in ui painter 2022-05-25 22:51:53 +03:00
b1d9c2c08d Support creating labels with tagged text in ui::element_factory 2022-05-25 13:18:07 +03:00
91fcdfcb29 Fix transparent text shadow rendering 2022-05-24 09:47:30 +03:00
1f0854fff6 Fix ui::edit text rendering 2022-05-23 22:18:32 +03:00
44d74b5bd8 Fix ui::label wrapping 2022-05-23 20:49:37 +03:00
d5baea48dd Fix handling empty lines at the end of ui::label 2022-05-23 20:49:23 +03:00
945b126e64 Post mouseover callback when ui::selector is removed from it's parent 2022-05-23 20:41:43 +03:00
e05a28463d Fix reshape caching 2022-05-23 20:32:49 +03:00
1af6f26e80 Simplify reshaping logic 2022-05-23 20:07:40 +03:00
dd87dadd2f Call post_reshape when adding children to ui::single_container & ui::selector 2022-05-23 20:07:25 +03:00
284df5d92c Switch to hand cursor when clicking ui::label links 2022-05-22 19:35:41 +03:00
f0cf916b85 Implement ui::label link tag 2022-05-22 19:28:14 +03:00
9300dc6779 Support color tag in ui::label 2022-05-22 11:16:01 +03:00
e51480db0a Support setting image_provider in ui::label 2022-05-22 11:15:52 +03:00
3f282356d7 Fix ui::label underline & strikethrough handling 2022-05-21 22:07:55 +03:00
2b228fbd32 Fix tagged text escaping & tests 2022-05-21 22:02:03 +03:00
183f5283e2 ui::label tagged text support: implement color tag 2022-05-21 21:45:23 +03:00
12733cf239 Remove obsolete code 2022-05-21 20:25:02 +03:00
d40dd82268 ui::label tags support: bold, uline & strike 2022-05-21 20:23:50 +03:00
711253bbfe Make sure ui::label shaping doesn't get stuck in infinite loop 2022-05-21 20:22:47 +03:00
057cf1c4c7 ui::label tagged text support wip: refactor internal data & shaping algorithm 2022-05-21 19:53:01 +03:00
98b8a324d0 Support setting initial pen position & retrieving final pen position in font text shaping 2022-05-21 19:51:07 +03:00
a9de6232de Implement underline & strikethrough in ui::label 2022-05-20 17:05:51 +03:00
bedb8c9faf Remove label font_type setting & move it to style 2022-05-19 21:33:48 +03:00
9d8e83d957 Fix tagged_text escaping & add parse error tests 2022-05-19 17:35:10 +03:00
b524600da0 Add tagged_text description, parser & tests 2022-05-19 17:27:58 +03:00
43c18eb4d2 Remove ui::painter::draw_glyph, introduce ui::painter::color_mode used for switching between mix/multiply in draw_image 2022-05-19 12:15:16 +03:00
395464ebd5 Remove draw_glyph using in ui::edit, cache raw images instead 2022-05-19 12:06:04 +03:00
35eaf17a3b Refactor ui::painter interface: gather draw_image options into a struct 2022-05-19 11:38:09 +03:00
f21fa3c2d6 Store texcoords as float in texture_view 2022-05-19 11:23:42 +03:00
77d3e6e3f2 Remove duplicated image draw API in ui::painter 2022-05-19 10:41:01 +03:00
329915ac1b Rich text label wip: store cached label state as a series of batches of texture views (NB: transparent labels are broken) 2022-05-18 22:45:35 +03:00