Center RegistersWidget painting.

This commit is contained in:
Jared Boone 2015-12-14 11:47:43 -08:00
parent 56c3167156
commit ee3a77f32c
2 changed files with 13 additions and 7 deletions

View File

@ -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<config.registers_count; i+=config.registers_per_row) {
const Point offset {
0, static_cast<Coord>((i / config.registers_per_row) * row_height)
left, static_cast<Coord>((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.registers_count; i++) {
const Point offset = {
static_cast<Coord>(config.legend_width() + 8 + (i % config.registers_per_row) * (config.value_width() + 8)),
static_cast<Coord>(left + config.legend_width() + 8 + (i % config.registers_per_row) * (config.value_width() + 8)),
static_cast<Coord>((i / config.registers_per_row) * row_height)
};

View File

@ -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 {