public void OptimizedCanvas_Renders_Like_Canvas() { var canvas = new Canvas(100, 100, ""); canvas.Add(new RectangleShape(0, 0, 20, 20, "white")); canvas.Add(new CircleShape(10, 10, 10, "red")); canvas.Add(new RectangleShape(80, 80, 20, 20, "white")); canvas.Add(new CircleShape(90, 90, 10, "brown")); canvas.Layers.Add(new SecondsLayer() { Offset = new Vertex(50, 50) }); canvas.Add(new RectangleShape(-1, -30, 2, 32, "blue")); canvas.Layers.Add(new Layer()); canvas.Add(new RectangleShape(0, 80, 20, 20, "white")); canvas.Add(new CircleShape(10, 90, 10, "green")); canvas.Add(new RectangleShape(80, 0, 20, 20, "white")); canvas.Add(new CircleShape(90, 10, 10, "purple")); var clockCanvas = new ClockCanvas(new TestTimer(Instant.FromDateTimeOffset(DateTime.Today.AddHours(3).AddMinutes(30).AddSeconds(45))), canvas); var optimizedCanvas = clockCanvas.OptimizeFor(1); clockCanvas.Update(); optimizedCanvas.Update(); var bmp = optimizedCanvas.Render(); AssertBitmapsAreEqual(clockCanvas.Render(), bmp); }
public void OptimizedCanvas_Renders_Like_Canvas_When_Holes() { var canvas = new Canvas(100, 100, ""); canvas.Add(new RectangleShape(0, 0, 20, 20, "black")); canvas.Add(new CircleShape(10, 10, 10, "brown")); canvas.Add(new RectangleShape(80, 80, 20, 20, "pink")); canvas.Add(new CircleShape(90, 90, 10, "red")); canvas.Layers.Add(new SecondsLayer() { Offset = new Vertex(50, 50) }); canvas.Add(new RectangleShape(-1, -30, 2, 32, "blue")); canvas.Layers.Add(new Layer()); canvas.Add(new RectangleShape(0, 80, 20, 20, "yellow")); canvas.Add(new CircleShape(10, 90, 10, "purple")); canvas.Add(new RectangleShape(80, 0, 20, 20, "white")); canvas.Add(new CircleShape(90, 10, 10, "green")); canvas.Layers.Add(new CachedLayer()); canvas.Add(new CircleShape(50, 50, 50, "orange")); canvas.Add(new DeleteCircleShape { Position = new Vertex(50, 50), Radius = 45 }); var clockCanvas = new ClockCanvas(new TestTimer(Instant.FromDateTimeOffset(DateTime.Today.AddHours(3).AddMinutes(30).AddSeconds(45))), canvas); var optimizedCanvas = clockCanvas.OptimizeFor(1); clockCanvas.Update(); optimizedCanvas.Update(); var bmp = optimizedCanvas.Render(); AssertBitmapsAreEqual(clockCanvas.Render(), bmp, PixelCompareMode.RGBASimilar); }
public void OptimizedCanvas_Renders_Like_Canvas_When_Bitmap() { var canvas = new Canvas(273, 273, ""); canvas.Add(new RectangleShape(0, 0, 20, 20, "white")); canvas.Add(new BitmapShape(new FileReader(TestPath(""))) { Left = 0, Top = 0, Width = 273, Height = 273, Path = TestPath(@"default_Test.png") }); var clockCanvas = new ClockCanvas(new TestTimer(Instant.FromDateTimeOffset(DateTime.Today.AddHours(3).AddMinutes(30).AddSeconds(45))), canvas); var optimizedCanvas = clockCanvas.OptimizeFor(1); clockCanvas.Update(); optimizedCanvas.Update(); var bmp = optimizedCanvas.Render(); AssertBitmapsAreEqual(clockCanvas.Render(), bmp); }