Exemple #1
0
        public override void Draw(IGuiContext context, IGuiRenderer renderer, float deltaSeconds)
        {
            base.Draw(context, renderer, deltaSeconds);

            if (IsOpen)
            {
                var dropDownRectangle = GetListAreaRectangle(context);

                if (DropDownRegion != null)
                {
                    renderer.DrawRegion(DropDownRegion, dropDownRectangle, DropDownColor);
                }
                else
                {
                    renderer.FillRectangle(dropDownRectangle, DropDownColor);
                    renderer.DrawRectangle(dropDownRectangle, BorderColor);
                }

                DrawItemList(context, renderer);
            }

            var selectedTextInfo = GetItemTextInfo(context, ContentRectangle, SelectedItem);

            if (!string.IsNullOrWhiteSpace(selectedTextInfo.Text))
            {
                renderer.DrawText(selectedTextInfo.Font, selectedTextInfo.Text, selectedTextInfo.Position + TextOffset, selectedTextInfo.Color, selectedTextInfo.ClippingRectangle);
            }
        }
        /// <summary>
        /// Draws the message scroll view
        /// </summary>
        /// <param name="context">gui context</param>
        /// <param name="renderer">gui renderer</param>
        /// <param name="deltaSeconds">delta of seconds since last draw</param>
        public override void Draw(IGuiContext context, IGuiRenderer renderer, float deltaSeconds)
        {
            base.Draw(context, renderer, deltaSeconds);

            renderer.FillRectangle(this.ContentRectangle, this.BackgroundColor);

            IEnumerable <string> scrollLines = this.GetScrollLines();

            this.DrawTextLines(context, renderer, scrollLines);
        }
        /// <summary>
        /// Draws the tile map
        /// </summary>
        /// <param name="context">gui context</param>
        /// <param name="renderer">gui renderer</param>
        /// <param name="deltaSeconds">delta of seconds since last draw</param>
        public override void Draw(IGuiContext context, IGuiRenderer renderer, float deltaSeconds)
        {
            base.Draw(context, renderer, deltaSeconds);

            renderer.FillRectangle(this.ContentRectangle, this.BackgroundColor);

            this.DrawMapTiles(renderer);

            this.DrawPlayer(renderer);
        }
        protected override void DrawForeground(IGuiContext context, IGuiRenderer renderer, float deltaSeconds, TextInfo textInfo)
        {
            if (PasswordCharacter.HasValue)
            {
                textInfo = GetTextInfo(context, new string(PasswordCharacter.Value, textInfo.Text.Length), BoundingRectangle, HorizontalAlignment.Centre, VerticalAlignment.Centre);
            }

            base.DrawForeground(context, renderer, deltaSeconds, textInfo);

            if (IsFocused)
            {
                var caretRectangle = GetCaretRectangle(textInfo, SelectionStart);

                if (_isCaretVisible)
                {
                    renderer.DrawRectangle((Rectangle)caretRectangle, TextColor);
                }

                _nextCaretBlink -= deltaSeconds;

                if (_nextCaretBlink <= 0)
                {
                    _isCaretVisible = !_isCaretVisible;
                    _nextCaretBlink = _caretBlinkRate;
                }

                if (_selectionIndexes.Count > 1)
                {
                    var start = 0;
                    var end   = 0;
                    var point = Point2.Zero;
                    if (_selectionIndexes.Last() > _selectionIndexes.Peek())
                    {
                        start = _selectionIndexes.Peek();
                        end   = _selectionIndexes.Last();
                        point = caretRectangle.Position;
                    }
                    else
                    {
                        start = _selectionIndexes.Last();
                        end   = _selectionIndexes.Peek();
                        point = GetCaretRectangle(textInfo, start).Position;
                    }
                    var selectionRectangle = textInfo.Font.GetStringRectangle(textInfo.Text.Substring(start, end - start), point);

                    renderer.FillRectangle((Rectangle)selectionRectangle, Color.Black * 0.25f);
                }
            }
        }
Exemple #5
0
        public override void Draw(IGuiContext context, IGuiRenderer renderer, float deltaSeconds)
        {
            base.Draw(context, renderer, deltaSeconds);

            var boundingRectangle = ContentRectangle;
            var clippingRectangle = new Rectangle(boundingRectangle.X, boundingRectangle.Y, (int)(boundingRectangle.Width * Progress), boundingRectangle.Height);

            if (BarRegion != null)
            {
                renderer.DrawRegion(BarRegion, BoundingRectangle, BarColor, clippingRectangle);
            }
            else
            {
                renderer.FillRectangle(BoundingRectangle, BarColor, clippingRectangle);
            }
        }
        protected override void DrawBackground(IGuiContext context, IGuiRenderer renderer, float deltaSeconds)
        {
            base.DrawBackground(context, renderer, deltaSeconds);

            if (IsOpen)
            {
                var dropDownRectangle = GetContentRectangle(context);

                if (DropDownRegion != null)
                {
                    renderer.DrawRegion(DropDownRegion, dropDownRectangle, DropDownColor);
                }
                else
                {
                    renderer.FillRectangle(dropDownRectangle, DropDownColor);
                }
            }
        }
        protected void DrawItemList(IGuiContext context, IGuiRenderer renderer)
        {
            var listRectangle = GetListAreaRectangle(context);

            for (var i = FirstIndex; i < Items.Count; i++)
            {
                var item          = Items[i];
                var itemRectangle = GetItemRectangle(context, i - FirstIndex, listRectangle);
                var itemTextInfo  = GetItemTextInfo(context, itemRectangle, item);
                var textColor     = i == SelectedIndex ? SelectedTextColor : itemTextInfo.Color;

                if (SelectedIndex == i)
                {
                    renderer.FillRectangle(itemRectangle, SelectedItemColor, listRectangle);
                }

                renderer.DrawText(itemTextInfo.Font, itemTextInfo.Text, itemTextInfo.Position + TextOffset, textColor, itemTextInfo.ClippingRectangle);
            }
        }
Exemple #8
0
 public override void Draw(IGuiContext context, IGuiRenderer renderer, float deltaSeconds)
 {
     renderer.FillRectangle(BoundingRectangle, Color.Magenta);
 }
 public override void Draw(IGuiContext context, IGuiRenderer renderer, float deltaSeconds)
 {
     base.Draw(context, renderer, deltaSeconds);
     renderer.FillRectangle(ContentRectangle, FillColor);
 }