Пример #1
0
        public CroppingAdorner(UIElement adornedElement) : base(adornedElement)
        {
            _visualCollection   = new VisualCollection(this);
            _originalCanvas     = (Canvas)adornedElement;
            _canvasOverlay      = new Canvas();
            _rectangleManager   = new RectangleManager(_canvasOverlay);
            _overlayManager     = new OverlayManager(_canvasOverlay, _rectangleManager);
            _thumbManager       = new ThumbManager(_canvasOverlay, _rectangleManager);
            _displayTextManager = new DisplayTextManager(_canvasOverlay, _rectangleManager);
            _visualCollection.Add(_canvasOverlay);

            MouseLeftButtonDown += MouseLeftButtonDownEventHandler;
            MouseMove           += MouseMoveEventHandler;
            MouseLeftButtonUp   += MouseLeftButtonUpEventHandler;

            //add overlay
            Loaded += (sender, args) => { _overlayManager.UpdateOverlay(); };

            //if rectangle size chanhed, re-draw overlay
            _rectangleManager.RectangleSizeChanged += (sender, args) =>
            {
                _overlayManager.UpdateOverlay();
                _displayTextManager.UpdateSizeText();
            };
            _rectangleManager.OnRectangleDoubleClickEvent += (sender, args) =>
            {
                if (OnRectangleDoubleClickEvent != null)
                {
                    OnRectangleDoubleClickEvent(sender, new DoubleClickEventArgs()
                    {
                        BitmapFrame = GetCroppedBitmapFrame()
                    });
                }
            };
        }
Пример #2
0
        public void rectangle_offset_top_gets_properly_adjusted_when_height_would_be_negative()
        {
            FigureManager _manager      = new RectangleManager();
            Rectangle     rectangle     = new Rectangle();
            Point         mousePosition = new Point(3, 4);

            _manager.Set(5, 5);

            _manager.Transform(rectangle, mousePosition);
            Assert.AreEqual(4, _manager.OffsetTop);
        }
Пример #3
0
        public CroppingAdorner(UIElement adornedElement) : base(adornedElement)
        {
            _visualCollection = new VisualCollection(this);
            _originalCanvas   = (Canvas)adornedElement;
            _canvasOverlay    = new Canvas();
            _rectangleManager = new RectangleManager(_canvasOverlay);
            _visualCollection.Add(_canvasOverlay);

            MouseLeftButtonDown += MouseLeftButtonDownEventHandler;
            MouseMove           += MouseMoveEventHandler;
            MouseLeftButtonUp   += MouseLeftButtonUpEventHandler;
        }
Пример #4
0
        public void rectangle_width_and_height_gets_properly_adjusted()
        {
            FigureManager _manager      = new RectangleManager();
            Rectangle     rectangle     = new Rectangle();
            Point         mousePosition = new Point(3, 4);

            _manager.Set(0, 0);

            _manager.Transform(rectangle, mousePosition);
            Assert.AreEqual(4, rectangle.Height);
            Assert.AreEqual(3, rectangle.Width);
        }
Пример #5
0
 void Awake()
 {
     if (instance == null)
     {
         instance = this;
         DontDestroyOnLoad(gameObject);
     }
     else
     {
         Destroy(gameObject);
     }
 }
Пример #6
0
        private FigureManager GetFigureManagerForEdit(ShapeListItem shape)
        {
            FigureManager figureManager = null;

            if (shape.Shape is Line)
            {
                figureManager = new LineManager();
            }
            else if (shape.Shape is Ellipse)
            {
                figureManager = new EllipseManager();
            }
            else if (shape.Shape is System.Windows.Shapes.Rectangle)
            {
                figureManager = new RectangleManager();
            }
            figureManager.Set(shape.StartX, shape.StartY);
            return(figureManager);
        }
Пример #7
0
        private FigureManager GetFigureManager(double x, double y)
        {
            FigureManager figureManager = null;

            if (RBLine.IsChecked.Value)
            {
                figureManager = new LineManager();
            }
            else if (RBCircle.IsChecked.Value)
            {
                figureManager = new EllipseManager();
            }
            else if (RBRectangle.IsChecked.Value)
            {
                figureManager = new RectangleManager();
            }
            figureManager.Set(x, y);
            return(figureManager);
        }