Author: acumiskey
Date: Thu Aug 14 06:37:33 2008
New Revision: 685891

URL: http://svn.apache.org/viewvc?rev=685891&view=rev
Log:
Merged revisions 685573,685785,685879,685885 via svnmerge from 
https://svn.eu.apache.org/repos/asf/xmlgraphics/fop/trunk

........
  r685573 | jeremias | 2008-08-13 15:34:03 +0100 (Wed, 13 Aug 2008) | 1 line
  
  Fixed border trait parsing for the area tree XML when CMYK or ICC colors were 
used.
........
  r685785 | jeremias | 2008-08-14 07:32:52 +0100 (Thu, 14 Aug 2008) | 1 line
  
  Removed three unused classes in the traits package.
........
  r685879 | jeremias | 2008-08-14 14:03:20 +0100 (Thu, 14 Aug 2008) | 2 lines
  
  Fixed the source for a NullPointerException when the content of an fo:leader 
with leader-pattern="use-content" collapses to zero width during layout.
........
  r685885 | acumiskey | 2008-08-14 14:25:54 +0100 (Thu, 14 Aug 2008) | 1 line
  
  Moved static method lightenColor() from PrintRenderer to ColorUtil.  Thats 
one less Renderer interface dependency to worry about :).
........

Removed:
    
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/traits/BlockProps.java
    
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/traits/InlineProps.java
    
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/traits/LayoutProps.java
Modified:
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/   (props changed)
    
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java
    
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/PrintRenderer.java
    
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPRenderer.java
    
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/java2d/Java2DRenderer.java
    
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/pdf/PDFRenderer.java
    
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/ps/PSRenderer.java
    
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/traits/BorderProps.java
    
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/util/ColorUtil.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/status.xml
    
xmlgraphics/fop/branches/Temp_AFPGOCAResources/test/java/org/apache/fop/traits/BorderPropsTestCase.java
    
xmlgraphics/fop/branches/Temp_AFPGOCAResources/test/layoutengine/standard-testcases/leader_leader-pattern_use-content.xml

Propchange: xmlgraphics/fop/branches/Temp_AFPGOCAResources/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Thu Aug 14 06:37:33 2008
@@ -1 +1 @@
-/xmlgraphics/fop/trunk:1-685478
+/xmlgraphics/fop/trunk:1-685885

Modified: 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java?rev=685891&r1=685890&r2=685891&view=diff
==============================================================================
--- 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java
 (original)
+++ 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java
 Thu Aug 14 06:37:33 2008
@@ -183,17 +183,23 @@
             childContext.setAlignmentContext(context.getAlignmentContext());
             contentList = clm.getNextKnuthElements(childContext, 0);
             int width = clm.getStackingSize();
-            Space spacer = null;
-            if (fobj.getLeaderPatternWidth().getValue(this) > width) {
-                spacer = new Space();
-                spacer.setIPD(fobj.getLeaderPatternWidth().getValue(this) - 
width);
-                width = fobj.getLeaderPatternWidth().getValue(this);
+            if (width != 0) {
+                Space spacer = null;
+                if (fobj.getLeaderPatternWidth().getValue(this) > width) {
+                    spacer = new Space();
+                    spacer.setIPD(fobj.getLeaderPatternWidth().getValue(this) 
- width);
+                    width = fobj.getLeaderPatternWidth().getValue(this);
+                }
+                fa.setUnitWidth(width);
+                if (spacer != null) {
+                    fa.addChildArea(spacer);
+                }
+                leaderArea = fa;
+            } else {
+                //Content collapsed to nothing, so use a space
+                leaderArea = new Space();
+                leaderArea.setBPD(1);
             }
-            fa.setUnitWidth(width);
-            if (spacer != null) {
-                fa.addChildArea(spacer);
-            }
-            leaderArea = fa;
         }
         TraitSetter.setProducerID(leaderArea, fobj.getId());
         return leaderArea;

Modified: 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/PrintRenderer.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/PrintRenderer.java?rev=685891&r1=685890&r2=685891&view=diff
==============================================================================
--- 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/PrintRenderer.java
 (original)
+++ 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/PrintRenderer.java
 Thu Aug 14 06:37:33 2008
@@ -20,7 +20,6 @@
 package org.apache.fop.render;
 
 // FOP
-import java.awt.Color;
 import java.awt.geom.Rectangle2D;
 import java.util.List;
 import java.util.Map;
@@ -113,29 +112,6 @@
     }
 
     /**
-     * Lightens up a color for groove, ridge, inset and outset border effects.
-     * @param col the color to lighten up
-     * @param factor factor by which to lighten up (negative values darken the 
color)
-     * @return the modified color
-     */
-    public static Color lightenColor(Color col, float factor) {
-        // TODO: This function converts the color into the sRGB namespace.
-        // This should be avoided if possible.
-        float[] cols = new float[4];
-        cols = col.getRGBComponents(cols);
-        if (factor > 0) {
-            cols[0] += (1.0 - cols[0]) * factor;
-            cols[1] += (1.0 - cols[1]) * factor;
-            cols[2] += (1.0 - cols[2]) * factor;
-        } else {
-            cols[0] -= cols[0] * -factor;
-            cols[1] -= cols[1] * -factor;
-            cols[2] -= cols[2] * -factor;
-        }
-        return new Color(cols[0], cols[1], cols[2], cols[3]);
-    }
-
-    /**
      * Creates a RendererContext for an image.
      * @param x the x coordinate (in millipoints)
      * @param y the y coordinate (in millipoints)

Modified: 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPRenderer.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPRenderer.java?rev=685891&r1=685890&r2=685891&view=diff
==============================================================================
--- 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPRenderer.java
 (original)
+++ 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPRenderer.java
 Thu Aug 14 06:37:33 2008
@@ -78,6 +78,7 @@
 import org.apache.fop.render.afp.fonts.AFPFontCollection;
 import org.apache.fop.render.afp.modca.AFPDataStream;
 import org.apache.fop.render.afp.modca.PageObject;
+import org.apache.fop.util.ColorUtil;
 
 /**
  * This is an implementation of a FOP Renderer that renders areas to AFP.
@@ -502,7 +503,7 @@
 
                 float h3 = height / 3;
                 
-                lineDataInfo.color = lightenColor(col, -colFactor);
+                lineDataInfo.color = ColorUtil.lightenColor(col, -colFactor);
                 lineDataInfo.thickness = Math.round(h3);
                 lineDataInfo.y1 = lineDataInfo.y2 = coords[Y1];
                 afpDataStream.createLine(lineDataInfo);
@@ -511,7 +512,7 @@
                 lineDataInfo.y1 = lineDataInfo.y2 = Math.round(dstPts[Y1] + 
h3);
                 afpDataStream.createLine(lineDataInfo);
                 
-                lineDataInfo.color = lightenColor(col, colFactor);
+                lineDataInfo.color = ColorUtil.lightenColor(col, colFactor);
                 lineDataInfo.y1 = lineDataInfo.y2
                     = Math.round(dstPts[Y1] + h3 + h3);                
                 afpDataStream.createLine(lineDataInfo);
@@ -524,7 +525,7 @@
                 float w3 = width / 3;
                 float xm1 = dstPts[X1] + (w3 / 2);
 
-                lineDataInfo.color = lightenColor(col, -colFactor);
+                lineDataInfo.color = ColorUtil.lightenColor(col, -colFactor);
                 lineDataInfo.x1 = lineDataInfo.x2 = Math.round(xm1);
                 afpDataStream.createLine(lineDataInfo);
                 
@@ -532,7 +533,7 @@
                 lineDataInfo.x1 = lineDataInfo.x2 = Math.round(xm1 + w3);
                 afpDataStream.createLine(lineDataInfo);
 
-                lineDataInfo.color = lightenColor(col, colFactor);
+                lineDataInfo.color = ColorUtil.lightenColor(col, colFactor);
                 lineDataInfo.x1 = lineDataInfo.x2 = Math.round(xm1 + w3 + w3);
                 afpDataStream.createLine(lineDataInfo);
             }

Modified: 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/java2d/Java2DRenderer.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/java2d/Java2DRenderer.java?rev=685891&r1=685890&r2=685891&view=diff
==============================================================================
--- 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/java2d/Java2DRenderer.java
 (original)
+++ 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/java2d/Java2DRenderer.java
 Thu Aug 14 06:37:33 2008
@@ -77,6 +77,7 @@
 import org.apache.fop.render.RendererContext;
 import org.apache.fop.render.pdf.CTMHelper;
 import org.apache.fop.util.CharUtilities;
+import org.apache.fop.util.ColorUtil;
 
 /**
  * The <code>Java2DRenderer</code> class provides the abstract technical
@@ -625,8 +626,8 @@
             case Constants.EN_RIDGE:
                 float colFactor = (style == EN_GROOVE ? 0.4f : -0.4f);
                 if (horz) {
-                    Color uppercol = lightenColor(col, -colFactor);
-                    Color lowercol = lightenColor(col, colFactor);
+                    Color uppercol = ColorUtil.lightenColor(col, -colFactor);
+                    Color lowercol = ColorUtil.lightenColor(col, colFactor);
                     float h3 = h / 3;
                     float ym1 = y1 + (h3 / 2);
                     g2d.setStroke(new BasicStroke(h3));
@@ -637,8 +638,8 @@
                     g2d.setColor(lowercol);
                     g2d.draw(new Line2D.Float(x1, ym1 + h3 + h3, x2, ym1 + h3 
+ h3));
                 } else {
-                    Color leftcol = lightenColor(col, -colFactor);
-                    Color rightcol = lightenColor(col, colFactor);
+                    Color leftcol = ColorUtil.lightenColor(col, -colFactor);
+                    Color rightcol = ColorUtil.lightenColor(col, colFactor);
                     float w3 = w / 3;
                     float xm1 = x1 + (w3 / 2);
                     g2d.setStroke(new BasicStroke(w3));
@@ -654,13 +655,13 @@
             case Constants.EN_OUTSET:
                 colFactor = (style == EN_OUTSET ? 0.4f : -0.4f);
                 if (horz) {
-                    col = lightenColor(col, (startOrBefore ? 1 : -1) * 
colFactor);
+                    col = ColorUtil.lightenColor(col, (startOrBefore ? 1 : -1) 
* colFactor);
                     g2d.setStroke(new BasicStroke(h));
                     float ym1 = y1 + (h / 2);
                     g2d.setColor(col);
                     g2d.draw(new Line2D.Float(x1, ym1, x2, ym1));
                 } else {
-                    col = lightenColor(col, (startOrBefore ? 1 : -1) * 
colFactor);
+                    col = ColorUtil.lightenColor(col, (startOrBefore ? 1 : -1) 
* colFactor);
                     float xm1 = x1 + (w / 2);
                     g2d.setStroke(new BasicStroke(w));
                     g2d.setColor(col);
@@ -830,7 +831,7 @@
         case EN_RIDGE:
             float half = area.getRuleThickness() / 2000f;
 
-            state.updateColor(lightenColor(col, 0.6f));
+            state.updateColor(ColorUtil.lightenColor(col, 0.6f));
             moveTo(startx, starty);
             lineTo(endx, starty);
             lineTo(endx, starty + 2 * half);

Modified: 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/pdf/PDFRenderer.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/pdf/PDFRenderer.java?rev=685891&r1=685890&r2=685891&view=diff
==============================================================================
--- 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/pdf/PDFRenderer.java
 (original)
+++ 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/pdf/PDFRenderer.java
 Thu Aug 14 06:37:33 2008
@@ -117,6 +117,7 @@
 import org.apache.fop.render.RendererContext;
 import org.apache.fop.util.CharUtilities;
 import org.apache.fop.util.ColorProfileUtil;
+import org.apache.fop.util.ColorUtil;
 
 /**
  * Renderer that renders areas to PDF.
@@ -939,8 +940,8 @@
                 float colFactor = (style == EN_GROOVE ? 0.4f : -0.4f);
                 currentStream.add("[] 0 d ");
                 if (horz) {
-                    Color uppercol = lightenColor(col, -colFactor);
-                    Color lowercol = lightenColor(col, colFactor);
+                    Color uppercol = ColorUtil.lightenColor(col, -colFactor);
+                    Color lowercol = ColorUtil.lightenColor(col, colFactor);
                     float h3 = h / 3;
                     currentStream.add(format(h3) + " w\n");
                     float ym1 = y1 + (h3 / 2);
@@ -954,8 +955,8 @@
                     currentStream.add(format(x1) + " " + format(ym1 + h3 + h3) 
+ " m "
                                         + format(x2) + " " + format(ym1 + h3 + 
h3) + " l S\n");
                 } else {
-                    Color leftcol = lightenColor(col, -colFactor);
-                    Color rightcol = lightenColor(col, colFactor);
+                    Color leftcol = ColorUtil.lightenColor(col, -colFactor);
+                    Color rightcol = ColorUtil.lightenColor(col, colFactor);
                     float w3 = w / 3;
                     currentStream.add(format(w3) + " w\n");
                     float xm1 = x1 + (w3 / 2);
@@ -978,14 +979,14 @@
                 currentStream.add("[] 0 d ");
                 Color c = col;
                 if (horz) {
-                    c = lightenColor(c, (startOrBefore ? 1 : -1) * colFactor);
+                    c = ColorUtil.lightenColor(c, (startOrBefore ? 1 : -1) * 
colFactor);
                     currentStream.add(format(h) + " w\n");
                     float ym1 = y1 + (h / 2);
                     setColor(c, false, null);
                     currentStream.add(format(x1) + " " + format(ym1) + " m "
                             + format(x2) + " " + format(ym1) + " l S\n");
                 } else {
-                    c = lightenColor(c, (startOrBefore ? 1 : -1) * colFactor);
+                    c = ColorUtil.lightenColor(c, (startOrBefore ? 1 : -1) * 
colFactor);
                     currentStream.add(format(w) + " w\n");
                     float xm1 = x1 + (w / 2);
                     setColor(c, false, null);
@@ -1773,7 +1774,7 @@
             case EN_RIDGE:
                 float half = area.getRuleThickness() / 2000f;
 
-                setColor(lightenColor(col, 0.6f), true, null);
+                setColor(ColorUtil.lightenColor(col, 0.6f), true, null);
                 currentStream.add(format(startx) + " " + format(starty) + " 
m\n");
                 currentStream.add(format(endx) + " " + format(starty) + " 
l\n");
                 currentStream.add(format(endx) + " " + format(starty + 2 * 
half) + " l\n");

Modified: 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/ps/PSRenderer.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/ps/PSRenderer.java?rev=685891&r1=685890&r2=685891&view=diff
==============================================================================
--- 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/ps/PSRenderer.java
 (original)
+++ 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/ps/PSRenderer.java
 Thu Aug 14 06:37:33 2008
@@ -106,6 +106,7 @@
 import org.apache.fop.render.ps.extensions.PSSetPageDevice;
 import org.apache.fop.render.ps.extensions.PSSetupCode;
 import org.apache.fop.util.CharUtilities;
+import org.apache.fop.util.ColorUtil;
 
 /**
  * Renderer that renders to PostScript.
@@ -839,8 +840,8 @@
                     float colFactor = (style == EN_GROOVE ? 0.4f : -0.4f);
                     gen.useDash(null);
                     if (horz) {
-                        Color uppercol = lightenColor(col, -colFactor);
-                        Color lowercol = lightenColor(col, colFactor);
+                        Color uppercol = ColorUtil.lightenColor(col, 
-colFactor);
+                        Color lowercol = ColorUtil.lightenColor(col, 
colFactor);
                         float h3 = h / 3;
                         gen.useLineWidth(h3);
                         float ym1 = y1 + (h3 / 2);
@@ -851,8 +852,8 @@
                         gen.useColor(lowercol);
                         drawLine(x1, ym1 + h3 + h3, x2, ym1 + h3 + h3);
                     } else {
-                        Color leftcol = lightenColor(col, -colFactor);
-                        Color rightcol = lightenColor(col, colFactor);
+                        Color leftcol = ColorUtil.lightenColor(col, 
-colFactor);
+                        Color rightcol = ColorUtil.lightenColor(col, 
colFactor);
                         float w3 = w / 3;
                         gen.useLineWidth(w3);
                         float xm1 = x1 + (w3 / 2);
@@ -869,13 +870,13 @@
                     colFactor = (style == EN_OUTSET ? 0.4f : -0.4f);
                     gen.useDash(null);
                     if (horz) {
-                        Color c = lightenColor(col, (startOrBefore ? 1 : -1) * 
colFactor);
+                        Color c = ColorUtil.lightenColor(col, (startOrBefore ? 
1 : -1) * colFactor);
                         gen.useLineWidth(h);
                         float ym1 = y1 + (h / 2);
                         gen.useColor(c);
                         drawLine(x1, ym1, x2, ym1);
                     } else {
-                        Color c = lightenColor(col, (startOrBefore ? 1 : -1) * 
colFactor);
+                        Color c = ColorUtil.lightenColor(col, (startOrBefore ? 
1 : -1) * colFactor);
                         gen.useLineWidth(w);
                         float xm1 = x1 + (w / 2);
                         gen.useColor(c);
@@ -1570,7 +1571,7 @@
                 case EN_RIDGE:
                     float half = area.getRuleThickness() / 2000f;
 
-                    gen.useColor(lightenColor(col, 0.6f));
+                    gen.useColor(ColorUtil.lightenColor(col, 0.6f));
                     moveTo(startx, starty);
                     lineTo(endx, starty);
                     lineTo(endx, starty + 2 * half);

Modified: 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/traits/BorderProps.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/traits/BorderProps.java?rev=685891&r1=685890&r2=685891&view=diff
==============================================================================
--- 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/traits/BorderProps.java
 (original)
+++ 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/traits/BorderProps.java
 Thu Aug 14 06:37:33 2008
@@ -21,7 +21,8 @@
 
 import java.awt.Color;
 import java.io.Serializable;
-import java.util.StringTokenizer;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.fo.Constants;
@@ -162,13 +163,19 @@
     public static BorderProps valueOf(FOUserAgent foUserAgent, String s) {
         if (s.startsWith("(") && s.endsWith(")")) {
             s = s.substring(1, s.length() - 1);
-            StringTokenizer st = new StringTokenizer(s, ",");
-            String style = st.nextToken();
-            String color = st.nextToken();
-            int width = Integer.parseInt(st.nextToken());
+            Pattern pattern = Pattern.compile("([^,\\(]+(?:\\(.*\\))?)");
+            Matcher m = pattern.matcher(s);
+            boolean found;
+            found = m.find();
+            String style = m.group();
+            found = m.find();
+            String color = m.group();
+            found = m.find();
+            int width = Integer.parseInt(m.group());
             int mode = SEPARATE;
-            if (st.hasMoreTokens()) {
-                String ms = st.nextToken();
+            found = m.find();
+            if (found) {
+                String ms = m.group();
                 if ("collapse-inner".equalsIgnoreCase(ms)) {
                     mode = COLLAPSE_INNER;
                 } else if ("collapse-outer".equalsIgnoreCase(ms)) {

Modified: 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/util/ColorUtil.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/util/ColorUtil.java?rev=685891&r1=685890&r2=685891&view=diff
==============================================================================
--- 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/util/ColorUtil.java
 (original)
+++ 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/util/ColorUtil.java
 Thu Aug 14 06:37:33 2008
@@ -658,4 +658,27 @@
         colorMap.put("transparent", new Color(0, 0, 0, 0));
     }
 
+    /**
+     * Lightens up a color for groove, ridge, inset and outset border effects.
+     * @param col the color to lighten up
+     * @param factor factor by which to lighten up (negative values darken the 
color)
+     * @return the modified color
+     */
+    public static Color lightenColor(Color col, float factor) {
+        // TODO: This function converts the color into the sRGB namespace.
+        // This should be avoided if possible.
+        float[] cols = new float[4];
+        cols = col.getRGBComponents(cols);
+        if (factor > 0) {
+            cols[0] += (1.0 - cols[0]) * factor;
+            cols[1] += (1.0 - cols[1]) * factor;
+            cols[2] += (1.0 - cols[2]) * factor;
+        } else {
+            cols[0] -= cols[0] * -factor;
+            cols[1] -= cols[1] * -factor;
+            cols[2] -= cols[2] * -factor;
+        }
+        return new Color(cols[0], cols[1], cols[2], cols[3]);
+    }
+
 }

Modified: xmlgraphics/fop/branches/Temp_AFPGOCAResources/status.xml
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AFPGOCAResources/status.xml?rev=685891&r1=685890&r2=685891&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_AFPGOCAResources/status.xml (original)
+++ xmlgraphics/fop/branches/Temp_AFPGOCAResources/status.xml Thu Aug 14 
06:37:33 2008
@@ -53,6 +53,13 @@
 
   <changes>
     <release version="FOP Trunk" date="TBD">
+      <action context="Layout" dev="JM" type="fix">
+        Fixed the source for a NullPointerException when the content of an 
fo:leader with
+        leader-pattern="use-content" collapses to zero width during layout.
+      </action>
+      <action context="Renderers" dev="JM" type="fix">
+        Fixed border trait parsing for the area tree XML when CMYK or ICC 
colors were used.
+      </action>
       <action context="Renderers" dev="JM" type="fix" fixes-bug="45606" 
due-to="Pavel Kysilka">
         Fixed generation of "fonttbl" for RTF output to fix loading problem 
with AbiWord.
       </action>

Modified: 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/test/java/org/apache/fop/traits/BorderPropsTestCase.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AFPGOCAResources/test/java/org/apache/fop/traits/BorderPropsTestCase.java?rev=685891&r1=685890&r2=685891&view=diff
==============================================================================
--- 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/test/java/org/apache/fop/traits/BorderPropsTestCase.java
 (original)
+++ 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/test/java/org/apache/fop/traits/BorderPropsTestCase.java
 Thu Aug 14 06:37:33 2008
@@ -24,6 +24,8 @@
 import junit.framework.TestCase;
 
 import org.apache.fop.fo.Constants;
+import org.apache.fop.util.CMYKColorSpace;
+import org.apache.fop.util.ColorExt;
 import org.apache.fop.util.ColorUtil;
 
 /**
@@ -46,6 +48,11 @@
         BorderProps b2 = BorderProps.valueOf(null, ser);
         assertEquals(b1, b2);
 
+        float[] cmyk = new float[] {1.0f, 1.0f, 0.5f, 1.0f};
+        CMYKColorSpace cmykCs = CMYKColorSpace.getInstance();
+        float[] rgb = cmykCs.toRGB(cmyk);
+        col = ColorExt.createFromFoRgbIcc(rgb[0], rgb[1], rgb[2],
+                null, "#CMYK", cmykCs, cmyk);
         b1 = new BorderProps(Constants.EN_INSET, 9999,
                 col, BorderProps.SEPARATE);
         ser = b1.toString();

Modified: 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/test/layoutengine/standard-testcases/leader_leader-pattern_use-content.xml
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AFPGOCAResources/test/layoutengine/standard-testcases/leader_leader-pattern_use-content.xml?rev=685891&r1=685890&r2=685891&view=diff
==============================================================================
--- 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/test/layoutengine/standard-testcases/leader_leader-pattern_use-content.xml
 (original)
+++ 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/test/layoutengine/standard-testcases/leader_leader-pattern_use-content.xml
 Thu Aug 14 06:37:33 2008
@@ -69,6 +69,10 @@
                 </fo:instream-foreign-object></fo:leader>
               Content is svg 20 x 10 which is wider than the leader-length
           </fo:block>
+          <fo:block>
+            <fo:leader leader-length="36pt" leader-pattern="use-content"> 
</fo:leader>
+            Content is " "
+          </fo:block>
         </fo:flow>
       </fo:page-sequence>
     </fo:root>
@@ -172,5 +176,9 @@
     <eval expected="0" 
xpath="//flow/block[7]/lineArea/inlineparent/inlineparent[1]/@offset"/>
     <eval expected="20000" 
xpath="//flow/block[7]/lineArea/inlineparent/inlineparent[1]/viewport/@ipd"/>
     <eval expected="-1384" 
xpath="//flow/block[7]/lineArea/inlineparent/inlineparent[1]/viewport/@offset"/>
+
+    <eval expected="11100" xpath="//flow/block[8]/lineArea/@bpd"/>
+    <eval expected="36000" xpath="//flow/block[8]/lineArea/space[1]/@ipd"/>
+    <eval expected="0" xpath="//flow/block[8]/lineArea/space[1]/@offset"/>
   </checks>
 </testcase>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to