aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Horizon/Sdk/Settings/System/TvSettings.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Horizon/Sdk/Settings/System/TvSettings.cs')
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/TvSettings.cs59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/TvSettings.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/TvSettings.cs
new file mode 100644
index 00000000..5ee0b85d
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/TvSettings.cs
@@ -0,0 +1,59 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [Flags]
+ enum TvFlag : uint
+ {
+ Allows4k = 1 << 0,
+ Allows3d = 1 << 1,
+ AllowsCec = 1 << 2,
+ PreventsScreenBurnIn = 1 << 3,
+ }
+
+ enum TvResolution : uint
+ {
+ Auto,
+ At1080p,
+ At720p,
+ At480p,
+ }
+
+ enum HdmiContentType : uint
+ {
+ None,
+ Graphics,
+ Cinema,
+ Photo,
+ Game,
+ }
+
+ enum RgbRange : uint
+ {
+ Auto,
+ Full,
+ Limited,
+ }
+
+ enum CmuMode : uint
+ {
+ None,
+ ColorInvert,
+ HighContrast,
+ GrayScale,
+ }
+
+ [StructLayout(LayoutKind.Sequential, Size = 0x20, Pack = 0x4)]
+ struct TvSettings
+ {
+ public TvFlag Flags;
+ public TvResolution TvResolution;
+ public HdmiContentType HdmiContentType;
+ public RgbRange RgbRange;
+ public CmuMode CmuMode;
+ public float TvUnderscan;
+ public float TvGamma;
+ public float ContrastRatio;
+ }
+}