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 _OSGTEXTBACKEND_H_
00040 #define _OSGTEXTBACKEND_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 #include "OSGTextFace.h"
00052
00053 #include <string>
00054 #include <vector>
00055
00056
00057 OSG_BEGIN_NAMESPACE
00058
00059
00060 class TextVectorFace;
00061 class TextPixmapFace;
00062 class TextTXFFace;
00063 class TextTXFParam;
00064
00065
00072 class OSG_SYSTEMLIB_DLLMAPPING TextBackend
00073 {
00074
00075 public:
00076
00078 virtual ~TextBackend();
00079
00089 virtual TextVectorFace*
00090 createVectorFace(const std::string &family, TextFace::Style style);
00091
00102 virtual TextPixmapFace*
00103 createPixmapFace(const std::string &family, TextFace::Style style, UInt32 size);
00104
00116 virtual TextTXFFace*
00117 createTXFFace(const std::string &family, TextFace::Style style, const TextTXFParam ¶m);
00118
00124 virtual void getFontFamilies(std::vector<std::string> &families) = 0;
00125
00126
00127 protected:
00128
00130 inline TextBackend();
00131
00132
00133 private:
00134
00136 TextBackend(const TextBackend &);
00137
00139 const TextBackend &operator=(const TextBackend &);
00140 };
00141
00142
00143 OSG_END_NAMESPACE
00144
00145
00146 #include <OSGTextBackend.inl>
00147
00148 #define OSGTEXTBACKEND_HEADER_CVSID "@(#)$Id: OSGTextBackend.h,v 1.1 2005/03/03 13:43:06 a-m-z Exp $"
00149
00150 #endif