Пример #1
0
        public void PanRightCrossingThreshold()
        {
            ttr = new TestTileRenderer();
            tm  = new TileDrawingManager(ttr);

            tm.UpdateViewportSize(new Size(750, 750));

            ttr.ClearLog();

            tm.UpdateVisibleRegion(new System.Numerics.Vector3(251.0f, 0f, 0f));

            Assert.AreEqual(ttr.Impressions.Count, 4);

            //Column 5
            Assert.AreEqual(ttr.Impressions[0].tileRow, 0);
            Assert.AreEqual(ttr.Impressions[0].tileColumn, 3);
            Assert.AreEqual(ttr.Impressions[1].tileRow, 1);
            Assert.AreEqual(ttr.Impressions[1].tileColumn, 3);
            Assert.AreEqual(ttr.Impressions[2].tileRow, 2);
            Assert.AreEqual(ttr.Impressions[2].tileColumn, 3);

            Assert.AreEqual(ttr.Impressions[3].type, OperationType.Clear);
            Assert.AreEqual(ttr.Impressions[3].rect, new Rect()
            {
                X = 250, Y = 0, Width = 1000, Height = 750
            });

            Assert.AreEqual(tm.drawnLeftTileColumn, 1);
            Assert.AreEqual(tm.drawnRightTileColumn, 3);
        }
Пример #2
0
        public void PanTwoRightOneLeftUp()
        {
            ttr = new TestTileRenderer();
            tm  = new TileDrawingManager(ttr);

            tm.UpdateViewportSize(new Size(750, 750));

            ttr.ClearLog();
            tm.UpdateVisibleRegion(new System.Numerics.Vector3(251, 0, 0));
            Assert.AreEqual(ttr.Impressions.Count, 4);

            ttr.ClearLog();
            tm.UpdateVisibleRegion(new System.Numerics.Vector3(501, 0, 0));
            Assert.AreEqual(ttr.Impressions.Count, 4);

            ttr.ClearLog();
            tm.UpdateVisibleRegion(new System.Numerics.Vector3(499, 0, 0));

            Assert.AreEqual(tm.drawnLeftTileColumn, 1);
            Assert.AreEqual(tm.drawnRightTileColumn, 3);
            Assert.AreEqual(tm.drawnTopTileRow, 0);
            Assert.AreEqual(tm.drawnBottomTileRow, 2);

            ttr.ClearLog();
            tm.UpdateVisibleRegion(new System.Numerics.Vector3(251.0f, 251.0f, 0f));
            Assert.AreEqual(ttr.Impressions.Count, 4);
        }
Пример #3
0
        public void InitialPaint()
        {
            tm.UpdateViewportSize(new Size(750, 750));

            Assert.AreEqual(ttr.Impressions.Count, 9);

            //row 1
            Assert.AreEqual(ttr.Impressions[0].tileRow, 0);
            Assert.AreEqual(ttr.Impressions[0].tileColumn, 0);
            Assert.AreEqual(ttr.Impressions[1].tileRow, 0);
            Assert.AreEqual(ttr.Impressions[1].tileColumn, 1);
            Assert.AreEqual(ttr.Impressions[2].tileRow, 0);
            Assert.AreEqual(ttr.Impressions[2].tileColumn, 2);

            //row 2
            Assert.AreEqual(ttr.Impressions[3].tileRow, 1);
            Assert.AreEqual(ttr.Impressions[3].tileColumn, 0);
            Assert.AreEqual(ttr.Impressions[4].tileRow, 1);
            Assert.AreEqual(ttr.Impressions[4].tileColumn, 1);
            Assert.AreEqual(ttr.Impressions[5].tileRow, 1);
            Assert.AreEqual(ttr.Impressions[5].tileColumn, 2);

            Assert.AreEqual(tm.currentTopLeftTileRow, 0);
            Assert.AreEqual(tm.currentTopLeftTileColumn, 0);

            Assert.AreEqual(tm.drawnLeftTileColumn, 0);
            Assert.AreEqual(tm.drawnRightTileColumn, 2);

            ttr.ClearLog();
        }
Пример #4
0
        private void TheSurface_SizeChanged(object sender, SizeChangedEventArgs e)
        {
            visibleRegionManager.UpdateViewportSize(e.NewSize);

            myDrawingVisual.SetSize(virtualSurfaceHost);
            this.tracker.MaxPosition = new System.Numerics.Vector3(
                TILESIZE * (int)Math.Pow(2, ZoomLevel) - (int)virtualSurfaceHost.ActualWidth,
                TILESIZE * (int)Math.Pow(2, ZoomLevel) - (int)virtualSurfaceHost.ActualHeight, 0);
        }
Пример #5
0
        public void PanDownLessThanThreshold()
        {
            ttr = new TestTileRenderer();
            tm  = new TileDrawingManager(ttr);

            tm.UpdateViewportSize(new Size(750, 750));

            ttr.ClearLog();

            tm.UpdateVisibleRegion(new System.Numerics.Vector3(0.0f, 1.0f, 0f));

            Assert.AreEqual(ttr.Impressions.Count, 0);

            Assert.AreEqual(tm.drawnTopTileRow, 0);
            Assert.AreEqual(tm.drawnBottomTileRow, 2);
        }
Пример #6
0
        public void PanRightLessThanThreshold()
        {
            ttr = new TestTileRenderer();
            tm  = new TileDrawingManager(ttr);

            tm.UpdateViewportSize(new Size(750, 750));

            ttr.ClearLog();

            tm.UpdateVisibleRegion(new System.Numerics.Vector3(1.0f, 0f, 0f));
            //tm.UpdateVisibleRegion(new System.Numerics.Vector3(251.0f, 0f, 0f));

            Assert.AreEqual(ttr.Impressions.Count, 0);

            Assert.AreEqual(tm.drawnLeftTileColumn, 0);
            Assert.AreEqual(tm.drawnRightTileColumn, 2);
        }
Пример #7
0
        private void TheSurface_SizeChanged(object sender, SizeChangedEventArgs e)
        {
            visibleRegionManager.UpdateViewportSize(e.NewSize);

            myDrawingVisual.SetSize(virtualSurfaceHost);
        }