diff --git a/src/Avalonia.Windowing/PopupImpl.cs b/src/Avalonia.Windowing/PopupImpl.cs new file mode 100644 index 0000000000..ef5dc8e2e8 --- /dev/null +++ b/src/Avalonia.Windowing/PopupImpl.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using Avalonia.Controls; +using Avalonia.Input; +using Avalonia.Input.Raw; +using Avalonia.Platform; +using Avalonia.Rendering; +using Avalonia.Windowing.Bindings; + +namespace Avalonia.Windowing +{ + public class PopupImpl : WindowImpl, IPopupImpl + { + public PopupImpl(IWindowWrapper wrapper) : base(wrapper) + { + } + } +} diff --git a/src/Avalonia.Windowing/WIndowingPlatform.cs b/src/Avalonia.Windowing/WIndowingPlatform.cs index 5d414995fe..efbe0a9151 100644 --- a/src/Avalonia.Windowing/WIndowingPlatform.cs +++ b/src/Avalonia.Windowing/WIndowingPlatform.cs @@ -36,7 +36,7 @@ namespace Avalonia.Windowing { internal static WindowingPlatform Instance { get; private set; } private readonly EventsLoop _eventsLoop; - private readonly Dictionary _windows; + private readonly Dictionary _windows; public WindowingPlatform() { @@ -44,7 +44,7 @@ namespace Avalonia.Windowing _eventsLoop.MouseEvent += _eventsLoop_MouseEvent; _eventsLoop.Awakened += _eventsLoop_Awakened; _eventsLoop.Resized += _eventsLoop_Resized; - _windows = new Dictionary(); + _windows = new Dictionary(); } void _eventsLoop_Resized(IntPtr windowId, ResizeEvent resizeEvent) @@ -100,13 +100,17 @@ namespace Avalonia.Windowing public IPopupImpl CreatePopup() { - throw new NotImplementedException(); + var windowWrapper = new GlWindowWrapper(_eventsLoop); + var window = new PopupImpl(windowWrapper); + _windows.Add(windowWrapper.Id, window); + + return window; } public IWindowImpl CreateWindow() { var windowWrapper = new GlWindowWrapper(_eventsLoop); - var window = new Window(windowWrapper); + var window = new WindowImpl(windowWrapper); _windows.Add(windowWrapper.Id, window); return window; diff --git a/src/Avalonia.Windowing/WindowImpl.cs b/src/Avalonia.Windowing/WindowImpl.cs index 5ee1accc9f..44f83b64e3 100644 --- a/src/Avalonia.Windowing/WindowImpl.cs +++ b/src/Avalonia.Windowing/WindowImpl.cs @@ -10,12 +10,12 @@ using Avalonia.Windowing.Bindings; namespace Avalonia.Windowing { - public class Window : IWindowImpl + public class WindowImpl : IWindowImpl { IWindowWrapper _windowWrapper; private LogicalPosition _lastPosition; - public Window(IWindowWrapper wrapper) + public WindowImpl(IWindowWrapper wrapper) { _windowWrapper = wrapper; }