示例#1
0
        public GLLabel(GLGui gui) : base(gui)
        {
            Render += OnRender;

            skinEnabled  = Gui.Skin.LabelEnabled;
            skinDisabled = Gui.Skin.LabelDisabled;

            outer   = new Rectangle(0, 0, 0, 0);
            sizeMin = new Size(1, (int)skinEnabled.Font.LineSpacing + skinEnabled.Padding.Vertical);
            sizeMax = new Size(int.MaxValue, int.MaxValue);

            HandleMouseEvents = false;
        }
示例#2
0
        protected override void UpdateLayout()
        {
            skin = Enabled ? skinEnabled : skinDisabled;

            textSize = skin.Font.ProcessText(textProcessed, text,
                                             new SizeF(WordWrap ? (AutoSize ? SizeMax.Width - skin.Padding.Horizontal : outer.Width - skin.Padding.Horizontal) : float.MaxValue, Multiline ? (AutoSize ? float.MaxValue : outer.Height - skin.Padding.Vertical) : skin.Font.LineSpacing),
                                             skin.TextAlign);

            if (AutoSize)
            {
                outer.Width  = (int)textSize.Width + skin.Padding.Horizontal;
                outer.Height = (int)textSize.Height + skin.Padding.Vertical;
            }

            outer.Width  = Math.Min(Math.Max(outer.Width, sizeMin.Width), sizeMax.Width);
            outer.Height = Math.Min(Math.Max(outer.Height, sizeMin.Height), sizeMax.Height);

            Inner = new Rectangle(skin.Padding.Left, skin.Padding.Top, outer.Width - skin.Padding.Horizontal, outer.Height - skin.Padding.Vertical);
        }