Make OSD scale float to more accurate match system scale
This commit is contained in:
parent
6200a12d9c
commit
2cf2eaf643
|
@ -49,7 +49,7 @@ namespace BizHawk.Bizware.Graphics
|
||||||
TexturePages = null;
|
TexturePages = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public SizeF Measure(string str, int scale)
|
public SizeF Measure(string str, float scale)
|
||||||
{
|
{
|
||||||
float x = 0;
|
float x = 0;
|
||||||
float y = FontInfo.LineHeight * scale;
|
float y = FontInfo.LineHeight * scale;
|
||||||
|
@ -92,7 +92,7 @@ namespace BizHawk.Bizware.Graphics
|
||||||
return new(Math.Max(x, ox), y);
|
return new(Math.Max(x, ox), y);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RenderString(IGuiRenderer renderer, float x, float y, string str, int scale)
|
public void RenderString(IGuiRenderer renderer, float x, float y, string str, float scale)
|
||||||
{
|
{
|
||||||
if (Owner != renderer.Owner)
|
if (Owner != renderer.Owner)
|
||||||
{
|
{
|
||||||
|
@ -146,4 +146,4 @@ namespace BizHawk.Bizware.Graphics
|
||||||
|
|
||||||
private record TexCoords(float U0, float V0, float U1, float V1);
|
private record TexCoords(float U0, float V0, float U1, float V1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -615,7 +615,7 @@ namespace BizHawk.Client.Common.Filters
|
||||||
var size = FindInput().SurfaceFormat.Size;
|
var size = FindInput().SurfaceFormat.Size;
|
||||||
|
|
||||||
FilterProgram.GuiRenderer.Begin(size.Width, size.Height);
|
FilterProgram.GuiRenderer.Begin(size.Width, size.Height);
|
||||||
var scale = (int)Math.Round(FilterProgram.ControlDpi / 96.0f);
|
var scale = FilterProgram.ControlDpi / 96.0F;
|
||||||
var blitter = new OSDBlitter(_font, FilterProgram.GuiRenderer, new(0, 0, size.Width, size.Height), scale);
|
var blitter = new OSDBlitter(_font, FilterProgram.GuiRenderer, new(0, 0, size.Width, size.Height), scale);
|
||||||
FilterProgram.GuiRenderer.EnableBlending();
|
FilterProgram.GuiRenderer.EnableBlending();
|
||||||
_manager.DrawScreenInfo(blitter);
|
_manager.DrawScreenInfo(blitter);
|
||||||
|
@ -628,7 +628,7 @@ namespace BizHawk.Client.Common.Filters
|
||||||
private readonly StringRenderer _font;
|
private readonly StringRenderer _font;
|
||||||
private readonly IGuiRenderer _renderer;
|
private readonly IGuiRenderer _renderer;
|
||||||
|
|
||||||
public OSDBlitter(StringRenderer font, IGuiRenderer renderer, Rectangle clipBounds, int scale)
|
public OSDBlitter(StringRenderer font, IGuiRenderer renderer, Rectangle clipBounds, float scale)
|
||||||
{
|
{
|
||||||
_font = font;
|
_font = font;
|
||||||
_renderer = renderer;
|
_renderer = renderer;
|
||||||
|
@ -648,7 +648,7 @@ namespace BizHawk.Client.Common.Filters
|
||||||
|
|
||||||
public Rectangle ClipBounds { get; }
|
public Rectangle ClipBounds { get; }
|
||||||
|
|
||||||
public int Scale { get; }
|
public float Scale { get; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,6 @@ namespace BizHawk.Client.Common
|
||||||
|
|
||||||
Rectangle ClipBounds { get; }
|
Rectangle ClipBounds { get; }
|
||||||
|
|
||||||
public int Scale { get; }
|
public float Scale { get; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -141,7 +141,7 @@ namespace BizHawk.Client.Common
|
||||||
var line = 1;
|
var line = 1;
|
||||||
for (var i = _messages.Count - 1; i >= 0; i--, line++)
|
for (var i = _messages.Count - 1; i >= 0; i--, line++)
|
||||||
{
|
{
|
||||||
var yOffset = (line - 1) * 18 * g.Scale;
|
var yOffset = (int)Math.Round((line - 1) * 18 * g.Scale);
|
||||||
if (!_config.Messages.Anchor.IsTop())
|
if (!_config.Messages.Anchor.IsTop())
|
||||||
{
|
{
|
||||||
yOffset = 0 - yOffset;
|
yOffset = 0 - yOffset;
|
||||||
|
@ -355,4 +355,4 @@ namespace BizHawk.Client.Common
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue