diff --git a/BizHawk.MultiClient/RenderPanel.cs b/BizHawk.MultiClient/RenderPanel.cs index fce914b46c..4d5021cc2a 100644 --- a/BizHawk.MultiClient/RenderPanel.cs +++ b/BizHawk.MultiClient/RenderPanel.cs @@ -111,6 +111,8 @@ namespace BizHawk.MultiClient void Render(IVideoProvider video); bool Resized { get; set; } void AddMessage(string msg); + void AddGUIText(string msg, int x, int y); + void ClearGUIText(); string FPS { get; set; } string MT { get; set; } } @@ -142,6 +144,8 @@ namespace BizHawk.MultiClient } RetainedViewportPanel backingControl; public void AddMessage(string msg) { } + public void AddGUIText(string msg, int x, int y) { } + public void ClearGUIText() { } } @@ -466,12 +470,23 @@ namespace BizHawk.MultiClient } private List messages = new List(5); + private List GUITextList = new List(); public void AddMessage(string message) { messages.Add(new UIMessage { Message = message, ExpireAt = DateTime.Now + TimeSpan.FromSeconds(2) }); } + public void AddGUIText(string message, int x, int y) + { + GUITextList.Add(new UIDisplay { Message = message, X = x, Y = y }); + } + + public void ClearGUIText() + { + GUITextList.Clear(); + } + private void DrawMessages() { messages.RemoveAll(m => DateTime.Now > m.ExpireAt); @@ -484,6 +499,13 @@ namespace BizHawk.MultiClient MessageFont.DrawString(null, messages[i].Message, x + 2, y + 2, Color.Black); MessageFont.DrawString(null, messages[i].Message, x, y, Color.FromArgb(Global.Config.MessagesColor)); } + for (int x = 0; x < GUITextList.Count; x++) + { + MessageFont.DrawString(null, GUITextList[x].Message, + GUITextList[x].X + 2, GUITextList[x].Y + 2, Color.Black); + MessageFont.DrawString(null, GUITextList[x].Message, + GUITextList[x].X, GUITextList[x].Y, Color.FromArgb(Global.Config.MessagesColor)); + } } private bool disposed; @@ -523,4 +545,12 @@ namespace BizHawk.MultiClient public string Message; public DateTime ExpireAt; } + + class UIDisplay + { + public string Message; + public DateTime ExpireAt; + public int X; + public int Y; + } } \ No newline at end of file