package at.favre.lib.dali.builder.processor;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.ColorFilter;
import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
/**
* Created by PatrickF on 27.05.2014.
*/
public class ColorFilterProcessor implements IBitmapProcessor {
private int colorResId;
private PorterDuff.Mode porterDuffMode;
public ColorFilterProcessor(int colorResId, PorterDuff.Mode porterDuffMode) {
this.colorResId = colorResId;
this.porterDuffMode = porterDuffMode;
}
@Override
public Bitmap manipulate(Bitmap original) {
if(!original.isMutable()) {
original = original.copy(original.getConfig(), true);
}
Paint p = new Paint(colorResId);
ColorFilter filter = new PorterDuffColorFilter(colorResId, porterDuffMode);
p.setColorFilter(filter);
Canvas c = new Canvas(original);
c.drawBitmap(original,0,0,p);
return original;
}
@Override
public String getProcessorTag() {
return this.getClass().getSimpleName()+": "+colorResId;
}
}