diff --git a/firmware/application/ui_debug.cpp b/firmware/application/ui_debug.cpp index 0fd4b55f5..a3469405b 100644 --- a/firmware/application/ui_debug.cpp +++ b/firmware/application/ui_debug.cpp @@ -73,15 +73,16 @@ void RegistersWidget::update() { } void RegistersWidget::paint(Painter& painter) { - draw_legend(painter); + const Coord left = (size().w - config.row_width()) / 2; - draw_values(painter); + draw_legend(left, painter); + draw_values(left, painter); } -void RegistersWidget::draw_legend(Painter& painter) { +void RegistersWidget::draw_legend(const Coord left, Painter& painter) { for(size_t i=0; i((i / config.registers_per_row) * row_height) + left, static_cast((i / config.registers_per_row) * row_height) }; const auto text = to_string_hex(i, config.legend_length); @@ -94,11 +95,12 @@ void RegistersWidget::draw_legend(Painter& painter) { } void RegistersWidget::draw_values( + const Coord left, Painter& painter ) { for(size_t i=0; i(config.legend_width() + 8 + (i % config.registers_per_row) * (config.value_width() + 8)), + static_cast(left + config.legend_width() + 8 + (i % config.registers_per_row) * (config.value_width() + 8)), static_cast((i / config.registers_per_row) * row_height) }; diff --git a/firmware/application/ui_debug.hpp b/firmware/application/ui_debug.hpp index 46920c9ef..6ed9b4e9f 100644 --- a/firmware/application/ui_debug.hpp +++ b/firmware/application/ui_debug.hpp @@ -104,6 +104,10 @@ struct RegistersWidgetConfig { return registers_row_length() * 8; } + constexpr Dim row_width() const { + return legend_width() + 8 + registers_row_width(); + } + constexpr size_t rows() const { return registers_count / registers_per_row; } @@ -126,8 +130,8 @@ private: static constexpr Dim row_height = 16; - void draw_legend(Painter& painter); - void draw_values(Painter& painter); + void draw_legend(const Coord left, Painter& painter); + void draw_values(const Coord left, Painter& painter); }; class RegistersView : public View {