WeakBlocks draw in front of other objects allowing them to hide objects
[supertux.git] / src / supertux / info_box_line.cpp
index 23fb1a6..6a9123a 100644 (file)
@@ -26,7 +26,7 @@ static const float ITEMS_SPACE = 4;
 
 namespace {
 
-Font* get_font_by_format_char(char format_char) {
+FontPtr get_font_by_format_char(char format_char) {
   switch(format_char)
   {
     case ' ':
@@ -106,7 +106,7 @@ InfoBoxLine::InfoBoxLine(char format_char, const std::string& text) :
   font(Resources::normal_font), 
   color(),
   text(text), 
-  image(0)
+  image()
 {
   font = get_font_by_format_char(format_char);
   lineType = get_linetype_by_format_char(format_char);
@@ -157,7 +157,7 @@ InfoBoxLine::split(const std::string& text, float width)
     // 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));
@@ -169,12 +169,12 @@ InfoBoxLine::split(const std::string& text, float width)
 }
 
 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);