diff options
Diffstat (limited to 'src/com/android/gallery3d/filtershow')
-rw-r--r-- | src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java | 2 | ||||
-rw-r--r-- | src/com/android/gallery3d/filtershow/presets/ImagePreset.java | 20 |
2 files changed, 20 insertions, 2 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java b/src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java index f760e84df..66edf3169 100644 --- a/src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java +++ b/src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java @@ -102,7 +102,7 @@ public class FilterRepresentation implements Cloneable { mName = name; } - protected void setName(String name) { + public void setName(String name) { mName = name; } 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) { |