private void ScaleToText()
{
if (m_Font.MeasureString(m_Text).X > m_Size.X)
m_XScale = m_Font.MeasureString(m_Text).X / m_Size.X;
else if(m_Font.MeasureString(m_Text).X <= m_Size.X)
m_XScale = m_Size.X / m_Font.MeasureString(m_Text).X;
m_XScale += 0.5f; //Text margin.
m_TextPosition.X += ((m_Size.X / 2) * m_XScale) - (m_Font.MeasureString(m_Text).X / 2);
m_TextPosition.Y += (m_Size.Y / 2) - (m_Font.MeasureString(m_Text).Y / 2);
}