IDrawOptionOverrides If the IDrawOptions::GetIgnoreOverrides for the session returns kTrue, then this interface is completely ignored. If GetIgnoreOverrides returns kFalse, then this interface is used to apply a drawing preference to a page item and persist that setting. In most cases, this behavior is undesirable because it can lead to extremely bad performance in unexpected situations. For example, image placing a very complex PDF with mixed content and transparency and then applying an override to draw the PDF in High Quality mode regardless of the view setting. Then, you save and close the document and either re-open at a later date or give the document to someone else. As soon as the document is opened and the placed PDF is scrolled into view (it may already be in view), you will have to wait for InDesign to read the PDF from disk into memory, parse it into a display list which our graphics engine can use, and then RIP the display list to render it to screen. All of this reading, parsing and rendering must occur before the document is drawn for the first time. As a result, the user sits wondering what in the world is happening during Open that is taking so long. This behavior used to occur by default before InDesign CS. However, the behavior of local display overrides was changed in CS to not be persisted by default. To persist the overrides, the IDrawOptions::SetIgnoreOverrides must be called with a kFalse argument.
- See Also
- IDrawOptions