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 0000000000..b829854aec --- /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 9f56243e6a..f81a7bbda3 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 239b71e298..1948025044 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 50ade98d06..5f823f6d81 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 7e2ecc73a4..fea51af961 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 0000000000..8c7d94a20a --- /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 bb93914202..20ad7c2f47 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 b7a374f6af..5ca620569b 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 b30eed42ad..5b46d19663 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 80c39ebed5..5e29529594 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();