aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Ui.Common/Helper/ObjectiveC.cs
diff options
context:
space:
mode:
authorTSRBerry <20988865+TSRBerry@users.noreply.github.com>2023-06-29 02:39:22 +0200
committerGitHub <noreply@github.com>2023-06-29 02:39:22 +0200
commit6e28a4dd13df0ab866e6a178086abe36ca4a2b25 (patch)
tree68e6b5f9e62212216cab071e5b9455550f2b971b /src/Ryujinx.Ui.Common/Helper/ObjectiveC.cs
parent7c989f88bdab65dfa7783e824a180220ba829bd0 (diff)
[Ryujinx.Ui.Common] Address dotnet-format issues (#5392)1.1.942
* dotnet format style --severity info Some changes were manually reverted. * dotnet format analyzers --serverity info Some changes have been minimally adapted. * Silence dotnet format IDE0060 warnings * Address dotnet format CA1401 warnings * dotnet-format fixes after rebase * Address most dotnet format whitespace warnings * Apply dotnet format whitespace formatting A few of them have been manually reverted and the corresponding warning was silenced * Another rebase, another dotnet format run * Run dotnet format style after rebase * Add comments to disabled warnings * Remove a few unused parameters * Simplify properties and array initialization, Use const when possible, Remove trailing commas * Address IDE0251 warnings * Revert "Simplify properties and array initialization, Use const when possible, Remove trailing commas" This reverts commit 9462e4136c0a2100dc28b20cf9542e06790aa67e. * dotnet format whitespace after rebase * Small optimizations * Remove alignment * Apply formatting * Fix build issues * Final pass for dotnet format * Add trailing commas Co-authored-by: Ac_K <Acoustik666@gmail.com> * Add trailing commas --------- Co-authored-by: Ac_K <Acoustik666@gmail.com>
Diffstat (limited to 'src/Ryujinx.Ui.Common/Helper/ObjectiveC.cs')
-rw-r--r--src/Ryujinx.Ui.Common/Helper/ObjectiveC.cs97
1 files changed, 80 insertions, 17 deletions
diff --git a/src/Ryujinx.Ui.Common/Helper/ObjectiveC.cs b/src/Ryujinx.Ui.Common/Helper/ObjectiveC.cs
index 234f7597..af8723e2 100644
--- a/src/Ryujinx.Ui.Common/Helper/ObjectiveC.cs
+++ b/src/Ryujinx.Ui.Common/Helper/ObjectiveC.cs
@@ -1,8 +1,6 @@
using System;
-using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
-using System.Text;
namespace Ryujinx.Ui.Common.Helper
{
@@ -12,44 +10,109 @@ namespace Ryujinx.Ui.Common.Helper
private const string ObjCRuntime = "/usr/lib/libobjc.A.dylib";
[LibraryImport(ObjCRuntime, StringMarshalling = StringMarshalling.Utf8)]
- private static unsafe partial IntPtr sel_getUid(string name);
+ private static partial IntPtr sel_getUid(string name);
[LibraryImport(ObjCRuntime, StringMarshalling = StringMarshalling.Utf8)]
- public static partial IntPtr objc_getClass(string name);
+ private static partial IntPtr objc_getClass(string name);
[LibraryImport(ObjCRuntime)]
- public static partial void objc_msgSend(IntPtr receiver, Selector selector);
+ private static partial void objc_msgSend(IntPtr receiver, Selector selector);
[LibraryImport(ObjCRuntime)]
- public static partial void objc_msgSend(IntPtr receiver, Selector selector, byte value);
+ private static partial void objc_msgSend(IntPtr receiver, Selector selector, byte value);
[LibraryImport(ObjCRuntime)]
- public static partial void objc_msgSend(IntPtr receiver, Selector selector, IntPtr value);
+ private static partial void objc_msgSend(IntPtr receiver, Selector selector, IntPtr value);
[LibraryImport(ObjCRuntime)]
- public static partial void objc_msgSend(IntPtr receiver, Selector selector, NSRect point);
+ private static partial void objc_msgSend(IntPtr receiver, Selector selector, NSRect point);
[LibraryImport(ObjCRuntime)]
- public static partial void objc_msgSend(IntPtr receiver, Selector selector, double value);
+ private static partial void objc_msgSend(IntPtr receiver, Selector selector, double value);
[LibraryImport(ObjCRuntime, EntryPoint = "objc_msgSend")]
- public static partial IntPtr IntPtr_objc_msgSend(IntPtr receiver, Selector selector);
+ private static partial IntPtr IntPtr_objc_msgSend(IntPtr receiver, Selector selector);
[LibraryImport(ObjCRuntime, EntryPoint = "objc_msgSend")]
- public static partial IntPtr IntPtr_objc_msgSend(IntPtr receiver, Selector selector, IntPtr param);
+ private static partial IntPtr IntPtr_objc_msgSend(IntPtr receiver, Selector selector, IntPtr param);
[LibraryImport(ObjCRuntime, EntryPoint = "objc_msgSend", StringMarshalling = StringMarshalling.Utf8)]
- public static partial IntPtr IntPtr_objc_msgSend(IntPtr receiver, Selector selector, string param);
+ private static partial IntPtr IntPtr_objc_msgSend(IntPtr receiver, Selector selector, string param);
[LibraryImport(ObjCRuntime, EntryPoint = "objc_msgSend")]
[return: MarshalAs(UnmanagedType.Bool)]
- public static partial bool bool_objc_msgSend(IntPtr receiver, Selector selector, IntPtr param);
+ private static partial bool bool_objc_msgSend(IntPtr receiver, Selector selector, IntPtr param);
- public struct Selector
+ public readonly struct Object
+ {
+ public readonly IntPtr ObjPtr;
+
+ private Object(IntPtr pointer)
+ {
+ ObjPtr = pointer;
+ }
+
+ public Object(string name)
+ {
+ ObjPtr = objc_getClass(name);
+ }
+
+ public void SendMessage(Selector selector)
+ {
+ objc_msgSend(ObjPtr, selector);
+ }
+
+ public void SendMessage(Selector selector, byte value)
+ {
+ objc_msgSend(ObjPtr, selector, value);
+ }
+
+ public void SendMessage(Selector selector, Object obj)
+ {
+ objc_msgSend(ObjPtr, selector, obj.ObjPtr);
+ }
+
+ public void SendMessage(Selector selector, NSRect point)
+ {
+ objc_msgSend(ObjPtr, selector, point);
+ }
+
+ public void SendMessage(Selector selector, double value)
+ {
+ objc_msgSend(ObjPtr, selector, value);
+ }
+
+ public Object GetFromMessage(Selector selector)
+ {
+ return new Object(IntPtr_objc_msgSend(ObjPtr, selector));
+ }
+
+ public Object GetFromMessage(Selector selector, Object obj)
+ {
+ return new Object(IntPtr_objc_msgSend(ObjPtr, selector, obj.ObjPtr));
+ }
+
+ public Object GetFromMessage(Selector selector, NSString nsString)
+ {
+ return new Object(IntPtr_objc_msgSend(ObjPtr, selector, nsString.StrPtr));
+ }
+
+ public Object GetFromMessage(Selector selector, string param)
+ {
+ return new Object(IntPtr_objc_msgSend(ObjPtr, selector, param));
+ }
+
+ public bool GetBoolFromMessage(Selector selector, Object obj)
+ {
+ return bool_objc_msgSend(ObjPtr, selector, obj.ObjPtr);
+ }
+ }
+
+ public readonly struct Selector
{
public readonly IntPtr SelPtr;
- public unsafe Selector(string name)
+ private Selector(string name)
{
SelPtr = sel_getUid(name);
}
@@ -57,7 +120,7 @@ namespace Ryujinx.Ui.Common.Helper
public static implicit operator Selector(string value) => new(value);
}
- public struct NSString
+ public readonly struct NSString
{
public readonly IntPtr StrPtr;
@@ -94,4 +157,4 @@ namespace Ryujinx.Ui.Common.Helper
}
}
}
-} \ No newline at end of file
+}