summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/filtershow/presets/ImagePreset.java')
-rw-r--r--src/com/android/gallery3d/filtershow/presets/ImagePreset.java20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/com/android/gallery3d/filtershow/presets/ImagePreset.java b/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
index d3909cc58..f6e9113ee 100644
--- a/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
+++ b/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
@@ -27,7 +27,6 @@ import android.util.Log;
import com.adobe.xmp.XMPException;
import com.adobe.xmp.XMPMeta;
import com.adobe.xmp.options.PropertyOptions;
-import com.android.gallery3d.filtershow.ImageStateAdapter;
import com.android.gallery3d.filtershow.cache.CachingPipeline;
import com.android.gallery3d.filtershow.cache.ImageLoader;
import com.android.gallery3d.filtershow.filters.BaseFiltersManager;
@@ -36,6 +35,7 @@ import com.android.gallery3d.filtershow.filters.FilterRepresentation;
import com.android.gallery3d.filtershow.filters.ImageFilter;
import com.android.gallery3d.filtershow.imageshow.GeometryMetadata;
import com.android.gallery3d.filtershow.imageshow.MasterImage;
+import com.android.gallery3d.filtershow.state.State;
import com.android.gallery3d.filtershow.state.StateAdapter;
import java.io.IOException;
@@ -382,6 +382,11 @@ public class ImagePreset {
}
public void removeFilter(FilterRepresentation filterRepresentation) {
+ if (filterRepresentation.getPriority() == FilterRepresentation.TYPE_BORDER) {
+ setBorder(null);
+ setHistoryName("Remove");
+ return;
+ }
for (int i = 0; i < mFilters.size(); i++) {
if (mFilters.elementAt(i).getFilterClass() == filterRepresentation.getFilterClass()) {
mFilters.remove(i);
@@ -562,7 +567,20 @@ public class ImagePreset {
if (imageStateAdapter == null) {
return;
}
+ imageStateAdapter.clear();
+ imageStateAdapter.addOriginal();
+ // TODO: supports Geometry representations in the state panel.
+ if (false && mGeoData != null && mGeoData.hasModifications()) {
+ State geo = new State("Geometry");
+ geo.setFilterRepresentation(mGeoData);
+ imageStateAdapter.add(geo);
+ }
imageStateAdapter.addAll(mFilters);
+ if (mBorder != null) {
+ State border = new State(mBorder.getName());
+ border.setFilterRepresentation(mBorder);
+ imageStateAdapter.add(border);
+ }
}
public void setPartialRendering(boolean partialRendering, Rect bounds) {