gmazza      2004/12/24 17:08:11

  Modified:    src/java/org/apache/fop/layoutmgr LayoutManagerMapping.java
               src/java/org/apache/fop/render/pdf PDFRenderer.java
  Log:
  More XSL 1.1-like terms for PDF bookmarks used, minor bug in 
TableLayoutManagerMaker fixed.
  
  Revision  Changes    Path
  1.2       +14 -14    
xml-fop/src/java/org/apache/fop/layoutmgr/LayoutManagerMapping.java
  
  Index: LayoutManagerMapping.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/LayoutManagerMapping.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- LayoutManagerMapping.java 24 Dec 2004 12:06:26 -0000      1.1
  +++ LayoutManagerMapping.java 25 Dec 2004 01:08:10 -0000      1.2
  @@ -128,7 +128,7 @@
        makers.put(Wrapper.class, new WrapperLayoutManagerMaker());
        makers.put(Title.class, new InlineLayoutManagerMaker());
       }
  -    
  +
       public void makeLayoutManagers(FONode node, List lms) {
        Maker maker = (Maker) makers.get(node.getClass());
        if (maker == null) {
  @@ -162,7 +162,7 @@
                        return;
                }
        }
  -     
  +
        public static class FOTextLayoutManagerMaker extends Maker {
                public void make(FONode node, List lms) {
                        FOText foText = (FOText) node;
  @@ -171,7 +171,7 @@
                    }
                }
        }
  -     
  +
       /*
        public static class FObjMixedLayoutManagerMaker extends Maker {
            public void make(FONode node, List lms) {
  @@ -209,7 +209,7 @@
                }
            }
        }
  -     
  +
        public static class InlineLayoutManagerMaker extends Maker {
             public void make(FONode node, List lms) {
                if (node.getChildNodes() != null) {
  @@ -217,36 +217,36 @@
                }
             }
        }
  -     
  +
        public static class FootnodeLayoutManagerMaker extends Maker {
            public void make(FONode node, List lms) {
               Inline citation = ((Footnote) node).getInlineFO();
                if (citation != null) {
                   lms.add(new InlineLayoutManager(citation));
               }
  -         }           
  +         }
        }
  -     
  +
        public static class InlineContainerLayoutManagerMaker extends Maker {
            public void make(FONode node, List lms) {
                ArrayList childList = new ArrayList();
                super.make(node, childList);
                lms.add(new ICLayoutManager((InlineContainer) node, childList));
  -         }           
  +         }
        }
  -     
  +
        public static class BasicLinkLayoutManagerMaker extends Maker {
           public void make(FONode node, List lms) {
               lms.add(new BasicLinkLayoutManager((BasicLink) node));
           }
       }
  -     
  +
        public static class BlockLayoutManagerMaker extends Maker {
             public void make(FONode node, List lms) {
                 lms.add(new BlockLayoutManager((Block) node));
             }
        }
  -     
  +
        public static class LeaderLayoutManagerMaker extends Maker {
           public void make(FONode node, List lms) {
               lms.add(new LeaderLayoutManager((Leader) node));
  @@ -295,7 +295,7 @@
        public static class PageNumberLayoutManagerMaker extends Maker {
             public void make(FONode node, List lms) {
                lms.add(new PageNumberLayoutManager((PageNumber) node));
  -          }          
  +          }
        }
   
        public static class PageNumberCitationLayoutManagerMaker extends Maker {
  @@ -319,7 +319,7 @@
                                ArrayList columnLMs = new ArrayList();
                                ListIterator iter = columns.listIterator();
                                while (iter.hasNext()) {
  -                    columnLMs.add(new Column((TableColumn) node));
  +                    columnLMs.add(new Column((TableColumn) iter.next()));
                                }
                                tlm.setColumns(columnLMs);
                        }
  
  
  
  1.63      +17 -16    
xml-fop/src/java/org/apache/fop/render/pdf/PDFRenderer.java
  
  Index: PDFRenderer.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/render/pdf/PDFRenderer.java,v
  retrieving revision 1.62
  retrieving revision 1.63
  diff -u -r1.62 -r1.63
  --- PDFRenderer.java  23 Dec 2004 01:36:01 -0000      1.62
  +++ PDFRenderer.java  25 Dec 2004 01:08:11 -0000      1.63
  @@ -281,44 +281,45 @@
       /**
        * @see 
org.apache.fop.render.Renderer#processOffDocumentItem(OffDocumentItem)
        */
  -    public void processOffDocumentItem(OffDocumentItem ext) {
  -        // render bookmark extension
  -        if (ext instanceof BookmarkData) {
  -            renderRootExtensions((BookmarkData)ext);
  +    public void processOffDocumentItem(OffDocumentItem odi) {
  +        // render Bookmark-Tree
  +        if (odi instanceof BookmarkData) {
  +            renderBookmarkTree((BookmarkData) odi);
           }
       }
   
       /**
  -     * Renders the root extension elements
  -     * @param bookmarks the bookmarks to render
  +     * Renders a Bookmark-Tree object
  +     * @param bookmarks the BookmarkData object containing all the 
Bookmark-Items
        */
  -    protected void renderRootExtensions(BookmarkData bookmarks) {
  +    protected void renderBookmarkTree(BookmarkData bookmarks) {
           for (int i = 0; i < bookmarks.getCount(); i++) {
               BookmarkData ext = bookmarks.getSubData(i);
  -            renderOutline(ext, null);
  +            renderBookmarkItem(ext, null);
           }
       }
   
  -    private void renderOutline(BookmarkData outline, PDFOutline 
parentOutline) {
  +    private void renderBookmarkItem(BookmarkData bookmarkItem, 
  +            PDFOutline parentBookmarkItem) {
           PDFOutline pdfOutline = null;
  -        PageViewport pv = outline.getPageViewport();
  +        PageViewport pv = bookmarkItem.getPageViewport();
           if (pv != null) {
               Rectangle2D bounds = pv.getViewArea();
               double h = bounds.getHeight();
               float yoffset = (float)h / 1000f;
               String intDest = (String)pageReferences.get(pv.getKey());
  -            if (parentOutline == null) {
  +            if (parentBookmarkItem == null) {
                   PDFOutline outlineRoot = pdfDoc.getOutlineRoot();
                   pdfOutline = pdfDoc.getFactory().makeOutline(outlineRoot,
  -                                        outline.getLabel(), intDest, 
yoffset);
  +                                        bookmarkItem.getLabel(), intDest, 
yoffset);
               } else {
  -                pdfOutline = pdfDoc.getFactory().makeOutline(parentOutline,
  -                                        outline.getLabel(), intDest, 
yoffset);
  +                pdfOutline = 
pdfDoc.getFactory().makeOutline(parentBookmarkItem,
  +                                        bookmarkItem.getLabel(), intDest, 
yoffset);
               }
           }
   
  -        for (int i = 0; i < outline.getCount(); i++) {
  -            renderOutline(outline.getSubData(i), pdfOutline);
  +        for (int i = 0; i < bookmarkItem.getCount(); i++) {
  +            renderBookmarkItem(bookmarkItem.getSubData(i), pdfOutline);
           }
       }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to