Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8ab1d666 authored by Ruben Brunk's avatar Ruben Brunk
Browse files

Added apply UI callbacks for rotate/mirror operations.

Change-Id: I30bfb439d742248c3241742bd11f64a1b4a22640
parent c6a1167e
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -17,13 +17,18 @@
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;

@@ -43,6 +48,18 @@ public class EditorFlip extends Editor implements EditorInfo {
        mImageFlip.syncLocalToMasterGeometry();
    }

    @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;
+18 −0
Original line number Diff line number Diff line
@@ -17,13 +17,18 @@
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;

@@ -43,6 +48,19 @@ public class EditorRotate extends Editor implements EditorInfo {
        mImageRotate.syncLocalToMasterGeometry();
    }

    @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;
+16 −0
Original line number Diff line number Diff line
@@ -58,6 +58,22 @@ public class ImageFlip extends ImageGeometry {
        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);
+8 −1
Original line number Diff line number Diff line
@@ -54,6 +54,13 @@ public class ImageRotate extends ImageGeometry {
        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);
@@ -76,7 +83,7 @@ public class ImageRotate extends ImageGeometry {
    }

    @Override
    protected int getLocalValue() {
    public int getLocalValue() {
        return constrainedRotation(snappedAngle(getLocalRotation()));
    }