public void InitOverlay( IDictionary <XBlock, BoolSimulation> simulations, IBoolSimulationRenderer cacheRenderer) { SelectionReset(); OverlayLayer.EnableSimulationCache = true; OverlayLayer.CacheRenderer = null; foreach (var simulation in simulations) { BlockLayer.Hidden.Add(simulation.Key); OverlayLayer.Shapes.Add(simulation.Key); } EditorLayer.Simulations = simulations; OverlayLayer.Simulations = simulations; OverlayLayer.CacheRenderer = cacheRenderer; cacheRenderer.Renderer = OverlayLayer.Renderer; cacheRenderer.NullStateStyle = OverlayLayer.NullStateStyle; cacheRenderer.TrueStateStyle = OverlayLayer.TrueStateStyle; cacheRenderer.FalseStateStyle = OverlayLayer.FalseStateStyle; cacheRenderer.Shapes = OverlayLayer.Shapes; cacheRenderer.Simulations = OverlayLayer.Simulations; BlockLayer.InvalidateVisual(); OverlayLayer.InvalidateVisual(); }
public void InvalidateLayers() { if (ShapeLayer.InvalidateVisual != null) { ShapeLayer.InvalidateVisual(); } if (BlockLayer.InvalidateVisual != null) { BlockLayer.InvalidateVisual(); } if (PinLayer.InvalidateVisual != null) { PinLayer.InvalidateVisual(); } if (WireLayer.InvalidateVisual != null) { WireLayer.InvalidateVisual(); } if (OverlayLayer.InvalidateVisual != null) { OverlayLayer.InvalidateVisual(); } }
public void ResetOverlay() { EditorLayer.Simulations = null; OverlayLayer.Simulations = null; OverlayLayer.CacheRenderer = null; BlockLayer.Hidden.Clear(); OverlayLayer.Shapes.Clear(); BlockLayer.InvalidateVisual(); OverlayLayer.InvalidateVisual(); }