NESPPU, NesNamableViewer - reduce a lot of copy/pasta
This commit is contained in:
parent
bafc31d282
commit
ac20835172
|
@ -254,5 +254,19 @@ namespace BizHawk.Client.EmuHawk
|
|||
? effect
|
||||
: DragDropEffects.None;
|
||||
}
|
||||
|
||||
public static Bitmap ToBitMap(this Control control)
|
||||
{
|
||||
var b = new Bitmap(control.Width, control.Height);
|
||||
var rect = new Rectangle(new Point(0, 0), control.Size);
|
||||
control.DrawToBitmap(b, rect);
|
||||
return b;
|
||||
}
|
||||
|
||||
public static void ToClipBoard(this Bitmap bitmap)
|
||||
{
|
||||
using var img = bitmap;
|
||||
Clipboard.SetImage(img);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
|
||||
using BizHawk.Client.Common;
|
||||
|
@ -179,14 +180,47 @@ namespace BizHawk.Client.EmuHawk
|
|||
NameTableView.Refresh();
|
||||
}
|
||||
|
||||
public void Screenshot(Bitmap b)
|
||||
{
|
||||
using var sfd = new SaveFileDialog
|
||||
{
|
||||
FileName = $"{Global.Game.FilesystemSafeName()}-Nametables",
|
||||
InitialDirectory = Global.Config.PathEntries.ScreenshotAbsolutePathFor("NES"),
|
||||
Filter = FilesystemFilterSet.Screenshots.ToString(),
|
||||
RestoreDirectory = true
|
||||
};
|
||||
|
||||
var result = sfd.ShowHawkDialog();
|
||||
if (result != DialogResult.OK)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var file = new FileInfo(sfd.FileName);
|
||||
ImageFormat i;
|
||||
string extension = file.Extension.ToUpper();
|
||||
switch (extension)
|
||||
{
|
||||
default:
|
||||
case ".PNG":
|
||||
i = ImageFormat.Png;
|
||||
break;
|
||||
case ".BMP":
|
||||
i = ImageFormat.Bmp;
|
||||
break;
|
||||
}
|
||||
|
||||
b.Save(file.FullName, i);
|
||||
}
|
||||
|
||||
private void ScreenshotMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
NameTableView.Screenshot();
|
||||
Screenshot(NameTableView.ToBitMap());
|
||||
}
|
||||
|
||||
private void ScreenshotToClipboardMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
NameTableView.ScreenshotToClipboard();
|
||||
NameTableView.ToBitMap().ToClipBoard();
|
||||
}
|
||||
|
||||
private void ExitMenuItem_Click(object sender, EventArgs e)
|
||||
|
@ -207,7 +241,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
case Keys.C:
|
||||
if (e.Modifiers == Keys.Control)
|
||||
{
|
||||
NameTableView.ScreenshotToClipboard();
|
||||
NameTableView.ToBitMap().ToClipBoard();
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
|
||||
using BizHawk.Client.Common;
|
||||
|
@ -309,34 +310,67 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
}
|
||||
|
||||
private void Screenshot(Bitmap b, string suffix)
|
||||
{
|
||||
var sfd = new SaveFileDialog
|
||||
{
|
||||
FileName = $"{Global.Game.FilesystemSafeName()}-{suffix}",
|
||||
InitialDirectory = Config.PathEntries.ScreenshotAbsolutePathFor("NES"),
|
||||
Filter = FilesystemFilterSet.Screenshots.ToString(),
|
||||
RestoreDirectory = true
|
||||
};
|
||||
|
||||
var result = sfd.ShowHawkDialog();
|
||||
if (result != DialogResult.OK)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var file = new FileInfo(sfd.FileName);
|
||||
ImageFormat i;
|
||||
string extension = file.Extension.ToUpper();
|
||||
switch (extension)
|
||||
{
|
||||
default:
|
||||
case ".PNG":
|
||||
i = ImageFormat.Png;
|
||||
break;
|
||||
case ".BMP":
|
||||
i = ImageFormat.Bmp;
|
||||
break;
|
||||
}
|
||||
|
||||
b.Save(file.FullName, i);
|
||||
}
|
||||
|
||||
private void SavePaletteScreenshotMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
PaletteView.Screenshot();
|
||||
Screenshot(PaletteView.ToBitMap(), "Palettes");
|
||||
}
|
||||
|
||||
private void SavePatternScreenshotMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
PatternView.Screenshot();
|
||||
Screenshot(PatternView.ToBitMap(), "Patterns");
|
||||
}
|
||||
|
||||
private void SaveSpriteScreenshotMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
SpriteView.Screenshot();
|
||||
Screenshot(SpriteView.ToBitMap(), "Sprites");
|
||||
}
|
||||
|
||||
private void CopyPaletteToClipboardMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
PaletteView.ScreenshotToClipboard();
|
||||
PaletteView.ToBitMap().ToClipBoard();
|
||||
}
|
||||
|
||||
private void CopyPatternToClipboardMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
PatternView.ScreenshotToClipboard();
|
||||
PatternView.ToBitMap().ToClipBoard();
|
||||
}
|
||||
|
||||
private void CopySpriteToClipboardMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
SpriteView.ScreenshotToClipboard();
|
||||
SpriteView.ToBitMap().ToClipBoard();
|
||||
}
|
||||
|
||||
private void ExitMenuItem_Click(object sender, EventArgs e)
|
||||
|
|
|
@ -65,42 +65,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
}
|
||||
|
||||
public void Screenshot()
|
||||
{
|
||||
using var sfd = new SaveFileDialog
|
||||
{
|
||||
FileName = $"{Global.Game.FilesystemSafeName()}-Nametables",
|
||||
InitialDirectory = Global.Config.PathEntries.ScreenshotAbsolutePathFor("NES"),
|
||||
Filter = FilesystemFilterSet.Screenshots.ToString(),
|
||||
RestoreDirectory = true
|
||||
};
|
||||
|
||||
var result = sfd.ShowHawkDialog();
|
||||
if (result != DialogResult.OK)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var file = new FileInfo(sfd.FileName);
|
||||
using Bitmap b = new Bitmap(Width, Height);
|
||||
Rectangle rect = new Rectangle(new Point(0, 0), Size);
|
||||
DrawToBitmap(b, rect);
|
||||
|
||||
ImageFormat i;
|
||||
string extension = file.Extension.ToUpper();
|
||||
switch (extension)
|
||||
{
|
||||
default:
|
||||
case ".PNG":
|
||||
i = ImageFormat.Png;
|
||||
break;
|
||||
case ".BMP":
|
||||
i = ImageFormat.Bmp;
|
||||
break;
|
||||
}
|
||||
|
||||
b.Save(file.FullName, i);
|
||||
}
|
||||
|
||||
|
||||
public void ScreenshotToClipboard()
|
||||
{
|
||||
|
|
|
@ -1,10 +1,5 @@
|
|||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.Drawing.Imaging;
|
||||
|
||||
using BizHawk.Client.Common;
|
||||
using BizHawk.Emulation.Common;
|
||||
|
||||
namespace BizHawk.Client.EmuHawk
|
||||
{
|
||||
|
@ -70,52 +65,5 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void Screenshot()
|
||||
{
|
||||
var sfd = new SaveFileDialog
|
||||
{
|
||||
FileName = $"{Global.Game.FilesystemSafeName()}-Palettes",
|
||||
InitialDirectory = Global.Config.PathEntries.ScreenshotAbsolutePathFor("NES"),
|
||||
Filter = FilesystemFilterSet.Screenshots.ToString(),
|
||||
RestoreDirectory = true
|
||||
};
|
||||
|
||||
var result = sfd.ShowHawkDialog();
|
||||
if (result != DialogResult.OK)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var file = new FileInfo(sfd.FileName);
|
||||
var b = new Bitmap(Width, Height);
|
||||
var rect = new Rectangle(new Point(0, 0), Size);
|
||||
DrawToBitmap(b, rect);
|
||||
|
||||
ImageFormat i;
|
||||
string extension = file.Extension.ToUpper();
|
||||
switch (extension)
|
||||
{
|
||||
default:
|
||||
case ".PNG":
|
||||
i = ImageFormat.Png;
|
||||
break;
|
||||
case ".BMP":
|
||||
i = ImageFormat.Bmp;
|
||||
break;
|
||||
}
|
||||
|
||||
b.Save(file.FullName, i);
|
||||
}
|
||||
|
||||
public void ScreenshotToClipboard()
|
||||
{
|
||||
var b = new Bitmap(Width, Height);
|
||||
var rect = new Rectangle(new Point(0, 0), Size);
|
||||
DrawToBitmap(b, rect);
|
||||
|
||||
using var img = b;
|
||||
Clipboard.SetImage(img);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,5 @@
|
|||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.Drawing.Imaging;
|
||||
|
||||
using BizHawk.Client.Common;
|
||||
using BizHawk.Emulation.Common;
|
||||
|
||||
namespace BizHawk.Client.EmuHawk
|
||||
{
|
||||
|
@ -32,52 +27,5 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
e.Graphics.DrawImage(Pattern, 0, 0);
|
||||
}
|
||||
|
||||
public void Screenshot()
|
||||
{
|
||||
var sfd = new SaveFileDialog
|
||||
{
|
||||
FileName = $"{Global.Game.FilesystemSafeName()}-Patterns",
|
||||
InitialDirectory = Global.Config.PathEntries.ScreenshotAbsolutePathFor("NES"),
|
||||
Filter = FilesystemFilterSet.Screenshots.ToString(),
|
||||
RestoreDirectory = true
|
||||
};
|
||||
|
||||
var result = sfd.ShowHawkDialog();
|
||||
if (result != DialogResult.OK)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var file = new FileInfo(sfd.FileName);
|
||||
var b = new Bitmap(Width, Height);
|
||||
var rect = new Rectangle(new Point(0, 0), Size);
|
||||
DrawToBitmap(b, rect);
|
||||
|
||||
ImageFormat i;
|
||||
string extension = file.Extension.ToUpper();
|
||||
switch (extension)
|
||||
{
|
||||
default:
|
||||
case ".PNG":
|
||||
i = ImageFormat.Png;
|
||||
break;
|
||||
case ".BMP":
|
||||
i = ImageFormat.Bmp;
|
||||
break;
|
||||
}
|
||||
|
||||
b.Save(file.FullName, i);
|
||||
}
|
||||
|
||||
public void ScreenshotToClipboard()
|
||||
{
|
||||
var b = new Bitmap(Width, Height);
|
||||
var rect = new Rectangle(new Point(0, 0), Size);
|
||||
DrawToBitmap(b, rect);
|
||||
|
||||
using var img = b;
|
||||
Clipboard.SetImage(img);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,5 @@
|
|||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.Drawing.Imaging;
|
||||
|
||||
using BizHawk.Client.Common;
|
||||
using BizHawk.Emulation.Common;
|
||||
|
||||
namespace BizHawk.Client.EmuHawk
|
||||
{
|
||||
|
@ -34,52 +29,5 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
Display(e.Graphics);
|
||||
}
|
||||
|
||||
public void Screenshot()
|
||||
{
|
||||
var sfd = new SaveFileDialog
|
||||
{
|
||||
FileName = $"{Global.Game.FilesystemSafeName()}-Sprites",
|
||||
InitialDirectory = Global.Config.PathEntries.ScreenshotAbsolutePathFor("NES"),
|
||||
Filter = FilesystemFilterSet.Screenshots.ToString(),
|
||||
RestoreDirectory = true
|
||||
};
|
||||
|
||||
var result = sfd.ShowHawkDialog();
|
||||
if (result != DialogResult.OK)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var file = new FileInfo(sfd.FileName);
|
||||
var b = new Bitmap(Width, Height);
|
||||
var rect = new Rectangle(new Point(0, 0), Size);
|
||||
DrawToBitmap(b, rect);
|
||||
|
||||
ImageFormat i;
|
||||
string extension = file.Extension.ToUpper();
|
||||
switch (extension)
|
||||
{
|
||||
default:
|
||||
case ".PNG":
|
||||
i = ImageFormat.Png;
|
||||
break;
|
||||
case ".BMP":
|
||||
i = ImageFormat.Bmp;
|
||||
break;
|
||||
}
|
||||
|
||||
b.Save(file.FullName, i);
|
||||
}
|
||||
|
||||
public void ScreenshotToClipboard()
|
||||
{
|
||||
var b = new Bitmap(Width, Height);
|
||||
var rect = new Rectangle(new Point(0, 0), Size);
|
||||
DrawToBitmap(b, rect);
|
||||
|
||||
using var img = b;
|
||||
Clipboard.SetImage(img);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue