Exemple #1
0
        public void TestMeausureOverride()
        {
            var slider = new Slider();
            
            slider.Measure(new Vector3(100, 200, 300));
            Assert.AreEqual(new Vector3(0), slider.RenderSize);
            
            slider.TrackBackgroundImage = new Sprite { Region = new RectangleF(2, 3, 40, 50) };
            slider.Measure(new Vector3(100, 200, 300));
            Assert.AreEqual(new Vector3(100, 50, 0), slider.DesiredSize);

            slider.Orientation = Orientation.Vertical;
            slider.Measure(new Vector3(100, 200, 300));
            Assert.AreEqual(new Vector3(50, 200, 0), slider.DesiredSize);

            slider.Orientation = Orientation.InDepth;
            slider.Measure(new Vector3(100, 200, 300));
            Assert.AreEqual(new Vector3(50, 50, 300), slider.DesiredSize); // subject to changes

            slider.Orientation = Orientation.Horizontal;
            slider.TrackBackgroundImage.Orientation = ImageOrientation.Rotated90;
            slider.Measure(new Vector3(100, 200, 300));
            Assert.AreEqual(new Vector3(100, 40, 0), slider.DesiredSize);
            
            slider.Orientation = Orientation.Vertical;
            slider.Measure(new Vector3(100, 200, 300));
            Assert.AreEqual(new Vector3(40, 200, 0), slider.DesiredSize);

            slider.TrackBackgroundImage.Orientation = ImageOrientation.AsIs;
            slider.Measure(new Vector3(100, 200, 300));
            Assert.AreEqual(new Vector3(50, 200, 0), slider.DesiredSize);
        }