Builds the display list of some of the page's layers for an intent, with limits and cancellation.
public DisplayList CreateDisplayList(DisplayLayers layers, DisplayIntent intent, ContentOptions options)
The layers the list holds, painted in content, annotations, form fields order.
Whether the list is for the screen or for printing, which decides the annotations drawn.
Limits, optional-content state and cancellation for the content and appearance runs.
ISO 32000-2 §12.5.5 (Algorithm "Appearance streams"), §12.5.3 (flags) and §12.7 (form fields through their widgets).
The content layer is what CreateDisplayList(ContentOptions) builds. The annotation layer holds every annotation
but widgets, the form-field layer every widget, each in Annots order, each between
BeginAnnotation(in DisplayAnnotation) and EndAnnotation(): its normal appearance for
its appearance state (AS), placed on its rectangle, which a backend composites as a transparency group with the
annotation's ca (or CA) and BM (§12.5.5, §11.6.6). Building each layer as a list of its own lets a
viewer redraw the overlays without re-rasterizing the page; replaying the three lists in order draws what one list of all
three draws.
Not drawn (Table 167): Hidden annotations; unknown types with Invisible; for View
those with NoView, for Print those without Print; annotations whose optional
content (OC, §8.11.3.3) is hidden in the options' optional-content state (the document's default without one);
popups, which a viewer shows as windows of their own (§12.5.6.14); and annotations without a normal appearance for their
state, recorded as AppearanceNotRendered (Information) unless they are links or projections or their rectangle has
no size, which need none (Table 166). Appearances are drawn as they are; none is generated. For
View, NoZoom and NoRotate (always for text annotations, §12.5.6.4) travel to the
backend in DisplayAnnotation.
Lists are kept like CreateDisplayList()'s, per page, layers, intent and limits, within DisplayListCacheBudget (spec #33 viewer capability 13).
For Print the optional-content state (the options', else the default configuration's) has its
configuration's auto-state entries for the Print event applied (§8.11.4.4), for the content and the annotations alike, and an
image XObject without OC is painted as its alternate marked DefaultForPrinting (§8.9.5.4).