int get_max_height(int size) { // Only returns the maximal size of the first font TTF_Font* const font = get_font(font_id(0, size)); if(font == NULL) return 0; return TTF_FontHeight(font); }
void tex::print_font_and_char(ptr p) { if (font(p) < FONT_BASE || font(p) > FONT_MAX) { print("* "); } else { print_cs((char *)font_id(font(p))); print_ASCII(character(p)); } }
std::vector<surface> const &text_surface::get_surfaces() const { if(initialized_) return surfs_; initialized_ = true; // Impose a maximal number of characters for a text line. Do now draw // any text longer that that, to prevent a SDL buffer overflow if(width() > max_text_line_width) return surfs_; BOOST_FOREACH(text_chunk const &chunk, chunks_) { TTF_Font* ttfont = get_font(font_id(chunk.subset, font_size_)); if (ttfont == NULL) continue; font_style_setter const style_setter(ttfont, style_); surface s = surface(TTF_RenderUTF8_Blended(ttfont, chunk.text.c_str(), color_)); if(!s.null()) surfs_.push_back(s); }