Example #1
0
        static void drawButtonBackground(Rect r, Window win, bool hovered, bool held)
        {
            StyleItem background = style.button.normal;

            if (hovered)
            {
                background = style.button.hover;
            }
            if (held)
            {
                background = style.button.active;
            }

            switch (background.type)
            {
            case StyleItem.Type.COLOR:
                win.canvas.addRectFilled(r, background.color, style.button.rounding);
                win.canvas.addRect(r, style.button.borderColor, style.button.rounding);
                break;

            case StyleItem.Type.IMAGE:
                win.canvas.addImage(background.image, r);
                break;

            case StyleItem.Type.SPRITE:
                win.canvas.addImage(background.sprite, r);
                break;

            case StyleItem.Type.NINEPATCH:
                win.canvas.addImage(background.patch, r);
                break;
            }
        }
Example #2
0
        public static StyleItem styleItemNinePatch(NinePatch p)
        {
            StyleItem i = new StyleItem();

            i.type  = StyleItem.Type.NINEPATCH;
            i.patch = p;
            return(i);
        }
Example #3
0
        public static StyleItem styleItemSprite(Sprite s)
        {
            StyleItem i = new StyleItem();

            i.type   = StyleItem.Type.SPRITE;
            i.sprite = s;
            return(i);
        }
Example #4
0
        public static StyleItem styleItemImage(Texture t)
        {
            StyleItem i = new StyleItem();

            i.type  = StyleItem.Type.IMAGE;
            i.image = t;
            return(i);
        }
Example #5
0
        public static StyleItem styleItemHide()
        {
            StyleItem i = new StyleItem();

            i.type  = StyleItem.Type.COLOR;
            i.color = new Color4(0, 0, 0, 0);
            return(i);
        }
Example #6
0
        public static StyleItem styleItemColor(Color4 color)
        {
            StyleItem i = new StyleItem();

            i.type  = StyleItem.Type.COLOR;
            i.color = color;
            return(i);
        }
Example #7
0
        void drawWindowBackground()
        {
            canvas.reset();
            canvas.setScreenResolution(UI.displaySize);
            //canvas.setScale(1.0f);

            float alpha = UI.style.window.backgroundColor.A;

            if (flags.HasFlag(Flags.Root))
            {
                canvas.pushClipRectFullscreen();
                UI.styleStacks.floats.Push(UI.style.window.rounding);
                UI.style.window.rounding = 0.0f;
            }
            else
            {
                Rect clip = rect; //add 1 since we want to include that last pixel
                clip.width  += 1;
                clip.height += 1;
                canvas.pushClipRect(clip);
            }

            if (!myIsCollapsed)
            {
                //window background
                if (flags.HasFlag(Flags.Background) == true)
                {
                    StyleItem background = UI.style.window.background;
                    switch (background.type)
                    {
                    case StyleItem.Type.COLOR:
                        canvas.addRectFilled(rect, background.color, UI.style.window.rounding);
                        break;

                    case StyleItem.Type.IMAGE:
                        canvas.addImage(background.image, rect);
                        break;

                    case StyleItem.Type.SPRITE:
                        canvas.addImage(background.sprite, rect);
                        break;

                    case StyleItem.Type.NINEPATCH:
                        canvas.addImage(background.patch, rect);
                        break;
                    }
                }
            }

            //pop root special style
            if (flags.HasFlag(Flags.Root))
            {
                UI.style.window.rounding = UI.styleStacks.floats.Pop();
            }
        }
Example #8
0
        void drawWindowForeground()
        {
            float alpha = UI.style.window.borderColor.A;

            if (flags.HasFlag(Flags.Root))
            {
                UI.styleStacks.floats.Push(UI.style.window.rounding);
                UI.style.window.rounding = 0.0f;
            }

            if (myIsCollapsed)
            {
                //title bar only
                canvas.addRectFilled(titleBarRect, UI.style.window.header.active.color, UI.style.window.rounding, Canvas.Corners.ALL);
                canvas.addText(titleBarRect, UI.style.window.header.labelNormal, name, Alignment.Middle);
            }
            else
            {
                //title bar
                if (flags.HasFlag(Flags.TitleBar) == true)
                {
                    canvas.addRectFilled(titleBarRect, UI.style.window.header.active.color, UI.style.window.rounding, Canvas.Corners.TOP);
                    canvas.addText(titleBarRect, UI.style.window.header.labelNormal, name, Alignment.Middle);
                    addItem(titleBarRect.size);
                }

                //menu bar
                if (flags.HasFlag(Flags.MenuBar) == true)
                {
                    canvas.addRectFilled(menuBarRect, UI.style.window.menuBorderColor);
                }
                //scroll bars

                //resize grip

                //borders
                if (flags.HasFlag(Flags.Borders) == true)
                {
                    StyleItem border = UI.style.window.border;
                    switch (border.type)
                    {
                    case StyleItem.Type.COLOR:
                        canvas.addRect(rect, border.color, UI.style.window.rounding, Canvas.Corners.ALL);
                        break;

                    case StyleItem.Type.IMAGE:
                        canvas.addImage(border.image, rect);
                        break;

                    case StyleItem.Type.SPRITE:
                        canvas.addImage(border.sprite, rect);
                        break;

                    case StyleItem.Type.NINEPATCH:
                        canvas.addImage(border.patch, rect);
                        break;
                    }

                    if (flags.HasFlag(Flags.TitleBar) == false)
                    {
                        canvas.addLine(titleBarRect.NW + new Vector2(1, 0), titleBarRect.NE - new Vector2(1, 0), UI.style.window.borderColor);
                    }
                }
            }

            //pop root special style
            if (flags.HasFlag(Flags.Root))
            {
                UI.style.window.rounding = UI.styleStacks.floats.Pop();
            }
        }