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

@@ -1,22 +1,11 @@
#pragma once
#include "platform_apple/apple_platform_services.h"
#include "platform_api/platform_services.h"
#if __LINUX__ || __WEB__
struct GLFWwindow;
#endif
#if defined(__OBJC__) && defined(__IOS__)
@class GameViewController;
@class AppDelegate;
#endif
#if defined(__OBJC__) && defined(__OSX__)
@class View;
@class AppOSX;
#endif
namespace pp::platform::legacy {
#if defined(__LINUX__) || defined(__WEB__)
@@ -36,32 +25,6 @@ struct RetainedLegacyGlfwWindowState final {
void set_legacy_glfw_window(GLFWwindow* window);
#endif
#if defined(__IOS__) || defined(__OSX__)
struct RetainedLegacyAppleState final {
#ifdef __IOS__
GameViewController* ios_view = nullptr;
AppDelegate* ios_app = nullptr;
#elif defined(__OSX__)
View* osx_view = nullptr;
AppOSX* osx_app = nullptr;
#endif
};
[[nodiscard]] RetainedLegacyAppleState& active_legacy_apple_state();
[[nodiscard]] pp::platform::apple::AppleDocumentPlatformServices&
active_legacy_apple_document_platform_services();
[[nodiscard]] pp::platform::PlatformStoragePaths prepare_legacy_apple_storage_paths();
void set_legacy_apple_state(
#ifdef __IOS__
GameViewController* ios_view,
AppDelegate* ios_app
#elif defined(__OSX__)
View* osx_view,
AppOSX* osx_app
#endif
);
#endif
[[nodiscard]] pp::platform::WebPlatformServices& active_legacy_web_platform_services();
[[nodiscard]] const pp::platform::PlatformStoragePaths& active_legacy_storage_paths();