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); } } }
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); } }
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); }