gmazza      2003/08/28 16:43:50

  Modified:    src/java/org/apache/fop/render/awt AWTRenderer.java
               src/java/org/apache/fop/viewer PreviewDialog.java
  Log:
  (Very) initial steps in activating AWTRenderer & PreviewDialog in 1.0 (creating 
outer page).
  
  Revision  Changes    Path
  1.8       +66 -3     xml-fop/src/java/org/apache/fop/render/awt/AWTRenderer.java
  
  Index: AWTRenderer.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/awt/AWTRenderer.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- AWTRenderer.java  20 Aug 2003 18:09:45 -0000      1.7
  +++ AWTRenderer.java  28 Aug 2003 23:43:50 -0000      1.8
  @@ -63,22 +63,31 @@
   import java.awt.Dimension;
   import java.awt.Graphics;
   import java.awt.Graphics2D;
  +import java.awt.geom.Rectangle2D;
   import java.awt.Toolkit;
   import java.awt.event.WindowAdapter;
   import java.awt.event.WindowEvent;
  +import java.awt.geom.AffineTransform;
   import java.awt.image.BufferedImage;
   import java.awt.print.PageFormat;
   import java.awt.print.Pageable;
   import java.awt.print.Printable;
  +import java.awt.RenderingHints;
   import java.io.IOException;
   import java.io.OutputStream;
   import java.util.List;
   import java.util.Map;
   
   // FOP
  -import org.apache.fop.apps.InputHandler;
   import org.apache.fop.apps.Document;
  +import org.apache.fop.apps.InputHandler;
  +import org.apache.fop.apps.FOPException;
  +import org.apache.fop.area.Area;
  +import org.apache.fop.area.Page;
  +import org.apache.fop.area.PageViewport;
  +import org.apache.fop.area.RegionViewport;
   import org.apache.fop.fo.FOTreeControl;
  +import org.apache.fop.fonts.Font;
   import org.apache.fop.render.AbstractRenderer;
   import org.apache.fop.viewer.PreviewDialog;
   import org.apache.fop.viewer.Translator;
  @@ -95,6 +104,9 @@
       protected List pageList = new java.util.Vector();
       //protected ProgressListener progressListener = null;
   
  +    /** Font configuration */
  +    protected Document fontInfo;
  +
       /**
           The InputHandler associated with this Renderer.
           Sent to the PreviewDialog for document reloading.
  @@ -157,14 +169,15 @@
       }
   
       public int getPageCount() {
  -        return 0;
  +        return pageList.size();
       }
   
       public void setupFontInfo(FOTreeControl foTreeControl) {
           // create a temp Image to test font metrics on
  +        fontInfo = (Document) foTreeControl;
           BufferedImage fontImage =
               new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);
  -        FontSetup.setup((Document)foTreeControl, fontImage.createGraphics());
  +        FontSetup.setup(fontInfo, fontImage.createGraphics());
       }
   
       public int getPageNumber() {
  @@ -237,4 +250,54 @@
           frame.setStatus(translator.getString("Status.Build.FO.tree"));
           return frame;
       }
  +    
  +    private void transform(Graphics2D g2d, double zoomPercent, double angle) {
  +        AffineTransform at = g2d.getTransform();
  +        at.rotate(angle);
  +        at.scale(zoomPercent / 100.0, zoomPercent / 100.0);
  +        g2d.setTransform(at);
  +    }
  +
  +    /** @see org.apache.fop.render.Renderer */
  +    public void renderPage(PageViewport page)  throws IOException, FOPException {
  +//      Page p = page.getPage();
  +        
  +        Rectangle2D bounds = page.getViewArea();
  +        pageWidth = (int)((float) bounds.getWidth() / 1000f + .5);
  +        pageHeight = (int)((float) bounds.getHeight() / 1000f + .5);
  +
  +        pageImage =
  +            new BufferedImage((int)((pageWidth * (int)scaleFactor) / 100),
  +                              (int)((pageHeight * (int)scaleFactor) / 100),
  +                              BufferedImage.TYPE_INT_RGB);
  +
  +        graphics = pageImage.createGraphics();
  +        graphics.setRenderingHint (RenderingHints.KEY_FRACTIONALMETRICS,
  +                                   RenderingHints.VALUE_FRACTIONALMETRICS_ON);
  +
  +        transform(graphics, scaleFactor, 0);
  +        drawFrame();
  +
  +        this.currentFontName = "";
  +        this.currentFontSize = 0;
  +//      renderPageAreas(p);
  +//      pageList.add(page);
  +    }
  +
  +    protected void drawFrame() {
  +        int width = pageWidth;
  +        int height = pageHeight;
  +
  +        graphics.setColor(Color.white);
  +        graphics.fillRect(0, 0, width, height);
  +
  +        graphics.setColor(Color.black);
  +        graphics.drawRect(-1, -1, width + 2, height + 2);
  +        graphics.drawLine(width + 2, 0, width + 2, height + 2);
  +        graphics.drawLine(width + 3, 1, width + 3, height + 3);
  +
  +        graphics.drawLine(0, height + 2, width + 2, height + 2);
  +        graphics.drawLine(1, height + 3, width + 3, height + 3);
  +    }
  +    
   }
  
  
  
  1.4       +14 -5     xml-fop/src/java/org/apache/fop/viewer/PreviewDialog.java
  
  Index: PreviewDialog.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/viewer/PreviewDialog.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- PreviewDialog.java        11 Aug 2003 23:47:22 -0000      1.3
  +++ PreviewDialog.java        28 Aug 2003 23:43:50 -0000      1.4
  @@ -52,6 +52,7 @@
   
   //Java
   import javax.swing.BorderFactory;
  +import javax.swing.ImageIcon;
   import javax.swing.JComboBox;
   import javax.swing.JFrame;
   import javax.swing.JLabel;
  @@ -66,6 +67,7 @@
   import java.awt.BorderLayout;
   import java.awt.Color;
   import java.awt.Dimension;
  +import java.awt.Graphics;
   import java.awt.GridBagConstraints;
   import java.awt.GridBagLayout;
   import java.awt.Insets;
  @@ -73,6 +75,7 @@
   import java.awt.Toolkit;
   import java.awt.event.ActionEvent;
   import java.awt.event.ActionListener;
  +import java.awt.image.BufferedImage;
   import java.awt.print.PrinterJob;
   import java.awt.print.PrinterException;
   
  @@ -555,19 +558,25 @@
            * The run method that does the actual updating
            */
           public void run() {
  -            //Rendering a page - to be done
  -            /*
  -            renderer.render(currentPage);
  -            BufferedImage pageImage = renderer.getLastRenderedPage();
  +            BufferedImage pageImage = null;
  +            Graphics graphics = null;
  +
  +//          renderer.render(currentPage);
  +            pageImage = renderer.getLastRenderedPage();
               if (pageImage == null)
                   return;
  +            graphics = pageImage.getGraphics();
  +            graphics.setColor(Color.black);
  +            graphics.drawRect(0, 0, pageImage.getWidth() - 1,
  +                              pageImage.getHeight() - 1);
  +
               pageLabel.setIcon(new ImageIcon(pageImage));
               pageCount = renderer.getPageCount();
  +
               //Updates status bar
               infoStatus.setText(translator.getString("Status.Page") + " "
                   + (currentPage + 1) + " "
                   + translator.getString("Status.of") + " " + pageCount);
  -            */
           }
       }
   
  
  
  

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

Reply via email to