Esempio n. 1
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="layer"></param>
        public void Add(Layer layer)
        {
            if (layer == null)
                return;

            layer.PropertyChanged += LayerObserver;

            Verbose("Add Layer: " + layer.Name);

            if (layer.Shapes != null)
            {
                Add(layer.Shapes);
            }

            layer.InvalidateLayer += InvalidateLayerObserver;
        }
Esempio n. 2
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="layer"></param>
        public void Remove(Layer layer)
        {
            if (layer == null)
                return;

            layer.PropertyChanged -= LayerObserver;

            Verbose("Remove Layer: " + layer.Name);

            if (layer.Shapes != null)
            {
                Remove(layer.Shapes);
            }

            layer.InvalidateLayer -= InvalidateLayerObserver;
        }
Esempio n. 3
0
        /// <summary>
        /// 
        /// </summary>
        private void Initialize()
        {
            if (_layer != null)
            {
                DeInitialize();
            }

            var layer = DataContext as Layer;
            if (layer != null)
            {
                _layer = layer;
                _layer.InvalidateLayer += Invalidate;
            }
        }
Esempio n. 4
0
 /// <summary>
 /// 
 /// </summary>
 private void DeInitialize()
 {
     if (_layer != null)
     {
         _layer.InvalidateLayer -= Invalidate;
         _layer = default(Layer);
     }
 }
Esempio n. 5
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="gfx"></param>
 /// <param name="layer"></param>
 /// <param name="db"></param>
 /// <param name="r"></param>
 public void Draw(object gfx, Layer layer, ImmutableArray<ShapeProperty> db, Record r)
 {
     foreach (var shape in layer.Shapes)
     {
         if (shape.State.Flags.HasFlag(_state.DrawShapeState.Flags))
         {
             shape.Draw(gfx, this, 0, 0, db, r);
         }
     }
 }
Esempio n. 6
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="dc"></param>
        /// <param name="layer"></param>
        /// <param name="db"></param>
        /// <param name="r"></param>
        public void Draw(object dc, Layer layer, ImmutableArray<Property> db, Record r)
        {
            var _dc = dc as DrawingContext;

            foreach (var shape in layer.Shapes)
            {
                shape.Bind(r);
            }

            foreach (var shape in layer.Shapes)
            {
                if (shape.State.Flags.HasFlag(_state.DrawShapeState.Flags))
                {
                    shape.Draw(_dc, this, 0, 0, db, r);
                }
            }
        }