struct timeval last_updated;
std::vector<TextDefer> last_text;
+ unsigned get_show_players(const Group &group);
void draw_main_heading(std::vector<TextDefer> &td);
void draw_column_headings(std::vector<TextDefer> &td, const Group &group, const std::vector<unsigned> &colwidth);
+ void draw_scores(std::vector<TextDefer> &td, const Group &group, unsigned min_player, const std::vector<unsigned> &colwidth);
+ const Player *get_next_player(const Group &group);
+ void draw_next_up_player(unsigned char *buf, const Group &group, const Player &player, const Score &song, bool last_song,
+ std::map<unsigned, unsigned> &song_scores, std::map<unsigned, unsigned> &player_scores,
+ const std::vector<unsigned> &max_score, const std::vector<unsigned> &min_score);
+ void draw_next_up_single(unsigned char *buf, const Group &group,
+ std::map<unsigned, unsigned> &song_scores, std::map<unsigned, unsigned> &player_scores,
+ const std::vector<unsigned> &max_score, const std::vector<unsigned> &min_score);
+ void draw_next_up_versus(unsigned char *buf, const Group &group,
+ std::map<unsigned, unsigned> &song_scores, std::map<unsigned, unsigned> &player_scores,
+ const std::vector<unsigned> &max_score, const std::vector<unsigned> &min_score);
void find_column_widths(const Group &group, std::vector<unsigned> &colwidth);
public: