aboutsummaryrefslogtreecommitdiff
path: root/include/cru/win/graph/direct/direct_factory.hpp
blob: b150d5aa9df63e140f12e01438326dc189ccac72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#pragma once
#include "../../win_pre_config.hpp"

namespace cru::platform::graph::win::direct {
// Interface provides access to root d2d resources.
struct IDirectFactory {
  virtual ~IDirectFactory() = default;

  virtual ID2D1Factory1* GetD2D1Factory() const = 0;
  virtual ID2D1DeviceContext* GetD2D1DeviceContext() const = 0;
  virtual ID3D11Device* GetD3D11Device() const = 0;
  virtual IDXGIFactory2* GetDxgiFactory() const = 0;
  virtual IDWriteFactory* GetDWriteFactory() const = 0;
  virtual IDWriteFontCollection* GetSystemFontCollection() const = 0;
};
}  // namespace cru::platform::graph::win::direct