diff options
4 files changed, 21 insertions, 15 deletions
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java index 2912f6891..5ef5724c3 100644 --- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java +++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java @@ -80,7 +80,9 @@ import com.android.gallery3d.filtershow.editors.EditorRotate; import com.android.gallery3d.filtershow.editors.EditorStraighten; import com.android.gallery3d.filtershow.editors.EditorTinyPlanet; import com.android.gallery3d.filtershow.editors.ImageOnlyEditor; +import com.android.gallery3d.filtershow.filters.FilterMirrorRepresentation; import com.android.gallery3d.filtershow.filters.FilterRepresentation; +import com.android.gallery3d.filtershow.filters.FilterRotateRepresentation; import com.android.gallery3d.filtershow.filters.FilterUserPresetRepresentation; import com.android.gallery3d.filtershow.filters.FiltersManager; import com.android.gallery3d.filtershow.filters.ImageFilter; @@ -570,7 +572,9 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL if (filterRepresentation == null) { return; } - if (MasterImage.getImage().getCurrentFilterRepresentation() == filterRepresentation) { + if (!(filterRepresentation instanceof FilterRotateRepresentation) + && !(filterRepresentation instanceof FilterMirrorRepresentation) + && MasterImage.getImage().getCurrentFilterRepresentation() == filterRepresentation) { return; } ImagePreset oldPreset = MasterImage.getImage().getPreset(); @@ -579,6 +583,7 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL if (representation == null) { copy.addFilter(filterRepresentation); } else if (filterRepresentation.getFilterType() == FilterRepresentation.TYPE_GEOMETRY) { + representation.useParametersFrom(filterRepresentation); filterRepresentation = representation; } else { if (filterRepresentation.allowsSingleInstanceOnly()) { @@ -598,6 +603,14 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL return; } + if (representation instanceof FilterRotateRepresentation) { + FilterRotateRepresentation r = (FilterRotateRepresentation) representation; + r.rotateCW(); + } + if (representation instanceof FilterMirrorRepresentation) { + FilterMirrorRepresentation r = (FilterMirrorRepresentation) representation; + r.cycle(); + } useFilterRepresentation(representation); // show representation diff --git a/src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java b/src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java index 3fa91916d..ce7b44b86 100644 --- a/src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java +++ b/src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java @@ -242,13 +242,6 @@ public abstract class BaseFiltersManager implements FiltersManagerInterface { public void addTools(Context context) { - int[] editorsId = { - EditorCrop.ID, - EditorStraighten.ID, - EditorRotate.ID, - EditorMirror.ID - }; - int[] textId = { R.string.crop, R.string.straighten, @@ -270,10 +263,8 @@ public abstract class BaseFiltersManager implements FiltersManagerInterface { new FilterMirrorRepresentation() }; - for (int i = 0; i < editorsId.length; i++) { - int editorId = editorsId[i]; + for (int i = 0; i < textId.length; i++) { FilterRepresentation geometry = geometryFilters[i]; - geometry.setEditorId(editorId); geometry.setTextId(textId[i]); geometry.setOverlayId(overlayId[i]); geometry.setOverlayOnly(true); diff --git a/src/com/android/gallery3d/filtershow/filters/FilterMirrorRepresentation.java b/src/com/android/gallery3d/filtershow/filters/FilterMirrorRepresentation.java index d8d0709ed..765796ea5 100644 --- a/src/com/android/gallery3d/filtershow/filters/FilterMirrorRepresentation.java +++ b/src/com/android/gallery3d/filtershow/filters/FilterMirrorRepresentation.java @@ -22,6 +22,7 @@ import android.util.Log; import com.android.gallery3d.R; import com.android.gallery3d.filtershow.editors.EditorMirror; +import com.android.gallery3d.filtershow.editors.ImageOnlyEditor; import java.io.IOException; @@ -63,12 +64,12 @@ public class FilterMirrorRepresentation extends FilterRepresentation { public FilterMirrorRepresentation(Mirror mirror) { super(FilterMirrorRepresentation.class.getSimpleName()); setSerializationName(SERIALIZATION_NAME); - setShowParameterValue(true); + setShowParameterValue(false); setFilterClass(FilterMirrorRepresentation.class); setFilterType(FilterRepresentation.TYPE_GEOMETRY); setSupportsPartialRendering(true); setTextId(R.string.mirror); - setEditorId(EditorMirror.ID); + setEditorId(ImageOnlyEditor.ID); setMirror(mirror); } diff --git a/src/com/android/gallery3d/filtershow/filters/FilterRotateRepresentation.java b/src/com/android/gallery3d/filtershow/filters/FilterRotateRepresentation.java index b6f95d843..d7e0b581b 100644 --- a/src/com/android/gallery3d/filtershow/filters/FilterRotateRepresentation.java +++ b/src/com/android/gallery3d/filtershow/filters/FilterRotateRepresentation.java @@ -22,6 +22,7 @@ import android.util.Log; import com.android.gallery3d.R; import com.android.gallery3d.filtershow.editors.EditorRotate; +import com.android.gallery3d.filtershow.editors.ImageOnlyEditor; import java.io.IOException; @@ -63,12 +64,12 @@ public class FilterRotateRepresentation extends FilterRepresentation { public FilterRotateRepresentation(Rotation rotation) { super(FilterRotateRepresentation.class.getSimpleName()); setSerializationName(SERIALIZATION_NAME); - setShowParameterValue(true); + setShowParameterValue(false); setFilterClass(FilterRotateRepresentation.class); setFilterType(FilterRepresentation.TYPE_GEOMETRY); setSupportsPartialRendering(true); setTextId(R.string.rotate); - setEditorId(EditorRotate.ID); + setEditorId(ImageOnlyEditor.ID); setRotation(rotation); } |