Пример #1
0
        internal static bool OnProcess(string Title, LGuiRect Rect, LGuiButtonFlags Flags)
        {
            var ID = LGuiHash.CalculateID(Title);

            LGuiContext.SetPreviousControlID(ID);

            if (!LGuiMisc.CheckVisible(ref Rect))
            {
                return(false);
            }

            LGuiMisc.CheckAndSetContextID(ref Rect, ID);

            if ((Flags & LGuiButtonFlags.Invisible) == LGuiButtonFlags.Invisible)
            {
            }
            else
            {
                var BgColorIndex = LGuiContext.ActiveID == ID ? LGuiStyleColorIndex.ButtonActived :
                                   LGuiContext.HoveredID == ID ? LGuiStyleColorIndex.ButtonHovered : LGuiStyleColorIndex.Button;

                LGuiGraphics.DrawRect(Rect, BgColorIndex, true);
                LGuiGraphics.DrawRect(Rect, LGuiStyleColorIndex.Border, false);
                LGuiGraphics.DrawText(Title, new LGuiVec2(Rect.X + 3, Rect.Y + 2), LGuiStyleColorIndex.Text);
            }

            if ((Flags & LGuiButtonFlags.Repeat) == LGuiButtonFlags.Repeat)
            {
                if (LGuiContext.ActiveID == ID)
                {
                    return(true);
                }
            }
            else if (LGuiMisc.CheckAndSetFocusID(ID))
            {
                return(true);
            }

            return(false);
        }
Пример #2
0
 public static bool Button(string Title, LGuiVec2 Size, LGuiButtonFlags Flags = LGuiButtonFlags.None)
 {
     return(LGuiButton.OnProcess(Title, Size, Flags));
 }
Пример #3
0
        internal static bool OnProcess(string Title, LGuiButtonFlags Flags)
        {
            var Size = LGuiConvert.GetTextSize(Title, LGuiContext.Font).Add(6, 4);

            return(OnProcess(Title, Size, Flags));
        }
Пример #4
0
        internal static bool OnProcess(string Title, LGuiVec2 Size, LGuiButtonFlags Flags)
        {
            var Rect = LGuiLayout.DoLayout(Size);

            return(OnProcess(Title, Rect, Flags));
        }