Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/volumetric_fog/src/lib/graphics/text_engine/multi_line_text.h

Last change on this file was 9869, checked in by bensch, 18 years ago

orxonox/trunk: merged the new_class_id branche back to the trunk.
merged with command:
svn merge https://svn.orxonox.net/orxonox/branches/new_class_id trunk -r9683:HEAD
no conflicts… puh..

File size: 1.2 KB
Line 
1/*!
2 * @file multi_line_text.h
3 * @brief Definition of a text Class, that is able to render text.
4 */
5
6#ifndef _MULTI_LINE_TEXT_H
7#define _MULTI_LINE_TEXT_H
8
9#include "text.h"
10
11#include <vector>
12
13//! Represents one textElement.
14class MultiLineText : public Text
15{
16  ObjectListDeclaration(MultiLineText);
17  public:
18    MultiLineText(const std::string& fontFile = "", unsigned int fontSize = TEXT_DEFAULT_SIZE, float lineWidth = 100.0);
19
20    // Setup:
21    void setLineWidth(float lineWidth);
22    void setLineSpacing(float lineSpacing);
23
24    // Retrieve:
25    /** @returns the LineWidth (maximum distance from the left to the right */
26    inline float getLineWidth() const { return this->lineWidth; };
27    /** @returns the LineSpacing */
28    inline float getLineSpacing() const { return this->lineSpacing; };
29    inline unsigned int getLineCount() const { return this->lineCount; };
30
31    virtual void draw() const;
32
33    void debug() const;
34
35  protected:
36    virtual void setupTextWidth();
37
38  private:
39    float                      lineWidth;
40    float                      lineSpacing;
41    std::vector<unsigned int>  lineEnds;
42    unsigned int               lineCount;
43};
44
45#endif /* _MULTI_LINE_TEXT_H */
Note: See TracBrowser for help on using the repository browser.