int x = 0;
for (std::vector<FT_Face>::const_iterator i = fonts.begin(); i != fonts.end(); ++i) {
- if (FT_Set_Char_Size(*i, 0, unsigned(size * 64.0), 96, 96))
+ if (FT_Set_Char_Size(*i, 0, unsigned(size * 64.0), 96 * SCREEN_WIDTH/LOGICAL_SCREEN_WIDTH, 96 * SCREEN_HEIGHT/LOGICAL_SCREEN_HEIGHT))
throw std::runtime_error("Couldn't set font size");
}
+ // whoop :-P
+ xpos = xpos * SCREEN_WIDTH / LOGICAL_SCREEN_WIDTH;
+ ypos = ypos * SCREEN_HEIGHT / LOGICAL_SCREEN_HEIGHT;
+
for (widestring::const_iterator i = str.begin(); i != str.end(); ++i) {
int glyph_index;
for (std::vector<FT_Face>::const_iterator j = fonts.begin(); j != fonts.end(); ++j) {
x += slot->advance.x >> 6;
}
- return x;
+ return x * LOGICAL_SCREEN_WIDTH / SCREEN_WIDTH;
}
void my_draw_text_deferred(std::vector<TextDefer> &td, const widestring &str, double size, int xpos, int ypos)
{
unsigned width = my_draw_text(heading, NULL, 40.0);
- my_draw_text_deferred(td, heading, 40.0, SCREEN_WIDTH/2 - width/2, 60);
+ my_draw_text_deferred(td, heading, 40.0, LOGICAL_SCREEN_WIDTH/2 - width/2, 60);
}
// Find out how wide each column has to be. First try unlimited width (ie.
if (next_song != NULL) {
widestring text = widestring("Next player: ") + next_player->nick;
unsigned this_width = my_draw_text(text, NULL, 24.0);
- my_draw_text(text, buf, 24.0, (SCREEN_WIDTH/2) - this_width/2, 420);
+ my_draw_text(text, buf, 24.0, (LOGICAL_SCREEN_WIDTH/2) - this_width/2, 420);
if (next_song->song.id != -1) {
this_width = my_draw_text(next_song->song.title, NULL, 20.0);
- my_draw_text(next_song->song.title, buf, 20.0, (SCREEN_WIDTH/2) - this_width/2, 457);
+ my_draw_text(next_song->song.title, buf, 20.0, (LOGICAL_SCREEN_WIDTH/2) - this_width/2, 457);
Highscore hs;
conn.perform(FetchHighscore(next_song->song.id, &hs));
text = widestring("High score: ") + widestring(pqxx::to_string(hs.score)) +
widestring(", by ") + hs.nick + widestring(" in ") + hs.tournament_name;
this_width = my_draw_text(text, NULL, 16.0);
- my_draw_text(text, buf, 16.0, (SCREEN_WIDTH/2) - this_width/2, 487);
+ my_draw_text(text, buf, 16.0, (LOGICAL_SCREEN_WIDTH/2) - this_width/2, 487);
}
}
if (lead_need > 0) {
text = widestring("Needs to lead: ") + widestring(pqxx::to_string(lead_need));
this_width = my_draw_text(text, NULL, 18.0);
- my_draw_text(text, buf, 18.0, (SCREEN_WIDTH/2) - this_width/2, y);
+ my_draw_text(text, buf, 18.0, (LOGICAL_SCREEN_WIDTH/2) - this_width/2, y);
y += 30;
}
text = widestring("Needs to win: ") + widestring(pqxx::to_string(win_need));
this_width = my_draw_text(text, NULL, 18.0);
- my_draw_text(text, buf, 18.0, (SCREEN_WIDTH/2) - this_width/2, y);
+ my_draw_text(text, buf, 18.0, (LOGICAL_SCREEN_WIDTH/2) - this_width/2, y);
y += 30;
}
}
this_width = my_draw_text(text, NULL, 18.0);
- my_draw_text(text, buf, 18.0, (SCREEN_WIDTH/2) - this_width/2, y);
+ my_draw_text(text, buf, 18.0, (LOGICAL_SCREEN_WIDTH/2) - this_width/2, y);
y += 30;
}