#pragma once #include "Direct3DDevice.h" #include #include #include #include class CSwapChainProcessor { private: IDDCX_SWAPCHAIN m_hSwapChain; std::shared_ptr m_device; HANDLE m_newFrameEvent; Microsoft::WRL::Wrappers::HandleT< Microsoft::WRL::Wrappers::HandleTraits::HANDLENullTraits> m_thread; Microsoft::WRL::Wrappers::Event m_terminateEvent; static DWORD CALLBACK RunThread(LPVOID argument); void Run(); void RunCore(); public: CSwapChainProcessor(IDDCX_SWAPCHAIN hSwapChain, std::shared_ptr device, HANDLE newFrameEvent); ~CSwapChainProcessor(); };