Kaynağa Gözat

metal: wip: allow getting/setting developerHUDProperies

Evan Husted 1 yıl önce
ebeveyn
işleme
c73b5bdf46

+ 10 - 1
src/Ryujinx.Graphics.Metal.SharpMetalExtensions/CAMetalLayerExtensions.cs

@@ -6,16 +6,25 @@ using System.Runtime.Versioning;
 
 namespace Ryujinx.Graphics.Metal.SharpMetalExtensions
 {
-    [SupportedOSPlatform("OSX")]
+    [SupportedOSPlatform("macOS")]
     public static class CAMetalLayerExtensions
     {
         private static readonly Selector sel_displaySyncEnabled = "displaySyncEnabled";
         private static readonly Selector sel_setDisplaySyncEnabled = "setDisplaySyncEnabled:";
         
+        private static readonly Selector sel_developerHUDProperties = "developerHUDProperties";
+        private static readonly Selector sel_setDeveloperHUDProperties = "setDeveloperHUDProperties:";
+        
         public static bool IsDisplaySyncEnabled(this CAMetalLayer metalLayer) 
             => ObjectiveCRuntime.bool_objc_msgSend(metalLayer.NativePtr, sel_displaySyncEnabled);
 
         public static void SetDisplaySyncEnabled(this CAMetalLayer metalLayer, bool enabled) 
             => ObjectiveCRuntime.objc_msgSend(metalLayer.NativePtr, sel_setDisplaySyncEnabled, enabled);
+
+        public static nint GetDeveloperHudProperties(this CAMetalLayer metalLayer)
+            => ObjectiveCRuntime.IntPtr_objc_msgSend(metalLayer.NativePtr, sel_developerHUDProperties);
+
+        public static void SetDeveloperHudProperties(this CAMetalLayer metalLayer, nint dictionaryPointer) 
+            => ObjectiveCRuntime.objc_msgSend(metalLayer.NativePtr, sel_setDisplaySyncEnabled, dictionaryPointer);
     }
 }