afreechart/src/main/java/org/afree/chart/block/ColumnArrangement.java
/**
     * Arranges the blocks in the container using a fixed height and a range for
     * the width.
     * 
     * @param container
     *            the container.
     * @param canvas
     *            the graphics device.
     * @param constraint
     *            the constraint.
     * 
     * @return The size of the container after arrangement.
     */
Arranges the blocks in the container using a fixed height and a range for
the width.

@param container
the container.
@param canvas
the graphics device.
@param constraint
the constraint.

@return The size of the container after arrangement.
Arranges the blocks in the container using a fixed height and a range for the width . @param container the container . @param canvas the graphics device . @param constraint the constraint . @return The size of the container after arrangement .
protected Size2D arrangeRF(BlockContainer container, Canvas canvas,
            RectangleConstraint constraint) {
        Size2D s = arrangeNF(container, canvas, constraint);
        if (constraint.getWidthRange().contains(s.width)) {
            return s;
        } else {
            RectangleConstraint c = constraint.toFixedWidth(constraint
                    .getWidthRange().constrain(s.getWidth()));
            return arrangeFF(container, canvas, c);
        }
    }
protected Size2D arrangeRF ( BlockContainer container , Canvas canvas , RectangleConstraint constraint ) { Size2D s = arrangeNF ( container , canvas , constraint ) ; if ( constraint . getWidthRange ( ) . contains ( s . width ) ) { return s ; } else { RectangleConstraint c = constraint . toFixedWidth ( constraint . getWidthRange ( ) . constrain ( s . getWidth ( ) ) ) ; return arrangeFF ( container , canvas , c ) ; } }
Arranges the blocks in the container using a fixed height and a range for
 the width.
Arranges the blocks in the container using a fixed height and a range for the width .