Commit Graph

28 Commits

Author SHA1 Message Date
Jared Boone
3f94591083 Remove a lot of static_cast<>s involving UI structs.
Also starting to get religion on using unsigned integers only when I want their wrapping/modulus behavior.
2016-11-29 10:13:56 -08:00
Jared Boone
e820bed097 Hide ui::Rect implementation. 2016-11-28 11:25:27 -08:00
Jared Boone
d15ace4676 Hide ui::Size implementation. 2016-11-28 10:55:45 -08:00
Jared Boone
aac2d31548 Hide ui::Point implementation. 2016-11-28 10:39:10 -08:00
Jared Boone
09222f0044 Widget/View: Consolidate dirty code inside Widget. 2016-09-05 15:04:28 -07:00
Jared Boone
8a69b0523e View::add_children: Use std::list_initializer as argument.
Improvement in code size -- 944 bytes.

Some day I will understand C++11 well enough to do the right thing the first time.
2016-09-05 14:53:04 -07:00
Jared Boone
ff57b3c8cb Add Color-only constructor to ui::Rectangle widget. 2016-05-25 11:32:06 -07:00
Jared Boone
dc2944d5e9 Make Widget::screen_rect() const.
Because I can.
2016-05-08 14:59:26 -07:00
Jared Boone
5a66c68861 Return Widget::children() by reference. 2016-02-07 11:24:25 -08:00
Jared Boone
2b6bc03408 Remove unfinished Widget last child focus code. 2016-02-07 11:06:16 -08:00
Jared Boone
31499fea5d Rewrite Widget::screen_pos() in terms of screen_rect(). 2016-02-07 10:55:55 -08:00
Jared Boone
a420f018c7 Remove unused View::dirty_screen_rect member. 2016-02-07 10:53:40 -08:00
Jared Boone
41d4fd0044 Remove unused View::initial_focus(). 2016-02-07 10:42:41 -08:00
Jared Boone
7cb3bbc9f8 Make Widget flags private, expose via methods. 2016-02-07 10:32:38 -08:00
Jared Boone
80511ac93f Improve repaint scope when widgets removed from parent.
Addresses flickering (again!) when switching between options views in receiver app.
2016-02-05 10:44:09 -08:00
Jared Boone
84824a504f Add UI Image and ImageButton classes. 2016-02-03 15:48:50 -08:00
Jared Boone
be8c1307e2 Add OptionsField event for on_focus.
TODO: So poorly named! Should be on_focus, but requires sweeping changes. Ugh.
2016-02-02 13:41:11 -08:00
Jared Boone
275b644edd Fix flickering freq/gain options views.
Was caused by invalidating ALL of the parent view, when only the overlapping views would need to be repainted.
2016-01-27 21:47:10 -08:00
Jared Boone
0efe2ea0ae Add virtual title() to View class. 2016-01-26 13:01:16 -08:00
Jared Boone
a13e19a907 Paint background of Text object before string. 2016-01-26 13:00:36 -08:00
Jared Boone
ce481c0b5a Clean up UI type static_casts.
So disgusting, but not entirely gone yet...
2016-01-23 17:02:16 -08:00
Jared Boone
750506b33e Move more code from .hpp to .cpp. 2015-12-16 22:35:26 -08:00
Jared Boone
42d13e6713 ui::OptionsField match option value by ==, not >=.
I think I used >= to match baseband filter bandwidth, but then the options would all have to be in increasing order to do the right thing, which is not what another developer would expect!
2015-12-03 20:53:14 -08:00
Jared Boone
76845c4335 Extract to_string_* functions from ui_widget. 2015-12-02 13:38:17 -08:00
Jared Boone
47a3ffb15a Insulate ui::Context a bit from its clients.
Add accessor methods.
2015-11-09 11:56:40 -08:00
Jared Boone
dc30911e0f Check for widget != nullptr before add/remove child. 2015-11-06 09:40:03 -08:00
Jared Boone
a9bb7c96e5 Move UI dirty tracking out of application main.cpp. 2015-08-14 21:17:23 -07:00
Jared Boone
dc6fee8370 Initial firmware commit. 2015-07-08 08:39:24 -07:00