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-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org