using Avalonia.Controls; using Avalonia.Input; using Avalonia.Input.Platform; using Avalonia.iOS; using Avalonia.Platform; using Avalonia.Rendering; using Avalonia.Shared.PlatformSupport; namespace Avalonia { public static class iOSApplicationExtensions { public static T UseiOS(this T builder) where T : AppBuilderBase, new() { builder.UseWindowingSubsystem(iOSPlatform.Initialize, "iOS"); return builder; } } } namespace Avalonia.iOS { public class iOSPlatform { internal static MouseDevice MouseDevice; internal static KeyboardDevice KeyboardDevice; public static void Initialize() { MouseDevice = new MouseDevice(); KeyboardDevice = new KeyboardDevice(); AvaloniaLocator.CurrentMutable .Bind().ToSingleton() .Bind().ToTransient() // TODO: what does this look like for iOS?? //.Bind().ToTransient() .Bind().ToTransient() .Bind().ToConstant(KeyboardDevice) .Bind().ToSingleton() .Bind().ToConstant(PlatformThreadingInterface.Instance) .Bind().ToSingleton() .Bind().ToSingleton() .Bind().ToSingleton() .Bind().ToSingleton() .Bind().ToSingleton(); } } }