Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
        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);
            }
        }
Exemple #4
0
        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);
            }
        }