123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- /*
- * Copyright 1999-2005 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /* $Id: BodyRegion.java,v 1.4 2004/02/27 17:41:26 jeremias Exp $ */
-
- package org.apache.fop.area;
-
- import org.apache.fop.fo.Constants;
-
- /**
- * This class is a container for the areas that may be generated by
- * an fo:region-body. It extends the RegionReference that is used
- * directly by the other region classes.
- * See fo:region-body definition in the XSL Rec for more information.
- */
- public class BodyRegion extends RegionReference {
- private BeforeFloat beforeFloat; // optional
- private MainReference mainReference; // mandatory
- private Footnote footnote; // optional
- private int columnGap;
- private int columnCount;
-
- /**
- * Constructor which can read traits directly
- * from an fo:region-body formatting object.
- */
- public BodyRegion(int columnCount, int columnGap, RegionViewport parent) {
- super(Constants.FO_REGION_BODY, parent);
- this.columnCount = columnCount;
- this.columnGap = columnGap;
- mainReference = new MainReference(this);
- }
-
- /**
- * Set the number of columns for blocks when not spanning
- *
- * @param colCount the number of columns
- */
- public void setColumnCount(int colCount) {
- this.columnCount = colCount;
- }
-
- /**
- * Get the number of columns when not spanning
- *
- * @return the number of columns
- */
- public int getColumnCount() {
- return this.columnCount;
- }
-
- /**
- * Set the column gap between columns
- * The length is in millipoints.
- *
- * @param colGap the column gap in millipoints
- */
- public void setColumnGap(int colGap) {
- this.columnGap = colGap;
- }
-
- /** @return the column-gap value */
- public int getColumnGap() {
- return this.columnGap;
- }
-
- /**
- * Get the main reference area.
- *
- * @return the main reference area
- */
- public MainReference getMainReference() {
- return mainReference;
- }
-
- /**
- * indicates whether the main reference area has any child areas added to it
- *
- * @return whether the main reference area has any child areas added to it
- */
- public boolean isEmpty() {
- return mainReference == null || mainReference.isEmpty();
- }
-
-
- /**
- * Get the before float area.
- *
- * @return the before float area
- */
- public BeforeFloat getBeforeFloat() {
- if (beforeFloat == null) {
- beforeFloat = new BeforeFloat();
- }
- return beforeFloat;
- }
-
- /**
- * Get the footnote area.
- *
- * @return the footnote area
- */
- public Footnote getFootnote() {
- if (footnote == null) {
- footnote = new Footnote();
- }
- return footnote;
- }
-
- /**
- * Clone this object.
- *
- * @return a shallow copy of this object
- */
- public Object clone() {
- BodyRegion br = new BodyRegion(columnCount, columnGap, regionViewport);
- br.setCTM(getCTM());
- br.setIPD(getIPD());
- br.beforeFloat = beforeFloat;
- br.mainReference = mainReference;
- br.footnote = footnote;
- return br;
- }
- }
|