private void OnCloneComplete() { if (_shutter != null) { base.Graphics.Remove(_shutter); _shutter.Dispose(); _shutter = null; } if (_layers != null) { base.Graphics.Remove(_layers); _layers.Dispose(); _layers = null; } _shutter = (ShutterCollection)base.Graphics.FirstOrDefault(IsType <ShutterCollection>); _layers = (LayerCollection)base.Graphics.FirstOrDefault(IsType <LayerCollection>); FillOverlayCollections(_shutter); foreach (LayerGraphic layer in _layers) { FillOverlayCollections(layer.Graphics); } }
public void ActivateAsLayer(int index, string layerId) { OverlayPlaneGraphic overlay = _overlays[index]; if (overlay != null) { if (overlay.ParentGraphic is ShutterCollection) { ShutterCollection shutterCollection = (ShutterCollection)overlay.ParentGraphic; shutterCollection.Deactivate(overlay); shutterCollection.Graphics.Remove(overlay); } ILayer layer = _owner.Layers[layerId]; if (overlay.ParentGraphic is CompositeGraphic && overlay.ParentGraphic != layer) { ((CompositeGraphic)overlay.ParentGraphic).Graphics.Remove(overlay); } if (overlay.ParentGraphic == null) { layer.Graphics.Add(overlay); } overlay.Visible = true; } }
/// <summary> /// Constructs a new instance of a <see cref="DicomGraphicsPlane"/>. /// </summary> public DicomGraphicsPlane() { _imageOverlays = new OverlaysCollection(this); _presentationOverlays = new OverlaysCollection(this); _userOverlays = new UserOverlaysCollection(this); base.Graphics.Add(_shutter = new ShutterCollection()); base.Graphics.Add(_layers = new LayerCollection()); }