From: Steinar H. Gunderson Date: Sat, 19 Feb 2005 22:27:30 +0000 (+0000) Subject: Add "total" and "rank" headings, plus clean up the use of width[] somewhat. X-Git-Url: https://git.sesse.net/?p=ccbs;a=commitdiff_plain;h=4bcb57bcdcf9df850bd24a4a412d38c512ab9e20 Add "total" and "rank" headings, plus clean up the use of width[] somewhat. --- diff --git a/bigscreen/groupscreen.cpp b/bigscreen/groupscreen.cpp index 7f63cdd..c51c853 100644 --- a/bigscreen/groupscreen.cpp +++ b/bigscreen/groupscreen.cpp @@ -47,11 +47,10 @@ void GroupScreen::draw(unsigned char *buf) width[i] = 0; unsigned max_num_width = my_draw_text("88888", 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;