00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #ifndef _OSGTEXTGLYPH_H_
00040 #define _OSGTEXTGLYPH_H_
00041
00042 #ifdef _MSC_VER
00043 # pragma once
00044 #endif
00045
00046
00047 #include <OSGConfig.h>
00048 #include <OSGSystemDef.h>
00049 #include <OSGBaseTypes.h>
00050
00051
00052 OSG_BEGIN_NAMESPACE
00053
00054
00059 class OSG_SYSTEMLIB_DLLMAPPING TextGlyph
00060 {
00061
00062 public:
00063
00065 typedef Int32 Index;
00066
00068 enum { INVALID_INDEX = -1 };
00069
00071 virtual ~TextGlyph();
00072
00077 inline Index getGlyphIndex() const;
00078
00084 inline Real32 getHoriAdvance() const;
00085
00092 inline Real32 getVertAdvance() const;
00093
00098 virtual Real32 getWidth() const = 0;
00099
00104 virtual Real32 getHeight() const = 0;
00105
00112 virtual Real32 getHoriBearingX() const = 0;
00113
00120 virtual Real32 getHoriBearingY() const = 0;
00121
00128 virtual Real32 getVertBearingX() const = 0;
00129
00136 virtual Real32 getVertBearingY() const = 0;
00137
00138
00139 protected:
00140
00142 inline TextGlyph();
00143
00145 Index _glyphIndex;
00146
00148 Real32 _horiAdvance;
00149
00151 Real32 _vertAdvance;
00152
00153
00154 private:
00155
00157 TextGlyph(const TextGlyph &other);
00158
00160 const TextGlyph &operator=(const TextGlyph &other);
00161 };
00162
00163
00164 OSG_END_NAMESPACE
00165
00166
00167 #include <OSGTextGlyph.inl>
00168
00169 #define OSGTEXTGLYPH_HEADER_CVSID "@(#)$Id: OSGTextGlyph.h,v 1.1 2005/03/03 13:43:06 a-m-z Exp $"
00170
00171 #endif