Move Apple retained platform state into platform target

This commit is contained in:
2026-06-17 09:15:53 +02:00
parent e9723276be
commit d502bf9331
11 changed files with 360 additions and 327 deletions

View File

@@ -49,9 +49,9 @@ public:
[[nodiscard]] pp::platform::PlatformStoragePaths prepare_storage_paths() override
{
#if defined(__IOS__)
return pp::platform::legacy::prepare_legacy_apple_storage_paths();
return pp::platform::apple::prepare_legacy_apple_storage_paths();
#elif defined(__OSX__)
return pp::platform::legacy::prepare_legacy_apple_storage_paths();
return pp::platform::apple::prepare_legacy_apple_storage_paths();
#elif __LINUX__
const std::string data_path = linux_home_path() + "/PanoPainter";
mkpath(data_path + "/brushes");
@@ -97,9 +97,9 @@ public:
void trigger_crash_test() override
{
#ifdef __IOS__
pp::platform::legacy::active_legacy_apple_document_platform_services().trigger_crash_test();
pp::platform::apple::active_legacy_apple_document_platform_services().trigger_crash_test();
#elif __OSX__
pp::platform::legacy::active_legacy_apple_document_platform_services().trigger_crash_test();
pp::platform::apple::active_legacy_apple_document_platform_services().trigger_crash_test();
#elif defined(__ANDROID__)
int *x = nullptr; *x = 42;
LOG("%d", *x);
@@ -111,7 +111,7 @@ public:
#if defined(__IOS__) || defined(__OSX__)
const auto family = pp::platform::current_platform_family();
if (family == pp::platform::PlatformFamily::ios || family == pp::platform::PlatformFamily::macos)
return pp::platform::legacy::active_legacy_apple_document_platform_services().clipboard_text();
return pp::platform::apple::active_legacy_apple_document_platform_services().clipboard_text();
#endif
#ifdef __ANDROID__
return android_get_clipboard();
@@ -125,7 +125,7 @@ public:
#if defined(__IOS__) || defined(__OSX__)
const auto family = pp::platform::current_platform_family();
if (family == pp::platform::PlatformFamily::ios || family == pp::platform::PlatformFamily::macos)
return pp::platform::legacy::active_legacy_apple_document_platform_services().set_clipboard_text(text);
return pp::platform::apple::active_legacy_apple_document_platform_services().set_clipboard_text(text);
#endif
const std::string value(text);
#ifdef __ANDROID__
@@ -139,7 +139,7 @@ public:
void set_cursor_visible(bool visible) override
{
#if defined(__IOS__) || defined(__OSX__)
pp::platform::legacy::active_legacy_apple_document_platform_services().set_cursor_visible(visible);
pp::platform::apple::active_legacy_apple_document_platform_services().set_cursor_visible(visible);
#else
(void)visible;
#endif
@@ -148,7 +148,7 @@ public:
void set_virtual_keyboard_visible(bool visible) override
{
#ifdef __IOS__
pp::platform::legacy::active_legacy_apple_document_platform_services().set_virtual_keyboard_visible(visible);
pp::platform::apple::active_legacy_apple_document_platform_services().set_virtual_keyboard_visible(visible);
#elif __ANDROID__
displayKeyboard(visible);
#else
@@ -173,7 +173,7 @@ public:
void acquire_render_context() override
{
#if defined(__IOS__) || defined(__OSX__)
pp::platform::legacy::active_legacy_apple_document_platform_services().acquire_render_context();
pp::platform::apple::active_legacy_apple_document_platform_services().acquire_render_context();
#elif __ANDROID__
android_async_lock();
#elif __LINUX__ || __WEB__
@@ -184,7 +184,7 @@ public:
void release_render_context() override
{
#if defined(__IOS__) || defined(__OSX__)
pp::platform::legacy::active_legacy_apple_document_platform_services().release_render_context();
pp::platform::apple::active_legacy_apple_document_platform_services().release_render_context();
#elif __ANDROID__
android_async_unlock();
#endif
@@ -193,7 +193,7 @@ public:
void present_render_context() override
{
#if defined(__IOS__) || defined(__OSX__)
pp::platform::legacy::active_legacy_apple_document_platform_services().present_render_context();
pp::platform::apple::active_legacy_apple_document_platform_services().present_render_context();
#elif __ANDROID__
android_async_swap();
#elif __LINUX__ || __WEB__
@@ -211,7 +211,7 @@ public:
void bind_main_render_target() override
{
#if __IOS__
pp::platform::legacy::active_legacy_apple_document_platform_services().bind_main_render_target();
pp::platform::apple::active_legacy_apple_document_platform_services().bind_main_render_target();
#else
bind_default_render_target();
#endif
@@ -293,7 +293,7 @@ public:
std::string_view data_path) override
{
#if defined(__IOS__) || defined(__OSX__)
return pp::platform::legacy::active_legacy_apple_document_platform_services().document_browse_roots(work_path, data_path);
return pp::platform::apple::active_legacy_apple_document_platform_services().document_browse_roots(work_path, data_path);
#else
return pp::platform::platform_document_browse_roots(
pp::platform::current_platform_family(),
@@ -307,7 +307,7 @@ public:
if (!pp::platform::platform_saves_native_ui_state(pp::platform::current_platform_family()))
return;
#if defined(__IOS__) || defined(__OSX__)
pp::platform::legacy::active_legacy_apple_document_platform_services().save_ui_state();
pp::platform::apple::active_legacy_apple_document_platform_services().save_ui_state();
#endif
}
@@ -334,9 +334,9 @@ public:
void pick_image(pp::platform::PickedPathCallback callback) override
{
#ifdef __IOS__
pp::platform::legacy::active_legacy_apple_document_platform_services().pick_image(std::move(callback));
pp::platform::apple::active_legacy_apple_document_platform_services().pick_image(std::move(callback));
#elif __OSX__
pp::platform::legacy::active_legacy_apple_document_platform_services().pick_image(std::move(callback));
pp::platform::apple::active_legacy_apple_document_platform_services().pick_image(std::move(callback));
#elif __ANDROID__
android_pick_file(callback);
#elif __LINUX__
@@ -352,9 +352,9 @@ public:
void pick_file(std::vector<std::string> file_types, pp::platform::PickedPathCallback callback) override
{
#ifdef __IOS__
pp::platform::legacy::active_legacy_apple_document_platform_services().pick_file(std::move(file_types), std::move(callback));
pp::platform::apple::active_legacy_apple_document_platform_services().pick_file(std::move(file_types), std::move(callback));
#elif __OSX__
pp::platform::legacy::active_legacy_apple_document_platform_services().pick_file(std::move(file_types), std::move(callback));
pp::platform::apple::active_legacy_apple_document_platform_services().pick_file(std::move(file_types), std::move(callback));
#elif __ANDROID__
android_pick_file(callback);
#elif __LINUX__
@@ -371,7 +371,7 @@ public:
void pick_save_file(std::vector<std::string> file_types, pp::platform::PickedPathCallback callback) override
{
#if __OSX__
pp::platform::legacy::active_legacy_apple_document_platform_services().pick_save_file(std::move(file_types), std::move(callback));
pp::platform::apple::active_legacy_apple_document_platform_services().pick_save_file(std::move(file_types), std::move(callback));
#elif __ANDROID__
android_pick_file_save(callback);
#else
@@ -385,7 +385,7 @@ public:
#ifdef __IOS__
(void)callback;
#elif __OSX__
pp::platform::legacy::active_legacy_apple_document_platform_services().pick_directory(std::move(callback));
pp::platform::apple::active_legacy_apple_document_platform_services().pick_directory(std::move(callback));
#elif __ANDROID__
(void)callback;
#else
@@ -396,7 +396,7 @@ public:
[[nodiscard]] bool supports_working_directory_picker() override
{
#if defined(__IOS__) || defined(__OSX__)
return pp::platform::legacy::active_legacy_apple_document_platform_services().supports_working_directory_picker();
return pp::platform::apple::active_legacy_apple_document_platform_services().supports_working_directory_picker();
#else
return pp::platform::platform_supports_working_directory_picker(
pp::platform::current_platform_family());
@@ -406,7 +406,7 @@ public:
[[nodiscard]] std::string format_working_directory_path(std::string_view path) override
{
#if defined(__IOS__) || defined(__OSX__)
return pp::platform::legacy::active_legacy_apple_document_platform_services().format_working_directory_path(path);
return pp::platform::apple::active_legacy_apple_document_platform_services().format_working_directory_path(path);
#endif
return std::string(path);
}
@@ -442,7 +442,7 @@ public:
void start_sonarpen() override
{
#if __IOS__
pp::platform::legacy::active_legacy_apple_document_platform_services().start_sonarpen();
pp::platform::apple::active_legacy_apple_document_platform_services().start_sonarpen();
#endif
}
@@ -488,7 +488,7 @@ public:
void display_file(std::string_view path) override
{
#if defined(__IOS__) || defined(__OSX__)
pp::platform::legacy::active_legacy_apple_document_platform_services().display_file(path);
pp::platform::apple::active_legacy_apple_document_platform_services().display_file(path);
#else
(void)path;
#endif
@@ -497,7 +497,7 @@ public:
void share_file(std::string_view path) override
{
#if defined(__IOS__) || defined(__OSX__)
pp::platform::legacy::active_legacy_apple_document_platform_services().share_file(path);
pp::platform::apple::active_legacy_apple_document_platform_services().share_file(path);
#else
(void)path;
#endif
@@ -506,7 +506,7 @@ public:
void request_app_close() override
{
#ifdef __OSX__
pp::platform::legacy::active_legacy_apple_document_platform_services().request_app_close();
pp::platform::apple::active_legacy_apple_document_platform_services().request_app_close();
#elif __LINUX__
pp::platform::legacy::active_legacy_glfw_window_hooks().request_app_close();
#endif
@@ -539,7 +539,7 @@ public:
const std::string value(path);
const std::string name(suggested_name);
#ifdef __IOS__
pp::platform::legacy::active_legacy_apple_document_platform_services().save_prepared_file(
pp::platform::apple::active_legacy_apple_document_platform_services().save_prepared_file(
value,
name,
std::move(callback));
@@ -559,5 +559,4 @@ PlatformServices& platform_services()
static LegacyPlatformServices services;
return services;
}
}