diff --git a/src/BizHawk.Client.Common/Api/Classes/GuiApi.cs b/src/BizHawk.Client.Common/Api/Classes/GuiApi.cs index 2fbcc4bb62..41ab85b3c8 100644 --- a/src/BizHawk.Client.Common/Api/Classes/GuiApi.cs +++ b/src/BizHawk.Client.Common/Api/Classes/GuiApi.cs @@ -65,6 +65,19 @@ namespace BizHawk.Client.Common { } + public void WithSurface(DisplaySurfaceID surfaceID, Action drawingCallsFunc) + { + _usingSurfaceID = surfaceID; + try + { + drawingCallsFunc(this); + } + finally + { + _usingSurfaceID = null; + } + } + public void WithSurface(DisplaySurfaceID surfaceID, Action drawingCallsFunc) { _usingSurfaceID = surfaceID; diff --git a/src/BizHawk.Client.Common/Api/Interfaces/IGuiApi.cs b/src/BizHawk.Client.Common/Api/Interfaces/IGuiApi.cs index b9402d41c8..a2c3311037 100644 --- a/src/BizHawk.Client.Common/Api/Interfaces/IGuiApi.cs +++ b/src/BizHawk.Client.Common/Api/Interfaces/IGuiApi.cs @@ -12,6 +12,9 @@ namespace BizHawk.Client.Common [Obsolete("No longer supported, no-op.")] void SetAttributes(ImageAttributes a); + void WithSurface(DisplaySurfaceID surfaceID, Action drawingCallsFunc); + + [Obsolete("use the other overload e.g. `APIs.Gui.WithSurface(..., gui => { gui.DrawLine(...); });`")] void WithSurface(DisplaySurfaceID surfaceID, Action drawingCallsFunc); [Obsolete("No longer supported, no-op.")]