Browse Source

Experiment moving BlockAllocationRectangle to inner class of BlockArea


git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/FOP_0-20-0_Alt-Design@197782 13f79535-47bb-0310-9956-ffa450edef68
tags/Defoe_export
Peter Bernard West 20 years ago
parent
commit
34d9c2df91
1 changed files with 42 additions and 0 deletions
  1. 42
    0
      src/java/org/apache/fop/area/BlockArea.java

+ 42
- 0
src/java/org/apache/fop/area/BlockArea.java View File

@@ -137,4 +137,46 @@ public class BlockArea extends Area {
return 0.0;
}

/**
* @author pbw
* @version $Revision$ $Name$
*/
public class BlockAllocationRectangle extends AreaFrame implements
AllocationRectangle {

private PaddingRectangle padding;
private BorderRectangle borders;
private SpacesRectangle spaces;

/**
* @param area
* @param contents
*/
public BlockAllocationRectangle() {
// For block-areas, the allocation-area is bounded in the
// block-progression-direction by the border-rectangle, and in the
// inline-progression-direction by the spaces-rectangle.
// See 4.2.3 Geometric Definitions
// The contents of the BlockAllocationRectangle is the ContentRectangle.
// Initally, set up the AreaFrame representing the allocation
// rectangle to co-incide with the content-rectangle.
super(BlockArea.this, BlockArea.this.getContent());
// Now extend the AreaFrame to co-incide with the
// edges of the border rectangle in the BPDir, and with the edges of
// the spaces rectangle in the IPDir.
padding = BlockArea.this.getPadding();
borders = BlockArea.this.getBorders();
spaces = BlockArea.this.getSpaces();
setAllocationFrame();
}

public void setAllocationFrame() {
setStart(spaces.getStart() + borders.getStart() + padding.getStart());
setEnd(spaces.getEnd() + borders.getEnd() + padding.getEnd());
setBefore(borders.getBefore() + padding.getBefore());
setAfter(borders.getAfter() + padding.getAfter());
}

}

}

Loading…
Cancel
Save