Browse Source

Merge pull request #52540 from kyoz/3.x

Fix (iOS): Clipboard get/set missing implement
Max Hilbrunner 3 years ago
parent
commit
95162ca393
2 changed files with 13 additions and 0 deletions
  1. 3 0
      platform/iphone/os_iphone.h
  2. 10 0
      platform/iphone/os_iphone.mm

+ 3 - 0
platform/iphone/os_iphone.h

@@ -109,6 +109,9 @@ public:
 	virtual String get_name() const;
 	virtual String get_name() const;
 	virtual String get_model_name() const;
 	virtual String get_model_name() const;
 
 
+	virtual void set_clipboard(const String &p_text);
+	virtual String get_clipboard() const;
+
 	Error shell_open(String p_uri);
 	Error shell_open(String p_uri);
 
 
 	String get_user_data_dir() const;
 	String get_user_data_dir() const;

+ 10 - 0
platform/iphone/os_iphone.mm

@@ -484,6 +484,16 @@ String OSIPhone::get_name() const {
 	return "iOS";
 	return "iOS";
 }
 }
 
 
+void OSIPhone::set_clipboard(const String &p_text) {
+	[UIPasteboard generalPasteboard].string = [NSString stringWithUTF8String:p_text.utf8()];
+}
+
+String OSIPhone::get_clipboard() const {
+	NSString *text = [UIPasteboard generalPasteboard].string;
+
+	return String::utf8([text UTF8String]);
+}
+
 String OSIPhone::get_model_name() const {
 String OSIPhone::get_model_name() const {
 	String model = ios->get_model();
 	String model = ios->get_model();
 	if (model != "") {
 	if (model != "") {