Replace `ImGuiResourceCache.BrushCache` with a single `Brush`
This commit is contained in:
parent
fb425c9db6
commit
fedd2dbb03
|
@ -14,7 +14,8 @@ namespace BizHawk.Bizware.Graphics
|
|||
|
||||
internal readonly IPipeline Pipeline;
|
||||
internal readonly Dictionary<Bitmap, ITexture2D> TextureCache = [ ];
|
||||
internal readonly Dictionary<Color, SolidBrush> BrushCache = [ ];
|
||||
|
||||
internal readonly SolidBrush CachedBrush = new(default);
|
||||
|
||||
public ImGuiResourceCache(IGL igl)
|
||||
{
|
||||
|
@ -87,14 +88,8 @@ namespace BizHawk.Bizware.Graphics
|
|||
{
|
||||
cachedTex.Dispose();
|
||||
}
|
||||
|
||||
foreach (var cachedBrush in BrushCache.Values)
|
||||
{
|
||||
cachedBrush.Dispose();
|
||||
}
|
||||
|
||||
CachedBrush.Dispose();
|
||||
TextureCache.Clear();
|
||||
BrushCache.Clear();
|
||||
Pipeline?.Dispose();
|
||||
}
|
||||
|
||||
|
|
|
@ -9,7 +9,6 @@ using System.Runtime.InteropServices;
|
|||
using ImGuiNET;
|
||||
|
||||
using BizHawk.Common;
|
||||
using BizHawk.Common.CollectionExtensions;
|
||||
|
||||
using SDGraphics = System.Drawing.Graphics;
|
||||
|
||||
|
@ -262,7 +261,8 @@ namespace BizHawk.Bizware.Graphics
|
|||
case DrawCallbackId.DrawString:
|
||||
{
|
||||
var stringArgs = (DrawStringArgs)GCHandle.FromIntPtr(cmd.UserCallbackData).Target!;
|
||||
var brush = _resourceCache.BrushCache.GetValueOrPutNew1(stringArgs.Color);
|
||||
var brush = _resourceCache.CachedBrush;
|
||||
brush.Color = stringArgs.Color;
|
||||
_stringGraphics.TextRenderingHint = stringArgs.TextRenderingHint;
|
||||
_stringGraphics.DrawString(stringArgs.Str, stringArgs.Font, brush, stringArgs.X, stringArgs.Y, stringArgs.Format);
|
||||
|
||||
|
|
|
@ -3,8 +3,6 @@ using System.Runtime.InteropServices;
|
|||
|
||||
using ImGuiNET;
|
||||
|
||||
using BizHawk.Common.CollectionExtensions;
|
||||
|
||||
using static SDL2.SDL;
|
||||
|
||||
#pragma warning disable BHI1007 // target-typed Exception TODO don't
|
||||
|
@ -178,7 +176,8 @@ namespace BizHawk.Bizware.Graphics
|
|||
case DrawCallbackId.DrawString:
|
||||
{
|
||||
var stringArgs = (DrawStringArgs)GCHandle.FromIntPtr(cmd.UserCallbackData).Target!;
|
||||
var brush = _resourceCache.BrushCache.GetValueOrPutNew1(stringArgs.Color);
|
||||
var brush = _resourceCache.CachedBrush;
|
||||
brush.Color = stringArgs.Color;
|
||||
_stringGraphics.TextRenderingHint = stringArgs.TextRenderingHint;
|
||||
_stringGraphics.DrawString(stringArgs.Str, stringArgs.Font, brush, stringArgs.X, stringArgs.Y, stringArgs.Format);
|
||||
|
||||
|
|
Loading…
Reference in New Issue