diff options
| author | Dave Clark <[email protected]> | 2018-02-28 17:22:22 -0500 |
|---|---|---|
| committer | Dave Clark <[email protected]> | 2018-02-28 17:22:22 -0500 |
| commit | 25528fd230f5f4298c35123a833cdb112675808e (patch) | |
| tree | f5aca3f5ee5a7734df41e7b974a04c37ddff528e /samples/DX_APIUsage/GfeSDKHighlights.hpp | |
| parent | Push GfeSDK #173 (diff) | |
| download | gfesdk-25528fd230f5f4298c35123a833cdb112675808e.tar.xz gfesdk-25528fd230f5f4298c35123a833cdb112675808e.zip | |
Push SDK # 1.1.186
Documentation updates.
Diffstat (limited to 'samples/DX_APIUsage/GfeSDKHighlights.hpp')
| -rw-r--r-- | samples/DX_APIUsage/GfeSDKHighlights.hpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/samples/DX_APIUsage/GfeSDKHighlights.hpp b/samples/DX_APIUsage/GfeSDKHighlights.hpp new file mode 100644 index 0000000..98b9991 --- /dev/null +++ b/samples/DX_APIUsage/GfeSDKHighlights.hpp @@ -0,0 +1,61 @@ +/* Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved. +* +* NVIDIA CORPORATION and its licensors retain all intellectual property +* and proprietary rights in and to this software, related documentation +* and any modifications thereto. Any use, reproduction, disclosure or +* distribution of this software and related documentation without an express +* license agreement from NVIDIA CORPORATION is strictly prohibited. +*/ + +#pragma once + +#include <codecvt> +#include <locale> +#include <memory> + +#include <gfesdk/bindings/cpp/isdk_cpp_impl.h> +#include <gfesdk/bindings/cpp/highlights/ihighlights_cpp_impl.h> + +namespace Json +{ +class Value; +} + +class HighlightsWrapper +{ +public: + HighlightsWrapper(); + + void Init(char const* gameName, char const* defaultLocale, GfeSDK::NVGSDK_Highlight* highlights, size_t numHighlights); + void DeInit(); + void OnTick(void); + void OnNotification(GfeSDK::NVGSDK_NotificationType type, GfeSDK::NotificationBase const&); + void OnOpenGroup(std::string const& id); + void OnCloseGroup(std::string const& id, bool destroy = false); + void OnSaveScreenshot(std::string const& highlightId, std::string const& groupId); + void OnSaveVideo(std::string const& highlightId, std::string const& groupId, int startDelta, int endDelta); + void OnGetNumHighlights(std::string const& groupId, GfeSDK::NVGSDK_HighlightSignificance sigFilter, GfeSDK::NVGSDK_HighlightType tagFilter); + void OnOpenSummary(char const* groupIds[], size_t numGroups, GfeSDK::NVGSDK_HighlightSignificance sigFilter, GfeSDK::NVGSDK_HighlightType tagFilter); + void OnRequestLanguage(void); + void OnRequestUserSettings(void); + + wchar_t const* GetCurrentPermissionStr(void); + wchar_t const* GetLastOverlayEvent(void); + wchar_t const* GetLastResult(void); + wchar_t const* GetLastQueryResult(void); + +private: + void ConfigureHighlights(char const* defaultLocale, GfeSDK::NVGSDK_Highlight* highlights, size_t numHighlights); + void UpdateLastResultString(GfeSDK::NVGSDK_RetCode rc); + + std::unique_ptr<GfeSDK::Core> m_gfesdk; + std::unique_ptr<GfeSDK::Highlights> m_highlights; + + std::wstring_convert<std::codecvt_utf8<wchar_t>> m_converter; + std::wstring m_currentPermission; + std::wstring m_lastOverlayEvent; + std::wstring m_lastResult; + std::wstring m_lastQueryResult; +}; + +inline void InitHighlightsWrapper(HighlightsWrapper* hl) {} |