Changeset 3843 in orxonox.OLD for orxonox/trunk/src/lib/graphics/text_engine.cc
- Timestamp:
- Apr 17, 2005, 12:27:53 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
orxonox/trunk/src/lib/graphics/text_engine.cc
r3840 r3843 57 57 this->font = font; 58 58 this->text = NULL; 59 this->alignment = TEXT_DEFAULT_ALIGNMENT; 59 60 this->texture = 0; 60 61 this->blending = 1.0f; … … 101 102 this->text = new char[strlen(text)+1]; 102 103 strcpy(this->text, text); 104 105 106 // setting up the Text-Width if DYNAMIC 107 if (this->type == TEXT_DYNAMIC) 108 { 109 Glyph** glyphArray = this->font->getGlyphArray(); 110 111 int width = 0; 112 char* tmpText = this->text; 113 while (*tmpText != '\0') 114 { 115 if(glyphArray[*tmpText]) 116 { 117 width += glyphArray[*tmpText]->width; 118 } 119 tmpText++; 120 } 121 this->posSize.w = width; 122 } 103 123 } 104 124 … … 112 132 this->posSize.x = x; 113 133 this->posSize.y = y; 134 } 135 136 /** 137 \brief sets the text-alignment 138 \param alignment the alignment to set 139 */ 140 void Text::setAlignment(TEXT_ALIGNMENT alignemnt) 141 { 142 this->alignment = alignment; 114 143 } 115 144 … … 188 217 glColor4f(1.0f,1.0f,1.0f, this->blending); 189 218 glBlendFunc(GL_SRC_ALPHA, GL_ONE); 219 220 glPushMatrix(); 221 // transform for alignment. 222 if (this->alignment == TEXT_ALIGN_RIGHT) 223 glTranslatef(-this->posSize.w, 0, 0); 224 else if (this->alignment == TEXT_ALIGN_CENTER) 225 glTranslatef(-this->posSize.w/2, 0, 0); 190 226 191 227 // drawing this Text. … … 229 265 } 230 266 } 267 glPopMatrix(); 231 268 GraphicsEngine::leave2DMode(); 232 269 }
Note: See TracChangeset
for help on using the changeset viewer.