Fusion.Engine.Graphics.SpriteFont.MeasureStringF C# (CSharp) Method

MeasureStringF() public method

Measures string
public MeasureStringF ( string text, float tracking ) : RectangleF
text string
tracking float
return RectangleF
		public RectangleF MeasureStringF ( string text, float tracking=0 ) {
			float	x = 0;
			float	length = text.Length;
			int		line = 1;
			float	maxWidth = 0;

			for (int i=0; i<length; i++) {

				char ch0	= text[i];
				char ch1	= (i+1)<length ? text[i+1] : '\0';

				
				if (ch0 == '\n') {
					line++;
					maxWidth = Math.Max( maxWidth, x );
				}


				var chi		= GetInfo(ch0);
				var chPair	= new Tuple<char,char>(ch0,ch1);
				var kerning = GetKerning( ch0, ch1 );

				x += chi.xAdvance;
				x += kerning;
				x += tracking;

				maxWidth = Math.Max( maxWidth, x );
			}
			return new RectangleF( 0, 0, maxWidth, line * fontInfo.lineHeight );
		}