Bläddra i källkod

Third phase of performance improvement.

- Make line-height a SpaceProperty instead of a LengthProperty.

PR: 31699


git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198066 13f79535-47bb-0310-9956-ffa450edef68
tags/Root_Temp_KnuthStylePageBreaking
Finn Bock 19 år sedan
förälder
incheckning
99602d2f4a

+ 1
- 0
src/java/org/apache/fop/fo/FOPropertyMapping.java Visa fil

@@ -1481,6 +1481,7 @@ public class FOPropertyMapping implements Constants {

// line-height
m = new LineHeightPropertyMaker(PR_LINE_HEIGHT);
m.useGeneric(genericSpace);
m.setInherited(true);
m.setDefault("normal", true);
m.addKeyword("normal", "1.2em");

+ 20
- 2
src/java/org/apache/fop/fo/properties/LineHeightPropertyMaker.java Visa fil

@@ -19,8 +19,10 @@
package org.apache.fop.fo.properties;

import org.apache.fop.apps.FOPException;
import org.apache.fop.datatypes.Numeric;
import org.apache.fop.fo.FObj;
import org.apache.fop.fo.PropertyList;
import org.apache.fop.fo.expr.PropertyException;

/**
* A maker which calculates the line-height property.
@@ -31,7 +33,7 @@ import org.apache.fop.fo.PropertyList;
* the nearest specified is used to recalculate the line-height.
*/

public class LineHeightPropertyMaker extends LengthProperty.Maker {
public class LineHeightPropertyMaker extends SpaceProperty.Maker {
/**
* Create a maker for line-height.
* @param propId the is for linehight.
@@ -76,7 +78,22 @@ public class LineHeightPropertyMaker extends LengthProperty.Maker {
}
return null;
}

public Property convertProperty(Property p,
PropertyList propertyList,
FObj fo) throws FOPException {
Numeric numval = p.getNumeric();
if (numval != null && numval.getDimension() == 0) {
try {
p = new PercentLength(numval.getNumericValue(), getPercentBase(fo,propertyList));
} catch (PropertyException exc) {
// log.error("exception", exc);
}
}
return super.convertProperty(p, propertyList, fo);
}
/*
protected Property convertPropertyDatatype(Property p,
PropertyList propertyList,
FObj fo) {
@@ -86,4 +103,5 @@ public class LineHeightPropertyMaker extends LengthProperty.Maker {
}
return super.convertPropertyDatatype(p, propertyList, fo);
}
*/
}

Laddar…
Avbryt
Spara