Commit graph

200 commits

Author SHA1 Message Date
edccbc3ed5 Support ui::edit callback on start text input 2022-04-10 15:12:42 +03:00
32bb106467 Store focused & hinted elements via weak_ptr in ui::controller 2022-04-10 00:05:28 +03:00
b9187c6b75 Compute proper caret position after clicking on ui::edit 2022-04-08 15:06:52 +03:00
26631cd564 Support cancelling editing text in ui::edit 2022-04-08 15:00:00 +03:00
e445b42724 Refactor ui::edit state & support focusing 2022-04-08 14:49:44 +03:00
bd6d0f9f93 Support focused ui elements 2022-04-08 14:49:09 +03:00
c06a465f51 Make ui::edit clip renderered text by text box using stencil 2022-04-08 12:37:16 +03:00
5066dd6494 Support a separate text bbox in ui::edit 2022-04-08 12:36:23 +03:00
d1b3225112 Fix ui::painter_impl stencil (again) 2022-04-08 12:35:39 +03:00
484a5809ef Fix ui::painter_impl stencil implementation + support 255 recursive stencil levels 2022-04-08 11:59:52 +03:00
399250fe19 Fix ui::edit key event handling 2022-04-08 11:42:20 +03:00
bbeb05f34e Refactor SDL2 cursor manipulation 2022-04-06 17:52:32 +03:00
5c401d6d50 Make ui::edit change cursors on mouseover 2022-04-06 17:24:20 +03:00
f7568535b6 Add ui::edit text input element 2022-04-01 17:43:35 +03:00
7848d5a8b3 Add text input helpers in ui::element 2022-04-01 17:43:12 +03:00
ccb5570892 Add ui::text_input event 2022-04-01 17:42:42 +03:00
11b3e960d5 Support shaping utf32-text directly in ui::font 2022-04-01 17:38:39 +03:00
53b706a29b Fix kerned font handling unknown characters 2022-04-01 17:38:10 +03:00
2b027e09e5 Support ui::positioner clamping the positioned element within provided shape 2022-03-31 20:15:37 +03:00
440b7b6214 Add an assert in ui::element::set_parent to prevent changing element's parent without removing from old parent first 2022-03-30 19:35:15 +03:00
02dbdccf0d Re-issue ui hint if hint string changed 2022-03-30 09:52:33 +03:00
b6ddd70989 Implement ui element hinting support 2022-03-29 18:14:43 +03:00
c03689c5b4 Make ui::positioner post reshape if child position changes 2022-03-29 18:12:13 +03:00
606249d6b7 Fix ui::button handling mouse move event 2022-03-29 18:11:53 +03:00
682bbb8e90 Support non-notifying ui::spinbox::on_value_changed 2022-03-29 10:13:22 +03:00
b3d770f019 Make ui::frame a non-abstract class 2022-03-17 15:24:06 +03:00
036c1c543f Call style_updated when ui element parent changes 2022-03-17 15:23:47 +03:00
e8a5ecfa3b Support ui::button repeating callback when kept pressed 2022-03-15 18:15:50 +03:00
64a8255c8c Support non-notifying ui::spinbox::set_value 2022-03-15 16:56:34 +03:00
56bade1b6b Add ui::table default constructor 2022-03-14 23:29:13 +03:00
1878fe4b3b Fix ui::table in case of zero rows/columns 2022-03-14 18:00:34 +03:00
c5ca7a3c4f Fix ui::spawn(selector) destruction order on close 2022-03-13 17:21:04 +03:00
d1c95ea142 Add ui::selector::clear 2022-03-13 17:20:50 +03:00
65a924dc69 Add ui::container_impl::clear 2022-03-13 17:20:34 +03:00
6c4c0d8305 Make ui::selector release children on destroy 2022-03-13 17:20:20 +03:00
11b904c890 Make ui::single_container release children on destroy 2022-03-13 17:20:02 +03:00
e568ecf14c Fix grid_layout size computation in case all rows/columns are minimized 2022-03-12 18:01:30 +03:00
a3cda92f4c Add bold font support in ui::label 2022-03-12 17:50:33 +03:00
9e9fd738b7 Add ui::style::bold_font 2022-03-12 17:50:19 +03:00
ab6da3b212 Add 10x12 bold font 2022-03-12 17:50:07 +03:00
4d34de81b1 Fix table resize 2022-03-12 02:02:05 +03:00
9942ab60a9 Fix ui::grid_layout size computation 2022-03-12 01:48:36 +03:00
4c726e2eef Add ui::table base class 2022-03-12 01:16:18 +03:00
de352705f4 Cache computed row & column shapes in grid_layout 2022-03-12 01:16:01 +03:00
884a7c745b Optimize ui painter to not draw elements not in the current bbox 2022-03-11 14:51:49 +03:00
e237959894 Add ui::element::style_updated & own_style_updated replacing set_style(style()) 2022-03-11 13:11:47 +03:00
4922877431 Don't update ui style elements list when updating to the same style 2022-03-11 00:48:10 +03:00
4dcac2a5ac Make ui styles update elements on change 2022-03-10 17:36:17 +03:00
83df1a82ef Add ui::spawn helper for creating dropdown lists 2022-03-10 12:23:23 +03:00
e83fef3369 Add ui::positioner element that helps with positioning a child on screen 2022-03-10 12:22:33 +03:00