diff options
Diffstat (limited to 'src/osx/gui/UiApplication.mm')
-rw-r--r-- | src/osx/gui/UiApplication.mm | 9 |
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(); } |