2.2. Detailed view

The call stack when creating the region viewports:

  [1] org.apache.fop.layoutmgr.PageLayoutManager.makeRegionViewport (PageLayoutManager.java:832)
  [2] org.apache.fop.layoutmgr.PageLayoutManager.createPageAreas (PageLayoutManager.java:805)
  [3] org.apache.fop.layoutmgr.PageLayoutManager.createPage (PageLayoutManager.java:748)
  [4] org.apache.fop.layoutmgr.PageLayoutManager.makeNewPage (PageLayoutManager.java:467)
  [5] org.apache.fop.layoutmgr.PageLayoutManager.activateLayout (PageLayoutManager.java:220)

At the end of createPageAreas the following properties of the page have been established:

The page reference rectangle:

 pageRefRect = {
    x: 56692
    y: 56692
    width: 481891
    height: 728505
    serialVersionUID: -4345857070255674764
}

The page reference area:

 page = {
    regionBefore: null
    regionStart: null
    regionBody: instance of org.apache.fop.area.RegionViewport(id=1279)
    regionEnd: null
    regionAfter: null
    unresolved: null
}

 page.regionBody = {
    region: instance of org.apache.fop.area.BodyRegion(id=1280)
    viewArea: instance of java.awt.Rectangle(id=1281)
    clip: false
    org.apache.fop.area.Area.areaClass: 0
    org.apache.fop.area.Area.ipd: 0
    org.apache.fop.area.Area.props: null
}

 page.regionBody.region = {
    beforeFloat: null
    mainReference: null
    footnote: null
    columnGap: 18000
    columnCount: 1
    refIPD: 0
    org.apache.fop.area.RegionReference.regionClass: 2
    org.apache.fop.area.RegionReference.ctm: instance of org.apache.fop.area.CTM(id=1282)
    org.apache.fop.area.RegionReference.blocks: instance of java.util.ArrayList(id=1283)
    org.apache.fop.area.Area.areaClass: 0
    org.apache.fop.area.Area.ipd: 0
    org.apache.fop.area.Area.props: null
}

 page.regionBody.viewArea = {
    x: 56692
    y: 56692
    width: 481891
    height: 728505
    serialVersionUID: -4345857070255674764
}

The PageViewport is returned:

 curPage = {
    page: instance of org.apache.fop.area.Page(id=1261)
    viewArea: instance of java.awt.Rectangle(id=1289)
    clip: false
    pageNumber: null
    idReferences: null
    unresolved: null
    pendingResolved: null
    markerFirstStart: null
    markerLastStart: null
    markerFirstAny: null
    markerLastEnd: null
    markerLastAny: null
}

When makeNewPage returns, the Page LayoutManager has a Page Viewport and a Body Region object. The layout dimensions have been calculated:

 this = {
    pageNumberGenerator: instance of org.apache.fop.fo.pagination.PageNumberGenerator(id=1003)
    pageCount: 1
    pageNumberString: "1"
    isFirstPage: false
    bFirstPage: false
    curPage: instance of org.apache.fop.area.PageViewport(id=1288)
    curBody: instance of org.apache.fop.area.BodyRegion(id=1280)
    curSpan: null
    curSpanColumns: 0
    curFlow: null
    flowBPD: 728505
    flowIPD: 0
    areaTree: instance of org.apache.fop.area.AreaTree(id=1005)
    pageSequence: instance of org.apache.fop.fo.pagination.PageSequence(id=1006)
    currentSimplePageMaster: instance of org.apache.fop.fo.pagination.SimplePageMaster(id=1007)
    staticContentLMs: instance of java.util.HashMap(id=1008)
    lmls: instance of org.apache.fop.layoutmgr.LayoutManagerLS(id=1009)
    org.apache.fop.layoutmgr.AbstractLayoutManager.userAgent: instance of org.apache.fop.apps.FOUserAgent(id=1010)
    org.apache.fop.layoutmgr.AbstractLayoutManager.parentLM: null
    org.apache.fop.layoutmgr.AbstractLayoutManager.fobj: instance of org.apache.fop.fo.pagination.PageSequence(id=1006)
    org.apache.fop.layoutmgr.AbstractLayoutManager.foID: null
    org.apache.fop.layoutmgr.AbstractLayoutManager.markers: null
    org.apache.fop.layoutmgr.AbstractLayoutManager.bFinished: false
    org.apache.fop.layoutmgr.AbstractLayoutManager.curChildLM: null
    org.apache.fop.layoutmgr.AbstractLayoutManager.childLMiter: instance of org.apache.fop.layoutmgr.LMiter(id=1011)
    org.apache.fop.layoutmgr.AbstractLayoutManager.bInited: false
}

The method createBodyMainReferenceArea() adds a MainReferenceArea to the body region:

 curBody = {
    beforeFloat: null
    mainReference: instance of org.apache.fop.area.MainReference(id=1293)
    footnote: null
    columnGap: 18000
    columnCount: 1
    refIPD: 0
    org.apache.fop.area.RegionReference.regionClass: 2
    org.apache.fop.area.RegionReference.ctm: instance of org.apache.fop.area.CTM(id=1282)
    org.apache.fop.area.RegionReference.blocks: instance of java.util.ArrayList(id=1283)
    org.apache.fop.area.Area.areaClass: 0
    org.apache.fop.area.Area.ipd: 0
    org.apache.fop.area.Area.props: null
}
 curBody.mainReference = {
    spanAreas: instance of java.util.ArrayList(id=1294)
    columnGap: 0
    width: 0
    org.apache.fop.area.Area.areaClass: 0
    org.apache.fop.area.Area.ipd: 0
    org.apache.fop.area.Area.props: null
}
 curBody.mainReference.spanAreas = "[]"

After createSpan(1):

 curBody.mainReference.spanAreas = "[org.apache.fop.area.Span@1581e80]"
 curBody.mainReference.spanAreas.get(0) = {
    flowAreas: instance of java.util.ArrayList(id=1299)
    height: 0
    org.apache.fop.area.Area.areaClass: 0
    org.apache.fop.area.Area.ipd: 481891
    org.apache.fop.area.Area.props: null
}