aboutsummaryrefslogtreecommitdiff
path: root/include/cru/osx
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-09-04 23:23:32 +0800
committercrupest <crupest@outlook.com>2021-09-04 23:23:32 +0800
commitc504aef3835f71ea22c9e938066f01e69e1c2db3 (patch)
tree4d456079e08e64923e84ca37b862c82a0b184167 /include/cru/osx
parent9e3d8fbd19ac93382a231a5eb8e7f8b389e6f6c2 (diff)
downloadcru-c504aef3835f71ea22c9e938066f01e69e1c2db3.tar.gz
cru-c504aef3835f71ea22c9e938066f01e69e1c2db3.tar.bz2
cru-c504aef3835f71ea22c9e938066f01e69e1c2db3.zip
...
Diffstat (limited to 'include/cru/osx')
-rw-r--r--include/cru/osx/graphics/quartz/Convert.hpp3
-rw-r--r--include/cru/osx/graphics/quartz/Font.hpp20
2 files changed, 21 insertions, 2 deletions
diff --git a/include/cru/osx/graphics/quartz/Convert.hpp b/include/cru/osx/graphics/quartz/Convert.hpp
index 89ade584..f217e549 100644
--- a/include/cru/osx/graphics/quartz/Convert.hpp
+++ b/include/cru/osx/graphics/quartz/Convert.hpp
@@ -4,6 +4,9 @@
#include <CoreGraphics/CoreGraphics.h>
namespace cru::platform::graphics::osx::quartz {
+CFStringRef Convert(const String& string);
+String Convert(CFStringRef string);
+
CGAffineTransform Convert(const Matrix& matrix);
Matrix Convert(const CGAffineTransform& matrix);
diff --git a/include/cru/osx/graphics/quartz/Font.hpp b/include/cru/osx/graphics/quartz/Font.hpp
index d3c50818..618c4c48 100644
--- a/include/cru/osx/graphics/quartz/Font.hpp
+++ b/include/cru/osx/graphics/quartz/Font.hpp
@@ -1,7 +1,23 @@
#pragma once
#include "Resource.hpp"
+#include "cru/common/Base.hpp"
#include "cru/platform/graphics/Font.hpp"
+#include <CoreText/CoreText.h>
+
namespace cru::platform::graphics::osx::quartz {
-
-}
+class OsxCTFont : public OsxQuartzResource, public virtual IFont {
+ public:
+ OsxCTFont(IGraphFactory* graphics_factory, const String& name, float size);
+
+ CRU_DELETE_COPY(OsxCTFont)
+ CRU_DELETE_MOVE(OsxCTFont)
+
+ ~OsxCTFont() override;
+
+ CTFontRef GetCTFont() const { return ct_font_; }
+
+ private:
+ CTFontRef ct_font_;
+};
+} // namespace cru::platform::graphics::osx::quartz