diff options
author | nicolasroard <nicolasroard@google.com> | 2013-07-01 16:58:51 -0700 |
---|---|---|
committer | nicolasroard <nicolasroard@google.com> | 2013-07-01 17:45:59 -0700 |
commit | a9be5b3d573b1b5511300272fca5b320bdc0aae0 (patch) | |
tree | 4883b1a18d48df81d1d2f430bc393cc43172ea8d /src/com/android/gallery3d/filtershow/cache/CachingPipeline.java | |
parent | a18a161d3b46152b9114a5005efe8a043286c19d (diff) | |
download | android_packages_apps_Snap-a9be5b3d573b1b5511300272fca5b320bdc0aae0.tar.gz android_packages_apps_Snap-a9be5b3d573b1b5511300272fca5b320bdc0aae0.tar.bz2 android_packages_apps_Snap-a9be5b3d573b1b5511300272fca5b320bdc0aae0.zip |
Pipeline refactoring
Add SharedBuffer and Buffer class
Change-Id: I823a9520541e3be5321a3deb5e58a358588b6cf3
Diffstat (limited to 'src/com/android/gallery3d/filtershow/cache/CachingPipeline.java')
-rw-r--r-- | src/com/android/gallery3d/filtershow/cache/CachingPipeline.java | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java b/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java index 494c0a636..9901e5705 100644 --- a/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java +++ b/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java @@ -27,6 +27,7 @@ import com.android.gallery3d.filtershow.filters.FiltersManager; import com.android.gallery3d.filtershow.filters.ImageFilterGeometry; import com.android.gallery3d.filtershow.imageshow.GeometryMetadata; import com.android.gallery3d.filtershow.imageshow.MasterImage; +import com.android.gallery3d.filtershow.pipeline.SharedBuffer; import com.android.gallery3d.filtershow.presets.FilterEnvironment; import com.android.gallery3d.filtershow.presets.ImagePreset; import com.android.gallery3d.filtershow.presets.PipelineInterface; @@ -342,7 +343,7 @@ public class CachingPipeline implements PipelineInterface { FilterEnvironment.QUALITY_PREVIEW); } - public synchronized void compute(TripleBufferBitmap buffer, ImagePreset preset, int type) { + public synchronized void compute(SharedBuffer buffer, ImagePreset preset, int type) { synchronized (CachingPipeline.class) { if (getRenderScriptContext() == null) { return; @@ -361,16 +362,20 @@ public class CachingPipeline implements PipelineInterface { if (updateOriginalAllocation(preset)) { resizedOriginalBitmap = mResizedOriginalBitmap; mEnvironment.cache(buffer.getProducer()); - buffer.updateProducerBitmap(resizedOriginalBitmap); + buffer.setProducer(resizedOriginalBitmap); + } + + Bitmap bitmap = null; + if (buffer.getProducer() != null) { + bitmap = buffer.getProducer().getBitmap(); } - Bitmap bitmap = buffer.getProducer(); long time2 = System.currentTimeMillis(); if (bitmap == null || (bitmap.getWidth() != resizedOriginalBitmap.getWidth()) || (bitmap.getHeight() != resizedOriginalBitmap.getHeight())) { mEnvironment.cache(buffer.getProducer()); - buffer.updateProducerBitmap(resizedOriginalBitmap); - bitmap = buffer.getProducer(); + buffer.setProducer(resizedOriginalBitmap); + bitmap = buffer.getProducer().getBitmap(); } mOriginalAllocation.copyTo(bitmap); @@ -393,7 +398,7 @@ public class CachingPipeline implements PipelineInterface { } public boolean needsRepaint() { - TripleBufferBitmap buffer = MasterImage.getImage().getDoubleBuffer(); + SharedBuffer buffer = MasterImage.getImage().getPreviewBuffer(); return buffer.checkRepaintNeeded(); } |