OSDN Git Service

support for simplified computed icons
authorJohn Hoford <hoford@google.com>
Fri, 5 Apr 2013 15:48:39 +0000 (08:48 -0700)
committerJohn Hoford <hoford@google.com>
Mon, 8 Apr 2013 15:50:34 +0000 (08:50 -0700)
Change-Id: Id886a0a2151037420d3672f34d2838c5d9c69cbd

src/com/android/gallery3d/filtershow/filters/IconUtilities.java [new file with mode: 0644]
src/com/android/gallery3d/filtershow/filters/ImageFilter.java

diff --git a/src/com/android/gallery3d/filtershow/filters/IconUtilities.java b/src/com/android/gallery3d/filtershow/filters/IconUtilities.java
new file mode 100644 (file)
index 0000000..38211f3
--- /dev/null
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.gallery3d.filtershow.filters;
+
+import android.content.res.Resources;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+
+import com.android.gallery3d.R;
+
+public class IconUtilities {
+    public static final int PUNCH = R.drawable.filtershow_fx_0005_punch;
+    public static final int VINTAGE = R.drawable.filtershow_fx_0000_vintage;
+    public static final int BW_CONTRAST = R.drawable.filtershow_fx_0004_bw_contrast;
+    public static final int BLEACH = R.drawable.filtershow_fx_0002_bleach;
+    public static final int INSTANT = R.drawable.filtershow_fx_0001_instant;
+    public static final int WASHOUT = R.drawable.filtershow_fx_0007_washout;
+    public static final int BLUECRUSH = R.drawable.filtershow_fx_0003_blue_crush;
+    public static final int WASHOUT_COLOR = R.drawable.filtershow_fx_0008_washout_color;
+    public static final int X_PROCESS = R.drawable.filtershow_fx_0006_x_process;
+
+    public static Bitmap getFXBitmap(Resources res, int id) {
+        Bitmap ret;
+        BitmapFactory.Options o = new BitmapFactory.Options();
+        o.inScaled = false;
+
+        if (id != 0) {
+            return BitmapFactory.decodeResource(res, id, o);
+        }
+        return null;
+    }
+
+    public static Bitmap loadBitmap(Resources res, int resource) {
+
+        final BitmapFactory.Options options = new BitmapFactory.Options();
+        options.inPreferredConfig = Bitmap.Config.ARGB_8888;
+        Bitmap bitmap = BitmapFactory.decodeResource(
+                res,
+                resource, options);
+
+        return bitmap;
+    }
+
+    public static Bitmap applyFX(Bitmap bitmap, final Bitmap fxBitmap) {
+        ImageFilterFx fx = new ImageFilterFx() {
+            @Override
+            public Bitmap apply(Bitmap bitmap, float scaleFactor, int quality) {
+
+                int w = bitmap.getWidth();
+                int h = bitmap.getHeight();
+                int fxw = fxBitmap.getWidth();
+                int fxh = fxBitmap.getHeight();
+
+                nativeApplyFilter(bitmap, w, h, fxBitmap, fxw, fxh);
+                return bitmap;
+            }
+        };
+        return fx.apply(bitmap, 0, 0);
+    }
+}
index 137950c..8cdec97 100644 (file)
@@ -30,7 +30,7 @@ public abstract class ImageFilter implements Cloneable {
 
     protected String mName = "Original";
     private final String LOGTAG = "ImageFilter";
-
+    protected static final boolean SIMPLE_ICONS = true;
     // TODO: Temporary, for dogfood note memory issues with toasts for better
     // feedback. Remove this when filters actually work in low memory
     // situations.