ImageFilter.java revision 5448bf8095483574649afcc2add7f153670c7450
1 2package com.android.gallery3d.filtershow.filters; 3 4import android.graphics.Bitmap; 5import android.util.Log; 6 7public class ImageFilter implements Cloneable { 8 9 protected int mParameter = 0; 10 protected String mName = "Original"; 11 private final String LOGTAG = "ImageFilter"; 12 13 @Override 14 public ImageFilter clone() throws CloneNotSupportedException { 15 ImageFilter filter = (ImageFilter) super.clone(); 16 filter.setName(getName()); 17 filter.setParameter(getParameter()); 18 return filter; 19 } 20 21 public void setName(String name) { 22 mName = name; 23 } 24 25 public String getName() { 26 return mName; 27 } 28 29 public void apply(Bitmap bitmap) { 30 // do nothing here, subclasses will implement filtering here 31 } 32 33 public int getParameter() { 34 return mParameter; 35 } 36 37 public void setParameter(int value) { 38 mParameter = value; 39 } 40 41 public boolean same(ImageFilter filter) { 42 if (!filter.getName().equalsIgnoreCase(getName())) { 43 return false; 44 } 45 return true; 46 } 47 48 native protected void nativeApplyGradientFilter(Bitmap bitmap, int w, int h, 49 int[] redGradient, int[] greenGradient, int[] blueGradient); 50 51} 52