Beispiel #1
0
        public void CalculateScrollable_OffsetX_Positive()
        {
            var bounds = new Rect(0, 0, 300, 300);
            var matrix = CreateMatrix(offsetX: 100);

            ZoomHelper.CalculateScrollable(bounds, matrix, out var extent, out var viewport, out var offset);
            Assert.Equal(new Size(400, 300), extent);
            Assert.Equal(new Size(300, 300), viewport);
            Assert.Equal(new Vector(0, 0), offset);
        }
Beispiel #2
0
        public void CalculateScrollable_ZoomOut_0_5x_OffsetY_Positive()
        {
            var bounds = new Rect(0, 0, 300, 300);
            var matrix = CreateMatrix(scaleX: 0.5, scaleY: 0.5, offsetY: 200);

            ZoomHelper.CalculateScrollable(bounds, matrix, out var extent, out var viewport, out var offset);
            Assert.Equal(new Size(300, 350), extent);
            Assert.Equal(new Size(300, 300), viewport);
            Assert.Equal(new Vector(0, 0), offset);
        }
Beispiel #3
0
        public void CalculateScrollable_Default()
        {
            var bounds = new Rect(0, 0, 100, 100);
            var matrix = CreateMatrix();

            ZoomHelper.CalculateScrollable(bounds, matrix, out var extent, out var viewport, out var offset);
            Assert.Equal(new Size(100, 100), extent);
            Assert.Equal(new Size(100, 100), viewport);
            Assert.Equal(new Vector(0, 0), offset);
        }
Beispiel #4
0
        public void CalculateScrollable_ZoomIn_2x_OffsetY_Negative()
        {
            var bounds = new Rect(0, 0, 300, 300);
            var matrix = CreateMatrix(scaleX: 2, scaleY: 2, offsetY: -150);

            ZoomHelper.CalculateScrollable(bounds, matrix, out var extent, out var viewport, out var offset);
            Assert.Equal(new Size(600, 600), extent);
            Assert.Equal(new Size(300, 300), viewport);
            Assert.Equal(new Vector(0, 150), offset);
        }