22 "Unknown clipboard format error";
33 channel_->SetMethodCallHandler(
37 HandleMethodCall(call, std::move(result));
41void PlatformHandler::HandleMethodCall(
44 const std::string& method =
method_call.method_name();
49 "Clipboard is not available in GLFW headless mode.");
57 "GLFW clipboard API only supports text.");
61 const char* clipboardData = glfwGetClipboardString(window_);
62 if (clipboardData ==
nullptr) {
64 "Failed to retrieve clipboard data from GLFW api.");
67 rapidjson::Document document;
69 rapidjson::Document::AllocatorType& allocator = document.GetAllocator();
70 document.AddMember(rapidjson::Value(
kTextKey, allocator),
71 rapidjson::Value(clipboardData, allocator), allocator);
72 result->Success(document);
76 "Clipboard is not available in GLFW headless mode.");
79 const rapidjson::Value& document = *
method_call.arguments();
80 rapidjson::Value::ConstMemberIterator itr = document.FindMember(
kTextKey);
81 if (itr == document.MemberEnd()) {
83 "Missing text to store on clipboard.");
86 glfwSetClipboardString(window_, itr->value.GetString());
91 result->NotImplemented();
G_BEGIN_DECLS G_MODULE_EXPORT FlMethodCall * method_call
uint32_t uint32_t * format
constexpr char kTextPlainFormat[]
Clipboard plain text format.
static NSString *const kTextKey