]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Layout W.I.P.
authorPeter Bernard West <pbwest@apache.org>
Tue, 18 May 2004 23:05:27 +0000 (23:05 +0000)
committerPeter Bernard West <pbwest@apache.org>
Tue, 18 May 2004 23:05:27 +0000 (23:05 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/FOP_0-20-0_Alt-Design@197607 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/fop/fo/FONode.java
src/java/org/apache/fop/fo/FoRoot.java
src/java/org/apache/fop/fo/flow/FoPageSequence.java
src/java/org/apache/fop/fo/flow/FoPcdata.java
src/java/org/apache/fop/render/awt/FontTest.java

index 70517d50cec0e989f1268394101c5a1a1049a135..d0aba6029ecd6c6139bb5da880bc09b2429ffe9f 100644 (file)
@@ -18,6 +18,7 @@
  */
 package org.apache.fop.fo;
 
+import java.awt.GraphicsEnvironment;
 import java.awt.geom.Rectangle2D;
 import java.util.BitSet;
 import java.util.HashMap;
@@ -190,6 +191,10 @@ public class FONode extends SyncedNode implements AreaListener {
     /** The number of markers on this FO. */
     protected int numMarkers = 0;
 
+    private GraphicsEnvironment gEnv = null;
+    protected GraphicsEnvironment getGraphicsEnvironment() {
+        return gEnv;
+    }
     /**
      * @param foTree an <tt>FOTree</tt> to which this node belongs
      * @param type the fo type of this FONode.
@@ -225,6 +230,12 @@ public class FONode extends SyncedNode implements AreaListener {
         exprParser = foTree.exprParser;
         propertySet = new PropertyValue[PropNames.LAST_PROPERTY_INDEX + 1];
         foAttributes = new FOAttributes(event, this);
+        if (parent == null) {
+            // Setup the graphics environment
+            gEnv = GraphicsEnvironment.getLocalGraphicsEnvironment();
+        } else {
+            gEnv = parent.getGraphicsEnvironment();
+        }
         if ((stateFlags & MC_MARKER) == 0) {
             processAttributes();
         }
index b797db40373d905d42e19228d2553fbd8278bf0d..ed3b4206618494aedaf5d82a177b09970ff64340 100644 (file)
@@ -21,7 +21,6 @@ package org.apache.fop.fo;
 
 import java.util.Arrays;
 import java.util.NoSuchElementException;
-
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.area.Area;
 import org.apache.fop.datastructs.TreeException;
index 44c1b356eb5a86277a20ec9f2d7c44f4759120dc..6a5040377037ec2cd1aa4d631420b34a22b4186e 100644 (file)
 package org.apache.fop.fo.flow;
 
 // FOP
+import java.awt.Graphics2D;
+import java.awt.GraphicsEnvironment;
+import java.awt.font.FontRenderContext;
+import java.awt.image.BufferedImage;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.BitSet;
@@ -195,6 +199,12 @@ public class FoPageSequence extends FONode {
     {
         super(foTree, FObjectNames.PAGE_SEQUENCE, parent, event,
               FONode.PAGESEQ_SET, sparsePropsMap, sparseIndices);
+        // Set up the graphics environment
+        pageSpread =
+            new BufferedImage(20*72, 12*72, BufferedImage.TYPE_INT_RGB);
+        g2D = pageSpread.createGraphics();
+        frcontext = g2D.getFontRenderContext();
+
         XmlEvent ev;
         // Look for optional title
         log.finer("page-sequence title");
@@ -293,6 +303,23 @@ public class FoPageSequence extends FONode {
         makeSparsePropsSet();
     }
 
+    private GraphicsEnvironment gEnv = null;
+    public GraphicsEnvironment getGraphicsEnvironment() {
+        return gEnv;
+    }
+    private BufferedImage pageSpread = null;
+    public BufferedImage getPageSpread() {
+        return pageSpread;
+    }
+    private Graphics2D g2D = null;
+    public Graphics2D getGraphics2D() {
+        return g2D;
+    }
+    private FontRenderContext frcontext = null;
+    public FontRenderContext getFontRenderContext() {
+        return frcontext;
+    }
+
     public Area getReferenceRectangle() throws FOPException {
         // TODO Reference rectangle is assumed to be equivalent to the
         // "auto" value on "page-height" and "page-width".  The
index 32788e3949c2c1d684574777266c1c7c5c83437a..1136a4a9c6bc158b4af0987bdb86b3c8957c2559 100644 (file)
@@ -143,4 +143,14 @@ public class FoPcdata extends FOPageSeqNode {
         return characters;
     }
 
+    // PCDATA provides sequences of inline-areas to fill line-areas in the
+    // parent block area.
+    // Generate a text-layout for the PCDATA.
+    /**
+     * Generate a  
+     */
+    private void processText() {
+        
+    }
+
 }
index 7ca83dbf11e67fa8481030e8cd24e94ec0872190..115acb725df1053bd0b423d072bc68f3107dbfd4 100644 (file)
@@ -47,9 +47,10 @@ public class FontTest {
           GraphicsEnvironment.getLocalGraphicsEnvironment();
       Font[] fonts = gEnv.getAllFonts();
       String[] families = gEnv.getAvailableFontFamilyNames();
-      BufferedImage fontImage =
-          new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);
-      Graphics2D g2D = fontImage.createGraphics();
+      BufferedImage pageSpread =
+          new BufferedImage(20*72, 12*72, BufferedImage.TYPE_INT_RGB);
+      //Graphics2D g2D = fontImage.createGraphics();
+      Graphics2D g2D = pageSpread.createGraphics();
       FontRenderContext frc = g2D.getFontRenderContext();
   }