Esempio n. 1
0
        /// <summary>
        /// Sets the <see cref="Canvas"/> cursor associated with the object under mouse
        /// </summary>
        public override void OnKeyDown(KeyEventArgs e)
        {
            var feedback = objectUnderMouse?.GetFeedback(previousMouseLocation, e.Modifiers) ?? new Feedback(Cursors.Default, string.Empty);

            Canvas.OnFeedbackChanged(feedback.Cursor, feedback.Hint);
            base.OnKeyDown(e);
        }
Esempio n. 2
0
        /// <summary>
        /// TODO
        /// </summary>
        public override void OnMouseMove(MouseEventArgs e, Keys modifierKeys)
        {
            var location = Canvas.SnapToInterval && (modifierKeys & Keys.Control) != Keys.Control ? e.Location.Snap(Canvas.SnapInterval) : e.Location;

            var dx = location.X - previousMouseLocation.X;
            var dy = location.Y - previousMouseLocation.Y;

            previousMouseLocation = location;

            objectUnderMouse = FindObjectAt(Layer.CanvasObjects, e.Location, modifierKeys);

            if (IsMouseDown && allowMove)
            {
                selectedObjects.ForEach(o => o.MoveBy(dx, dy, modifierKeys));
            }

            var feedback = objectUnderMouse?.GetFeedback(e.Location, modifierKeys) ?? new Feedback(Cursors.Default, string.Empty);

            Canvas.OnFeedbackChanged(feedback.Cursor, feedback.Hint);

            Refresh();
            base.OnMouseMove(e, modifierKeys);
        }