Ejemplo n.º 1
0
        protected override void OnMouseDown(MouseButtonEventArgs e)
        {
            base.OnMouseDown(e);

            var position = e.GetPosition(this);
            var result   = CircuitEditorHitTest.HitTest(this, position);
            var hitTest  = ToEditorHitTest(result);

            foreach (var operation in GetActiveOperations())
            {
                operation.OnMouseDown(position, hitTest, this);
            }
        }
Ejemplo n.º 2
0
        protected override void OnMouseMove(MouseEventArgs e)
        {
            base.OnMouseMove(e);

            var position = e.GetPosition(this);
            var result   = CircuitEditorHitTest.HitTest(this, position);
            var hitTest  = ToEditorHitTest(result);

            bool operationPerformed = false;

            foreach (var operation in GetActiveOperations())
            {
                operationPerformed |= operation.OnMouseMove(position, hitTest, this);
            }

            if (result?.Element != null)
            {
                HighlightElement(result.Element);

                result  = CircuitEditorHitTest.HitTest(this, position);
                hitTest = ToEditorHitTest(result);

                if (hitTest.ResizeHandle != null)
                {
                    foreach (var operation in GetActiveOperations())
                    {
                        operation.OnMouseMove(position, hitTest, this);
                    }
                }
            }

            if (!operationPerformed && hitTest.Element == null && hitTest.ResizeHandle == null)
            {
                Cursor = Cursors.Arrow;
                HighlightOnlySelectedElements();
            }
        }