diff options
| author | crupest <crupest@outlook.com> | 2022-05-15 13:56:40 +0800 |
|---|---|---|
| committer | crupest <crupest@outlook.com> | 2022-05-15 13:56:40 +0800 |
| commit | 9e0c9d3499bc50c3534b4dc500d8b5d0b5f22752 (patch) | |
| tree | 7342f6991771fa31b16fd6a5ed892ff6025f3d05 /include/cru/win/graphics/direct/Factory.h | |
| parent | 41de54bad2c0f857821fcc83f41af3334d068b6d (diff) | |
| download | cru-9e0c9d3499bc50c3534b4dc500d8b5d0b5f22752.tar.gz cru-9e0c9d3499bc50c3534b4dc500d8b5d0b5f22752.tar.bz2 cru-9e0c9d3499bc50c3534b4dc500d8b5d0b5f22752.zip | |
...
Diffstat (limited to 'include/cru/win/graphics/direct/Factory.h')
| -rw-r--r-- | include/cru/win/graphics/direct/Factory.h | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/include/cru/win/graphics/direct/Factory.h b/include/cru/win/graphics/direct/Factory.h deleted file mode 100644 index 368c68f0..00000000 --- a/include/cru/win/graphics/direct/Factory.h +++ /dev/null @@ -1,68 +0,0 @@ -#pragma once -#include "Resource.h" - -#include "ImageFactory.h" - -#include "cru/common/platform/win/ComAutoInit.h" -#include "cru/platform/graphics/Base.h" -#include "cru/platform/graphics/Factory.h" - -namespace cru::platform::graphics::win::direct { -class CRU_WIN_GRAPHICS_DIRECT_API DirectGraphicsFactory - : public DirectResource, - public virtual IGraphicsFactory { - public: - DirectGraphicsFactory(); - - CRU_DELETE_COPY(DirectGraphicsFactory) - CRU_DELETE_MOVE(DirectGraphicsFactory) - - ~DirectGraphicsFactory() override; - - public: - ID3D11Device* GetD3D11Device() const { return d3d11_device_.Get(); } - ID2D1Factory2* GetD2D1Factory() const { return d2d1_factory_.Get(); } - ID2D1Device1* GetD2D1Device() const { return d2d1_device_.Get(); } - IDXGIFactory2* GetDxgiFactory() const { return dxgi_factory_.Get(); } - IDWriteFactory* GetDWriteFactory() const { return dwrite_factory_.Get(); } - IDWriteFontCollection* GetSystemFontCollection() const { - return dwrite_system_font_collection_.Get(); - } - - public: - Microsoft::WRL::ComPtr<ID2D1DeviceContext1> CreateD2D1DeviceContext(); - - // This context should only be used to create graphic resources like brush. - // Because graphic resources can be shared if they are created in the same - // device. - ID2D1DeviceContext* GetDefaultD2D1DeviceContext() { - return d2d1_device_context_.Get(); - } - - public: - std::unique_ptr<ISolidColorBrush> CreateSolidColorBrush() override; - - std::unique_ptr<IGeometryBuilder> CreateGeometryBuilder() override; - - std::unique_ptr<IFont> CreateFont(String font_family, - float font_size) override; - - std::unique_ptr<ITextLayout> CreateTextLayout(std::shared_ptr<IFont> font, - String text) override; - - IImageFactory* GetImageFactory() override; - - private: - platform::win::ComAutoInit com_auto_init_; - - Microsoft::WRL::ComPtr<ID3D11Device> d3d11_device_; - Microsoft::WRL::ComPtr<ID2D1Factory2> d2d1_factory_; - Microsoft::WRL::ComPtr<ID2D1Device1> d2d1_device_; - Microsoft::WRL::ComPtr<ID2D1DeviceContext1> d2d1_device_context_; - Microsoft::WRL::ComPtr<IDXGIFactory2> dxgi_factory_; - Microsoft::WRL::ComPtr<IDWriteFactory> dwrite_factory_; - Microsoft::WRL::ComPtr<IDWriteFontCollection> dwrite_system_font_collection_; - - std::unique_ptr<WinImageFactory> image_factory_; -}; -} // namespace cru::platform::graphics::win::direct |
