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); }
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); }
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); }
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); }