OSDN Git Service

Move classes to pipeline package
[android-x86/packages-apps-Gallery2.git] / src / com / android / gallery3d / filtershow / imageshow / MasterImage.java
index 7667075..ffd69a6 100644 (file)
@@ -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;
     }
+
 }