Author: vhennebert
Date: Thu Nov 7 12:31:31 2013
New Revision: 1539613
URL: http://svn.apache.org/r1539613
Log:
Added support for dominant-baseline on fo:inline-container
Added:
xmlgraphics/fop/branches/Temp_InlineContainer/test/layoutengine/standard-testcases/inline-container_dominant-baseline.xml
(with props)
Modified:
xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/layoutmgr/inline/AlignmentContext.java
xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/layoutmgr/inline/InlineContainerLayoutManager.java
Modified:
xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/layoutmgr/inline/AlignmentContext.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/layoutmgr/inline/AlignmentContext.java?rev=1539613&r1=1539612&r2=1539613&view=diff
==============================================================================
---
xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/layoutmgr/inline/AlignmentContext.java
(original)
+++
xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/layoutmgr/inline/AlignmentContext.java
Thu Nov 7 12:31:31 2013
@@ -295,7 +295,7 @@ public class AlignmentContext implements
* Return the dominant baseline identifier.
* @return the dominant baseline identifier
*/
- private int getDominantBaselineIdentifier() {
+ public int getDominantBaselineIdentifier() {
return actualBaselineTable.getDominantBaselineIdentifier();
}
Modified:
xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/layoutmgr/inline/InlineContainerLayoutManager.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/layoutmgr/inline/InlineContainerLayoutManager.java?rev=1539613&r1=1539612&r2=1539613&view=diff
==============================================================================
---
xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/layoutmgr/inline/InlineContainerLayoutManager.java
(original)
+++
xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/layoutmgr/inline/InlineContainerLayoutManager.java
Thu Nov 7 12:31:31 2013
@@ -158,7 +158,7 @@ public class InlineContainerLayoutManage
ic.getAlignmentAdjust(), ic.getAlignmentBaseline(),
ic.getBaselineShift(), ic.getDominantBaseline(),
context.getAlignmentContext());
- int baselineOffset = getAlignmentPoint();
+ int baselineOffset =
getAlignmentPoint(ac.getDominantBaselineIdentifier());
ac.resizeLine(contentAreaBPD, baselineOffset);
return ac;
}
@@ -188,12 +188,13 @@ public class InlineContainerLayoutManage
return getInlineContainer().getOverflow() != EN_ERROR_IF_OVERFLOW;
}
- private int getAlignmentPoint() {
+ private int getAlignmentPoint(int dominantBaseline) {
Length alignmentAdjust = getInlineContainer().getAlignmentAdjust();
int baseline = alignmentAdjust.getEnum();
- if (baseline == Constants.EN_AUTO
- || baseline == Constants.EN_BASELINE) {
+ if (baseline == Constants.EN_AUTO) {
return
getInlineContainerBaselineOffset(getInlineContainer().getAlignmentBaseline());
+ } else if (baseline == Constants.EN_BASELINE) {
+ return getInlineContainerBaselineOffset(dominantBaseline);
} else if (baseline != 0) {
return getInlineContainerBaselineOffset(baseline);
} else {
Added:
xmlgraphics/fop/branches/Temp_InlineContainer/test/layoutengine/standard-testcases/inline-container_dominant-baseline.xml
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_InlineContainer/test/layoutengine/standard-testcases/inline-container_dominant-baseline.xml?rev=1539613&view=auto
==============================================================================
---
xmlgraphics/fop/branches/Temp_InlineContainer/test/layoutengine/standard-testcases/inline-container_dominant-baseline.xml
(added)
+++
xmlgraphics/fop/branches/Temp_InlineContainer/test/layoutengine/standard-testcases/inline-container_dominant-baseline.xml
Thu Nov 7 12:31:31 2013
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+ <info>
+ <p>
+ Checks that the dominant-baseline property on inline-container behaves
properly.
+ </p>
+ </info>
+ <fo>
+ <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="page"
+ page-height="170pt" page-width="220pt" margin="10pt">
+ <fo:region-body/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block
space-after="10pt">dominant-baseline="alphabetic":</fo:block>
+ <fo:block>The line before. The line before. Before:
<fo:inline-container width="100pt"
+ alignment-adjust="baseline">
+ <fo:block>Inside the inline-container.</fo:block>
+ </fo:inline-container> After the inline-container.</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block space-after="10pt">dominant-baseline="central":</fo:block>
+ <fo:block>The line before. The line before. Before:
<fo:inline-container width="100pt"
+ alignment-adjust="baseline" dominant-baseline="central">
+ <fo:block>Inside the inline-container.</fo:block>
+ </fo:inline-container> After the inline-container.</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+ </fo:root>
+ </fo>
+
+ <checks>
+
+ <!-- alphabetic -->
+ <eval expected="28800"
xpath="//pageSequence[1]//flow/block[2]/lineArea[2]/@bpd"/>
+ <eval expected="8664"
xpath="//pageSequence[1]//flow/block[2]/lineArea[2]/text[1]/@offset"/>
+ <eval expected="8616"
xpath="//pageSequence[1]//flow/block[2]/lineArea[2]/text[1]/@baseline"/>
+ <eval expected="28800"
xpath="//pageSequence[1]//flow/block[2]/lineArea[2]/viewport/@bpd"/>
+ <eval expected="0"
xpath="//pageSequence[1]//flow/block[2]/lineArea[2]/viewport/@offset"/>
+
+ <!-- central -->
+ <eval expected="28800"
xpath="//pageSequence[2]//flow/block[2]/lineArea[2]/@bpd"/>
+ <eval expected="5784"
xpath="//pageSequence[2]//flow/block[2]/lineArea[2]/text[1]/@offset"/>
+ <eval expected="8616"
xpath="//pageSequence[2]//flow/block[2]/lineArea[2]/text[1]/@baseline"/>
+ <eval expected="28800"
xpath="//pageSequence[2]//flow/block[2]/lineArea[2]/viewport/@bpd"/>
+ <eval expected="0"
xpath="//pageSequence[2]//flow/block[2]/lineArea[2]/viewport/@offset"/>
+
+ </checks>
+</testcase>
Propchange:
xmlgraphics/fop/branches/Temp_InlineContainer/test/layoutengine/standard-testcases/inline-container_dominant-baseline.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
xmlgraphics/fop/branches/Temp_InlineContainer/test/layoutengine/standard-testcases/inline-container_dominant-baseline.xml
------------------------------------------------------------------------------
svn:keywords = Revision Id
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]