From: William Victor Mote Date: Mon, 21 Apr 2003 22:55:52 +0000 (+0000) Subject: Combine content of design/understanding/renderers.xml with design/renderers.xml. X-Git-Tag: Root_Temp_KnuthStylePageBreaking~1584 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=8fca0962052ae0ce289d7284a02d0dc48b6c8792;p=xmlgraphics-fop.git Combine content of design/understanding/renderers.xml with design/renderers.xml. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@196298 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/documentation/content/xdocs/design/book.xml b/src/documentation/content/xdocs/design/book.xml index 6f3ff9eef..81c1be895 100644 --- a/src/documentation/content/xdocs/design/book.xml +++ b/src/documentation/content/xdocs/design/book.xml @@ -29,7 +29,6 @@ understanding/book.xml, WHICH SEE FOR AN EXPLANATION. - diff --git a/src/documentation/content/xdocs/design/renderers.xml b/src/documentation/content/xdocs/design/renderers.xml index cb39060aa..15a5e9f21 100644 --- a/src/documentation/content/xdocs/design/renderers.xml +++ b/src/documentation/content/xdocs/design/renderers.xml @@ -36,6 +36,125 @@ output format and associated data and flow.

+ + + +
+ Renderers + +

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.

+

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.

+
+ +
+ Fonts +

The fonts are setup by the renderer being used. The font metrics are used +during the layout process to determine the size of characters.

+
+ +
+ Render Context +

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.

+
+ +
+ XML Handling + +

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.

+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.

+
+ +
+ Extensions +

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.

+
+ +
+Types + +
+ PDF +

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.

+This also allows for font embedding.

+
+
+ SVG +

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.

+
+ +
+ TXT +

This simply outputs to a text document.

+
+ AWT +

This draws the pages into an AWT graphic.

+ +
+ PS and PCL +

Similar to PDF.

+ +
+ XML +

Creates an XML file that represents the AreaTree.

+
+
+ Print +

This prints the document using the java printing facitlities. The AWT +rendering is used to draw the pages onto the printjob. +

+
+
+ RTF and MIF +

These formats do not use this rendering mechanism.

+
+
+ +
+ Adding a Renderer +

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. +

+
+ +
+ Multiple Renderers +

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.

+
+ + + + diff --git a/src/documentation/content/xdocs/design/understanding/book.xml b/src/documentation/content/xdocs/design/understanding/book.xml index 61f382e8b..af2828295 100644 --- a/src/documentation/content/xdocs/design/understanding/book.xml +++ b/src/documentation/content/xdocs/design/understanding/book.xml @@ -33,7 +33,6 @@ PARENT DIRECTORY! -
diff --git a/src/documentation/content/xdocs/design/understanding/renderers.xml b/src/documentation/content/xdocs/design/understanding/renderers.xml deleted file mode 100644 index 627673a66..000000000 --- a/src/documentation/content/xdocs/design/understanding/renderers.xml +++ /dev/null @@ -1,126 +0,0 @@ - - - - -
- Renderers -
- - -
- Renderers - -

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.

-

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.

-
- -
- Fonts -

The fonts are setup by the renderer being used. The font metrics are used -during the layout process to determine the size of characters.

-
- -
- Render Context -

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.

-
- -
- XML Handling - -

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.

-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.

-
- -
- Extensions -

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.

-
- -
-Types - -
- PDF -

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.

-This also allows for font embedding.

-
-
- SVG -

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.

-
- -
- TXT -

This simply outputs to a text document.

-
- AWT -

This draws the pages into an AWT graphic.

- -
- PS and PCL -

Similar to PDF.

- -
- XML -

Creates an XML file that represents the AreaTree.

-
-
- Print -

This prints the document using the java printing facitlities. The AWT -rendering is used to draw the pages onto the printjob. -

-
-
- RTF and MIF -

These formats do not use this rendering mechanism.

-
-
- -
- Adding a Renderer -

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. -

-
- -
- Multiple Renderers -

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.

-
- - -
-