Author: vhennebert
Date: Thu Jul 10 17:35:52 2014
New Revision: 1609516
URL: http://svn.apache.org/r1609516
Log:
Factorized check for transparent colors out of gradient-handling code
Modified:
xmlgraphics/fop/branches/FOP-2393_gradient-rendering/src/java/org/apache/fop/svg/PDFGraphics2D.java
Modified:
xmlgraphics/fop/branches/FOP-2393_gradient-rendering/src/java/org/apache/fop/svg/PDFGraphics2D.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/FOP-2393_gradient-rendering/src/java/org/apache/fop/svg/PDFGraphics2D.java?rev=1609516&r1=1609515&r2=1609516&view=diff
==============================================================================
---
xmlgraphics/fop/branches/FOP-2393_gradient-rendering/src/java/org/apache/fop/svg/PDFGraphics2D.java
(original)
+++
xmlgraphics/fop/branches/FOP-2393_gradient-rendering/src/java/org/apache/fop/svg/PDFGraphics2D.java
Thu Jul 10 17:35:52 2014
@@ -817,10 +817,10 @@ public class PDFGraphics2D extends Abstr
new Color[] {gpaint.getColor1(), gpaint.getColor2()},
gpaint.isCyclic() ? LinearGradientPaint.REPEAT :
LinearGradientPaint.NO_CYCLE);
}
- if (paint instanceof LinearGradientPaint) {
+ if (paint instanceof LinearGradientPaint &&
!gradientContainsTransparency((LinearGradientPaint) paint)) {
return applyLinearGradient(paint, fill);
}
- if (paint instanceof RadialGradientPaint) {
+ if (paint instanceof RadialGradientPaint &&
!gradientContainsTransparency((RadialGradientPaint) paint)) {
return applyRadialGradient(paint, fill);
}
if (paint instanceof PatternPaint) {
@@ -830,6 +830,15 @@ public class PDFGraphics2D extends Abstr
return false; // unknown paint
}
+ private boolean gradientContainsTransparency(MultipleGradientPaint
gradient) {
+ for (Color color : gradient.getColors()) {
+ if (color.getAlpha() != 255) {
+ return true;
+ }
+ }
+ return false;
+ }
+
private boolean applyLinearGradient(Paint paint, boolean fill) {
LinearGradientPaint gp = (LinearGradientPaint)paint;
@@ -876,9 +885,6 @@ public class PDFGraphics2D extends Abstr
}
for (int count = 0; count < cols.length; count++) {
Color cc = cols[count];
- if (cc.getAlpha() != 255) {
- return false; // PDF can't do alpha
- }
someColors.add(cc);
}
if (fractions[fractions.length - 1] < 1f) {
@@ -951,9 +957,6 @@ public class PDFGraphics2D extends Abstr
}
for (int count = 0; count < cols.length; count++) {
Color cc = cols[count];
- if (cc.getAlpha() != 255) {
- return false; // PDF can't do alpha
- }
someColors.add(cc);
}
if (fractions[fractions.length - 1] < 1f) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]