//-------------------------------------------------------------------------------------- // pch.h // // Advanced Technology Group (ATG) // Copyright (C) Microsoft Corporation. All rights reserved. //-------------------------------------------------------------------------------------- #pragma once // Use the C++ standard templated min/max #define NOMINMAX #include #if _XDK_VER < 0x38390403 /* XDK Edition 160800 */ #error This sample requires the August 2016 XDK or later #endif #include #include #include #include #include #include #include #include #include #include #include #include #include "DescriptorHeap.h" #include "GamePad.h" #include "GraphicsMemory.h" #include "ResourceUploadBatch.h" #include "SpriteBatch.h" #include "SimpleMath.h" #include "SpriteFont.h" namespace DX { // Helper class for COM exceptions class com_exception : public std::exception { public: com_exception(HRESULT hr) noexcept : result(hr) {} const char* what() const override { static char s_str[64] = {}; sprintf_s(s_str, "Failure with HRESULT of %08X", result); return s_str; } private: HRESULT result; }; // Helper utility converts D3D API failures into exceptions. inline void ThrowIfFailed(HRESULT hr) { if (FAILED(hr)) { throw com_exception(hr); } } }