diff --git a/vtm-android/src/org/oscim/android/canvas/AndroidCanvas.java b/vtm-android/src/org/oscim/android/canvas/AndroidCanvas.java index 71180702..13d7bcf3 100644 --- a/vtm-android/src/org/oscim/android/canvas/AndroidCanvas.java +++ b/vtm-android/src/org/oscim/android/canvas/AndroidCanvas.java @@ -18,6 +18,7 @@ */ package org.oscim.android.canvas; +import android.graphics.Color; import android.graphics.PorterDuff; import org.oscim.backend.canvas.Bitmap; @@ -74,7 +75,7 @@ public class AndroidCanvas implements Canvas { @Override public void fillColor(int color) { - canvas.drawColor(color, PorterDuff.Mode.CLEAR); + canvas.drawColor(color, color == Color.TRANSPARENT ? PorterDuff.Mode.CLEAR : PorterDuff.Mode.SRC_OVER); } @Override diff --git a/vtm-desktop/src/org/oscim/awt/AwtCanvas.java b/vtm-desktop/src/org/oscim/awt/AwtCanvas.java index 810fb43f..9faed424 100644 --- a/vtm-desktop/src/org/oscim/awt/AwtCanvas.java +++ b/vtm-desktop/src/org/oscim/awt/AwtCanvas.java @@ -162,7 +162,7 @@ public class AwtCanvas implements Canvas { public void fillColor(int color) { java.awt.Color awtColor = color == Color.TRANSPARENT ? TRANSPARENT : new java.awt.Color(color); Composite originalComposite = this.canvas.getComposite(); - this.canvas.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC)); + this.canvas.setComposite(AlphaComposite.getInstance(color == Color.TRANSPARENT ? AlphaComposite.CLEAR : AlphaComposite.SRC_OVER)); this.canvas.setColor(awtColor); this.canvas.fillRect(0, 0, getWidth(), getHeight()); this.canvas.setComposite(originalComposite);