Index: modules/awt/src/main/java/windows/org/apache/harmony/awt/gl/windows/WinGDIPGraphics2D.java =================================================================== --- modules/awt/src/main/java/windows/org/apache/harmony/awt/gl/windows/WinGDIPGraphics2D.java (revision 574550) +++ modules/awt/src/main/java/windows/org/apache/harmony/awt/gl/windows/WinGDIPGraphics2D.java (working copy) @@ -20,6 +20,7 @@ */ package org.apache.harmony.awt.gl.windows; +import java.awt.AlphaComposite; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Dimension; @@ -343,8 +344,10 @@ @Override public void fill(Shape s) { - if (!nativeBrush) { - super.fill(s); + if (!nativeBrush || composite != AlphaComposite.SrcOver) { + s = transform.createTransformedShape(s); + MultiRectArea mra = jsr.rasterize(s, 0.5); + super.fillMultiRectAreaPaint(mra); return; } @@ -355,8 +358,10 @@ @Override public void fillRect(int x, int y, int width, int height) { - if (!nativeBrush) { - super.fillRect(x, y, width, height); + if (!nativeBrush || composite != AlphaComposite.SrcOver) { + Shape s = transform.createTransformedShape(new Rectangle(x, y, width, height)); + MultiRectArea mra = jsr.rasterize(s, 0.5); + super.fillMultiRectAreaPaint(mra); return; }