BMp view: make it a function
This commit is contained in:
parent
0f294a220e
commit
fd765b4278
|
@ -90,10 +90,14 @@ namespace BizHawk.Client.EmuHawk
|
||||||
public unsafe void Clear()
|
public unsafe void Clear()
|
||||||
{
|
{
|
||||||
var lockBits = Bmp.LockBits(new Rectangle(0, 0, Bmp.Width, Bmp.Height), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb);
|
var lockBits = Bmp.LockBits(new Rectangle(0, 0, Bmp.Width, Bmp.Height), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb);
|
||||||
byte* clear_out = (byte*)lockBits.Scan0;
|
Clear_Selected_Region((byte*)lockBits.Scan0, (uint)(lockBits.Height * lockBits.Stride));
|
||||||
for (uint i = 0; i < (uint)(lockBits.Height * lockBits.Stride); i++) { clear_out[i] = 0xFF; }
|
|
||||||
Bmp.UnlockBits(lockBits);
|
Bmp.UnlockBits(lockBits);
|
||||||
Refresh();
|
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; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -356,8 +356,7 @@ namespace BizHawk.Client.EmuHawk
|
||||||
byte* oam = (byte*)_oam;
|
byte* oam = (byte*)_oam;
|
||||||
|
|
||||||
// clear out the old sprite data
|
// clear out the old sprite data
|
||||||
byte* clear_out = (byte*)lockData.Scan0;
|
BmpView.Clear_Selected_Region((byte*)lockData.Scan0, (uint)(lockData.Height * lockData.Stride));
|
||||||
for (uint i = 0; i < (uint)(lockData.Height * lockData.Stride); i++) { clear_out[i] = 0xFF; }
|
|
||||||
|
|
||||||
for (int s = 0; s < 40; s++)
|
for (int s = 0; s < 40; s++)
|
||||||
{
|
{
|
||||||
|
|
|
@ -414,8 +414,7 @@ namespace BizHawk.Client.EmuHawk
|
||||||
Bitmap bmp = mbv.BmpView.Bmp;
|
Bitmap bmp = mbv.BmpView.Bmp;
|
||||||
var lockData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb);
|
var lockData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb);
|
||||||
|
|
||||||
byte* clear_out = (byte*)lockData.Scan0;
|
BmpView.Clear_Selected_Region((byte*)lockData.Scan0, (uint)(lockData.Height * lockData.Stride));
|
||||||
for (uint i = 0; i < (uint)(lockData.Height * lockData.Stride); i++) { clear_out[i] = 0xFF; }
|
|
||||||
|
|
||||||
int* pixels = (int*)lockData.Scan0;
|
int* pixels = (int*)lockData.Scan0;
|
||||||
int pitch = lockData.Stride / sizeof(int);
|
int pitch = lockData.Stride / sizeof(int);
|
||||||
|
@ -507,8 +506,7 @@ namespace BizHawk.Client.EmuHawk
|
||||||
|
|
||||||
if (tophalfonly)
|
if (tophalfonly)
|
||||||
{
|
{
|
||||||
byte* clear_out = (byte*)lockData.Scan0;
|
BmpView.Clear_Selected_Region((byte*)lockData.Scan0, (uint)(128 * lockData.Stride));
|
||||||
for (uint i = 0; i < (uint)(128 * lockData.Stride); i++) { clear_out[i] = 0xFF; }
|
|
||||||
|
|
||||||
pixels += 128 * pitch;
|
pixels += 128 * pitch;
|
||||||
tiles += 16384;
|
tiles += 16384;
|
||||||
|
|
Loading…
Reference in New Issue