Beispiel #1
0
        public void DrawWithOffset(Point _pOffset)
        {
            Rectangle rect = LayoutRect;

            rect.Offset(_pOffset);

            if (ButtonFrame != null)
            {
                Screen.DrawBox((!IsOpen && !mbIsPressed) ? ButtonFrame : ButtonFrameDown, rect, Screen.Style.ButtonCornerSize, Color.White);
            }

            if (mbIsHovered && !IsOpen && mPressedAnim.IsOver)
            {
                if (Screen.IsActive)
                {
                    Screen.DrawBox(ButtonFrameHover, rect, Screen.Style.ButtonCornerSize, Color.White);
                }
            }
            else
            {
                Screen.DrawBox(ButtonFramePressed, rect, Screen.Style.ButtonCornerSize, Color.White * mPressedAnim.CurrentValue);
            }

            if (Screen.IsActive && HasFocus && !IsOpen)
            {
                Screen.DrawBox(Screen.Style.ButtonFocusOverlay, rect, Screen.Style.ButtonCornerSize, Color.White);
            }

            Screen.Game.SpriteBatch.Draw(Screen.Style.DropDownArrow,
                                         new Vector2(rect.Right - Padding.Right - TextPadding.Right - Screen.Style.DropDownArrow.Width, rect.Center.Y - Screen.Style.DropDownArrow.Height / 2),
                                         Color.White
                                         );

            mCurrentItemLabel.DrawWithOffset(_pOffset);
        }
Beispiel #2
0
        //----------------------------------------------------------------------
        public void DrawWithOffset(Point _pOffset)
        {
            var rect = mCheckBoxRect;

            rect.Offset(_pOffset);
            Screen.DrawBox(Frame, rect, FrameCornerSize, Color.White);

            if (mbIsHovered)
            {
                Screen.DrawBox(Screen.Style.CheckBoxFrameHover, rect, FrameCornerSize, Color.White);
            }

            Texture2D tex;

            switch (CheckState)
            {
            case UI.CheckBoxState.Checked:
                tex = Screen.Style.CheckBoxChecked;
                break;

            case UI.CheckBoxState.Unchecked:
                tex = Screen.Style.CheckBoxUnchecked;
                break;

            case UI.CheckBoxState.Inconsistent:
                tex = Screen.Style.CheckBoxInconsistent;
                break;

            default:
                throw new NotSupportedException();
            }

            Screen.Game.SpriteBatch.Draw(tex, new Vector2(rect.Center.X, rect.Center.Y), null, Color.White, 0f, new Vector2(tex.Width, tex.Height) / 2f, 1f, SpriteEffects.None, 1f);

            mLabel.DrawWithOffset(_pOffset);
        }