Improve performance of the code used to display active thumbnail's borders

This commit is contained in:
Anton Kasyanov
2016-10-25 20:51:41 +03:00
parent b4a0e7d31d
commit 13efa15375
3 changed files with 26 additions and 71 deletions

View File

@@ -1,5 +1,4 @@
using System;
using System.Drawing;
using System.Windows.Forms;
namespace EveOPreview.UI
@@ -8,12 +7,6 @@ namespace EveOPreview.UI
{
#region Private fields
private readonly Action<object, MouseEventArgs> _areaClickAction;
private bool _isHighlightEnabled;
private Color _highlightColor;
private int _highlightWidthLeft;
private int _highlightWidthTop;
private int _highlightWidthRight;
private int _highlightWidthBottom;
#endregion
public ThumbnailOverlay(Form owner, Action<object, MouseEventArgs> areaClickAction)
@@ -21,9 +14,6 @@ namespace EveOPreview.UI
this.Owner = owner;
this._areaClickAction = areaClickAction;
this._isHighlightEnabled = false;
this._highlightColor = Color.Red;
InitializeComponent();
}
@@ -42,27 +32,6 @@ namespace EveOPreview.UI
this.OverlayLabel.Visible = enable;
}
public void SetHighlightWidth(int left, int top, int right, int bottom)
{
this._highlightWidthLeft = left;
this._highlightWidthTop = top;
this._highlightWidthRight = right;
this._highlightWidthBottom = bottom;
}
public void EnableHighlight(bool enabled, Color color)
{
if (enabled == this._isHighlightEnabled)
{
// Nothing to do here
return;
}
this._isHighlightEnabled = enabled;
this._highlightColor = color;
this.Refresh();
}
protected override CreateParams CreateParams
{
get
@@ -72,19 +41,5 @@ namespace EveOPreview.UI
return Params;
}
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
if (this._isHighlightEnabled)
{
ControlPaint.DrawBorder(e.Graphics, this.ClientRectangle,
this._highlightColor, this._highlightWidthLeft, ButtonBorderStyle.Solid,
this._highlightColor, this._highlightWidthTop, ButtonBorderStyle.Solid,
this._highlightColor, this._highlightWidthRight, ButtonBorderStyle.Solid,
this._highlightColor, this._highlightWidthBottom, ButtonBorderStyle.Solid);
}
}
}
}