From 6c514bcdd0f8295a7b0a6cba33a0c2aee8ac9b8a Mon Sep 17 00:00:00 2001 From: YoshiRulz Date: Thu, 26 Sep 2024 08:45:37 +1000 Subject: [PATCH] Change `NesPPU.HandlePaletteViewMouseMove` to re-use one `SolidBrush` --- src/BizHawk.Client.EmuHawk/tools/NES/NESPPU.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/BizHawk.Client.EmuHawk/tools/NES/NESPPU.cs b/src/BizHawk.Client.EmuHawk/tools/NES/NESPPU.cs index 5918435672..467aba3117 100644 --- a/src/BizHawk.Client.EmuHawk/tools/NES/NESPPU.cs +++ b/src/BizHawk.Client.EmuHawk/tools/NES/NESPPU.cs @@ -662,6 +662,8 @@ namespace BizHawk.Client.EmuHawk HandlePaletteViewMouseMove(e.Location); } + private readonly SolidBrush _brush = new(default); + private void HandlePaletteViewMouseMove(Point e) { if (e.X < PaletteView.ClientRectangle.Left) return; @@ -685,18 +687,20 @@ namespace BizHawk.Client.EmuHawk byte[] palRam = _ppu.GetPalRam(); + PaletteViewer.Palette pal; if (baseAddr == 0x3F00) { - val = palRam[PaletteView.BgPalettes[column].Address]; ValueLabel.Text = $"ID: BG{column / 4}"; - g.FillRectangle(new SolidBrush(PaletteView.BgPalettes[column].Color), 0, 0, 64, 64); + pal = PaletteView.BgPalettes[column]; } else { - val = palRam[PaletteView.SpritePalettes[column].Address]; ValueLabel.Text = $"ID: SPR{column / 4}"; - g.FillRectangle(new SolidBrush(PaletteView.SpritePalettes[column].Color), 0, 0, 64, 64); + pal = PaletteView.SpritePalettes[column]; } + val = palRam[pal.Address]; + _brush.Color = pal.Color; + g.FillRectangle(_brush, 0, 0, 64, 64); g.Dispose();