示例#1
0
bool FONT::Create(LPDIRECT3DDEVICE9 dev,int s,int b,bool it,LPCWSTR st)
{
    device=dev;
    D3DXCreateFontW(device,25,12,b,0,it,DEFAULT_CHARSET,0,0,DEFAULT_PITCH | FF_MODERN,st,&font);
    if (font==NULL)
    {
        MessageBoxW(NULL,L"Error CreateFont!",L"Error!",MB_OK);
        return 0;
    }
    return 1;
}
示例#2
0
	D3DFontObject9::D3DFontObject9(IDirect3DDevice9 *pDevice, const FontDescription &fontDesc) {
		Utils::ThrowIfFailed(D3DXCreateFontW(pDevice, fontDesc.height,
			fontDesc.width, fontDesc.weight, fontDesc.mipLevels, fontDesc.italic,
			fontDesc.charSet, fontDesc.outputPrecision, fontDesc.quality,
			fontDesc.pitchAndFamily, fontDesc.faceName.c_str(), &m_d3dxFont));

		RECT spaceRect = {0};
		m_d3dxFont->DrawTextW(nullptr, L" .", 2, &spaceRect,
			DT_LEFT | DT_TOP | DT_SINGLELINE | DT_CALCRECT, 0);

		RECT pointRect = {0};
		m_d3dxFont->DrawTextW(nullptr, L".", 1, &pointRect,
			DT_LEFT | DT_TOP | DT_SINGLELINE | DT_CALCRECT, 0);

		m_pointExtent.x = (pointRect.right - pointRect.left);
		m_pointExtent.y = (pointRect.bottom - pointRect.top);

		m_spaceExtent.x = (spaceRect.right - spaceRect.left) - m_pointExtent.x;
		m_spaceExtent.y = (spaceRect.bottom - spaceRect.top);
	}