aboutsummaryrefslogtreecommitdiff
path: root/src/osx/gui/UiApplication.mm
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-11-18 17:56:12 +0800
committercrupest <crupest@outlook.com>2021-11-18 17:56:12 +0800
commit814be0155a567328f95c3e1a2b7becf4f0b5b977 (patch)
tree2d9c0d041c6e94ce5cf373f85cfa75ddd939e22b /src/osx/gui/UiApplication.mm
parent0f3e84f0ef4c62d20e5cb4d9e5677ec39afb894d (diff)
downloadcru-814be0155a567328f95c3e1a2b7becf4f0b5b977.tar.gz
cru-814be0155a567328f95c3e1a2b7becf4f0b5b977.tar.bz2
cru-814be0155a567328f95c3e1a2b7becf4f0b5b977.zip
...
Diffstat (limited to 'src/osx/gui/UiApplication.mm')
-rw-r--r--src/osx/gui/UiApplication.mm9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/osx/gui/UiApplication.mm b/src/osx/gui/UiApplication.mm
index d6cf14f3..865111ba 100644
--- a/src/osx/gui/UiApplication.mm
+++ b/src/osx/gui/UiApplication.mm
@@ -1,10 +1,13 @@
#include "cru/osx/gui/UiApplication.hpp"
+#include "ClipboardPrivate.h"
#include "cru/common/Logger.hpp"
#include "cru/osx/graphics/quartz/Factory.hpp"
+#include "cru/osx/gui/Clipboard.hpp"
#include "cru/osx/gui/Cursor.hpp"
#include "cru/osx/gui/Window.hpp"
#include "cru/platform/graphics/Factory.hpp"
+#include "cru/platform/gui/Base.hpp"
#include "cru/platform/gui/UiApplication.hpp"
#include "cru/platform/gui/Window.hpp"
@@ -55,6 +58,8 @@ class OsxUiApplicationPrivate {
std::unique_ptr<OsxCursorManager> cursor_manager_;
+ std::unique_ptr<OsxClipboard> clipboard_;
+
std::unique_ptr<platform::graphics::osx::quartz::QuartzGraphicsFactory> quartz_graphics_factory_;
};
@@ -75,6 +80,8 @@ OsxUiApplication::OsxUiApplication()
[NSApp setDelegate:p_->app_delegate_];
p_->quartz_graphics_factory_ = std::make_unique<graphics::osx::quartz::QuartzGraphicsFactory>();
p_->cursor_manager_ = std::make_unique<OsxCursorManager>(this);
+ p_->clipboard_ = std::make_unique<OsxClipboard>(
+ this, std::make_unique<details::OsxClipboardPrivate>([NSPasteboard generalPasteboard]));
}
OsxUiApplication::~OsxUiApplication() {}
@@ -156,6 +163,8 @@ INativeWindow* OsxUiApplication::CreateWindow(INativeWindow* parent, CreateWindo
ICursorManager* OsxUiApplication::GetCursorManager() { return p_->cursor_manager_.get(); }
+IClipboard* OsxUiApplication::GetClipboard() { return p_->clipboard_.get(); }
+
graphics::IGraphicsFactory* OsxUiApplication::GetGraphicsFactory() {
return p_->quartz_graphics_factory_.get();
}