diff options
Diffstat (limited to 'include/cru/osx/gui')
| -rw-r--r-- | include/cru/osx/gui/Clipboard.hpp | 31 | ||||
| -rw-r--r-- | include/cru/osx/gui/UiApplication.hpp | 2 | 
2 files changed, 33 insertions, 0 deletions
| diff --git a/include/cru/osx/gui/Clipboard.hpp b/include/cru/osx/gui/Clipboard.hpp new file mode 100644 index 00000000..fea97140 --- /dev/null +++ b/include/cru/osx/gui/Clipboard.hpp @@ -0,0 +1,31 @@ +#pragma once +#include "Resource.hpp" + +#include "cru/platform/gui/Base.hpp" +#include "cru/platform/gui/Clipboard.hpp" + +#include <memory> + +namespace cru::platform::gui::osx { +namespace details { +class OsxClipboardPrivate; +} + +class OsxClipboard : public OsxGuiResource, public virtual IClipboard { + public: +  OsxClipboard(cru::platform::gui::IUiApplication* ui_application, +               std::unique_ptr<details::OsxClipboardPrivate> p); + +  CRU_DELETE_COPY(OsxClipboard) +  CRU_DELETE_MOVE(OsxClipboard) + +  ~OsxClipboard() override; + + public: +  String GetText() override; +  void SetText(String text) override; + + private: +  std::unique_ptr<details::OsxClipboardPrivate> p_; +}; +}  // namespace cru::platform::gui::osx diff --git a/include/cru/osx/gui/UiApplication.hpp b/include/cru/osx/gui/UiApplication.hpp index a7b88010..e3cb269a 100644 --- a/include/cru/osx/gui/UiApplication.hpp +++ b/include/cru/osx/gui/UiApplication.hpp @@ -46,6 +46,8 @@ class OsxUiApplication : public OsxGuiResource, public virtual IUiApplication {    ICursorManager* GetCursorManager() override; +  IClipboard* GetClipboard() override; +   private:    void UnregisterWindow(OsxWindow* window); | 
