Improve panel selected visual

This commit is contained in:
Jaex 2019-10-05 17:20:08 +03:00
parent f438161c0c
commit 616a200baa
4 changed files with 36 additions and 20 deletions

View file

@ -32,6 +32,25 @@ namespace ShareX
{
public class TaskRoundedCornerPanel : RoundedCornerPanel
{
private bool selected;
public bool Selected
{
get
{
return selected;
}
set
{
if (selected != value)
{
selected = value;
Invalidate();
}
}
}
public Color StatusColor { get; private set; } = Color.Transparent;
public ThumbnailTitleLocation StatusLocation { get; set; }
@ -66,10 +85,20 @@ protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics g = e.Graphics;
if (Selected)
{
g.PixelOffsetMode = PixelOffsetMode.Default;
using (Pen pen = new Pen(ShareXResources.Theme.TextColor) { DashStyle = DashStyle.Dot })
{
g.DrawRoundedRectangle(pen, ClientRectangle, Radius);
}
}
if (StatusColor.A > 0)
{
Graphics g = e.Graphics;
g.PixelOffsetMode = PixelOffsetMode.Half;
int y;

View file

@ -34,7 +34,6 @@ private void InitializeComponent()
this.components = new System.ComponentModel.Container();
this.ttMain = new System.Windows.Forms.ToolTip(this.components);
this.pThumbnail = new ShareX.TaskRoundedCornerPanel();
this.cbSelected = new ShareX.HelpersLib.BlackStyleCheckBox();
this.pbProgress = new ShareX.HelpersLib.BlackStyleProgressBar();
this.pbThumbnail = new System.Windows.Forms.PictureBox();
this.lblTitle = new ShareX.HelpersLib.BlackStyleLabel();
@ -53,7 +52,6 @@ private void InitializeComponent()
// pThumbnail
//
this.pThumbnail.BackColor = System.Drawing.Color.Transparent;
this.pThumbnail.Controls.Add(this.cbSelected);
this.pThumbnail.Controls.Add(this.pbProgress);
this.pThumbnail.Controls.Add(this.pbThumbnail);
this.pThumbnail.Location = new System.Drawing.Point(0, 24);
@ -61,24 +59,12 @@ private void InitializeComponent()
this.pThumbnail.Padding = new System.Windows.Forms.Padding(5);
this.pThumbnail.PanelColor = System.Drawing.Color.FromArgb(((int)(((byte)(28)))), ((int)(((byte)(32)))), ((int)(((byte)(38)))));
this.pThumbnail.Radius = 5F;
this.pThumbnail.Selected = false;
this.pThumbnail.Size = new System.Drawing.Size(256, 256);
this.pThumbnail.StatusLocation = ShareX.ThumbnailTitleLocation.Top;
this.pThumbnail.TabIndex = 0;
this.pThumbnail.MouseClick += new System.Windows.Forms.MouseEventHandler(this.PbThumbnail_MouseClick);
//
// cbSelected
//
this.cbSelected.BackColor = System.Drawing.Color.Transparent;
this.cbSelected.Checked = true;
this.cbSelected.Font = new System.Drawing.Font("Arial", 8F);
this.cbSelected.ForeColor = System.Drawing.Color.White;
this.cbSelected.IgnoreClick = true;
this.cbSelected.Location = new System.Drawing.Point(4, 4);
this.cbSelected.Name = "cbSelected";
this.cbSelected.Size = new System.Drawing.Size(13, 13);
this.cbSelected.TabIndex = 2;
this.cbSelected.Visible = false;
//
// pbProgress
//
this.pbProgress.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
@ -144,6 +130,5 @@ private void InitializeComponent()
private HelpersLib.BlackStyleProgressBar pbProgress;
private System.Windows.Forms.PictureBox pbThumbnail;
private System.Windows.Forms.ToolTip ttMain;
private HelpersLib.BlackStyleCheckBox cbSelected;
}
}

View file

@ -110,7 +110,7 @@ public bool Selected
{
selected = value;
cbSelected.Visible = selected;
pThumbnail.Selected = selected;
}
}
}

View file

@ -219,7 +219,9 @@ private void btnDecodeFromScreen_Click(object sender, EventArgs e)
Hide();
Thread.Sleep(250);
using (Image img = RegionCaptureTasks.GetRegionImage(TaskSettings.GetDefaultTaskSettings().CaptureSettings.SurfaceOptions))
TaskSettings taskSettings = TaskSettings.GetDefaultTaskSettings();
using (Image img = RegionCaptureTasks.GetRegionImage(taskSettings.CaptureSettings.SurfaceOptions))
{
if (img != null)
{