/* * Copyright (c) 2026, the Ladybird developers. * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #ifdef USE_DIRECTX # include # include # include # include struct ID3D12CommandQueue; struct ID3D12Device; struct IDXGIAdapter1; namespace Gfx { class Direct3DContext final : public RefCounted { public: ~Direct3DContext(); IDXGIAdapter1* adapter() const; ID3D12Device* device() const; ID3D12CommandQueue* queue() const; private: struct Impl; explicit Direct3DContext(NonnullOwnPtr); NonnullOwnPtr m_impl; friend ErrorOr> create_direct3d_context(); }; ErrorOr> create_direct3d_context(); } #endif