15 #define D3DFONT_BOLD 0x0001 16 #define D3DFONT_ITALIC 0x0002 17 #define D3DFONT_ZENABLE 0x0004 20 #define D3DFONT_CENTERED_X 0x0001 21 #define D3DFONT_CENTERED_Y 0x0002 22 #define D3DFONT_TWOSIDED 0x0004 23 #define D3DFONT_FILTERED 0x0008 34 TCHAR m_strFontName[80];
38 LPDIRECT3DDEVICE9 m_pd3dDevice;
39 LPDIRECT3DTEXTURE9 m_pTexture;
40 LPDIRECT3DVERTEXBUFFER9 m_pVB;
44 FLOAT m_fTexCoords[128-32][4];
48 LPDIRECT3DSTATEBLOCK9 m_pStateBlockSaved;
49 LPDIRECT3DSTATEBLOCK9 m_pStateBlockDrawText;
51 HRESULT CreateGDIFont( HDC hDC, HFONT* pFont );
52 HRESULT PaintAlphabet( HDC hDC, BOOL bMeasureOnly=FALSE );
56 HRESULT DrawText( FLOAT x, FLOAT y, DWORD dwColor,
57 const TCHAR* strText, DWORD dwFlags=0L );
58 HRESULT DrawTextScaled( FLOAT x, FLOAT y, FLOAT z,
59 FLOAT fXScale, FLOAT fYScale, DWORD dwColor,
60 const TCHAR* strText, DWORD dwFlags=0L );
61 HRESULT Render3DText(
const TCHAR* strText, DWORD dwFlags=0L );
64 HRESULT GetTextExtent(
const TCHAR* strText, SIZE* pSize );
67 HRESULT InitDeviceObjects( LPDIRECT3DDEVICE9 pd3dDevice );
68 HRESULT RestoreDeviceObjects();
69 HRESULT InvalidateDeviceObjects();
70 HRESULT DeleteDeviceObjects();
73 CD3DFont(
const TCHAR* strFontName, DWORD dwHeight, DWORD dwFlags=0L );