diff options
Diffstat (limited to 'src/com/android/gallery3d/filtershow/editors/EditorCrop.java')
-rw-r--r-- | src/com/android/gallery3d/filtershow/editors/EditorCrop.java | 168 |
1 files changed, 0 insertions, 168 deletions
diff --git a/src/com/android/gallery3d/filtershow/editors/EditorCrop.java b/src/com/android/gallery3d/filtershow/editors/EditorCrop.java deleted file mode 100644 index 511d4ff87..000000000 --- a/src/com/android/gallery3d/filtershow/editors/EditorCrop.java +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Copyright (C) 2013 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.gallery3d.filtershow.editors; - -import android.content.Context; -import android.util.Log; -import android.util.SparseArray; -import android.view.MenuItem; -import android.view.View; -import android.view.View.OnClickListener; -import android.widget.Button; -import android.widget.FrameLayout; -import android.widget.LinearLayout; -import android.widget.PopupMenu; - -import com.android.gallery3d.R; -import com.android.gallery3d.filtershow.filters.FilterCropRepresentation; -import com.android.gallery3d.filtershow.filters.FilterRepresentation; -import com.android.gallery3d.filtershow.imageshow.ImageCrop; -import com.android.gallery3d.filtershow.imageshow.MasterImage; - -public class EditorCrop extends Editor implements EditorInfo { - public static final String TAG = EditorCrop.class.getSimpleName(); - public static final int ID = R.id.editorCrop; - - // Holder for an aspect ratio it's string id - protected static final class AspectInfo { - int mAspectX; - int mAspectY; - int mStringId; - AspectInfo(int stringID, int x, int y) { - mStringId = stringID; - mAspectX = x; - mAspectY = y; - } - }; - - // Mapping from menu id to aspect ratio - protected static final SparseArray<AspectInfo> sAspects; - static { - sAspects = new SparseArray<AspectInfo>(); - sAspects.put(R.id.crop_menu_1to1, new AspectInfo(R.string.aspect1to1_effect, 1, 1)); - sAspects.put(R.id.crop_menu_4to3, new AspectInfo(R.string.aspect4to3_effect, 4, 3)); - sAspects.put(R.id.crop_menu_3to4, new AspectInfo(R.string.aspect3to4_effect, 3, 4)); - sAspects.put(R.id.crop_menu_5to7, new AspectInfo(R.string.aspect5to7_effect, 5, 7)); - sAspects.put(R.id.crop_menu_7to5, new AspectInfo(R.string.aspect7to5_effect, 7, 5)); - sAspects.put(R.id.crop_menu_none, new AspectInfo(R.string.aspectNone_effect, 0, 0)); - sAspects.put(R.id.crop_menu_original, new AspectInfo(R.string.aspectOriginal_effect, 0, 0)); - } - - protected ImageCrop mImageCrop; - private String mAspectString = ""; - - public EditorCrop() { - super(ID); - mChangesGeometry = true; - } - - @Override - public void createEditor(Context context, FrameLayout frameLayout) { - super.createEditor(context, frameLayout); - if (mImageCrop == null) { - mImageCrop = new ImageCrop(context); - } - mView = mImageShow = mImageCrop; - mImageCrop.setEditor(this); - } - - @Override - public void reflectCurrentFilter() { - MasterImage master = MasterImage.getImage(); - master.setCurrentFilterRepresentation(master.getPreset() - .getFilterWithSerializationName(FilterCropRepresentation.SERIALIZATION_NAME)); - super.reflectCurrentFilter(); - FilterRepresentation rep = getLocalRepresentation(); - if (rep == null || rep instanceof FilterCropRepresentation) { - mImageCrop.setFilterCropRepresentation((FilterCropRepresentation) rep); - } else { - Log.w(TAG, "Could not reflect current filter, not of type: " - + FilterCropRepresentation.class.getSimpleName()); - } - mImageCrop.invalidate(); - } - - @Override - public void finalApplyCalled() { - commitLocalRepresentation(mImageCrop.getFinalRepresentation()); - } - - @Override - public void openUtilityPanel(final LinearLayout accessoryViewList) { - Button view = (Button) accessoryViewList.findViewById(R.id.applyEffect); - view.setText(mContext.getString(R.string.crop)); - view.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View arg0) { - showPopupMenu(accessoryViewList); - } - }); - } - - private void changeCropAspect(int itemId) { - AspectInfo info = sAspects.get(itemId); - if (info == null) { - throw new IllegalArgumentException("Invalid resource ID: " + itemId); - } - if (itemId == R.id.crop_menu_original) { - mImageCrop.applyOriginalAspect(); - } else if (itemId == R.id.crop_menu_none) { - mImageCrop.applyFreeAspect(); - } else { - mImageCrop.applyAspect(info.mAspectX, info.mAspectY); - } - setAspectString(mContext.getString(info.mStringId)); - } - - private void showPopupMenu(LinearLayout accessoryViewList) { - final Button button = (Button) accessoryViewList.findViewById(R.id.applyEffect); - final PopupMenu popupMenu = new PopupMenu(mImageShow.getActivity(), button); - popupMenu.getMenuInflater().inflate(R.menu.filtershow_menu_crop, popupMenu.getMenu()); - popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { - @Override - public boolean onMenuItemClick(MenuItem item) { - changeCropAspect(item.getItemId()); - return true; - } - }); - popupMenu.show(); - } - - @Override - public boolean showsSeekBar() { - return false; - } - - @Override - public int getTextId() { - return R.string.crop; - } - - @Override - public int getOverlayId() { - return R.drawable.filtershow_button_geometry_crop; - } - - @Override - public boolean getOverlayOnly() { - return true; - } - - private void setAspectString(String s) { - mAspectString = s; - } -} |