X-Git-Url: https://git.sesse.net/?p=ccbs;a=blobdiff_plain;f=bigscreen%2Fgroupscreen.cpp;h=8432bbf321e66fbea4bc846b941856207a349594;hp=7f63cdd47fc410721414162178bdccdb739b8193;hb=07f65e88e6fd4ebbe8c055f3acd0385f9b64f238;hpb=a6425f3e55078bd6b9652f5f9e13bac3b3391cbb diff --git a/bigscreen/groupscreen.cpp b/bigscreen/groupscreen.cpp index 7f63cdd..8432bbf 100644 --- a/bigscreen/groupscreen.cpp +++ b/bigscreen/groupscreen.cpp @@ -46,12 +46,11 @@ void GroupScreen::draw(unsigned char *buf) for (unsigned i = 0; i < 16; ++i) width[i] = 0; - unsigned max_num_width = my_draw_text("88888", NULL, 22.0); - + unsigned max_num_width = my_draw_text("8888", NULL, 22.0); for (std::vector::const_iterator i = group.players.begin(); i != group.players.end(); ++i) { + unsigned col = 1; width[0] = std::max(width[0], my_draw_text(i->nick, NULL, 18.0)); - unsigned col = 1; for (std::vector::const_iterator j = i->scores.begin(); j != i->scores.end(); ++j, ++col) { if (j->chosen) { width[col] = std::max(width[col], my_draw_text(j->song.title, NULL, 12.0) + @@ -61,10 +60,16 @@ void GroupScreen::draw(unsigned char *buf) width[col] = std::max(width[col], max_num_width); } } - } + } + + unsigned num_scores = group.players[0].scores.size(); + + width[num_scores + 1] = std::max(my_draw_text("Total", NULL, 12.0), max_num_width); + width[num_scores + 2] = my_draw_text("Rank", NULL, 12.0); // make column headings from the first player's songs - unsigned col = 1, x = 40 + width[0]; + unsigned col = 1; + unsigned x = 40 + width[0]; for (std::vector::const_iterator i = group.players[0].scores.begin(); i != group.players[0].scores.end(); ++i, ++col) { if (!i->chosen) { unsigned this_width = my_draw_text(i->song.short_title, NULL, 12.0); @@ -72,6 +77,10 @@ void GroupScreen::draw(unsigned char *buf) } x += width[col] + 20; } + + my_draw_text("Total", buf, 12.0, x + width[num_scores + 1] / 2 - my_draw_text("Total", NULL, 12.0) / 2, 100); + x += width[num_scores + 1] + 20; + my_draw_text("Rank", buf, 12.0, x + width[num_scores + 2] / 2 - my_draw_text("Rank", NULL, 12.0) / 2, 100); // show all the players and the scores unsigned y = 140;