#pragma once #include #include class SwapChainTrampoline : public IDXGISwapChain4 { public: SwapChainTrampoline(IDXGISwapChain4* swapChain); HRESULT __stdcall QueryInterface(REFIID riid, void** ppvObject) override; ULONG __stdcall AddRef(void) override; ULONG __stdcall Release(void) override; HRESULT __stdcall SetPrivateData(REFGUID Name, UINT DataSize, const void* pData) override; HRESULT __stdcall SetPrivateDataInterface(REFGUID Name, const IUnknown* pUnknown) override; HRESULT __stdcall GetPrivateData(REFGUID Name, UINT* pDataSize, void* pData) override; HRESULT __stdcall GetParent(REFIID riid, void** ppParent) override; HRESULT __stdcall GetDevice(REFIID riid, void** ppDevice) override; HRESULT __stdcall Present(UINT SyncInterval, UINT Flags) override; HRESULT __stdcall GetBuffer(UINT Buffer, REFIID riid, void** ppSurface) override; HRESULT __stdcall SetFullscreenState(BOOL Fullscreen, IDXGIOutput* pTarget) override; HRESULT __stdcall GetFullscreenState(BOOL* pFullscreen, IDXGIOutput** ppTarget) override; HRESULT __stdcall GetDesc(DXGI_SWAP_CHAIN_DESC* pDesc) override; HRESULT __stdcall ResizeBuffers(UINT BufferCount, UINT Width, UINT Height, DXGI_FORMAT NewFormat, UINT SwapChainFlags) override; HRESULT __stdcall ResizeTarget(const DXGI_MODE_DESC* pNewTargetParameters) override; HRESULT __stdcall GetContainingOutput(IDXGIOutput** ppOutput) override; HRESULT __stdcall GetFrameStatistics(DXGI_FRAME_STATISTICS* pStats) override; HRESULT __stdcall GetLastPresentCount(UINT* pLastPresentCount) override; HRESULT __stdcall GetDesc1(DXGI_SWAP_CHAIN_DESC1* pDesc) override; HRESULT __stdcall GetFullscreenDesc(DXGI_SWAP_CHAIN_FULLSCREEN_DESC* pDesc) override; HRESULT __stdcall GetHwnd(HWND* pHwnd) override; HRESULT __stdcall GetCoreWindow(REFIID refiid, void** ppUnk) override; HRESULT __stdcall Present1(UINT SyncInterval, UINT PresentFlags, const DXGI_PRESENT_PARAMETERS* pPresentParameters) override; BOOL __stdcall IsTemporaryMonoSupported(void) override; HRESULT __stdcall GetRestrictToOutput(IDXGIOutput** ppRestrictToOutput) override; HRESULT __stdcall SetBackgroundColor(const DXGI_RGBA* pColor) override; HRESULT __stdcall GetBackgroundColor(DXGI_RGBA* pColor) override; HRESULT __stdcall SetRotation(DXGI_MODE_ROTATION Rotation) override; HRESULT __stdcall GetRotation(DXGI_MODE_ROTATION* pRotation) override; HRESULT __stdcall SetSourceSize(UINT Width, UINT Height) override; HRESULT __stdcall GetSourceSize(UINT* pWidth, UINT* pHeight) override; HRESULT __stdcall SetMaximumFrameLatency(UINT MaxLatency) override; HRESULT __stdcall GetMaximumFrameLatency(UINT* pMaxLatency) override; HANDLE __stdcall GetFrameLatencyWaitableObject(void) override; HRESULT __stdcall SetMatrixTransform(const DXGI_MATRIX_3X2_F* pMatrix) override; HRESULT __stdcall GetMatrixTransform(DXGI_MATRIX_3X2_F* pMatrix) override; UINT __stdcall GetCurrentBackBufferIndex(void) override; HRESULT __stdcall CheckColorSpaceSupport(DXGI_COLOR_SPACE_TYPE ColorSpace, UINT* pColorSpaceSupport) override; HRESULT __stdcall SetColorSpace1(DXGI_COLOR_SPACE_TYPE ColorSpace) override; HRESULT __stdcall ResizeBuffers1(UINT BufferCount, UINT Width, UINT Height, DXGI_FORMAT Format, UINT SwapChainFlags, const UINT* pCreationNodeMask, IUnknown* const* ppPresentQueue) override; HRESULT __stdcall SetHDRMetaData(DXGI_HDR_METADATA_TYPE Type, UINT Size, void* pMetaData) override; };