diff --git a/src/Avalonia.Controls/Application.cs b/src/Avalonia.Controls/Application.cs index 6ed797dc51..f94a85f31d 100644 --- a/src/Avalonia.Controls/Application.cs +++ b/src/Avalonia.Controls/Application.cs @@ -12,9 +12,10 @@ using Avalonia.Rendering; using Avalonia.Styling; using Avalonia.Threading; using System.Reactive.Concurrency; -using Avalonia.Controls.DragDrop; -using Avalonia.Controls.DragDrop.Raw; +using Avalonia.Input.DragDrop.Raw; using Avalonia.Controls.Platform; +using Avalonia.Platform; +using Avalonia.Input.DragDrop; namespace Avalonia { diff --git a/src/Avalonia.Controls/DragDrop/DragSource.cs b/src/Avalonia.Controls/Platform/DragSource.cs similarity index 98% rename from src/Avalonia.Controls/DragDrop/DragSource.cs rename to src/Avalonia.Controls/Platform/DragSource.cs index ceb962ad98..ed873ec961 100644 --- a/src/Avalonia.Controls/DragDrop/DragSource.cs +++ b/src/Avalonia.Controls/Platform/DragSource.cs @@ -2,17 +2,17 @@ using System.Linq; using System.Reactive.Linq; using System.Reactive.Subjects; -using System.Text; using System.Threading.Tasks; -using Avalonia.Controls.DragDrop.Raw; -using Avalonia.Controls.Platform; +using Avalonia.Controls; using Avalonia.Input; +using Avalonia.Input.DragDrop; +using Avalonia.Input.DragDrop.Raw; +using Avalonia.Input.Platform; using Avalonia.Input.Raw; -using Avalonia.Interactivity; using Avalonia.Threading; using Avalonia.VisualTree; -namespace Avalonia.Controls.DragDrop +namespace Avalonia.Platform { class DragSource : IPlatformDragSource { diff --git a/src/Avalonia.Controls/DragDrop/DataFormats.cs b/src/Avalonia.Input/DragDrop/DataFormats.cs similarity index 89% rename from src/Avalonia.Controls/DragDrop/DataFormats.cs rename to src/Avalonia.Input/DragDrop/DataFormats.cs index f46651ed3b..4115701478 100644 --- a/src/Avalonia.Controls/DragDrop/DataFormats.cs +++ b/src/Avalonia.Input/DragDrop/DataFormats.cs @@ -1,4 +1,4 @@ -namespace Avalonia.Controls.DragDrop +namespace Avalonia.Input.DragDrop { public static class DataFormats { diff --git a/src/Avalonia.Controls/DragDrop/DataObject.cs b/src/Avalonia.Input/DragDrop/DataObject.cs similarity index 96% rename from src/Avalonia.Controls/DragDrop/DataObject.cs rename to src/Avalonia.Input/DragDrop/DataObject.cs index e0e7b6d069..0db1008a6c 100644 --- a/src/Avalonia.Controls/DragDrop/DataObject.cs +++ b/src/Avalonia.Input/DragDrop/DataObject.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Text; -namespace Avalonia.Controls.DragDrop +namespace Avalonia.Input.DragDrop { public class DataObject : IDataObject { diff --git a/src/Avalonia.Controls/DragDrop/DragDrop.cs b/src/Avalonia.Input/DragDrop/DragDrop.cs similarity index 96% rename from src/Avalonia.Controls/DragDrop/DragDrop.cs rename to src/Avalonia.Input/DragDrop/DragDrop.cs index bbac80e38f..9d68deb62b 100644 --- a/src/Avalonia.Controls/DragDrop/DragDrop.cs +++ b/src/Avalonia.Input/DragDrop/DragDrop.cs @@ -1,8 +1,8 @@ using System.Threading.Tasks; -using Avalonia.Controls.Platform; using Avalonia.Interactivity; +using Avalonia.Input.Platform; -namespace Avalonia.Controls.DragDrop +namespace Avalonia.Input.DragDrop { public static class DragDrop { diff --git a/src/Avalonia.Controls/DragDrop/DragDropDevice.cs b/src/Avalonia.Input/DragDrop/DragDropDevice.cs similarity index 95% rename from src/Avalonia.Controls/DragDrop/DragDropDevice.cs rename to src/Avalonia.Input/DragDrop/DragDropDevice.cs index 0aadda79f4..0a64800346 100644 --- a/src/Avalonia.Controls/DragDrop/DragDropDevice.cs +++ b/src/Avalonia.Input/DragDrop/DragDropDevice.cs @@ -1,13 +1,12 @@ -using Avalonia.Input; -using Avalonia.Interactivity; +using Avalonia.Interactivity; using Avalonia.VisualTree; using System.Linq; -using Avalonia.Controls.DragDrop.Raw; +using Avalonia.Input.DragDrop.Raw; using Avalonia.Input.Raw; -namespace Avalonia.Controls.DragDrop +namespace Avalonia.Input.DragDrop { - class DragDropDevice : IDragDropDevice + public class DragDropDevice : IDragDropDevice { public static readonly DragDropDevice Instance = new DragDropDevice(); diff --git a/src/Avalonia.Controls/DragDrop/DragDropEffects.cs b/src/Avalonia.Input/DragDrop/DragDropEffects.cs similarity index 79% rename from src/Avalonia.Controls/DragDrop/DragDropEffects.cs rename to src/Avalonia.Input/DragDrop/DragDropEffects.cs index cec3dab89d..7f093bc89c 100644 --- a/src/Avalonia.Controls/DragDrop/DragDropEffects.cs +++ b/src/Avalonia.Input/DragDrop/DragDropEffects.cs @@ -1,6 +1,6 @@ using System; -namespace Avalonia.Controls.DragDrop +namespace Avalonia.Input.DragDrop { [Flags] public enum DragDropEffects diff --git a/src/Avalonia.Controls/DragDrop/DragEventArgs.cs b/src/Avalonia.Input/DragDrop/DragEventArgs.cs similarity index 90% rename from src/Avalonia.Controls/DragDrop/DragEventArgs.cs rename to src/Avalonia.Input/DragDrop/DragEventArgs.cs index f31bfd4820..bff19c760c 100644 --- a/src/Avalonia.Controls/DragDrop/DragEventArgs.cs +++ b/src/Avalonia.Input/DragDrop/DragEventArgs.cs @@ -1,6 +1,6 @@ using Avalonia.Interactivity; -namespace Avalonia.Controls.DragDrop +namespace Avalonia.Input.DragDrop { public class DragEventArgs : RoutedEventArgs { diff --git a/src/Avalonia.Controls/DragDrop/IDataObject.cs b/src/Avalonia.Input/DragDrop/IDataObject.cs similarity index 88% rename from src/Avalonia.Controls/DragDrop/IDataObject.cs rename to src/Avalonia.Input/DragDrop/IDataObject.cs index c8fd720c48..5d26a20cee 100644 --- a/src/Avalonia.Controls/DragDrop/IDataObject.cs +++ b/src/Avalonia.Input/DragDrop/IDataObject.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; -namespace Avalonia.Controls.DragDrop +namespace Avalonia.Input.DragDrop { public interface IDataObject { diff --git a/src/Avalonia.Controls/DragDrop/Raw/IDragDropDevice.cs b/src/Avalonia.Input/DragDrop/Raw/IDragDropDevice.cs similarity index 68% rename from src/Avalonia.Controls/DragDrop/Raw/IDragDropDevice.cs rename to src/Avalonia.Input/DragDrop/Raw/IDragDropDevice.cs index 6e2db67ac3..2022e842ae 100644 --- a/src/Avalonia.Controls/DragDrop/Raw/IDragDropDevice.cs +++ b/src/Avalonia.Input/DragDrop/Raw/IDragDropDevice.cs @@ -1,6 +1,6 @@ using Avalonia.Input; -namespace Avalonia.Controls.DragDrop.Raw +namespace Avalonia.Input.DragDrop.Raw { public interface IDragDropDevice : IInputDevice { diff --git a/src/Avalonia.Controls/DragDrop/Raw/RawDragEvent.cs b/src/Avalonia.Input/DragDrop/Raw/RawDragEvent.cs similarity index 94% rename from src/Avalonia.Controls/DragDrop/Raw/RawDragEvent.cs rename to src/Avalonia.Input/DragDrop/Raw/RawDragEvent.cs index c2bc1d5712..af18186d4b 100644 --- a/src/Avalonia.Controls/DragDrop/Raw/RawDragEvent.cs +++ b/src/Avalonia.Input/DragDrop/Raw/RawDragEvent.cs @@ -2,7 +2,7 @@ using Avalonia.Input; using Avalonia.Input.Raw; -namespace Avalonia.Controls.DragDrop.Raw +namespace Avalonia.Input.DragDrop.Raw { public class RawDragEvent : RawInputEventArgs { diff --git a/src/Avalonia.Controls/DragDrop/Raw/RawDragEventType.cs b/src/Avalonia.Input/DragDrop/Raw/RawDragEventType.cs similarity index 72% rename from src/Avalonia.Controls/DragDrop/Raw/RawDragEventType.cs rename to src/Avalonia.Input/DragDrop/Raw/RawDragEventType.cs index 44c4bbd595..31450efb51 100644 --- a/src/Avalonia.Controls/DragDrop/Raw/RawDragEventType.cs +++ b/src/Avalonia.Input/DragDrop/Raw/RawDragEventType.cs @@ -1,4 +1,4 @@ -namespace Avalonia.Controls.DragDrop.Raw +namespace Avalonia.Input.DragDrop.Raw { public enum RawDragEventType { diff --git a/src/Avalonia.Controls/Platform/IPlatformDragSource.cs b/src/Avalonia.Input/Platform/IPlatformDragSource.cs similarity index 79% rename from src/Avalonia.Controls/Platform/IPlatformDragSource.cs rename to src/Avalonia.Input/Platform/IPlatformDragSource.cs index 667e1f005c..44b4d30760 100644 --- a/src/Avalonia.Controls/Platform/IPlatformDragSource.cs +++ b/src/Avalonia.Input/Platform/IPlatformDragSource.cs @@ -2,10 +2,10 @@ using System.Collections.Generic; using System.Text; using System.Threading.Tasks; -using Avalonia.Controls.DragDrop; +using Avalonia.Input.DragDrop; using Avalonia.Interactivity; -namespace Avalonia.Controls.Platform +namespace Avalonia.Input.Platform { public interface IPlatformDragSource { diff --git a/src/OSX/Avalonia.MonoMac/DragSource.cs b/src/OSX/Avalonia.MonoMac/DragSource.cs index 07f2e186aa..96d650ab3a 100644 --- a/src/OSX/Avalonia.MonoMac/DragSource.cs +++ b/src/OSX/Avalonia.MonoMac/DragSource.cs @@ -10,8 +10,8 @@ using System.Runtime.InteropServices; using System.Runtime.Serialization.Formatters.Binary; using System.Threading.Tasks; using Avalonia.Controls; -using Avalonia.Controls.DragDrop; -using Avalonia.Controls.Platform; +using Avalonia.Input.DragDrop; +using Avalonia.Input.Platform; using Avalonia.Input; using Avalonia.Input.Raw; using MonoMac; diff --git a/src/OSX/Avalonia.MonoMac/DraggingInfo.cs b/src/OSX/Avalonia.MonoMac/DraggingInfo.cs index 2fb28a50f5..ca8a24ba82 100644 --- a/src/OSX/Avalonia.MonoMac/DraggingInfo.cs +++ b/src/OSX/Avalonia.MonoMac/DraggingInfo.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; -using Avalonia.Controls.DragDrop; +using Avalonia.Input.DragDrop; using MonoMac.AppKit; using MonoMac.Foundation; diff --git a/src/OSX/Avalonia.MonoMac/TopLevelImpl.cs b/src/OSX/Avalonia.MonoMac/TopLevelImpl.cs index 97c4302c57..34d0949b57 100644 --- a/src/OSX/Avalonia.MonoMac/TopLevelImpl.cs +++ b/src/OSX/Avalonia.MonoMac/TopLevelImpl.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; -using Avalonia.Controls.DragDrop; -using Avalonia.Controls.DragDrop.Raw; +using Avalonia.Input.DragDrop; +using Avalonia.Input.DragDrop.Raw; using Avalonia.Input; using Avalonia.Input.Raw; using Avalonia.Platform; diff --git a/src/Windows/Avalonia.Win32/ClipboardFormats.cs b/src/Windows/Avalonia.Win32/ClipboardFormats.cs index a59c6a1664..a604f634f6 100644 --- a/src/Windows/Avalonia.Win32/ClipboardFormats.cs +++ b/src/Windows/Avalonia.Win32/ClipboardFormats.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; -using Avalonia.Controls.DragDrop; +using Avalonia.Input.DragDrop; using Avalonia.Win32.Interop; namespace Avalonia.Win32 diff --git a/src/Windows/Avalonia.Win32/DataObject.cs b/src/Windows/Avalonia.Win32/DataObject.cs index aa3ee91ef9..2a990419e7 100644 --- a/src/Windows/Avalonia.Win32/DataObject.cs +++ b/src/Windows/Avalonia.Win32/DataObject.cs @@ -4,9 +4,9 @@ using System.Collections.Generic; using System.Runtime.InteropServices; using System.Runtime.InteropServices.ComTypes; using System.Text; -using Avalonia.Controls.DragDrop; +using Avalonia.Input.DragDrop; using Avalonia.Win32.Interop; -using IDataObject = Avalonia.Controls.DragDrop.IDataObject; +using IDataObject = Avalonia.Input.DragDrop.IDataObject; using IOleDataObject = System.Runtime.InteropServices.ComTypes.IDataObject; using System.IO; using System.Runtime.Serialization.Formatters.Binary; diff --git a/src/Windows/Avalonia.Win32/DragSource.cs b/src/Windows/Avalonia.Win32/DragSource.cs index 937471f9ad..81dd790066 100644 --- a/src/Windows/Avalonia.Win32/DragSource.cs +++ b/src/Windows/Avalonia.Win32/DragSource.cs @@ -2,9 +2,8 @@ using System.Collections.Generic; using System.Text; using System.Threading.Tasks; -using Avalonia.Controls.DragDrop; -using Avalonia.Controls.Platform; -using Avalonia.Interactivity; +using Avalonia.Input.DragDrop; +using Avalonia.Input.Platform; using Avalonia.Threading; using Avalonia.Win32.Interop; diff --git a/src/Windows/Avalonia.Win32/OleDataObject.cs b/src/Windows/Avalonia.Win32/OleDataObject.cs index 60527bb7d6..ee1c3046eb 100644 --- a/src/Windows/Avalonia.Win32/OleDataObject.cs +++ b/src/Windows/Avalonia.Win32/OleDataObject.cs @@ -6,13 +6,13 @@ using System.Runtime.InteropServices; using System.Runtime.InteropServices.ComTypes; using System.Runtime.Serialization.Formatters.Binary; using System.Text; -using Avalonia.Controls.DragDrop; +using Avalonia.Input.DragDrop; using Avalonia.Win32.Interop; using IDataObject = System.Runtime.InteropServices.ComTypes.IDataObject; namespace Avalonia.Win32 { - class OleDataObject : Avalonia.Controls.DragDrop.IDataObject + class OleDataObject : Avalonia.Input.DragDrop.IDataObject { private IDataObject _wrapped; diff --git a/src/Windows/Avalonia.Win32/OleDropTarget.cs b/src/Windows/Avalonia.Win32/OleDropTarget.cs index 747006673a..e3791747b1 100644 --- a/src/Windows/Avalonia.Win32/OleDropTarget.cs +++ b/src/Windows/Avalonia.Win32/OleDropTarget.cs @@ -1,9 +1,9 @@ -using Avalonia.Controls.DragDrop; -using Avalonia.Controls.DragDrop.Raw; +using Avalonia.Input.DragDrop; +using Avalonia.Input.DragDrop.Raw; using Avalonia.Input; using Avalonia.Platform; using Avalonia.Win32.Interop; -using IDataObject = Avalonia.Controls.DragDrop.IDataObject; +using IDataObject = Avalonia.Input.DragDrop.IDataObject; using IOleDataObject = System.Runtime.InteropServices.ComTypes.IDataObject; namespace Avalonia.Win32 diff --git a/src/Windows/Avalonia.Win32/Win32Platform.cs b/src/Windows/Avalonia.Win32/Win32Platform.cs index ef1c4e987d..902abaf65b 100644 --- a/src/Windows/Avalonia.Win32/Win32Platform.cs +++ b/src/Windows/Avalonia.Win32/Win32Platform.cs @@ -84,8 +84,10 @@ namespace Avalonia.Win32 .Bind().ToConstant(new RenderLoop(60)) .Bind().ToSingleton() .Bind().ToConstant(s_instance) - .Bind().ToConstant(s_instance) - .Bind().ToSingleton(); + .Bind().ToConstant(s_instance); + + if (OleContext.Current != null) + AvaloniaLocator.CurrentMutable.Bind().ToSingleton(); UseDeferredRendering = deferredRendering; _uiThread = UnmanagedMethods.GetCurrentThreadId();