blob: 51cf6f15c5f633d8f7c3dfb21d856b44f3fae234 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#pragma once
#include "cru/common/base.hpp"
#include "cru/common/ui_base.hpp"
#include <memory>
#include <string>
#include <string_view>
namespace cru::platform::graph {
struct SolidColorBrush;
struct GeometryBuilder;
struct FontDescriptor;
struct TextLayout;
struct GraphFactory : virtual Interface {
static GraphFactory* GetInstance();
virtual SolidColorBrush* CreateSolidColorBrush(const ui::Color& color) = 0;
virtual GeometryBuilder* CreateGeometryBuilder() = 0;
virtual FontDescriptor* CreateFontDescriptor(
const std::wstring_view& font_family, float font_size) = 0;
virtual TextLayout* CreateTextLayout(std::shared_ptr<FontDescriptor> font,
std::wstring text) = 0;
};
} // namespace cru::platform
|