From 3f94591083ce995d2e2a3d14b8a278624e02c24a Mon Sep 17 00:00:00 2001 From: Jared Boone Date: Tue, 29 Nov 2016 10:13:56 -0800 Subject: [PATCH] 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. --- firmware/application/analog_audio_app.cpp | 2 +- firmware/application/capture_app.cpp | 2 +- firmware/application/touch.cpp | 5 +---- firmware/application/ui_audio.cpp | 20 ++++-------------- firmware/application/ui_channel.cpp | 15 +++----------- firmware/application/ui_menu.cpp | 9 +++----- firmware/application/ui_navigation.cpp | 5 +---- firmware/application/ui_rssi.cpp | 25 +++++------------------ firmware/common/lcd_ili9341.cpp | 5 +---- firmware/common/ui_widget.cpp | 8 ++++---- firmware/common/ui_widget.hpp | 8 ++++---- 11 files changed, 28 insertions(+), 76 deletions(-) diff --git a/firmware/application/analog_audio_app.cpp b/firmware/application/analog_audio_app.cpp index 0a6009ca0..0f2c41f93 100644 --- a/firmware/application/analog_audio_app.cpp +++ b/firmware/application/analog_audio_app.cpp @@ -161,7 +161,7 @@ void AnalogAudioView::on_hide() { void AnalogAudioView::set_parent_rect(const Rect new_parent_rect) { View::set_parent_rect(new_parent_rect); - const ui::Rect waterfall_rect { 0, header_height, new_parent_rect.width(), static_cast(new_parent_rect.height() - header_height) }; + const ui::Rect waterfall_rect { 0, header_height, new_parent_rect.width(), new_parent_rect.height() - header_height }; waterfall.set_parent_rect(waterfall_rect); } diff --git a/firmware/application/capture_app.cpp b/firmware/application/capture_app.cpp index cd2a3824d..e5b9a36c6 100644 --- a/firmware/application/capture_app.cpp +++ b/firmware/application/capture_app.cpp @@ -98,7 +98,7 @@ void CaptureAppView::on_hide() { void CaptureAppView::set_parent_rect(const Rect new_parent_rect) { View::set_parent_rect(new_parent_rect); - const ui::Rect waterfall_rect { 0, header_height, new_parent_rect.width(), static_cast(new_parent_rect.height() - header_height) }; + const ui::Rect waterfall_rect { 0, header_height, new_parent_rect.width(), new_parent_rect.height() - header_height }; waterfall.set_parent_rect(waterfall_rect); } diff --git a/firmware/application/touch.cpp b/firmware/application/touch.cpp index ac48c0539..d3fc6c925 100644 --- a/firmware/application/touch.cpp +++ b/firmware/application/touch.cpp @@ -73,10 +73,7 @@ ui::Point Calibration::translate(const DigitizerPoint& p) const { const int32_t y = (d * p.x + e * p.y + f) / k; const auto x_clipped = x_range.clip(x); const auto y_clipped = y_range.clip(y); - return { - static_cast(x_clipped), - static_cast(y_clipped) - }; + return { x_clipped, y_clipped }; } const Calibration default_calibration() { diff --git a/firmware/application/ui_audio.cpp b/firmware/application/ui_audio.cpp index 389a65e18..1f51c3a39 100644 --- a/firmware/application/ui_audio.cpp +++ b/firmware/application/ui_audio.cpp @@ -38,37 +38,25 @@ void Audio::paint(Painter& painter) { const range_t x_max_range { x_rms + 1, r.width() }; const auto x_max = x_max_range.clip((max_db_ - db_min) * r.width() / db_delta); - const Rect r0 { - static_cast(r.left()), r.top(), - static_cast(x_rms), r.height() - }; + const Rect r0 { r.left(), r.top(), x_rms, r.height() }; painter.fill_rectangle( r0, Color::green() ); - const Rect r1 { - static_cast(r.left() + x_rms), r.top(), - 1, r.height() - }; + const Rect r1 { r.left() + x_rms, r.top(), 1, r.height() }; painter.fill_rectangle( r1, Color::black() ); - const Rect r2 { - static_cast(r.left() + x_rms + 1), r.top(), - static_cast(x_max - (x_rms + 1)), r.height() - }; + const Rect r2 { r.left() + x_rms + 1, r.top(), x_max - (x_rms + 1), r.height() }; painter.fill_rectangle( r2, Color::red() ); - const Rect r3 { - static_cast(r.left() + x_max), r.top(), - static_cast(r.width() - x_max), r.height() - }; + const Rect r3 { r.left() + x_max, r.top(), r.width() - x_max, r.height() }; painter.fill_rectangle( r3, Color::black() diff --git a/firmware/application/ui_channel.cpp b/firmware/application/ui_channel.cpp index 3d21e535b..227d71fe5 100644 --- a/firmware/application/ui_channel.cpp +++ b/firmware/application/ui_channel.cpp @@ -36,28 +36,19 @@ void Channel::paint(Painter& painter) { const range_t x_max_range { 0, r.width() - 1 }; const auto x_max = x_max_range.clip((max_db_ - db_min) * r.width() / db_delta); - const Rect r0 { - static_cast(r.left()), r.top(), - static_cast(x_max), r.height() - }; + const Rect r0 { r.left(), r.top(), x_max, r.height() }; painter.fill_rectangle( r0, Color::blue() ); - const Rect r1 { - static_cast(r.left() + x_max), r.top(), - 1, r.height() - }; + const Rect r1 { r.left() + x_max, r.top(), 1, r.height() }; painter.fill_rectangle( r1, Color::white() ); - const Rect r2 { - static_cast(r.left() + x_max + 1), r.top(), - static_cast(r.width() - (x_max + 1)), r.height() - }; + const Rect r2 { r.left() + x_max + 1, r.top(), r.width() - (x_max + 1), r.height() }; painter.fill_rectangle( r2, Color::black() diff --git a/firmware/application/ui_menu.cpp b/firmware/application/ui_menu.cpp index 7498a611e..f7ce70313 100644 --- a/firmware/application/ui_menu.cpp +++ b/firmware/application/ui_menu.cpp @@ -82,13 +82,10 @@ void MenuView::add_items(std::initializer_list items) { void MenuView::set_parent_rect(const Rect new_parent_rect) { View::set_parent_rect(new_parent_rect); - constexpr size_t item_height = 24; - size_t i = 0; + constexpr int item_height = 24; + int i = 0; for(auto child : children_) { - child->set_parent_rect({ - { 0, static_cast(i * item_height) }, - { size().width(), item_height } - }); + child->set_parent_rect({ 0, i * item_height, size().width(), item_height }); i++; } } diff --git a/firmware/application/ui_navigation.cpp b/firmware/application/ui_navigation.cpp index 8572d6d70..d6a355216 100644 --- a/firmware/application/ui_navigation.cpp +++ b/firmware/application/ui_navigation.cpp @@ -230,10 +230,7 @@ SystemView::SystemView( }; add_child(&navigation_view); - navigation_view.set_parent_rect({ - { 0, status_view_height }, - { parent_rect.width(), static_cast(parent_rect.height() - status_view_height) } - }); + navigation_view.set_parent_rect({ 0, status_view_height, parent_rect.width(), parent_rect.height() - status_view_height }); navigation_view.on_view_changed = [this](const View& new_view) { this->status_view.set_back_enabled(!this->navigation_view.is_top()); this->status_view.set_title(new_view.title()); diff --git a/firmware/application/ui_rssi.cpp b/firmware/application/ui_rssi.cpp index ab5069061..36e8dacf0 100644 --- a/firmware/application/ui_rssi.cpp +++ b/firmware/application/ui_rssi.cpp @@ -44,46 +44,31 @@ void RSSI::paint(Painter& painter) { const range_t x_max_range { x_avg + 1, r.width() }; const auto x_max = x_max_range.clip((max_ - raw_min) * r.width() / raw_delta); - const Rect r0 { - static_cast(r.left()), r.top(), - static_cast(x_min), r.height() - }; + const Rect r0 { r.left(), r.top(), x_min, r.height() }; painter.fill_rectangle( r0, Color::blue() ); - const Rect r1 { - static_cast(r.left() + x_min), r.top(), - static_cast(x_avg - x_min), r.height() - }; + const Rect r1 { r.left() + x_min, r.top(), x_avg - x_min, r.height() }; painter.fill_rectangle( r1, Color::red() ); - const Rect r2 { - static_cast(r.left() + x_avg), r.top(), - 1, r.height() - }; + const Rect r2 { r.left() + x_avg, r.top(), 1, r.height() }; painter.fill_rectangle( r2, Color::white() ); - const Rect r3 { - static_cast(r.left() + x_avg + 1), r.top(), - static_cast(x_max - (x_avg + 1)), r.height() - }; + const Rect r3 { r.left() + x_avg + 1, r.top(), x_max - (x_avg + 1), r.height() }; painter.fill_rectangle( r3, Color::red() ); - const Rect r4 { - static_cast(r.left() + x_max), r.top(), - static_cast(r.width() - x_max), r.height() - }; + const Rect r4 { r.left() + x_max, r.top(), r.width() - x_max, r.height() }; painter.fill_rectangle( r4, Color::black() diff --git a/firmware/common/lcd_ili9341.cpp b/firmware/common/lcd_ili9341.cpp index db434d6c1..539535dcd 100644 --- a/firmware/common/lcd_ili9341.cpp +++ b/firmware/common/lcd_ili9341.cpp @@ -291,10 +291,7 @@ void ILI9341::fill_circle( const uint32_t d2 = x2 + y2; const bool inside = d2 < radius2; const auto color = inside ? foreground : background; - draw_pixel({ - static_cast(x + center.x()), - static_cast(y + center.y()) - }, color); + draw_pixel({ x + center.x(), y + center.y() }, color); } } } diff --git a/firmware/common/ui_widget.cpp b/firmware/common/ui_widget.cpp index 61abaecf0..6255a0ab3 100644 --- a/firmware/common/ui_widget.cpp +++ b/firmware/common/ui_widget.cpp @@ -523,9 +523,9 @@ bool ImageButton::on_touch(const TouchEvent event) { OptionsField::OptionsField( Point parent_pos, - size_t length, + int length, options_t options -) : Widget { { parent_pos, { static_cast(8 * length), 16 } } }, +) : Widget { { parent_pos, { 8 * length, 16 } } }, length_ { length }, options { options } { @@ -594,11 +594,11 @@ bool OptionsField::on_touch(const TouchEvent event) { NumberField::NumberField( Point parent_pos, - size_t length, + int length, range_t range, int32_t step, char fill_char -) : Widget { { parent_pos, { static_cast(8 * length), 16 } } }, +) : Widget { { parent_pos, { 8 * length, 16 } } }, range { range }, step { step }, length_ { length }, diff --git a/firmware/common/ui_widget.hpp b/firmware/common/ui_widget.hpp index 3ec09d269..68a8fdbab 100644 --- a/firmware/common/ui_widget.hpp +++ b/firmware/common/ui_widget.hpp @@ -273,7 +273,7 @@ public: std::function on_change { }; std::function on_show_options { }; - OptionsField(Point parent_pos, size_t length, options_t options); + OptionsField(Point parent_pos, int length, options_t options); size_t selected_index() const; void set_selected_index(const size_t new_index); @@ -287,7 +287,7 @@ public: bool on_touch(const TouchEvent event) override; private: - const size_t length_; + const int length_; options_t options; size_t selected_index_ { 0 }; }; @@ -298,7 +298,7 @@ public: using range_t = std::pair; - NumberField(Point parent_pos, size_t length, range_t range, int32_t step, char fill_char); + NumberField(Point parent_pos, int length, range_t range, int32_t step, char fill_char); NumberField(const NumberField&) = delete; NumberField(NumberField&&) = delete; @@ -314,7 +314,7 @@ public: private: const range_t range; const int32_t step; - const size_t length_; + const int length_; const char fill_char; int32_t value_ { 0 };