public void GetVisualsAt_Should_Not_Find_Path_When_Outside_Fill() { using (TestApplication()) { Path path; var container = new TestRoot { Width = 200, Height = 200, Child = path = new Path { Width = 200, Height = 200, Fill = Brushes.Red, Data = StreamGeometry.Parse("M100,0 L0,100 100,100") } }; container.Measure(Size.Infinity); container.Arrange(new Rect(container.DesiredSize)); var context = new DrawingContext(Mock.Of <IDrawingContextImpl>()); var result = container.GetVisualsAt(new Point(100, 100)); Assert.Equal(new[] { path }, result); result = container.GetVisualsAt(new Point(10, 10)); Assert.Empty(result); } }
public void GetVisualsAt_Should_Not_Find_Invisible_Controls_At_Point() { using (TestApplication()) { Border visible; var container = new TestRoot { Width = 200, Height = 200, Child = new Border { Width = 100, Height = 100, Background = Brushes.Red, HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center, IsVisible = false, Child = visible = new Border { Background = Brushes.Red, HorizontalAlignment = HorizontalAlignment.Stretch, VerticalAlignment = VerticalAlignment.Stretch, } } }; container.Measure(Size.Infinity); container.Arrange(new Rect(container.DesiredSize)); var result = container.GetVisualsAt(new Point(100, 100)); Assert.Empty(result); } }
public void GetVisualsAt_Should_Not_Find_Empty_Controls_At_Point() { using (TestApplication()) { var container = new TestRoot { Width = 200, Height = 200, Child = new Border { Width = 100, Height = 100, HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center } }; container.Measure(Size.Infinity); container.Arrange(new Rect(container.DesiredSize)); var result = container.GetVisualsAt(new Point(100, 100)); Assert.Empty(result); } }
public void GetVisualsAt_Should_Respect_Geometry_Clip() { using (TestApplication()) { Border border; Canvas canvas; var container = new TestRoot { Width = 400, Height = 400, Child = border = new Border { Background = Brushes.Red, Clip = StreamGeometry.Parse("M100,0 L0,100 100,100"), Width = 200, Height = 200, Child = canvas = new Canvas { Background = Brushes.Yellow, Margin = new Thickness(10), } } }; container.Measure(Size.Infinity); container.Arrange(new Rect(container.DesiredSize)); Assert.Equal(new Rect(100, 100, 200, 200), border.Bounds); var context = new DrawingContext(Mock.Of <IDrawingContextImpl>()); var result = container.GetVisualsAt(new Point(200, 200)); Assert.Equal(new IVisual[] { canvas, border }, result); result = container.GetVisualsAt(new Point(110, 110)); Assert.Empty(result); } }