CUERipper: Preview large cover art

This commit is contained in:
Grigory Chudov
2013-04-21 12:59:46 -04:00
parent e0b347860e
commit abcbcc342f
3 changed files with 26 additions and 14 deletions

View File

@@ -715,8 +715,9 @@ namespace CUERipper
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.TabStop = false;
this.pictureBox1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseClick);
this.pictureBox1.MouseLeave += new System.EventHandler(this.pictureBox1_MouseLeave);
this.pictureBox1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseMove);
this.pictureBox1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseDown);
this.pictureBox1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseDown);
this.pictureBox1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseUp);
//
// backgroundWorkerArtwork
//

View File

@@ -1464,7 +1464,7 @@ namespace CUERipper
{
if (albumArt.Count == 0)
{
pictureBox1.Image = null;
resetPictureBox(null);
return;
}
@@ -1485,7 +1485,7 @@ namespace CUERipper
if (currentAlbumArt >= albumArt.Count)
currentAlbumArt = 0;
pictureBox1.Image = albumArt[currentAlbumArt].image;
resetPictureBox(null);
}
private void backgroundWorkerArtwork_DoWork(object sender, DoWorkEventArgs e)
@@ -1602,14 +1602,21 @@ namespace CUERipper
return b;
}
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
private void resetPictureBox(MouseEventArgs e)
{
if (currentAlbumArt < 0 || currentAlbumArt >= albumArt.Count || _config.advanced.coversSearch != CUEConfigAdvanced.CTDBCoversSearch.Large)
if (currentAlbumArt < 0 || currentAlbumArt >= albumArt.Count)
return;
if (e == null || e.Button != System.Windows.Forms.MouseButtons.Right || _config.advanced.coversSearch != CUEConfigAdvanced.CTDBCoversSearch.Large)
{
pictureBox1.Image = albumArt[currentAlbumArt].image;
return;
}
var isz = new RectangleF(0.0f, 0.0f, albumArt[currentAlbumArt].image.Width, albumArt[currentAlbumArt].image.Height);
float ratio = Math.Min(isz.Width / pictureBox1.ClientSize.Width, isz.Height / pictureBox1.ClientSize.Height);
ratio = Math.Min(ratio, 1.0f);
//float ratio = Math.Min(isz.Width / pictureBox1.ClientSize.Width, isz.Height / pictureBox1.ClientSize.Height);
//ratio = Math.Min(ratio, 1.0f);
float ratio = 1.0f;
var rf = new RectangleF(
e.Location.X * (isz.Width / pictureBox1.ClientSize.Width - ratio),
e.Location.Y * (isz.Height / pictureBox1.ClientSize.Height - ratio),
@@ -1618,11 +1625,15 @@ namespace CUERipper
pictureBox1.Image = cropImage(albumArt[currentAlbumArt].image, pictureBox1.ClientSize, rf);
}
private void pictureBox1_MouseLeave(object sender, EventArgs e)
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
if (currentAlbumArt < 0 || currentAlbumArt >= albumArt.Count)
return;
pictureBox1.Image = albumArt[currentAlbumArt].image;
if (e.Button == System.Windows.Forms.MouseButtons.Right)
resetPictureBox(e);
}
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
resetPictureBox(null);
}
}

View File

@@ -816,7 +816,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABy
CQAAAk1TRnQBSQFMAgEBBAEAAWwBAgFsAQIBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
CQAAAk1TRnQBSQFMAgEBBAEAAaQBAgGkAQIBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@@ -966,7 +966,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAY
EgAAAk1TRnQBSQFMAgEBCwEAAWwBAgFsAQIBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
EgAAAk1TRnQBSQFMAgEBCwEAAaQBAgGkAQIBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA