public ShadeTool(Canvas canvas, CropTool cropTool) { _canvas = canvas; _cropTool = cropTool; ShadeOverlay = new Path { Fill = Brushes.Black, Opacity = 0.5 }; _geometryGroup = new GeometryGroup(); RectangleGeometry geometry1 = new RectangleGeometry(new Rect(new Size(_canvas.Width, _canvas.Height))); _rectangleGeo = new RectangleGeometry( new Rect( _cropTool.TopLeftX, _cropTool.TopLeftY, _cropTool.Width, _cropTool.Height ) ); _geometryGroup.Children.Add(geometry1); _geometryGroup.Children.Add(_rectangleGeo); ShadeOverlay.Data = _geometryGroup; }
public CropService(FrameworkElement adornedElement) { _adornedElement = adornedElement; _canvas = new Canvas { Height = adornedElement.ActualHeight, Width = adornedElement.ActualWidth }; _cropAdorner = new CropAdorner(adornedElement, _canvas); var adornerLayer = AdornerLayer.GetAdornerLayer(adornedElement); Debug.Assert(adornerLayer != null, nameof(adornerLayer) + " != null"); adornerLayer.Add(_cropAdorner); _cropTool = new CropTool(_canvas); _cropTool.CroppedAreaChangedEvent += OnCroppedAreaChanged; _createState = new CreateState(_cropTool, _canvas); _completeState = new CompleteState(); _dragState = new DragState(_cropTool, _canvas); _currentToolState = _completeState; _cropAdorner.MouseLeftButtonDown += AdornerOnMouseLeftButtonDown; _cropAdorner.MouseMove += AdornerOnMouseMove; _cropAdorner.MouseLeftButtonUp += AdornerOnMouseLeftButtonUp; _cropTool.Redraw(0, 0, 0, 0); }
public TextTool(CropTool cropTool) { _cropTool = cropTool; TextBlock = new TextBlock { Text = "Size counter", FontSize = 14, Foreground = Brushes.White, Background = Brushes.Black, Visibility = Visibility.Hidden }; }
public CropService(FrameworkElement adornedElement, bool squareSelection) { //Hack: added by thr _squareSelection = squareSelection; _canvas = new Canvas { Height = adornedElement.ActualHeight, Width = adornedElement.ActualWidth }; _cropAdorner = new CropAdorner(adornedElement, _canvas); var adornerLayer = AdornerLayer.GetAdornerLayer(adornedElement); Debug.Assert(adornerLayer != null, nameof(adornerLayer) + " != null"); adornerLayer.Add(_cropAdorner); var cropShape = new CropShape( new Rectangle { Height = 0, Width = 0, Stroke = Brushes.Black, StrokeThickness = 1.5 }, new Rectangle { Stroke = Brushes.White, StrokeDashArray = new DoubleCollection(new double[] { 4, 4 }) } ); _cropTool = new CropTool(_canvas, _squareSelection); _createState = new CreateState(_cropTool, _canvas); _completeState = new CompleteState(); _dragState = new DragState(_cropTool, _canvas); _currentToolState = _completeState; _cropAdorner.MouseLeftButtonDown += AdornerOnMouseLeftButtonDown; _cropAdorner.MouseMove += AdornerOnMouseMove; _cropAdorner.MouseLeftButtonUp += AdornerOnMouseLeftButtonUp; _cropTool.Redraw(0, 0, 0, 0); }
public ThumbTool(Canvas canvas, CropTool cropTool) { _canvas = canvas; _cropTool = cropTool; BottomMiddle = new ThumbCrop(_thumbSize, Cursors.SizeNS); LeftMiddle = new ThumbCrop(_thumbSize, Cursors.SizeWE); TopMiddle = new ThumbCrop(_thumbSize, Cursors.SizeNS); RightMiddle = new ThumbCrop(_thumbSize, Cursors.SizeWE); TopLeft = new ThumbCrop(_thumbSize, Cursors.SizeNWSE); TopRight = new ThumbCrop(_thumbSize, Cursors.SizeNESW); BottomLeft = new ThumbCrop(_thumbSize, Cursors.SizeNESW); BottomRight = new ThumbCrop(_thumbSize, Cursors.SizeNWSE); LeftMiddle.DragDelta += LeftMiddle_DragDelta; BottomMiddle.DragDelta += BottomMiddle_DragDelta; TopMiddle.DragDelta += TopMiddle_DragDelta; RightMiddle.DragDelta += RightMiddle_DragDelta; TopLeft.DragDelta += TopLeft_DragDelta; TopRight.DragDelta += TopRight_DragDelta; BottomLeft.DragDelta += BottomLeft_DragDelta; BottomRight.DragDelta += BottomRight_DragDelta; }