+
+#if USE_SPLITSCREEN
+ /*
+ * If we still have room, make yet another rotational screen with
+ * results from previous groups -- otherwise tack them onto the end
+ * of the auxilliary screens.
+ */
+ RotateScreen *finished_groups_screen;
+ if (show_only_main_screen) {
+ finished_groups_screen = NULL;
+ } else if (screens.size() < 4) {
+ finished_groups_screen = new RotateScreen();
+ screens.push_back(finished_groups_screen);
+ } else {
+ finished_groups_screen = aux_screen;
+ }
+ if (finished_groups_screen != NULL) {
+ std::vector<SkeletonGroup> finished_groups;
+ conn.perform(FetchListOfFinishedGroups(active_tournament.id, &finished_groups));
+
+ for (std::vector<SkeletonGroup>::const_iterator i = finished_groups.begin(); i != finished_groups.end(); ++i) {
+ finished_groups_screen->add_screen(new GroupScreen(conn, i->tournament, i->round, i->parallel, 0, 1, 1));
+ }
+ }
+#endif
+
+#if USE_SPLITSCREEN
+ // hack
+ screens.push_back(NULL);
+ screens.push_back(NULL);
+ screens.push_back(NULL);
+ screens.push_back(NULL);
+
+ if (screens[1] == NULL) {
+ mainscreen = screens[0];
+ } else {
+ mainscreen = new SplitScreen(screens[0], screens[1], screens[2], screens[3]);
+ }
+#endif