Example #1
0
        // Token: 0x06006D7B RID: 28027 RVA: 0x001F6DE4 File Offset: 0x001F4FE4
        internal void StartFeedbackAdorner(Rect feedbackRect, InkCanvasSelectionHitResult activeSelectionHitResult)
        {
            this._activeSelectionHitResult = new InkCanvasSelectionHitResult?(activeSelectionHitResult);
            AdornerLayer             adornerLayer    = AdornerLayer.GetAdornerLayer(this._inkCanvas.InnerCanvas);
            InkCanvasFeedbackAdorner feedbackAdorner = this._inkCanvas.FeedbackAdorner;

            adornerLayer.Add(feedbackAdorner);
            feedbackAdorner.UpdateBounds(feedbackRect);
        }
Example #2
0
        // Token: 0x06006D7D RID: 28029 RVA: 0x001F6E3C File Offset: 0x001F503C
        internal void EndFeedbackAdorner(Rect finalRectangle)
        {
            AdornerLayer             adornerLayer    = AdornerLayer.GetAdornerLayer(this._inkCanvas.InnerCanvas);
            InkCanvasFeedbackAdorner feedbackAdorner = this._inkCanvas.FeedbackAdorner;

            feedbackAdorner.UpdateBounds(Rect.Empty);
            adornerLayer.Remove(feedbackAdorner);
            this.CommitChanges(finalRectangle, true);
            this._activeSelectionHitResult = null;
        }
Example #3
0
        /// <summary>
        /// Ends a feedback rubberband
        /// This method is called from SelectionEditingBehavior.OnMoveUp
        /// </summary>
        /// <param name="finalRectangle"></param>
        internal void EndFeedbackAdorner(Rect finalRectangle)
        {
            AdornerLayer             adornerLayer    = AdornerLayer.GetAdornerLayer(_inkCanvas.InnerCanvas);
            InkCanvasFeedbackAdorner feedbackAdorner = _inkCanvas.FeedbackAdorner;

            Debug.Assert(VisualTreeHelper.GetParent(feedbackAdorner) == adornerLayer,
                         "feedbackAdorner should have been added to tree.");

            // Reset the feedback bounds and detach it from the adorner layer.
            feedbackAdorner.UpdateBounds(Rect.Empty);
            adornerLayer.Remove(feedbackAdorner);

            // Commit the new rectange of the selection.
            CommitChanges(finalRectangle, true);

            _activeSelectionHitResult = null;
        }
Example #4
0
        //-------------------------------------------------------------------------------
        //
        // Internal Methods
        //
        //-------------------------------------------------------------------------------

        #region Internal Methods

        /// <summary>
        /// Start a feedback rubberband.
        /// This method is called from SelectionEditingBehavior.OnActivated
        /// </summary>
        /// <param name="feedbackRect"></param>
        /// <param name="activeSelectionHitResult"></param>
        internal void StartFeedbackAdorner(Rect feedbackRect, InkCanvasSelectionHitResult activeSelectionHitResult)
        {
            Debug.Assert(_inkCanvas.EditingCoordinator.UserIsEditing == true);
            Debug.Assert(activeSelectionHitResult != InkCanvasSelectionHitResult.None, "activeSelectionHitResult cannot be InkCanvasSelectionHitResult.None.");

            _activeSelectionHitResult = activeSelectionHitResult;

            AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(_inkCanvas.InnerCanvas);

            // Until the next start, we are going to use this adorner regardless user will change feedback adorner or not during the editing.
            InkCanvasFeedbackAdorner feedbackAdorner = _inkCanvas.FeedbackAdorner;

            // The feedback adorner shouldn't have been connected to the adorner layer yet.
            Debug.Assert(VisualTreeHelper.GetParent(feedbackAdorner) == null,
                         "feedbackAdorner shouldn't be added to tree.");

            // Now, attach the feedback adorner to the adorner layer. Then update its bounds
            adornerLayer.Add(feedbackAdorner);
            feedbackAdorner.UpdateBounds(feedbackRect);
        }