blob: 62052b0a3d6545c6348ba1ef2b28f680c1be626f (
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
27
28
29
30
|
#include "cru/platform/graphics/quartz/Font.h"
#include "cru/platform/osx/Convert.h"
#include "cru/platform/graphics/quartz/Convert.h"
#include "cru/platform/graphics/quartz/Resource.h"
namespace cru::platform::graphics::quartz {
using cru::platform::osx::Convert;
OsxCTFont::OsxCTFont(IGraphicsFactory* graphics_factory, const String& name,
float size)
: OsxQuartzResource(graphics_factory), name_(name) {
CFStringRef n = Convert(name);
if (name.empty()) {
ct_font_ =
CTFontCreateUIFontForLanguage(kCTFontUIFontSystem, size, nullptr);
} else {
ct_font_ = CTFontCreateWithName(n, size, nullptr);
}
Ensures(ct_font_);
CFRelease(n);
}
OsxCTFont::~OsxCTFont() { CFRelease(ct_font_); }
String OsxCTFont::GetFontName() { return name_; }
float OsxCTFont::GetFontSize() { return CTFontGetSize(ct_font_); }
} // namespace cru::platform::graphics::quartz
|