#pragma once #include "Base.h" #include "Graphics/SharedContext.h" #include #include namespace Light { // #todo: class dxSharedContext : public SharedContext { private: Microsoft::WRL::ComPtr m_Device; Microsoft::WRL::ComPtr m_DeviceContext; Microsoft::WRL::ComPtr m_SwapChain; Microsoft::WRL::ComPtr m_RenderTargetView; public: dxSharedContext(Microsoft::WRL::ComPtr device, Microsoft::WRL::ComPtr deviceContext, Microsoft::WRL::ComPtr swapChain, Microsoft::WRL::ComPtr renderTargetView) : m_Device(device), m_DeviceContext(deviceContext), m_SwapChain(swapChain), m_RenderTargetView(renderTargetView) { } inline Microsoft::WRL::ComPtr GetDevice () { return m_Device; } inline Microsoft::WRL::ComPtr GetDeviceContext () { return m_DeviceContext; } inline Microsoft::WRL::ComPtr GetSwapChain () { return m_SwapChain; } inline Microsoft::WRL::ComPtr GetRenderTargetView() { return m_RenderTargetView; } }; }