From 6ea714ac315dab6e009db64f08b27b4051846c8c Mon Sep 17 00:00:00 2001 From: YoshiRulz Date: Sat, 23 Apr 2022 13:20:14 +1000 Subject: [PATCH] Move `DispMethodEnum` to `Bizware.BizwareGL` --- src/BizHawk.Bizware.BizwareGL/EDispMethod.cs | 9 +++++++++ src/BizHawk.Bizware.BizwareGL/IGL.cs | 3 +++ src/BizHawk.Bizware.BizwareGL/IGL_GdiPlus.cs | 2 ++ src/BizHawk.Bizware.DirectX/IGL_SlimDX9.cs | 2 ++ src/BizHawk.Bizware.OpenTK3/IGL_TK.cs | 2 ++ src/BizHawk.Client.Common/config/Config.cs | 2 ++ src/BizHawk.Client.Common/config/ConfigEnums.cs | 5 ----- .../DisplayManager/DisplayManager.cs | 2 +- .../GraphicsImplementations/IGLExtensions.cs | 8 -------- 9 files changed, 21 insertions(+), 14 deletions(-) create mode 100644 src/BizHawk.Bizware.BizwareGL/EDispMethod.cs diff --git a/src/BizHawk.Bizware.BizwareGL/EDispMethod.cs b/src/BizHawk.Bizware.BizwareGL/EDispMethod.cs new file mode 100644 index 0000000000..a6336b21c3 --- /dev/null +++ b/src/BizHawk.Bizware.BizwareGL/EDispMethod.cs @@ -0,0 +1,9 @@ +namespace BizHawk.Bizware.BizwareGL +{ + public enum EDispMethod + { + OpenGL = 0, + GdiPlus = 1, + SlimDX9 = 2, + } +} diff --git a/src/BizHawk.Bizware.BizwareGL/IGL.cs b/src/BizHawk.Bizware.BizwareGL/IGL.cs index c47ea82e63..6b6f57d324 100644 --- a/src/BizHawk.Bizware.BizwareGL/IGL.cs +++ b/src/BizHawk.Bizware.BizwareGL/IGL.cs @@ -14,6 +14,9 @@ namespace BizHawk.Bizware.BizwareGL /// public interface IGL : IDisposable { + /// HACK + EDispMethod DispMethodEnum { get; } + /// /// Clears the specified buffer parts /// diff --git a/src/BizHawk.Bizware.BizwareGL/IGL_GdiPlus.cs b/src/BizHawk.Bizware.BizwareGL/IGL_GdiPlus.cs index 0e5b7af135..c0491a837e 100644 --- a/src/BizHawk.Bizware.BizwareGL/IGL_GdiPlus.cs +++ b/src/BizHawk.Bizware.BizwareGL/IGL_GdiPlus.cs @@ -10,6 +10,8 @@ namespace BizHawk.Bizware.BizwareGL { public class IGL_GdiPlus : IGL { + public EDispMethod DispMethodEnum => EDispMethod.GdiPlus; + // rendering state private RenderTarget _currRenderTarget; diff --git a/src/BizHawk.Bizware.DirectX/IGL_SlimDX9.cs b/src/BizHawk.Bizware.DirectX/IGL_SlimDX9.cs index 518192fee5..e19864843c 100644 --- a/src/BizHawk.Bizware.DirectX/IGL_SlimDX9.cs +++ b/src/BizHawk.Bizware.DirectX/IGL_SlimDX9.cs @@ -20,6 +20,8 @@ namespace BizHawk.Bizware.DirectX { public sealed class IGL_SlimDX9 : IGL { + public EDispMethod DispMethodEnum => EDispMethod.SlimDX9; + private const int D3DERR_DEVICELOST = -2005530520; private const int D3DERR_DEVICENOTRESET = -2005530519; diff --git a/src/BizHawk.Bizware.OpenTK3/IGL_TK.cs b/src/BizHawk.Bizware.OpenTK3/IGL_TK.cs index c1e73666c0..ad7844d962 100644 --- a/src/BizHawk.Bizware.OpenTK3/IGL_TK.cs +++ b/src/BizHawk.Bizware.OpenTK3/IGL_TK.cs @@ -41,6 +41,8 @@ namespace BizHawk.Bizware.OpenTK3 /// public class IGL_TK : IGL { + public EDispMethod DispMethodEnum => EDispMethod.OpenGL; + //rendering state private Pipeline _currPipeline; private RenderTarget _currRenderTarget; diff --git a/src/BizHawk.Client.Common/config/Config.cs b/src/BizHawk.Client.Common/config/Config.cs index 412303fb61..59b11c934d 100644 --- a/src/BizHawk.Client.Common/config/Config.cs +++ b/src/BizHawk.Client.Common/config/Config.cs @@ -1,6 +1,8 @@ using System; using System.Collections.Generic; using System.IO; + +using BizHawk.Bizware.BizwareGL; using BizHawk.Common; using BizHawk.Common.PathExtensions; using BizHawk.Emulation.Common; diff --git a/src/BizHawk.Client.Common/config/ConfigEnums.cs b/src/BizHawk.Client.Common/config/ConfigEnums.cs index d3246350b2..24284f873b 100644 --- a/src/BizHawk.Client.Common/config/ConfigEnums.cs +++ b/src/BizHawk.Client.Common/config/ConfigEnums.cs @@ -7,11 +7,6 @@ NLuaPlusKopiLua } - public enum EDispMethod - { - OpenGL, GdiPlus, SlimDX9 - } - public enum ESoundOutputMethod { DirectSound, XAudio2, OpenAL, Dummy diff --git a/src/BizHawk.Client.EmuHawk/DisplayManager/DisplayManager.cs b/src/BizHawk.Client.EmuHawk/DisplayManager/DisplayManager.cs index 59784a8c6a..ef5d066ee5 100644 --- a/src/BizHawk.Client.EmuHawk/DisplayManager/DisplayManager.cs +++ b/src/BizHawk.Client.EmuHawk/DisplayManager/DisplayManager.cs @@ -33,7 +33,7 @@ namespace BizHawk.Client.EmuHawk IGL gl, PresentationPanel presentationPanel, Func getIsSecondaryThrottlingDisabled) - : base(config, emulator, inputManager, movieSession, gl.DispMethodEnum(), gl, gl.CreateRenderer()) + : base(config, emulator, inputManager, movieSession, gl.DispMethodEnum, gl, gl.CreateRenderer()) { _presentationPanel = presentationPanel; _getIsSecondaryThrottlingDisabled = getIsSecondaryThrottlingDisabled; diff --git a/src/BizHawk.Client.EmuHawk/GraphicsImplementations/IGLExtensions.cs b/src/BizHawk.Client.EmuHawk/GraphicsImplementations/IGLExtensions.cs index f04b1179f8..91637cd714 100644 --- a/src/BizHawk.Client.EmuHawk/GraphicsImplementations/IGLExtensions.cs +++ b/src/BizHawk.Client.EmuHawk/GraphicsImplementations/IGLExtensions.cs @@ -16,13 +16,5 @@ namespace BizHawk.Client.EmuHawk IGL_TK => new GuiRenderer(gl), _ => throw new NotSupportedException() }; - - public static EDispMethod DispMethodEnum(this IGL gl) => gl switch - { - IGL_GdiPlus => EDispMethod.GdiPlus, - IGL_SlimDX9 => EDispMethod.SlimDX9, - IGL_TK => EDispMethod.OpenGL, - _ => throw new ArgumentException("unknown GL impl", nameof(gl)) - }; } }