OSDN Git Service

Only apply the parameter to the currently edited filter
authornicolasroard <nicolasroard@google.com>
Thu, 27 Sep 2012 23:05:23 +0000 (16:05 -0700)
committernicolasroard <nicolasroard@google.com>
Thu, 27 Sep 2012 23:17:39 +0000 (16:17 -0700)
bug:7247494
Change-Id: I88b90ee5ea1d5bb83342a4be392308ea756375a1

src/com/android/gallery3d/filtershow/FilterShowActivity.java
src/com/android/gallery3d/filtershow/filters/ImageFilter.java
src/com/android/gallery3d/filtershow/imageshow/ImageShow.java
src/com/android/gallery3d/filtershow/presets/ImagePreset.java

index cf368dc..287a585 100644 (file)
@@ -538,7 +538,9 @@ public class FilterShowActivity extends Activity implements OnItemClickListener
                     copy.add(vignette);
                     copy.setHistoryName(vignette.name());
                     copy.setIsFx(false);
+                    filter = copy.getFilter("Vignette");
                     mImageShow.setImagePreset(copy);
+                    mImageShow.setCurrentFilter(filter);
                 }
                 unselectPanelButtons(mColorsPanelButtons);
                 mVignetteButton.setSelected(true);
@@ -620,6 +622,7 @@ public class FilterShowActivity extends Activity implements OnItemClickListener
                 unselectPanelButtons(mColorsPanelButtons);
                 mSharpenButton.setSelected(true);
                 mImageShow.showToast("Sharpen", true);
+                mImageShow.setCurrentFilter(null);
             }
         };
     }
@@ -633,6 +636,7 @@ public class FilterShowActivity extends Activity implements OnItemClickListener
                 unselectPanelButtons(mColorsPanelButtons);
                 mContrastButton.setSelected(true);
                 mImageShow.showToast("Contrast", true);
+                mImageShow.setCurrentFilter(null);
             }
         };
     }
index 6d504b8..3d96a33 100644 (file)
@@ -5,7 +5,7 @@ import android.graphics.Bitmap;
 
 public class ImageFilter {
 
-    protected int mParameter = 50;
+    protected int mParameter = 0;
 
     public String name() {
         return "Original";
index 48e5c47..b301394 100644 (file)
@@ -4,6 +4,7 @@ package com.android.gallery3d.filtershow.imageshow;
 import com.android.gallery3d.filtershow.FilterShowActivity;
 import com.android.gallery3d.filtershow.HistoryAdapter;
 import com.android.gallery3d.filtershow.cache.ImageLoader;
+import com.android.gallery3d.filtershow.filters.ImageFilter;
 import com.android.gallery3d.filtershow.presets.ImagePreset;
 import com.android.gallery3d.filtershow.ui.SliderListener;
 import com.android.gallery3d.filtershow.ui.SliderController;
@@ -36,6 +37,7 @@ public class ImageShow extends View implements SliderListener {
 
     protected ImagePreset mImagePreset = null;
     protected ImageLoader mImageLoader = null;
+    private ImageFilter mCurrentFilter = null;
 
     private Bitmap mBackgroundImage = null;
     protected Bitmap mForegroundImage = null;
@@ -58,7 +60,9 @@ public class ImageShow extends View implements SliderListener {
     private Handler mHandler = new Handler();
 
     public void onNewValue(int value) {
-        getImagePreset().setParameter(value);
+        if (mCurrentFilter != null) {
+            mCurrentFilter.setParameter(value);
+        }
         mImageLoader.resetImageForPreset(getImagePreset(), this);
         invalidate();
     }
@@ -85,6 +89,10 @@ public class ImageShow extends View implements SliderListener {
         mSliderController.setHeight(parentHeight);
     }
 
+    public void setCurrentFilter(ImageFilter filter) {
+        mCurrentFilter = filter;
+    }
+
     public void setAdapter(HistoryAdapter adapter) {
         mAdapter = adapter;
     }
index 302b94b..6659eae 100644 (file)
@@ -15,7 +15,6 @@ public class ImagePreset {
 
     private static final String LOGTAG = "ImagePreset";
     ImageShow mEndPoint = null;
-    protected int mParameter = 50;
     protected Vector<ImageFilter> mFilters = new Vector<ImageFilter>();
     protected String mName = "Original";
     protected String mHistoryName = "Original";
@@ -175,19 +174,4 @@ public class ImagePreset {
         return bitmap;
     }
 
-    /*
-     * public void applyFilter(Bitmap bitmap) { // do nothing here, subclasses
-     * will implement filtering here } native protected void
-     * nativeApplyGradientFilter(Bitmap bitmap, int w, int h, int[] redGradient,
-     * int[] greenGradient, int[] blueGradient);
-     */
-
-    public void setParameter(int value) {
-        mParameter = value;
-        for (int i = 0; i < mFilters.size(); i++) {
-            ImageFilter filter = mFilters.elementAt(i);
-            filter.setParameter(value);
-        }
-    }
-
-}
+ }