15 #define OSGTEXT_TEXT 1
18 #include <osg/Drawable>
21 #include <osgText/TextBase>
22 #include <osgText/Font>
37 virtual const char*
className()
const {
return "Text"; }
62 DROP_SHADOW_BOTTOM_RIGHT = 0,
172 void setBackdropType(BackdropType
type);
192 void setBackdropOffset(
float offset = 0.07f);
197 void setBackdropOffset(
float horizontal,
float vertical);
207 void setBackdropColor(
const osg::Vec4& color);
217 void setBackdropImplementation(BackdropImplementation implementation);
247 void setColorGradientMode(ColorGradientMode mode);
285 virtual void setThreadSafeRefUnref(
bool threadSafe);
288 virtual void resizeGLObjectBuffers(
unsigned int maxSize);
293 virtual void releaseGLObjects(
osg::State* state=0)
const;
317 void updateQuadIndices();
322 void initGlyphQuads();
323 void initGPUBufferObjects();
341 void resizeGLObjectBuffers(
unsigned int maxSize);
346 void releaseGLObjects(
osg::State* state=0)
const;
358 TextureGlyphQuadMap::iterator itGlyphQuad = _textureGlyphQuadMap.find(texture);
359 if (itGlyphQuad == _textureGlyphQuadMap.end())
return NULL;
361 return &itGlyphQuad->second;
366 return _textureGlyphQuadMap;
374 Font* getActiveFont();
375 const Font* getActiveFont()
const;
377 String::iterator computeLastCharacterOnLine(
osg::Vec2& cursor, String::iterator first,String::iterator last);
384 void computeGlyphRepresentation();
388 bool computeAverageGlyphWidthAndHeight(
float& avg_width,
float& avg_height)
const;
390 virtual void computePositions(
unsigned int contextID)
const;
392 void computeBackdropPositions(
unsigned int contextID)
const;
393 void computeBackdropBoundingBox()
const;
394 void computeBoundingBoxMargin()
const;
396 void computeColorGradients()
const;
397 void computeColorGradientsOverall()
const;
398 void computeColorGradientsPerCharacter()
const;
408 void renderWithDelayedDepthWrites(
osg::State& state,
const osg::Vec4& colorMultiplier)
const;
426 float bilinearInterpolate(
float x1,
float x2,
float y1,
float y2,
float x,
float y,
float q11,
float q12,
float q21,
float q22)
const;
virtual bool supports(const osg::Drawable::ConstAttributeFunctor &) const
std::vector< Glyph * > Glyphs
virtual void setFont(Font *font=0)
BackdropType getBackdropType() const
const LineNumbers & getLineNumbers() const
TextureGlyphQuadMap _textureGlyphQuadMap
bool getEnableDepthWrites() const
const osg::Vec4 & getColorGradientBottomLeft() const
LineNumbers & getLineNumbers()
virtual bool supports(const osg::Drawable::AttributeFunctor &) const
float _backdropHorizontalOffset
const TextureGlyphQuadMap & getTextureGlyphQuadMap() const
osg::ref_ptr< osg::DrawElementsUInt > _quadIndices
BackdropType _backdropType
osg::ref_ptr< osg::Vec2Array > TexCoords
virtual const char * className() const
ColorGradientMode _colorGradientMode
const Glyphs & getGlyphs() const
osg::ref_ptr< osg::Vec2Array > Coords2
std::vector< unsigned int > LineNumbers
osg::Vec4 _colorGradientTopRight
const GlyphQuads * getGlyphQuads(GlyphTexture *texture) const
virtual bool isSameKindAs(const osg::Object *obj) const
virtual bool supports(const osg::PrimitiveFunctor &) const
osg::ref_ptr< osg::Vec3Array > Coords3
const TexCoords & getTexCoords() const
std::map< osg::ref_ptr< GlyphTexture >, GlyphQuads > TextureGlyphQuadMap
BackdropImplementation getBackdropImplementation() const
float getBackdropVerticalOffset() const
const Coords2 & getCoords() const
virtual osg::Object * clone(const osg::CopyOp ©op) const
osg::Vec4 _colorGradientBottomRight
Coords3 & getTransformedCoords(unsigned int contexID)
virtual void setFont(Font *font=0)
osg::Vec4 _colorGradientTopLeft
void setEnableDepthWrites(bool enable)
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum type
osg::Vec4 _colorGradientBottomLeft
TexCoords & getTexCoords()
float _backdropVerticalOffset
osg::ref_ptr< osg::Vec4Array > ColorCoords
const osg::Vec4 & getColorGradientTopLeft() const
BackdropImplementation _backdropImplementation
const osg::Vec4 & getColorGradientBottomRight() const
const Coords3 & getTransformedCoords(unsigned int contexID) const
virtual osg::Object * cloneType() const
float getBackdropHorizontalOffset() const
osg::buffered_object< Coords3 > _transformedCoords
const osg::Vec4 & getColorGradientTopRight() const
ColorGradientMode getColorGradientMode() const
virtual void setFont(const std::string &fontfile)
virtual const char * libraryName() const
const osg::Vec4 & getBackdropColor() const