diff --git a/src/Ryujinx.Horizon/Am/Ipc/Controllers/DisplayController.cs b/src/Ryujinx.Horizon/Am/Ipc/Controllers/DisplayController.cs new file mode 100644 index 000000000..b829854ae --- /dev/null +++ b/src/Ryujinx.Horizon/Am/Ipc/Controllers/DisplayController.cs @@ -0,0 +1,177 @@ +using Ryujinx.Horizon.Common; +using Ryujinx.Horizon.Sdk.Am.Controllers; +using Ryujinx.Horizon.Sdk.Sf; + +namespace Ryujinx.Horizon.Am.Ipc.Controllers +{ + partial class DisplayController : IDisplayController + { + [CmifCommand(0)] + public Result GetLastForegroundCaptureImage() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(1)] + public Result UpdateLastForegroundCaptureImage() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(2)] + public Result GetLastApplicationCaptureImage() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(3)] + public Result GetCallerAppletCaptureImage() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(4)] + public Result UpdateCallerAppletCaptureImage() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(5)] + public Result GetLastForegroundCaptureImageEx() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(6)] + public Result GetLastApplicationCaptureImageEx() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(7)] + public Result GetCallerAppletCaptureImageEx() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(8)] + public Result TakeScreenShotOfOwnLayer() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(9)] + public Result CopyBetweenCaptureBuffers() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(10)] + public Result AcquireLastApplicationCaptureBuffer() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(11)] + public Result ReleaseLastApplicationCaptureBuffer() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(12)] + public Result AcquireLastForegroundCaptureBuffer() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(13)] + public Result ReleaseLastForegroundCaptureBuffer() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(14)] + public Result AcquireCallerAppletCaptureBuffer() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(15)] + public Result ReleaseCallerAppletCaptureBuffer() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(16)] + public Result AcquireLastApplicationCaptureBufferEx() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(17)] + public Result AcquireLastForegroundCaptureBufferEx() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(18)] + public Result AcquireCallerAppletCaptureBufferEx() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(20)] + public Result ClearCaptureBuffer() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(21)] + public Result ClearAppletTransitionBuffer() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(22)] + public Result AcquireLastApplicationCaptureSharedBuffer() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(23)] + public Result ReleaseLastApplicationCaptureSharedBuffer() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(24)] + public Result AcquireLastForegroundCaptureSharedBuffer() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(25)] + public Result ReleaseLastForegroundCaptureSharedBuffer() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(26)] + public Result AcquireCallerAppletCaptureSharedBuffer() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(27)] + public Result ReleaseCallerAppletCaptureSharedBuffer() + { + throw new System.NotImplementedException(); + } + + [CmifCommand(28)] + public Result TakeScreenShotOfOwnLayerEx() + { + throw new System.NotImplementedException(); + } + } +} diff --git a/src/Ryujinx.Horizon/Am/Ipc/Proxies/ApplicationProxy.cs b/src/Ryujinx.Horizon/Am/Ipc/Proxies/ApplicationProxy.cs index 9f56243e6..f81a7bbda 100644 --- a/src/Ryujinx.Horizon/Am/Ipc/Proxies/ApplicationProxy.cs +++ b/src/Ryujinx.Horizon/Am/Ipc/Proxies/ApplicationProxy.cs @@ -42,9 +42,11 @@ namespace Ryujinx.Horizon.Am.Ipc.Proxies } [CmifCommand(4)] - public Result GetDisplayController() + public Result GetDisplayController(out IDisplayController displayController) { - throw new System.NotImplementedException(); + displayController = new DisplayController(); + + return Result.Success; } [CmifCommand(10)] diff --git a/src/Ryujinx.Horizon/Am/Ipc/Proxies/LibraryAppletProxy.cs b/src/Ryujinx.Horizon/Am/Ipc/Proxies/LibraryAppletProxy.cs index 239b71e29..194802504 100644 --- a/src/Ryujinx.Horizon/Am/Ipc/Proxies/LibraryAppletProxy.cs +++ b/src/Ryujinx.Horizon/Am/Ipc/Proxies/LibraryAppletProxy.cs @@ -42,9 +42,11 @@ namespace Ryujinx.Horizon.Am.Ipc.Proxies } [CmifCommand(4)] - public Result GetDisplayController() + public Result GetDisplayController(out IDisplayController displayController) { - throw new System.NotImplementedException(); + displayController = new DisplayController(); + + return Result.Success; } [CmifCommand(10)] diff --git a/src/Ryujinx.Horizon/Am/Ipc/Proxies/OverlayAppletProxy.cs b/src/Ryujinx.Horizon/Am/Ipc/Proxies/OverlayAppletProxy.cs index 50ade98d0..5f823f6d8 100644 --- a/src/Ryujinx.Horizon/Am/Ipc/Proxies/OverlayAppletProxy.cs +++ b/src/Ryujinx.Horizon/Am/Ipc/Proxies/OverlayAppletProxy.cs @@ -42,9 +42,11 @@ namespace Ryujinx.Horizon.Am.Ipc.Proxies } [CmifCommand(4)] - public Result GetDisplayController() + public Result GetDisplayController(out IDisplayController displayController) { - throw new System.NotImplementedException(); + displayController = new DisplayController(); + + return Result.Success; } [CmifCommand(10)] diff --git a/src/Ryujinx.Horizon/Am/Ipc/Proxies/SystemAppletProxy.cs b/src/Ryujinx.Horizon/Am/Ipc/Proxies/SystemAppletProxy.cs index 7e2ecc73a..fea51af96 100644 --- a/src/Ryujinx.Horizon/Am/Ipc/Proxies/SystemAppletProxy.cs +++ b/src/Ryujinx.Horizon/Am/Ipc/Proxies/SystemAppletProxy.cs @@ -42,9 +42,11 @@ namespace Ryujinx.Horizon.Am.Ipc.Proxies } [CmifCommand(4)] - public Result GetDisplayController() + public Result GetDisplayController(out IDisplayController displayController) { - throw new System.NotImplementedException(); + displayController = new DisplayController(); + + return Result.Success; } [CmifCommand(10)] diff --git a/src/Ryujinx.Horizon/Sdk/Am/Controllers/IDisplayController.cs b/src/Ryujinx.Horizon/Sdk/Am/Controllers/IDisplayController.cs new file mode 100644 index 000000000..8c7d94a20 --- /dev/null +++ b/src/Ryujinx.Horizon/Sdk/Am/Controllers/IDisplayController.cs @@ -0,0 +1,36 @@ +using Ryujinx.Horizon.Common; + +namespace Ryujinx.Horizon.Sdk.Am.Controllers +{ + public interface IDisplayController + { + Result GetLastForegroundCaptureImage(); + Result UpdateLastForegroundCaptureImage(); + Result GetLastApplicationCaptureImage(); + Result GetCallerAppletCaptureImage(); + Result UpdateCallerAppletCaptureImage(); + Result GetLastForegroundCaptureImageEx(); + Result GetLastApplicationCaptureImageEx(); + Result GetCallerAppletCaptureImageEx(); + Result TakeScreenShotOfOwnLayer(); + Result CopyBetweenCaptureBuffers(); + Result AcquireLastApplicationCaptureBuffer(); + Result ReleaseLastApplicationCaptureBuffer(); + Result AcquireLastForegroundCaptureBuffer(); + Result ReleaseLastForegroundCaptureBuffer(); + Result AcquireCallerAppletCaptureBuffer(); + Result ReleaseCallerAppletCaptureBuffer(); + Result AcquireLastApplicationCaptureBufferEx(); + Result AcquireLastForegroundCaptureBufferEx(); + Result AcquireCallerAppletCaptureBufferEx(); + Result ClearCaptureBuffer(); + Result ClearAppletTransitionBuffer(); + Result AcquireLastApplicationCaptureSharedBuffer(); + Result ReleaseLastApplicationCaptureSharedBuffer(); + Result AcquireLastForegroundCaptureSharedBuffer(); + Result ReleaseLastForegroundCaptureSharedBuffer(); + Result AcquireCallerAppletCaptureSharedBuffer(); + Result ReleaseCallerAppletCaptureSharedBuffer(); + Result TakeScreenShotOfOwnLayerEx(); + } +} diff --git a/src/Ryujinx.Horizon/Sdk/Am/Proxies/IApplicationProxy.cs b/src/Ryujinx.Horizon/Sdk/Am/Proxies/IApplicationProxy.cs index bb9391420..20ad7c2f4 100644 --- a/src/Ryujinx.Horizon/Sdk/Am/Proxies/IApplicationProxy.cs +++ b/src/Ryujinx.Horizon/Sdk/Am/Proxies/IApplicationProxy.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Horizon.Sdk.Am.Proxies Result GetSelfController(out ISelfController selfController); Result GetWindowController(out IWindowController windowController); Result GetAudioController(out IAudioController audioController); - Result GetDisplayController(); + Result GetDisplayController(out IDisplayController displayController); Result GetProcessWindingController(); Result GetLibraryAppletCreator(); Result GetApplicationFunctions(); diff --git a/src/Ryujinx.Horizon/Sdk/Am/Proxies/ILibraryAppletProxy.cs b/src/Ryujinx.Horizon/Sdk/Am/Proxies/ILibraryAppletProxy.cs index b7a374f6a..5ca620569 100644 --- a/src/Ryujinx.Horizon/Sdk/Am/Proxies/ILibraryAppletProxy.cs +++ b/src/Ryujinx.Horizon/Sdk/Am/Proxies/ILibraryAppletProxy.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Horizon.Sdk.Am.Proxies Result GetSelfController(out ISelfController selfController); Result GetWindowController(out IWindowController windowController); Result GetAudioController(out IAudioController audioController); - Result GetDisplayController(); + Result GetDisplayController(out IDisplayController displayController); Result GetProcessWindingController(); Result GetLibraryAppletCreator(); Result OpenLibraryAppletSelfAccessor(); diff --git a/src/Ryujinx.Horizon/Sdk/Am/Proxies/IOverlayAppletProxy.cs b/src/Ryujinx.Horizon/Sdk/Am/Proxies/IOverlayAppletProxy.cs index b30eed42a..5b46d1966 100644 --- a/src/Ryujinx.Horizon/Sdk/Am/Proxies/IOverlayAppletProxy.cs +++ b/src/Ryujinx.Horizon/Sdk/Am/Proxies/IOverlayAppletProxy.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Horizon.Sdk.Am.Proxies Result GetSelfController(out ISelfController selfController); Result GetWindowController(out IWindowController windowController); Result GetAudioController(out IAudioController audioController); - Result GetDisplayController(); + Result GetDisplayController(out IDisplayController displayController); Result GetProcessWindingController(); Result GetLibraryAppletCreator(); Result GetOverlayFunctions(); diff --git a/src/Ryujinx.Horizon/Sdk/Am/Proxies/ISystemAppletProxy.cs b/src/Ryujinx.Horizon/Sdk/Am/Proxies/ISystemAppletProxy.cs index 80c39ebed..5e2952959 100644 --- a/src/Ryujinx.Horizon/Sdk/Am/Proxies/ISystemAppletProxy.cs +++ b/src/Ryujinx.Horizon/Sdk/Am/Proxies/ISystemAppletProxy.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Horizon.Sdk.Am.Proxies Result GetSelfController(out ISelfController selfController); Result GetWindowController(out IWindowController windowController); Result GetAudioController(out IAudioController audioController); - Result GetDisplayController(); + Result GetDisplayController(out IDisplayController displayController); Result GetProcessWindingController(); Result GetLibraryAppletCreator(); Result GetHomeMenuFunctions();