summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/cache/FilteringPipeline.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/filtershow/cache/FilteringPipeline.java')
-rw-r--r--src/com/android/gallery3d/filtershow/cache/FilteringPipeline.java38
1 files changed, 34 insertions, 4 deletions
diff --git a/src/com/android/gallery3d/filtershow/cache/FilteringPipeline.java b/src/com/android/gallery3d/filtershow/cache/FilteringPipeline.java
index 1ba6e959e..ce66b5bce 100644
--- a/src/com/android/gallery3d/filtershow/cache/FilteringPipeline.java
+++ b/src/com/android/gallery3d/filtershow/cache/FilteringPipeline.java
@@ -47,9 +47,23 @@ public class FilteringPipeline implements Handler.Callback {
private final static int COMPUTE_PRESET = 2;
private final static int COMPUTE_RENDERING_REQUEST = 3;
private final static int COMPUTE_PARTIAL_RENDERING_REQUEST = 4;
+ private final static int COMPUTE_HIGHRES_RENDERING_REQUEST = 5;
private volatile boolean mHasUnhandledPreviewRequest = false;
+ private String getType(int value) {
+ if (value == COMPUTE_RENDERING_REQUEST) {
+ return "COMPUTE_RENDERING_REQUEST";
+ }
+ if (value == COMPUTE_PARTIAL_RENDERING_REQUEST) {
+ return "COMPUTE_PARTIAL_RENDERING_REQUEST";
+ }
+ if (value == COMPUTE_HIGHRES_RENDERING_REQUEST) {
+ return "COMPUTE_HIGHRES_RENDERING_REQUEST";
+ }
+ return "UNKNOWN TYPE";
+ }
+
private Handler mProcessingHandler = null;
private final Handler mUIHandler = new Handler() {
@Override
@@ -89,12 +103,19 @@ public class FilteringPipeline implements Handler.Callback {
break;
}
case COMPUTE_RENDERING_REQUEST:
- case COMPUTE_PARTIAL_RENDERING_REQUEST: {
- if (msg.what == COMPUTE_PARTIAL_RENDERING_REQUEST) {
- if (mProcessingHandler.hasMessages(COMPUTE_PARTIAL_RENDERING_REQUEST)) {
+ case COMPUTE_PARTIAL_RENDERING_REQUEST:
+ case COMPUTE_HIGHRES_RENDERING_REQUEST: {
+ if (msg.what == COMPUTE_PARTIAL_RENDERING_REQUEST
+ || msg.what == COMPUTE_HIGHRES_RENDERING_REQUEST) {
+ if (mProcessingHandler.hasMessages(msg.what)) {
return false;
}
}
+
+ if (DEBUG) {
+ Log.v(LOGTAG, "Compute Request: " + getType(msg.what));
+ }
+
RenderingRequest request = (RenderingRequest) msg.obj;
mAccessoryPipeline.render(request);
Message uimsg = mUIHandler.obtainMessage(NEW_RENDERING_REQUEST);
@@ -140,9 +161,13 @@ public class FilteringPipeline implements Handler.Callback {
if (request.getType() == RenderingRequest.PARTIAL_RENDERING) {
type = COMPUTE_PARTIAL_RENDERING_REQUEST;
}
+ if (request.getType() == RenderingRequest.HIGHRES_RENDERING) {
+ type = COMPUTE_HIGHRES_RENDERING_REQUEST;
+ }
Message msg = mProcessingHandler.obtainMessage(type);
msg.obj = request;
- if (type == COMPUTE_PARTIAL_RENDERING_REQUEST) {
+ if (type == COMPUTE_PARTIAL_RENDERING_REQUEST
+ || type == COMPUTE_HIGHRES_RENDERING_REQUEST) {
mProcessingHandler.sendMessageDelayed(msg, HIRES_DELAY);
} else {
mProcessingHandler.sendMessage(msg);
@@ -174,6 +199,11 @@ public class FilteringPipeline implements Handler.Callback {
mPreviewPipeline.setPreviewScaleFactor(previewScaleFactor);
}
+ public void setHighResPreviewScaleFactor(float highResPreviewScaleFactor) {
+ mAccessoryPipeline.setHighResPreviewScaleFactor(highResPreviewScaleFactor);
+ mPreviewPipeline.setHighResPreviewScaleFactor(highResPreviewScaleFactor);
+ }
+
public static synchronized void reset() {
sPipeline.mAccessoryPipeline.reset();
sPipeline.mPreviewPipeline.reset();