void RenderingManagerC::DrawBox( FLOAT x1, FLOAT y1, FLOAT x2, FLOAT y2,DWORD dwFillColor, DWORD dwOutlineColor )
{
	D3DXVECTOR4 v[4];
	v[0] = D3DXVECTOR4( x1-0.5f, y1-0.5f, 0, 0 );
	v[1] = D3DXVECTOR4( x2-0.5f, y1-0.5f, 0, 0 );
	v[2] = D3DXVECTOR4( x2-0.5f, y2-0.5f, 0, 0 );
	v[3] = D3DXVECTOR4( x1-0.5f, y2-0.5f, 0, 0 );

	g_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP,   D3DTOP_SELECTARG1 );
	g_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TFACTOR );
	g_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP,   D3DTOP_SELECTARG1 );
	g_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_TFACTOR );
	g_pd3dDevice->SetTextureStageState( 1, D3DTSS_COLOROP,   D3DTOP_DISABLE );
	g_pd3dDevice->SetTextureStageState( 1, D3DTSS_ALPHAOP,   D3DTOP_DISABLE );
	g_pd3dDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );
	g_pd3dDevice->SetRenderState( D3DRS_SRCBLEND,  D3DBLEND_SRCALPHA );
	g_pd3dDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA );
	g_pd3dDevice->SetVertexShader( D3DFVF_XYZRHW );

	// Render the box
	g_pd3dDevice->SetRenderState( D3DRS_TEXTUREFACTOR, dwFillColor );
	g_pd3dDevice->DrawVerticesUP( D3DPT_QUADLIST, 4, v, sizeof(v[0]) );

	// Render the lines
	g_pd3dDevice->SetRenderState( D3DRS_TEXTUREFACTOR, dwOutlineColor );
	g_pd3dDevice->DrawVerticesUP( D3DPT_LINELOOP, 4, v, sizeof(v[0]) );
}