summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/pipeline/ProcessingService.java
diff options
context:
space:
mode:
authornicolasroard <nicolasroard@google.com>2013-08-01 16:22:30 -0700
committernicolasroard <nicolasroard@google.com>2013-08-07 14:12:26 -0700
commit430e46b06f8e7ee1ca3e7ecdcef3e0a978637c03 (patch)
tree5c679a659c48c718625d1c5a5049009927a2c617 /src/com/android/gallery3d/filtershow/pipeline/ProcessingService.java
parent5843ba18bfd1ed81bdfde267af550aec30936a58 (diff)
downloadandroid_packages_apps_Gallery2-430e46b06f8e7ee1ca3e7ecdcef3e0a978637c03.tar.gz
android_packages_apps_Gallery2-430e46b06f8e7ee1ca3e7ecdcef3e0a978637c03.tar.bz2
android_packages_apps_Gallery2-430e46b06f8e7ee1ca3e7ecdcef3e0a978637c03.zip
Fix full res zoom
Also add filters merging in the cache. Change-Id: Ic34c918b732159f3703cd83d30de907fdbbcb451
Diffstat (limited to 'src/com/android/gallery3d/filtershow/pipeline/ProcessingService.java')
-rw-r--r--src/com/android/gallery3d/filtershow/pipeline/ProcessingService.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/filtershow/pipeline/ProcessingService.java b/src/com/android/gallery3d/filtershow/pipeline/ProcessingService.java
index d0504d11f..4f736f868 100644
--- a/src/com/android/gallery3d/filtershow/pipeline/ProcessingService.java
+++ b/src/com/android/gallery3d/filtershow/pipeline/ProcessingService.java
@@ -23,6 +23,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Bitmap;
+import android.graphics.Rect;
import android.net.Uri;
import android.os.Binder;
import android.os.IBinder;
@@ -55,6 +56,7 @@ public class ProcessingService extends Service {
private ImageSavingTask mImageSavingTask;
private UpdatePreviewTask mUpdatePreviewTask;
private HighresRenderingRequestTask mHighresRenderingRequestTask;
+ private FullresRenderingRequestTask mFullresRenderingRequestTask;
private RenderingRequestTask mRenderingRequestTask;
private final IBinder mBinder = new LocalBinder();
@@ -73,11 +75,13 @@ public class ProcessingService extends Service {
}
mUpdatePreviewTask.setOriginal(originalBitmap);
mHighresRenderingRequestTask.setOriginal(originalBitmap);
+ mFullresRenderingRequestTask.setOriginal(originalBitmap);
mRenderingRequestTask.setOriginal(originalBitmap);
}
public void updatePreviewBuffer() {
mHighresRenderingRequestTask.stop();
+ mFullresRenderingRequestTask.stop();
mUpdatePreviewTask.updatePreview();
}
@@ -98,12 +102,29 @@ public class ProcessingService extends Service {
mHighresRenderingRequestTask.postRenderingRequest(request);
}
+ public void postFullresRenderingRequest(ImagePreset preset, float scaleFactor,
+ Rect bounds, Rect destination,
+ RenderingRequestCaller caller) {
+ RenderingRequest request = new RenderingRequest();
+ ImagePreset passedPreset = new ImagePreset(preset);
+ request.setOriginalImagePreset(preset);
+ request.setScaleFactor(scaleFactor);
+ request.setImagePreset(passedPreset);
+ request.setType(RenderingRequest.PARTIAL_RENDERING);
+ request.setCaller(caller);
+ request.setBounds(bounds);
+ request.setDestination(destination);
+ passedPreset.setPartialRendering(true, bounds);
+ mFullresRenderingRequestTask.postRenderingRequest(request);
+ }
+
public void setHighresPreviewScaleFactor(float highResPreviewScale) {
mHighresRenderingRequestTask.setHighresPreviewScaleFactor(highResPreviewScale);
}
public void setPreviewScaleFactor(float previewScale) {
mHighresRenderingRequestTask.setPreviewScaleFactor(previewScale);
+ mFullresRenderingRequestTask.setPreviewScaleFactor(previewScale);
mRenderingRequestTask.setPreviewScaleFactor(previewScale);
}
@@ -144,10 +165,12 @@ public class ProcessingService extends Service {
mImageSavingTask = new ImageSavingTask(this);
mUpdatePreviewTask = new UpdatePreviewTask();
mHighresRenderingRequestTask = new HighresRenderingRequestTask();
+ mFullresRenderingRequestTask = new FullresRenderingRequestTask();
mRenderingRequestTask = new RenderingRequestTask();
mProcessingTaskController.add(mImageSavingTask);
mProcessingTaskController.add(mUpdatePreviewTask);
mProcessingTaskController.add(mHighresRenderingRequestTask);
+ mProcessingTaskController.add(mFullresRenderingRequestTask);
mProcessingTaskController.add(mRenderingRequestTask);
setupPipeline();
}