// Returns the closest insertion position, treating all unicode code points // as valid insertion positions. A useful performance win over // GetNextInsertionPosition when only formatting scopes are important. ITextPointer ITextPointer.GetFormatNormalizedPosition(LogicalDirection direction) { ITextPointer pointer = ((ITextPointer)this).CreatePointer(); TextPointerBase.MoveToFormatNormalizedPosition(pointer, direction); pointer.Freeze(); return(pointer); }
// Candidate for replacing MoveToInsertionPosition for immutable TextPointer model ITextPointer ITextPointer.GetInsertionPosition(LogicalDirection direction) { ITextPointer pointer = ((ITextPointer)this).CreatePointer(); pointer.MoveToInsertionPosition(direction); pointer.Freeze(); return(pointer); }
// Candidate for replacing MoveToNextInsertionPosition for immutable TextPointer model ITextPointer ITextPointer.GetNextInsertionPosition(LogicalDirection direction) { ITextPointer pointer = ((ITextPointer)this).CreatePointer(); if (pointer.MoveToNextInsertionPosition(direction)) { pointer.Freeze(); } else { pointer = null; } return(pointer); }
// Token: 0x06002BEC RID: 11244 RVA: 0x000C7DA4 File Offset: 0x000C5FA4 ITextPointer ITextPointer.GetNextContextPosition(LogicalDirection direction) { ITextPointer textPointer = ((ITextPointer)this).CreatePointer(); if (textPointer.MoveToNextContextPosition(direction)) { textPointer.Freeze(); } else { textPointer = null; } return(textPointer); }
// Token: 0x060035A4 RID: 13732 RVA: 0x000F3784 File Offset: 0x000F1984 internal void OnTextChange(TextContainerChangeEventArgs e) { if (e.TextChange == TextChangeType.ContentAdded) { this.OnContentAdded(e); } else if (e.TextChange == TextChangeType.ContentRemoved) { this.OnContentRemoved(e.ITextPosition); } else { ITextPointer textPointer = e.ITextPosition.CreatePointer(e.Count); textPointer.Freeze(); this.MarkDirtyRange(e.ITextPosition, textPointer); } this.DebugAssertRunList(); }
//------------------------------------------------------ // // Internal Methods // //------------------------------------------------------ #region Internal Methods // Called by the Speller whenever document state changes. // Returns true if any new dirty runs are created. internal void OnTextChange(TextContainerChangeEventArgs e) { if (e.TextChange == TextChangeType.ContentAdded) { // Content was added. Update the run list. OnContentAdded(e); } else if (e.TextChange == TextChangeType.ContentRemoved) { // Content was deleted. Update the run list. OnContentRemoved(e.ITextPosition); } else { // Language or SpellingReform property changed. ITextPointer end = e.ITextPosition.CreatePointer(e.Count); end.Freeze(); MarkDirtyRange(e.ITextPosition, end); } DebugAssertRunList(); }