diff options
Diffstat (limited to 'src/com/android/gallery3d/filtershow/filters/FilterCropRepresentation.java')
-rw-r--r-- | src/com/android/gallery3d/filtershow/filters/FilterCropRepresentation.java | 179 |
1 files changed, 0 insertions, 179 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/FilterCropRepresentation.java b/src/com/android/gallery3d/filtershow/filters/FilterCropRepresentation.java deleted file mode 100644 index c1bd7b3bb..000000000 --- a/src/com/android/gallery3d/filtershow/filters/FilterCropRepresentation.java +++ /dev/null @@ -1,179 +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.filters; - -import android.graphics.RectF; -import android.util.JsonReader; -import android.util.JsonWriter; - -import com.android.gallery3d.R; -import com.android.gallery3d.filtershow.editors.EditorCrop; - -import java.io.IOException; - -public class FilterCropRepresentation extends FilterRepresentation { - public static final String SERIALIZATION_NAME = "CROP"; - public static final String[] BOUNDS = { - "C0", "C1", "C2", "C3" - }; - private static final String TAG = FilterCropRepresentation.class.getSimpleName(); - - RectF mCrop = getNil(); - - public FilterCropRepresentation(RectF crop) { - super(FilterCropRepresentation.class.getSimpleName()); - setSerializationName(SERIALIZATION_NAME); - setShowParameterValue(true); - setFilterClass(FilterCropRepresentation.class); - setFilterType(FilterRepresentation.TYPE_GEOMETRY); - setTextId(R.string.crop); - setEditorId(EditorCrop.ID); - setCrop(crop); - } - - public FilterCropRepresentation(FilterCropRepresentation m) { - this(m.mCrop); - } - - public FilterCropRepresentation() { - this(sNilRect); - } - - public void set(FilterCropRepresentation r) { - mCrop.set(r.mCrop); - } - - @Override - public boolean equals(FilterRepresentation rep) { - if (!(rep instanceof FilterCropRepresentation)) { - return false; - } - FilterCropRepresentation crop = (FilterCropRepresentation) rep; - if (mCrop.bottom != crop.mCrop.bottom - || mCrop.left != crop.mCrop.left - || mCrop.right != crop.mCrop.right - || mCrop.top != crop.mCrop.top) { - return false; - } - return true; - } - - public RectF getCrop() { - return new RectF(mCrop); - } - - public void getCrop(RectF r) { - r.set(mCrop); - } - - public void setCrop(RectF crop) { - if (crop == null) { - throw new IllegalArgumentException("Argument to setCrop is null"); - } - mCrop.set(crop); - } - - /** - * Takes a crop rect contained by [0, 0, 1, 1] and scales it by the height - * and width of the image rect. - */ - public static void findScaledCrop(RectF crop, int bitmapWidth, int bitmapHeight) { - crop.left *= bitmapWidth; - crop.top *= bitmapHeight; - crop.right *= bitmapWidth; - crop.bottom *= bitmapHeight; - } - - /** - * Takes crop rect and normalizes it by scaling down by the height and width - * of the image rect. - */ - public static void findNormalizedCrop(RectF crop, int bitmapWidth, int bitmapHeight) { - crop.left /= bitmapWidth; - crop.top /= bitmapHeight; - crop.right /= bitmapWidth; - crop.bottom /= bitmapHeight; - } - - @Override - public boolean allowsSingleInstanceOnly() { - return true; - } - - @Override - public FilterRepresentation copy() { - return new FilterCropRepresentation(this); - } - - @Override - protected void copyAllParameters(FilterRepresentation representation) { - if (!(representation instanceof FilterCropRepresentation)) { - throw new IllegalArgumentException("calling copyAllParameters with incompatible types!"); - } - super.copyAllParameters(representation); - representation.useParametersFrom(this); - } - - @Override - public void useParametersFrom(FilterRepresentation a) { - if (!(a instanceof FilterCropRepresentation)) { - throw new IllegalArgumentException("calling useParametersFrom with incompatible types!"); - } - setCrop(((FilterCropRepresentation) a).mCrop); - } - - private static final RectF sNilRect = new RectF(0, 0, 1, 1); - - @Override - public boolean isNil() { - return mCrop.equals(sNilRect); - } - - public static RectF getNil() { - return new RectF(sNilRect); - } - - @Override - public void serializeRepresentation(JsonWriter writer) throws IOException { - writer.beginObject(); - writer.name(BOUNDS[0]).value(mCrop.left); - writer.name(BOUNDS[1]).value(mCrop.top); - writer.name(BOUNDS[2]).value(mCrop.right); - writer.name(BOUNDS[3]).value(mCrop.bottom); - writer.endObject(); - } - - @Override - public void deSerializeRepresentation(JsonReader reader) throws IOException { - reader.beginObject(); - while (reader.hasNext()) { - String name = reader.nextName(); - if (BOUNDS[0].equals(name)) { - mCrop.left = (float) reader.nextDouble(); - } else if (BOUNDS[1].equals(name)) { - mCrop.top = (float) reader.nextDouble(); - } else if (BOUNDS[2].equals(name)) { - mCrop.right = (float) reader.nextDouble(); - } else if (BOUNDS[3].equals(name)) { - mCrop.bottom = (float) reader.nextDouble(); - } else { - reader.skipValue(); - } - } - reader.endObject(); - } -} |