You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by vm...@apache.org on 2003/04/22 02:21:04 UTC

cvs commit: xml-fop/src/documentation/content/xdocs/design areas.xml book.xml

vmote       2003/04/21 17:21:04

  Modified:    src/documentation/content/xdocs/design/understanding
                        book.xml
               src/documentation/content/xdocs/design areas.xml book.xml
  Removed:     src/documentation/content/xdocs/design/understanding
                        area_tree.xml
  Log:
  Combine content of design/understanding/area_tree.xml into design/areas.xml.
  
  Revision  Changes    Path
  1.5       +0 -1      xml-fop/src/documentation/content/xdocs/design/understanding/book.xml
  
  Index: book.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/design/understanding/book.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- book.xml	21 Apr 2003 22:55:52 -0000	1.4
  +++ book.xml	22 Apr 2003 00:21:04 -0000	1.5
  @@ -32,7 +32,6 @@
         <menu-item label="FO Tree" href="fo_tree.html"/>
         <menu-item label="Properties" href="properties.html"/>
         <menu-item label="Layout Managers" href="layout_managers.html"/>
  -      <menu-item label="Area Tree" href="area_tree.html"/>
       </menu>
       <menu label="Extras">
         <menu-item label="Images" href="images.html"/>
  
  
  
  1.6       +92 -1     xml-fop/src/documentation/content/xdocs/design/areas.xml
  
  Index: areas.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/design/areas.xml,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- areas.xml	20 Apr 2003 23:46:09 -0000	1.5
  +++ areas.xml	22 Apr 2003 00:21:04 -0000	1.6
  @@ -24,6 +24,16 @@
   the area tree must be minimal and independant. This means that the data
   uses less memory and can be serialized to an output stream if needed.
     </p>
  +<p>The Area Tree is an internal representation of the result document. This
  +is a set of java classes that can put together a set of objects that
  +represent the pages and their contents.</p>
  +<p>This information is created by the layout managers and is rendered to the
  +output using a renderer.</p>
  +<p>The Area Tree follows the description of the area tree in the XSL:FO
  +specification.</p>
  +<p>The Area Tree consists of a set of pages, the actual implemenation places
  +these in
  +a set of page sequences.</p>
   <section>
     <title>Structure</title>
   <p>
  @@ -35,7 +45,12 @@
     </section>
   <section>
     <title>Page</title>
  -<p>
  +<p>A page consists of a page+viewport pair.</p>
  +<p>The PageViewPort and Page with the regions is created by the
  +LayoutMasterSet. The contents are then placed by the layout managers. Once
  +the layout of a page is complete then it is added to the Area Tree.</p>
  +<p>Inside the page is a set of RegionViewport+Region pairs for each region on
  +the page.</p><p>
   A page is made up of five area regions. These are before, start, body,
   end and after. Each region has a viewport and contains the areas
   produced from the children in the FO object heirarchy.
  @@ -57,6 +72,9 @@
     </section>
   <section>
     <title>Block Areas</title>
  +<p>Block level areas contain either other blocks or line areas (which is a
  +special block area).</p><p>
  +A block is either positoned or stacked with other block areas.</p>
   <p>
   Block areas are created and/or returned by all top level elements
   in the flow. The spacing between block areas is handled by an
  @@ -92,6 +110,14 @@
   sizes once it is resolved. Then the line can be re-justified
   and finalised.
     </p>
  +<p>Inline areas are stacked in a line area. Inline areas are objects such as
  +character, viewport, inline-container, leader and space. A special inline
  +area Word is also used for a group of consecutive characters.</p>
  +<p>The image and instream foreign object areas are placed inside a viewport.
  +The leader (with use content) and unresolved page number areas are
  +resolved to other inline areas.</p>
  +<p>Once a LineArea is filled with inline areas then the inline areas need to
  +be aligned and adjusted to fill the line properly.</p>
     </section>
   <section>
     <title>Repeated Areas</title>
  @@ -104,6 +130,23 @@
     </p>
     </section>
   <section>
  +  <title>Traits</title>
  +
  +<p>A trait is information associated with an area. This could be information
  +such as text colour or is-first.</p>
  +<p>Traits provide information about an area. The traits are derived from
  +properties on the formatting object or are generated during the layout
  +process. Many of the layout traits do not have actual values but can be
  +derived from the Area Tree. Other traits that apply when rendering the
  +areas are set on the area. Since setting the same value on every area
  +would use a lot of memory then the traits are derived from default or
  +parent values.</p>
  +<p>A dominant trait on a block area is set, for example font colour, so that
  +every line area with the same dominant value can derive it. The text
  +inline areas then get the font colour set on the inline area or from the
  +line area or from the block area.</p>
  +</section>
  +<section>
     <title>Classes</title>
   <p>
   The following class structure will be used to represent the area
  @@ -141,6 +184,54 @@
     </p>
     </section>
     </section>
  +
  +<section>
  +  <title>Forward References</title>
  +<p>The Area Tree maintains a set of mappings from the reference to pages.</p>
  +<p>The PageViewPort holds the list of forward references that need resolving
  +so that if a references is resolved during layout the page can be easily
  +found and then fixed. Once all the forward references are resolved then
  +the page is ready to be rendered.</p>
  +<p>To layout a page any areas that cannot be resolved need to reserve space.
  +Once the inline area is resolved then the complete line should be adjusted
  +to accomodate any change in space used by the area.</p>
  +</section>
  +
  +<section>
  +  <title>Caching</title>
  +<p>We may need to cache pages due to forward references or when keeping all
  +pages.</p>
  +<p>This is done by serializing the Page. The PageViewport is retained to be
  +used as a key for page references and backward references.
  +The Page is serialized to an object stream and then all of the page
  +contents are released. The Page is then recoved by reading from the object
  +stream.</p>
  +<p>The PageViewport retains information about id areas for easy access.</p>
  +</section>
  +
  +<section>
  +  <title>Extensions</title>
  +<p>The Area Tree holds the Output Document extensions. This is information
  +such as pdf bookmarks or other output document specific information that
  +is not handled by XSL:FO.</p>
  +<p>It is also possible to create custom areas that extend a normal area. The
  +actual data that is rendered could be set in a different way or depend on
  +resolving a forward reference.</p>
  +</section>
  +
  +<section>
  +  <title>Area Tree Handlers</title>
  +<p>To handle different situations the handler for the Area Tree handles each
  +page as it is added.</p><p>
  +The RenderPagesModel sends the page directly to the renderer if the page
  +is ready to be rendered. Once a page is rendered it is discarded.
  +The StorePagesModel stores all the pages so that any page can be later
  +accessed.</p>
  +<p>The Area Tree retains the concept of page sequences (this is not in the
  +area tree in the spec) so that this information can be passed to the
  +renderer. This is useful for setting the title and organising the groups
  +of page sequences.</p>
  +</section>
   
   <section>
     <title>Rendering Area Tree</title>
  
  
  
  1.12      +0 -1      xml-fop/src/documentation/content/xdocs/design/book.xml
  
  Index: book.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/design/book.xml,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- book.xml	21 Apr 2003 22:55:51 -0000	1.11
  +++ book.xml	22 Apr 2003 00:21:04 -0000	1.12
  @@ -28,7 +28,6 @@
         <menu-item label="FO Tree" href="understanding/fo_tree.html"/>
         <menu-item label="Properties" href="understanding/properties.html"/>
         <menu-item label="Layout Managers" href="understanding/layout_managers.html"/>
  -      <menu-item label="Area Tree" href="understanding/area_tree.html"/>
       </menu>
       <menu label="Extras">
         <menu-item label="Images" href="understanding/images.html"/>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-cvs-help@xml.apache.org