summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/editors/EditorStraighten.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/filtershow/editors/EditorStraighten.java')
-rw-r--r--src/com/android/gallery3d/filtershow/editors/EditorStraighten.java34
1 files changed, 28 insertions, 6 deletions
diff --git a/src/com/android/gallery3d/filtershow/editors/EditorStraighten.java b/src/com/android/gallery3d/filtershow/editors/EditorStraighten.java
index 40333aa00..ff84ba8f9 100644
--- a/src/com/android/gallery3d/filtershow/editors/EditorStraighten.java
+++ b/src/com/android/gallery3d/filtershow/editors/EditorStraighten.java
@@ -17,24 +17,26 @@
package com.android.gallery3d.filtershow.editors;
import android.content.Context;
-import android.view.View;
+import android.util.Log;
import android.widget.FrameLayout;
import com.android.gallery3d.R;
-import com.android.gallery3d.filtershow.imageshow.GeometryMetadata;
+import com.android.gallery3d.filtershow.filters.FilterRepresentation;
+import com.android.gallery3d.filtershow.filters.FilterStraightenRepresentation;
import com.android.gallery3d.filtershow.imageshow.ImageStraighten;
+import com.android.gallery3d.filtershow.imageshow.MasterImage;
public class EditorStraighten extends Editor implements EditorInfo {
+ public static final String TAG = EditorStraighten.class.getSimpleName();
public static final int ID = R.id.editorStraighten;
ImageStraighten mImageStraighten;
- GeometryMetadata mGeometryMetadata;
public EditorStraighten() {
super(ID);
mShowParameter = SHOW_VALUE_INT;
+ mChangesGeometry = true;
}
- // TODO use filter reflection like
@Override
public String calculateUserMessage(Context context, String effectName, Object parameterValue) {
String apply = context.getString(R.string.apply_effect);
@@ -49,9 +51,29 @@ public class EditorStraighten extends Editor implements EditorInfo {
mImageStraighten = new ImageStraighten(context);
}
mView = mImageShow = mImageStraighten;
- mImageStraighten.bindAsImageLoadListener();
mImageStraighten.setEditor(this);
- mImageStraighten.syncLocalToMasterGeometry();
+ }
+
+ @Override
+ public void reflectCurrentFilter() {
+ MasterImage master = MasterImage.getImage();
+ master.setCurrentFilterRepresentation(master.getPreset().getFilterWithSerializationName(
+ FilterStraightenRepresentation.SERIALIZATION_NAME));
+ super.reflectCurrentFilter();
+ FilterRepresentation rep = getLocalRepresentation();
+ if (rep == null || rep instanceof FilterStraightenRepresentation) {
+ mImageStraighten
+ .setFilterStraightenRepresentation((FilterStraightenRepresentation) rep);
+ } else {
+ Log.w(TAG, "Could not reflect current filter, not of type: "
+ + FilterStraightenRepresentation.class.getSimpleName());
+ }
+ mImageStraighten.invalidate();
+ }
+
+ @Override
+ public void finalApplyCalled() {
+ commitLocalRepresentation(mImageStraighten.getFinalRepresentation());
}
@Override