System.Windows.Forms.Label.InternalGetPreferredSize C# (CSharp) Method

InternalGetPreferredSize() private method

private InternalGetPreferredSize ( Size proposed ) : Size
proposed System.Drawing.Size
return System.Drawing.Size
		internal virtual Size InternalGetPreferredSize (Size proposed)
		{
			Size size;

			if (Text == string.Empty) {
				size = new Size (0, Font.Height);
			} else {
				var txt = new NSText();
				txt.Value = Text;
				txt.Font = Font.ToNsFont();
				txt.SizeToFit();
				size = Size.Round(txt.Frame.Size);
			}

#if NET_2_0
			size.Width += Padding.Horizontal;
			size.Height += Padding.Vertical;
			
			if (!use_compatible_text_rendering)
				return size;
#else
				size.Height = Font.Height;
#endif

			if (border_style == BorderStyle.None)
				size.Height += 3;
			else
				size.Height += 6;
			
			return size;
		}