]> git.sesse.net Git - ccbs/blobdiff - bigscreen/top10scorescreen.cpp
Add the framework for a top 10 screen.
[ccbs] / bigscreen / top10scorescreen.cpp
diff --git a/bigscreen/top10scorescreen.cpp b/bigscreen/top10scorescreen.cpp
new file mode 100644 (file)
index 0000000..58db329
--- /dev/null
@@ -0,0 +1,36 @@
+#include <cstdio>
+
+#include "top10scorescreen.h"
+
+Top10ScoreScreen::Top10ScoreScreen(pqxx::connection &conn, unsigned tournament)
+       : conn(conn), tournament(tournament), scores_changed(conn, "scores"), valid(false)
+{
+}
+
+Top10ScoreScreen::~Top10ScoreScreen()
+{
+}
+
+bool Top10ScoreScreen::check_invalidated()
+{
+       if (!valid)
+               return true;
+       if (!scores_changed.get_flag())
+               return false;
+
+       return true;
+}
+
+void Top10ScoreScreen::draw(unsigned char *buf)
+{
+       std::vector<TextDefer> td;
+       scores_changed.reset_flag();
+       memset(buf, 0, 800 * 600 * 4);
+
+       std::fprintf(stderr, "foo bar\n");
+       
+       valid = true;
+       draw_all_deferred_text(buf, td, last_text);
+       last_text = td;
+}
+