// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved. #pragma once #if PLATFORM_IOS #include "../Apple/ApplePlatform.h" /// /// The iOS platform implementation and application management utilities. /// class FLAXENGINE_API iOSPlatform : public ApplePlatform { public: // Runs the callback on a main UI thread (from iOS). Can optionally wait for execution end to sync. static void RunOnUIThread(const Function& func, bool wait = false); // Runs the callback on a main thread (from Flax). Can optionally wait for execution end to sync. static void RunOnMainThread(const Function& func, bool wait = false); public: // [ApplePlatform] static bool Init(); static void LogInfo(); static void Tick(); static BatteryInfo GetBatteryInfo(); static int32 GetDpi(); static NetworkConnectionType GetNetworkConnectionType(); static ScreenOrientationType GetScreenOrientationType(); static Guid GetUniqueDeviceId(); static String GetComputerName(); static bool GetHasFocus(); static bool GetIsPaused(); static Float2 GetDesktopSize(); static String GetMainDirectory(); static Window* CreateWindow(const CreateWindowSettings& settings); }; #endif