diff options
Diffstat (limited to 'src/com/android/gallery3d/filtershow/pipeline/CachingPipeline.java')
-rw-r--r-- | src/com/android/gallery3d/filtershow/pipeline/CachingPipeline.java | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/filtershow/pipeline/CachingPipeline.java b/src/com/android/gallery3d/filtershow/pipeline/CachingPipeline.java index 155ddaa19..fc0d6ce49 100644 --- a/src/com/android/gallery3d/filtershow/pipeline/CachingPipeline.java +++ b/src/com/android/gallery3d/filtershow/pipeline/CachingPipeline.java @@ -202,6 +202,30 @@ public class CachingPipeline implements PipelineInterface { return true; } + public void renderHighres(RenderingRequest request) { + synchronized (CachingPipeline.class) { + if (getRenderScriptContext() == null) { + return; + } + ImagePreset preset = request.getImagePreset(); + setupEnvironment(preset, false); + Bitmap bitmap = MasterImage.getImage().getOriginalBitmapHighres(); + if (bitmap == null) { + return; + } + // TODO: use a cache of bitmaps + bitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true); + bitmap = preset.applyGeometry(bitmap, mEnvironment); + + mEnvironment.setQuality(FilterEnvironment.QUALITY_PREVIEW); + Bitmap bmp = preset.apply(bitmap, mEnvironment); + if (!mEnvironment.needsStop()) { + request.setBitmap(bmp); + } + mFiltersManager.freeFilterResources(preset); + } + } + public synchronized void render(RenderingRequest request) { synchronized (CachingPipeline.class) { if (getRenderScriptContext() == null) { |