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