diff --git a/BizHawk.Client.EmuHawk/Api/Libraries/GuiApi.cs b/BizHawk.Client.EmuHawk/Api/Libraries/GuiApi.cs index 47ffcdbe0f..3a173faae0 100644 --- a/BizHawk.Client.EmuHawk/Api/Libraries/GuiApi.cs +++ b/BizHawk.Client.EmuHawk/Api/Libraries/GuiApi.cs @@ -491,7 +491,9 @@ namespace BizHawk.Client.EmuHawk x -= Emulator.CoreComm.ScreenLogicalOffsetX; y -= Emulator.CoreComm.ScreenLogicalOffsetY; } - GlobalWin.OSD.AddGuiText(message, x, y, Color.Black, forecolor ?? Color.White, (MessagePosition.AnchorType)a); + + var pos = new MessagePosition{ X = x, Y = y, Anchor = (MessagePosition.AnchorType)a }; + GlobalWin.OSD.AddGuiText(message, pos, Color.Black, forecolor ?? Color.White); } public void Dispose() diff --git a/BizHawk.Client.EmuHawk/DisplayManager/OSDManager.cs b/BizHawk.Client.EmuHawk/DisplayManager/OSDManager.cs index d1d3be6fc1..2e091d5387 100644 --- a/BizHawk.Client.EmuHawk/DisplayManager/OSDManager.cs +++ b/BizHawk.Client.EmuHawk/DisplayManager/OSDManager.cs @@ -33,9 +33,7 @@ namespace BizHawk.Client.EmuHawk class UIDisplay { public string Message; - public int X; - public int Y; - public MessagePosition.AnchorType Anchor; + public MessagePosition Position; public Color ForeColor; public Color BackGround; } @@ -108,16 +106,14 @@ namespace BizHawk.Client.EmuHawk _messages.Add(new UIMessage { Message = message, ExpireAt = DateTime.Now + TimeSpan.FromSeconds(2) }); } - public void AddGuiText(string message, int x, int y, Color backGround, Color foreColor, MessagePosition.AnchorType anchor) + public void AddGuiText(string message, MessagePosition pos, Color backGround, Color foreColor) { _guiTextList.Add(new UIDisplay { Message = message, - X = x, - Y = y, + Position = pos, BackGround = backGround, - ForeColor = foreColor, - Anchor = anchor + ForeColor = foreColor }); } @@ -177,7 +173,7 @@ namespace BizHawk.Client.EmuHawk { try { - var point = GetCoordinates(g, new MessagePosition {X = text.X, Y = text.Y, Anchor = text.Anchor}, text.Message); + var point = GetCoordinates(g, text.Position, text.Message); g.DrawString(text.Message, MessageFont, text.ForeColor, point.X, point.Y); } catch (Exception) diff --git a/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.cs b/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.cs index 9529edab2f..1e572eabbf 100644 --- a/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.cs +++ b/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.cs @@ -229,6 +229,27 @@ namespace BizHawk.Client.EmuHawk { } + private void DisplayOnScreenWatches() + { + if (Global.Config.DisplayRamWatch) + { + for (var i = 0; i < _watches.Count; i++) + { + var frozen = !_watches[i].IsSeparator && Global.CheatList.IsActive(_watches[i].Domain, _watches[i].Address); + GlobalWin.OSD.AddGuiText( + _watches[i].ToDisplayString(), + new MessagePosition + { + X = Global.Config.RamWatches.X, + Y = Global.Config.RamWatches.Y + (i * 14), + Anchor = Global.Config.RamWatches.Anchor + }, + Color.Black, + frozen ? Color.Cyan : Color.White); + } + } + } + public void UpdateValues() { if (_paused) @@ -245,21 +266,7 @@ namespace BizHawk.Client.EmuHawk if (_watches.Any()) { _watches.UpdateValues(); - - if (Global.Config.DisplayRamWatch) - { - for (var i = 0; i < _watches.Count; i++) - { - var frozen = !_watches[i].IsSeparator && Global.CheatList.IsActive(_watches[i].Domain, _watches[i].Address); - GlobalWin.OSD.AddGuiText( - _watches[i].ToDisplayString(), - Global.Config.RamWatches.X, - Global.Config.RamWatches.Y + (i * 14), - Color.Black, - frozen ? Color.Cyan : Color.White, - 0); - } - } + DisplayOnScreenWatches(); if (!IsHandleCreated || IsDisposed) { @@ -285,21 +292,7 @@ namespace BizHawk.Client.EmuHawk if (_watches.Any()) { _watches.UpdateValues(); - - if (Global.Config.DisplayRamWatch) - { - for (var i = 0; i < _watches.Count; i++) - { - var frozen = !_watches[i].IsSeparator && Global.CheatList.IsActive(_watches[i].Domain, _watches[i].Address); - GlobalWin.OSD.AddGuiText( - _watches[i].ToDisplayString(), - Global.Config.RamWatches.X, - Global.Config.RamWatches.Y + (i * 14), - Color.Black, - frozen ? Color.Cyan : Color.White, - 0); - } - } + DisplayOnScreenWatches(); } }