# Package org.eclipse.jface.text.source.projection

This package provides the UI part for projection documents of which the most important part is the projection viewer. A projection viewer is a text viewer that allows to expand and collapse folded regions defined by a projection document. This package also introduces a projection annotation model, projection annotations. The projection viewer offers support to show a summary for a folded region.

## Package Specification

`ProjectionViewer` is a specialized `SourceViewer` that can display line-based folding based on a `ProjectionDocument`. To do this it uses supporting classes like `IProjectionListener`, `IProjectionPosition`, `ProjectionAnnotation` and others.

Interface Summary
IProjectionListener: Implementers registered with a `ProjectionViewer` get informed when the projection mode of the viewer gets enabled and when it gets disabled.
IProjectionPosition: An `IProjectionPosition` is a position that is associated with a `ProjectionAnnotation` and that is able to compute its collapsed regions.

Class Summary
AnnotationBag: A bag of annotations.
ProjectionAnnotation: Annotation used to represent the projection of a master document onto a `ProjectionDocument`.
ProjectionAnnotationModel: A projection annotation model.
ProjectionSupport: Supports the configuration of projection capabilities a `ProjectionViewer`.
ProjectionViewer: A projection source viewer is a source viewer which supports multiple visible regions which can dynamically be changed.