Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 9, 2005, 4:52:22 PM (19 years ago)
Author:
bensch
Message:

orxonox/branches/textEngine: some reimplementation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orxonox/branches/textEngine/src/lib/graphics/font/text_engine.h

    r3766 r3767  
    88
    99    for more information see the specific classes.
     10
     11    !! IMPORTANT !! When using ttf fonts clear the license issues prior to
     12   adding them to orxonox. This is really important, because we do not want
     13   to offend anyone.
    1014*/
    1115
     
    2832#define FONT_DEFAULT_SIZE       50                   //!< default size of the Text
    2933#define FONT_DEFAULT_TEXT       "orxonox 1234567890" //!< some default text to display
    30 #define FONT_DEFAULT_COLOR_R    256                  //!< the default red part (color) of the text
    31 #define FONT_DEFAULT_COLOR_G    256                  //!< the default red green (color) of the text
    32 #define FONT_DEFAULT_COLOR_B    256                  //!< the default red blue (color) of the text
     34#define FONT_DEFAULT_COLOR_R    255                  //!< the default red part (color) of the text
     35#define FONT_DEFAULT_COLOR_G    255                  //!< the default red green (color) of the text
     36#define FONT_DEFAULT_COLOR_B    255                  //!< the default red blue (color) of the text
    3337#define FONT_NUM_COLORS         256                  //!< The number of colors.
    3438
     
    7781 
    7882  // OpenGL-specific
    79   //  TexCoord texCoord;             //!< A Texture Coordinate for this glyph.
     83  //  TexCoord texCoord;         //!< A Texture Coordinate for this glyph.
    8084  GLuint displayList;            //!< DiplayList to render this Glyph.
    8185};
    8286
    83 //! A class to handle a Font
     87//! Represents one textElement.
     88class Text
     89{
     90 public:
     91  int type;                      //!< The type of this Font.
     92  char* text;                    //!< The text to display
     93  SDL_Color color;               //!< The color of the font.
     94  // placement in openGL
     95  GLuint texture;                //!< A GL-texture to hold the text
     96  TexCoord texCoord;             //!< Texture-coordinates \todo fix this to have a struct
     97  SDL_Rect textPosSize;          //!< An SDL-Rectangle representing the position and size of the Text on the screen.
     98  int renderStyle;               //!< The Renderstyle
     99 
     100  PNode* bindNode;               //!< A node the Text is bind to. (if NULL thr node will not be bound to anything.)
     101};
     102
     103
     104//! A class to handle a Font of a certain ttf-File, Size and Color.
    84105class Font
    85106{
    86107 public:
    87   Font(const char* fontFile);
     108  Font(const char* fontFile, unsigned int fontSize = FONT_DEFAULT_SIZE,
     109       Uint8 r = FONT_DEFAULT_COLOR_R, Uint8 g = FONT_DEFAULT_COLOR_G, Uint8 b = FONT_DEFAULT_COLOR_B);
    88110  virtual ~Font();
    89111
     
    115137  GLuint fastTextureID;             //!< The fast textureID.
    116138
    117   //! Represents one textElement.
    118   struct Text
    119   {
    120     int type;                   //!< The type of this Font.
    121     char* text;                      //!< The text to display
    122     SDL_Color color;                 //!< The color of the font.
    123     // placement in openGL
    124     GLuint texture;                  //!< A GL-texture to hold the text
    125     TexCoord texCoord;               //!< Texture-coordinates \todo fix this to have a struct
    126     SDL_Rect textPosSize;            //!< An SDL-Rectangle representing the position and size of the Text on the screen.
    127     int renderStyle;                 //!< The Renderstyle
    128 
    129     PNode* bindNode;                 //!< A node the Text is bind to. (if NULL thr node will not be bound to anything.)
    130   };
    131139  tList<Text>* textList;
    132140  Text* currentText;
    133141
    134   bool init(const char* fontFile, unsigned int fontSize = FONT_DEFAULT_SIZE);
    135142  int getMaxHeight(void);
    136143  int getMaxAscent(void);
Note: See TracChangeset for help on using the changeset viewer.