aboutsummaryrefslogtreecommitdiff
path: root/include/cru/win/graph/direct/font.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/win/graph/direct/font.hpp')
-rw-r--r--include/cru/win/graph/direct/font.hpp23
1 files changed, 10 insertions, 13 deletions
diff --git a/include/cru/win/graph/direct/font.hpp b/include/cru/win/graph/direct/font.hpp
index d3376503..08213ca5 100644
--- a/include/cru/win/graph/direct/font.hpp
+++ b/include/cru/win/graph/direct/font.hpp
@@ -1,31 +1,28 @@
#pragma once
#include "com_resource.hpp"
-#include "direct_factory.hpp"
-#include "platform_id.hpp"
+#include "resource.hpp"
#include "cru/platform/graph/font.hpp"
#include <string_view>
namespace cru::platform::graph::win::direct {
-
-class DWriteFont : public Font, public IComResource<IDWriteTextFormat> {
+class DWriteFont : public DirectGraphResource,
+ public virtual IFont,
+ public virtual IComResource<IDWriteTextFormat> {
public:
- DWriteFont(IDirectFactory* factory, const std::wstring_view& font_family,
+ DWriteFont(DirectGraphFactory* factory, const std::string_view& font_family,
float font_size);
- DWriteFont(const DWriteFont& other) = delete;
- DWriteFont& operator=(const DWriteFont& other) = delete;
-
- DWriteFont(DWriteFont&& other) = delete;
- DWriteFont& operator=(DWriteFont&& other) = delete;
+ CRU_DELETE_COPY(DWriteFont)
+ CRU_DELETE_MOVE(DWriteFont)
~DWriteFont() override = default;
- CRU_PLATFORMID_IMPLEMENT_DIRECT
-
public:
- IDWriteTextFormat* GetComInterface() const override { return text_format_.Get(); }
+ IDWriteTextFormat* GetComInterface() const override {
+ return text_format_.Get();
+ }
private:
Microsoft::WRL::ComPtr<IDWriteTextFormat> text_format_;