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 bc...@apache.org on 2004/09/22 10:22:15 UTC

cvs commit: xml-fop/src/java/org/apache/fop/layoutmgr BlockContainerLayoutManager.java BlockLayoutManager.java

bckfnn      2004/09/22 01:22:15

  Modified:    src/java/org/apache/fop/layoutmgr
                        BlockContainerLayoutManager.java
                        BlockLayoutManager.java
  Log:
  Set content ipd/bpd instead of allocation width/height.
  
  Revision  Changes    Path
  1.23      +15 -20    xml-fop/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java
  
  Index: BlockContainerLayoutManager.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- BlockContainerLayoutManager.java	7 Sep 2004 20:47:11 -0000	1.22
  +++ BlockContainerLayoutManager.java	22 Sep 2004 08:22:14 -0000	1.23
  @@ -105,16 +105,13 @@
               return getAbsoluteBreakPoss(context);
           }
   
  -        int bIndents = borderProps.getBPPaddingAndBorder(false);
  -        int iIndents = marginProps.startIndent + marginProps.endIndent; 
  -
           int ipd = context.getRefIPD();
           int bpd = context.getStackLimit().opt;
           if (!width.isAuto()) {
  -            ipd = width.getValue() + iIndents;
  +            ipd = width.getValue();
           }
           if (!height.isAuto()) {
  -            bpd = height.getValue() + bIndents;
  +            bpd = height.getValue();
           }
           Rectangle2D rect = new Rectangle2D.Double(0, 0, ipd, bpd);
           relDims = new FODimension(0, 0);
  @@ -122,8 +119,6 @@
                   propManager.getWritingMode(), rect, relDims);
           double[] vals = absoluteCTM.toArray();
   
  -        ipd -= iIndents;
  -
           MinOptMax stackLimit;
           boolean rotated = vals[0] == 0.0;
           if (rotated) {
  @@ -151,9 +146,9 @@
           BreakPoss lastPos = null;
   
           fobj.setLayoutDimension(PercentBase.BLOCK_IPD, ipd);
  -        fobj.setLayoutDimension(PercentBase.BLOCK_BPD, bpd - bIndents);
  +        fobj.setLayoutDimension(PercentBase.BLOCK_BPD, bpd);
           fobj.setLayoutDimension(PercentBase.REFERENCE_AREA_IPD, ipd);
  -        fobj.setLayoutDimension(PercentBase.REFERENCE_AREA_BPD, bpd - bIndents);
  +        fobj.setLayoutDimension(PercentBase.REFERENCE_AREA_BPD, bpd);
   
           while ((curLM = getChildLM()) != null) {
               // Make break positions and return blocks!
  @@ -305,8 +300,8 @@
               if (abProps.absolutePosition == AbsolutePosition.ABSOLUTE) {
                   viewportBlockArea.setXOffset(abProps.left);
                   viewportBlockArea.setYOffset(abProps.top);
  -                viewportBlockArea.setWidth(abProps.right - abProps.left);
  -                viewportBlockArea.setHeight(abProps.bottom - abProps.top);
  +                viewportBlockArea.setIPD(abProps.right - abProps.left);
  +                viewportBlockArea.setBPD(abProps.bottom - abProps.top);
   
                   viewportBlockArea.setCTM(absoluteCTM);
                   viewportBlockArea.setClip(clip);
  @@ -315,25 +310,25 @@
                   double[] vals = absoluteCTM.toArray();
                   boolean rotated = vals[0] == 0.0;
                   if (rotated) {
  -                    viewportBlockArea.setWidth(relDims.ipd);
  -                    viewportBlockArea.setHeight(relDims.bpd);
  +                    viewportBlockArea.setIPD(relDims.ipd);
  +                    viewportBlockArea.setBPD(relDims.bpd);
                       viewportBlockArea.setCTM(absoluteCTM);
                       viewportBlockArea.setClip(clip);
                       autoHeight = false;
                   } else if (vals[0] == -1.0) {
                       // need to set bpd to actual size for rotation
                       // and stacking
  -                    viewportBlockArea.setWidth(relDims.ipd);
  +                    viewportBlockArea.setIPD(relDims.ipd);
                       if (!height.isAuto()) {
  -                        viewportBlockArea.setHeight(relDims.bpd);
  +                        viewportBlockArea.setBPD(relDims.bpd);
                           autoHeight = false;
                       }
                       viewportBlockArea.setCTM(absoluteCTM);
                       viewportBlockArea.setClip(clip);
                   } else {
  -                    viewportBlockArea.setWidth(relDims.ipd);
  +                    viewportBlockArea.setIPD(relDims.ipd);
                       if (!height.isAuto()) {
  -                        viewportBlockArea.setHeight(relDims.bpd);
  +                        viewportBlockArea.setBPD(relDims.bpd);
                           autoHeight = false;
                       }
                   }
  @@ -380,14 +375,14 @@
           viewportBlockArea.addBlock(curBlockArea, autoHeight);
           
           // Fake a 0 height for absolute positioned blocks.
  -        int height = viewportBlockArea.getHeight();
  +        int height = viewportBlockArea.getBPD();
           if (viewportBlockArea.getPositioning() == Block.ABSOLUTE) {
  -            viewportBlockArea.setHeight(0);
  +            viewportBlockArea.setBPD(0);
           }
           super.flush();
           // Restore the right height.
           if (viewportBlockArea.getPositioning() == Block.ABSOLUTE) {
  -            viewportBlockArea.setHeight(height);
  +            viewportBlockArea.setBPD(height);
           }
       }
       
  
  
  
  1.28      +3 -3      xml-fop/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java
  
  Index: BlockLayoutManager.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- BlockLayoutManager.java	7 Sep 2004 20:47:11 -0000	1.27
  +++ BlockLayoutManager.java	22 Sep 2004 08:22:14 -0000	1.28
  @@ -303,7 +303,6 @@
           }
   
           int bIndents = borderProps.getBPPaddingAndBorder(false);
  -        curBlockArea.setHeight(curBlockArea.getHeight() + bIndents);
   
           addMarkers(false, true);
   
  @@ -348,12 +347,13 @@
               // Need to be careful though, if parent is BC then width may not be set
               int parentwidth = 0;
               if (parentArea instanceof BlockParent) {
  -                parentwidth = ((BlockParent) parentArea).getWidth();
  +                parentwidth = ((BlockParent) parentArea).getIPD();
               }
               if (parentwidth == 0) {
                   parentwidth = referenceIPD;
               }
  -            curBlockArea.setWidth(parentwidth);
  +            parentwidth -= marginProps.startIndent + marginProps.endIndent;
  +            curBlockArea.setIPD(parentwidth);
               setCurrentArea(curBlockArea); // ??? for generic operations
           }
           return curBlockArea;
  
  
  

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