summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorChristian Wichner <cwichner@google.com>2013-05-24 16:09:07 +0200
committerChristian Wichner <cwichner@google.com>2013-05-24 16:09:07 +0200
commitbd769d3ea522f0d6f62f6746c007f624eb7840ce (patch)
treef6a9c63d53ab95d88a69a6c6f51ecaaa13dee0d9 /src/com
parente46c3a0cac1ec6ab707bf74b85e91c488488de8a (diff)
downloadandroid_packages_apps_Snap-bd769d3ea522f0d6f62f6746c007f624eb7840ce.tar.gz
android_packages_apps_Snap-bd769d3ea522f0d6f62f6746c007f624eb7840ce.tar.bz2
android_packages_apps_Snap-bd769d3ea522f0d6f62f6746c007f624eb7840ce.zip
functionality added to transport filter parameter values to following filters. e.g. FixedFrames use the style from Retrolux or Film to tinting the frame.
Change-Id: I87f2497bdaccf8de5d153cbebf9641b979ea15a3
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/gallery3d/filtershow/presets/FilterEnvironment.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/filtershow/presets/FilterEnvironment.java b/src/com/android/gallery3d/filtershow/presets/FilterEnvironment.java
index 47f8dfccb..8d59c9f54 100644
--- a/src/com/android/gallery3d/filtershow/presets/FilterEnvironment.java
+++ b/src/com/android/gallery3d/filtershow/presets/FilterEnvironment.java
@@ -50,6 +50,9 @@ public class FilterEnvironment {
private HashMap<Long, WeakReference<Bitmap>>
bitmapCach = new HashMap<Long, WeakReference<Bitmap>>();
+ private HashMap<Integer, Integer>
+ generalParameters = new HashMap<Integer, Integer>();
+
public void cache(Bitmap bitmap) {
if (bitmap == null) {
return;
@@ -116,6 +119,7 @@ public class FilterEnvironment {
if (filter.supportsAllocationInput()) {
filter.apply(in, out);
}
+ filter.setGeneralParameters();
filter.setEnvironment(null);
}
@@ -124,6 +128,7 @@ public class FilterEnvironment {
filter.useRepresentation(representation);
filter.setEnvironment(this);
Bitmap ret = filter.apply(bitmap, mScaleFactor, mQuality);
+ filter.setGeneralParameters();
filter.setEnvironment(null);
return ret;
}
@@ -136,4 +141,23 @@ public class FilterEnvironment {
mPipeline = cachingPipeline;
}
+ public synchronized void clearGeneralParameters() {
+ generalParameters = null;
+ }
+
+ public synchronized Integer getGeneralParameter(int id) {
+ if (generalParameters == null || !generalParameters.containsKey(id)) {
+ return null;
+ }
+ return generalParameters.get(id);
+ }
+
+ public synchronized void setGeneralParameter(int id, int value) {
+ if (generalParameters == null) {
+ generalParameters = new HashMap<Integer, Integer>();
+ }
+
+ generalParameters.put(id, value);
+ }
+
}