Ejemplo n.º 1
0
        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
        }
Ejemplo n.º 2
0
 private static XamlMedia.SolidColorBrush ToBackground(Color background)
 {
     return(background == null ? null : new XamlMedia.SolidColorBrush {
         Color = background.ToXaml()
     });
 }
Ejemplo n.º 3
0
        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();
        }