From 59c49d259dbae8ea36fa7f69d4dbb4e10e15ee67 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Fri, 21 Oct 2016 23:52:58 +0200 Subject: [PATCH 01/54] Renamed assembly SceneGraph -> Visuals. To make way for low-level scene graph library. --- Avalonia.sln | 4 ++-- build.cake | 4 ++-- docs/docfx.json | 2 +- docs/spec/architecture.md | 2 +- docs/tutorial/nuget.md | 2 +- samples/BindingTest/BindingTest.csproj | 4 ++-- .../ControlCatalog.Android.csproj | 4 ++-- .../ControlCatalog.Desktop.csproj | 4 ++-- samples/ControlCatalog.iOS/ControlCatalog.iOS.csproj | 4 ++-- samples/ControlCatalog/ControlCatalog.csproj | 4 ++-- samples/RenderTest/RenderTest.csproj | 4 ++-- samples/TestApplication/TestApplication.csproj | 4 ++-- samples/VirtualizationTest/VirtualizationTest.csproj | 4 ++-- samples/XamlTestApplication/XamlTestApplication.csproj | 4 ++-- .../XamlTestApplicationPcl.csproj | 4 ++-- samples/interop/GtkInteropDemo/GtkInteropDemo.csproj | 4 ++-- .../WindowsInteropTest/WindowsInteropTest.csproj | 4 ++-- src/Android/Avalonia.Android/Avalonia.Android.csproj | 4 ++-- .../Avalonia.AndroidTestApplication.csproj | 4 ++-- src/Avalonia.Controls/Avalonia.Controls.csproj | 4 ++-- .../Avalonia.DesignerSupport.csproj | 4 ++-- src/Avalonia.Diagnostics/Avalonia.Diagnostics.csproj | 4 ++-- .../Avalonia.DotNetFrameworkRuntime.csproj | 4 ++-- src/Avalonia.HtmlRenderer/Avalonia.HtmlRenderer.csproj | 4 ++-- src/Avalonia.Input/Avalonia.Input.csproj | 4 ++-- .../Avalonia.Interactivity.csproj | 4 ++-- src/Avalonia.Layout/Avalonia.Layout.csproj | 4 ++-- src/Avalonia.Styling/Avalonia.Styling.csproj | 4 ++-- .../Avalonia.Themes.Default.csproj | 4 ++-- .../Animation/CrossFade.cs | 0 .../Animation/IPageTransition.cs | 0 .../Animation/PageSlide.cs | 0 .../Avalonia.Visuals.csproj} | 6 +++--- .../Avalonia.Visuals.v2.ncrunchproject} | 0 .../INamed.cs | 0 .../Matrix.cs | 0 .../Media/AlignmentX.cs | 0 .../Media/AlignmentY.cs | 0 .../Media/ArcSegment.cs | 0 .../Media/BezierSegment .cs | 0 .../Media/Brush.cs | 0 .../Media/BrushMappingMode.cs | 0 .../Media/Brushes.cs | 0 .../Media/Color.cs | 0 .../Media/Colors.cs | 0 .../Media/DashStyle.cs | 0 .../Media/DrawingContext.cs | 0 .../Media/EllipseGeometry.cs | 0 .../Media/FillRule.cs | 0 .../Media/FontStyle.cs | 0 .../Media/FontWeight.cs | 0 .../Media/FormattedText.cs | 0 .../Media/FormattedTextLine.cs | 0 .../Media/Geometry.cs | 0 .../Media/GradientBrush.cs | 0 .../Media/GradientSpreadMethod.cs | 0 .../Media/GradientStop.cs | 0 .../Media/IBrush.cs | 0 .../Media/IDrawingContext.cs | 0 .../Media/ISolidColorBrush.cs | 0 .../Media/ImageBush.cs | 0 .../Media/Imaging/Bitmap.cs | 0 .../Media/Imaging/IBitmap.cs | 0 .../Media/Imaging/RenderTargetBitmap.cs | 0 .../Media/LineGeometry.cs | 0 .../Media/LineSegment.cs | 0 .../Media/LinearGradientBrush.cs | 0 .../Media/MatrixTransform.cs | 0 .../Media/MediaExtensions.cs | 0 .../Media/Mutable/SolidColorBrush.cs | 0 .../Media/PathFigure.cs | 0 .../Media/PathGeometry.cs | 0 .../Media/PathGeometryCollections.cs | 0 .../Media/PathMarkupParser.cs | 0 .../Media/PathSegment.cs | 0 .../Media/Pen.cs | 0 .../Media/PenLineCap.cs | 0 .../Media/PenLineJoin.cs | 0 .../Media/PolylineGeometry.cs | 0 .../Media/QuadraticBezierSegment .cs | 0 .../Media/RadialGradientBrush.cs | 0 .../Media/RectangleGeometry.cs | 0 .../Media/RotateTransform.cs | 0 .../Media/ScaleTransform.cs | 0 .../Media/SolidColorBrush.cs | 0 .../Media/StreamGeometry.cs | 0 .../Media/StreamGeometryContext.cs | 0 .../Media/Stretch.cs | 0 .../Media/SweepDirection.cs | 0 .../Media/TextAlignment.cs | 0 .../Media/TextHitTestResult.cs | 0 .../Media/TextWrapping.cs | 0 .../Media/TileBrush.cs | 0 .../Media/Transform.cs | 0 .../Media/TransformGroup.cs | 0 .../Media/TranslateTransform.cs | 0 .../Media/VisualBrush.cs | 0 .../Platform/ExportRenderingSubsystemAttribute.cs | 0 .../Platform/IBitmapImpl.cs | 0 .../Platform/IFormattedTextImpl.cs | 0 .../Platform/IGeometryImpl.cs | 0 .../Platform/IPlatformRenderInterface.cs | 0 .../Platform/IPlatformSettings.cs | 0 .../Platform/IRenderTarget.cs | 0 .../Platform/IRenderTargetBitmapImpl.cs | 0 .../Platform/IStreamGeometryContextImpl.cs | 0 .../Platform/IStreamGeometryImpl.cs | 0 src/{Avalonia.SceneGraph => Avalonia.Visuals}/Point.cs | 0 .../Properties/AssemblyInfo.cs | 2 +- src/{Avalonia.SceneGraph => Avalonia.Visuals}/Rect.cs | 0 .../RelativePoint.cs | 0 .../RelativeRect.cs | 0 .../RenderTargetCorruptedException.cs | 0 .../Rendering/DefaultRenderLoop.cs | 0 .../Rendering/IRenderLoop.cs | 0 .../Rendering/IRenderRoot.cs | 0 .../Rendering/IRenderer.cs | 0 .../Rendering/IRendererFactory.cs | 0 .../Rendering/Renderer.cs | 0 .../Rendering/RendererMixin.cs | 0 src/{Avalonia.SceneGraph => Avalonia.Visuals}/Size.cs | 0 .../Thickness.cs | 0 .../Vector.cs | 0 .../Visual.cs | 0 .../VisualExtensions.cs | 0 .../VisualTree/BoundsTracker.cs | 0 .../VisualTree/IHostedVisualTreeRoot.cs | 0 .../VisualTree/IVisual.cs | 0 .../VisualTree/IVisualTreeHost.cs | 0 .../VisualTree/TransformedBounds.cs | 0 .../VisualTree/VisualExtensions.cs | 0 .../VisualTreeAttachmentEventArgs.cs | 0 .../packages.config | 0 src/Gtk/Avalonia.Cairo/Avalonia.Cairo.csproj | 4 ++-- src/Gtk/Avalonia.Gtk/Avalonia.Gtk.csproj | 4 ++-- .../Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj | 4 ++-- src/Markup/Avalonia.Markup/Avalonia.Markup.csproj | 4 ++-- .../Avalonia.Skia.Android.TestApp.csproj | 4 ++-- .../Avalonia.Skia.Android/Avalonia.Skia.Android.csproj | 4 ++-- .../Avalonia.Skia.Desktop/Avalonia.Skia.Desktop.csproj | 4 ++-- .../Avalonia.Skia.iOS.TestApp.csproj | 6 +++--- src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj | 4 ++-- .../Avalonia.Direct2D1/Avalonia.Direct2D1.csproj | 4 ++-- src/Windows/Avalonia.Win32/Avalonia.Win32.csproj | 4 ++-- src/iOS/Avalonia.iOS/Avalonia.iOS.csproj | 4 ++-- .../Avalonia.iOSTestApplication.csproj | 4 ++-- tests/Avalonia.Benchmarks/Avalonia.Benchmarks.csproj | 6 +++--- .../Avalonia.Controls.UnitTests.csproj | 4 ++-- .../Avalonia.DesignerSupport.TestApp.csproj | 4 ++-- .../Avalonia.Direct2D1.UnitTests.csproj | 6 +++--- .../Avalonia.Input.UnitTests.csproj | 4 ++-- .../Avalonia.Interactivity.UnitTests.csproj | 6 +++--- .../Avalonia.Layout.UnitTests.csproj | 4 ++-- tests/Avalonia.LeakTests/Avalonia.LeakTests.csproj | 4 ++-- .../Avalonia.Markup.UnitTests.csproj | 4 ++-- .../Avalonia.Markup.Xaml.UnitTests.csproj | 4 ++-- .../Avalonia.Cairo.RenderTests.csproj | 4 ++-- .../Avalonia.Direct2D1.RenderTests.csproj | 4 ++-- .../Avalonia.Skia.RenderTests.csproj | 4 ++-- .../Avalonia.Styling.UnitTests.csproj | 4 ++-- tests/Avalonia.UnitTests/Avalonia.UnitTests.csproj | 4 ++-- .../Avalonia.Visuals.UnitTests.csproj} | 10 +++++----- .../Avalonia.Visuals.UnitTests.v2.ncrunchproject} | 0 .../Media/BrushTests.cs | 2 +- .../Media/ColorTests.cs | 2 +- .../Media/FormattedTextTests.cs | 2 +- .../Media/PathMarkupParserTests.cs | 2 +- .../Properties/AssemblyInfo.cs | 2 +- .../RelativePointTests.cs | 2 +- .../RelativeRectComparer.cs | 2 +- .../RelativeRectTests.cs | 2 +- .../RenderTests_Culling.cs | 2 +- .../TestRoot.cs | 2 +- .../TestVisual.cs | 2 +- .../ThicknessTests.cs | 2 +- .../VisualTests.cs | 2 +- .../VisualTree/BoundsTrackerTests.cs | 2 +- .../VisualTree/MockRenderInterface.cs | 2 +- .../VisualTree/VisualExtensionsTests_GetVisualsAt.cs | 2 +- .../packages.config | 0 180 files changed, 140 insertions(+), 140 deletions(-) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Animation/CrossFade.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Animation/IPageTransition.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Animation/PageSlide.cs (100%) rename src/{Avalonia.SceneGraph/Avalonia.SceneGraph.csproj => Avalonia.Visuals/Avalonia.Visuals.csproj} (97%) rename src/{Avalonia.SceneGraph/Avalonia.SceneGraph.v2.ncrunchproject => Avalonia.Visuals/Avalonia.Visuals.v2.ncrunchproject} (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/INamed.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Matrix.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/AlignmentX.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/AlignmentY.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/ArcSegment.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/BezierSegment .cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/Brush.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/BrushMappingMode.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/Brushes.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/Color.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/Colors.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/DashStyle.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/DrawingContext.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/EllipseGeometry.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/FillRule.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/FontStyle.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/FontWeight.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/FormattedText.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/FormattedTextLine.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/Geometry.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/GradientBrush.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/GradientSpreadMethod.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/GradientStop.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/IBrush.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/IDrawingContext.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/ISolidColorBrush.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/ImageBush.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/Imaging/Bitmap.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/Imaging/IBitmap.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/Imaging/RenderTargetBitmap.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/LineGeometry.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/LineSegment.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/LinearGradientBrush.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/MatrixTransform.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/MediaExtensions.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/Mutable/SolidColorBrush.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/PathFigure.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/PathGeometry.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/PathGeometryCollections.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/PathMarkupParser.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/PathSegment.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/Pen.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/PenLineCap.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/PenLineJoin.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/PolylineGeometry.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/QuadraticBezierSegment .cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/RadialGradientBrush.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/RectangleGeometry.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/RotateTransform.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/ScaleTransform.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/SolidColorBrush.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/StreamGeometry.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/StreamGeometryContext.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/Stretch.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/SweepDirection.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/TextAlignment.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/TextHitTestResult.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/TextWrapping.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/TileBrush.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/Transform.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/TransformGroup.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/TranslateTransform.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Media/VisualBrush.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Platform/ExportRenderingSubsystemAttribute.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Platform/IBitmapImpl.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Platform/IFormattedTextImpl.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Platform/IGeometryImpl.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Platform/IPlatformRenderInterface.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Platform/IPlatformSettings.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Platform/IRenderTarget.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Platform/IRenderTargetBitmapImpl.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Platform/IStreamGeometryContextImpl.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Platform/IStreamGeometryImpl.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Point.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Properties/AssemblyInfo.cs (84%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Rect.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/RelativePoint.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/RelativeRect.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/RenderTargetCorruptedException.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Rendering/DefaultRenderLoop.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Rendering/IRenderLoop.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Rendering/IRenderRoot.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Rendering/IRenderer.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Rendering/IRendererFactory.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Rendering/Renderer.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Rendering/RendererMixin.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Size.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Thickness.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Vector.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/Visual.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/VisualExtensions.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/VisualTree/BoundsTracker.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/VisualTree/IHostedVisualTreeRoot.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/VisualTree/IVisual.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/VisualTree/IVisualTreeHost.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/VisualTree/TransformedBounds.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/VisualTree/VisualExtensions.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/VisualTreeAttachmentEventArgs.cs (100%) rename src/{Avalonia.SceneGraph => Avalonia.Visuals}/packages.config (100%) rename tests/{Avalonia.SceneGraph.UnitTests/Avalonia.SceneGraph.UnitTests.csproj => Avalonia.Visuals.UnitTests/Avalonia.Visuals.UnitTests.csproj} (96%) rename tests/{Avalonia.SceneGraph.UnitTests/Avalonia.SceneGraph.UnitTests.v2.ncrunchproject => Avalonia.Visuals.UnitTests/Avalonia.Visuals.UnitTests.v2.ncrunchproject} (100%) rename tests/{Avalonia.SceneGraph.UnitTests => Avalonia.Visuals.UnitTests}/Media/BrushTests.cs (97%) rename tests/{Avalonia.SceneGraph.UnitTests => Avalonia.Visuals.UnitTests}/Media/ColorTests.cs (97%) rename tests/{Avalonia.SceneGraph.UnitTests => Avalonia.Visuals.UnitTests}/Media/FormattedTextTests.cs (93%) rename tests/{Avalonia.SceneGraph.UnitTests => Avalonia.Visuals.UnitTests}/Media/PathMarkupParserTests.cs (98%) rename tests/{Avalonia.SceneGraph.UnitTests => Avalonia.Visuals.UnitTests}/Properties/AssemblyInfo.cs (83%) rename tests/{Avalonia.SceneGraph.UnitTests => Avalonia.Visuals.UnitTests}/RelativePointTests.cs (95%) rename tests/{Avalonia.SceneGraph.UnitTests => Avalonia.Visuals.UnitTests}/RelativeRectComparer.cs (95%) rename tests/{Avalonia.SceneGraph.UnitTests => Avalonia.Visuals.UnitTests}/RelativeRectTests.cs (95%) rename tests/{Avalonia.SceneGraph.UnitTests => Avalonia.Visuals.UnitTests}/RenderTests_Culling.cs (99%) rename tests/{Avalonia.SceneGraph.UnitTests => Avalonia.Visuals.UnitTests}/TestRoot.cs (95%) rename tests/{Avalonia.SceneGraph.UnitTests => Avalonia.Visuals.UnitTests}/TestVisual.cs (97%) rename tests/{Avalonia.SceneGraph.UnitTests => Avalonia.Visuals.UnitTests}/ThicknessTests.cs (96%) rename tests/{Avalonia.SceneGraph.UnitTests => Avalonia.Visuals.UnitTests}/VisualTests.cs (98%) rename tests/{Avalonia.SceneGraph.UnitTests => Avalonia.Visuals.UnitTests}/VisualTree/BoundsTrackerTests.cs (97%) rename tests/{Avalonia.SceneGraph.UnitTests => Avalonia.Visuals.UnitTests}/VisualTree/MockRenderInterface.cs (98%) rename tests/{Avalonia.SceneGraph.UnitTests => Avalonia.Visuals.UnitTests}/VisualTree/VisualExtensionsTests_GetVisualsAt.cs (99%) rename tests/{Avalonia.SceneGraph.UnitTests => Avalonia.Visuals.UnitTests}/packages.config (100%) diff --git a/Avalonia.sln b/Avalonia.sln index 7a0ae0ce53..db23458673 100644 --- a/Avalonia.sln +++ b/Avalonia.sln @@ -4,7 +4,7 @@ VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Base", "src\Avalonia.Base\Avalonia.Base.csproj", "{B09B78D8-9B26-48B0-9149-D64A2F120F3F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.SceneGraph", "src\Avalonia.SceneGraph\Avalonia.SceneGraph.csproj", "{EB582467-6ABB-43A1-B052-E981BA910E3A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Visuals", "src\Avalonia.Visuals\Avalonia.Visuals.csproj", "{EB582467-6ABB-43A1-B052-E981BA910E3A}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Layout", "src\Avalonia.Layout\Avalonia.Layout.csproj", "{42472427-4774-4C81-8AFF-9F27B8E31721}" EndProject @@ -39,7 +39,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Styling.UnitTests" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Controls.UnitTests", "tests\Avalonia.Controls.UnitTests\Avalonia.Controls.UnitTests.csproj", "{5CCB5571-7C30-4E7D-967D-0E2158EBD91F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.SceneGraph.UnitTests", "tests\Avalonia.SceneGraph.UnitTests\Avalonia.SceneGraph.UnitTests.csproj", "{76716382-3159-460E-BDA6-C5715CF606D7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Visuals.UnitTests", "tests\Avalonia.Visuals.UnitTests\Avalonia.Visuals.UnitTests.csproj", "{76716382-3159-460E-BDA6-C5715CF606D7}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.Base.UnitTests", "tests\Avalonia.Base.UnitTests\Avalonia.Base.UnitTests.csproj", "{2905FF23-53FB-45E6-AA49-6AF47A172056}" EndProject diff --git a/build.cake b/build.cake index cb8ed5b9f5..9b8604f79f 100644 --- a/build.cake +++ b/build.cake @@ -232,8 +232,8 @@ var coreLibraries = new string[][] new [] { "./src/", "Avalonia.Layout", ".xml" }, new [] { "./src/", "Avalonia.Logging.Serilog", ".dll" }, new [] { "./src/", "Avalonia.Logging.Serilog", ".xml" }, - new [] { "./src/", "Avalonia.SceneGraph", ".dll" }, - new [] { "./src/", "Avalonia.SceneGraph", ".xml" }, + new [] { "./src/", "Avalonia.Visuals", ".dll" }, + new [] { "./src/", "Avalonia.Visuals", ".xml" }, new [] { "./src/", "Avalonia.Styling", ".dll" }, new [] { "./src/", "Avalonia.Styling", ".xml" }, new [] { "./src/", "Avalonia.ReactiveUI", ".dll" }, diff --git a/docs/docfx.json b/docs/docfx.json index 2b86d31d57..d49ee066ed 100644 --- a/docs/docfx.json +++ b/docs/docfx.json @@ -18,7 +18,7 @@ "/src/Avalonia.Interactivity/Avalonia.Interactivity.csproj", "/src/Avalonia.Layout/Avalonia.Layout.csproj", "/src/Avalonia.ReactiveUI/Avalonia.ReactiveUI.csproj", - "/src/Avalonia.SceneGraph/Avalonia.SceneGraph.csproj", + "/src/Avalonia.Visuals/Avalonia.Visuals.csproj", "/src/Avalonia.Styling/Avalonia.Styling.csproj", "/src/Avalonia.Themes.Default/Avalonia.Themes.Default.csproj", "/src/Skia/Avalonia.Skia.Desktop/Avalonia.Skia.Desktop.csproj", diff --git a/docs/spec/architecture.md b/docs/spec/architecture.md index 8966308a24..1245bdbfd4 100644 --- a/docs/spec/architecture.md +++ b/docs/spec/architecture.md @@ -40,7 +40,7 @@ The main class in the assembly is `Animatable`. Allows AvaloniaProperties to be animated and provides various utilities related to animation. -### Avalonia.SceneGraph +### Avalonia.Visuals The main class in this assembly is `Visual` and its interface `IVisual`. diff --git a/docs/tutorial/nuget.md b/docs/tutorial/nuget.md index 314575258c..b5f8f50242 100644 --- a/docs/tutorial/nuget.md +++ b/docs/tutorial/nuget.md @@ -20,7 +20,7 @@ Avalonia is divided into several `NuGet` packages. - Avalonia.Interactivity (.dll) - Avalonia.Layout (.dll) - Avalonia.Logging.Serilog (.dll) - - Avalonia.SceneGraph (.dll) + - Avalonia.Visuals (.dll) - Avalonia.Styling (.dll) - Avalonia.ReactiveUI (.dll) - Avalonia.Themes.Default (.dll) diff --git a/samples/BindingTest/BindingTest.csproj b/samples/BindingTest/BindingTest.csproj index a1d79472d8..2dc0cd445b 100644 --- a/samples/BindingTest/BindingTest.csproj +++ b/samples/BindingTest/BindingTest.csproj @@ -148,9 +148,9 @@ {6417b24e-49c2-4985-8db2-3ab9d898ec91} Avalonia.ReactiveUI - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/samples/ControlCatalog.Android/ControlCatalog.Android.csproj b/samples/ControlCatalog.Android/ControlCatalog.Android.csproj index f83b1f3422..5b39aa3dfb 100644 --- a/samples/ControlCatalog.Android/ControlCatalog.Android.csproj +++ b/samples/ControlCatalog.Android/ControlCatalog.Android.csproj @@ -129,9 +129,9 @@ {42472427-4774-4c81-8aff-9f27b8e31721} Avalonia.Layout - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/samples/ControlCatalog.Desktop/ControlCatalog.Desktop.csproj b/samples/ControlCatalog.Desktop/ControlCatalog.Desktop.csproj index 82f4ee1c28..53cb277233 100644 --- a/samples/ControlCatalog.Desktop/ControlCatalog.Desktop.csproj +++ b/samples/ControlCatalog.Desktop/ControlCatalog.Desktop.csproj @@ -112,9 +112,9 @@ {B61B66A3-B82D-4875-8001-89D3394FE0C9} Avalonia.Logging.Serilog - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F} diff --git a/samples/ControlCatalog.iOS/ControlCatalog.iOS.csproj b/samples/ControlCatalog.iOS/ControlCatalog.iOS.csproj index 0e85a4e865..1c4d31b62c 100644 --- a/samples/ControlCatalog.iOS/ControlCatalog.iOS.csproj +++ b/samples/ControlCatalog.iOS/ControlCatalog.iOS.csproj @@ -144,9 +144,9 @@ {42472427-4774-4C81-8AFF-9F27B8E31721} Avalonia.Layout - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F} diff --git a/samples/ControlCatalog/ControlCatalog.csproj b/samples/ControlCatalog/ControlCatalog.csproj index 63c82d9e8a..f4a0915dd1 100644 --- a/samples/ControlCatalog/ControlCatalog.csproj +++ b/samples/ControlCatalog/ControlCatalog.csproj @@ -197,9 +197,9 @@ {6417B24E-49C2-4985-8DB2-3AB9D898EC91} Avalonia.ReactiveUI - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F} diff --git a/samples/RenderTest/RenderTest.csproj b/samples/RenderTest/RenderTest.csproj index 49ce4603ce..f117c76342 100644 --- a/samples/RenderTest/RenderTest.csproj +++ b/samples/RenderTest/RenderTest.csproj @@ -139,9 +139,9 @@ {6417b24e-49c2-4985-8db2-3ab9d898ec91} Avalonia.ReactiveUI - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/samples/TestApplication/TestApplication.csproj b/samples/TestApplication/TestApplication.csproj index 171e9991b6..691c4ea5bb 100644 --- a/samples/TestApplication/TestApplication.csproj +++ b/samples/TestApplication/TestApplication.csproj @@ -143,9 +143,9 @@ {6417B24E-49C2-4985-8DB2-3AB9D898EC91} Avalonia.ReactiveUI - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F} diff --git a/samples/VirtualizationTest/VirtualizationTest.csproj b/samples/VirtualizationTest/VirtualizationTest.csproj index 512d4c361f..9e80dfdc8f 100644 --- a/samples/VirtualizationTest/VirtualizationTest.csproj +++ b/samples/VirtualizationTest/VirtualizationTest.csproj @@ -127,9 +127,9 @@ {6417b24e-49c2-4985-8db2-3ab9d898ec91} Avalonia.ReactiveUI - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/samples/XamlTestApplication/XamlTestApplication.csproj b/samples/XamlTestApplication/XamlTestApplication.csproj index d3c9ba8d7d..a2cc00b150 100644 --- a/samples/XamlTestApplication/XamlTestApplication.csproj +++ b/samples/XamlTestApplication/XamlTestApplication.csproj @@ -143,9 +143,9 @@ {6417B24E-49C2-4985-8DB2-3AB9D898EC91} Avalonia.ReactiveUI - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F} diff --git a/samples/XamlTestApplicationPcl/XamlTestApplicationPcl.csproj b/samples/XamlTestApplicationPcl/XamlTestApplicationPcl.csproj index 9a9b75d5d7..b966cff6df 100644 --- a/samples/XamlTestApplicationPcl/XamlTestApplicationPcl.csproj +++ b/samples/XamlTestApplicationPcl/XamlTestApplicationPcl.csproj @@ -106,9 +106,9 @@ {6417b24e-49c2-4985-8db2-3ab9d898ec91} Avalonia.ReactiveUI - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/samples/interop/GtkInteropDemo/GtkInteropDemo.csproj b/samples/interop/GtkInteropDemo/GtkInteropDemo.csproj index 0d87af8838..738a1e776c 100644 --- a/samples/interop/GtkInteropDemo/GtkInteropDemo.csproj +++ b/samples/interop/GtkInteropDemo/GtkInteropDemo.csproj @@ -112,9 +112,9 @@ {6417b24e-49c2-4985-8db2-3ab9d898ec91} Avalonia.ReactiveUI - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/samples/interop/WindowsInteropTest/WindowsInteropTest.csproj b/samples/interop/WindowsInteropTest/WindowsInteropTest.csproj index 827f73d7ae..671ebd0020 100644 --- a/samples/interop/WindowsInteropTest/WindowsInteropTest.csproj +++ b/samples/interop/WindowsInteropTest/WindowsInteropTest.csproj @@ -136,9 +136,9 @@ {6417b24e-49c2-4985-8db2-3ab9d898ec91} Avalonia.ReactiveUI - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/src/Android/Avalonia.Android/Avalonia.Android.csproj b/src/Android/Avalonia.Android/Avalonia.Android.csproj index a412930b85..70c70ad56e 100644 --- a/src/Android/Avalonia.Android/Avalonia.Android.csproj +++ b/src/Android/Avalonia.Android/Avalonia.Android.csproj @@ -124,9 +124,9 @@ {6417b24e-49c2-4985-8db2-3ab9d898ec91} Avalonia.ReactiveUI - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/src/Android/Avalonia.AndroidTestApplication/Avalonia.AndroidTestApplication.csproj b/src/Android/Avalonia.AndroidTestApplication/Avalonia.AndroidTestApplication.csproj index d86215248a..e004121323 100644 --- a/src/Android/Avalonia.AndroidTestApplication/Avalonia.AndroidTestApplication.csproj +++ b/src/Android/Avalonia.AndroidTestApplication/Avalonia.AndroidTestApplication.csproj @@ -160,9 +160,9 @@ {6417b24e-49c2-4985-8db2-3ab9d898ec91} Avalonia.ReactiveUI - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/src/Avalonia.Controls/Avalonia.Controls.csproj b/src/Avalonia.Controls/Avalonia.Controls.csproj index 3d27a5e501..10fbe746e3 100644 --- a/src/Avalonia.Controls/Avalonia.Controls.csproj +++ b/src/Avalonia.Controls/Avalonia.Controls.csproj @@ -256,9 +256,9 @@ {42472427-4774-4C81-8AFF-9F27B8E31721} Avalonia.Layout - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F} diff --git a/src/Avalonia.DesignerSupport/Avalonia.DesignerSupport.csproj b/src/Avalonia.DesignerSupport/Avalonia.DesignerSupport.csproj index 7c26e0275c..478d0eaa57 100644 --- a/src/Avalonia.DesignerSupport/Avalonia.DesignerSupport.csproj +++ b/src/Avalonia.DesignerSupport/Avalonia.DesignerSupport.csproj @@ -73,9 +73,9 @@ {42472427-4774-4C81-8AFF-9F27B8E31721} Avalonia.Layout - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F} diff --git a/src/Avalonia.Diagnostics/Avalonia.Diagnostics.csproj b/src/Avalonia.Diagnostics/Avalonia.Diagnostics.csproj index 7ac724fcf4..5381f55288 100644 --- a/src/Avalonia.Diagnostics/Avalonia.Diagnostics.csproj +++ b/src/Avalonia.Diagnostics/Avalonia.Diagnostics.csproj @@ -78,9 +78,9 @@ {6417B24E-49C2-4985-8DB2-3AB9D898EC91} Avalonia.ReactiveUI - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F} diff --git a/src/Avalonia.DotNetFrameworkRuntime/Avalonia.DotNetFrameworkRuntime.csproj b/src/Avalonia.DotNetFrameworkRuntime/Avalonia.DotNetFrameworkRuntime.csproj index ff481f769e..f11b67dcc9 100644 --- a/src/Avalonia.DotNetFrameworkRuntime/Avalonia.DotNetFrameworkRuntime.csproj +++ b/src/Avalonia.DotNetFrameworkRuntime/Avalonia.DotNetFrameworkRuntime.csproj @@ -65,9 +65,9 @@ {D2221C82-4A25-4583-9B43-D791E3F6820C} Avalonia.Controls - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/src/Avalonia.HtmlRenderer/Avalonia.HtmlRenderer.csproj b/src/Avalonia.HtmlRenderer/Avalonia.HtmlRenderer.csproj index be0e107f91..dd0a6f2cef 100644 --- a/src/Avalonia.HtmlRenderer/Avalonia.HtmlRenderer.csproj +++ b/src/Avalonia.HtmlRenderer/Avalonia.HtmlRenderer.csproj @@ -161,9 +161,9 @@ {42472427-4774-4C81-8AFF-9F27B8E31721} Avalonia.Layout - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F} diff --git a/src/Avalonia.Input/Avalonia.Input.csproj b/src/Avalonia.Input/Avalonia.Input.csproj index 45a1ce9015..5e0fb50b67 100644 --- a/src/Avalonia.Input/Avalonia.Input.csproj +++ b/src/Avalonia.Input/Avalonia.Input.csproj @@ -58,9 +58,9 @@ {42472427-4774-4C81-8AFF-9F27B8E31721} Avalonia.Layout - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals diff --git a/src/Avalonia.Interactivity/Avalonia.Interactivity.csproj b/src/Avalonia.Interactivity/Avalonia.Interactivity.csproj index a9ddc316ca..499a55ef12 100644 --- a/src/Avalonia.Interactivity/Avalonia.Interactivity.csproj +++ b/src/Avalonia.Interactivity/Avalonia.Interactivity.csproj @@ -54,9 +54,9 @@ {42472427-4774-4C81-8AFF-9F27B8E31721} Avalonia.Layout - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals diff --git a/src/Avalonia.Layout/Avalonia.Layout.csproj b/src/Avalonia.Layout/Avalonia.Layout.csproj index 4db2398dbe..4bc27fc96b 100644 --- a/src/Avalonia.Layout/Avalonia.Layout.csproj +++ b/src/Avalonia.Layout/Avalonia.Layout.csproj @@ -50,9 +50,9 @@ {B09B78D8-9B26-48B0-9149-D64A2F120F3F} Avalonia.Base - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals diff --git a/src/Avalonia.Styling/Avalonia.Styling.csproj b/src/Avalonia.Styling/Avalonia.Styling.csproj index 067900e5ca..3566ed7268 100644 --- a/src/Avalonia.Styling/Avalonia.Styling.csproj +++ b/src/Avalonia.Styling/Avalonia.Styling.csproj @@ -111,9 +111,9 @@ {B09B78D8-9B26-48B0-9149-D64A2F120F3F} Avalonia.Base - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals diff --git a/src/Avalonia.Themes.Default/Avalonia.Themes.Default.csproj b/src/Avalonia.Themes.Default/Avalonia.Themes.Default.csproj index cd0bf77eae..578bb9cdff 100644 --- a/src/Avalonia.Themes.Default/Avalonia.Themes.Default.csproj +++ b/src/Avalonia.Themes.Default/Avalonia.Themes.Default.csproj @@ -68,9 +68,9 @@ {42472427-4774-4C81-8AFF-9F27B8E31721} Avalonia.Layout - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F} diff --git a/src/Avalonia.SceneGraph/Animation/CrossFade.cs b/src/Avalonia.Visuals/Animation/CrossFade.cs similarity index 100% rename from src/Avalonia.SceneGraph/Animation/CrossFade.cs rename to src/Avalonia.Visuals/Animation/CrossFade.cs diff --git a/src/Avalonia.SceneGraph/Animation/IPageTransition.cs b/src/Avalonia.Visuals/Animation/IPageTransition.cs similarity index 100% rename from src/Avalonia.SceneGraph/Animation/IPageTransition.cs rename to src/Avalonia.Visuals/Animation/IPageTransition.cs diff --git a/src/Avalonia.SceneGraph/Animation/PageSlide.cs b/src/Avalonia.Visuals/Animation/PageSlide.cs similarity index 100% rename from src/Avalonia.SceneGraph/Animation/PageSlide.cs rename to src/Avalonia.Visuals/Animation/PageSlide.cs diff --git a/src/Avalonia.SceneGraph/Avalonia.SceneGraph.csproj b/src/Avalonia.Visuals/Avalonia.Visuals.csproj similarity index 97% rename from src/Avalonia.SceneGraph/Avalonia.SceneGraph.csproj rename to src/Avalonia.Visuals/Avalonia.Visuals.csproj index 3d2347683d..d9736e4c6e 100644 --- a/src/Avalonia.SceneGraph/Avalonia.SceneGraph.csproj +++ b/src/Avalonia.Visuals/Avalonia.Visuals.csproj @@ -9,7 +9,7 @@ Library Properties Avalonia - Avalonia.SceneGraph + Avalonia.Visuals en-US 512 {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} @@ -26,7 +26,7 @@ DEBUG;TRACE prompt 4 - bin\Debug\Avalonia.SceneGraph.XML + bin\Debug\Avalonia.Visuals.xml CS1591 @@ -36,7 +36,7 @@ TRACE prompt 4 - bin\Release\Avalonia.SceneGraph.XML + bin\Release\Avalonia.Visuals.xml CS1591 true diff --git a/src/Avalonia.SceneGraph/Avalonia.SceneGraph.v2.ncrunchproject b/src/Avalonia.Visuals/Avalonia.Visuals.v2.ncrunchproject similarity index 100% rename from src/Avalonia.SceneGraph/Avalonia.SceneGraph.v2.ncrunchproject rename to src/Avalonia.Visuals/Avalonia.Visuals.v2.ncrunchproject diff --git a/src/Avalonia.SceneGraph/INamed.cs b/src/Avalonia.Visuals/INamed.cs similarity index 100% rename from src/Avalonia.SceneGraph/INamed.cs rename to src/Avalonia.Visuals/INamed.cs diff --git a/src/Avalonia.SceneGraph/Matrix.cs b/src/Avalonia.Visuals/Matrix.cs similarity index 100% rename from src/Avalonia.SceneGraph/Matrix.cs rename to src/Avalonia.Visuals/Matrix.cs diff --git a/src/Avalonia.SceneGraph/Media/AlignmentX.cs b/src/Avalonia.Visuals/Media/AlignmentX.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/AlignmentX.cs rename to src/Avalonia.Visuals/Media/AlignmentX.cs diff --git a/src/Avalonia.SceneGraph/Media/AlignmentY.cs b/src/Avalonia.Visuals/Media/AlignmentY.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/AlignmentY.cs rename to src/Avalonia.Visuals/Media/AlignmentY.cs diff --git a/src/Avalonia.SceneGraph/Media/ArcSegment.cs b/src/Avalonia.Visuals/Media/ArcSegment.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/ArcSegment.cs rename to src/Avalonia.Visuals/Media/ArcSegment.cs diff --git a/src/Avalonia.SceneGraph/Media/BezierSegment .cs b/src/Avalonia.Visuals/Media/BezierSegment .cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/BezierSegment .cs rename to src/Avalonia.Visuals/Media/BezierSegment .cs diff --git a/src/Avalonia.SceneGraph/Media/Brush.cs b/src/Avalonia.Visuals/Media/Brush.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/Brush.cs rename to src/Avalonia.Visuals/Media/Brush.cs diff --git a/src/Avalonia.SceneGraph/Media/BrushMappingMode.cs b/src/Avalonia.Visuals/Media/BrushMappingMode.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/BrushMappingMode.cs rename to src/Avalonia.Visuals/Media/BrushMappingMode.cs diff --git a/src/Avalonia.SceneGraph/Media/Brushes.cs b/src/Avalonia.Visuals/Media/Brushes.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/Brushes.cs rename to src/Avalonia.Visuals/Media/Brushes.cs diff --git a/src/Avalonia.SceneGraph/Media/Color.cs b/src/Avalonia.Visuals/Media/Color.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/Color.cs rename to src/Avalonia.Visuals/Media/Color.cs diff --git a/src/Avalonia.SceneGraph/Media/Colors.cs b/src/Avalonia.Visuals/Media/Colors.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/Colors.cs rename to src/Avalonia.Visuals/Media/Colors.cs diff --git a/src/Avalonia.SceneGraph/Media/DashStyle.cs b/src/Avalonia.Visuals/Media/DashStyle.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/DashStyle.cs rename to src/Avalonia.Visuals/Media/DashStyle.cs diff --git a/src/Avalonia.SceneGraph/Media/DrawingContext.cs b/src/Avalonia.Visuals/Media/DrawingContext.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/DrawingContext.cs rename to src/Avalonia.Visuals/Media/DrawingContext.cs diff --git a/src/Avalonia.SceneGraph/Media/EllipseGeometry.cs b/src/Avalonia.Visuals/Media/EllipseGeometry.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/EllipseGeometry.cs rename to src/Avalonia.Visuals/Media/EllipseGeometry.cs diff --git a/src/Avalonia.SceneGraph/Media/FillRule.cs b/src/Avalonia.Visuals/Media/FillRule.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/FillRule.cs rename to src/Avalonia.Visuals/Media/FillRule.cs diff --git a/src/Avalonia.SceneGraph/Media/FontStyle.cs b/src/Avalonia.Visuals/Media/FontStyle.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/FontStyle.cs rename to src/Avalonia.Visuals/Media/FontStyle.cs diff --git a/src/Avalonia.SceneGraph/Media/FontWeight.cs b/src/Avalonia.Visuals/Media/FontWeight.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/FontWeight.cs rename to src/Avalonia.Visuals/Media/FontWeight.cs diff --git a/src/Avalonia.SceneGraph/Media/FormattedText.cs b/src/Avalonia.Visuals/Media/FormattedText.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/FormattedText.cs rename to src/Avalonia.Visuals/Media/FormattedText.cs diff --git a/src/Avalonia.SceneGraph/Media/FormattedTextLine.cs b/src/Avalonia.Visuals/Media/FormattedTextLine.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/FormattedTextLine.cs rename to src/Avalonia.Visuals/Media/FormattedTextLine.cs diff --git a/src/Avalonia.SceneGraph/Media/Geometry.cs b/src/Avalonia.Visuals/Media/Geometry.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/Geometry.cs rename to src/Avalonia.Visuals/Media/Geometry.cs diff --git a/src/Avalonia.SceneGraph/Media/GradientBrush.cs b/src/Avalonia.Visuals/Media/GradientBrush.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/GradientBrush.cs rename to src/Avalonia.Visuals/Media/GradientBrush.cs diff --git a/src/Avalonia.SceneGraph/Media/GradientSpreadMethod.cs b/src/Avalonia.Visuals/Media/GradientSpreadMethod.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/GradientSpreadMethod.cs rename to src/Avalonia.Visuals/Media/GradientSpreadMethod.cs diff --git a/src/Avalonia.SceneGraph/Media/GradientStop.cs b/src/Avalonia.Visuals/Media/GradientStop.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/GradientStop.cs rename to src/Avalonia.Visuals/Media/GradientStop.cs diff --git a/src/Avalonia.SceneGraph/Media/IBrush.cs b/src/Avalonia.Visuals/Media/IBrush.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/IBrush.cs rename to src/Avalonia.Visuals/Media/IBrush.cs diff --git a/src/Avalonia.SceneGraph/Media/IDrawingContext.cs b/src/Avalonia.Visuals/Media/IDrawingContext.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/IDrawingContext.cs rename to src/Avalonia.Visuals/Media/IDrawingContext.cs diff --git a/src/Avalonia.SceneGraph/Media/ISolidColorBrush.cs b/src/Avalonia.Visuals/Media/ISolidColorBrush.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/ISolidColorBrush.cs rename to src/Avalonia.Visuals/Media/ISolidColorBrush.cs diff --git a/src/Avalonia.SceneGraph/Media/ImageBush.cs b/src/Avalonia.Visuals/Media/ImageBush.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/ImageBush.cs rename to src/Avalonia.Visuals/Media/ImageBush.cs diff --git a/src/Avalonia.SceneGraph/Media/Imaging/Bitmap.cs b/src/Avalonia.Visuals/Media/Imaging/Bitmap.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/Imaging/Bitmap.cs rename to src/Avalonia.Visuals/Media/Imaging/Bitmap.cs diff --git a/src/Avalonia.SceneGraph/Media/Imaging/IBitmap.cs b/src/Avalonia.Visuals/Media/Imaging/IBitmap.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/Imaging/IBitmap.cs rename to src/Avalonia.Visuals/Media/Imaging/IBitmap.cs diff --git a/src/Avalonia.SceneGraph/Media/Imaging/RenderTargetBitmap.cs b/src/Avalonia.Visuals/Media/Imaging/RenderTargetBitmap.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/Imaging/RenderTargetBitmap.cs rename to src/Avalonia.Visuals/Media/Imaging/RenderTargetBitmap.cs diff --git a/src/Avalonia.SceneGraph/Media/LineGeometry.cs b/src/Avalonia.Visuals/Media/LineGeometry.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/LineGeometry.cs rename to src/Avalonia.Visuals/Media/LineGeometry.cs diff --git a/src/Avalonia.SceneGraph/Media/LineSegment.cs b/src/Avalonia.Visuals/Media/LineSegment.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/LineSegment.cs rename to src/Avalonia.Visuals/Media/LineSegment.cs diff --git a/src/Avalonia.SceneGraph/Media/LinearGradientBrush.cs b/src/Avalonia.Visuals/Media/LinearGradientBrush.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/LinearGradientBrush.cs rename to src/Avalonia.Visuals/Media/LinearGradientBrush.cs diff --git a/src/Avalonia.SceneGraph/Media/MatrixTransform.cs b/src/Avalonia.Visuals/Media/MatrixTransform.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/MatrixTransform.cs rename to src/Avalonia.Visuals/Media/MatrixTransform.cs diff --git a/src/Avalonia.SceneGraph/Media/MediaExtensions.cs b/src/Avalonia.Visuals/Media/MediaExtensions.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/MediaExtensions.cs rename to src/Avalonia.Visuals/Media/MediaExtensions.cs diff --git a/src/Avalonia.SceneGraph/Media/Mutable/SolidColorBrush.cs b/src/Avalonia.Visuals/Media/Mutable/SolidColorBrush.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/Mutable/SolidColorBrush.cs rename to src/Avalonia.Visuals/Media/Mutable/SolidColorBrush.cs diff --git a/src/Avalonia.SceneGraph/Media/PathFigure.cs b/src/Avalonia.Visuals/Media/PathFigure.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/PathFigure.cs rename to src/Avalonia.Visuals/Media/PathFigure.cs diff --git a/src/Avalonia.SceneGraph/Media/PathGeometry.cs b/src/Avalonia.Visuals/Media/PathGeometry.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/PathGeometry.cs rename to src/Avalonia.Visuals/Media/PathGeometry.cs diff --git a/src/Avalonia.SceneGraph/Media/PathGeometryCollections.cs b/src/Avalonia.Visuals/Media/PathGeometryCollections.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/PathGeometryCollections.cs rename to src/Avalonia.Visuals/Media/PathGeometryCollections.cs diff --git a/src/Avalonia.SceneGraph/Media/PathMarkupParser.cs b/src/Avalonia.Visuals/Media/PathMarkupParser.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/PathMarkupParser.cs rename to src/Avalonia.Visuals/Media/PathMarkupParser.cs diff --git a/src/Avalonia.SceneGraph/Media/PathSegment.cs b/src/Avalonia.Visuals/Media/PathSegment.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/PathSegment.cs rename to src/Avalonia.Visuals/Media/PathSegment.cs diff --git a/src/Avalonia.SceneGraph/Media/Pen.cs b/src/Avalonia.Visuals/Media/Pen.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/Pen.cs rename to src/Avalonia.Visuals/Media/Pen.cs diff --git a/src/Avalonia.SceneGraph/Media/PenLineCap.cs b/src/Avalonia.Visuals/Media/PenLineCap.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/PenLineCap.cs rename to src/Avalonia.Visuals/Media/PenLineCap.cs diff --git a/src/Avalonia.SceneGraph/Media/PenLineJoin.cs b/src/Avalonia.Visuals/Media/PenLineJoin.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/PenLineJoin.cs rename to src/Avalonia.Visuals/Media/PenLineJoin.cs diff --git a/src/Avalonia.SceneGraph/Media/PolylineGeometry.cs b/src/Avalonia.Visuals/Media/PolylineGeometry.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/PolylineGeometry.cs rename to src/Avalonia.Visuals/Media/PolylineGeometry.cs diff --git a/src/Avalonia.SceneGraph/Media/QuadraticBezierSegment .cs b/src/Avalonia.Visuals/Media/QuadraticBezierSegment .cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/QuadraticBezierSegment .cs rename to src/Avalonia.Visuals/Media/QuadraticBezierSegment .cs diff --git a/src/Avalonia.SceneGraph/Media/RadialGradientBrush.cs b/src/Avalonia.Visuals/Media/RadialGradientBrush.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/RadialGradientBrush.cs rename to src/Avalonia.Visuals/Media/RadialGradientBrush.cs diff --git a/src/Avalonia.SceneGraph/Media/RectangleGeometry.cs b/src/Avalonia.Visuals/Media/RectangleGeometry.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/RectangleGeometry.cs rename to src/Avalonia.Visuals/Media/RectangleGeometry.cs diff --git a/src/Avalonia.SceneGraph/Media/RotateTransform.cs b/src/Avalonia.Visuals/Media/RotateTransform.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/RotateTransform.cs rename to src/Avalonia.Visuals/Media/RotateTransform.cs diff --git a/src/Avalonia.SceneGraph/Media/ScaleTransform.cs b/src/Avalonia.Visuals/Media/ScaleTransform.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/ScaleTransform.cs rename to src/Avalonia.Visuals/Media/ScaleTransform.cs diff --git a/src/Avalonia.SceneGraph/Media/SolidColorBrush.cs b/src/Avalonia.Visuals/Media/SolidColorBrush.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/SolidColorBrush.cs rename to src/Avalonia.Visuals/Media/SolidColorBrush.cs diff --git a/src/Avalonia.SceneGraph/Media/StreamGeometry.cs b/src/Avalonia.Visuals/Media/StreamGeometry.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/StreamGeometry.cs rename to src/Avalonia.Visuals/Media/StreamGeometry.cs diff --git a/src/Avalonia.SceneGraph/Media/StreamGeometryContext.cs b/src/Avalonia.Visuals/Media/StreamGeometryContext.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/StreamGeometryContext.cs rename to src/Avalonia.Visuals/Media/StreamGeometryContext.cs diff --git a/src/Avalonia.SceneGraph/Media/Stretch.cs b/src/Avalonia.Visuals/Media/Stretch.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/Stretch.cs rename to src/Avalonia.Visuals/Media/Stretch.cs diff --git a/src/Avalonia.SceneGraph/Media/SweepDirection.cs b/src/Avalonia.Visuals/Media/SweepDirection.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/SweepDirection.cs rename to src/Avalonia.Visuals/Media/SweepDirection.cs diff --git a/src/Avalonia.SceneGraph/Media/TextAlignment.cs b/src/Avalonia.Visuals/Media/TextAlignment.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/TextAlignment.cs rename to src/Avalonia.Visuals/Media/TextAlignment.cs diff --git a/src/Avalonia.SceneGraph/Media/TextHitTestResult.cs b/src/Avalonia.Visuals/Media/TextHitTestResult.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/TextHitTestResult.cs rename to src/Avalonia.Visuals/Media/TextHitTestResult.cs diff --git a/src/Avalonia.SceneGraph/Media/TextWrapping.cs b/src/Avalonia.Visuals/Media/TextWrapping.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/TextWrapping.cs rename to src/Avalonia.Visuals/Media/TextWrapping.cs diff --git a/src/Avalonia.SceneGraph/Media/TileBrush.cs b/src/Avalonia.Visuals/Media/TileBrush.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/TileBrush.cs rename to src/Avalonia.Visuals/Media/TileBrush.cs diff --git a/src/Avalonia.SceneGraph/Media/Transform.cs b/src/Avalonia.Visuals/Media/Transform.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/Transform.cs rename to src/Avalonia.Visuals/Media/Transform.cs diff --git a/src/Avalonia.SceneGraph/Media/TransformGroup.cs b/src/Avalonia.Visuals/Media/TransformGroup.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/TransformGroup.cs rename to src/Avalonia.Visuals/Media/TransformGroup.cs diff --git a/src/Avalonia.SceneGraph/Media/TranslateTransform.cs b/src/Avalonia.Visuals/Media/TranslateTransform.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/TranslateTransform.cs rename to src/Avalonia.Visuals/Media/TranslateTransform.cs diff --git a/src/Avalonia.SceneGraph/Media/VisualBrush.cs b/src/Avalonia.Visuals/Media/VisualBrush.cs similarity index 100% rename from src/Avalonia.SceneGraph/Media/VisualBrush.cs rename to src/Avalonia.Visuals/Media/VisualBrush.cs diff --git a/src/Avalonia.SceneGraph/Platform/ExportRenderingSubsystemAttribute.cs b/src/Avalonia.Visuals/Platform/ExportRenderingSubsystemAttribute.cs similarity index 100% rename from src/Avalonia.SceneGraph/Platform/ExportRenderingSubsystemAttribute.cs rename to src/Avalonia.Visuals/Platform/ExportRenderingSubsystemAttribute.cs diff --git a/src/Avalonia.SceneGraph/Platform/IBitmapImpl.cs b/src/Avalonia.Visuals/Platform/IBitmapImpl.cs similarity index 100% rename from src/Avalonia.SceneGraph/Platform/IBitmapImpl.cs rename to src/Avalonia.Visuals/Platform/IBitmapImpl.cs diff --git a/src/Avalonia.SceneGraph/Platform/IFormattedTextImpl.cs b/src/Avalonia.Visuals/Platform/IFormattedTextImpl.cs similarity index 100% rename from src/Avalonia.SceneGraph/Platform/IFormattedTextImpl.cs rename to src/Avalonia.Visuals/Platform/IFormattedTextImpl.cs diff --git a/src/Avalonia.SceneGraph/Platform/IGeometryImpl.cs b/src/Avalonia.Visuals/Platform/IGeometryImpl.cs similarity index 100% rename from src/Avalonia.SceneGraph/Platform/IGeometryImpl.cs rename to src/Avalonia.Visuals/Platform/IGeometryImpl.cs diff --git a/src/Avalonia.SceneGraph/Platform/IPlatformRenderInterface.cs b/src/Avalonia.Visuals/Platform/IPlatformRenderInterface.cs similarity index 100% rename from src/Avalonia.SceneGraph/Platform/IPlatformRenderInterface.cs rename to src/Avalonia.Visuals/Platform/IPlatformRenderInterface.cs diff --git a/src/Avalonia.SceneGraph/Platform/IPlatformSettings.cs b/src/Avalonia.Visuals/Platform/IPlatformSettings.cs similarity index 100% rename from src/Avalonia.SceneGraph/Platform/IPlatformSettings.cs rename to src/Avalonia.Visuals/Platform/IPlatformSettings.cs diff --git a/src/Avalonia.SceneGraph/Platform/IRenderTarget.cs b/src/Avalonia.Visuals/Platform/IRenderTarget.cs similarity index 100% rename from src/Avalonia.SceneGraph/Platform/IRenderTarget.cs rename to src/Avalonia.Visuals/Platform/IRenderTarget.cs diff --git a/src/Avalonia.SceneGraph/Platform/IRenderTargetBitmapImpl.cs b/src/Avalonia.Visuals/Platform/IRenderTargetBitmapImpl.cs similarity index 100% rename from src/Avalonia.SceneGraph/Platform/IRenderTargetBitmapImpl.cs rename to src/Avalonia.Visuals/Platform/IRenderTargetBitmapImpl.cs diff --git a/src/Avalonia.SceneGraph/Platform/IStreamGeometryContextImpl.cs b/src/Avalonia.Visuals/Platform/IStreamGeometryContextImpl.cs similarity index 100% rename from src/Avalonia.SceneGraph/Platform/IStreamGeometryContextImpl.cs rename to src/Avalonia.Visuals/Platform/IStreamGeometryContextImpl.cs diff --git a/src/Avalonia.SceneGraph/Platform/IStreamGeometryImpl.cs b/src/Avalonia.Visuals/Platform/IStreamGeometryImpl.cs similarity index 100% rename from src/Avalonia.SceneGraph/Platform/IStreamGeometryImpl.cs rename to src/Avalonia.Visuals/Platform/IStreamGeometryImpl.cs diff --git a/src/Avalonia.SceneGraph/Point.cs b/src/Avalonia.Visuals/Point.cs similarity index 100% rename from src/Avalonia.SceneGraph/Point.cs rename to src/Avalonia.Visuals/Point.cs diff --git a/src/Avalonia.SceneGraph/Properties/AssemblyInfo.cs b/src/Avalonia.Visuals/Properties/AssemblyInfo.cs similarity index 84% rename from src/Avalonia.SceneGraph/Properties/AssemblyInfo.cs rename to src/Avalonia.Visuals/Properties/AssemblyInfo.cs index b70832a031..25f5aeb8f8 100644 --- a/src/Avalonia.SceneGraph/Properties/AssemblyInfo.cs +++ b/src/Avalonia.Visuals/Properties/AssemblyInfo.cs @@ -4,7 +4,7 @@ using System.Reflection; using Avalonia.Metadata; -[assembly: AssemblyTitle("Avalonia.SceneGraph")] +[assembly: AssemblyTitle("Avalonia.Visuals")] [assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Animation")] [assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Media")] [assembly: XmlnsDefinition("https://github.com/avaloniaui/mutable", "Avalonia.Media.Mutable")] \ No newline at end of file diff --git a/src/Avalonia.SceneGraph/Rect.cs b/src/Avalonia.Visuals/Rect.cs similarity index 100% rename from src/Avalonia.SceneGraph/Rect.cs rename to src/Avalonia.Visuals/Rect.cs diff --git a/src/Avalonia.SceneGraph/RelativePoint.cs b/src/Avalonia.Visuals/RelativePoint.cs similarity index 100% rename from src/Avalonia.SceneGraph/RelativePoint.cs rename to src/Avalonia.Visuals/RelativePoint.cs diff --git a/src/Avalonia.SceneGraph/RelativeRect.cs b/src/Avalonia.Visuals/RelativeRect.cs similarity index 100% rename from src/Avalonia.SceneGraph/RelativeRect.cs rename to src/Avalonia.Visuals/RelativeRect.cs diff --git a/src/Avalonia.SceneGraph/RenderTargetCorruptedException.cs b/src/Avalonia.Visuals/RenderTargetCorruptedException.cs similarity index 100% rename from src/Avalonia.SceneGraph/RenderTargetCorruptedException.cs rename to src/Avalonia.Visuals/RenderTargetCorruptedException.cs diff --git a/src/Avalonia.SceneGraph/Rendering/DefaultRenderLoop.cs b/src/Avalonia.Visuals/Rendering/DefaultRenderLoop.cs similarity index 100% rename from src/Avalonia.SceneGraph/Rendering/DefaultRenderLoop.cs rename to src/Avalonia.Visuals/Rendering/DefaultRenderLoop.cs diff --git a/src/Avalonia.SceneGraph/Rendering/IRenderLoop.cs b/src/Avalonia.Visuals/Rendering/IRenderLoop.cs similarity index 100% rename from src/Avalonia.SceneGraph/Rendering/IRenderLoop.cs rename to src/Avalonia.Visuals/Rendering/IRenderLoop.cs diff --git a/src/Avalonia.SceneGraph/Rendering/IRenderRoot.cs b/src/Avalonia.Visuals/Rendering/IRenderRoot.cs similarity index 100% rename from src/Avalonia.SceneGraph/Rendering/IRenderRoot.cs rename to src/Avalonia.Visuals/Rendering/IRenderRoot.cs diff --git a/src/Avalonia.SceneGraph/Rendering/IRenderer.cs b/src/Avalonia.Visuals/Rendering/IRenderer.cs similarity index 100% rename from src/Avalonia.SceneGraph/Rendering/IRenderer.cs rename to src/Avalonia.Visuals/Rendering/IRenderer.cs diff --git a/src/Avalonia.SceneGraph/Rendering/IRendererFactory.cs b/src/Avalonia.Visuals/Rendering/IRendererFactory.cs similarity index 100% rename from src/Avalonia.SceneGraph/Rendering/IRendererFactory.cs rename to src/Avalonia.Visuals/Rendering/IRendererFactory.cs diff --git a/src/Avalonia.SceneGraph/Rendering/Renderer.cs b/src/Avalonia.Visuals/Rendering/Renderer.cs similarity index 100% rename from src/Avalonia.SceneGraph/Rendering/Renderer.cs rename to src/Avalonia.Visuals/Rendering/Renderer.cs diff --git a/src/Avalonia.SceneGraph/Rendering/RendererMixin.cs b/src/Avalonia.Visuals/Rendering/RendererMixin.cs similarity index 100% rename from src/Avalonia.SceneGraph/Rendering/RendererMixin.cs rename to src/Avalonia.Visuals/Rendering/RendererMixin.cs diff --git a/src/Avalonia.SceneGraph/Size.cs b/src/Avalonia.Visuals/Size.cs similarity index 100% rename from src/Avalonia.SceneGraph/Size.cs rename to src/Avalonia.Visuals/Size.cs diff --git a/src/Avalonia.SceneGraph/Thickness.cs b/src/Avalonia.Visuals/Thickness.cs similarity index 100% rename from src/Avalonia.SceneGraph/Thickness.cs rename to src/Avalonia.Visuals/Thickness.cs diff --git a/src/Avalonia.SceneGraph/Vector.cs b/src/Avalonia.Visuals/Vector.cs similarity index 100% rename from src/Avalonia.SceneGraph/Vector.cs rename to src/Avalonia.Visuals/Vector.cs diff --git a/src/Avalonia.SceneGraph/Visual.cs b/src/Avalonia.Visuals/Visual.cs similarity index 100% rename from src/Avalonia.SceneGraph/Visual.cs rename to src/Avalonia.Visuals/Visual.cs diff --git a/src/Avalonia.SceneGraph/VisualExtensions.cs b/src/Avalonia.Visuals/VisualExtensions.cs similarity index 100% rename from src/Avalonia.SceneGraph/VisualExtensions.cs rename to src/Avalonia.Visuals/VisualExtensions.cs diff --git a/src/Avalonia.SceneGraph/VisualTree/BoundsTracker.cs b/src/Avalonia.Visuals/VisualTree/BoundsTracker.cs similarity index 100% rename from src/Avalonia.SceneGraph/VisualTree/BoundsTracker.cs rename to src/Avalonia.Visuals/VisualTree/BoundsTracker.cs diff --git a/src/Avalonia.SceneGraph/VisualTree/IHostedVisualTreeRoot.cs b/src/Avalonia.Visuals/VisualTree/IHostedVisualTreeRoot.cs similarity index 100% rename from src/Avalonia.SceneGraph/VisualTree/IHostedVisualTreeRoot.cs rename to src/Avalonia.Visuals/VisualTree/IHostedVisualTreeRoot.cs diff --git a/src/Avalonia.SceneGraph/VisualTree/IVisual.cs b/src/Avalonia.Visuals/VisualTree/IVisual.cs similarity index 100% rename from src/Avalonia.SceneGraph/VisualTree/IVisual.cs rename to src/Avalonia.Visuals/VisualTree/IVisual.cs diff --git a/src/Avalonia.SceneGraph/VisualTree/IVisualTreeHost.cs b/src/Avalonia.Visuals/VisualTree/IVisualTreeHost.cs similarity index 100% rename from src/Avalonia.SceneGraph/VisualTree/IVisualTreeHost.cs rename to src/Avalonia.Visuals/VisualTree/IVisualTreeHost.cs diff --git a/src/Avalonia.SceneGraph/VisualTree/TransformedBounds.cs b/src/Avalonia.Visuals/VisualTree/TransformedBounds.cs similarity index 100% rename from src/Avalonia.SceneGraph/VisualTree/TransformedBounds.cs rename to src/Avalonia.Visuals/VisualTree/TransformedBounds.cs diff --git a/src/Avalonia.SceneGraph/VisualTree/VisualExtensions.cs b/src/Avalonia.Visuals/VisualTree/VisualExtensions.cs similarity index 100% rename from src/Avalonia.SceneGraph/VisualTree/VisualExtensions.cs rename to src/Avalonia.Visuals/VisualTree/VisualExtensions.cs diff --git a/src/Avalonia.SceneGraph/VisualTreeAttachmentEventArgs.cs b/src/Avalonia.Visuals/VisualTreeAttachmentEventArgs.cs similarity index 100% rename from src/Avalonia.SceneGraph/VisualTreeAttachmentEventArgs.cs rename to src/Avalonia.Visuals/VisualTreeAttachmentEventArgs.cs diff --git a/src/Avalonia.SceneGraph/packages.config b/src/Avalonia.Visuals/packages.config similarity index 100% rename from src/Avalonia.SceneGraph/packages.config rename to src/Avalonia.Visuals/packages.config diff --git a/src/Gtk/Avalonia.Cairo/Avalonia.Cairo.csproj b/src/Gtk/Avalonia.Cairo/Avalonia.Cairo.csproj index 16a09821cb..3ecd91eee2 100644 --- a/src/Gtk/Avalonia.Cairo/Avalonia.Cairo.csproj +++ b/src/Gtk/Avalonia.Cairo/Avalonia.Cairo.csproj @@ -98,9 +98,9 @@ {42472427-4774-4C81-8AFF-9F27B8E31721} Avalonia.Layout - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/src/Gtk/Avalonia.Gtk/Avalonia.Gtk.csproj b/src/Gtk/Avalonia.Gtk/Avalonia.Gtk.csproj index 7e8c118196..b001c7bc19 100644 --- a/src/Gtk/Avalonia.Gtk/Avalonia.Gtk.csproj +++ b/src/Gtk/Avalonia.Gtk/Avalonia.Gtk.csproj @@ -79,9 +79,9 @@ {62024B2D-53EB-4638-B26B-85EEAA54866E} Avalonia.Input - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {42472427-4774-4C81-8AFF-9F27B8E31721} diff --git a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj index 2b0d034a5a..00edd205f3 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj +++ b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj @@ -308,9 +308,9 @@ {42472427-4774-4C81-8AFF-9F27B8E31721} Avalonia.Layout - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F} diff --git a/src/Markup/Avalonia.Markup/Avalonia.Markup.csproj b/src/Markup/Avalonia.Markup/Avalonia.Markup.csproj index 1c3f453280..5bdbb5a827 100644 --- a/src/Markup/Avalonia.Markup/Avalonia.Markup.csproj +++ b/src/Markup/Avalonia.Markup/Avalonia.Markup.csproj @@ -103,9 +103,9 @@ {42472427-4774-4c81-8aff-9f27b8e31721} Avalonia.Layout - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/src/Skia/Avalonia.Skia.Android.TestApp/Avalonia.Skia.Android.TestApp.csproj b/src/Skia/Avalonia.Skia.Android.TestApp/Avalonia.Skia.Android.TestApp.csproj index db2964fdb2..041c8d9ecb 100644 --- a/src/Skia/Avalonia.Skia.Android.TestApp/Avalonia.Skia.Android.TestApp.csproj +++ b/src/Skia/Avalonia.Skia.Android.TestApp/Avalonia.Skia.Android.TestApp.csproj @@ -110,9 +110,9 @@ {42472427-4774-4c81-8aff-9f27b8e31721} Avalonia.Layout - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/src/Skia/Avalonia.Skia.Android/Avalonia.Skia.Android.csproj b/src/Skia/Avalonia.Skia.Android/Avalonia.Skia.Android.csproj index b3b9a57880..cf352607f0 100644 --- a/src/Skia/Avalonia.Skia.Android/Avalonia.Skia.Android.csproj +++ b/src/Skia/Avalonia.Skia.Android/Avalonia.Skia.Android.csproj @@ -77,9 +77,9 @@ {42472427-4774-4c81-8aff-9f27b8e31721} Avalonia.Layout - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/src/Skia/Avalonia.Skia.Desktop/Avalonia.Skia.Desktop.csproj b/src/Skia/Avalonia.Skia.Desktop/Avalonia.Skia.Desktop.csproj index f5dd4180eb..d7d865225a 100644 --- a/src/Skia/Avalonia.Skia.Desktop/Avalonia.Skia.Desktop.csproj +++ b/src/Skia/Avalonia.Skia.Desktop/Avalonia.Skia.Desktop.csproj @@ -103,9 +103,9 @@ {42472427-4774-4c81-8aff-9f27b8e31721} Avalonia.Layout - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/src/Skia/Avalonia.Skia.iOS.TestApp/Avalonia.Skia.iOS.TestApp.csproj b/src/Skia/Avalonia.Skia.iOS.TestApp/Avalonia.Skia.iOS.TestApp.csproj index 6bfba688f9..9cef634048 100644 --- a/src/Skia/Avalonia.Skia.iOS.TestApp/Avalonia.Skia.iOS.TestApp.csproj +++ b/src/Skia/Avalonia.Skia.iOS.TestApp/Avalonia.Skia.iOS.TestApp.csproj @@ -1,4 +1,4 @@ - + Debug @@ -124,9 +124,9 @@ {42472427-4774-4c81-8aff-9f27b8e31721} Avalonia.Layout - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj b/src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj index 21123fae29..28892c3c01 100644 --- a/src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj +++ b/src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj @@ -76,9 +76,9 @@ {42472427-4774-4c81-8aff-9f27b8e31721} Avalonia.Layout - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/src/Windows/Avalonia.Direct2D1/Avalonia.Direct2D1.csproj b/src/Windows/Avalonia.Direct2D1/Avalonia.Direct2D1.csproj index f11eba2397..6b7e19d3f7 100644 --- a/src/Windows/Avalonia.Direct2D1/Avalonia.Direct2D1.csproj +++ b/src/Windows/Avalonia.Direct2D1/Avalonia.Direct2D1.csproj @@ -109,9 +109,9 @@ {42472427-4774-4C81-8AFF-9F27B8E31721} Avalonia.Layout - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/src/Windows/Avalonia.Win32/Avalonia.Win32.csproj b/src/Windows/Avalonia.Win32/Avalonia.Win32.csproj index 51ad5ce05e..4b190dc469 100644 --- a/src/Windows/Avalonia.Win32/Avalonia.Win32.csproj +++ b/src/Windows/Avalonia.Win32/Avalonia.Win32.csproj @@ -113,9 +113,9 @@ {42472427-4774-4C81-8AFF-9F27B8E31721} Avalonia.Layout - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F} diff --git a/src/iOS/Avalonia.iOS/Avalonia.iOS.csproj b/src/iOS/Avalonia.iOS/Avalonia.iOS.csproj index 6385ef3352..cbe17022b1 100644 --- a/src/iOS/Avalonia.iOS/Avalonia.iOS.csproj +++ b/src/iOS/Avalonia.iOS/Avalonia.iOS.csproj @@ -72,9 +72,9 @@ {42472427-4774-4c81-8aff-9f27b8e31721} Avalonia.Layout - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/src/iOS/Avalonia.iOSTestApplication/Avalonia.iOSTestApplication.csproj b/src/iOS/Avalonia.iOSTestApplication/Avalonia.iOSTestApplication.csproj index 51f21312c6..9909d7b9f5 100644 --- a/src/iOS/Avalonia.iOSTestApplication/Avalonia.iOSTestApplication.csproj +++ b/src/iOS/Avalonia.iOSTestApplication/Avalonia.iOSTestApplication.csproj @@ -171,9 +171,9 @@ {42472427-4774-4c81-8aff-9f27b8e31721} Avalonia.Layout - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/tests/Avalonia.Benchmarks/Avalonia.Benchmarks.csproj b/tests/Avalonia.Benchmarks/Avalonia.Benchmarks.csproj index ada6b53cda..cb8b32c2cc 100644 --- a/tests/Avalonia.Benchmarks/Avalonia.Benchmarks.csproj +++ b/tests/Avalonia.Benchmarks/Avalonia.Benchmarks.csproj @@ -1,4 +1,4 @@ - + @@ -98,9 +98,9 @@ {42472427-4774-4c81-8aff-9f27b8e31721} Avalonia.Layout - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/tests/Avalonia.Controls.UnitTests/Avalonia.Controls.UnitTests.csproj b/tests/Avalonia.Controls.UnitTests/Avalonia.Controls.UnitTests.csproj index b967f68b78..aea972ec42 100644 --- a/tests/Avalonia.Controls.UnitTests/Avalonia.Controls.UnitTests.csproj +++ b/tests/Avalonia.Controls.UnitTests/Avalonia.Controls.UnitTests.csproj @@ -190,9 +190,9 @@ {42472427-4774-4C81-8AFF-9F27B8E31721} Avalonia.Layout - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F} diff --git a/tests/Avalonia.DesignerSupport.TestApp/Avalonia.DesignerSupport.TestApp.csproj b/tests/Avalonia.DesignerSupport.TestApp/Avalonia.DesignerSupport.TestApp.csproj index e0a25ededb..49d7f44102 100644 --- a/tests/Avalonia.DesignerSupport.TestApp/Avalonia.DesignerSupport.TestApp.csproj +++ b/tests/Avalonia.DesignerSupport.TestApp/Avalonia.DesignerSupport.TestApp.csproj @@ -117,9 +117,9 @@ {42472427-4774-4c81-8aff-9f27b8e31721} Avalonia.Layout - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/tests/Avalonia.Direct2D1.UnitTests/Avalonia.Direct2D1.UnitTests.csproj b/tests/Avalonia.Direct2D1.UnitTests/Avalonia.Direct2D1.UnitTests.csproj index 17da11e190..3db0bfa876 100644 --- a/tests/Avalonia.Direct2D1.UnitTests/Avalonia.Direct2D1.UnitTests.csproj +++ b/tests/Avalonia.Direct2D1.UnitTests/Avalonia.Direct2D1.UnitTests.csproj @@ -1,4 +1,4 @@ - + @@ -90,9 +90,9 @@ {42472427-4774-4C81-8AFF-9F27B8E31721} Avalonia.Layout - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F} diff --git a/tests/Avalonia.Input.UnitTests/Avalonia.Input.UnitTests.csproj b/tests/Avalonia.Input.UnitTests/Avalonia.Input.UnitTests.csproj index 7e37dceadd..5ed05e9e33 100644 --- a/tests/Avalonia.Input.UnitTests/Avalonia.Input.UnitTests.csproj +++ b/tests/Avalonia.Input.UnitTests/Avalonia.Input.UnitTests.csproj @@ -121,9 +121,9 @@ {42472427-4774-4C81-8AFF-9F27B8E31721} Avalonia.Layout - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F} diff --git a/tests/Avalonia.Interactivity.UnitTests/Avalonia.Interactivity.UnitTests.csproj b/tests/Avalonia.Interactivity.UnitTests/Avalonia.Interactivity.UnitTests.csproj index d68cb184d3..6dfefe1a63 100644 --- a/tests/Avalonia.Interactivity.UnitTests/Avalonia.Interactivity.UnitTests.csproj +++ b/tests/Avalonia.Interactivity.UnitTests/Avalonia.Interactivity.UnitTests.csproj @@ -1,4 +1,4 @@ - + @@ -91,9 +91,9 @@ {42472427-4774-4C81-8AFF-9F27B8E31721} Avalonia.Layout - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/tests/Avalonia.Layout.UnitTests/Avalonia.Layout.UnitTests.csproj b/tests/Avalonia.Layout.UnitTests/Avalonia.Layout.UnitTests.csproj index e70ecb7a5e..d7912d1828 100644 --- a/tests/Avalonia.Layout.UnitTests/Avalonia.Layout.UnitTests.csproj +++ b/tests/Avalonia.Layout.UnitTests/Avalonia.Layout.UnitTests.csproj @@ -129,9 +129,9 @@ {6417b24e-49c2-4985-8db2-3ab9d898ec91} Avalonia.ReactiveUI - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F} diff --git a/tests/Avalonia.LeakTests/Avalonia.LeakTests.csproj b/tests/Avalonia.LeakTests/Avalonia.LeakTests.csproj index 9aef304beb..b3734255d6 100644 --- a/tests/Avalonia.LeakTests/Avalonia.LeakTests.csproj +++ b/tests/Avalonia.LeakTests/Avalonia.LeakTests.csproj @@ -142,9 +142,9 @@ {42472427-4774-4c81-8aff-9f27b8e31721} Avalonia.Layout - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/tests/Avalonia.Markup.UnitTests/Avalonia.Markup.UnitTests.csproj b/tests/Avalonia.Markup.UnitTests/Avalonia.Markup.UnitTests.csproj index 66d234ac19..e2b11dc1f0 100644 --- a/tests/Avalonia.Markup.UnitTests/Avalonia.Markup.UnitTests.csproj +++ b/tests/Avalonia.Markup.UnitTests/Avalonia.Markup.UnitTests.csproj @@ -149,9 +149,9 @@ {42472427-4774-4c81-8aff-9f27b8e31721} Avalonia.Layout - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj b/tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj index 54e61fc7d2..4ad740bab0 100644 --- a/tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj +++ b/tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj @@ -154,9 +154,9 @@ {6417B24E-49C2-4985-8DB2-3AB9D898EC91} Avalonia.ReactiveUI - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F} diff --git a/tests/Avalonia.RenderTests/Avalonia.Cairo.RenderTests.csproj b/tests/Avalonia.RenderTests/Avalonia.Cairo.RenderTests.csproj index a4089d6f4c..bebfdfad51 100644 --- a/tests/Avalonia.RenderTests/Avalonia.Cairo.RenderTests.csproj +++ b/tests/Avalonia.RenderTests/Avalonia.Cairo.RenderTests.csproj @@ -118,9 +118,9 @@ {42472427-4774-4C81-8AFF-9F27B8E31721} Avalonia.Layout - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F} diff --git a/tests/Avalonia.RenderTests/Avalonia.Direct2D1.RenderTests.csproj b/tests/Avalonia.RenderTests/Avalonia.Direct2D1.RenderTests.csproj index b81ff06e87..c615d5a59f 100644 --- a/tests/Avalonia.RenderTests/Avalonia.Direct2D1.RenderTests.csproj +++ b/tests/Avalonia.RenderTests/Avalonia.Direct2D1.RenderTests.csproj @@ -101,9 +101,9 @@ {42472427-4774-4C81-8AFF-9F27B8E31721} Avalonia.Layout - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F} diff --git a/tests/Avalonia.RenderTests/Avalonia.Skia.RenderTests.csproj b/tests/Avalonia.RenderTests/Avalonia.Skia.RenderTests.csproj index ee30860df9..c374d8d4e0 100644 --- a/tests/Avalonia.RenderTests/Avalonia.Skia.RenderTests.csproj +++ b/tests/Avalonia.RenderTests/Avalonia.Skia.RenderTests.csproj @@ -111,9 +111,9 @@ {42472427-4774-4c81-8aff-9f27b8e31721} Avalonia.Layout - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/tests/Avalonia.Styling.UnitTests/Avalonia.Styling.UnitTests.csproj b/tests/Avalonia.Styling.UnitTests/Avalonia.Styling.UnitTests.csproj index 16d33fa2f1..cf53b4ef9b 100644 --- a/tests/Avalonia.Styling.UnitTests/Avalonia.Styling.UnitTests.csproj +++ b/tests/Avalonia.Styling.UnitTests/Avalonia.Styling.UnitTests.csproj @@ -138,9 +138,9 @@ {42472427-4774-4C81-8AFF-9F27B8E31721} Avalonia.Layout - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F} diff --git a/tests/Avalonia.UnitTests/Avalonia.UnitTests.csproj b/tests/Avalonia.UnitTests/Avalonia.UnitTests.csproj index 56b2dc6850..7a84243953 100644 --- a/tests/Avalonia.UnitTests/Avalonia.UnitTests.csproj +++ b/tests/Avalonia.UnitTests/Avalonia.UnitTests.csproj @@ -101,9 +101,9 @@ {42472427-4774-4c81-8aff-9f27b8e31721} Avalonia.Layout - + {eb582467-6abb-43a1-b052-e981ba910e3a} - Avalonia.SceneGraph + Avalonia.Visuals {f1baa01a-f176-4c6a-b39d-5b40bb1b148f} diff --git a/tests/Avalonia.SceneGraph.UnitTests/Avalonia.SceneGraph.UnitTests.csproj b/tests/Avalonia.Visuals.UnitTests/Avalonia.Visuals.UnitTests.csproj similarity index 96% rename from tests/Avalonia.SceneGraph.UnitTests/Avalonia.SceneGraph.UnitTests.csproj rename to tests/Avalonia.Visuals.UnitTests/Avalonia.Visuals.UnitTests.csproj index 9d6f861ddf..9e7f739a1c 100644 --- a/tests/Avalonia.SceneGraph.UnitTests/Avalonia.SceneGraph.UnitTests.csproj +++ b/tests/Avalonia.Visuals.UnitTests/Avalonia.Visuals.UnitTests.csproj @@ -7,8 +7,8 @@ {76716382-3159-460E-BDA6-C5715CF606D7} Library Properties - Avalonia.SceneGraph.UnitTests - Avalonia.SceneGraph.UnitTests + Avalonia.Visuals.UnitTests + Avalonia.Visuals.UnitTests v4.5 512 10.0 @@ -27,7 +27,7 @@ DEBUG;TRACE prompt 4 - bin\Debug\Avalonia.SceneGraph.UnitTests.XML + bin\Debug\Avalonia.Visuals.UnitTests.xml CS1591 @@ -119,9 +119,9 @@ {42472427-4774-4C81-8AFF-9F27B8E31721} Avalonia.Layout - + {EB582467-6ABB-43A1-B052-E981BA910E3A} - Avalonia.SceneGraph + Avalonia.Visuals {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F} diff --git a/tests/Avalonia.SceneGraph.UnitTests/Avalonia.SceneGraph.UnitTests.v2.ncrunchproject b/tests/Avalonia.Visuals.UnitTests/Avalonia.Visuals.UnitTests.v2.ncrunchproject similarity index 100% rename from tests/Avalonia.SceneGraph.UnitTests/Avalonia.SceneGraph.UnitTests.v2.ncrunchproject rename to tests/Avalonia.Visuals.UnitTests/Avalonia.Visuals.UnitTests.v2.ncrunchproject diff --git a/tests/Avalonia.SceneGraph.UnitTests/Media/BrushTests.cs b/tests/Avalonia.Visuals.UnitTests/Media/BrushTests.cs similarity index 97% rename from tests/Avalonia.SceneGraph.UnitTests/Media/BrushTests.cs rename to tests/Avalonia.Visuals.UnitTests/Media/BrushTests.cs index 63e1db4fc8..ae88a94073 100644 --- a/tests/Avalonia.SceneGraph.UnitTests/Media/BrushTests.cs +++ b/tests/Avalonia.Visuals.UnitTests/Media/BrushTests.cs @@ -5,7 +5,7 @@ using System; using Avalonia.Media; using Xunit; -namespace Avalonia.SceneGraph.UnitTests.Media +namespace Avalonia.Visuals.UnitTests.Media { public class BrushTests { diff --git a/tests/Avalonia.SceneGraph.UnitTests/Media/ColorTests.cs b/tests/Avalonia.Visuals.UnitTests/Media/ColorTests.cs similarity index 97% rename from tests/Avalonia.SceneGraph.UnitTests/Media/ColorTests.cs rename to tests/Avalonia.Visuals.UnitTests/Media/ColorTests.cs index 2e93dcb66a..5f0144ffc5 100644 --- a/tests/Avalonia.SceneGraph.UnitTests/Media/ColorTests.cs +++ b/tests/Avalonia.Visuals.UnitTests/Media/ColorTests.cs @@ -5,7 +5,7 @@ using System; using Avalonia.Media; using Xunit; -namespace Avalonia.SceneGraph.UnitTests.Media +namespace Avalonia.Visuals.UnitTests.Media { public class ColorTests { diff --git a/tests/Avalonia.SceneGraph.UnitTests/Media/FormattedTextTests.cs b/tests/Avalonia.Visuals.UnitTests/Media/FormattedTextTests.cs similarity index 93% rename from tests/Avalonia.SceneGraph.UnitTests/Media/FormattedTextTests.cs rename to tests/Avalonia.Visuals.UnitTests/Media/FormattedTextTests.cs index d36e23a6d8..648595fa2b 100644 --- a/tests/Avalonia.SceneGraph.UnitTests/Media/FormattedTextTests.cs +++ b/tests/Avalonia.Visuals.UnitTests/Media/FormattedTextTests.cs @@ -2,7 +2,7 @@ using Avalonia.Media; using Xunit; -namespace Avalonia.SceneGraph.UnitTests.Media +namespace Avalonia.Visuals.UnitTests.Media { public class FormattedTextTests { diff --git a/tests/Avalonia.SceneGraph.UnitTests/Media/PathMarkupParserTests.cs b/tests/Avalonia.Visuals.UnitTests/Media/PathMarkupParserTests.cs similarity index 98% rename from tests/Avalonia.SceneGraph.UnitTests/Media/PathMarkupParserTests.cs rename to tests/Avalonia.Visuals.UnitTests/Media/PathMarkupParserTests.cs index da48ea36f0..f0d41680c0 100644 --- a/tests/Avalonia.SceneGraph.UnitTests/Media/PathMarkupParserTests.cs +++ b/tests/Avalonia.Visuals.UnitTests/Media/PathMarkupParserTests.cs @@ -6,7 +6,7 @@ using Avalonia.Platform; using Moq; using Xunit; -namespace Avalonia.SceneGraph.UnitTests.Media +namespace Avalonia.Visuals.UnitTests.Media { public class PathMarkupParserTests { diff --git a/tests/Avalonia.SceneGraph.UnitTests/Properties/AssemblyInfo.cs b/tests/Avalonia.Visuals.UnitTests/Properties/AssemblyInfo.cs similarity index 83% rename from tests/Avalonia.SceneGraph.UnitTests/Properties/AssemblyInfo.cs rename to tests/Avalonia.Visuals.UnitTests/Properties/AssemblyInfo.cs index 96ee859316..dc29e93ea2 100644 --- a/tests/Avalonia.SceneGraph.UnitTests/Properties/AssemblyInfo.cs +++ b/tests/Avalonia.Visuals.UnitTests/Properties/AssemblyInfo.cs @@ -4,7 +4,7 @@ using System.Reflection; using Xunit; -[assembly: AssemblyTitle("Avalonia.SceneGraph.UnitTests")] +[assembly: AssemblyTitle("Avalonia.Visuals.UnitTests")] // Don't run tests in parallel. [assembly: CollectionBehavior(DisableTestParallelization = true)] \ No newline at end of file diff --git a/tests/Avalonia.SceneGraph.UnitTests/RelativePointTests.cs b/tests/Avalonia.Visuals.UnitTests/RelativePointTests.cs similarity index 95% rename from tests/Avalonia.SceneGraph.UnitTests/RelativePointTests.cs rename to tests/Avalonia.Visuals.UnitTests/RelativePointTests.cs index 3dc6e4e04d..f4a21fb6b4 100644 --- a/tests/Avalonia.SceneGraph.UnitTests/RelativePointTests.cs +++ b/tests/Avalonia.Visuals.UnitTests/RelativePointTests.cs @@ -4,7 +4,7 @@ using System.Globalization; using Xunit; -namespace Avalonia.SceneGraph.UnitTests +namespace Avalonia.Visuals.UnitTests { public class RelativePointTests { diff --git a/tests/Avalonia.SceneGraph.UnitTests/RelativeRectComparer.cs b/tests/Avalonia.Visuals.UnitTests/RelativeRectComparer.cs similarity index 95% rename from tests/Avalonia.SceneGraph.UnitTests/RelativeRectComparer.cs rename to tests/Avalonia.Visuals.UnitTests/RelativeRectComparer.cs index b46f0754cd..9cca2bfc19 100644 --- a/tests/Avalonia.SceneGraph.UnitTests/RelativeRectComparer.cs +++ b/tests/Avalonia.Visuals.UnitTests/RelativeRectComparer.cs @@ -4,7 +4,7 @@ using System; using System.Collections.Generic; -namespace Avalonia.SceneGraph.UnitTests +namespace Avalonia.Visuals.UnitTests { public class RelativeRectComparer : IEqualityComparer { diff --git a/tests/Avalonia.SceneGraph.UnitTests/RelativeRectTests.cs b/tests/Avalonia.Visuals.UnitTests/RelativeRectTests.cs similarity index 95% rename from tests/Avalonia.SceneGraph.UnitTests/RelativeRectTests.cs rename to tests/Avalonia.Visuals.UnitTests/RelativeRectTests.cs index e0c0a0b35a..8ba4f3b739 100644 --- a/tests/Avalonia.SceneGraph.UnitTests/RelativeRectTests.cs +++ b/tests/Avalonia.Visuals.UnitTests/RelativeRectTests.cs @@ -4,7 +4,7 @@ using System.Globalization; using Xunit; -namespace Avalonia.SceneGraph.UnitTests +namespace Avalonia.Visuals.UnitTests { public class RelativeRectTests { diff --git a/tests/Avalonia.SceneGraph.UnitTests/RenderTests_Culling.cs b/tests/Avalonia.Visuals.UnitTests/RenderTests_Culling.cs similarity index 99% rename from tests/Avalonia.SceneGraph.UnitTests/RenderTests_Culling.cs rename to tests/Avalonia.Visuals.UnitTests/RenderTests_Culling.cs index e002c57dff..caa7011075 100644 --- a/tests/Avalonia.SceneGraph.UnitTests/RenderTests_Culling.cs +++ b/tests/Avalonia.Visuals.UnitTests/RenderTests_Culling.cs @@ -7,7 +7,7 @@ using Avalonia.Media; using Avalonia.Rendering; using Xunit; -namespace Avalonia.SceneGraph.UnitTests +namespace Avalonia.Visuals.UnitTests { public class RenderTests_Culling { diff --git a/tests/Avalonia.SceneGraph.UnitTests/TestRoot.cs b/tests/Avalonia.Visuals.UnitTests/TestRoot.cs similarity index 95% rename from tests/Avalonia.SceneGraph.UnitTests/TestRoot.cs rename to tests/Avalonia.Visuals.UnitTests/TestRoot.cs index aa5eb64691..bdcbae59ce 100644 --- a/tests/Avalonia.SceneGraph.UnitTests/TestRoot.cs +++ b/tests/Avalonia.Visuals.UnitTests/TestRoot.cs @@ -5,7 +5,7 @@ using System; using Avalonia.Platform; using Avalonia.Rendering; -namespace Avalonia.SceneGraph.UnitTests +namespace Avalonia.Visuals.UnitTests { public class TestRoot : TestVisual, IRenderRoot { diff --git a/tests/Avalonia.SceneGraph.UnitTests/TestVisual.cs b/tests/Avalonia.Visuals.UnitTests/TestVisual.cs similarity index 97% rename from tests/Avalonia.SceneGraph.UnitTests/TestVisual.cs rename to tests/Avalonia.Visuals.UnitTests/TestVisual.cs index 4743d3fde4..dfd3d180ba 100644 --- a/tests/Avalonia.SceneGraph.UnitTests/TestVisual.cs +++ b/tests/Avalonia.Visuals.UnitTests/TestVisual.cs @@ -7,7 +7,7 @@ using System.Linq; using Avalonia.Rendering; using Avalonia.VisualTree; -namespace Avalonia.SceneGraph.UnitTests +namespace Avalonia.Visuals.UnitTests { public class ParamEventArgs : EventArgs { diff --git a/tests/Avalonia.SceneGraph.UnitTests/ThicknessTests.cs b/tests/Avalonia.Visuals.UnitTests/ThicknessTests.cs similarity index 96% rename from tests/Avalonia.SceneGraph.UnitTests/ThicknessTests.cs rename to tests/Avalonia.Visuals.UnitTests/ThicknessTests.cs index 97b1ae4b64..bd694d073a 100644 --- a/tests/Avalonia.SceneGraph.UnitTests/ThicknessTests.cs +++ b/tests/Avalonia.Visuals.UnitTests/ThicknessTests.cs @@ -4,7 +4,7 @@ using System.Globalization; using Xunit; -namespace Avalonia.SceneGraph.UnitTests.Media +namespace Avalonia.Visuals.UnitTests.Media { public class ThicknessTests { diff --git a/tests/Avalonia.SceneGraph.UnitTests/VisualTests.cs b/tests/Avalonia.Visuals.UnitTests/VisualTests.cs similarity index 98% rename from tests/Avalonia.SceneGraph.UnitTests/VisualTests.cs rename to tests/Avalonia.Visuals.UnitTests/VisualTests.cs index 6679138e6d..8daaacd051 100644 --- a/tests/Avalonia.SceneGraph.UnitTests/VisualTests.cs +++ b/tests/Avalonia.Visuals.UnitTests/VisualTests.cs @@ -8,7 +8,7 @@ using Avalonia.Controls; using Avalonia.VisualTree; using Xunit; -namespace Avalonia.SceneGraph.UnitTests +namespace Avalonia.Visuals.UnitTests { public class VisualTests { diff --git a/tests/Avalonia.SceneGraph.UnitTests/VisualTree/BoundsTrackerTests.cs b/tests/Avalonia.Visuals.UnitTests/VisualTree/BoundsTrackerTests.cs similarity index 97% rename from tests/Avalonia.SceneGraph.UnitTests/VisualTree/BoundsTrackerTests.cs rename to tests/Avalonia.Visuals.UnitTests/VisualTree/BoundsTrackerTests.cs index 93b8a088d8..d18a604f31 100644 --- a/tests/Avalonia.SceneGraph.UnitTests/VisualTree/BoundsTrackerTests.cs +++ b/tests/Avalonia.Visuals.UnitTests/VisualTree/BoundsTrackerTests.cs @@ -14,7 +14,7 @@ using Avalonia.Media; using Moq; using Avalonia.UnitTests; -namespace Avalonia.SceneGraph.UnitTests.VisualTree +namespace Avalonia.Visuals.UnitTests.VisualTree { public class BoundsTrackerTests { diff --git a/tests/Avalonia.SceneGraph.UnitTests/VisualTree/MockRenderInterface.cs b/tests/Avalonia.Visuals.UnitTests/VisualTree/MockRenderInterface.cs similarity index 98% rename from tests/Avalonia.SceneGraph.UnitTests/VisualTree/MockRenderInterface.cs rename to tests/Avalonia.Visuals.UnitTests/VisualTree/MockRenderInterface.cs index d7c8899f8a..3d6a9093e4 100644 --- a/tests/Avalonia.SceneGraph.UnitTests/VisualTree/MockRenderInterface.cs +++ b/tests/Avalonia.Visuals.UnitTests/VisualTree/MockRenderInterface.cs @@ -4,7 +4,7 @@ using System.IO; using Avalonia.Media; using Avalonia.Platform; -namespace Avalonia.SceneGraph.UnitTests.VisualTree +namespace Avalonia.Visuals.UnitTests.VisualTree { class MockRenderInterface : IPlatformRenderInterface { diff --git a/tests/Avalonia.SceneGraph.UnitTests/VisualTree/VisualExtensionsTests_GetVisualsAt.cs b/tests/Avalonia.Visuals.UnitTests/VisualTree/VisualExtensionsTests_GetVisualsAt.cs similarity index 99% rename from tests/Avalonia.SceneGraph.UnitTests/VisualTree/VisualExtensionsTests_GetVisualsAt.cs rename to tests/Avalonia.Visuals.UnitTests/VisualTree/VisualExtensionsTests_GetVisualsAt.cs index 896b6f8237..28ca7cdd41 100644 --- a/tests/Avalonia.SceneGraph.UnitTests/VisualTree/VisualExtensionsTests_GetVisualsAt.cs +++ b/tests/Avalonia.Visuals.UnitTests/VisualTree/VisualExtensionsTests_GetVisualsAt.cs @@ -12,7 +12,7 @@ using Avalonia.VisualTree; using Moq; using Xunit; -namespace Avalonia.SceneGraph.UnitTests.VisualTree +namespace Avalonia.Visuals.UnitTests.VisualTree { public class VisualExtensionsTests_GetVisualsAt { diff --git a/tests/Avalonia.SceneGraph.UnitTests/packages.config b/tests/Avalonia.Visuals.UnitTests/packages.config similarity index 100% rename from tests/Avalonia.SceneGraph.UnitTests/packages.config rename to tests/Avalonia.Visuals.UnitTests/packages.config From 428466ced3d97b37b737139505e8568c021f5599 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Sun, 30 Oct 2016 16:21:16 -0500 Subject: [PATCH 02/54] Fixed bug in scheduler and runtime platform. --- src/Avalonia.Base/Threading/AvaloniaScheduler.cs | 8 +------- src/Shared/PlatformSupport/StandardRuntimePlatform.cs | 5 +---- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/src/Avalonia.Base/Threading/AvaloniaScheduler.cs b/src/Avalonia.Base/Threading/AvaloniaScheduler.cs index de32057a00..43815b4ebc 100644 --- a/src/Avalonia.Base/Threading/AvaloniaScheduler.cs +++ b/src/Avalonia.Base/Threading/AvaloniaScheduler.cs @@ -26,13 +26,7 @@ namespace Avalonia.Threading /// public override IDisposable Schedule(TState state, TimeSpan dueTime, Func action) { - return DispatcherTimer.Run( - () => - { - action(this, state); - return false; - }, - dueTime); + return DispatcherTimer.RunOnce(() => action(this, state), dueTime); } } } diff --git a/src/Shared/PlatformSupport/StandardRuntimePlatform.cs b/src/Shared/PlatformSupport/StandardRuntimePlatform.cs index e5ede1c6b4..5c02be7d5b 100644 --- a/src/Shared/PlatformSupport/StandardRuntimePlatform.cs +++ b/src/Shared/PlatformSupport/StandardRuntimePlatform.cs @@ -16,10 +16,7 @@ namespace Avalonia.Shared.PlatformSupport public void PostThreadPoolItem(Action cb) => ThreadPool.UnsafeQueueUserWorkItem(_ => cb(), null); public IDisposable StartSystemTimer(TimeSpan interval, Action tick) { - var timer = new Timer(delegate - { - - }, null, interval, interval); + var timer = new Timer(_ => tick(), null, interval, interval); return Disposable.Create(() => timer.Dispose()); } From 298fa627f8d1fdd8d01f71362afaf19008ce2759 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Sun, 30 Oct 2016 16:55:47 -0500 Subject: [PATCH 03/54] Implemented binding scheduling via service injection. --- src/Avalonia.Base/AvaloniaObject.cs | 7 +++++++ src/Avalonia.Controls/Application.cs | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Avalonia.Base/AvaloniaObject.cs b/src/Avalonia.Base/AvaloniaObject.cs index 48e937d6b2..5609fde7e9 100644 --- a/src/Avalonia.Base/AvaloniaObject.cs +++ b/src/Avalonia.Base/AvaloniaObject.cs @@ -12,6 +12,7 @@ using Avalonia.Diagnostics; using Avalonia.Logging; using Avalonia.Threading; using Avalonia.Utilities; +using System.Reactive.Concurrency; namespace Avalonia { @@ -304,6 +305,12 @@ namespace Avalonia VerifyAccess(); + var scheduler = AvaloniaLocator.Current.GetService(); + if (scheduler != null) + { + source = source.ObserveOn(scheduler); + } + if (property.IsDirect) { if (property.IsReadOnly) diff --git a/src/Avalonia.Controls/Application.cs b/src/Avalonia.Controls/Application.cs index 326556f629..3d13608226 100644 --- a/src/Avalonia.Controls/Application.cs +++ b/src/Avalonia.Controls/Application.cs @@ -11,6 +11,7 @@ using Avalonia.Layout; using Avalonia.Rendering; using Avalonia.Styling; using Avalonia.Threading; +using System.Reactive.Concurrency; namespace Avalonia { @@ -175,7 +176,8 @@ namespace Avalonia .Bind().ToTransient() .Bind().ToConstant(_styler) .Bind().ToSingleton() - .Bind().ToConstant(this); + .Bind().ToConstant(this) + .Bind().ToConstant(AvaloniaScheduler.Instance); } } } From 6da1d620c9377d4624d888fa362a7b26311bd63b Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Sun, 30 Oct 2016 22:54:32 -0500 Subject: [PATCH 04/54] Added test to ensure that the IObservable subscription is on the AvaloniaScheduler when the AvaloniaScheduler is bound in the AvaloniaLocator. --- .../AvaloniaObjectTests_Binding.cs | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_Binding.cs b/tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_Binding.cs index 66fe3c7767..c72432029a 100644 --- a/tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_Binding.cs +++ b/tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_Binding.cs @@ -11,6 +11,13 @@ using Avalonia.Data; using Avalonia.Logging; using Avalonia.UnitTests; using Xunit; +using System.Threading.Tasks; +using Avalonia.Platform; +using System.Threading; +using Moq; +using System.Reactive.Disposables; +using System.Reactive.Concurrency; +using Avalonia.Threading; namespace Avalonia.Base.UnitTests { @@ -356,6 +363,39 @@ namespace Avalonia.Base.UnitTests Assert.True(called); } } + + [Fact] + public async void Bind_With_Scheduler_Executes_On_Scheduler() + { + var target = new Class1(); + var source = new Subject(); + var currentThreadId = Thread.CurrentThread.ManagedThreadId; + var calledThreadingInterface = false; + + var threadingInterfaceMock = new Mock(); + threadingInterfaceMock.SetupGet(mock => mock.CurrentThreadIsLoopThread) + .Returns(() => Thread.CurrentThread.ManagedThreadId == currentThreadId); + threadingInterfaceMock.Setup(mock => mock.StartTimer(TimeSpan.Zero, It.IsAny())) + .Returns((ts, act) => + { + act(); + calledThreadingInterface = true; + return Disposable.Empty; + }); + + using (AvaloniaLocator.EnterScope()) + { + AvaloniaLocator.CurrentMutable.Bind().ToConstant(threadingInterfaceMock.Object); + AvaloniaLocator.CurrentMutable.Bind().ToConstant(AvaloniaScheduler.Instance); + + target.Bind(Class1.QuxProperty, source); + + await Task.Run(() => source.OnNext(6.7)); + + Assert.True(calledThreadingInterface); + } + + } /// /// Returns an observable that returns a single value but does not complete. From 428229e9b0e4c17b26083ef0442666be312bf800 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Tue, 1 Nov 2016 23:34:27 -0500 Subject: [PATCH 05/54] Optimized the "zero wait time" path in the scheduler and updated the code to always use a scheduler, either the ImmediateScheduler (same as the old default behavior) or the registered scheduler. --- src/Avalonia.Base/AvaloniaObject.cs | 12 ++++++----- .../Threading/AvaloniaScheduler.cs | 20 ++++++++++++++++++- .../AvaloniaObjectTests_Binding.cs | 10 ---------- 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/src/Avalonia.Base/AvaloniaObject.cs b/src/Avalonia.Base/AvaloniaObject.cs index 5609fde7e9..72ff5187fa 100644 --- a/src/Avalonia.Base/AvaloniaObject.cs +++ b/src/Avalonia.Base/AvaloniaObject.cs @@ -305,10 +305,12 @@ namespace Avalonia VerifyAccess(); - var scheduler = AvaloniaLocator.Current.GetService(); - if (scheduler != null) + var description = GetDescription(source); + + if (priority == BindingPriority.LocalValue) { - source = source.ObserveOn(scheduler); + var scheduler = AvaloniaLocator.Current.GetService() ?? ImmediateScheduler.Instance; + source = source.ObserveOn(scheduler); } if (property.IsDirect) @@ -323,7 +325,7 @@ namespace Avalonia this, "Bound {Property} to {Binding} with priority LocalValue", property, - GetDescription(source)); + description); IDisposable subscription = null; @@ -365,7 +367,7 @@ namespace Avalonia this, "Bound {Property} to {Binding} with priority {Priority}", property, - GetDescription(source), + description, priority); return v.Add(source, (int)priority); diff --git a/src/Avalonia.Base/Threading/AvaloniaScheduler.cs b/src/Avalonia.Base/Threading/AvaloniaScheduler.cs index 43815b4ebc..d9361fe7f0 100644 --- a/src/Avalonia.Base/Threading/AvaloniaScheduler.cs +++ b/src/Avalonia.Base/Threading/AvaloniaScheduler.cs @@ -3,6 +3,7 @@ using System; using System.Reactive.Concurrency; +using System.Reactive.Disposables; namespace Avalonia.Threading { @@ -26,7 +27,24 @@ namespace Avalonia.Threading /// public override IDisposable Schedule(TState state, TimeSpan dueTime, Func action) { - return DispatcherTimer.RunOnce(() => action(this, state), dueTime); + var composite = new CompositeDisposable(2); + if (dueTime == TimeSpan.Zero) + { + var cancellation = new CancellationDisposable(); + Dispatcher.UIThread.InvokeAsync(() => + { + if (!cancellation.Token.IsCancellationRequested) + { + composite.Add(action(this, state)); + } + }, DispatcherPriority.DataBind); + composite.Add(cancellation); + } + else + { + composite.Add(DispatcherTimer.RunOnce(() => composite.Add(action(this, state)), dueTime)); + } + return composite; } } } diff --git a/tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_Binding.cs b/tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_Binding.cs index c72432029a..5e286305d2 100644 --- a/tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_Binding.cs +++ b/tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_Binding.cs @@ -370,18 +370,10 @@ namespace Avalonia.Base.UnitTests var target = new Class1(); var source = new Subject(); var currentThreadId = Thread.CurrentThread.ManagedThreadId; - var calledThreadingInterface = false; var threadingInterfaceMock = new Mock(); threadingInterfaceMock.SetupGet(mock => mock.CurrentThreadIsLoopThread) .Returns(() => Thread.CurrentThread.ManagedThreadId == currentThreadId); - threadingInterfaceMock.Setup(mock => mock.StartTimer(TimeSpan.Zero, It.IsAny())) - .Returns((ts, act) => - { - act(); - calledThreadingInterface = true; - return Disposable.Empty; - }); using (AvaloniaLocator.EnterScope()) { @@ -391,8 +383,6 @@ namespace Avalonia.Base.UnitTests target.Bind(Class1.QuxProperty, source); await Task.Run(() => source.OnNext(6.7)); - - Assert.True(calledThreadingInterface); } } From 4a8470d8a6886b277594ccd73a26fecb4edd5615 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Wed, 2 Nov 2016 14:06:47 -0500 Subject: [PATCH 06/54] Updated fast-path of scheduler to call directly if updates are on the UI thread instead of scheduling on the Dispatcher. --- .../Threading/AvaloniaScheduler.cs | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/Avalonia.Base/Threading/AvaloniaScheduler.cs b/src/Avalonia.Base/Threading/AvaloniaScheduler.cs index d9361fe7f0..f9d67470c1 100644 --- a/src/Avalonia.Base/Threading/AvaloniaScheduler.cs +++ b/src/Avalonia.Base/Threading/AvaloniaScheduler.cs @@ -30,15 +30,22 @@ namespace Avalonia.Threading var composite = new CompositeDisposable(2); if (dueTime == TimeSpan.Zero) { - var cancellation = new CancellationDisposable(); - Dispatcher.UIThread.InvokeAsync(() => + if (!Dispatcher.UIThread.CheckAccess()) { - if (!cancellation.Token.IsCancellationRequested) + var cancellation = new CancellationDisposable(); + Dispatcher.UIThread.InvokeAsync(() => { - composite.Add(action(this, state)); - } - }, DispatcherPriority.DataBind); - composite.Add(cancellation); + if (!cancellation.Token.IsCancellationRequested) + { + composite.Add(action(this, state)); + } + }, DispatcherPriority.DataBind); + composite.Add(cancellation); + } + else + { + return action(this, state); + } } else { From c86e750281480fd960d3b5a47d9df11a4969d3b0 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Mon, 19 Sep 2016 17:01:13 -0500 Subject: [PATCH 07/54] Add OpenCover coverage testing for Windows builds. --- build.cake | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/build.cake b/build.cake index d97d17218c..6192e0f88d 100644 --- a/build.cake +++ b/build.cake @@ -10,6 +10,7 @@ /////////////////////////////////////////////////////////////////////////////// #tool "nuget:?package=xunit.runner.console&version=2.1.0" +#tool "nuget:?package=OpenCover" /////////////////////////////////////////////////////////////////////////////// // USINGS @@ -670,18 +671,35 @@ Task("Run-Unit-Tests") "./tools/xunit.runner.console/tools/xunit.console.x86.exe" : "./tools/xunit.runner.console/tools/xunit.console.exe"; - var settings = new XUnit2Settings + var xUnitSettings = new XUnit2Settings { ToolPath = toolPath, - Parallelism = ParallelismOption.None + Parallelism = ParallelismOption.None, + ShadowCopy = false }; - settings.NoAppDomain = !isRunningOnWindows; + xUnitSettings.NoAppDomain = !isRunningOnWindows; + + var openCoverOutput = artifactsDir.GetFilePath(new FilePath("./result.xml")); + var openCoverSettings = new OpenCoverSettings + { + ArgumentCustomization = openCoverArgs => openCoverArgs.AppendSwitch("-mergeoutput", "") + } + .WithFilter("+[Avalonia.*]* -[*Test*]*");; foreach (var file in unitTests) { Information("Running test " + file.GetFilenameWithoutExtension()); - XUnit2(file.FullPath, settings); + if(isRunningOnWindows) + { + OpenCover(context => { + context.XUnit2(file.FullPath, xUnitSettings); + }, openCoverOutput, openCoverSettings); + } + else + { + XUnit2(file.FullPath, xUnitSettings); + } } }); From 5edb20fdfed4db6f1fff2b5708cb505c60a74d14 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Wed, 21 Sep 2016 11:48:48 -0500 Subject: [PATCH 08/54] Added CodeCov uploading. --- appveyor.yml | 5 +++++ build.cake | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 2909da65b7..db7d129dd1 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -20,6 +20,11 @@ build_script: - ps: .\build.ps1 -Target "AppVeyor" -Platform "$env:platform" -Configuration "$env:configuration" after_build: - .\packages\JetBrains.dotMemoryUnit.2.1.20150828.125449\tools\dotMemoryUnit.exe -targetExecutable="%xunit20%\xunit.console.x86.exe" -returnTargetExitCode --"tests\Avalonia.LeakTests\bin\Release\Avalonia.LeakTests.dll" + +- "SET PATH=C:\\Python34;C:\\Python34\\Scripts;%PATH%" +- pip install codecov +- codecov -f "./artifacts/coverage.xml" + test: off artifacts: - path: artifacts\nuget\*.nupkg diff --git a/build.cake b/build.cake index 6192e0f88d..2e63e83d61 100644 --- a/build.cake +++ b/build.cake @@ -680,7 +680,7 @@ Task("Run-Unit-Tests") xUnitSettings.NoAppDomain = !isRunningOnWindows; - var openCoverOutput = artifactsDir.GetFilePath(new FilePath("./result.xml")); + var openCoverOutput = artifactsDir.GetFilePath(new FilePath("./coverage.xml")); var openCoverSettings = new OpenCoverSettings { ArgumentCustomization = openCoverArgs => openCoverArgs.AppendSwitch("-mergeoutput", "") From b6e062ed8aaff7e6b06db99a71d6bacaaa240819 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Thu, 22 Sep 2016 23:14:23 -0500 Subject: [PATCH 09/54] Add initial Coveralls.io publishing --- build.cake | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/build.cake b/build.cake index 2e63e83d61..0315a36df2 100644 --- a/build.cake +++ b/build.cake @@ -4,6 +4,7 @@ #addin "nuget:?package=Polly&version=4.2.0" #addin "nuget:?package=NuGet.Core&version=2.12.0" +#addin Cake.Coveralls /////////////////////////////////////////////////////////////////////////////// // TOOLS @@ -11,6 +12,7 @@ #tool "nuget:?package=xunit.runner.console&version=2.1.0" #tool "nuget:?package=OpenCover" +#tool coveralls.net /////////////////////////////////////////////////////////////////////////////// // USINGS @@ -800,6 +802,14 @@ Task("Publish-NuGet") Information("Publish-NuGet Task failed, but continuing with next Task..."); }); +Task("Publish-Coverage") + .IsDependentOn("Run-Unit-Tests") + .WithCriteria(() => isRunningOnAppVeyor) + .Does(() => +{ + CoverallsNet(artifactsDir.GetFilePath(new FilePath("./coverage.xml")), CoverallsNetReportType.OpenCover); +}); + /////////////////////////////////////////////////////////////////////////////// // TARGETS /////////////////////////////////////////////////////////////////////////////// @@ -813,7 +823,8 @@ Task("Default") Task("AppVeyor") .IsDependentOn("Zip-Files") .IsDependentOn("Publish-MyGet") - .IsDependentOn("Publish-NuGet"); + .IsDependentOn("Publish-NuGet") + .IsDependentOn("Publish-Coverage"); Task("Travis") .IsDependentOn("Run-Unit-Tests"); From 57750c8cfe726587cc04b4225e074885f8b8accb Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Thu, 22 Sep 2016 23:26:50 -0500 Subject: [PATCH 10/54] Added Coveralls credentials and settings --- build.cake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build.cake b/build.cake index 0315a36df2..d735489d5c 100644 --- a/build.cake +++ b/build.cake @@ -807,7 +807,8 @@ Task("Publish-Coverage") .WithCriteria(() => isRunningOnAppVeyor) .Does(() => { - CoverallsNet(artifactsDir.GetFilePath(new FilePath("./coverage.xml")), CoverallsNetReportType.OpenCover); + CoverallsNet(artifactsDir.GetFilePath(new FilePath("./coverage.xml")), CoverallsNetReportType.OpenCover, + new CoverallsNetSettings {RepoToken = "jKaVvndtCVJ2y7pNwQtYeHPn2jAxUpuyh", UseRelativePaths = true, ServiceName = "AppVeyor"}); }); /////////////////////////////////////////////////////////////////////////////// From 22b89ed8971924d9e24a1383fc39fbba1ce341c0 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Sun, 2 Oct 2016 16:14:51 -0500 Subject: [PATCH 11/54] Copy all tests to a test directory under artifacts to prevent collecting coverage for multiple copies of the same assembly in multiple different areas. (Massively shrinks the coverage.xml file). --- build.cake | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/build.cake b/build.cake index d735489d5c..269b17271e 100644 --- a/build.cake +++ b/build.cake @@ -95,6 +95,7 @@ var artifactsDir = (DirectoryPath)Directory("./artifacts"); var nugetRoot = artifactsDir.Combine("nuget"); var zipRoot = artifactsDir.Combine("zip"); var binRoot = artifactsDir.Combine("bin"); +var testsRoot = artifactsDir.Combine("tests"); var dirSuffix = configuration; var dirSuffixSkia = (isPlatformAnyCPU ? "x86" : platform) + "/" + configuration; @@ -588,6 +589,7 @@ Task("Clean") CleanDirectory(nugetRoot); CleanDirectory(zipRoot); CleanDirectory(binRoot); + CleanDirectory(testsRoot); }); Task("Restore-NuGet-Packages") @@ -683,25 +685,25 @@ Task("Run-Unit-Tests") xUnitSettings.NoAppDomain = !isRunningOnWindows; var openCoverOutput = artifactsDir.GetFilePath(new FilePath("./coverage.xml")); - var openCoverSettings = new OpenCoverSettings - { - ArgumentCustomization = openCoverArgs => openCoverArgs.AppendSwitch("-mergeoutput", "") - } - .WithFilter("+[Avalonia.*]* -[*Test*]*");; + var openCoverSettings = new OpenCoverSettings() + .WithFilter("+[Avalonia.*]* -[*Test*]* -[ControlCatalog*]*") + .WithFilter("-[Avalonia.*]OmniXaml.* -[Avalonia.*]Glass.*") + .WithFilter("-[Avalonia.HtmlRenderer]TheArtOfDev.HtmlRenderer.* +[Avalonia.HtmlRenderer]TheArtOfDev.HtmlRenderer.Avalonia.* -[Avalonia.ReactiveUI]*"); + + foreach(var test in unitTests) + { + CopyDirectory(test.GetDirectory(), testsRoot); + } - foreach (var file in unitTests) + if(isRunningOnWindows) { - Information("Running test " + file.GetFilenameWithoutExtension()); - if(isRunningOnWindows) - { - OpenCover(context => { - context.XUnit2(file.FullPath, xUnitSettings); - }, openCoverOutput, openCoverSettings); - } - else - { - XUnit2(file.FullPath, xUnitSettings); - } + OpenCover(context => { + context.XUnit2(unitTests.Select(test => testsRoot.GetFilePath(test).FullPath), xUnitSettings); + }, openCoverOutput, openCoverSettings); + } + else + { + XUnit2(unitTests.Select(test => test.FullPath), xUnitSettings); } }); From 33df423ef531501ca6b92562e59cc92ab8a09f10 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Wed, 2 Nov 2016 15:16:00 -0500 Subject: [PATCH 12/54] Remove Coveralls.io coverage support since we are using CodeCov instead. --- build.cake | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/build.cake b/build.cake index 269b17271e..82fa0b83f3 100644 --- a/build.cake +++ b/build.cake @@ -4,7 +4,6 @@ #addin "nuget:?package=Polly&version=4.2.0" #addin "nuget:?package=NuGet.Core&version=2.12.0" -#addin Cake.Coveralls /////////////////////////////////////////////////////////////////////////////// // TOOLS @@ -12,7 +11,6 @@ #tool "nuget:?package=xunit.runner.console&version=2.1.0" #tool "nuget:?package=OpenCover" -#tool coveralls.net /////////////////////////////////////////////////////////////////////////////// // USINGS @@ -804,15 +802,6 @@ Task("Publish-NuGet") Information("Publish-NuGet Task failed, but continuing with next Task..."); }); -Task("Publish-Coverage") - .IsDependentOn("Run-Unit-Tests") - .WithCriteria(() => isRunningOnAppVeyor) - .Does(() => -{ - CoverallsNet(artifactsDir.GetFilePath(new FilePath("./coverage.xml")), CoverallsNetReportType.OpenCover, - new CoverallsNetSettings {RepoToken = "jKaVvndtCVJ2y7pNwQtYeHPn2jAxUpuyh", UseRelativePaths = true, ServiceName = "AppVeyor"}); -}); - /////////////////////////////////////////////////////////////////////////////// // TARGETS /////////////////////////////////////////////////////////////////////////////// @@ -826,8 +815,7 @@ Task("Default") Task("AppVeyor") .IsDependentOn("Zip-Files") .IsDependentOn("Publish-MyGet") - .IsDependentOn("Publish-NuGet") - .IsDependentOn("Publish-Coverage"); + .IsDependentOn("Publish-NuGet"); Task("Travis") .IsDependentOn("Run-Unit-Tests"); From 26e60f9935511fbd46db63a92e746d504d59248d Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Wed, 2 Nov 2016 15:35:39 -0500 Subject: [PATCH 13/54] Moved failing test into LeakTests because it depends on runtime implementation details to pass. --- .../Avalonia.LeakTests.csproj | 1 + .../Avalonia.LeakTests/MemberSelectorTests.cs | 47 +++++++++++++++++++ .../Templates/MemberSelectorTests.cs | 26 ---------- 3 files changed, 48 insertions(+), 26 deletions(-) create mode 100644 tests/Avalonia.LeakTests/MemberSelectorTests.cs diff --git a/tests/Avalonia.LeakTests/Avalonia.LeakTests.csproj b/tests/Avalonia.LeakTests/Avalonia.LeakTests.csproj index 9aef304beb..7fed908927 100644 --- a/tests/Avalonia.LeakTests/Avalonia.LeakTests.csproj +++ b/tests/Avalonia.LeakTests/Avalonia.LeakTests.csproj @@ -99,6 +99,7 @@ + diff --git a/tests/Avalonia.LeakTests/MemberSelectorTests.cs b/tests/Avalonia.LeakTests/MemberSelectorTests.cs new file mode 100644 index 0000000000..d794e788fd --- /dev/null +++ b/tests/Avalonia.LeakTests/MemberSelectorTests.cs @@ -0,0 +1,47 @@ +using Avalonia.Markup.Xaml.Templates; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Xunit; + +namespace Avalonia.LeakTests +{ + public class MemberSelectorTests + { + [Fact] + public void Should_Not_Hold_Reference_To_Object() + { + WeakReference dataRef = null; + + var selector = new MemberSelector() { MemberName = "Child.StringValue" }; + + Action run = () => + { + var data = new Item() + { + Child = new Item() { StringValue = "Value1" } + }; + + Assert.Same("Value1", selector.Select(data)); + + dataRef = new WeakReference(data); + }; + + run(); + + GC.Collect(); + + Assert.False(dataRef.IsAlive); + } + + private class Item + { + public Item Child { get; set; } + public int IntValue { get; set; } + + public string StringValue { get; set; } + } + } +} diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Templates/MemberSelectorTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/Templates/MemberSelectorTests.cs index 7082863c0d..49a88e8fae 100644 --- a/tests/Avalonia.Markup.Xaml.UnitTests/Templates/MemberSelectorTests.cs +++ b/tests/Avalonia.Markup.Xaml.UnitTests/Templates/MemberSelectorTests.cs @@ -9,32 +9,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Templates { public class MemberSelectorTests { - [Fact] - public void Should_Not_Hold_Reference_To_Object() - { - WeakReference dataRef = null; - - var selector = new MemberSelector() { MemberName = "Child.StringValue" }; - - Action run = () => - { - var data = new Item() - { - Child = new Item() { StringValue = "Value1" } - }; - - Assert.Same("Value1", selector.Select(data)); - - dataRef = new WeakReference(data); - }; - - run(); - - GC.Collect(); - - Assert.False(dataRef.IsAlive); - } - [Fact] public void Should_Select_Child_Property_Value() { From c5bb77f3e3a07857b4f615fe5fdbc92dad444c11 Mon Sep 17 00:00:00 2001 From: donandren Date: Thu, 3 Nov 2016 18:20:35 +0200 Subject: [PATCH 14/54] PointToClient fixed --- src/Avalonia.Visuals/VisualExtensions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Avalonia.Visuals/VisualExtensions.cs b/src/Avalonia.Visuals/VisualExtensions.cs index 6e55070702..226e616369 100644 --- a/src/Avalonia.Visuals/VisualExtensions.cs +++ b/src/Avalonia.Visuals/VisualExtensions.cs @@ -30,7 +30,7 @@ namespace Avalonia public static Point PointToClient(this IVisual visual, Point point) { var p = GetRootAndPosition(visual); - return p.Item1.PointToClient(point + p.Item2); + return p.Item1.PointToClient(point - p.Item2); } /// From 80ce8412c052676141f8dd3b42d616983e18f2af Mon Sep 17 00:00:00 2001 From: donandren Date: Thu, 3 Nov 2016 18:31:33 +0200 Subject: [PATCH 15/54] added usefull TransalePoint extension method to IVisual --- src/Avalonia.Visuals/VisualExtensions.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/Avalonia.Visuals/VisualExtensions.cs b/src/Avalonia.Visuals/VisualExtensions.cs index 226e616369..d69785cc59 100644 --- a/src/Avalonia.Visuals/VisualExtensions.cs +++ b/src/Avalonia.Visuals/VisualExtensions.cs @@ -45,6 +45,22 @@ namespace Avalonia return p.Item1.PointToScreen(point + p.Item2); } + /// + /// Translates a point relative to this visual to coordinates that are relative to the specified visual. + /// The visual and relativeTo should be descendants of the same root window + /// + /// The visual. + /// The point value, as relative to this visual. + /// The visual to translate the given point into. + /// A point value, now relative to the target visual rather than this source element. + public static Point TranslatePoint(this IVisual visual, Point point, IVisual relativeTo) + { + var pos = GetRootAndPosition(visual); + var relToPos = GetRootAndPosition(relativeTo); + + return point - (relToPos.Item2 - pos.Item2); + } + /// /// Gets the root of the control's visual tree and the position of the control /// in the root's coordinate space. From 4c179634c1765fd3c23bd4862da6be00f7a4fd7e Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Thu, 3 Nov 2016 21:10:16 +0100 Subject: [PATCH 16/54] Added a test for scheduler bindings. Added a property which is updated on a b/g thead to BindingTest. --- samples/BindingTest/MainWindow.xaml | 4 ++++ .../ViewModels/MainWindowViewModel.cs | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/samples/BindingTest/MainWindow.xaml b/samples/BindingTest/MainWindow.xaml index 02c364346d..95f671fd84 100644 --- a/samples/BindingTest/MainWindow.xaml +++ b/samples/BindingTest/MainWindow.xaml @@ -41,6 +41,10 @@ + + + + diff --git a/samples/BindingTest/ViewModels/MainWindowViewModel.cs b/samples/BindingTest/ViewModels/MainWindowViewModel.cs index 94f7ff595a..4b58bf2279 100644 --- a/samples/BindingTest/ViewModels/MainWindowViewModel.cs +++ b/samples/BindingTest/ViewModels/MainWindowViewModel.cs @@ -3,6 +3,8 @@ using System.Collections.ObjectModel; using System.Linq; using ReactiveUI; using System.Reactive.Linq; +using System.Threading.Tasks; +using System.Threading; namespace BindingTest.ViewModels { @@ -12,6 +14,7 @@ namespace BindingTest.ViewModels private double _doubleValue = 5.0; private string _stringValue = "Simple Binding"; private bool _booleanFlag = false; + private string _currentTime; public MainWindowViewModel() { @@ -37,6 +40,15 @@ namespace BindingTest.ViewModels BooleanFlag = !BooleanFlag; StringValue = param.ToString(); }); + + Task.Run(() => + { + while (true) + { + CurrentTime = DateTimeOffset.Now.ToString(); + Thread.Sleep(1000); + } + }); } public ObservableCollection Items { get; } @@ -67,6 +79,12 @@ namespace BindingTest.ViewModels set { this.RaiseAndSetIfChanged(ref _booleanFlag, value); } } + public string CurrentTime + { + get { return _currentTime; } + private set { this.RaiseAndSetIfChanged(ref _currentTime, value); } + } + public ReactiveCommand StringValueCommand { get; } public DataAnnotationsErrorViewModel DataAnnotationsValidation { get; } = new DataAnnotationsErrorViewModel(); From 104e0eb0789b50c0001e5bb7e217b493c17469e0 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Thu, 3 Nov 2016 15:29:25 -0500 Subject: [PATCH 17/54] Removed the priority condition for using the scheduler. --- src/Avalonia.Base/AvaloniaObject.cs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/Avalonia.Base/AvaloniaObject.cs b/src/Avalonia.Base/AvaloniaObject.cs index 72ff5187fa..409abfe8fa 100644 --- a/src/Avalonia.Base/AvaloniaObject.cs +++ b/src/Avalonia.Base/AvaloniaObject.cs @@ -307,11 +307,8 @@ namespace Avalonia var description = GetDescription(source); - if (priority == BindingPriority.LocalValue) - { - var scheduler = AvaloniaLocator.Current.GetService() ?? ImmediateScheduler.Instance; - source = source.ObserveOn(scheduler); - } + var scheduler = AvaloniaLocator.Current.GetService() ?? ImmediateScheduler.Instance; + source = source.ObserveOn(scheduler); if (property.IsDirect) { From d27a999f75ac99e37f3de7ca17dce28542ab1df9 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Thu, 3 Nov 2016 20:14:27 -0500 Subject: [PATCH 18/54] Update readme to include code coverage. Update readme to include code coverage. Move Gitter and build status into a table so it can show in the short preview. --- readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index 0da6980146..0cc2b05e9d 100644 --- a/readme.md +++ b/readme.md @@ -1,9 +1,9 @@ # Avalonia -[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/AvaloniaUI/Avalonia?utm_campaign=pr-badge&utm_content=badge&utm_medium=badge&utm_source=badge) -[![Build status](https://ci.appveyor.com/api/projects/status/hubk3k0w9idyibfg/branch/master?svg=true)](https://ci.appveyor.com/project/AvaloniaUI/Avalonia/branch/master) -[![Build Status](https://travis-ci.org/AvaloniaUI/Avalonia.svg?branch=master)](https://travis-ci.org/AvaloniaUI/Avalonia) +| Gitter Chat | Windows Build Status | Linux/Mac Build Status | Code Coverage | +|---|---|---|---| +| [![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/AvaloniaUI/Avalonia?utm_campaign=pr-badge&utm_content=badge&utm_medium=badge&utm_source=badge) | [![Build status](https://ci.appveyor.com/api/projects/status/hubk3k0w9idyibfg/branch/master?svg=true)](https://ci.appveyor.com/project/AvaloniaUI/Avalonia/branch/master) | [![Build Status](https://travis-ci.org/AvaloniaUI/Avalonia.svg?branch=master)](https://travis-ci.org/AvaloniaUI/Avalonia) | [![codecov](https://codecov.io/gh/AvaloniaUI/Avalonia/branch/master/graph/badge.svg)](https://codecov.io/gh/AvaloniaUI/Avalonia) | A multi-platform .NET UI framework. It can run on Windows, Linux, Mac OS X, iOS and Android. From e53cbd13f95ccb7e41c9f08676c770e0cabba002 Mon Sep 17 00:00:00 2001 From: danwalmsley Date: Tue, 8 Nov 2016 16:49:10 +0000 Subject: [PATCH 19/54] Added failing unit test for Carousel --- tests/Avalonia.Controls.UnitTests/CarouselTests.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/Avalonia.Controls.UnitTests/CarouselTests.cs b/tests/Avalonia.Controls.UnitTests/CarouselTests.cs index 0e3c6f5953..e91ab02327 100644 --- a/tests/Avalonia.Controls.UnitTests/CarouselTests.cs +++ b/tests/Avalonia.Controls.UnitTests/CarouselTests.cs @@ -50,8 +50,9 @@ namespace Avalonia.Controls.UnitTests Assert.Equal(1, target.GetLogicalChildren().Count()); var child = target.GetLogicalChildren().Single(); - Assert.IsType(child); - Assert.Equal("Foo", ((ContentPresenter)child).Content); + + Assert.IsType(child); + Assert.Equal("Foo", ((TextBlock)child).Text); } [Fact] From 8f2c55fb04ffa0ed25e95696b4a8c5c464523f4d Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Wed, 9 Nov 2016 15:54:41 -0600 Subject: [PATCH 20/54] Changed render tests and designer support test to always output to the artifacts/tests folder and modify the relative paths within so they don't fail on CI. Fixed CI to fail if tests fail (got turned off when OpenCover was added accidentally). --- build.cake | 24 +++++++++++++------ .../Avalonia.DesignerSupport.TestApp.csproj | 4 ++-- .../Avalonia.DesignerSupport.Tests.csproj | 10 ++++++-- .../DesignerSupportTests.cs | 4 ++-- .../Avalonia.Cairo.RenderTests.csproj | 4 ++-- .../Avalonia.Direct2D1.RenderTests.csproj | 8 ++++--- .../Avalonia.Skia.RenderTests.csproj | 6 ++--- tests/Avalonia.RenderTests/TestBase.cs | 6 ++--- 8 files changed, 42 insertions(+), 24 deletions(-) diff --git a/build.cake b/build.cake index a3d7cf64d2..e902c5d24e 100644 --- a/build.cake +++ b/build.cake @@ -662,11 +662,9 @@ Task("Run-Unit-Tests") if (isRunningOnWindows) { - var windowsTests = GetFiles("./tests/Avalonia.DesignerSupport.Tests/bin/" + dirSuffix + "/*.Tests.dll") + - GetFiles("./tests/Avalonia.LeakTests/bin/" + dirSuffix + "/*.LeakTests.dll") + - GetFiles("./tests/Avalonia.RenderTests/bin/" + dirSuffix + "/*.RenderTests.dll"); + var leakTests = GetFiles("./tests/Avalonia.LeakTests/bin/" + dirSuffix + "/*.LeakTests.dll"); - unitTests.AddRange(windowsTests); + unitTests.AddRange(leakTests); } var toolPath = (isPlatformAnyCPU || isPlatformX86) ? @@ -688,20 +686,32 @@ Task("Run-Unit-Tests") .WithFilter("-[Avalonia.*]OmniXaml.* -[Avalonia.*]Glass.*") .WithFilter("-[Avalonia.HtmlRenderer]TheArtOfDev.HtmlRenderer.* +[Avalonia.HtmlRenderer]TheArtOfDev.HtmlRenderer.Avalonia.* -[Avalonia.ReactiveUI]*"); - foreach(var test in unitTests) + openCoverSettings.ReturnTargetCodeOffset = 0; + + foreach(var test in unitTests.Where(testFile => FileExists(testFile))) { CopyDirectory(test.GetDirectory(), testsRoot); } + var testsInDirectoryToRun = new List(); + if(isRunningOnWindows) + { + testsInDirectoryToRun.AddRange(GetFiles("./artifacts/tests/*Tests.dll")); + } + else + { + testsInDirectoryToRun.AddRange(GetFiles("./artifacts/tests/*.UnitTests.dll")); + } + if(isRunningOnWindows) { OpenCover(context => { - context.XUnit2(unitTests.Select(test => testsRoot.GetFilePath(test).FullPath), xUnitSettings); + context.XUnit2(testsInDirectoryToRun, xUnitSettings); }, openCoverOutput, openCoverSettings); } else { - XUnit2(unitTests.Select(test => test.FullPath), xUnitSettings); + XUnit2(testsInDirectoryToRun, xUnitSettings); } }); diff --git a/tests/Avalonia.DesignerSupport.TestApp/Avalonia.DesignerSupport.TestApp.csproj b/tests/Avalonia.DesignerSupport.TestApp/Avalonia.DesignerSupport.TestApp.csproj index 49d7f44102..3519590080 100644 --- a/tests/Avalonia.DesignerSupport.TestApp/Avalonia.DesignerSupport.TestApp.csproj +++ b/tests/Avalonia.DesignerSupport.TestApp/Avalonia.DesignerSupport.TestApp.csproj @@ -18,7 +18,7 @@ true full false - bin\Debug\ + ..\..\artifacts\tests\ DEBUG;TRACE prompt 4 @@ -27,7 +27,7 @@ AnyCPU pdbonly true - bin\Release\ + ..\..\artifacts\tests\ TRACE prompt 4 diff --git a/tests/Avalonia.DesignerSupport.Tests/Avalonia.DesignerSupport.Tests.csproj b/tests/Avalonia.DesignerSupport.Tests/Avalonia.DesignerSupport.Tests.csproj index 7a1c1207ce..97dfda5967 100644 --- a/tests/Avalonia.DesignerSupport.Tests/Avalonia.DesignerSupport.Tests.csproj +++ b/tests/Avalonia.DesignerSupport.Tests/Avalonia.DesignerSupport.Tests.csproj @@ -16,7 +16,7 @@ true full false - bin\Debug\ + ..\..\artifacts\tests\ DEBUG;TRACE prompt 4 @@ -24,7 +24,7 @@ pdbonly true - bin\Release\ + ..\..\artifacts\tests\ TRACE prompt 4 @@ -69,6 +69,12 @@ + + + {f1381f98-4d24-409a-a6c5-1c5b1e08bb08} + Avalonia.DesignerSupport.TestApp + +