📄 font.h
字号:
#ifdef CGE_HEADER_H
#ifndef CGE_FONT_H
#define CGE_FONT_H
namespace CGE
{
namespace FONT
{
#define FONT_NUM_IN_LINE 1024
enum
{
ALIGN_ACROSS = 0,
ALIGN_ERECT,
};
struct CARD2DVERTEX
{
union {
FLOAT sx; /* Screen coordinates */
FLOAT dvSX;
};
union {
FLOAT sy;
FLOAT dvSY;
};
union {
FLOAT sz;
FLOAT dvSZ;
};
union {
FLOAT rhw; /* Reciprocal of homogeneous w */
FLOAT dvRHW;
};
union {
D3DCOLOR color; /* Vertex color */
D3DCOLOR dcColor;
};
union {
FLOAT tu; /* Texture coordinates */
FLOAT dvTU;
};
union {
FLOAT tv;
FLOAT dvTV;
};
CARD2DVERTEX(const D3DXVECTOR3 & p,FLOAT _rhw,DWORD clr,FLOAT _tu,FLOAT _tv)
{
sx = p.x; sy = p.y; sz = p.z; rhw = _rhw;
color = clr; tu = _tu; tv = _tv;
};
enum
{
FVF_CARD2DVERTEX = (D3DFVF_XYZRHW|D3DFVF_DIFFUSE|D3DFVF_TEX1),
};
};
typedef class CardFont
{
public:
VOID BeginCardOut();
VOID SetCardOffSet(LONG sx,LONG sy);
VOID CardInScene();
VOID UnlockCardBuffer();
BOOL LockCardBuffer();
VOID SetCardFile( TCHAR * strFileName,LONG wsize,LONG hsize);
VOID Out2DCard(LONG x, LONG y,FLOAT fSize,DWORD clr);
VOID SetOut2DCard(LONG sx, LONG sy, LONG cx,LONG cy,UINT nAlign);
VOID SetfreeContext();
BOOL CreateCardFont(LPDIRECT3DDEVICE8 device,DWORD clrKey);
CardFont();
~CardFont();
protected:
LPDIRECT3DTEXTURE8 m_CardFontMap;
LPDIRECT3DDEVICE8 m_pD3DDevice;
LPDIRECT3DVERTEXBUFFER8 m_Buffer;
TCHAR * m_strFileName;
LONG m_CardWidth;
LONG m_CardHeight;
LONG m_CardMapWidth;
LONG m_CardMapHeight;
LONG m_CardNumberToRender;
LONG m_CardOffsetSX,m_CardOffsetSY;
UINT m_Align;
LONG m_sx,m_sy;
CARD2DVERTEX * m_CardBufferPtr;
}*LPCARDFONT;
typedef class EnFont
{
public:
BOOL CreateContext(LPDIRECT3DDEVICE8 device);
VOID EndTextOut();
VOID BeginTextOut();
BOOL SetEnFont(LPDIRECT3DDEVICE8 device,TCHAR *strFontface, LONG dwFontHeight, LONG dwBold, BOOL bItalic, BOOL bUnderline);
VOID SetfreeContext();
VOID Text2DOut(const TCHAR * pText, LONG x, LONG y,DWORD rgbFontColour);
EnFont();
~EnFont();
protected:
LPDIRECT3DDEVICE8 m_dyEnFontDevice;
LPDIRECT3DVERTEXBUFFER8 m_dyEnFontVB;
LPDIRECT3DTEXTURE8 m_dyEnFontCache;
DWORD m_dwTexWidth,m_dwTexHeight;
DWORD m_dwFontHeight;
FLOAT m_fTextScale;
FLOAT m_fTexCoords[128-32][4];
DWORD m_dwSavedStateBlock;
DWORD m_dwDrawTextStateBlock;
}*LPENFONT;
}
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -