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 _OSGTEXTWIN32BACKEND_H_
00040 #define _OSGTEXTWIN32BACKEND_H_
00041
00042 #include <OSGConfig.h>
00043 #include <OSGSystemDef.h>
00044
00045
00046 #ifdef _MSC_VER
00047 # pragma once
00048 #endif
00049
00050
00051 #ifdef _WIN32
00052
00053
00054 #include "OSGTextBackend.h"
00055 #include <windows.h>
00056
00057
00058 OSG_BEGIN_NAMESPACE
00059
00060
00061 class EnumData;
00062
00063
00071 class OSG_SYSTEMLIB_DLLMAPPING TextWIN32Backend: public TextBackend
00072 {
00074 friend class TextWIN32VectorFace;
00075
00077 friend class TextWIN32PixmapFace;
00078
00080 friend class TextWIN32TXFFace;
00081
00082
00083 public:
00084
00088 TextWIN32Backend();
00089
00091 virtual ~TextWIN32Backend();
00092
00099 virtual TextVectorFace*
00100 createVectorFace(const std::string &family, TextFace::Style style);
00101
00109 virtual TextPixmapFace*
00110 createPixmapFace(const std::string &family, TextFace::Style style, UInt32 size);
00111
00120 virtual TextTXFFace*
00121 createTXFFace(const std::string &family, TextFace::Style style, const TextTXFParam ¶m);
00122
00128 virtual void getFontFamilies(std::vector<std::string> &families);
00129
00130
00131 private:
00132
00134 TextWIN32Backend(const TextWIN32Backend &);
00135
00137 const TextWIN32Backend &operator=(const TextWIN32Backend &);
00138
00140 void enumerateFonts(const std::string &family, EnumData &enumData);
00141
00143 void createFonts(const std::string &family, UInt32 size, TextFace::Style style,
00144 HFONT &hHoriFont, HFONT &hVertFont);
00145
00147 HDC _hDC;
00148 };
00149
00150
00151 OSG_END_NAMESPACE
00152
00153
00154 #endif // _WIN32
00155
00156
00157 #include <OSGTextWIN32Backend.inl>
00158
00159 #define OSGTEXTWIN32BACKEND_HEADER_CVSID "@(#)$Id: OSGTextWIN32Backend.h,v 1.1 2005/03/03 13:43:07 a-m-z Exp $"
00160
00161 #endif