Esempio n. 1
0
        /// Handles the InkOverlay to ensure that displayed strokes have not been moved.
        /// Code pulled from: http://windowssdk.msdn.microsoft.com/en-us/library/microsoft.ink.inkoverlay.selectionmoved.aspx
        /// </summary>
        /// <param name="sender">Reference to the object that raised the event</param>
        /// <param name="e">Passes an object specific to the event that is being handled</param>
        private void sketchInk_SelectionMoved(object sender, InkOverlaySelectionMovedEventArgs e)
        {
            // Get the selection's bounding box
            System.Drawing.Rectangle newBounds = sketchInk.Selection.GetBoundingBox();

            // Move to back to original spot
            sketchInk.Selection.Move(e.OldSelectionBoundingRect.Left - newBounds.Left,
                                     e.OldSelectionBoundingRect.Top - newBounds.Top);

            // Trick to insure that selection handles are updated
            sketchInk.Selection = sketchInk.Selection;
        }
Esempio n. 2
0
        /// <summary>
        /// Resizes InkPicture when necessary (for scrolling) and notifies subscribers
        /// </summary>
        protected void inkPic_SelectionMoved(object sender, InkOverlaySelectionMovedEventArgs e)
        {
            Rectangle oldBB = e.OldSelectionBoundingRect;
            Rectangle newBB = inkPic.Selection.GetBoundingBox();

            InkTransformedEventHandler xformEvent = InkTransformed;

            if (xformEvent != null)
            {
                xformEvent(oldBB, newBB, inkPic.Selection, InkTransformEventType.SelectionToolTransform);
            }

            this.resizeInkPicture();

            updateFocus();
        }
Esempio n. 3
0
        /* For any selection movement or resizing we need
         * to fix the node center points.
         */
        private void inkOverlay_SelectionMoved(object sender, InkOverlaySelectionMovedEventArgs e)
        {
            if (this.InvokeRequired)
            {
                return;
            }

            Nodes selectedNodes = graph.Nodes.getNodes(inkOverlay.Selection);

            for (int i = 0; i < selectedNodes.Length(); i++)
            {
                Rectangle r = selectedNodes[i].Stroke.GetBoundingBox();
                selectedNodes[i].CenterPoint = new Point(r.X + r.Width / 2, r.Y + r.Height / 2);
            }
            Invalidate();
        }
Esempio n. 4
0
        /* For any selection movement or resizing we need
         * to fix the node center points.
         */
        private void inkOverlay_SelectionMoved(object sender, InkOverlaySelectionMovedEventArgs e)
        {
            if(this.InvokeRequired) return;

            Nodes selectedNodes = graph.Nodes.getNodes(inkOverlay.Selection);
            for(int i=0; i<selectedNodes.Length(); i++)
            {
                Rectangle r = selectedNodes[i].Stroke.GetBoundingBox();
                selectedNodes[i].CenterPoint = new Point(r.X+r.Width/2, r.Y+r.Height/2);
            }
            Invalidate();
        }
Esempio n. 5
0
 private void inkoverlay_SelectionMoved(object sender, InkOverlaySelectionMovedEventArgs e)
 {
     // Share impl with resize.
     inkoverlay_SelectionMovedOrResized(sender, e.OldSelectionBoundingRect);
 }
Esempio n. 6
0
 private void inkoverlay_SelectionMoved(object sender, InkOverlaySelectionMovedEventArgs e)
 {
     // Share impl with resize.
     inkoverlay_SelectionMovedOrResized(sender,e.OldSelectionBoundingRect);
 }
        /// <summary>
        /// Resizes InkPicture when necessary (for scrolling)
        /// </summary>
        protected void inkPic_SelectionMoved(object sender, InkOverlaySelectionMovedEventArgs e)
        {
            this.resizeInkPicture();

            updateFocus();
        }