aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorWilliam Victor Mote <vmote@apache.org>2003-04-21 23:22:38 +0000
committerWilliam Victor Mote <vmote@apache.org>2003-04-21 23:22:38 +0000
commit81ba455b5b09c9a0e29750bc2e1b9565c2bfa725 (patch)
treea86f4f2799c8868d416943eedf048c0322b09ac6 /src
parent8fca0962052ae0ce289d7284a02d0dc48b6c8792 (diff)
downloadxmlgraphics-fop-81ba455b5b09c9a0e29750bc2e1b9565c2bfa725.tar.gz
xmlgraphics-fop-81ba455b5b09c9a0e29750bc2e1b9565c2bfa725.zip
Pretty-print & whitespace changes only.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@196299 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src')
-rw-r--r--src/documentation/content/xdocs/design/renderers.xml211
1 files changed, 90 insertions, 121 deletions
diff --git a/src/documentation/content/xdocs/design/renderers.xml b/src/documentation/content/xdocs/design/renderers.xml
index 15a5e9f21..d341ee3cf 100644
--- a/src/documentation/content/xdocs/design/renderers.xml
+++ b/src/documentation/content/xdocs/design/renderers.xml
@@ -1,160 +1,129 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN"
"http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-forrest/src/resources/schema/dtd/document-v11.dtd">
-
<document>
- <header>
- <title>Renderers</title>
- <subtitle>Design of Renderers</subtitle>
- <authors>
- <person name="Keiron Liddle" email="keiron@aftexsw.com"/>
- </authors>
- </header>
-
- <body>
-<section>
- <title>Introduction</title>
-<p>
-A renderer is primarily designed to convert a given area tree into the output
+ <header>
+ <title>Renderers</title>
+ <subtitle>Design of Renderers</subtitle>
+ <authors>
+ <person name="Keiron Liddle" email="keiron@aftexsw.com"/>
+ </authors>
+ </header>
+ <body>
+ <section>
+ <title>Introduction</title>
+ <p>A renderer is primarily designed to convert a given area tree into the output
document format. It should be able to produce pages and fill the pages
with the text and graphical content. Usually the output is sent to
-an output stream.
- </p>
- <p>
-Some output formats may support extra information that is not available
-from the area tree or depends on the destination of the document.
- </p>
- <p>
-Each renderer is given an area tree to render to its output format.
+an output stream.</p>
+ <p>Some output formats may support extra information that is not available
+from the area tree or depends on the destination of the document.</p>
+ <p>Each renderer is given an area tree to render to its output format.
The area tree is simply a representation of the pages and the placement
-of text and graphical objects on those pages.
- </p>
- <p>
-The renderer will be given each page as it is ready and an output stream
+of text and graphical objects on those pages.</p>
+ <p>The renderer will be given each page as it is ready and an output stream
to write the data out. The renderer is responsible for managing the
-output format and associated data and flow.
- </p>
- </section>
-
-
-
-
-<section>
- <title>Renderers</title>
-
-<p>A renderer is used to convert the Area Tree into the output document.
+output format and associated data and flow.</p>
+ </section>
+ <section>
+ <title>Renderers</title>
+ <p>A renderer is used to convert the Area Tree into the output document.
The renderer is given the tree one page at a time. All pages are supplied
in the order they appear in the document. In order to save memory it is
possble to render the pages out of order. Any page that is not reeady to
be rendered is setup by the renderer first so that it can reserve a space
or reference for when the page is ready to be rendered.</p>
-<p>The AbstractRenderer does most of the work to iterate through the area
+ <p>The AbstractRenderer does most of the work to iterate through the area
tree parts. This means that the most renderers simply need to implement
the specific parts with inserting text, images and lines. The methods can
easily be overridden to handle things in a different way or do some extra
processing.</p>
-</section>
-
-<section>
- <title>Fonts</title>
-<p>The fonts are setup by the renderer being used. The font metrics are used
+ </section>
+ <section>
+ <title>Fonts</title>
+ <p>The fonts are setup by the renderer being used. The font metrics are used
during the layout process to determine the size of characters.</p>
-</section>
-
-<section>
- <title>Render Context</title>
-<p>The render context is used by handlers. It contains information about the
+ </section>
+ <section>
+ <title>Render Context</title>
+ <p>The render context is used by handlers. It contains information about the
current state of the renderer. Such as the page, the position and any
other miscellanous objects that are required to draw into the page.</p>
-</section>
-
-<section>
- <title>XML Handling</title>
-
-<p>A document may contain information in the form of XML for an image or
+ </section>
+ <section>
+ <title>XML Handling</title>
+ <p>A document may contain information in the form of XML for an image or
instream foreign object. This XML is handled
-through the user agent. A standard extension for PDF is the SVG handler.</p><p>
-If there is XML in the SVG namespace it is given to the handler which
+through the user agent. A standard extension for PDF is the SVG handler.</p>
+ <p>If there is XML in the SVG namespace it is given to the handler which
renders the SVG into the pdf document at the given location.
This separation means that other XML handlers can easily be added.</p>
-</section>
-
-<section>
- <title>Extensions</title>
-<p>Document level extensions are handled with an extension handler. This
+ </section>
+ <section>
+ <title>Extensions</title>
+ <p>Document level extensions are handled with an extension handler. This
handles the information from the AreaTree and adds renders it to the
document. An example is the pdf bookmarks. This information first needs to
have all references resolved. Then the extension handler is ready to put
the information into the pdf document.</p>
-</section>
-
-<section>
-<title>Types</title>
-
-<section>
- <title>PDF</title>
-<p>This uses the PDFDocument classes to create a PDF document. This supports
+ </section>
+ <section>
+ <title>Types</title>
+ <section>
+ <title>PDF</title>
+ <p>This uses the PDFDocument classes to create a PDF document. This supports
out of order rendering as it is possible to reserve a pdf page object that
can be later filled. Most of the work is to insert text or create lines.
SVG is handled by the XML handler that uses the PDFGraphics2D and batik to
-draw the svg into the pdf page.</p><p>
-This also allows for font embedding.</p>
-</section>
-<section>
- <title>SVG</title>
-<p>This creates a single svg document that contains all the pages rendered
+draw the svg into the pdf page.</p>
+ <p>This also allows for font embedding.</p>
+ </section>
+ <section>
+ <title>SVG</title>
+ <p>This creates a single svg document that contains all the pages rendered
with page sequences horizontally and pages vertically. This also adds
links between the pages so that it can be viewed by clicking on the page
to go to the next page.</p>
-</section>
-
-<section>
- <title>TXT</title>
-<p>This simply outputs to a text document.</p></section>
-<section>
- <title>AWT</title>
-<p>This draws the pages into an AWT graphic.</p></section>
-
-<section>
- <title>PS and PCL</title>
-<p>Similar to PDF.</p></section>
-
-<section>
- <title>XML</title>
-<p>Creates an XML file that represents the AreaTree.</p>
-</section>
-<section>
- <title>Print</title>
-<p>This prints the document using the java printing facitlities. The AWT
-rendering is used to draw the pages onto the printjob.
-</p>
-</section>
-<section>
- <title>RTF and MIF</title>
-<p>These formats do not use this rendering mechanism.</p>
-</section>
-</section>
-
-<section>
- <title>Adding a Renderer</title>
-<p>It is also possible to add other renderers. The renderer simply needs to
+ </section>
+ <section>
+ <title>TXT</title>
+ <p>This simply outputs to a text document.</p>
+ </section>
+ <section>
+ <title>AWT</title>
+ <p>This draws the pages into an AWT graphic.</p>
+ </section>
+ <section>
+ <title>PS and PCL</title>
+ <p>Similar to PDF.</p>
+ </section>
+ <section>
+ <title>XML</title>
+ <p>Creates an XML file that represents the AreaTree.</p>
+ </section>
+ <section>
+ <title>Print</title>
+ <p>This prints the document using the java printing facitlities. The AWT
+rendering is used to draw the pages onto the printjob.</p>
+ </section>
+ <section>
+ <title>RTF and MIF</title>
+ <p>These formats do not use this rendering mechanism.</p>
+ </section>
+ </section>
+ <section>
+ <title>Adding a Renderer</title>
+ <p>It is also possible to add other renderers. The renderer simply needs to
implement the Renderer interface. The AbstractRenderer does most of what
is needed so it is better to extend this. This means that you only need to
-implement the basic functionality such as text and lines.
-</p>
-</section>
-
-<section>
- <title>Multiple Renderers</title>
-<p>The layout of the document depends mainly on the font being used.
+implement the basic functionality such as text and lines.</p>
+ </section>
+ <section>
+ <title>Multiple Renderers</title>
+ <p>The layout of the document depends mainly on the font being used.
If two renderers have the same font metrics then it is possible to render
the Area Tree in each renderer. This can be handled by the AreaTree
Handler.</p>
-</section>
-
-
-
-
- </body>
+ </section>
+ </body>
</document>
-