예제 #1
0
 public static void ToQuadraticWithPortraitWindow()
 {
     var screen = new ScreenSpace(new Size(75, 100));
     Assert.AreEqual(new Point(0.125f, 0), screen.TopLeft);
     Assert.AreEqual(new Point(0.875f, 1), screen.BottomRight);
     Assert.AreEqual(new Size(0.75f, 1), screen.Area);
     Assert.AreEqual(new Rectangle(0.125f, 0, 0.75f, 1), screen.Viewport);
     Assert.AreEqual(new Point(0.875f, 1f), screen.ToQuadraticSpace(new Point(75, 100)));
     Assert.AreEqual(Point.Half, screen.ToQuadraticSpace(new Point(37.5f, 50)));
     Assert.AreEqual(new Size(0.1f, 0.1f), screen.ToQuadraticSpace(new Size(10, 10)));
 }
예제 #2
0
 public static void ToQuadraticWithNonSquareWindow()
 {
     var screen = new ScreenSpace(new Size(100, 75));
     Assert.AreEqual(new Point(0, 0.125f), screen.TopLeft);
     Assert.AreEqual(new Point(1, 0.875f), screen.BottomRight);
     Assert.AreEqual(new Size(1, 0.75f), screen.Area);
     Assert.AreEqual(new Rectangle(0, 0.125f, 1, 0.75f), screen.Viewport);
     Assert.AreEqual(new Point(1f, 0.875f), screen.ToQuadraticSpace(new Point(100, 75)));
     Assert.AreEqual(Point.Half, screen.ToQuadraticSpace(new Point(50, 37.5f)));
     Assert.AreEqual(new Size(0.1f, 0.1f), screen.ToQuadraticSpace(new Size(10, 10)));
 }
예제 #3
0
 public static void ToQuadraticWithSquareWindow()
 {
     var screen = new ScreenSpace(new Size(100, 100));
     Assert.AreEqual(Point.Zero, screen.TopLeft);
     Assert.AreEqual(Point.One, screen.BottomRight);
     Assert.AreEqual(Size.One, screen.Area);
     Assert.AreEqual(Rectangle.One, screen.Viewport);
     Assert.AreEqual(Point.One, screen.ToQuadraticSpace(new Point(100, 100)));
     Assert.AreEqual(Point.Half, screen.ToQuadraticSpace(new Point(50, 50)));
     Assert.AreEqual(new Rectangle(0.1f, 0.1f, 0.8f, 0.8f),
         screen.ToQuadraticSpace(new Rectangle(10, 10, 80, 80)));
 }
예제 #4
0
        public static void ToQuadraticWithPortraitWindow()
        {
            var screen = new ScreenSpace(new Size(75, 100));

            Assert.AreEqual(new Point(0.125f, 0), screen.TopLeft);
            Assert.AreEqual(new Point(0.875f, 1), screen.BottomRight);
            Assert.AreEqual(new Size(0.75f, 1), screen.Area);
            Assert.AreEqual(new Rectangle(0.125f, 0, 0.75f, 1), screen.Viewport);
            Assert.AreEqual(new Point(0.875f, 1f), screen.ToQuadraticSpace(new Point(75, 100)));
            Assert.AreEqual(Point.Half, screen.ToQuadraticSpace(new Point(37.5f, 50)));
            Assert.AreEqual(new Size(0.1f, 0.1f), screen.ToQuadraticSpace(new Size(10, 10)));
        }
예제 #5
0
        public static void ToQuadraticWithNonSquareWindow()
        {
            var screen = new ScreenSpace(new Size(100, 75));

            Assert.AreEqual(new Point(0, 0.125f), screen.TopLeft);
            Assert.AreEqual(new Point(1, 0.875f), screen.BottomRight);
            Assert.AreEqual(new Size(1, 0.75f), screen.Area);
            Assert.AreEqual(new Rectangle(0, 0.125f, 1, 0.75f), screen.Viewport);
            Assert.AreEqual(new Point(1f, 0.875f), screen.ToQuadraticSpace(new Point(100, 75)));
            Assert.AreEqual(Point.Half, screen.ToQuadraticSpace(new Point(50, 37.5f)));
            Assert.AreEqual(new Size(0.1f, 0.1f), screen.ToQuadraticSpace(new Size(10, 10)));
        }
예제 #6
0
        public static void ToQuadraticWithSquareWindow()
        {
            var screen = new ScreenSpace(new Size(100, 100));

            Assert.AreEqual(Point.Zero, screen.TopLeft);
            Assert.AreEqual(Point.One, screen.BottomRight);
            Assert.AreEqual(Size.One, screen.Area);
            Assert.AreEqual(Rectangle.One, screen.Viewport);
            Assert.AreEqual(Point.One, screen.ToQuadraticSpace(new Point(100, 100)));
            Assert.AreEqual(Point.Half, screen.ToQuadraticSpace(new Point(50, 50)));
            Assert.AreEqual(new Rectangle(0.1f, 0.1f, 0.8f, 0.8f),
                            screen.ToQuadraticSpace(new Rectangle(10, 10, 80, 80)));
        }
예제 #7
0
        public static void DrawRectangle()
        {
            Application.Start(delegate
            {
                Rect.DrawOutline(new Rectangle(0.5f, 0.5f, 0.25f, 0.25f),
                                 Color.Red);

                Rect.DrawOutline(new Rectangle(0.5f, 0.5f, 0.25f, 0.25f), Color.Red,
                                 45f);

                // Draw a rectangle located in the middle of the screen
                Rect.DrawOutline(new Rectangle(0.5f, 0.5f, 0.15f, 0.1f),
                                 Color.Red);
                // And show the whole screen area in green
                //This is 0, 800 for 800x600, but we need 0, 799: ScreenSpace.Area
                Rectangle pixelScreenRect = new Rectangle(0, 0,
                                                          Application.Window.ViewportPixelWidth - 1,
                                                          Application.Window.ViewportPixelHeight - 1);
                Rect.DrawOutline(ScreenSpace.ToQuadraticSpace(pixelScreenRect),
                                 Color.Green);
            });
        }