BMp view: make it a function

This commit is contained in:
alyosha-tas 2021-07-29 18:50:36 -04:00
parent 0f294a220e
commit fd765b4278
3 changed files with 9 additions and 8 deletions

View File

@ -90,10 +90,14 @@ namespace BizHawk.Client.EmuHawk
public unsafe void Clear()
{
var lockBits = Bmp.LockBits(new Rectangle(0, 0, Bmp.Width, Bmp.Height), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb);
byte* clear_out = (byte*)lockBits.Scan0;
for (uint i = 0; i < (uint)(lockBits.Height * lockBits.Stride); i++) { clear_out[i] = 0xFF; }
Clear_Selected_Region((byte*)lockBits.Scan0, (uint)(lockBits.Height * lockBits.Stride));
Bmp.UnlockBits(lockBits);
Refresh();
}
public static unsafe void Clear_Selected_Region(byte* base_pos, uint num_bytes)
{
for (uint i = 0; i < num_bytes; i++) { base_pos[i] = 0xFF; }
}
}
}

View File

@ -356,8 +356,7 @@ namespace BizHawk.Client.EmuHawk
byte* oam = (byte*)_oam;
// clear out the old sprite data
byte* clear_out = (byte*)lockData.Scan0;
for (uint i = 0; i < (uint)(lockData.Height * lockData.Stride); i++) { clear_out[i] = 0xFF; }
BmpView.Clear_Selected_Region((byte*)lockData.Scan0, (uint)(lockData.Height * lockData.Stride));
for (int s = 0; s < 40; s++)
{

View File

@ -414,8 +414,7 @@ namespace BizHawk.Client.EmuHawk
Bitmap bmp = mbv.BmpView.Bmp;
var lockData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb);
byte* clear_out = (byte*)lockData.Scan0;
for (uint i = 0; i < (uint)(lockData.Height * lockData.Stride); i++) { clear_out[i] = 0xFF; }
BmpView.Clear_Selected_Region((byte*)lockData.Scan0, (uint)(lockData.Height * lockData.Stride));
int* pixels = (int*)lockData.Scan0;
int pitch = lockData.Stride / sizeof(int);
@ -507,8 +506,7 @@ namespace BizHawk.Client.EmuHawk
if (tophalfonly)
{
byte* clear_out = (byte*)lockData.Scan0;
for (uint i = 0; i < (uint)(128 * lockData.Stride); i++) { clear_out[i] = 0xFF; }
BmpView.Clear_Selected_Region((byte*)lockData.Scan0, (uint)(128 * lockData.Stride));
pixels += 128 * pitch;
tiles += 16384;