summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java
diff options
context:
space:
mode:
authornicolasroard <nicolasroard@google.com>2013-07-01 16:58:51 -0700
committernicolasroard <nicolasroard@google.com>2013-07-01 17:45:59 -0700
commita9be5b3d573b1b5511300272fca5b320bdc0aae0 (patch)
tree4883b1a18d48df81d1d2f430bc393cc43172ea8d /src/com/android/gallery3d/filtershow/cache/CachingPipeline.java
parenta18a161d3b46152b9114a5005efe8a043286c19d (diff)
downloadandroid_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.java17
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();
}