package com.android.gallery3d.filtershow.editors;
import android.content.Context;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.Button;
import android.widget.FrameLayout;
+import android.widget.LinearLayout;
import com.android.gallery3d.R;
import com.android.gallery3d.filtershow.imageshow.ImageFlip;
import com.android.gallery3d.filtershow.imageshow.MasterImage;
public class EditorFlip extends Editor implements EditorInfo {
+ public static final String LOGTAG = "EditorFlip";
public static final int ID = R.id.editorFlip;
ImageFlip mImageFlip;
}
@Override
+ public void openUtilityPanel(final LinearLayout accessoryViewList) {
+ final Button button = (Button) accessoryViewList.findViewById(R.id.applyEffect);
+ button.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View arg0) {
+ mImageFlip.flip();
+ mImageFlip.saveAndSetPreset();
+ }
+ });
+ }
+
+ @Override
public int getTextId() {
return R.string.mirror;
}
package com.android.gallery3d.filtershow.editors;
import android.content.Context;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.Button;
import android.widget.FrameLayout;
+import android.widget.LinearLayout;
import com.android.gallery3d.R;
import com.android.gallery3d.filtershow.imageshow.ImageRotate;
import com.android.gallery3d.filtershow.imageshow.MasterImage;
public class EditorRotate extends Editor implements EditorInfo {
+ public static final String LOGTAG = "EditorRotate";
public static final int ID = R.id.editorRotate;
ImageRotate mImageRotate;
}
@Override
+ public void openUtilityPanel(final LinearLayout accessoryViewList) {
+ final Button button = (Button) accessoryViewList.findViewById(R.id.applyEffect);
+ button.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View arg0) {
+ mImageRotate.rotate();
+ button.setText(mContext.getString(getTextId()) + " " + mImageRotate.getLocalValue());
+ mImageRotate.saveAndSetPreset();
+ }
+ });
+ }
+
+ @Override
public int getTextId() {
return R.string.rotate;
}
return (rot / 90) % 2 != 0;
}
+ public void flip() {
+ FLIP flip = getLocalFlip();
+ boolean next = true;
+ // Picks next flip in order from enum FLIP (wrapping)
+ for (FLIP f : FLIP.values()) {
+ if (next) {
+ mNextFlip = f;
+ next = false;
+ }
+ if (f.equals(flip)) {
+ next = true;
+ }
+ }
+ setLocalFlip(mNextFlip);
+ }
+
@Override
protected void setActionMove(float x, float y) {
super.setActionMove(x, y);
mAngle = (mBaseAngle - angle) % 360;
}
+ public void rotate() {
+ mAngle += 90;
+ mAngle = snappedAngle(mAngle);
+ mAngle %= 360;
+ setLocalRotation(mAngle);
+ }
+
@Override
protected void setActionDown(float x, float y) {
super.setActionDown(x, y);
}
@Override
- protected int getLocalValue() {
+ public int getLocalValue() {
return constrainedRotation(snappedAngle(getLocalRotation()));
}