1using Avalonia.Controls;
8using Microsoft.Extensions.Logging;
15public static class EngineExtensions
26 public static void InitializeAvaloniaKeyboardAdapter(
this Engine engine, Control control)
28 Engine.Logger.LogInformation(
"Initializing AvaloniaKeyboardAdapter...");
32 Engine.Logger.LogError(
"AvaloniaKeyboardAdapter initialization failed: Control cannot be null.");
33 throw new ArgumentNullException(nameof(control));
36 KeyboardEventPoller.Initialize(
new AvaloniaKeyboardAdapter(control));
46 public static void InitializeAvaloniaMouseAdapter(
this Engine engine, Control control, MouseEventConfiguration? mouseEventConfiguration =
null)
48 Engine.Logger.LogInformation(
"Initializing AvaloniaMouseAdapter...");
52 Engine.Logger.LogError(
"AvaloniaMouseAdapter initialization failed: Control cannot be null.");
53 throw new ArgumentNullException(nameof(control));
56 MouseEventPoller.Initialize(
new AvaloniaMouseAdapter(control), mouseEventConfiguration);
81 public static void InitializeAvaloniaTouchAdapter(
84 bool emulateMouse =
false)
86 Engine.Logger.LogInformation(
"Initializing AvaloniaTouchInputAdapter...");
90 Engine.Logger.LogError(
"AvaloniaTouchInputAdapter initialization failed: Control cannot be null.");
91 throw new ArgumentNullException(nameof(control));
94 engine.Input.TouchAdapter =
new AvaloniaTouchInputAdapter(control, emulateMouse);