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

Commit 0f327c32 authored by nicolasroard's avatar nicolasroard Committed by Android Git Automerger
Browse files

am c5590eb1: Improves Curves & Crop UI

* commit 'c5590eb1':
  Improves Curves & Crop UI
parents c0ecc707 c5590eb1
Loading
Loading
Loading
Loading
+35 −28
Original line number Diff line number Diff line
@@ -193,23 +193,28 @@
                android:orientation="horizontal"
                android:visibility="gone" >

                <com.android.gallery3d.filtershow.ui.ImageButtonTitle
                <FrameLayout
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" >
                    <com.android.gallery3d.filtershow.ui.FramedTextButton
                        android:id="@+id/aspect"
                    style="@style/FilterShowBottomButton"
                    android:layout_gravity="left"
                    android:layout_weight="0"
                        android:layout_width="64dip"
                        android:layout_height="64dip"
                        android:layout_gravity="center_vertical|left"
                        android:background="@android:color/transparent"
                        android:scaleType="centerInside"
                        android:visibility="gone"
                    android:src="@drawable/filtershow_button_geometry_straighten"
                    android:text="@string/aspect" />
                        android:text="@string/aspectOriginal_effect" />

                <ImageButton
                    <com.android.gallery3d.filtershow.ui.FramedTextButton
                        android:id="@+id/pickCurvesChannel"
                        android:layout_width="64dip"
                        android:layout_height="64dip"
                        android:layout_gravity="center_vertical|left"
                        android:background="@android:color/transparent"
                        android:scaleType="centerInside"
                    android:text="@string/curvesRGB"
                    android:src="@drawable/filtershow_button_show_original" />
                        android:visibility="gone"
                        android:text="@string/curves_channel_rgb" />

                    <Button
                        android:id="@+id/applyEffect"
@@ -221,6 +226,8 @@
                        android:gravity="center"
                        android:text="@string/apply_effect"
                        android:textSize="18dip" />
                </FrameLayout>

            </LinearLayout>

            <HorizontalScrollView
+24 −0
Original line number Diff line number Diff line
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <group android:id="@+id/crop_popupmenu" >
        <item
            android:id="@+id/crop_menu_1to1"
            android:title="@string/aspect1to1_effect"/>
        <item
            android:id="@+id/crop_menu_4to6"
            android:title="@string/aspect4to6_effect"/>
        <item
            android:id="@+id/crop_menu_5to7"
            android:title="@string/aspect5to7_effect"/>
        <item
            android:id="@+id/crop_menu_9to16"
            android:title="@string/aspect9to16_effect"/>
        <item
            android:id="@+id/crop_menu_none"
            android:title="@string/aspectNone_effect"/>
        <item
            android:id="@+id/crop_menu_original"
            android:title="@string/aspectOriginal_effect"/>
    </group>

</menu>
 No newline at end of file
+5 −5
Original line number Diff line number Diff line
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <group android:id="@+id/group_popupmenu" >
    <group android:id="@+id/curves_popupmenu" >
        <item
            android:id="@+id/menu1"
            android:id="@+id/curve_menu_rgb"
            android:title="@string/curves_channel_rgb"/>
        <item
            android:id="@+id/menu2"
            android:id="@+id/curve_menu_red"
            android:title="@string/curves_channel_red"/>
        <item
            android:id="@+id/menu3"
            android:id="@+id/curve_menu_green"
            android:title="@string/curves_channel_green"/>
        <item
            android:id="@+id/menu4"
            android:id="@+id/curve_menu_blue"
            android:title="@string/curves_channel_blue"/>
    </group>

+1 −2
Original line number Diff line number Diff line
@@ -6,7 +6,6 @@ import android.app.ActionBar;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Bitmap;
@@ -137,7 +136,7 @@ public class FilterShowActivity extends Activity implements OnItemClickListener,
        ImageSmallFilter.setMargin((int) getPixelsFromDip(3));
        ImageSmallFilter.setTextMargin((int) getPixelsFromDip(4));
        mImageBorderSize = (int) getPixelsFromDip(20);
        Drawable curveHandle = getResources().getDrawable(R.drawable.camera_crop_holo);
        Drawable curveHandle = getResources().getDrawable(R.drawable.camera_crop);
        int curveHandleSize = (int) getResources().getDimension(R.dimen.crop_indicator_size);
        Spline.setCurveHandle(curveHandle, curveHandleSize);
        Spline.setCurveWidth((int) getPixelsFromDip(3));
+82 −5
Original line number Diff line number Diff line
@@ -3,9 +3,11 @@ package com.android.gallery3d.filtershow;

import android.content.Context;
import android.text.Html;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewPropertyAnimator;
import android.widget.PopupMenu;
import android.widget.TextView;

import com.android.gallery3d.R;
@@ -25,6 +27,7 @@ import com.android.gallery3d.filtershow.filters.ImageFilterWBalance;
import com.android.gallery3d.filtershow.imageshow.ImageCrop;
import com.android.gallery3d.filtershow.imageshow.ImageShow;
import com.android.gallery3d.filtershow.presets.ImagePreset;
import com.android.gallery3d.filtershow.ui.FramedTextButton;
import com.android.gallery3d.filtershow.ui.ImageButtonTitle;
import com.android.gallery3d.filtershow.ui.ImageCurves;

@@ -142,6 +145,43 @@ public class PanelController implements OnClickListener {
            return mSelected;
        }

        public void setAspectButton(FramedTextButton button, int itemId) {
            ImageCrop imageCrop = (ImageCrop) mCurrentImage;
            switch (itemId) {
                case R.id.crop_menu_1to1: {
                    button.setText(mContext.getString(R.string.aspect1to1_effect));
                    imageCrop.apply(1, 1);
                    break;
                }
                case R.id.crop_menu_4to6: {
                    button.setText(mContext.getString(R.string.aspect4to6_effect));
                    imageCrop.apply(6, 4);
                    break;
                }
                case R.id.crop_menu_5to7: {
                    button.setText(mContext.getString(R.string.aspect5to7_effect));
                    imageCrop.apply(7, 5);
                    break;
                }
                case R.id.crop_menu_9to16: {
                    button.setText(mContext.getString(R.string.aspect9to16_effect));
                    imageCrop.apply(16, 9);
                    break;
                }
                case R.id.crop_menu_none: {
                    button.setText(mContext.getString(R.string.aspectNone_effect));
                    imageCrop.applyClear();
                    break;
                }
                case R.id.crop_menu_original: {
                    button.setText(mContext.getString(R.string.aspectOriginal_effect));
                    imageCrop.applyOriginal();
                    break;
                }
            }
            imageCrop.invalidate();
        }

        public void nextAspectButton() {
            if (mAspectButton instanceof ImageButtonTitle
                    && mCurrentImage instanceof ImageCrop) {
@@ -331,10 +371,12 @@ public class PanelController implements OnClickListener {
    }

    public void resetParameters() {
        mCurrentImage.resetParameter();
        showPanel(mCurrentPanel);
        if (mCurrentImage != null) {
            mCurrentImage.resetParameter();
            mCurrentImage.select();
        }
    }

    public boolean onBackPressed() {
        if (mUtilityPanel == null || !mUtilityPanel.selected()) {
@@ -343,6 +385,8 @@ public class PanelController implements OnClickListener {
        HistoryAdapter adapter = mMasterImage.getHistory();
        int position = adapter.undo();
        mMasterImage.onItemClick(position);
        showPanel(mCurrentPanel);
        mCurrentImage.select();
        return false;
    }

@@ -462,6 +506,7 @@ public class PanelController implements OnClickListener {
            mMasterImage.setImagePreset(copy);
            filter = copy.getFilter(name);
        }

        if (filter == null && name.equalsIgnoreCase(
                mCurrentImage.getContext().getString(R.string.curvesRGB))) {
            filter = setImagePreset(new ImageFilterCurves(), name);
@@ -514,6 +559,33 @@ public class PanelController implements OnClickListener {
        mMasterImage.setCurrentFilter(filter);
    }

    private void showCurvesPopupMenu(final ImageCurves curves, final FramedTextButton anchor) {
        PopupMenu popupMenu = new PopupMenu(mCurrentImage.getContext(), anchor);
        popupMenu.getMenuInflater().inflate(R.menu.filtershow_menu_curves, popupMenu.getMenu());
        popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                curves.setChannel(item.getItemId());
                anchor.setTextFrom(item.getItemId());
                return true;
            }
        });
        popupMenu.show();
    }

    private void showCropPopupMenu(final FramedTextButton anchor) {
        PopupMenu popupMenu = new PopupMenu(mCurrentImage.getContext(), anchor);
        popupMenu.getMenuInflater().inflate(R.menu.filtershow_menu_crop, popupMenu.getMenu());
        popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                mUtilityPanel.setAspectButton(anchor, item.getItemId());
                return true;
            }
        });
        popupMenu.show();
    }

    public void showComponent(View view) {
        if (mUtilityPanel != null && !mUtilityPanel.selected()) {
            Panel current = mPanels.get(mCurrentPanel);
@@ -527,7 +599,12 @@ public class PanelController implements OnClickListener {

        if (view.getId() == R.id.pickCurvesChannel) {
            ImageCurves curves = (ImageCurves) showImageView(R.id.imageCurves);
            curves.nextChannel();
            showCurvesPopupMenu(curves, (FramedTextButton) view);
            return;
        }

        if (view.getId() == R.id.aspect) {
            showCropPopupMenu((FramedTextButton) view);
            return;
        }

@@ -586,8 +663,8 @@ public class PanelController implements OnClickListener {
                mUtilityPanel.setEffectName(ename);
                mUtilityPanel.setShowParameter(false);
                mUtilityPanel.showCurvesButtons();
                ensureFilter("Curves");
                mCurrentImage = curves;
                ensureFilter(ename);
                break;
            }
            case R.id.sharpenButton: {
Loading