From b0839fa1f93f128c6dd271930209e59228bb0472 Mon Sep 17 00:00:00 2001 From: Finn Bock Date: Tue, 19 Oct 2004 08:53:51 +0000 Subject: First phase of performance improvement. Added bind() and startOfNode() methods to the FO nodes, unused for now. PR: 31699 git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198054 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/fop/fo/flow/ExternalGraphic.java | 186 +++++++++++++++++++++ 1 file changed, 186 insertions(+) (limited to 'src/java/org/apache/fop/fo/flow/ExternalGraphic.java') diff --git a/src/java/org/apache/fop/fo/flow/ExternalGraphic.java b/src/java/org/apache/fop/fo/flow/ExternalGraphic.java index 241d5ebae..290183b51 100644 --- a/src/java/org/apache/fop/fo/flow/ExternalGraphic.java +++ b/src/java/org/apache/fop/fo/flow/ExternalGraphic.java @@ -27,8 +27,17 @@ import org.xml.sax.Locator; import org.xml.sax.SAXParseException; // FOP +import org.apache.fop.datatypes.Length; import org.apache.fop.fo.FONode; import org.apache.fop.fo.FObj; +import org.apache.fop.fo.PropertyList; +import org.apache.fop.fo.properties.CommonAccessibility; +import org.apache.fop.fo.properties.CommonAural; +import org.apache.fop.fo.properties.CommonBorderPaddingBackground; +import org.apache.fop.fo.properties.CommonMarginInline; +import org.apache.fop.fo.properties.CommonRelativePosition; +import org.apache.fop.fo.properties.KeepProperty; +import org.apache.fop.fo.properties.LengthRangeProperty; import org.apache.fop.layoutmgr.ExternalGraphicLayoutManager; /** @@ -37,6 +46,36 @@ import org.apache.fop.layoutmgr.ExternalGraphicLayoutManager; * inline area that can be added to the area tree. */ public class ExternalGraphic extends FObj { + // The value of properties relevant for fo:external-graphic. + private CommonAccessibility commonAccessibility; + private CommonAural commonAural; + private CommonBorderPaddingBackground commonBorderPaddingBackground; + private CommonMarginInline commonMarginInline; + private CommonRelativePosition commonRelativePosition; + // private ToBeImplementedProperty alignmentAdjust; + // private ToBeImplementedProperty alignmentBaseline; + private Length baselineShift; + private LengthRangeProperty blockProgressionDimension; + // private ToBeImplementedProperty clip; + private Length contentHeight; + // private ToBeImplementedProperty contentType; + private Length contentWidth; + private int displayAlign; + // private ToBeImplementedProperty dominantBaseline; + private Length height; + private String id; + private LengthRangeProperty inlineProgressionDimension; + private KeepProperty keepWithNext; + private KeepProperty keepWithPrevious; + private Length lineHeight; + private int overflow; + private int scaling; + // private ToBeImplementedProperty scalingMethod; + private String src; + private int textAlign; + private int verticalAlign; //Extra + private Length width; + // End of property values /** * Create a new External graphic node. @@ -47,6 +86,48 @@ public class ExternalGraphic extends FObj { super(parent); } + /** + * @see org.apache.fop.fo.FObj#bind(PropertyList) + */ + public void bind(PropertyList pList) { + commonAccessibility = pList.getAccessibilityProps(); + commonAural = pList.getAuralProps(); + commonBorderPaddingBackground = pList.getBorderPaddingBackgroundProps(); + commonMarginInline = pList.getMarginInlineProps(); + commonRelativePosition = pList.getRelativePositionProps(); + // alignmentAdjust = pList.get(PR_ALIGNMENT_ADJUST); + // alignmentBaseline = pList.get(PR_ALIGNMENT_BASELINE); + baselineShift = pList.get(PR_BASELINE_SHIFT).getLength(); + blockProgressionDimension = pList.get(PR_BLOCK_PROGRESSION_DIMENSION).getLengthRange(); + // clip = pList.get(PR_CLIP); + contentHeight = pList.get(PR_CONTENT_HEIGHT).getLength(); + // contentType = pList.get(PR_CONTENT_TYPE); + contentWidth = pList.get(PR_CONTENT_WIDTH).getLength(); + displayAlign = pList.get(PR_DISPLAY_ALIGN).getEnum(); + // dominantBaseline = pList.get(PR_DOMINANT_BASELINE); + height = pList.get(PR_HEIGHT).getLength(); + id = pList.get(PR_ID).getString(); + inlineProgressionDimension = pList.get(PR_INLINE_PROGRESSION_DIMENSION).getLengthRange(); + keepWithNext = pList.get(PR_KEEP_WITH_NEXT).getKeep(); + keepWithPrevious = pList.get(PR_KEEP_WITH_PREVIOUS).getKeep(); + lineHeight = pList.get(PR_LINE_HEIGHT).getLength(); + overflow = pList.get(PR_OVERFLOW).getEnum(); + scaling = pList.get(PR_SCALING).getEnum(); + // scalingMethod = pList.get(PR_SCALING_METHOD); + src = pList.get(PR_SRC).getString(); + textAlign = pList.get(PR_TEXT_ALIGN).getEnum(); + verticalAlign = pList.get(PR_VERTICAL_ALIGN).getEnum(); + width = pList.get(PR_WIDTH).getLength(); + } + + /** + * @see org.apache.fop.fo.FONode#startOfNode + */ + protected void startOfNode() throws SAXParseException { + checkId(id); + getFOEventHandler().image(this); + } + /** * @see org.apache.fop.fo.FONode#validateChildNode(Locator, String, String) * XSL Content Model: empty @@ -65,6 +146,111 @@ public class ExternalGraphic extends FObj { getFOEventHandler().image(this); } + /** + * Return the Common Border, Padding, and Background Properties. + */ + public CommonBorderPaddingBackground getCommonBorderPaddingBackground() { + return commonBorderPaddingBackground; + } + + /** + * Return the Common Margin Properties-Inline. + */ + public CommonMarginInline getCommonMarginInline() { + return commonMarginInline; + } + + /** + * Return the "block-progression-dimension" property. + */ + public LengthRangeProperty getBlockProgressionDimension() { + return blockProgressionDimension; + } + + /** + * Return the "content-height" property. + */ + public Length getContentHeight() { + return contentHeight; + } + + /** + * Return the "content-width" property. + */ + public Length getContentWidth() { + return contentWidth; + } + + /** + * Return the "display-align" property. + */ + public int getDisplayAlign() { + return displayAlign; + } + + /** + * Return the "height" property. + */ + public Length getHeight() { + return height; + } + + /** + * Return the "id" property. + */ + public String getId() { + return id; + } + + /** + * Return the "inline-progression-dimension" property. + */ + public LengthRangeProperty getInlineProgressionDimension() { + return inlineProgressionDimension; + } + + /** + * Return the "overflow" property. + */ + public int getOverflow() { + return overflow; + } + + /** + * Return the "scaling" property. + */ + public int getScaling() { + return scaling; + } + + /** + * Return the "src" property. + */ + public String getSrc() { + return src; + } + + /** + * Return the "text-align" property. + */ + public int getTextAlign() { + return textAlign; + } + + /** + * Return the "width" property. + */ + public Length getWidth() { + return width; + } + + /** + * Return the "vertical-align" property. + */ + public int getVerticalAlign() { + return verticalAlign; + } + /** * @see org.apache.fop.fo.FONode#addLayoutManager(List) */ -- cgit v1.2.3