diff options
author | John Hoford <hoford@google.com> | 2013-04-22 13:40:39 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-04-22 13:40:39 -0700 |
commit | f5680df00ebd06172efeca4149af633e9aa02fad (patch) | |
tree | 345af573a7c6de9ee341dd90a54bc26a8a3e84af /src | |
parent | 08a11bddeb561f9f4c9ef26f8ea65865b2ecee3f (diff) | |
parent | be3e14d561ed1033fa44526ab83b170cfae45b4f (diff) | |
download | android_packages_apps_Snap-f5680df00ebd06172efeca4149af633e9aa02fad.tar.gz android_packages_apps_Snap-f5680df00ebd06172efeca4149af633e9aa02fad.tar.bz2 android_packages_apps_Snap-f5680df00ebd06172efeca4149af633e9aa02fad.zip |
am 91d26f6c: tiny planet fix
* commit '91d26f6c3b183862eeffc1856e2d758e800d13f4':
tiny planet fix
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/gallery3d/filtershow/filters/FilterTinyPlanetRepresentation.java | 9 | ||||
-rw-r--r-- | src/com/android/gallery3d/filtershow/presets/FilterEnvironment.java | 34 |
2 files changed, 43 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/FilterTinyPlanetRepresentation.java b/src/com/android/gallery3d/filtershow/filters/FilterTinyPlanetRepresentation.java index c570a757e..48c8b380e 100644 --- a/src/com/android/gallery3d/filtershow/filters/FilterTinyPlanetRepresentation.java +++ b/src/com/android/gallery3d/filtershow/filters/FilterTinyPlanetRepresentation.java @@ -34,6 +34,7 @@ public class FilterTinyPlanetRepresentation extends FilterBasicRepresentation { setTextId(R.string.tinyplanet); setButtonId(R.id.tinyplanetButton); setEditorId(EditorTinyPlanet.ID); + setMinimum(1); } @Override @@ -45,6 +46,14 @@ public class FilterTinyPlanetRepresentation extends FilterBasicRepresentation { return representation; } + @Override + public void useParametersFrom(FilterRepresentation a) { + FilterTinyPlanetRepresentation representation = (FilterTinyPlanetRepresentation) a; + super.useParametersFrom(a); + mAngle = representation.mAngle; + setZoom(representation.getZoom()); + } + public void setAngle(float angle) { mAngle = angle; } diff --git a/src/com/android/gallery3d/filtershow/presets/FilterEnvironment.java b/src/com/android/gallery3d/filtershow/presets/FilterEnvironment.java index 7b0e0193f..3c53227fc 100644 --- a/src/com/android/gallery3d/filtershow/presets/FilterEnvironment.java +++ b/src/com/android/gallery3d/filtershow/presets/FilterEnvironment.java @@ -18,17 +18,51 @@ package com.android.gallery3d.filtershow.presets; import android.graphics.Bitmap; import android.support.v8.renderscript.Allocation; +import android.util.Log; + import com.android.gallery3d.filtershow.cache.CachingPipeline; import com.android.gallery3d.filtershow.filters.FilterRepresentation; import com.android.gallery3d.filtershow.filters.FiltersManager; import com.android.gallery3d.filtershow.filters.ImageFilter; +import java.lang.ref.WeakReference; +import java.util.HashMap; + public class FilterEnvironment { + private static final String LOGTAG = "FilterEnvironment"; private ImagePreset mImagePreset; private float mScaleFactor; private int mQuality; private FiltersManager mFiltersManager; private CachingPipeline mCachingPipeline; + private HashMap<Long, WeakReference<Bitmap>> + bitmapCach = new HashMap<Long, WeakReference<Bitmap>>(); + + public void cache(Bitmap bitmap) { + if (bitmap == null) { + return; + } + Long key = calcKey(bitmap.getWidth(), bitmap.getHeight()); + bitmapCach.put(key, new WeakReference<Bitmap>(bitmap)); + } + + public Bitmap getBitmap(int w, int h) { + Long key = calcKey(w, h); + WeakReference<Bitmap> ref = bitmapCach.remove(key); + Bitmap bitmap = null; + if (ref != null) { + bitmap = ref.get(); + } + if (bitmap == null) { + bitmap = Bitmap.createBitmap( + w, h, Bitmap.Config.ARGB_8888); + } + return bitmap; + } + + private Long calcKey(long w, long h) { + return (w << 32) | (h << 32); + } public void setImagePreset(ImagePreset imagePreset) { mImagePreset = imagePreset; |