Esempio n. 1
0
        protected override void UpdateLayout()
        {
            skin = Enabled ? (down ? skinPressed : (over ? skinHover : skinEnabled)) : skinDisabled;

            innerBox = new Rectangle(skin.Border.Left, skin.Border.Top,
                                     outerBox.Width - skin.Border.Horizontal, outerBox.Height - skin.Border.Vertical);

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

            int innerWidth = outer.Width - skin.Border.Horizontal - outerBox.Width;

            textSize = skin.Font.ProcessText(textProcessed, text, GLFontAlignment.Left);
            int minHeight = Math.Max(sizeMin.Height, (int)textSize.Height + skin.Border.Vertical);

            if (AutoSize)
            {
                innerWidth   = (int)textSize.Width;
                outer.Width  = innerWidth + outerBox.Width + skin.Border.Horizontal;
                outer.Height = minHeight;
                outer.Width  = Math.Min(Math.Max(outer.Width, sizeMin.Width), sizeMax.Width);
            }

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

            Inner = new Rectangle(
                outerBox.Right + skin.Border.Left, skin.Border.Top,
                innerWidth, outer.Height - skin.Border.Vertical);
        }
Esempio n. 2
0
        public GLCheckBox(GLGui gui) : base(gui)
        {
            Render     += OnRender;
            MouseDown  += OnMouseDown;
            MouseUp    += OnMouseUp;
            MouseEnter += OnMouseEnter;
            MouseLeave += OnMouseLeave;

            skinEnabled  = Gui.Skin.CheckBoxEnabled;
            skinPressed  = Gui.Skin.CheckBoxPressed;
            skinHover    = Gui.Skin.CheckBoxHover;
            skinDisabled = Gui.Skin.CheckBoxDisabled;

            outer   = outerBox;
            sizeMin = outerBox.Size;
            sizeMax = new Size(int.MaxValue, int.MaxValue);

            HandleMouseEvents = false;
        }