From 8a8cd49af2f06ec3e7106f689974078999de1a42 Mon Sep 17 00:00:00 2001 From: HookedBehemoth Date: Wed, 12 Feb 2020 18:59:37 +0100 Subject: [PATCH] caps:a remove OverlayThumbnailData --- nx/include/switch/services/caps.h | 6 ------ nx/include/switch/services/capsa.h | 10 ++++++---- nx/source/services/capsa.c | 21 +++++++++++++++------ 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/nx/include/switch/services/caps.h b/nx/include/switch/services/caps.h index 67d5341e..da2ad48a 100644 --- a/nx/include/switch/services/caps.h +++ b/nx/include/switch/services/caps.h @@ -164,12 +164,6 @@ typedef struct { CapsAlbumContentsUsage usages[16]; ///< \ref CapsAlbumContentsUsage } CapsAlbumUsage16; -/// OverlayThumbnailData -typedef struct { - CapsAlbumFileId file_id; ///< \ref CapsAlbumFileId - u64 size; ///< Size. -} CapsOverlayThumbnailData; - /// UserIdList typedef struct { AccountUid uids[ACC_USER_LIST_SIZE]; ///< \ref AccountUid diff --git a/nx/include/switch/services/capsa.h b/nx/include/switch/services/capsa.h index 219d6e2d..d341dd2d 100644 --- a/nx/include/switch/services/capsa.h +++ b/nx/include/switch/services/capsa.h @@ -223,20 +223,22 @@ Result capsaGetAlbumFileListEx0(CapsAlbumStorage storage, u8 flags, u64 *out, Ca /** * @brief Returns the image from the last shown ScreenShot Overlay. - * @param[out] data \ref CapsOverlayThumbnailData + * @param[out] file_id \ref CapsAlbumFileId + * @param[out] out_size Size of the thumbnail image. Always 0x5100. * @param[out] image RGBA8 image output buffer. * @param[in] image_size Image buffer size, should be at least large enough for RGBA8 96×54. */ -Result capsaGetLastOverlayScreenShotThumbnail(CapsOverlayThumbnailData *data, void* image, u64 image_size); +Result capsaGetLastOverlayScreenShotThumbnail(CapsAlbumFileId *file_id, u64 *out_size, void* image, u64 image_size); /** * @brief Returns the image from the last shown Movie Overlay. * @note Only available on [4.0.0+]. - * @param[out] data \ref CapsOverlayThumbnailData + * @param[out] file_id \ref CapsAlbumFileId + * @param[out] out_size Size of the thumbnail image. Always 0x5100. * @param[out] image RGBA8 image output buffer. * @param[in] image_size Image buffer size, should be at least large enough for RGBA8 96×54. */ -Result capsaGetLastOverlayMovieThumbnail(CapsOverlayThumbnailData *data, void* image, u64 image_size); +Result capsaGetLastOverlayMovieThumbnail(CapsAlbumFileId *file_id, u64 *out_size, void* image, u64 image_size); /** * @brief Gets the currently set autosaving storage. diff --git a/nx/source/services/capsa.c b/nx/source/services/capsa.c index 5e56ebf0..a7e50abf 100644 --- a/nx/source/services/capsa.c +++ b/nx/source/services/capsa.c @@ -255,21 +255,30 @@ Result capsaGetAlbumFileListEx0(CapsAlbumStorage storage, u8 flags, u64 *out, Ca ); } -Result _capsaGetLastOverlayThumbnail(CapsOverlayThumbnailData *data, void* image, u64 image_size, u32 cmd_id) { - return serviceDispatchOut(&g_capsaSrv, cmd_id, *data, +Result _capsaGetLastOverlayThumbnail(CapsAlbumFileId *file_id, u64 *out_size, void* image, u64 image_size, u32 cmd_id) { + struct { + CapsAlbumFileId file_id; + u64 size; + } out; + Result rc = serviceDispatchOut(&g_capsaSrv, cmd_id, out, .buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_Out, }, .buffers = { { image, image_size }, }, ); + if (R_SUCCEEDED(rc)) { + if (file_id) *file_id = out.file_id; + if (out_size) *out_size = out.size; + } + return rc; } -Result capsaGetLastOverlayScreenShotThumbnail(CapsOverlayThumbnailData *data, void* image, u64 image_size) { - return _capsaGetLastOverlayThumbnail(data, image, image_size, 301); +Result capsaGetLastOverlayScreenShotThumbnail(CapsAlbumFileId *file_id, u64 *out_size, void* image, u64 image_size) { + return _capsaGetLastOverlayThumbnail(file_id, out_size, image, image_size, 301); } -Result capsaGetLastOverlayMovieThumbnail(CapsOverlayThumbnailData *data, void* image, u64 image_size) { +Result capsaGetLastOverlayMovieThumbnail(CapsAlbumFileId *file_id, u64 *out_size, void* image, u64 image_size) { if (hosversionBefore(4,0,0)) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer); - return _capsaGetLastOverlayThumbnail(data, image, image_size, 302); + return _capsaGetLastOverlayThumbnail(file_id, out_size, image, image_size, 302); } Result capsaGetAutoSavingStorage(CapsAlbumStorage *storage) {