123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- /*
- * $Id$
- * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
- * For details on use and redistribution please refer to the
- * LICENSE file included with these sources.
- */
-
- package org.apache.fop.layout;
-
- // FOP
- import org.apache.fop.render.Renderer;
- import org.apache.fop.fo.flow.*;
- import org.apache.fop.fo.*;
- import org.apache.fop.apps.*;
- import org.apache.fop.datatypes.IDReferences;
- import org.apache.fop.fo.pagination.PageSequence;
-
- // Java
- import java.util.Vector;
- import java.util.Enumeration;
-
- /*Modified by Mark Lillywhite mark-fop@inomial.com. Added getIDReferences.
- This is just a convenience method for renderers who no longer have access
- to the AreaTree when rendering.
- */
-
- public class Page {
-
- private int height;
- private int width;
-
- private BodyAreaContainer body;
- private AreaContainer before;
- private AreaContainer after;
- private AreaContainer start;
- private AreaContainer end;
-
- private AreaTree areaTree;
-
- private Vector rootExtensions;
-
- private PageSequence pageSequence;
-
- protected int pageNumber = 0;
- protected String formattedPageNumber;
-
- protected Vector linkSets = new Vector();
-
- private Vector idList = new Vector();
-
- private Vector footnotes = null;
-
- private Vector markers = null;
-
- Page(AreaTree areaTree, int height, int width) {
- this.areaTree = areaTree;
- this.height = height;
- this.width = width;
- markers = new Vector();
- }
-
- public IDReferences getIDReferences() {
- return areaTree.getIDReferences();
- }
-
- public void setPageSequence(PageSequence pageSequence) {
- this.pageSequence = pageSequence;
- }
-
- public PageSequence getPageSequence() {
- return pageSequence;
- }
-
- public AreaTree getAreaTree() {
- return areaTree;
- }
-
- public void setNumber(int number) {
- this.pageNumber = number;
- }
-
- public int getNumber() {
- return this.pageNumber;
- }
-
- public void setFormattedNumber(String number) {
- this.formattedPageNumber = number;
- }
-
- public String getFormattedNumber() {
- return this.formattedPageNumber;
- }
-
- void addAfter(AreaContainer area) {
- this.after = area;
- area.setPage(this);
- }
-
- void addBefore(AreaContainer area) {
- this.before = area;
- area.setPage(this);
- }
-
- /**
- * Ensure that page is set not only on B.A.C. but also on the
- * three top-level reference areas.
- * @param area The region-body area container (special)
- */
- public void addBody(BodyAreaContainer area) {
- this.body = area;
- area.setPage(this);
- ((BodyAreaContainer)area).getMainReferenceArea().setPage(this);
- ((BodyAreaContainer)area).getBeforeFloatReferenceArea().setPage(this);
- ((BodyAreaContainer)area).getFootnoteReferenceArea().setPage(this);
- }
-
- void addEnd(AreaContainer area) {
- this.end = area;
- area.setPage(this);
- }
-
- void addStart(AreaContainer area) {
- this.start = area;
- area.setPage(this);
- }
-
- public AreaContainer getAfter() {
- return this.after;
- }
-
- public AreaContainer getBefore() {
- return this.before;
- }
-
- public AreaContainer getStart() {
- return this.start;
- }
-
- public AreaContainer getEnd() {
- return this.end;
- }
-
- public BodyAreaContainer getBody() {
- return this.body;
- }
-
- public int getHeight() {
- return this.height;
- }
-
- public int getWidth() {
- return this.width;
- }
-
- public FontInfo getFontInfo() {
- return this.areaTree.getFontInfo();
- }
-
- public void addLinkSet(LinkSet linkSet) {
- this.linkSets.addElement(linkSet);
- }
-
- public Vector getLinkSets() {
- return this.linkSets;
- }
-
- public boolean hasLinks() {
- return (!this.linkSets.isEmpty());
- }
-
- public void addToIDList(String id) {
- idList.addElement(id);
- }
-
- public Vector getIDList() {
- return idList;
- }
-
- public Vector getPendingFootnotes() {
- return footnotes;
- }
-
- public Vector getExtensions() {
- return rootExtensions;
- }
-
- public void setExtensions(Vector extensions) {
- this.rootExtensions = extensions;
- }
-
- public void setPendingFootnotes(Vector v) {
- footnotes = v;
- if (footnotes != null) {
- for (Enumeration e = footnotes.elements();
- e.hasMoreElements(); ) {
- FootnoteBody fb = (FootnoteBody)e.nextElement();
- if (!Footnote.layoutFootnote(this, fb, null)) {
- // footnotes are too large to fit on empty page
- }
-
- }
- footnotes = null;
- }
- }
-
- public void addPendingFootnote(FootnoteBody fb) {
- if (footnotes == null) {
- footnotes = new Vector();
- }
- footnotes.addElement(fb);
- }
-
- public void registerMarker(Marker marker) {
- markers.addElement(marker);
- }
-
- public Vector getMarkers() {
- return this.markers;
- }
-
- }
|