private static void Render(Canvas target, IViewport viewport, IEnumerable <ILayer> layers, Color background, bool rasterizing) { #if !NETFX_CORE target.BeginInit(); #endif target.Background = background == null ? null : new XamlMedia.SolidColorBrush { Color = background.ToXaml() }; target.Visibility = Visibility.Collapsed; foreach (var child in target.Children) { (child as Canvas)?.Children.Clear(); } target.Children.Clear(); layers = layers.ToList(); foreach (var layer in layers) { if (!layer.Enabled) { continue; } if (layer.MinVisible > viewport.Resolution) { continue; } if (layer.MaxVisible < viewport.Resolution) { continue; } RenderLayer(target, viewport, layer, rasterizing); } target.Arrange(new Rect(0, 0, viewport.Width, viewport.Height)); target.Visibility = Visibility.Visible; #if !NETFX_CORE if (DeveloperTools.DeveloperMode) { DrawDebugInfo(target, layers); } #endif #if !NETFX_CORE target.EndInit(); #endif }
private static XamlMedia.SolidColorBrush ToBackground(Color background) { return(background == null ? null : new XamlMedia.SolidColorBrush { Color = background.ToXaml() }); }
private static void Render(Canvas target, IViewport viewport, IEnumerable<ILayer> layers, Color background, bool rasterizing) { target.BeginInit(); target.Background = background == null ? null : new XamlMedia.SolidColorBrush {Color = background.ToXaml()}; target.Visibility = Visibility.Collapsed; foreach (var child in target.Children) { (child as Canvas)?.Children.Clear(); } target.Children.Clear(); layers = layers.ToList(); foreach (var layer in layers) { if (!layer.Enabled) continue; if (layer.MinVisible > viewport.Resolution) continue; if (layer.MaxVisible < viewport.Resolution) continue; RenderLayer(target, viewport, layer, rasterizing); } target.Arrange(new Rect(0, 0, viewport.Width, viewport.Height)); target.Visibility = Visibility.Visible; if (DeveloperTools.DeveloperMode) { DrawDebugInfo(target, layers); } target.EndInit(); }