/// <summary> /// Draws a MenuColor /// </summary> public override void Draw() { var rectangleName = TechUtilities.GetContainerRectangle(this.Component) .GetCenteredText(null, MenuSettings.Font, this.Component.DisplayName, CenteredFlags.VerticalCenter); MenuSettings.Font.DrawText( MenuManager.Instance.Sprite, this.Component.DisplayName, (int)(this.Component.Position.X + MenuSettings.ContainerTextOffset), (int)rectangleName.Y, MenuSettings.TextColor); Line.Width = MenuSettings.ContainerHeight - 7; Line.Begin(); Line.Draw( new[] { new Vector2( this.Component.Position.X + this.Component.MenuWidth - (Line.Width / 2f) - 4, this.Component.Position.Y + 1 + 3), new Vector2( this.Component.Position.X + this.Component.MenuWidth - (Line.Width / 2f) - 4, this.Component.Position.Y + Line.Width + 3) }, this.Component.Color); Line.End(); if (this.Component.HoveringPreview) { Line.Begin(); Line.Draw( new[] { new Vector2( this.Component.Position.X + this.Component.MenuWidth - (Line.Width / 2f) - 4, this.Component.Position.Y + 1 + 3), new Vector2( this.Component.Position.X + this.Component.MenuWidth - (Line.Width / 2f) - 4, this.Component.Position.Y + Line.Width + 3) }, MenuSettings.HoverColor); Line.End(); } if (this.Component.Active) { MenuManager.Instance.DrawDelayed( delegate { Line.Width = ColorPickerBoundaries().Width; Line.Begin(); Line.Draw( new[] { new Vector2(ColorPickerBoundaries().X + 165, ColorPickerBoundaries().Y), new Vector2( ColorPickerBoundaries().X + 165, ColorPickerBoundaries().Y + ColorPickerBoundaries().Height) }, MenuSettings.RootContainerColor); Line.End(); colorBox.DrawControl(new Vector2(ColorBoxBoundaries().X, ColorBoxBoundaries().Y)); verticalColorSlider.DrawControl( new Vector2(VerticalColorSliderBoundaries().X, VerticalColorSliderBoundaries().Y)); verticalAlphaSlider.DrawControl( new Vector2(VerticalAlphaSliderBoundaries().X, VerticalAlphaSliderBoundaries().Y)); Utils.DrawBoxFilled( PreviewBoundaries().X, PreviewBoundaries().Y, PreviewBoundaries().Width, PreviewBoundaries().Height, Color.Black); Utils.DrawBoxFilled( PreviewBoundaries().X, PreviewBoundaries().Y, PreviewBoundaries().Width, PreviewBoundaries().Height, colorBox.Rgb.ToSharpDxColor()); var applyButtonTextWidth = MenuSettings.Font.MeasureText(MenuManager.Instance.Sprite, "Apply", 0).Width; var cancelButtonTextWidth = MenuSettings.Font.MeasureText(MenuManager.Instance.Sprite, "Cancel", 0).Width; Line.Width = ApplyButtonBoundaries().Width; Line.Begin(); Line.Draw( new[] { new Vector2(ApplyButtonBoundaries().X + 25, ApplyButtonBoundaries().Y), new Vector2( ApplyButtonBoundaries().X + 25, ApplyButtonBoundaries().Y + ApplyButtonBoundaries().Height) }, new ColorBGRA(68, 160, 255, 255)); Line.End(); MenuSettings.Font.DrawText( MenuManager.Instance.Sprite, "Apply", ApplyButtonBoundaries().X - applyButtonTextWidth / 2 + 25, (int) CancelButtonBoundaries() .GetCenteredText(null, MenuSettings.Font, "Apply", CenteredFlags.VerticalCenter) .Y, new ColorBGRA(221, 233, 255, 255)); Line.Width = CancelButtonBoundaries().Width; Line.Begin(); Line.Draw( new[] { new Vector2(CancelButtonBoundaries().X + 25, CancelButtonBoundaries().Y), new Vector2( CancelButtonBoundaries().X + 25, CancelButtonBoundaries().Y + CancelButtonBoundaries().Height) }, new ColorBGRA(68, 160, 255, 255)); Line.End(); MenuSettings.Font.DrawText( MenuManager.Instance.Sprite, "Cancel", CancelButtonBoundaries().X - cancelButtonTextWidth / 2 + 25, (int) CancelButtonBoundaries() .GetCenteredText(null, MenuSettings.Font, "Cancel", CenteredFlags.VerticalCenter) .Y, new ColorBGRA(221, 233, 255, 255)); }); } }