namespace {
-Font* get_font_by_format_char(char format_char) {
+FontPtr get_font_by_format_char(char format_char) {
switch(format_char)
{
case ' ':
return Resources::small_font;
- break;
case '-':
return Resources::big_font;
- break;
case '\t':
case '*':
case '#':
case '!':
return Resources::normal_font;
- break;
default:
return Resources::normal_font;
- log_warning << "Unknown format_char: '" << format_char << "'" << std::endl;
- break;
+ //log_warning << "Unknown format_char: '" << format_char << "'" << std::endl;
}
}
{
case ' ':
return TextScroller::small_color;
- break;
case '-':
return TextScroller::heading_color;
- break;
case '*':
return TextScroller::reference_color;
case '\t':
case '#':
case '!':
return TextScroller::normal_color;
- break;
default:
return Color(0,0,0);
- log_warning << "Unknown format_char: '" << format_char << "'" << std::endl;
- break;
+ //log_warning << "Unknown format_char: '" << format_char << "'" << std::endl;
}
}
{
case ' ':
return InfoBoxLine::SMALL;
- break;
+
case '\t':
return InfoBoxLine::NORMAL;
- break;
case '-':
return InfoBoxLine::HEADING;
- break;
case '*':
return InfoBoxLine::REFERENCE;
- break;
case '#':
return InfoBoxLine::NORMAL_LEFT;
- break;
case '!':
return InfoBoxLine::IMAGE;
- break;
default:
return InfoBoxLine::SMALL;
- log_warning << "Unknown format_char: '" << format_char << "'" << std::endl;
- break;
+ //log_warning << "Unknown format_char: '" << format_char << "'" << std::endl;
}
}
} // namespace
-InfoBoxLine::InfoBoxLine(char format_char, const std::string& text) :
+InfoBoxLine::InfoBoxLine(char format_char, const std::string& text_) :
lineType(NORMAL),
- font(Resources::normal_font),
+ font(Resources::normal_font),
color(),
- text(text),
- image(0)
+ text(text_),
+ image()
{
font = get_font_by_format_char(format_char);
lineType = get_linetype_by_format_char(format_char);
color = get_color_by_format_char(format_char);
- if (lineType == IMAGE)
+ if (lineType == IMAGE)
{
image = Surface::create(text);
}
// append wrapped parts of line into list
std::string overflow;
do {
- Font* font = get_font_by_format_char(format_char);
+ FontPtr font = get_font_by_format_char(format_char);
std::string s2 = s;
if (font) s2 = font->wrap_to_width(s2, width, &overflow);
lines.push_back(new InfoBoxLine(format_char, s2));
}
void
-InfoBoxLine::draw(DrawingContext& context, const Rect& bbox, int layer)
+InfoBoxLine::draw(DrawingContext& context, const Rectf& bbox, int layer)
{
Vector position = bbox.p1;
switch (lineType) {
case IMAGE:
- context.draw_surface(image.get(), Vector( (bbox.p1.x + bbox.p2.x - image->get_width()) / 2, position.y), layer);
+ context.draw_surface(image, Vector( (bbox.p1.x + bbox.p2.x - image->get_width()) / 2, position.y), layer);
break;
case NORMAL_LEFT:
context.draw_text(font, text, Vector(position.x, position.y), ALIGN_LEFT, layer, color);