aboutsummaryrefslogtreecommitdiff
path: root/include/cru/osx/gui/Clipboard.h
blob: b4dcce4cdd890daf081f1f4f6c12d299f953470d (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
31
#pragma once
#include "Resource.h"

#include "cru/platform/gui/Base.h"
#include "cru/platform/gui/Clipboard.h"

#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