123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- /*
- * Copyright 1999-2004 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$ */
-
- package org.apache.fop.area;
-
- import java.util.ArrayList;
- import java.util.List;
-
- import org.apache.fop.fo.pagination.Region;
-
- /**
- * This is a region reference area for the page regions.
- * This area represents a region on the page. It is cloneable
- * so the page master can make copies from the original page and regions.
- */
- public class RegionReference extends Area implements Cloneable {
- private int regionClass = Region.BEFORE_CODE;
- private CTM ctm;
- // the list of block areas from the static flow
- private List blocks = new ArrayList();
-
- private int bpd;
-
- /**
- * Create a new region reference area.
- *
- * @param type the region class type
- */
- public RegionReference(int type) {
- regionClass = type;
- }
-
- /**
- * Set the Coordinate Transformation Matrix which transforms content
- * coordinates in this region reference area which are specified in
- * terms of "start" and "before" into coordinates in a system which
- * is positioned in "absolute" directions (with origin at lower left of
- * the region reference area.
- *
- * @param ctm the current transform to position this region
- */
- public void setCTM(CTM ctm) {
- this.ctm = ctm;
- }
-
- /**
- * Get the current transform of this region.
- *
- * @return ctm the current transform to position this region
- */
- public CTM getCTM() {
- return this.ctm;
- }
-
- /**
- * Get the block in this region.
- *
- * @return the list of blocks in this region
- */
- public List getBlocks() {
- return blocks;
- }
-
- /**
- * Get the region class of this region.
- *
- * @return the region class
- */
- public int getRegionClass() {
- return regionClass;
- }
-
- /**
- * Add a block area to this region reference area.
- *
- * @param block the block area to add
- */
- public void addBlock(Block block) {
- blocks.add(block);
- }
-
- /**
- * Set the block-progression-dimension.
- *
- * @return the footnote area
- */
- public void setBPD(int bpd) {
- this.bpd = bpd;
- }
-
- /**
- * Set the block-progression-dimension.
- *
- * @return the footnote area
- */
- public int getBPD() {
- return bpd;
- }
-
- /**
- * Clone this region.
- * This is used when cloning the page by the page master.
- * The blocks are not copied since the master will have no blocks.
- *
- * @return a copy of this region reference area
- */
- public Object clone() {
- RegionReference rr = new RegionReference(regionClass);
- rr.ctm = ctm;
- rr.setIPD(getIPD());
- return rr;
- }
-
- }
|