private void DeleteSelectedComponents_Click(object sender, RoutedEventArgs e) { var elements = InkLayer.GetSelectedElements(); var strokes = InkLayer.GetSelectedStrokes(); if (elements.Count > 0 || strokes.Count > 0) { DeleteSelectedElements(elements, strokes); } e.Handled = true; }
public void RemoveLayer(InkLayer layer) { if (layer == null) { return; } var n = _layers.IndexOf(layer); _layers.Remove(layer); layer.Image.Dispose(); ActiveLayer = n < _layers.Count && n >= 0 ? _layers[n] : _layers.LastOrDefault(); //_canvas.Invalidate(); Invalidate(); }
private void InkLayer_SelectionChanged(object sender, EventArgs e) { var layer = (InkLayer.DataContext as ViewModels.Controls.Layer); InkLayer.UpdateLayout(); var bounds = InkLayer.GetSelectionBounds(); if (bounds != null && !bounds.IsEmpty && bounds.Width > 0 && bounds.Height > 0) { var topRightCorner = new Point(bounds.X + bounds.Width, bounds.Y); DeleteSelectedComponents.SetValue(Canvas.LeftProperty, topRightCorner.X - 2); DeleteSelectedComponents.SetValue(Canvas.TopProperty, topRightCorner.Y - 23); DeleteSelectedComponents.Visibility = Visibility.Visible; } else { DeleteSelectedComponents.Visibility = Visibility.Collapsed; } }
public InkLayer AddLayer(string name) { var layer = new InkLayer { Image = CanvasRenderTargetExtension.CreateEmpty(_canvas, new Size(CanvasWidth, CanvasHeight)), Name = name, IsVisible = true, Opacity = 100 }; layer.PropertyChanged += Layer_PropertyChanged; using (var ds = layer.Image.CreateDrawingSession()) { ds.Clear(); } _layers.Insert(0, layer); ActiveLayer = layer; return(layer); }
private void App_PreviewKeyDown(object sender, KeyEventArgs e) { var layer = (InkLayer.DataContext as ViewModels.Controls.Layer); var elements = InkLayer.GetSelectedElements(); var strokes = InkLayer.GetSelectedStrokes(); if (elements.Count > 0 || strokes.Count > 0) { if ((Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl)) && (e.Key == Key.X || e.Key == Key.C || e.Key == Key.V)) { e.Handled = true; } else if (e.Key == Key.Delete && layer.IsCurrentLayer) { DeleteSelectedElements(elements, strokes); e.Handled = true; } } }
public async Task <bool> ImportPicture(IRandomAccessStream stream) { var layer = new InkLayer { Image = CanvasRenderTargetExtension.CreateEmpty(_canvas, new Size(CanvasWidth, CanvasHeight)), Name = "Imported", IsVisible = true, Opacity = 100 }; layer.PropertyChanged += Layer_PropertyChanged; using (var bitmap = await CanvasBitmap.LoadAsync(_canvas.SwapChain, stream)) using (var ds = layer.Image.CreateDrawingSession()) { ds.Clear(); ds.DrawImage(bitmap); } _layers.Add(layer); //_canvas.Invalidate(); Invalidate(); return(true); }
protected virtual void Enter(bool animated) { RippleState = MDCInkRippleState.kInkRippleSpreading; InkLayer.AddSublayer(this); _animationCleared = false; }
public async Task<bool> ImportPicture(IRandomAccessStream stream) { var layer = new InkLayer { Image = CanvasRenderTargetExtension.CreateEmpty(_canvas, new Size(CanvasWidth, CanvasHeight)), Name = "Imported", IsVisible = true, Opacity = 100 }; layer.PropertyChanged += Layer_PropertyChanged; using (var bitmap = await CanvasBitmap.LoadAsync(_canvas, stream)) using (var ds = layer.Image.CreateDrawingSession()) { ds.Clear(); ds.DrawImage(bitmap); } _layers.Add(layer); _canvas.Invalidate(); return true; }
public void RemoveLayer(InkLayer layer) { if (layer == null) return; var n = _layers.IndexOf(layer); _layers.Remove(layer); layer.Image.Dispose(); ActiveLayer = n < _layers.Count && n >= 0 ? _layers[n] : _layers.LastOrDefault(); _canvas.Invalidate(); }
public InkLayer AddLayer(string name) { var layer = new InkLayer { Image = CanvasRenderTargetExtension.CreateEmpty(_canvas, new Size(CanvasWidth, CanvasHeight)), Name = name, IsVisible = true, Opacity = 100 }; layer.PropertyChanged += Layer_PropertyChanged; using (var ds = layer.Image.CreateDrawingSession()) { ds.Clear(); } _layers.Insert(0, layer); ActiveLayer = layer; return layer; }