Adde osgText::Text::setColor/getColor so that osg::Material's need not be

attached to set the text color.
This commit is contained in:
Robert Osfield
2002-05-28 14:33:13 +00:00
parent d87c423d87
commit 6ab93ff61d
2 changed files with 15 additions and 4 deletions

View File

@@ -73,11 +73,16 @@ class OSGTEXT_EXPORT Text : public osg::Drawable
virtual bool isSameKindAs(const osg::Object* obj) const { return dynamic_cast<const Text*>(obj)!=NULL; }
virtual const char* className() const { return "Text"; }
void setPosition(const osg::Vec2& pos);
void setPosition(const osg::Vec3& pos);
const osg::Vec3& getPosition() const { return _pos; }
void setColor(const osg::Vec4& color) { _color = color; }
osg::Vec4& getColor() { return _color; }
const osg::Vec4& getColor() const { return _color; }
void setDrawMode(int mode) { _drawMode=mode; }
int getDrawMode() const { return _drawMode; }
@@ -132,8 +137,9 @@ class OSGTEXT_EXPORT Text : public osg::Drawable
int _drawMode;
int _boundingBoxType;
osg::Vec3 _pos;
osg::Vec3 _alignmentPos;
osg::Vec3 _pos;
osg::Vec3 _alignmentPos;
osg::Vec4 _color;
};
}

View File

@@ -46,7 +46,8 @@ Text::Text(const Text& text,const osg::CopyOp& copyop):
_drawMode(text._drawMode),
_boundingBoxType(text._boundingBoxType),
_pos(text._pos),
_alignmentPos(text._alignmentPos)
_alignmentPos(text._alignmentPos),
_color(text._color)
{
}
@@ -112,6 +113,8 @@ setDefaults()
_pos.set(0,0,0);
_alignmentPos.set(0,0,0);
_color.set(1.0f,1.0f,1.0f,1.0f);
_fontType=UNDEF;
_alignment=LEFT_BOTTOM;
_drawMode=DEFAULT;
@@ -190,6 +193,8 @@ void Text::drawImmediateMode(State& state)
// draw boundingBox
if(_drawMode & TEXT)
{
glColor3fv(_color.ptr());
Vec3 drawPos(_pos+_alignmentPos);
glPushMatrix();
switch(_fontType)