jeremias 2005/01/18 01:40:01
Modified: src/java/org/apache/fop/render/pdf PDFRenderer.java
Log:
Code cleanup and preparation for implementing absolute-position="fixed".
Revision Changes Path
1.70 +6 -22
xml-fop/src/java/org/apache/fop/render/pdf/PDFRenderer.java
Index: PDFRenderer.java
===================================================================
RCS file:
/home/cvs/xml-fop/src/java/org/apache/fop/render/pdf/PDFRenderer.java,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -r1.69 -r1.70
--- PDFRenderer.java 18 Jan 2005 07:00:14 -0000 1.69
+++ PDFRenderer.java 18 Jan 2005 09:40:01 -0000 1.70
@@ -49,7 +49,6 @@
import org.apache.fop.area.OffDocumentItem;
import org.apache.fop.area.BookmarkData;
import org.apache.fop.area.inline.Character;
-import org.apache.fop.area.inline.InlineArea;
import org.apache.fop.area.inline.TextArea;
import org.apache.fop.area.inline.Viewport;
import org.apache.fop.area.inline.ForeignObject;
@@ -197,7 +196,7 @@
/**
* reusable word area string buffer to reduce memory usage
*/
- private StringBuffer wordAreaPDF = new StringBuffer();
+ //private StringBuffer wordAreaPDF = new StringBuffer();
/**
* create the PDF renderer
@@ -274,7 +273,6 @@
currentPage = null;
currentState = null;
currentFontName = "";
- wordAreaPDF = new StringBuffer();
}
/**
@@ -677,22 +675,21 @@
CTM ctm = bv.getCTM();
int borderPaddingStart = bv.getBorderAndPaddingWidthStart();
int borderPaddingBefore = bv.getBorderAndPaddingWidthBefore();
- float x,y;
+ float x, y;
x = (float)(bv.getXOffset() + containingIPPosition) / 1000f;
y = (float)(bv.getYOffset() + containingBPPosition) / 1000f;
if (bv.getPositioning() == Block.ABSOLUTE
|| bv.getPositioning() == Block.FIXED) {
- getLogger().debug("containing position ip=" +
containingIPPosition + " bp=" + containingBPPosition);
+ //TODO Handle positioning=FIXED
+
CTM tempctm = new CTM(containingIPPosition,
containingBPPosition);
ctm = tempctm.multiply(ctm);
- getLogger().debug("tempctm=" + tempctm + " ctm=" + ctm);
//This is the content-rect
float width = (float)bv.getIPD() / 1000f;
float height = (float)bv.getBPD() / 1000f;
- getLogger().debug("renderBlockViewport: x=" + x + " y=" + y + "
width=" + width + " height=" + height);
//Adjust for spaces (from margin or indirectly by start-indent
etc.
Integer spaceStart = (Integer) bv.getTrait(Trait.SPACE_START);
@@ -746,21 +743,6 @@
CTM tempctm = new CTM(containingIPPosition, currentBPPosition +
containingBPPosition);
ctm = tempctm.multiply(ctm);
- /*
- if (ctm != null) {
- double[] vals = ctm.toArray();
- //boolean aclock = vals[2] == 1.0;
- if (vals[2] == 1.0) {
- ctm = ctm.translate(-saveBP - bv.getBPD(), -saveIP);
- } else if (vals[0] == -1.0) {
- ctm = ctm.translate(-saveIP - bv.getIPD(), -saveBP -
bv.getBPD());
- } else {
- //ctm = ctm.translate(saveBP, saveIP - bv.getIPD());
- //ctm = ctm.translate(saveIP, saveBP);
- }
- }
- ctm = new CTM().translate(saveIP, saveBP).multiply(ctm);
- */
//Now adjust for border/padding
x += borderPaddingStart / 1000f;
@@ -790,6 +772,8 @@
currentIPPosition = saveIP;
currentBPPosition = saveBP;
+
+ //Adjust BP position (alloc BPD + spaces)
if (spaceBefore != null) {
currentBPPosition += spaceBefore.intValue();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]