22.03.2015 Views

DLI Implementation and Reference Guide - Datalogics

DLI Implementation and Reference Guide - Datalogics

DLI Implementation and Reference Guide - Datalogics

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Displaying Line Drawings 10.3.<br />

Approaches to Line Drawing<br />

There are two approaches to line drawing supported by <strong>DLI</strong>. The first uses a simple<br />

interface to construct or fill <strong>and</strong> stroke a structure. The second permits the user to<br />

construct an arbitrarily complex collection of markings, <strong>and</strong> then place that collection<br />

within any number of content structures.<br />

Directly-Drawn Methods<br />

In general, the directly-drawn methods are the simplest to use, <strong>and</strong> the best choice for<br />

operations like underlining, page rules <strong>and</strong> area borders. This collection of directlydrawn<br />

structures is derived from the operators for PostScript graphics, <strong>and</strong> common<br />

usage of those operators.<br />

All of these operators have their first three parameters in common. These are:<br />

• The container in which the structure will be drawn<br />

• The current state in which all parameters are used<br />

• The Painting operator, which defines how the path defined should be treated. It<br />

must be one of the following, or a combination of these:<br />

• kPDEStroke — stroke the lines of the structures<br />

• kPDEFill — fill the areas defined by the lines<br />

• kPDEEOFill — stroke the area contained an odd number of times by the<br />

area.<br />

In the case of these structures, there can be no multiple containment, <strong>and</strong> hence<br />

EOFill <strong>and</strong> Fill will have the same results.<br />

All of the methods have additional parameters, specifying the location <strong>and</strong> size of the<br />

structure drawn. These will be different for each structure, but will always be<br />

ASFixed values.<br />

If the content area in which these structures are drawn is itself distorted (i.e. its<br />

AreaMatrix is not the unity matrix; see the discussion of containers <strong>and</strong> matrix<br />

manipulation beginning with “What are Containers?” on page 7.2), then the<br />

structures drawn will be positioned <strong>and</strong> shaped to reflect that distortion.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!