bckfnn      2004/01/29 11:39:26

  Modified:    src/java/org/apache/fop/fo PropertyManager.java
  Log:
  A hack to calculate the startIndent and endIndent based on either margin
  or startIndent.
  
  PR: 25802.
  
  Revision  Changes    Path
  1.21      +34 -4     xml-fop/src/java/org/apache/fop/fo/PropertyManager.java
  
  Index: PropertyManager.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/PropertyManager.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- PropertyManager.java      17 Jan 2004 19:29:46 -0000      1.20
  +++ PropertyManager.java      29 Jan 2004 19:39:26 -0000      1.21
  @@ -311,10 +311,40 @@
                           getSpace().getOptimum().getLength().getValue();
           props.spaceAfter = this.propertyList.get(PR_SPACE_AFTER).
                           getSpace().getOptimum().getLength().getValue();
  -        props.startIndent = this.propertyList.get(PR_START_INDENT).
  -                        getLength().getValue();
  -        props.endIndent = this.propertyList.get(PR_END_INDENT).
  -                        getLength().getValue();
  +
  +
  +        // For now we do the section 5.3.2 calculation here.
  +        // This is a hack that doesn't deal correctly with:
  +        // - Reference vs. non-reference areas.
  +        // - writing mode, it mixes start and left.
  +        // - inherited values of margins and indents.
  +        // When the indents properties calculate this values correctly,
  +        // the block below can be removed and replaced with simple
  +        // props.startIndent = this.propertyList.get(PR_START_INDENT)
  +        // props.endIndent = this.propertyList.get(PR_END_INDENT)
  +        CommonBorderAndPadding bpProps = getBorderAndPadding();
  +
  +        int startIndent = 0;
  +        if (props.marginLeft != 0) {
  +            startIndent = props.marginLeft; 
  +        } else {
  +            startIndent = this.propertyList.get(PR_START_INDENT).
  +                                getLength().getValue(); 
  +        }
  +        props.startIndent = startIndent +
  +                            bpProps.getBorderStartWidth(false) +
  +                            bpProps.getPaddingStart(false);  
  +
  +        int endIndent = 0;
  +        if (props.marginRight != 0) {
  +            endIndent = props.marginRight; 
  +        } else {
  +            endIndent = this.propertyList.get(PR_END_INDENT).
  +                                getLength().getValue(); 
  +        }
  +        props.endIndent = endIndent +
  +                          bpProps.getBorderEndWidth(false) +
  +                          bpProps.getPaddingEnd(false);
   
           return props;
       }
  
  
  

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

Reply via email to