X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Fcom%2Fandroid%2Fgallery3d%2Ffiltershow%2Fimageshow%2FMasterImage.java;h=ffd69a662594955163b514fc8ad53f8ebbeac41c;hb=ce9ceff5776a9b0479c30cbeb2a9388b44df1865;hp=76670754ea0e9ddc11914519d465387193dbbde7;hpb=cf68d2f5d9f886995797a3fc8e844a0602227224;p=android-x86%2Fpackages-apps-Gallery2.git diff --git a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java index 76670754e..ffd69a662 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java +++ b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java @@ -27,15 +27,16 @@ import android.os.Message; import com.android.gallery3d.filtershow.FilterShowActivity; import com.android.gallery3d.filtershow.history.HistoryManager; import com.android.gallery3d.filtershow.history.HistoryItem; -import com.android.gallery3d.filtershow.cache.FilteringPipeline; +import com.android.gallery3d.filtershow.pipeline.FilteringPipeline; import com.android.gallery3d.filtershow.cache.ImageLoader; -import com.android.gallery3d.filtershow.cache.RenderingRequest; -import com.android.gallery3d.filtershow.cache.RenderingRequestCaller; +import com.android.gallery3d.filtershow.pipeline.RenderingRequest; +import com.android.gallery3d.filtershow.pipeline.RenderingRequestCaller; import com.android.gallery3d.filtershow.filters.FilterRepresentation; import com.android.gallery3d.filtershow.filters.ImageFilter; import com.android.gallery3d.filtershow.pipeline.Buffer; import com.android.gallery3d.filtershow.pipeline.SharedBuffer; -import com.android.gallery3d.filtershow.presets.ImagePreset; +import com.android.gallery3d.filtershow.pipeline.SharedPreset; +import com.android.gallery3d.filtershow.pipeline.ImagePreset; import com.android.gallery3d.filtershow.state.StateAdapter; import java.util.Vector; @@ -58,6 +59,7 @@ public class MasterImage implements RenderingRequestCaller { private ImagePreset mFiltersOnlyPreset = null; private SharedBuffer mPreviewBuffer = new SharedBuffer(); + private SharedPreset mPreviewPreset = new SharedPreset(); private Bitmap mGeometryOnlyBitmap = null; private Bitmap mFiltersOnlyBitmap = null; @@ -255,6 +257,10 @@ public class MasterImage implements RenderingRequestCaller { return mPreviewBuffer; } + public SharedPreset getPreviewPreset() { + return mPreviewPreset; + } + public void setOriginalGeometry(Bitmap originalBitmapLarge) { GeometryMetadata geo = getPreset().getGeometry(); float w = originalBitmapLarge.getWidth(); @@ -266,6 +272,7 @@ public class MasterImage implements RenderingRequestCaller { } public Bitmap getFilteredImage() { + mPreviewBuffer.swapConsumerIfNeeded(); // get latest bitmap Buffer consumer = mPreviewBuffer.getConsumer(); if (consumer != null) { return consumer.getBitmap(); @@ -349,6 +356,7 @@ public class MasterImage implements RenderingRequestCaller { } public void invalidatePreview() { + mPreviewPreset.enqueuePreset(mPreset); mPreviewBuffer.invalidate(); invalidatePartialPreview(); invalidateHighresPreview(); @@ -554,4 +562,5 @@ public class MasterImage implements RenderingRequestCaller { public ImagePreset getLoadedPreset() { return mLoadedPreset; } + }