public override bool Start(IMouseInformation mouseInformation) { if (!Enabled) { return(false); } base.Start(mouseInformation); if (_graphicBuilder != null) { return(_graphicBuilder.Start(mouseInformation)); } IDicomPresentationImage image = mouseInformation.Tile.PresentationImage as IDicomPresentationImage; if (image == null || GetGeometricShuttersGraphic(image, true) == null) { return(false); } AddDrawShutterGraphic(image); if (_graphicBuilder.Start(mouseInformation)) { _primitiveGraphic.Draw(); return(true); } this.Cancel(); return(false); }
public override bool Start(IMouseInformation mouseInformation) { base.Start(mouseInformation); if (_graphicBuilder != null) { return(_graphicBuilder.Start(mouseInformation)); } if (!CanStart(mouseInformation.Tile.PresentationImage)) { return(false); } RoiGraphic roiGraphic = CreateRoiGraphic(); _graphicBuilder = CreateGraphicBuilder(roiGraphic.Subject); _graphicBuilder.GraphicComplete += OnGraphicBuilderComplete; _graphicBuilder.GraphicCancelled += OnGraphicBuilderCancelled; AddRoiGraphic(mouseInformation.Tile.PresentationImage, roiGraphic, (IOverlayGraphicsProvider)mouseInformation.Tile.PresentationImage); roiGraphic.Suspend(); try { if (_graphicBuilder.Start(mouseInformation)) { return(true); } } finally { roiGraphic.Resume(true); } this.Cancel(); return(false); }