소스 검색

Simplify Region.getViewportRectangle(): no reason to pass the SinglePageMaster as a parameter, as Regions have access to it

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1056923 13f79535-47bb-0310-9956-ffa450edef68
tags/fop-1_1rc1old
Andreas L. Delmelle 13 년 전
부모
커밋
2fb9c63eea

+ 4
- 6
src/java/org/apache/fop/area/Page.java 파일 보기

@@ -123,7 +123,7 @@ public class Page extends AreaTreeObject implements Serializable, Cloneable {
for (Iterator regenum = spm.getRegions().values().iterator();
regenum.hasNext();) {
Region r = (Region)regenum.next();
RegionViewport rvp = makeRegionViewport(r, reldims, pageCTM, spm);
RegionViewport rvp = makeRegionViewport(r, reldims, pageCTM);
if (r.getNameId() == Constants.FO_REGION_BODY) {
rr = new BodyRegion((RegionBody) r, rvp);
} else {
@@ -138,7 +138,7 @@ public class Page extends AreaTreeObject implements Serializable, Cloneable {
setRegionReferencePosition(rr, r, rvp.getViewArea());
rvp.setRegionReference(rr);
setRegionViewport(r.getNameId(), rvp);
}
}
}

/**
@@ -153,12 +153,10 @@ public class Page extends AreaTreeObject implements Serializable, Cloneable {
* @param r the region the viewport is to be created for
* @param reldims relative dimensions
* @param pageCTM page coordinate transformation matrix
* @param spm the simple-page-master for this page
* @return the new region viewport
*/
private RegionViewport makeRegionViewport(Region r, FODimension reldims, CTM pageCTM,
SimplePageMaster spm) {
Rectangle2D relRegionRect = r.getViewportRectangle(reldims, spm);
private RegionViewport makeRegionViewport(Region r, FODimension reldims, CTM pageCTM) {
Rectangle2D relRegionRect = r.getViewportRectangle(reldims);
Rectangle2D absRegionRect = pageCTM.transform(relRegionRect);
// Get the region viewport rectangle in absolute coords by
// transforming it using the page CTM

+ 2
- 4
src/java/org/apache/fop/fo/pagination/Region.java 파일 보기

@@ -47,7 +47,7 @@ public abstract class Region extends FObj {
private int writingMode;
// End of property values

private SimplePageMaster layoutMaster;
protected final SimplePageMaster layoutMaster;

/**
* Base constructor
@@ -102,11 +102,9 @@ public abstract class Region extends FObj {

/**
* @param pageRefRect reference dimension of the page area.
* @param spm the simple page master this region belongs to.
* @return the rectangle for the viewport area
*/
public abstract Rectangle getViewportRectangle(FODimension pageRefRect
, SimplePageMaster spm);
public abstract Rectangle getViewportRectangle(FODimension pageRefRect);

/**
* Returns the default region name (xsl-region-before, xsl-region-start,

+ 4
- 3
src/java/org/apache/fop/fo/pagination/RegionAfter.java 파일 보기

@@ -44,7 +44,7 @@ public class RegionAfter extends RegionBA {
}

/** {@inheritDoc} */
public Rectangle getViewportRectangle (FODimension reldims, SimplePageMaster spm) {
public Rectangle getViewportRectangle (FODimension reldims) {
/* Special rules apply to resolving extent as values are resolved relative
* to the page size and reference orientation.
*/
@@ -52,7 +52,8 @@ public class RegionAfter extends RegionBA {
PercentBaseContext pageHeightContext = getPageHeightContext(LengthBase.CUSTOM_BASE);
PercentBaseContext neighbourContext;
Rectangle vpRect;
if (spm.getWritingMode() == EN_LR_TB || spm.getWritingMode() == EN_RL_TB) {
if (layoutMaster.getWritingMode() == EN_LR_TB
|| layoutMaster.getWritingMode() == EN_RL_TB) {
neighbourContext = pageWidthContext;
vpRect = new Rectangle(0, reldims.bpd - getExtent().getValue(pageHeightContext)
, reldims.ipd, getExtent().getValue(pageHeightContext));
@@ -62,7 +63,7 @@ public class RegionAfter extends RegionBA {
, getExtent().getValue(pageWidthContext), reldims.ipd);
}
if (getPrecedence() == EN_FALSE) {
adjustIPD(vpRect, spm.getWritingMode(), neighbourContext);
adjustIPD(vpRect, layoutMaster.getWritingMode(), neighbourContext);
}
return vpRect;
}

+ 3
- 3
src/java/org/apache/fop/fo/pagination/RegionBefore.java 파일 보기

@@ -49,7 +49,7 @@ public class RegionBefore extends RegionBA {
}

/** {@inheritDoc} */
public Rectangle getViewportRectangle (FODimension reldims, SimplePageMaster spm) {
public Rectangle getViewportRectangle (FODimension reldims) {
/* Special rules apply to resolving extent as values are resolved relative
* to the page size and reference orientation.
*/
@@ -57,7 +57,7 @@ public class RegionBefore extends RegionBA {
PercentBaseContext pageHeightContext = getPageHeightContext(LengthBase.CUSTOM_BASE);
PercentBaseContext neighbourContext;
Rectangle vpRect;
if (spm.getWritingMode() == EN_LR_TB || spm.getWritingMode() == EN_RL_TB) {
if (layoutMaster.getWritingMode() == EN_LR_TB || layoutMaster.getWritingMode() == EN_RL_TB) {
neighbourContext = pageWidthContext;
vpRect = new Rectangle(0, 0, reldims.ipd, getExtent().getValue(pageHeightContext));
} else {
@@ -65,7 +65,7 @@ public class RegionBefore extends RegionBA {
vpRect = new Rectangle(0, 0, getExtent().getValue(pageWidthContext), reldims.ipd);
}
if (getPrecedence() == EN_FALSE) {
adjustIPD(vpRect, spm.getWritingMode(), neighbourContext);
adjustIPD(vpRect, layoutMaster.getWritingMode(), neighbourContext);
}
return vpRect;
}

+ 2
- 2
src/java/org/apache/fop/fo/pagination/RegionBody.java 파일 보기

@@ -96,7 +96,7 @@ public class RegionBody extends Region {
}

/** {@inheritDoc} */
public Rectangle getViewportRectangle (FODimension reldims, SimplePageMaster spm) {
public Rectangle getViewportRectangle (FODimension reldims) {
/* Special rules apply to resolving margins in the page context.
* Contrary to normal margins in this case top and bottom margin
* are resolved relative to the height. In the property subsystem
@@ -113,7 +113,7 @@ public class RegionBody extends Region {

int start;
int end;
if (spm.getWritingMode() == EN_LR_TB) { // Left-to-right
if (layoutMaster.getWritingMode() == EN_LR_TB) { // Left-to-right
start = commonMarginBlock.marginLeft.getValue(pageWidthContext);
end = commonMarginBlock.marginRight.getValue(pageWidthContext);
} else { // all other supported modes are right-to-left

+ 3
- 3
src/java/org/apache/fop/fo/pagination/RegionEnd.java 파일 보기

@@ -44,7 +44,7 @@ public class RegionEnd extends RegionSE {
}

/** {@inheritDoc} */
public Rectangle getViewportRectangle (FODimension reldims, SimplePageMaster spm) {
public Rectangle getViewportRectangle (FODimension reldims) {
/* Special rules apply to resolving extent as values are resolved relative
* to the page size and reference orientation.
*/
@@ -52,7 +52,7 @@ public class RegionEnd extends RegionSE {
PercentBaseContext pageHeightContext = getPageHeightContext(LengthBase.CUSTOM_BASE);
PercentBaseContext neighbourContext;
Rectangle vpRect;
if (spm.getWritingMode() == EN_LR_TB || spm.getWritingMode() == EN_RL_TB) {
if (layoutMaster.getWritingMode() == EN_LR_TB || layoutMaster.getWritingMode() == EN_RL_TB) {
neighbourContext = pageHeightContext;
vpRect = new Rectangle(reldims.ipd - getExtent().getValue(pageWidthContext), 0,
getExtent().getValue(pageWidthContext), reldims.bpd);
@@ -62,7 +62,7 @@ public class RegionEnd extends RegionSE {
vpRect = new Rectangle(reldims.ipd - getExtent().getValue(pageHeightContext), 0,
reldims.bpd, getExtent().getValue(pageHeightContext));
}
adjustIPD(vpRect, spm.getWritingMode(), neighbourContext);
adjustIPD(vpRect, layoutMaster.getWritingMode(), neighbourContext);
return vpRect;
}


+ 3
- 3
src/java/org/apache/fop/fo/pagination/RegionStart.java 파일 보기

@@ -44,7 +44,7 @@ public class RegionStart extends RegionSE {
}

/** {@inheritDoc} */
public Rectangle getViewportRectangle (FODimension reldims, SimplePageMaster spm) {
public Rectangle getViewportRectangle (FODimension reldims) {
/* Special rules apply to resolving extent as values are resolved relative
* to the page size and reference orientation.
*/
@@ -52,14 +52,14 @@ public class RegionStart extends RegionSE {
PercentBaseContext pageHeightContext = getPageHeightContext(LengthBase.CUSTOM_BASE);
PercentBaseContext neighbourContext;
Rectangle vpRect;
if (spm.getWritingMode() == EN_LR_TB || spm.getWritingMode() == EN_RL_TB) {
if (layoutMaster.getWritingMode() == EN_LR_TB || layoutMaster.getWritingMode() == EN_RL_TB) {
neighbourContext = pageHeightContext;
vpRect = new Rectangle(0, 0, getExtent().getValue(pageWidthContext), reldims.bpd);
} else {
neighbourContext = pageWidthContext;
vpRect = new Rectangle(0, 0, reldims.bpd, getExtent().getValue(pageHeightContext));
}
adjustIPD(vpRect, spm.getWritingMode(), neighbourContext);
adjustIPD(vpRect, layoutMaster.getWritingMode(), neighbourContext);
return vpRect;
}


Loading…
취소
저장