Exemple #1
0
        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 = Util.NSSizeToSize(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);
        }