#pragma once #include #include #include namespace lt { class dxSharedContext: public SharedContext { public: [[nodiscard]] auto get_device() -> Microsoft::WRL::ComPtr { return m_device; } [[nodiscard]] auto get_device_context() -> Microsoft::WRL::ComPtr { return m_deviceContext; } [[nodiscard]] auto get_swap_chain() -> Microsoft::WRL::ComPtr { return m_swap_chain; } [[nodiscard]] auto get_render_target_view() -> Microsoft::WRL::ComPtr { return m_render_target_view; } [[nodiscard]] auto GetDeviceRef() -> Microsoft::WRL::ComPtr { return m_device; } [[nodiscard]] auto GetDeviceContextRef() -> Microsoft::WRL::ComPtr { return m_deviceContext; } [[nodiscard]] auto GetSwapChainRef() -> Microsoft::WRL::ComPtr { return m_swap_chain; } [[nodiscard]] auto GetRenderTargetViewRef() -> Microsoft::WRL::ComPtr { return m_render_target_view; } private: Microsoft::WRL::ComPtr m_device = nullptr; Microsoft::WRL::ComPtr m_deviceContext = nullptr; Microsoft::WRL::ComPtr m_swap_chain = nullptr; Microsoft::WRL::ComPtr m_render_target_view = nullptr; }; } // namespace lt