Plan clipboard text actions in app core

This commit is contained in:
2026-06-03 03:52:00 +02:00
parent 5ee2dd271c
commit 6960bd3410
9 changed files with 162 additions and 2 deletions

View File

@@ -24,6 +24,14 @@ enum class CursorVisibilityAction {
hide_cursor,
};
enum class ClipboardReadAction {
read_text,
};
enum class ClipboardWriteAction {
write_text,
};
[[nodiscard]] constexpr PickedPathAction plan_picked_path(std::string_view path) noexcept
{
return path.empty()
@@ -52,4 +60,14 @@ enum class CursorVisibilityAction {
: CursorVisibilityAction::hide_cursor;
}
[[nodiscard]] constexpr ClipboardReadAction plan_clipboard_read() noexcept
{
return ClipboardReadAction::read_text;
}
[[nodiscard]] constexpr ClipboardWriteAction plan_clipboard_write(std::string_view) noexcept
{
return ClipboardWriteAction::write_text;
}
}

View File

@@ -63,6 +63,9 @@ void webgl_sync();
std::string App::clipboard_get_text()
{
if (pp::app::plan_clipboard_read() != pp::app::ClipboardReadAction::read_text)
return {};
#if _WIN32
return win32_clipboard_get_text();
#elif __IOS__
@@ -76,6 +79,9 @@ std::string App::clipboard_get_text()
bool App::clipboard_set_text(const std::string& s)
{
if (pp::app::plan_clipboard_write(s) != pp::app::ClipboardWriteAction::write_text)
return false;
#if _WIN32
return win32_clipboard_set_text(s);
#elif __IOS__