From: Steinar H. Gunderson Date: Sat, 19 Feb 2005 16:29:05 +0000 (+0000) Subject: Add a constructor from const char * for widestring, begin drawing in GroupScreen. X-Git-Url: https://git.sesse.net/?p=ccbs;a=commitdiff_plain;h=da6c03044674863de9f8a017010aa579b3b27a12 Add a constructor from const char * for widestring, begin drawing in GroupScreen. --- diff --git a/bigscreen/groupscreen.cpp b/bigscreen/groupscreen.cpp index e410de9..2827a6a 100644 --- a/bigscreen/groupscreen.cpp +++ b/bigscreen/groupscreen.cpp @@ -1,5 +1,6 @@ #include "groupscreen.h" #include "fetch_group.h" +#include "fonts.h" GroupScreen::GroupScreen(pqxx::connection &conn, unsigned tournament, unsigned round, unsigned parallel) : tournament(tournament), round(tournament), parallel(parallel), scores_changed(conn, "scores"), conn(conn), valid(false) @@ -23,6 +24,22 @@ void GroupScreen::draw(unsigned char *buf) Group group; conn.perform(FetchGroup(tournament, round, parallel, &group)); + memset(buf, 0, 800 * 600 * 4); + + // just as a test, show all the players and the scores (no headings) + unsigned y = 50; + for (std::vector::const_iterator i = group.players.begin(); i != group.players.end(); ++i) { + my_draw_text(i->nick, buf, 20, y, true, 255, 255, 255); + + unsigned x = 90; + for (std::vector::const_iterator j = i->scores.begin(); j != i->scores.end(); ++j) { + my_draw_text(widestring("1234"), buf, x, y, true, 255, 255, 255); + x += 60; + } + + y += 20; + } + valid = true; } diff --git a/bigscreen/widestring.cpp b/bigscreen/widestring.cpp index c31f4fc..52b7f55 100644 --- a/bigscreen/widestring.cpp +++ b/bigscreen/widestring.cpp @@ -7,6 +7,11 @@ static iconv_t ucs4_iconv; static bool iconv_initialized = false; +widestring::widestring(const char *from) +{ + *this = from; +} + void widestring::operator= (const char *from) { if (!iconv_initialized) { diff --git a/bigscreen/widestring.h b/bigscreen/widestring.h index ca899bd..67f00b5 100644 --- a/bigscreen/widestring.h +++ b/bigscreen/widestring.h @@ -7,6 +7,7 @@ class widestring : public std::wstring { public: + widestring(const char *from); void operator= (const char *from); };