ImageFilterFx.java revision 3038d014b7ade998d1820c997242b9d9d8bc7ccf
1
2package com.android.gallery3d.filtershow.filters;
3
4import android.graphics.Bitmap;
5import android.graphics.drawable.Drawable;
6import android.util.Log;
7
8import com.android.gallery3d.R;
9
10import java.util.Arrays;
11
12public class ImageFilterFx extends ImageFilter {
13    private static final String TAG = "ImageFilterFx";
14    Bitmap fxBitmap;
15
16    public ImageFilterFx(Bitmap fxBitmap,String name) {
17        setFilterType(TYPE_FX);
18        mName = name;
19        this.fxBitmap = fxBitmap;
20    }
21
22    @Override
23    public ImageFilter clone() throws CloneNotSupportedException {
24        ImageFilterFx filter = (ImageFilterFx) super.clone();
25        filter.fxBitmap = this.fxBitmap;
26        return filter;
27    }
28
29    native protected void nativeApplyFilter(Bitmap bitmap, int w, int h,Bitmap  fxBitmap, int fxw, int fxh);
30
31    public Bitmap apply(Bitmap bitmap, float scaleFactor, boolean highQuality) {
32        if (fxBitmap==null)
33            return bitmap;
34
35        int w = bitmap.getWidth();
36        int h = bitmap.getHeight();
37
38        int fxw = fxBitmap.getWidth();
39        int fxh = fxBitmap.getHeight();
40
41        nativeApplyFilter(bitmap, w, h,   fxBitmap,  fxw,  fxh);
42        return bitmap;
43    }
44}
45