/// <inheritdoc/> public override SegmentViewModelBase CreateSegmentViewModel(SegmentModelBase segmentModel) { return(segmentModel switch { PolygonMaskShapeModel polygonMaskShapeModel => new PolygonMaskShapeViewModel(polygonMaskShapeModel, _scriptVideoContext, _rootUndoObject, _undoService, _undoChangeFactory, _clipboardService), RectangleMaskShapeModel rectangleMaskShapeModel => new RectangleMaskShapeViewModel(rectangleMaskShapeModel, _scriptVideoContext, _rootUndoObject, _undoService, _undoChangeFactory, _clipboardService), EllipseMaskShapeModel ellipseMaskShapeModel => new EllipseMaskShapeViewModel(ellipseMaskShapeModel, _scriptVideoContext, _rootUndoObject, _undoService, _undoChangeFactory, _clipboardService), _ // default => throw new ArgumentException("Invalid or null SegmentModelBase instance", nameof(segmentModel)), });
/// <inheritdoc/> public override SegmentViewModelBase CreateSegmentViewModel(SegmentModelBase segmentModel) { return(new MockSegmentViewModel((MockSegmentModel)segmentModel, _scriptVideoContext, _rootUndoObject, _undoService, _undoChangeFactory, _clipboardService)); }
/// <inheritdoc/> public abstract SegmentViewModelBase CreateSegmentViewModel(SegmentModelBase segmentModel);
/// <summary> /// Base constructor for masking shape segment view models derived from the <see cref="MaskShapeViewModelBase"/> class. /// </summary> /// <inheritdoc cref="SegmentViewModelBase(SegmentModelBase, IScriptVideoContext, object, IUndoService, IChangeFactory, IClipboardService, KeyFrameViewModelCollection)"/> protected MaskShapeViewModelBase(SegmentModelBase model, IScriptVideoContext scriptVideoContext, object rootUndoObject, IUndoService undoService, IChangeFactory undoChangeFactory, IClipboardService clipboardService, KeyFrameViewModelCollection keyFrameViewModels = null) : base(model, scriptVideoContext, rootUndoObject, undoService, undoChangeFactory, clipboardService, keyFrameViewModels) { }