You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by ss...@apache.org on 2018/07/05 11:29:02 UTC
svn commit: r1835125 [2/3] - in /xmlgraphics/fop/branches/Temp_ChangeBars2:
fop-core/src/main/java/org/apache/fop/area/
fop-core/src/main/java/org/apache/fop/area/inline/
fop-core/src/main/java/org/apache/fop/fo/
fop-core/src/main/java/org/apache/fop/f...
Modified: xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/render/AbstractRenderer.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/render/AbstractRenderer.java?rev=1835125&r1=1835124&r2=1835125&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/render/AbstractRenderer.java (original)
+++ xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/render/AbstractRenderer.java Thu Jul 5 11:29:01 2018
@@ -41,6 +41,7 @@ import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.area.Area;
import org.apache.fop.area.BeforeFloat;
import org.apache.fop.area.Block;
+import org.apache.fop.area.BlockParent;
import org.apache.fop.area.BlockViewport;
import org.apache.fop.area.BodyRegion;
import org.apache.fop.area.CTM;
@@ -61,6 +62,7 @@ import org.apache.fop.area.inline.Filled
import org.apache.fop.area.inline.ForeignObject;
import org.apache.fop.area.inline.Image;
import org.apache.fop.area.inline.InlineArea;
+import org.apache.fop.area.inline.InlineBlock;
import org.apache.fop.area.inline.InlineBlockParent;
import org.apache.fop.area.inline.InlineParent;
import org.apache.fop.area.inline.InlineViewport;
@@ -70,7 +72,11 @@ import org.apache.fop.area.inline.SpaceA
import org.apache.fop.area.inline.TextArea;
import org.apache.fop.area.inline.WordArea;
import org.apache.fop.fo.Constants;
+import org.apache.fop.fo.flow.ChangeBar;
+import org.apache.fop.fo.properties.Property;
import org.apache.fop.fonts.FontInfo;
+import org.apache.fop.traits.BorderProps;
+import org.apache.fop.traits.Direction;
import org.apache.fop.traits.Visibility;
/**
@@ -111,7 +117,74 @@ public abstract class AbstractRenderer
*/
protected int containingIPPosition;
- /** the currently active PageViewport */
+ /**
+ * The "start edge" IP Position of the current column (for change bars)
+ */
+ protected int columnStartIPPosition;
+
+ /**
+ * The "end edge" IP Position of the current column (for change bars)
+ */
+ protected int columnEndIPPosition;
+
+ /**
+ * The "left" position of the current column (for change bars)
+ */
+ protected int columnLeftIPPosition;
+
+ /**
+ * The "right" position of the current column (for change bars)
+ */
+ protected int columnRightIPPosition;
+
+ /**
+ * The number of columns in the span (for change bars)
+ */
+ protected int columnCount;
+
+ /**
+ * The index number of the current column (for change bars)
+ */
+ protected int columnIndex;
+
+ /**
+ * The column width (for change bars)
+ */
+ protected int columnWidth;
+
+ /**
+ * The size of column gap (for change bars)
+ */
+ protected int columnGap;
+
+ /**
+ * The block progression direction (for change bars)
+ */
+ protected Direction blockProgressionDirection;
+
+ /**
+ * The inline progression direction (for change bars)
+ */
+ protected Direction inlineProgressionDirection;
+
+ /**
+ * Is binding on start edge of column?
+ */
+ protected boolean bindingOnStartEdge;
+
+ /**
+ * Is binding on end edge of column?
+ */
+ protected boolean bindingOnEndEdge;
+
+ /**
+ * The IP begin offset of coordinate 0
+ */
+ private int beginOffset;
+
+ /**
+ * the currently active PageViewport
+ */
protected PageViewport currentPageViewport;
/* warned XML handlers */
@@ -407,36 +480,95 @@ public abstract class AbstractRenderer
* that are positioned into columns.
* </p>
*
- * @param mr The main reference area
+ * @param mainReference The main reference area
*/
- protected void renderMainReference(MainReference mr) {
+ protected void renderMainReference(MainReference mainReference) {
Span span = null;
- List spans = mr.getSpans();
+ List spans = mainReference.getSpans();
int saveBPPos = currentBPPosition;
- int saveSpanBPPos = saveBPPos;
int saveIPPos = currentIPPosition;
+ int saveSpanBPPos = saveBPPos;
+
for (Object span1 : spans) {
span = (Span) span1;
+
+ columnCount = span.getColumnCount();
+ columnGap = span.getColumnGap();
+ columnWidth = span.getColumnWidth();
+
+ blockProgressionDirection = (Direction) span.getTrait(Trait.BLOCK_PROGRESSION_DIRECTION);
+ inlineProgressionDirection = (Direction) span.getTrait(Trait.INLINE_PROGRESSION_DIRECTION);
+
int level = span.getBidiLevel();
if (level < 0) {
level = 0;
}
if ((level & 1) == 1) {
currentIPPosition += span.getIPD();
- currentIPPosition += mr.getColumnGap();
+ currentIPPosition += columnGap;
}
- for (int c = 0; c < span.getColumnCount(); c++) {
- NormalFlow flow = span.getNormalFlow(c);
+
+ for (columnIndex = 0; columnIndex < columnCount; columnIndex++) {
+
+ NormalFlow flow = span.getNormalFlow(columnIndex);
+
+ boolean isLeftToRight = (inlineProgressionDirection == null)
+ || (inlineProgressionDirection.getEnumValue() == Constants.EN_LR);
+
if (flow != null) {
+
+ // if direction is right to left, then end is left edge,
+ // else end is right edge (for top-bottom/bottom-top block
+ // progression directions)
+
+ // binding edge is on left edge for odd pages and
+ // on right edge for even pages
+
+ int pageIndex = currentPageViewport.getPageIndex();
+
+ bindingOnStartEdge = false;
+ bindingOnEndEdge = false;
+
+ if (isLeftToRight) {
+
+ columnStartIPPosition = 0;
+ columnEndIPPosition = columnWidth;
+ columnLeftIPPosition = 0;
+ columnRightIPPosition = columnWidth;
+
+ if (blockProgressionDirection == null || blockProgressionDirection.isVertical()) {
+ if (pageIndex % 2 == 0) {
+ bindingOnStartEdge = true;
+ } else {
+ bindingOnEndEdge = true;
+ }
+ }
+
+ } else {
+
+ columnStartIPPosition = columnWidth;
+ columnEndIPPosition = 0;
+ columnLeftIPPosition = 0;
+ columnRightIPPosition = columnWidth;
+
+ if (blockProgressionDirection == null || blockProgressionDirection.isVertical()) {
+ if (pageIndex % 2 == 0) {
+ bindingOnEndEdge = true;
+ } else {
+ bindingOnStartEdge = true;
+ }
+ }
+ }
+
currentBPPosition = saveSpanBPPos;
if ((level & 1) == 1) {
currentIPPosition -= flow.getIPD();
- currentIPPosition -= mr.getColumnGap();
+ currentIPPosition -= columnGap;
}
renderFlow(flow);
if ((level & 1) == 0) {
currentIPPosition += flow.getIPD();
- currentIPPosition += mr.getColumnGap();
+ currentIPPosition += columnGap;
}
}
}
@@ -504,7 +636,6 @@ public abstract class AbstractRenderer
endVParea();
// clip if necessary
-
currentIPPosition = saveIP;
currentBPPosition = saveBP;
} else {
@@ -584,6 +715,18 @@ public abstract class AbstractRenderer
*/
protected void renderBlock(Block block) {
assert block != null;
+ List<ChangeBar> changeBarList = block.getChangeBarList();
+
+ if (changeBarList != null && !changeBarList.isEmpty()) {
+ int saveIP = currentIPPosition;
+ int saveBP = currentBPPosition;
+
+ drawChangeBars(block, changeBarList);
+
+ currentIPPosition = saveIP;
+ currentBPPosition = saveBP;
+ }
+
List children = block.getChildAreas();
boolean inNewLayer = false;
if (maybeStartLayer(block)) {
@@ -628,7 +771,17 @@ public abstract class AbstractRenderer
}
/**
+ * Renders an inline block area.
+ *
+ * @param inlineBlock The inline block area
+ */
+ protected void renderInlineBlock(InlineBlock inlineBlock) {
+ renderBlock(inlineBlock.getBlock());
+ }
+
+ /**
* Establish new optional content group layer.
+ *
* @param layer name of layer
*/
protected abstract void startLayer(String layer);
@@ -699,6 +852,11 @@ public abstract class AbstractRenderer
* @param inlineArea inline area text to render
*/
protected void renderInlineArea(InlineArea inlineArea) {
+ List<ChangeBar> changeBarList = inlineArea.getChangeBarList();
+
+ if (changeBarList != null && !changeBarList.isEmpty()) {
+ drawChangeBars(inlineArea, changeBarList);
+ }
if (inlineArea instanceof TextArea) {
renderText((TextArea) inlineArea);
//} else if (inlineArea instanceof Character) {
@@ -707,6 +865,8 @@ public abstract class AbstractRenderer
renderWord((WordArea) inlineArea);
} else if (inlineArea instanceof SpaceArea) {
renderSpace((SpaceArea) inlineArea);
+ } else if (inlineArea instanceof InlineBlock) {
+ renderInlineBlock((InlineBlock) inlineArea);
} else if (inlineArea instanceof InlineParent) {
renderInlineParent((InlineParent) inlineArea);
} else if (inlineArea instanceof InlineBlockParent) {
@@ -757,6 +917,16 @@ public abstract class AbstractRenderer
List children = text.getChildAreas();
int saveIP = currentIPPosition;
int saveBP = currentBPPosition;
+
+ List<ChangeBar> changeBarList = text.getChangeBarList();
+
+ if (changeBarList != null && !changeBarList.isEmpty()) {
+ drawChangeBars(text, changeBarList);
+
+ currentIPPosition = saveIP;
+ currentBPPosition = saveBP;
+ }
+
for (Object aChildren : children) {
InlineArea inline = (InlineArea) aChildren;
renderInlineArea(inline);
@@ -877,6 +1047,11 @@ public abstract class AbstractRenderer
* (todo) Make renderImage() protected
*/
public void renderImage(Image image, Rectangle2D pos) {
+ List<ChangeBar> changeBarList = image.getChangeBarList();
+
+ if (changeBarList != null && !changeBarList.isEmpty()) {
+ drawChangeBars(image, changeBarList);
+ }
// Default: do nothing.
// Some renderers (ex. Text) don't support images.
}
@@ -903,6 +1078,12 @@ public abstract class AbstractRenderer
* (todo) Make renderForeignObject() protected
*/
protected void renderForeignObject(ForeignObject fo, Rectangle2D pos) {
+ List<ChangeBar> changeBarList = fo.getChangeBarList();
+
+ if (changeBarList != null && !changeBarList.isEmpty()) {
+ drawChangeBars(fo, changeBarList);
+ }
+
// Default: do nothing.
// Some renderers (ex. Text) don't support foreign objects.
}
@@ -975,4 +1156,191 @@ public abstract class AbstractRenderer
matrix[5] = Math.round(matrix[5] * 1000);
return new AffineTransform(matrix);
}
+
+ /**
+ * Draws all change bars associated with an area.
+ *
+ * @param area The area to draw change bars for
+ * @param changeBarList The list of change bars affecting the area
+ */
+ protected void drawChangeBars(Area area, List<ChangeBar> changeBarList) {
+
+ if (area.getTraitAsBoolean(Trait.IS_REFERENCE_AREA)) {
+ return;
+ }
+
+ Block changeBarArea;
+
+ int saveIP = currentIPPosition;
+ int saveBP = currentBPPosition;
+
+ int currentColumnStartIP = columnStartIPPosition;
+ int currentColumnEndIP = columnEndIPPosition;
+ int currentColumnLeftIP = columnLeftIPPosition;
+ int currentColumnRightIP = columnRightIPPosition;
+
+ for (ChangeBar changeBar : changeBarList) {
+
+ boolean isLeftToRight = (inlineProgressionDirection == null)
+ || (inlineProgressionDirection.getEnumValue() == Constants.EN_LR);
+
+ changeBarArea = new Block();
+
+ // currentIPPosition is reset to zero so from now on all multicolumn
+ // dimensions has to be calculated relatively to the given column
+ currentIPPosition = 0;
+ currentBPPosition = saveBP;
+
+ int changeBarWidth = changeBar.getWidth().getValue();
+ int changeBarOffset = changeBar.getOffset().getValue();
+
+ if (isLeftToRight) {
+ currentColumnStartIP = columnStartIPPosition - changeBarWidth;
+ currentColumnLeftIP = columnLeftIPPosition - changeBarWidth;
+ } else {
+ currentColumnEndIP = columnEndIPPosition - changeBarWidth;
+ currentColumnLeftIP = columnLeftIPPosition - changeBarWidth;
+ }
+
+ // xOffset by default is negative width for change bars placed on the
+ // start edge (overriden if placement is at the end edge)
+ int xOffset = currentColumnStartIP;
+
+ // xScale is for adding or subtracting the offset of the change bar
+ // depending on placing the bar towards or away from the edge it is
+ // bound to
+ int xScale = -1;
+
+ // determines currentIPPosition based on placement
+ switch (changeBar.getPlacement()) {
+ case EN_START:
+ xOffset = currentColumnStartIP;
+ xScale = -1;
+ break;
+ case EN_END:
+ xOffset = currentColumnEndIP;
+ xScale = 1;
+ break;
+ case EN_LEFT:
+ xOffset = currentColumnLeftIP;
+ xScale = (isLeftToRight) ? -1 : 1;
+ break;
+ case EN_RIGHT:
+ xOffset = currentColumnRightIP;
+ xScale = (isLeftToRight) ? 1 : -1;
+ break;
+ case EN_INSIDE:
+ if (bindingOnStartEdge) {
+ xOffset = currentColumnStartIP;
+ xScale = -1;
+ } else if (bindingOnEndEdge) {
+ xOffset = currentColumnEndIP;
+ xScale = 1;
+ } else {
+ xOffset = currentColumnStartIP;
+ xScale = -1;
+ }
+ break;
+ case EN_OUTSIDE:
+ if (bindingOnStartEdge) {
+ xOffset = columnEndIPPosition;
+ xScale = 1;
+ } else if (bindingOnEndEdge) {
+ xOffset = columnStartIPPosition;
+ xScale = -1;
+ } else {
+ xOffset = columnStartIPPosition;
+ xScale = -1;
+ }
+ break;
+ case EN_ALTERNATE:
+ if (columnCount == 2) {
+ if (columnIndex == 0) {
+ xOffset = columnStartIPPosition;
+ xScale = -1;
+ } else {
+ xOffset = columnEndIPPosition;
+ xScale = 1;
+ }
+ } else {
+ if (bindingOnStartEdge) {
+ xOffset = columnEndIPPosition;
+ xScale = 1;
+ } else if (bindingOnEndEdge) {
+ xOffset = columnStartIPPosition;
+ xScale = -1;
+ } else {
+ xOffset = columnStartIPPosition;
+ xScale = -1;
+ }
+ }
+ break;
+ default:
+ break;
+ }
+
+ if (isLeftToRight) {
+ xOffset += xScale * changeBarOffset;
+ } else {
+ xOffset -= xScale * changeBarOffset;
+ }
+
+ xOffset += getBeginOffset();
+
+ // Change bar area has 0 ipd, class xsl-absolute, no margin or padding
+ changeBarArea.setAreaClass(Area.CLASS_ABSOLUTE);
+ changeBarArea.setIPD(0);
+
+ BorderProps props = BorderProps.makeRectangular(
+ changeBar.getStyle(), changeBarWidth, changeBar.getColor(),
+ BorderProps.Mode.SEPARATE);
+
+ changeBarArea.addTrait(Trait.BORDER_START, props);
+ changeBarArea.addTrait(Trait.BORDER_END, props);
+
+ changeBarArea.setXOffset(xOffset);
+
+ int areaHeight = area.getAllocBPD();
+
+ if (area instanceof BlockParent) {
+ changeBarArea.setBPD(areaHeight);
+ changeBarArea.setYOffset(((BlockParent) area).getYOffset());
+ renderBlock(changeBarArea);
+
+ } else {
+ if (areaHeight > 0) {
+ Property p = changeBar.getLineHeight().getOptimum(DummyPercentBaseContext.getInstance());
+ int lineHeight = p.getLength().getValue();
+ changeBarArea.setBPD(lineHeight);
+ changeBarArea.setYOffset(areaHeight - lineHeight);
+ }
+ renderInlineBlock(new InlineBlock(changeBarArea));
+ }
+
+ // restore position on page
+ currentIPPosition = saveIP;
+ currentBPPosition = saveBP;
+ }
+ }
+
+ /**
+ * Returns the begin offset of the inline begin (changes by reference area
+ * transforms).
+ *
+ * @return the offset from current coordinate system 0 that the IP begin is
+ * at
+ */
+ protected int getBeginOffset() {
+ return beginOffset;
+ }
+
+ /**
+ * Sets the begin offset for inline progression begin (changes by reference
+ * area tranforms).
+ *
+ * @param offset the new offset from IPP 0 that true IP start is at
+ */
+ protected void setBeginOffset(int offset) {
+ beginOffset = offset;
+ }
}
Modified: xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/render/xml/XMLRenderer.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/render/xml/XMLRenderer.java?rev=1835125&r1=1835124&r2=1835125&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/render/xml/XMLRenderer.java (original)
+++ xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/render/xml/XMLRenderer.java Thu Jul 5 11:29:01 2018
@@ -72,6 +72,7 @@ import org.apache.fop.area.inline.Contai
import org.apache.fop.area.inline.ForeignObject;
import org.apache.fop.area.inline.Image;
import org.apache.fop.area.inline.InlineArea;
+import org.apache.fop.area.inline.InlineBlock;
import org.apache.fop.area.inline.InlineBlockParent;
import org.apache.fop.area.inline.InlineParent;
import org.apache.fop.area.inline.InlineViewport;
@@ -692,6 +693,26 @@ public class XMLRenderer extends Abstrac
endElement("block");
}
+ /** {@inheritDoc} */
+ @Override
+ protected void renderInlineBlock(InlineBlock inlineBlock) {
+ Block block = inlineBlock.getBlock();
+ atts.clear();
+ addAreaAttributes(block);
+ addTraitAttributes(block);
+ if (block.getXOffset() != 0) {
+ addAttribute("left-offset", block.getXOffset());
+ }
+ if (block.getYOffset() != 0) {
+ addAttribute("top-offset", block.getYOffset());
+ }
+ startElement("inlineblock", atts);
+ if (block.getChildAreas() != null) {
+ renderBlocks(null, block.getChildAreas());
+ }
+ endElement("inlineblock");
+ }
+
/**
* {@inheritDoc}
*/
@@ -943,6 +964,4 @@ public class XMLRenderer extends Abstrac
addAttribute("reversed", "true");
}
}
-
-
}
Modified: xmlgraphics/fop/branches/Temp_ChangeBars2/fop/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-datatypes.xsd
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ChangeBars2/fop/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-datatypes.xsd?rev=1835125&r1=1835124&r2=1835125&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ChangeBars2/fop/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-datatypes.xsd (original)
+++ xmlgraphics/fop/branches/Temp_ChangeBars2/fop/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-datatypes.xsd Thu Jul 5 11:29:01 2018
@@ -67,6 +67,8 @@
</xs:simpleType>
<xs:simpleType name="borderStyle">
<xs:restriction base="xs:string">
+ <xs:enumeration value="none"/>
+ <xs:enumeration value="hidden"/>
<xs:enumeration value="solid"/>
<xs:enumeration value="dotted"/>
<xs:enumeration value="dashed"/>
@@ -79,6 +81,8 @@
</xs:simpleType>
<xs:simpleType name="ruleStyle">
<xs:restriction base="xs:string">
+ <xs:enumeration value="none"/>
+ <xs:enumeration value="hidden"/>
<xs:enumeration value="solid"/>
<xs:enumeration value="dotted"/>
<xs:enumeration value="dashed"/>
@@ -92,7 +96,7 @@
<!-- TODO refine me: \w+ will not be good enough for CMYK color, for example
<xs:pattern value="\((solid|dotted|dashed|double|groove|ridge|inset|outset),\w+,\d+(,collapse-(inner|outer))?"/>
-->
- <xs:pattern value="\((solid|dotted|dashed|double|groove|ridge|inset|outset),.+\)"/>
+ <xs:pattern value="\((none|hidden|solid|dotted|dashed|double|groove|ridge|inset|outset),.+\)"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="lengthListType">
Added: xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_block.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_block.xml?rev=1835125&view=auto
==============================================================================
--- xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_block.xml (added)
+++ xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_block.xml Thu Jul 5 11:29:01 2018
@@ -0,0 +1,73 @@
+<?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>This test checks fo:change-bar-* on block elements.</p>
+ </info>
+ <fo>
+ <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master page-height="145mm" page-width="210mm" margin="10mm"
+ master-name="master">
+ <fo:region-body column-count="2" column-gap="10mm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="master">
+ <fo:flow flow-name="xsl-region-body">
+
+ <fo:block change-bar-style="solid" change-bar-color="red" change-bar-offset="3mm"
+ change-bar-width="0.3mm">
+
+ <fo:change-bar-begin change-bar-class="global"/>
+ <fo:block id="red-01" color="red">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</fo:block>
+ <fo:change-bar-begin change-bar-class="local-blue" change-bar-color="blue"
+ change-bar-offset="2mm"/>
+ <fo:block id="blue-01" color="blue">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="local-blue"/>
+ <fo:change-bar-begin change-bar-class="local-green" change-bar-color="green"
+ change-bar-offset="2mm"/>
+ <fo:block id="green-01" color="green">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="local-green"/>
+ <fo:block id="red-02" color="red">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="global"/>
+
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+ </fo:root>
+ </fo>
+ <checks>
+ <eval expected="(solid,#ff0000,850)" xpath="//block[@prod-id='red-01']/block[1]/@border-start"/>
+ <eval expected="-9353" xpath="//block[@prod-id='red-01']/block[1]/@left-offset"/>
+ <eval expected="(solid,#ff0000,850)" xpath="//block[@prod-id='blue-01']/block[1]/@border-start"/>
+ <eval expected="-9353" xpath="//block[@prod-id='blue-01']/block[1]/@left-offset"/>
+ <eval expected="(solid,#0000ff,850)" xpath="//block[@prod-id='blue-01']/block[2]/@border-start"/>
+ <eval expected="-6519" xpath="//block[@prod-id='blue-01']/block[2]/@left-offset"/>
+ <eval expected="(solid,#ff0000,850)" xpath="//block[@prod-id='green-01']/block[1]/@border-start"/>
+ <eval expected="-9353" xpath="//block[@prod-id='green-01']/block[1]/@left-offset"/>
+ <eval expected="(solid,#008000,850)" xpath="//block[@prod-id='green-01']/block[2]/@border-start"/>
+ <eval expected="-6519" xpath="//block[@prod-id='green-01']/block[2]/@left-offset"/>
+ <eval expected="(solid,#ff0000,850)" xpath="//block[@prod-id='red-02']/block[1]/@border-start"/>
+ <eval expected="-9353" xpath="//block[@prod-id='red-02']/block[1]/@left-offset"/>
+ </checks>
+</testcase>
Propchange: xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_block.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_inline.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_inline.xml?rev=1835125&view=auto
==============================================================================
--- xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_inline.xml (added)
+++ xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_inline.xml Thu Jul 5 11:29:01 2018
@@ -0,0 +1,81 @@
+<?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>This test checks fo:change-bar-* on inline elements.</p>
+ </info>
+ <fo>
+ <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master page-height="145mm" page-width="210mm" margin="10mm"
+ master-name="master">
+ <fo:region-body column-count="2" column-gap="10mm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="master">
+ <fo:flow flow-name="xsl-region-body">
+
+ <fo:block change-bar-style="solid" change-bar-color="red" change-bar-offset="2mm"
+ change-bar-width="0.3mm">
+
+ <fo:block>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
+ <fo:change-bar-begin change-bar-class="red-01"/><fo:inline id="red-01"
+ color="red">tempor incididunt</fo:inline><fo:change-bar-end
+ change-bar-class="red-01"/> ut labore et dolore magna aliqua.</fo:block>
+
+ <fo:block>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
+ <fo:change-bar-begin change-bar-class="red-02"/><fo:inline id="red-02"
+ color="red">tempor incididunt</fo:inline><fo:change-bar-end
+ change-bar-class="red-02"/> ut labore et <fo:change-bar-begin
+ change-bar-color="blue" change-bar-offset="3mm" change-bar-class="blue-02"
+ /><fo:inline id="blue-02" color="blue">dolore
+ magna</fo:inline><fo:change-bar-end change-bar-class="blue-02"/>
+ aliqua.</fo:block>
+
+ <fo:block>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
+ <fo:change-bar-begin change-bar-class="red-03"/><fo:inline id="red-03-a"
+ color="red">tempor incididunt ut </fo:inline><fo:change-bar-begin
+ change-bar-color="blue" change-bar-offset="3mm" change-bar-class="blue-03"
+ /><fo:inline id="blue-03" color="blue">labore</fo:inline><fo:change-bar-end
+ change-bar-class="blue-03"/><fo:inline id="red-03-b" color="red"> et dolore
+ magna</fo:inline><fo:change-bar-end change-bar-class="red-03"/>
+ aliqua.</fo:block>
+
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+ </fo:root>
+ </fo>
+ <checks>
+ <eval expected="(solid,#ff0000,850)" xpath="//inlineparent[@prod-id='red-01']/inlineblock[1]/@border-start"/>
+ <eval expected="-6519" xpath="//inlineparent[@prod-id='red-01']/inlineblock[1]/@left-offset"/>
+ <eval expected="(solid,#ff0000,850)" xpath="//inlineparent[@prod-id='red-02']/inlineblock[1]/@border-start"/>
+ <eval expected="-6519" xpath="//inlineparent[@prod-id='red-02']/inlineblock[1]/@left-offset"/>
+ <eval expected="(solid,#0000ff,850)" xpath="//inlineparent[@prod-id='blue-02']/inlineblock[1]/@border-start"/>
+ <eval expected="-9353" xpath="//inlineparent[@prod-id='blue-02']/inlineblock[1]/@left-offset"/>
+ <eval expected="(solid,#ff0000,850)" xpath="//inlineparent[@prod-id='red-03-a']/inlineblock[1]/@border-start"/>
+ <eval expected="-6519" xpath="//inlineparent[@prod-id='red-03-a']/inlineblock[1]/@left-offset"/>
+ <eval expected="(solid,#ff0000,850)" xpath="//inlineparent[@prod-id='blue-03']/inlineblock[1]/@border-start"/>
+ <eval expected="-6519" xpath="//inlineparent[@prod-id='blue-03']/inlineblock[1]/@left-offset"/>
+ <eval expected="(solid,#0000ff,850)" xpath="//inlineparent[@prod-id='blue-03']/inlineblock[2]/@border-start"/>
+ <eval expected="-9353" xpath="//inlineparent[@prod-id='blue-03']/inlineblock[2]/@left-offset"/>
+ <eval expected="(solid,#ff0000,850)" xpath="//inlineparent[@prod-id='red-03-b']/inlineblock[1]/@border-start"/>
+ <eval expected="-6519" xpath="//inlineparent[@prod-id='red-03-b']/inlineblock[1]/@left-offset"/>
+ </checks>
+</testcase>
Propchange: xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_inline.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_list.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_list.xml?rev=1835125&view=auto
==============================================================================
--- xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_list.xml (added)
+++ xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_list.xml Thu Jul 5 11:29:01 2018
@@ -0,0 +1,90 @@
+<?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>This test checks fo:change-bar-* on list elements.</p>
+ </info>
+ <fo>
+ <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master page-height="145mm" page-width="210mm" margin="10mm"
+ master-name="master">
+ <fo:region-body column-count="2" column-gap="10mm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="master">
+ <fo:flow flow-name="xsl-region-body">
+
+ <fo:block change-bar-style="solid" change-bar-color="red" change-bar-width="0.3mm"
+ change-bar-offset="3mm">
+ <fo:change-bar-begin change-bar-class="list-block"/>
+ <fo:list-block id="list-block">
+ <fo:change-bar-begin change-bar-class="list-item-first" change-bar-offset="2mm"
+ change-bar-color="green"/>
+ <fo:list-item id="list-item-first">
+ <fo:list-item-label id="list-item-first-label" end-indent="label-end()">
+ <fo:block>1</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body id="list-item-first-body" start-indent="body-start()">
+ <fo:block>First</fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:change-bar-end change-bar-class="list-item-first"/>
+ <fo:list-item id="list-item-second">
+ <fo:change-bar-begin change-bar-class="list-item-second-label"
+ change-bar-offset="2mm" change-bar-color="blue"/>
+ <fo:list-item-label id="list-item-second-label" end-indent="label-end()">
+ <fo:block>2</fo:block>
+ </fo:list-item-label>
+ <fo:change-bar-end change-bar-class="list-item-second-label"/>
+ <fo:change-bar-begin change-bar-class="list-item-second-body" change-bar-offset="1mm"
+ change-bar-color="magenta"/>
+ <fo:list-item-body id="list-item-second-body" start-indent="body-start()">
+ <fo:block>Second</fo:block>
+ </fo:list-item-body>
+ <fo:change-bar-end change-bar-class="list-item-second-body"/>
+ </fo:list-item>
+ </fo:list-block>
+ <fo:change-bar-end change-bar-class="list-block"/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+ </fo:root>
+ </fo>
+ <checks>
+ <!-- the first -->
+ <eval expected="(solid,#ff0000,850)" xpath="//block[@prod-id='list-item-first-label']/block[1]/block[1]/@border-start"/>
+ <eval expected="-9353" xpath="//block[@prod-id='list-item-first-label']/block[1]/block[1]/@left-offset"/>
+ <eval expected="(solid,#008000,850)" xpath="//block[@prod-id='list-item-first-label']/block[1]/block[2]/@border-start"/>
+ <eval expected="-6519" xpath="//block[@prod-id='list-item-first-label']/block[1]/block[2]/@left-offset"/>
+ <eval expected="(solid,#ff0000,850)" xpath="//block[@prod-id='list-item-first-body']/block[1]/block[1]/@border-start"/>
+ <eval expected="-9353" xpath="//block[@prod-id='list-item-first-body']/block[1]/block[1]/@left-offset"/>
+ <eval expected="(solid,#008000,850)" xpath="//block[@prod-id='list-item-first-body']/block[1]/block[2]/@border-start"/>
+ <eval expected="-6519" xpath="//block[@prod-id='list-item-first-body']/block[1]/block[2]/@left-offset"/>
+ <!-- the second -->
+ <eval expected="(solid,#ff0000,850)" xpath="//block[@prod-id='list-item-second-label']/block[1]/block[1]/@border-start"/>
+ <eval expected="-9353" xpath="//block[@prod-id='list-item-second-label']/block[1]/block[1]/@left-offset"/>
+ <eval expected="(solid,#0000ff,850)" xpath="//block[@prod-id='list-item-second-label']/block[1]/block[2]/@border-start"/>
+ <eval expected="-6519" xpath="//block[@prod-id='list-item-second-label']/block[1]/block[2]/@left-offset"/>
+ <eval expected="(solid,#ff0000,850)" xpath="//block[@prod-id='list-item-second-body']/block[1]/block[1]/@border-start"/>
+ <eval expected="-9353" xpath="//block[@prod-id='list-item-second-body']/block[1]/block[1]/@left-offset"/>
+ <eval expected="(solid,#ff00ff,850)" xpath="//block[@prod-id='list-item-second-body']/block[1]/block[2]/@border-start"/>
+ <eval expected="-3684" xpath="//block[@prod-id='list-item-second-body']/block[1]/block[2]/@left-offset"/>
+ </checks>
+</testcase>
Propchange: xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_list.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_overlapped.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_overlapped.xml?rev=1835125&view=auto
==============================================================================
--- xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_overlapped.xml (added)
+++ xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_overlapped.xml Thu Jul 5 11:29:01 2018
@@ -0,0 +1,95 @@
+<?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>This test checks fo:change-bar-* on list elements.</p>
+ </info>
+ <fo>
+ <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master page-height="145mm" page-width="210mm" margin="10mm"
+ master-name="master">
+ <fo:region-body column-count="2" column-gap="10mm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="master">
+ <fo:flow flow-name="xsl-region-body">
+
+ <fo:block change-bar-style="solid" change-bar-color="red" change-bar-offset="2mm"
+ change-bar-width="0.3mm">
+
+ <fo:block>
+ <fo:change-bar-begin change-bar-class="first-half"/><fo:inline color="red"
+ id="first-half">January February March April May </fo:inline><fo:change-bar-begin
+ change-bar-class="summer" change-bar-color="green" change-bar-offset="1mm"
+ /><fo:inline color="brown" id="june-inline">June</fo:inline><fo:change-bar-end
+ change-bar-class="first-half"/><fo:inline color="green" id="summer"> July
+ August</fo:inline><fo:change-bar-end change-bar-class="summer"/> September October
+ November December</fo:block>
+
+ <fo:change-bar-begin change-bar-class="first-half"/>
+ <fo:block id="january">January</fo:block>
+ <fo:block id="february">February</fo:block>
+ <fo:block id="march">March</fo:block>
+ <fo:wrapper color="red">
+ <fo:block id="april">April</fo:block>
+ <fo:block id="may">May</fo:block>
+ </fo:wrapper>
+ <fo:change-bar-begin change-bar-class="summer" change-bar-color="green"
+ change-bar-offset="1mm"/>
+ <fo:wrapper color="brown">
+ <fo:block id="june-block">June</fo:block>
+ </fo:wrapper>
+ <fo:change-bar-end change-bar-class="first-half"/>
+ <fo:wrapper color="red">
+ <fo:block id="july">July</fo:block>
+ <fo:block id="august">August</fo:block>
+ </fo:wrapper>
+ <fo:change-bar-end change-bar-class="summer"/>
+ <fo:block id="september">September</fo:block>
+ <fo:block id="october">October</fo:block>
+ <fo:block id="november">November</fo:block>
+ <fo:block id="december">December</fo:block>
+
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+ </fo:root>
+ </fo>
+ <checks>
+ <!-- inline -->
+ <eval expected="(solid,#ff0000,850)" xpath="//inlineparent[@prod-id='first-half']/inlineblock[1]/@border-start"/>
+ <eval expected="-6519" xpath="//inlineparent[@prod-id='first-half']/inlineblock[1]/@left-offset"/>
+ <eval expected="(solid,#ff0000,850)" xpath="//inlineparent[@prod-id='june-inline']/inlineblock[1]/@border-start"/>
+ <eval expected="-6519" xpath="//inlineparent[@prod-id='june-inline']/inlineblock[1]/@left-offset"/>
+ <eval expected="(solid,#008000,850)" xpath="//inlineparent[@prod-id='june-inline']/inlineblock[2]/@border-start"/>
+ <eval expected="-3684" xpath="//inlineparent[@prod-id='june-inline']/inlineblock[2]/@left-offset"/>
+ <eval expected="(solid,#008000,850)" xpath="//lineArea[2]/inlineparent[@prod-id='summer']/inlineblock[1]/@border-start"/>
+ <eval expected="-3684" xpath="//lineArea[2]/inlineparent[@prod-id='summer']/inlineblock[1]/@left-offset"/>
+ <!-- block -->
+ <eval expected="(solid,#ff0000,850)" xpath="//block[@prod-id='may']/block[1]/@border-start"/>
+ <eval expected="-6519" xpath="//block[@prod-id='may']/block[1]/@left-offset"/>
+ <eval expected="(solid,#ff0000,850)" xpath="//block[@prod-id='june-block']/block[1]/@border-start"/>
+ <eval expected="-6519" xpath="//block[@prod-id='june-block']/block[1]/@left-offset"/>
+ <eval expected="(solid,#008000,850)" xpath="//block[@prod-id='june-block']/block[2]/@border-start"/>
+ <eval expected="-3684" xpath="//block[@prod-id='june-block']/block[2]/@left-offset"/>
+ <eval expected="(solid,#008000,850)" xpath="//block[@prod-id='july']/block[1]/@border-start"/>
+ <eval expected="-3684" xpath="//block[@prod-id='july']/block[1]/@left-offset"/>
+ </checks>
+</testcase>
Propchange: xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_overlapped.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_placement-rtl.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_placement-rtl.xml?rev=1835125&view=auto
==============================================================================
--- xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_placement-rtl.xml (added)
+++ xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_placement-rtl.xml Thu Jul 5 11:29:01 2018
@@ -0,0 +1,226 @@
+<?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>This test checks fo:change-bar-start placement.</p>
+ </info>
+ <fo>
+ <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master page-height="145mm" page-width="210mm" margin="10mm"
+ master-name="master">
+ <fo:region-body column-count="2" column-gap="10mm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="master" writing-mode="rl-tb">
+ <fo:flow flow-name="xsl-region-body">
+
+ <fo:block change-bar-style="solid" change-bar-color="red" change-bar-offset="2mm"
+ change-bar-width="0.3mm">
+
+ <fo:change-bar-begin change-bar-class="left" change-bar-placement="left"/>
+ <fo:block id="page1-col1-left">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="left"/>
+
+ <fo:change-bar-begin change-bar-class="right" change-bar-placement="right"/>
+ <fo:block id="page1-col1-right">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="right"/>
+
+ <fo:change-bar-begin change-bar-class="start" change-bar-placement="start"/>
+ <fo:block id="page1-col1-start">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="start"/>
+
+ <fo:change-bar-begin change-bar-class="end" change-bar-placement="end"/>
+ <fo:block id="page1-col1-end">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="end"/>
+
+ <fo:change-bar-begin change-bar-class="inside" change-bar-placement="inside"/>
+ <fo:block id="page1-col1-inside">Lorem ipsum dolor sit amet, consectetur
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="inside"/>
+
+ <fo:change-bar-begin change-bar-class="outside" change-bar-placement="outside"/>
+ <fo:block id="page1-col1-outside">Lorem ipsum dolor sit amet, consectetur
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="outside"/>
+
+ <fo:change-bar-begin change-bar-class="left" change-bar-placement="left"/>
+ <fo:block id="page1-col2-left">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="left"/>
+
+ <fo:change-bar-begin change-bar-class="right" change-bar-placement="right"/>
+ <fo:block id="page1-col2-right">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="right"/>
+
+ <fo:change-bar-begin change-bar-class="start" change-bar-placement="start"/>
+ <fo:block id="page1-col2-start">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="start"/>
+
+ <fo:change-bar-begin change-bar-class="end" change-bar-placement="end"/>
+ <fo:block id="page1-col2-end">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="end"/>
+
+ <fo:change-bar-begin change-bar-class="inside" change-bar-placement="inside"/>
+ <fo:block id="page1-col2-inside">Lorem ipsum dolor sit amet, consectetur
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="inside"/>
+
+ <fo:change-bar-begin change-bar-class="outside" change-bar-placement="outside"/>
+ <fo:block id="page1-col2-outside">Lorem ipsum dolor sit amet, consectetur
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="outside"/>
+
+ <fo:change-bar-begin change-bar-class="left" change-bar-placement="left"/>
+ <fo:block id="page2-col1-left">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="left"/>
+
+ <fo:change-bar-begin change-bar-class="right" change-bar-placement="right"/>
+ <fo:block id="page2-col1-right">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="right"/>
+
+ <fo:change-bar-begin change-bar-class="start" change-bar-placement="start"/>
+ <fo:block id="page2-col1-start">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="start"/>
+
+ <fo:change-bar-begin change-bar-class="end" change-bar-placement="end"/>
+ <fo:block id="page2-col1-end">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="end"/>
+
+ <fo:change-bar-begin change-bar-class="inside" change-bar-placement="inside"/>
+ <fo:block id="page2-col1-inside">Lorem ipsum dolor sit amet, consectetur
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="inside"/>
+
+ <fo:change-bar-begin change-bar-class="outside" change-bar-placement="outside"/>
+ <fo:block id="page2-col1-outside">Lorem ipsum dolor sit amet, consectetur
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="outside"/>
+
+ <fo:change-bar-begin change-bar-class="left" change-bar-placement="left"/>
+ <fo:block id="page2-col2-left">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="left"/>
+
+ <fo:change-bar-begin change-bar-class="right" change-bar-placement="right"/>
+ <fo:block id="page2-col2-right">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="right"/>
+
+ <fo:change-bar-begin change-bar-class="start" change-bar-placement="start"/>
+ <fo:block id="page2-col2-start">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="start"/>
+
+ <fo:change-bar-begin change-bar-class="end" change-bar-placement="end"/>
+ <fo:block id="page2-col2-end">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="end"/>
+
+ <fo:change-bar-begin change-bar-class="inside" change-bar-placement="inside"/>
+ <fo:block id="page2-col2-inside">Lorem ipsum dolor sit amet, consectetur
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="inside"/>
+
+ <fo:change-bar-begin change-bar-class="outside" change-bar-placement="outside"/>
+ <fo:block id="page2-col2-outside">Lorem ipsum dolor sit amet, consectetur
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="outside"/>
+
+ <fo:change-bar-begin change-bar-class="alternate" change-bar-placement="alternate"/>
+ <fo:block id="page3-col1-alternate">Lorem ipsum dolor sit amet, consectetur
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:block id="page3-col2-alternate" break-before="column">Lorem ipsum dolor sit
+ amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
+ et dolore magna aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="alternate"/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+ </fo:root>
+ </fo>
+ <checks>
+ <eval expected="-6519" xpath="//block[@prod-id='page1-col1-left']/block[1]/@left-offset"/>
+ <eval expected="5669" xpath="//block[@prod-id='page1-col1-right']/block[1]/@left-offset"/>
+ <eval expected="-6519" xpath="//block[@prod-id='page1-col1-start']/block[1]/@left-offset"/>
+ <eval expected="5669" xpath="//block[@prod-id='page1-col1-end']/block[1]/@left-offset"/>
+ <eval expected="-6519" xpath="//block[@prod-id='page1-col1-inside']/block[1]/@left-offset"/>
+ <eval expected="-5669" xpath="//block[@prod-id='page1-col1-outside']/block[1]/@left-offset"/>
+
+ <eval expected="-6519" xpath="//block[@prod-id='page1-col2-left']/block[1]/@left-offset"/>
+ <eval expected="5669" xpath="//block[@prod-id='page1-col2-right']/block[1]/@left-offset"/>
+ <eval expected="-6519" xpath="//block[@prod-id='page1-col2-start']/block[1]/@left-offset"/>
+ <eval expected="5669" xpath="//block[@prod-id='page1-col2-end']/block[1]/@left-offset"/>
+ <eval expected="-6519" xpath="//block[@prod-id='page1-col2-inside']/block[1]/@left-offset"/>
+ <eval expected="-5669" xpath="//block[@prod-id='page1-col2-outside']/block[1]/@left-offset"/>
+
+ <eval expected="-6519" xpath="//block[@prod-id='page2-col1-left']/block[1]/@left-offset"/>
+ <eval expected="5669" xpath="//block[@prod-id='page2-col1-right']/block[1]/@left-offset"/>
+ <eval expected="-6519" xpath="//block[@prod-id='page2-col1-start']/block[1]/@left-offset"/>
+ <eval expected="5669" xpath="//block[@prod-id='page2-col1-end']/block[1]/@left-offset"/>
+ <eval expected="-6519" xpath="//block[@prod-id='page2-col1-inside']/block[1]/@left-offset"/>
+ <eval expected="-5669" xpath="//block[@prod-id='page2-col1-outside']/block[1]/@left-offset"/>
+
+ <eval expected="-6519" xpath="//block[@prod-id='page2-col2-left']/block[1]/@left-offset"/>
+ <eval expected="5669" xpath="//block[@prod-id='page2-col2-right']/block[1]/@left-offset"/>
+ <eval expected="-6519" xpath="//block[@prod-id='page2-col2-start']/block[1]/@left-offset"/>
+ <eval expected="5669" xpath="//block[@prod-id='page2-col2-end']/block[1]/@left-offset"/>
+ <eval expected="-6519" xpath="//block[@prod-id='page2-col2-inside']/block[1]/@left-offset"/>
+ <eval expected="-5669" xpath="//block[@prod-id='page2-col2-outside']/block[1]/@left-offset"/>
+
+ <eval expected="-5669" xpath="//block[@prod-id='page3-col1-alternate']/block[1]/@left-offset"/>
+ <eval expected="-5669" xpath="//block[@prod-id='page3-col2-alternate']/block[1]/@left-offset"/>
+ </checks>
+</testcase>
Propchange: xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_placement-rtl.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_placement.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_placement.xml?rev=1835125&view=auto
==============================================================================
--- xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_placement.xml (added)
+++ xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_placement.xml Thu Jul 5 11:29:01 2018
@@ -0,0 +1,226 @@
+<?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>This test checks fo:change-bar-start placement.</p>
+ </info>
+ <fo>
+ <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master page-height="145mm" page-width="210mm" margin="10mm"
+ master-name="master">
+ <fo:region-body column-count="2" column-gap="10mm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="master">
+ <fo:flow flow-name="xsl-region-body">
+
+ <fo:block change-bar-style="solid" change-bar-color="red" change-bar-offset="2mm"
+ change-bar-width="0.3mm">
+
+ <fo:change-bar-begin change-bar-class="left" change-bar-placement="left"/>
+ <fo:block id="page1-col1-left">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="left"/>
+
+ <fo:change-bar-begin change-bar-class="right" change-bar-placement="right"/>
+ <fo:block id="page1-col1-right">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="right"/>
+
+ <fo:change-bar-begin change-bar-class="start" change-bar-placement="start"/>
+ <fo:block id="page1-col1-start">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="start"/>
+
+ <fo:change-bar-begin change-bar-class="end" change-bar-placement="end"/>
+ <fo:block id="page1-col1-end">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="end"/>
+
+ <fo:change-bar-begin change-bar-class="inside" change-bar-placement="inside"/>
+ <fo:block id="page1-col1-inside">Lorem ipsum dolor sit amet, consectetur
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="inside"/>
+
+ <fo:change-bar-begin change-bar-class="outside" change-bar-placement="outside"/>
+ <fo:block id="page1-col1-outside">Lorem ipsum dolor sit amet, consectetur
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="outside"/>
+
+ <fo:change-bar-begin change-bar-class="left" change-bar-placement="left"/>
+ <fo:block id="page1-col2-left">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="left"/>
+
+ <fo:change-bar-begin change-bar-class="right" change-bar-placement="right"/>
+ <fo:block id="page1-col2-right">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="right"/>
+
+ <fo:change-bar-begin change-bar-class="start" change-bar-placement="start"/>
+ <fo:block id="page1-col2-start">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="start"/>
+
+ <fo:change-bar-begin change-bar-class="end" change-bar-placement="end"/>
+ <fo:block id="page1-col2-end">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="end"/>
+
+ <fo:change-bar-begin change-bar-class="inside" change-bar-placement="inside"/>
+ <fo:block id="page1-col2-inside">Lorem ipsum dolor sit amet, consectetur
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="inside"/>
+
+ <fo:change-bar-begin change-bar-class="outside" change-bar-placement="outside"/>
+ <fo:block id="page1-col2-outside">Lorem ipsum dolor sit amet, consectetur
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="outside"/>
+
+ <fo:change-bar-begin change-bar-class="left" change-bar-placement="left"/>
+ <fo:block id="page2-col1-left">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="left"/>
+
+ <fo:change-bar-begin change-bar-class="right" change-bar-placement="right"/>
+ <fo:block id="page2-col1-right">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="right"/>
+
+ <fo:change-bar-begin change-bar-class="start" change-bar-placement="start"/>
+ <fo:block id="page2-col1-start">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="start"/>
+
+ <fo:change-bar-begin change-bar-class="end" change-bar-placement="end"/>
+ <fo:block id="page2-col1-end">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="end"/>
+
+ <fo:change-bar-begin change-bar-class="inside" change-bar-placement="inside"/>
+ <fo:block id="page2-col1-inside">Lorem ipsum dolor sit amet, consectetur
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="inside"/>
+
+ <fo:change-bar-begin change-bar-class="outside" change-bar-placement="outside"/>
+ <fo:block id="page2-col1-outside">Lorem ipsum dolor sit amet, consectetur
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="outside"/>
+
+ <fo:change-bar-begin change-bar-class="left" change-bar-placement="left"/>
+ <fo:block id="page2-col2-left">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="left"/>
+
+ <fo:change-bar-begin change-bar-class="right" change-bar-placement="right"/>
+ <fo:block id="page2-col2-right">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="right"/>
+
+ <fo:change-bar-begin change-bar-class="start" change-bar-placement="start"/>
+ <fo:block id="page2-col2-start">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="start"/>
+
+ <fo:change-bar-begin change-bar-class="end" change-bar-placement="end"/>
+ <fo:block id="page2-col2-end">Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="end"/>
+
+ <fo:change-bar-begin change-bar-class="inside" change-bar-placement="inside"/>
+ <fo:block id="page2-col2-inside">Lorem ipsum dolor sit amet, consectetur
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="inside"/>
+
+ <fo:change-bar-begin change-bar-class="outside" change-bar-placement="outside"/>
+ <fo:block id="page2-col2-outside">Lorem ipsum dolor sit amet, consectetur
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="outside"/>
+
+ <fo:change-bar-begin change-bar-class="alternate" change-bar-placement="alternate"/>
+ <fo:block id="page3-col1-alternate">Lorem ipsum dolor sit amet, consectetur
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua.</fo:block>
+ <fo:block id="page3-col2-alternate" break-before="column">Lorem ipsum dolor sit
+ amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
+ et dolore magna aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="alternate"/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+ </fo:root>
+ </fo>
+ <checks>
+ <eval expected="-6519" xpath="//block[@prod-id='page1-col1-left']/block[1]/@left-offset"/>
+ <eval expected="5669" xpath="//block[@prod-id='page1-col1-right']/block[1]/@left-offset"/>
+ <eval expected="-6519" xpath="//block[@prod-id='page1-col1-start']/block[1]/@left-offset"/>
+ <eval expected="5669" xpath="//block[@prod-id='page1-col1-end']/block[1]/@left-offset"/>
+ <eval expected="-6519" xpath="//block[@prod-id='page1-col1-inside']/block[1]/@left-offset"/>
+ <eval expected="-5669" xpath="//block[@prod-id='page1-col1-outside']/block[1]/@left-offset"/>
+
+ <eval expected="-6519" xpath="//block[@prod-id='page1-col2-left']/block[1]/@left-offset"/>
+ <eval expected="5669" xpath="//block[@prod-id='page1-col2-right']/block[1]/@left-offset"/>
+ <eval expected="-6519" xpath="//block[@prod-id='page1-col2-start']/block[1]/@left-offset"/>
+ <eval expected="5669" xpath="//block[@prod-id='page1-col2-end']/block[1]/@left-offset"/>
+ <eval expected="-6519" xpath="//block[@prod-id='page1-col2-inside']/block[1]/@left-offset"/>
+ <eval expected="-5669" xpath="//block[@prod-id='page1-col2-outside']/block[1]/@left-offset"/>
+
+ <eval expected="-6519" xpath="//block[@prod-id='page2-col1-left']/block[1]/@left-offset"/>
+ <eval expected="5669" xpath="//block[@prod-id='page2-col1-right']/block[1]/@left-offset"/>
+ <eval expected="-6519" xpath="//block[@prod-id='page2-col1-start']/block[1]/@left-offset"/>
+ <eval expected="5669" xpath="//block[@prod-id='page2-col1-end']/block[1]/@left-offset"/>
+ <eval expected="-6519" xpath="//block[@prod-id='page2-col1-inside']/block[1]/@left-offset"/>
+ <eval expected="-5669" xpath="//block[@prod-id='page2-col1-outside']/block[1]/@left-offset"/>
+
+ <eval expected="-6519" xpath="//block[@prod-id='page2-col2-left']/block[1]/@left-offset"/>
+ <eval expected="5669" xpath="//block[@prod-id='page2-col2-right']/block[1]/@left-offset"/>
+ <eval expected="-6519" xpath="//block[@prod-id='page2-col2-start']/block[1]/@left-offset"/>
+ <eval expected="5669" xpath="//block[@prod-id='page2-col2-end']/block[1]/@left-offset"/>
+ <eval expected="-6519" xpath="//block[@prod-id='page2-col2-inside']/block[1]/@left-offset"/>
+ <eval expected="-5669" xpath="//block[@prod-id='page2-col2-outside']/block[1]/@left-offset"/>
+
+ <eval expected="-5669" xpath="//block[@prod-id='page3-col1-alternate']/block[1]/@left-offset"/>
+ <eval expected="-5669" xpath="//block[@prod-id='page3-col2-alternate']/block[1]/@left-offset"/>
+ </checks>
+</testcase>
Propchange: xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_placement.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_style.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_style.xml?rev=1835125&view=auto
==============================================================================
--- xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_style.xml (added)
+++ xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_style.xml Thu Jul 5 11:29:01 2018
@@ -0,0 +1,102 @@
+<?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>This test checks fo:change-bar-start style.</p>
+ </info>
+ <fo>
+ <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master page-height="145mm" page-width="210mm" margin="10mm"
+ master-name="master">
+ <fo:region-body column-count="2" column-gap="10mm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="master">
+ <fo:flow flow-name="xsl-region-body">
+
+ <fo:block change-bar-color="red" change-bar-offset="2mm" change-bar-width="1mm">
+
+ <fo:change-bar-begin change-bar-class="none" change-bar-style="none"/>
+ <fo:block id="none">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
+ do eiusmod tempor incididunt ut labore et dolore magna aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="none"/>
+
+ <fo:change-bar-begin change-bar-class="hidden" change-bar-style="hidden"/>
+ <fo:block id="hidden">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
+ do eiusmod tempor incididunt ut labore et dolore magna aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="hidden"/>
+
+ <fo:change-bar-begin change-bar-class="dotted" change-bar-style="dotted"/>
+ <fo:block id="dotted">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
+ do eiusmod tempor incididunt ut labore et dolore magna aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="dotted"/>
+
+ <fo:change-bar-begin change-bar-class="dashed" change-bar-style="dashed"/>
+ <fo:block id="dashed">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
+ do eiusmod tempor incididunt ut labore et dolore magna aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="dashed"/>
+
+ <fo:change-bar-begin change-bar-class="solid" change-bar-style="solid"/>
+ <fo:block id="solid">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
+ do eiusmod tempor incididunt ut labore et dolore magna aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="solid"/>
+
+ <fo:change-bar-begin change-bar-class="double" change-bar-style="double"/>
+ <fo:block id="double">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
+ do eiusmod tempor incididunt ut labore et dolore magna aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="double"/>
+
+ <fo:change-bar-begin change-bar-class="groove" change-bar-style="groove"/>
+ <fo:block id="groove">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
+ do eiusmod tempor incididunt ut labore et dolore magna aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="groove"/>
+
+ <fo:change-bar-begin change-bar-class="ridge" change-bar-style="ridge"/>
+ <fo:block id="ridge">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
+ do eiusmod tempor incididunt ut labore et dolore magna aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="ridge"/>
+
+ <fo:change-bar-begin change-bar-class="inset" change-bar-style="inset"/>
+ <fo:block id="inset">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
+ do eiusmod tempor incididunt ut labore et dolore magna aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="inset"/>
+
+ <fo:change-bar-begin change-bar-class="outset" change-bar-style="outset"/>
+ <fo:block id="outset">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
+ do eiusmod tempor incididunt ut labore et dolore magna aliqua.</fo:block>
+ <fo:change-bar-end change-bar-class="outset"/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+ </fo:root>
+ </fo>
+ <checks>
+ <eval expected="(none,#ff0000,2834)" xpath="//block[@prod-id='none']/block[1]/@border-start"/>
+ <eval expected="(hidden,#ff0000,2834)" xpath="//block[@prod-id='hidden']/block[1]/@border-start"/>
+ <eval expected="(dotted,#ff0000,2834)" xpath="//block[@prod-id='dotted']/block[1]/@border-start"/>
+ <eval expected="(dashed,#ff0000,2834)" xpath="//block[@prod-id='dashed']/block[1]/@border-start"/>
+ <eval expected="(solid,#ff0000,2834)" xpath="//block[@prod-id='solid']/block[1]/@border-start"/>
+ <eval expected="(double,#ff0000,2834)" xpath="//block[@prod-id='double']/block[1]/@border-start"/>
+ <eval expected="(groove,#ff0000,2834)" xpath="//block[@prod-id='groove']/block[1]/@border-start"/>
+ <eval expected="(ridge,#ff0000,2834)" xpath="//block[@prod-id='ridge']/block[1]/@border-start"/>
+ <eval expected="(inset,#ff0000,2834)" xpath="//block[@prod-id='inset']/block[1]/@border-start"/>
+ <eval expected="(outset,#ff0000,2834)" xpath="//block[@prod-id='outset']/block[1]/@border-start"/>
+ </checks>
+</testcase>
Propchange: xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_style.xml
------------------------------------------------------------------------------
svn:eol-style = native
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org