public void TestText() { _form.Show(); _form.ClientSize = new Size(1280, 800); _form.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width / 2 - 640, Screen.PrimaryScreen.WorkingArea.Height / 2 - 400); _form.BringToFront(); _form.WindowState = FormWindowState.Minimized; _form.WindowState = FormWindowState.Normal; GorgonText text = _renderer.Renderables.CreateText("Test", _graphics.Fonts.DefaultFont, "The quick brown fox jumps over the lazy dog.\n1234567890 !@#$%^&*() ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"); Gorgon.Run(_form, () => { _renderer.Clear(Color.Black); text.Draw(); _renderer.Render(); return(true); }); Assert.IsTrue(_form.TestResult == DialogResult.Yes); }
public void TestEllipse() { _form.Show(); _form.ClientSize = new Size(1280, 800); _form.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width / 2 - 640, Screen.PrimaryScreen.WorkingArea.Height / 2 - 400); _form.BringToFront(); _form.WindowState = FormWindowState.Minimized; _form.WindowState = FormWindowState.Normal; GorgonEllipse ellipse = _renderer.Renderables.CreateEllipse("Test", new Vector2(320, 400), new Vector2(100, 100), Color.Blue, true, 32); Gorgon.Run(_form, () => { _renderer.Clear(Color.Black); ellipse.Color = Color.Blue; ellipse.IsFilled = true; ellipse.Position = new Vector2(480, 400); ellipse.Draw(); ellipse.Color = Color.Green; ellipse.IsFilled = false; ellipse.Position = new Vector2(800, 400); ellipse.Draw(); _renderer.Render(); return(true); }); Assert.IsTrue(_form.TestResult == DialogResult.Yes); }
public void TestOrthoCamera() { _form.Show(); _form.ClientSize = new Size(1280, 800); _form.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width / 2 - 640, Screen.PrimaryScreen.WorkingArea.Height / 2 - 400); _form.BringToFront(); _form.WindowState = FormWindowState.Minimized; _form.WindowState = FormWindowState.Normal; var camera = _renderer.CreateCamera <Gorgon2DOrthoCamera>("TestCam", new RectangleF(Vector2.Zero, _form.ClientSize), 0.0f, 1.0f); var camera2 = _renderer.CreateCamera <Gorgon2DPerspectiveCamera>("TestCam2", new RectangleF(-1, -1, 2, 2), 0.01f, 100.0f); using (var texture = _graphics.Textures.FromFile <GorgonTexture2D>("Test", @"..\..\..\..\Resources\Images\Ship.png", new GorgonCodecPNG())) { //camera.ViewDimensions = new RectangleF(0, 0, 1, 1); camera.ViewDimensions = new RectangleF(-1, -1, 2, 2); /*camera.ViewDimensions = new RectangleF( * new Vector2(_screen.Settings.Width / -2.0f, _screen.Settings.Height / -2.0f), * new Vector2(_screen.Settings.Width / 2.0f, _screen.Settings.Height / 2.0f));*/ //camera.Anchor = new Vector2(0.5f, 0.5f); //camera.Zoom = new Vector2(2); //camera.Anchor = new Vector2(640, 400); //camera.Angle = 45.0f; var size = new Vector2(texture.Settings.Width * (camera.ViewDimensions.Width / _screen.Settings.Width), texture.Settings.Height * (camera.ViewDimensions.Height / _screen.Settings.Height)); //size = size * 4.0f; var sprite = _renderer.Renderables.CreateSprite("Test", new GorgonSpriteSettings { Texture = texture, Size = size, TextureRegion = new RectangleF(Vector2.Zero, texture.ToTexel(texture.Settings.Width, texture.Settings.Height)) }); _renderer.Camera = camera; sprite.Depth = 0.0f; sprite.Position = (Vector2)camera.Project(new Vector2(320, 200)); Gorgon.Run(_form, () => { var projectedSpace = -(Vector2)camera.Project(new Vector3(_form.PointToClient(Cursor.Position), 0), false); var projectedViewSpace = (Vector2)camera.Project(new Vector2(320, 200)); var unprojectedSpace = (Vector2)camera.Unproject(projectedSpace, false); var unprojectedViewSpace = (Vector2)camera.Unproject(projectedViewSpace); _renderer.Clear(Color.Black); _renderer.Camera = camera; sprite.Draw(); //Vector2 projectedSpace = camera.Project(new Vector2(320, 200)); camera.Position = projectedSpace; camera2.Draw(); camera.Draw(); _renderer.DefaultCamera.Draw(); _renderer.Camera = null; _renderer.Drawing.DrawEllipse(new RectangleF(310, 190, 20, 20), Color.Firebrick, 64, new Vector2(1)); _renderer.Drawing.DrawString(_graphics.Fonts.DefaultFont, string.Format("X:{0:0.00}, Y:{1:0.00}\nU:{2:0.00}, V:{3:0.00}\nI:{4:0.00}, J:{5:0.00}\nK:{8:0.00}, L:{9:00}\nSize X:{6:0.00}, Size Y:{7:0.00}", projectedSpace.X, projectedSpace.Y, unprojectedSpace.X, unprojectedSpace.Y, projectedViewSpace.X, projectedViewSpace.Y, size.X, size.Y, unprojectedViewSpace.X, unprojectedViewSpace.Y), Vector2.Zero, Color.Yellow); _renderer.Render(); return(true); }); Assert.IsTrue(_form.TestResult == DialogResult.Yes); } }