IProjectionBuffer Interface
A text buffer that contains projections of other text buffers, composed of a list of tracking spans of those buffers. The buffers that contribute to the projection buffer are called source buffers, and the tracking spans that describe the contributed regions are called source spans.
Assembly: Microsoft.VisualStudio.Text.Data (in Microsoft.VisualStudio.Text.Data.dll)
| Name | Description | |
|---|---|---|
![]() | ContentType | Gets the content type of the text in the buffer.(Inherited from ITextBuffer.) |
![]() | CurrentSnapshot | Gets the current snapshot of the contents of the projection buffer.(Inherited from IProjectionBufferBase.) |
![]() | EditInProgress | Determines whether an edit operation is currently in progress on the ITextBuffer.(Inherited from ITextBuffer.) |
![]() | Properties | (Inherited from IPropertyOwner.) |
![]() | SourceBuffers | Gets the set of ITextBuffer objects that directly contribute to the projection buffer.(Inherited from IProjectionBufferBase.) |
| Name | Description | |
|---|---|---|
![]() | ChangeContentType(IContentType, Object) | Changes the IContentType for this ITextBuffer.(Inherited from ITextBuffer.) |
![]() | CheckEditAccess() | Determines whether edit operations on this text buffer are permitted on the calling thread.(Inherited from ITextBuffer.) |
![]() | CreateEdit() | Creates an ITextEdit object that handles compound edit operations on this buffer.(Inherited from ITextBuffer.) |
![]() | CreateEdit(EditOptions, Nullable<Int32>, Object) | Creates an ITextEdit object that handles compound edit operations on this buffer.(Inherited from ITextBuffer.) |
![]() | CreateReadOnlyRegionEdit() | Creates an IReadOnlyRegionEdit object that handles adding or removing read-only regions from this buffer.(Inherited from ITextBuffer.) |
![]() | Delete(Span) | Deletes a span of characters from the buffer.(Inherited from IProjectionBufferBase.) |
![]() | DeleteSpans(Int32, Int32) | Deletes a sequence of source spans from the projection buffer. |
![]() | GetReadOnlyExtents(Span) | Gets a list of read-only regions that overlap the given span.(Inherited from ITextBuffer.) |
![]() | Insert(Int32, String) | Inserts the specified text at the specified position in the ITextBuffer.(Inherited from IProjectionBufferBase.) |
![]() | InsertSpan(Int32, ITrackingSpan) | Inserts a tracking span into the list of source spans. |
![]() | InsertSpan(Int32, String) | Inserts a literal string into the list of source spans. |
![]() | InsertSpans(Int32, IList<Object>) | Inserts a list of ITrackingSpan objects and/or literal strings into the list of source spans in the order in which they appear in the list. |
![]() | IsReadOnly(Int32) | Determines whether a text insertion would be prohibited at the specified position due to an IReadOnlyRegion.(Inherited from ITextBuffer.) |
![]() | IsReadOnly(Int32, Boolean) | Determines whether a text insertion would be prohibited at the specified position due to an IReadOnlyRegion.(Inherited from ITextBuffer.) |
![]() | IsReadOnly(Span) | Determines whether a text modification or deletion would be prohibited at span due to an IReadOnlyRegion.(Inherited from ITextBuffer.) |
![]() | IsReadOnly(Span, Boolean) | Determines whether a text modification or deletion would be prohibited at span due to an IReadOnlyRegion.(Inherited from ITextBuffer.) |
![]() | Replace(Span, String) | Replaces a span of characters with different text. This is equivalent to first deleting the text to be replaced and then inserting the new text.(Inherited from IProjectionBufferBase.) |
![]() | ReplaceSpans(Int32, Int32, IList<Object>, EditOptions, Object) | Replaces a sequence of source spans with a new list of ITrackingSpan objects and/or literal strings. |
![]() | TakeThreadOwnership() | Claims ownership of this buffer for the current thread. All subsequent modifications of this ITextBuffer must be made from the current thread, or else an InvalidOperationException will be raised.(Inherited from ITextBuffer.) |
| Name | Description | |
|---|---|---|
![]() | Changed | Occurs when a non-empty ITextEdit is successfully applied.(Inherited from ITextBuffer.) |
![]() | ChangedHighPriority | Occurs when a non-empty ITextEdit is successfully applied.(Inherited from ITextBuffer.) |
![]() | ChangedLowPriority | Occurs when a non-empty ITextEdit is successfully applied.(Inherited from ITextBuffer.) |
![]() | Changing | Occurs just before a non-empty ITextEdit is applied.(Inherited from ITextBuffer.) |
![]() | ContentTypeChanged | Occurs whenever the IContentType has been changed.(Inherited from ITextBuffer.) |
![]() | PostChanged | Occurs after the Changed event and any resulting edits.(Inherited from ITextBuffer.) |
![]() | ReadOnlyRegionsChanged | Occurs when a IReadOnlyRegionEdit has created or removed read-only regions.(Inherited from ITextBuffer.) |
![]() | SourceBuffersChanged | Raised when source buffers are added or deleted by virtue of the addition or deletion of source spans. This event is raised before the SourceSpansChanged event is raised. |
![]() | SourceSpansChanged | Raised when source spans are added or deleted. |
For more information about projection, see the section "Projection" in Inside the Editor.


