X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Ftextscroller.hpp;h=cc166dc35ea6612126054b389e97ee7fa8c244c3;hb=566f8eb2da26d5a2bb4ed5798a5774499f2e511f;hp=ad7f3979024cf8fc5757156839f167b368796804;hpb=a113d3bd1feddd510e3b2852b0d42522735eee40;p=supertux.git diff --git a/src/textscroller.hpp b/src/textscroller.hpp index ad7f39790..cc166dc35 100644 --- a/src/textscroller.hpp +++ b/src/textscroller.hpp @@ -26,31 +26,34 @@ #include #include "screen.hpp" -#include "video/font.hpp" +#include "math/vector.hpp" +#include "math/rect.hpp" class DrawingContext; class Surface; +class Font; /** * Helper class for InfoBox: Represents a line of text */ class InfoBoxLine { -private: +public: enum LineType { NORMAL, NORMAL_LEFT, SMALL, HEADING, REFERENCE, IMAGE}; - LineType lineType; - Font* font; - std::string text; - Surface* image; -public: InfoBoxLine(char format_char, const std::string& text); ~InfoBoxLine(); - void draw(DrawingContext& context, const Vector& position, int layer); + void draw(DrawingContext& context, const Rect& bbox, int layer); float get_height(); - static const std::vector split(const std::string& text, int line_length); + static const std::vector split(const std::string& text, float width); + +private: + InfoBoxLine::LineType lineType; + Font* font; + std::string text; + Surface* image; }; /** This class is displaying a box with information text inside the game