Пример #1
0
        public ResizeHandle(Figure owner, VectorFigure handleShape, float offsetX, float offsetY, ResizeDirections direction)
        {
            HandleShape = handleShape;

            Width  = handleShape.Width;
            Height = handleShape.Height;

            _offsetX = offsetX;
            _offsetY = offsetY;
            handleShape.IsDragable      = false;
            handleShape.IsVisible       = false;
            handleShape.IsSelectable    = false;
            handleShape.CanBeSnapTarget = false;

            Direction = direction;

            IsDragable      = true;
            IsVisible       = true;
            IsSelectable    = true;
            CanBeSnapTarget = false;
            SetSnapTargets(SnapTargets.Center);

            Owner = owner;

            Update();
        }
Пример #2
0
        public LineHandle(VectorFigure handleShape, int linePointIndex, Line line)
        {
            _line          = line;
            Owner          = line;
            HandleShape    = handleShape;
            LinePointIndex = linePointIndex;


            Width  = HandleShape.Width;
            Height = handleShape.Height;

            Update();

            handleShape.IsDragable      = false;
            handleShape.IsVisible       = false;
            handleShape.IsSelectable    = false;
            handleShape.CanBeSnapTarget = false;

            IsDragable      = true;
            IsVisible       = true;
            IsSelectable    = true;
            CanBeSnapTarget = false;

            SetSnapTargets(SnapTargets.Center);
        }
Пример #3
0
        public static Figure AddHandles(this Figure owner, VectorFigure handleShape, params ResizeDirections[] directions)
        {
            foreach (var direction in directions)
            {
                owner.AddHandle(new ResizeHandle(owner, handleShape, 0, 0, direction));
            }

            return(owner);
        }
Пример #4
0
        public override bool OnDragStart(Canvas canvas, float x, float y)
        {
            base.OnDragStart(canvas, x, y);

            if (_centerHandle == null)
            {
                _centerHandle = new Cross(BoundingBox.Center.X, BoundingBox.Center.Y, 10, 10)
                {
                    IsSelectable    = false,
                    IsDragable      = false,
                    FillColor       = Colors.Transparent,
                    CanBeSnapTarget = false
                };
                canvas.AddFigure(_centerHandle);
            }
            _centerHandle.BringToFront();


            return(true);
        }
Пример #5
0
        public GraphVertexHandle(VectorFigure handleShape, GraphNode node, Graph graph)
        {
            _node       = node;
            _graph      = graph;
            HandleShape = handleShape;
            Owner       = graph;

            Width  = HandleShape.Width;
            Height = handleShape.Height;

            Update();

            handleShape.IsDragable      = false;
            handleShape.IsVisible       = false;
            handleShape.IsSelectable    = false;
            handleShape.CanBeSnapTarget = false;

            IsDragable      = true;
            IsVisible       = true;
            IsSelectable    = true;
            CanBeSnapTarget = false;

            SetSnapTargets(SnapTargets.Center);
        }
Пример #6
0
 public override void OnDragEnd(Canvas canvas, bool isShiftKey, bool isCtrlKey)
 {
     base.OnDragEnd(canvas, isShiftKey, isCtrlKey);
     canvas.RemoveFigure(_centerHandle);
     _centerHandle = null;
 }
 public virtual void OnDragStart(Canvas canvas, VectorFigure figure, double x, double y)
 {
     figure.EnableDragFeedback(true);
 }
 public void OnDragEnd(Canvas canvas, VectorFigure figure, bool isShiftKey, bool isCtrlKey)
 {
     figure.EnableDragFeedback(false);
 }
 public virtual void OnDrag(Canvas canvas, VectorFigure figure, double dxSum, double dySum, double dx, double dy, bool isShiftKey,
                            bool isCtrlKey)
 {
 }